PC Protocol of Suunto D9

This document describes the transfer protocol and memory layout of these suunto diving computers:

  • Suunto D6 (a D9 without the air integration)
  • Suunto D9

Suunto changed the protocol for these models – again. One reason is that the D9 is capable in recording not only the depth, but also pressure and temperature throughout the dive. The computers also have no longer just 8kb, but 32kb of memory for the profile information.

Communication

The interface is technically still a RS232 interface, but with a USB connector. With a device driver from the USB chipset vendor FTDI it will be recognized as a standard serial port.

The RS232 should be 9600 baud, 8N1.

Transfer

The protocol for the Suunto D9 is slightly different from other Suunto computers. The first thing is that the interface is USB only. But with the standard driver is behaves like a serial port (see above). These standard drivers are available for Mac OS X and Linux, so there should be no reason to go into too much detail.

All data is send in packages to and from the computer. Every package is followed by a CRC for checksum reasons.

unsigned char checksum = 0x00;
for(int i=0; i<packageLen; ++i)
 checksum ^= package[i];

The package starts with a command byte, followed by the length of bytes for the parameters ($00 $03 = 3 Bytes), the actual parameters and the CRC at the end. Here are examples of the most common commands:

  • ReadMemory – reads memory from the Suunto
    • to Suunto: $05 + $00 + $03 + addr_high + addr_low + count (1..$78) + CRC
    • from Suunto: $05 + $00 + $03 + addr_high + addr_low + count (1..$78) + count Bytes + CRC
  • WriteMemory – changes the memory inside the Suunto (WARNING: this can damage your watch!!!)
    • to Suunto: $06 + $00 + $03 + addr_high + addr_low + count (1..$78) + CRC
    • from Suunto: $06 + $00 + $03 + addr_high + addr_low + count (1..$78) + count Bytes + CRC
  • GetVersion / check for connected computer
    • to Suunto: $0F + $00 + $00 + CRC
    • from Suunto: $0F + $00 + $00 + ID + HIGH + MID + LOW + CRC = Version HIGH.MID.LOW (ID)
  • ResetMaxDepth – resets maximum depth in the history to 0.0m
    • to Suunto: $20 + $00 + $00 + CRC
    • from Suunto: $20 + $00 + $00 + CRC

The DiveManager Software from Suunto does the following when reading data from a D6/D9: – GetVersion() – ReadMemory($0, $78) – ReadMemory($168, $78) (Reading the memory header) – ReadMemory($F0, $78)

After that the DiveManager reads the headers of all profiles first (by following the linked list in the headers), but always $78 bytes and later fills in the holes in the memory, if necessary. This allows the DiveManager to display a progress bar for the import.

To change the personal information, it does the following: – GetVersion() – Write($015E,$28) – Read($0168,$78) – GetVersion() – Read($0000,$78)

To reset the max. depth to zero it does the following: – GetVersion() – ResetMaxDepth() – Read($00F0,$78) – Read($0168,$78) – GetVersion() – Read($0000,$78)

Firmware versions

There have been two recalls of the Suunto D9 so far.

  • The first one was a hang of the D9, which is fixed in firmware version 1.2.8 and later (serial numbers 4xxxxxxxx – 450000699)
  • The second one (serial numbers below 62102582, an inacuracy of the clock in 0.6% of the cases) seemed to be fixed in firmware version 1.2.11 and later. This one also affects the Suunto D6 (serial numbers below 62103693)

Memory layout

The 32kb of memory is split into a $019A bytes header and the rest is a ring-buffer with the dive profiles. The ring-buffer is a stream of data, which ends at the position, that is marked in the header. At this position the computer starts writing the information from the next dive. If the write pointer reaches the value $8000, it jumps back to $019A.

I am using the following parameter types:

parameter types Description
B 8 bit Byte
Bn n Bytes
W 16 bit LSB integer
An ASCII string, max. n Bytes long

All units inside the Suunto are metric (meter/centimeter, bar)!

Memory Header

 offset |     format   | testvalue    | content
$00 B $00 empty
$01-$02 A2 “D9” Type of the dive computer, “D9”, “D6” or “D4”
$03-$0A A8 “20050228” Manufacturing date (28 Feb 2005)
$0B-$12 A8 “00001204” Serial number?
$13-$15 B $00 $55 $00 ???
$16-$22 B .. $FF .. unused
$23-$26 B4 $50 $90 $12 $34 official serial number ($50901234) Production date: 2000+5 / 09 week, watch 234
$27 B $FF unused
$28 B $0E model ($0E=D9, $0F=D6 (can also be $0E?), $12=D4)
$29-$2A B2 $01,$02 Version (1.2.10 – well, were does the 10 come from?)
$2B-$2D B $04,$09,$82 ???
$2E B $82 XOR Checksum $28..$2D
$2F-$31 B .. $FF .. unused
$32-$33 B $01 $01 ???
$34-$35 B2 $00 $00 $0000 = metric, $0101 = imperial
$36 B $FF unused
$37-$3A B $83 $00 $82 $F2 ???
$3B B $0C XOR Checksum $32..$3A
$3C-$3F B $FE $00 $00 $00 ???
$40-$63 B .. $FF .. unused
$64-$6F B .. calibration data for sensors
$70 B $.. XOR Checksum $64..$6F
$71-$73 B .. $FF .. unused
$74-$7D B .. calibration data for sensors
$7E B $.. XOR Checksum $74..$7D
$7F-$83 B .. $FF .. unused
$84-$8D B .. calibration data for sensors
$8E B $.. XOR Checksum $84..$8D
$8F-$015D B .. $FF .. unused
$015E-$0185 A40 .. owner name (“Suunto Diver”), $00 terminated if short than 40 bytes
$0186-$0187 W $F010 max. depth ($10F0 = 4336 cm)
$0188-$0189 W $AB02 total dive time ($02AB = 683 minutes)
$018A-$018B W $0C00 total number of dives ($000C = 12)
$018C B $.. XOR Checksum $0186..$018B
$018D-$018F B .. $FF .. unused
$0190-$0191 W $0A $46 Ptr to the last dive in the ring-buffer (Offset $460A)
$0192-$0193 W $0C $00 Number of dives in the ring-buffer ($000C = 12)
$0194-$0195 W $7E $4B Ptr to behind the latest dive in the ring-buffer (Offset $4B7E)
$0196-$0197 W $9A $01 Ptr to the oldest dive in the ring-buffer (Offset $019A)
$0198-$0199 W $5C $0E checksum ??? (if changed SDM can no longer read the profiles)

Dive Profile Header

Every dive in the profile memory has a $4A bytes header.

offset format testvalue content
$00-$01 W $9A $01 Offset to previous dive ($019A – this is the very first)
$02-$03 W $CF $06 Offset to next dive ($06CF)
$04-$0C B .. ???
$0D-$0E W $F0 $10 max. depth ($10F0 = 4336 cm)
$0F-$10 W $1E $00 dive time ($001E = 30 minutes)
$11-$12 W .. if value is $FFFF, there is no pressure information for the dive
$13 B $03 OLF PCT (3%)
$14 B .. ???
$15 B $0A Date: hour (10 AM)
$16 B $24 Date: minutes (36)
$17 B $0E Date: seconds (14)
$18-$19 W $D5 $07 Date: year (2005)
$1A B $0C Date: month (12)
$1B B $0B Date: day (11)
$1C B $0A Sample recording interval (every 10 seconds)
$1D B $00 Gas model (0=Air, 1=Nitrox, 2=Gauge)
$1E B $01 repetitive dive number (1)
$1F B $00 Surface time (0 minutes)
$20 B $00 Surface time (0 hours)
$21 B $03 RGBM PCT (3%)
$22 B $00 Personal Setting (P0..P2)
$23 B $00 Altitude Setting (A0..A2)
$24 B .. ???
$25 B $20 O2 PCT (only if in Nitrox mode, 32%)
$26 B $15 O2 PCT 2 (only if in Nitrox mode, 21%)
$27 B $15 O2 PCT 3 (only if in Nitrox mode, 21%)
$28 B $00 ???
$29-$2A W $.. $.. PREVTPRESSURE_1
$2B-$2C W $.. $.. PREVTPRESSURE_2
$2D-$2E W $.. $.. PREVTPRESSURE_3
$2F-$30 W $.. $.. PREVTPRESSURE_4
$31-$32 W $.. $.. PREVTPRESSURE_5
$33-$34 W $.. $.. PREVTPRESSURE_6
$35-$36 W $.. $.. PREVTPRESSURE_7
$37-$38 W $.. $.. PREVTPRESSURE_8
$39-$3A W $.. $.. PREVTPRESSURE_9
$3B-$46 B .. ???
$47 B $05 Temperature recording interval (every 5 depth samples)
$48-$4B B .. ???
$4C-$4D W $4D $00 Offset to the first marker position in the profile

Dive Profile Data

The length of the profile data can be found by looking into the profile header: the difference between the offset of the next dive to the current offset minus the size of the header ($4A).

Warning: Remember that the data is stored in a ring-buffer! The next dive pointer might actually be smaller than the current dive pointer.

To parse the profile data, you start with a time of 0:00 minutes and read to LSB 16 bit values. The first value is the current depth in cm. The second value is the tank pressure in bar * 100. Before reading the next value you increment the time by the “Sample recording interval” (Header offset $1C). Every “Temperature recording interval” (Header offset $47) there is another byte following with the temperature in degrees celcius. You stop once you’ve read the beginning of the next dive.

But, there is another twist: the dive profile can contain events, which are encoded into the profile information. For this you need check for the “Offset to the first marker position” (Header offset $4C). The first offset into the dive profile is $0000, you increment it with every byte you’ve read from the profile (4 or 5 per sample, see above). If the marker is equal to the current profile position, the next byte is an event type. You have to read all events till you will get Event $01 “Next Event Marker”. After you’ve read this one, you can continue normal parsing till you hit the next marker position.

Event Type Parameter Function
$01 Next Event Marker WW set the position of the next event marker (1st: current position, 2nd: next position)
$02 Surfaced BB Reached Surface at current timestamp + 2nd byte: seconds (for a more exact value)
$03 Event BB Other dive related events (1st: type, 2nd: time offset like in “Surfaced”)
$04 Bookmark/Heading BBW Bookmark & Heading (1st:???, 2nd: time offset like in “Surfaced”, 3rd: heading * 4, if < 0: Bookmark instead)

The Dive Events from Event $03 are 7 bit values. If bit 7 is set, like in $8E which only seems to occur in that form, it means: Event has ended. So you can get a start and a stop time for one event.

Dive Event Description
$01 Mandatory Safety Stop
$04 Asc Warning
$06 Mandatory Safety Stop Ceiling Error
$07 ???
$09 Depth alarm
$0D Air Time Warning
$8E Rgbm Warning (End) (always before the first profile data at the beginning of the dive)

9 1/2 weeks in Australia 2002

In November/December 2002 I enjoyed 9 1/2 weeks traveling through Australia.

The trip was booked via http://www.kangaroo-tours.de. The Mike Ball expedition was booked via http://www.diversionOZ.com. Both are highly recommended by me!

Here are a bunch of pictures from the trip

The headlines mostly match the rental car tour name as booked via Kangaroo Tours.

Flight to Australia

Exploratory Dive Cruise

  • Nov 5 – Nov 12: Exploratory Dive Cruise into the Southern Coral Sea on the Mike Ball Spoilsport from/to Townsville

Daintree

Sunshine State Tour

South East Coast

Mountains & Rivers

Great Ocean Road & Wine Trail

Proud Mary Murray River Cruise

Kangaroo Island Self Drive Tour

Red Center self Drive Tour

Sydney and flight back

enableATA6

This little kernel extension allows using hard drives with more than 128MB on a Macintosh Cube. It does so by setting the flags for ATA6 inside the driver.

This project is available at GitHub.

enableATA6.h

#include <IOKit/IOService.h>
#include "IOATABlockStorageDriver.h"

class com_sarnau_enableATA6 : public IOATABlockStorageDriver
{
    OSDeclareDefaultStructors ( com_sarnau_enableATA6 )

protected:
    virtual IOReturn    identifyAndConfigureATADevice ( void );
};

enableATA6.cpp

#include "enableATA6.h"

#define super IOATABlockStorageDriver
OSDefineMetaClassAndStructors ( com_sarnau_enableATA6, IOATABlockStorageDriver );

/***
*  This kext overloads the standard IOATABlockStorageDriver (by having a IOProbeScore of 1000)
*
*  We only have to overload the identifyAndConfigureATADevice function and patch a variable
*  to enable LBA support. The problem is the IOATABusInfo class - this class checks the bus
*  interface hardware and detects that the computer is not capable of supporting LBA drives.
*  And so LBA support is disabled in general. There is a good reason to do this, because without
*  this support in the ROM the system can't read the kernel from the drive, if the kernel is
*  beyond the 128MB border. For this reason we should partition a drive and make sure that the
*  boot partition is 127.99 GB or smaller. If we don't boot from this drive, we don't have to
*  partition it.
***/
IOReturn    com_sarnau_enableATA6::identifyAndConfigureATADevice(void)
{
    // call super class (and execute IDENTIFY DEVICE commamd - see ATA6 spec for more information)
    IOReturn    err = super::identifyAndConfigureATADevice();

    // does the drive support the 48 bit command set?
    if(fDeviceIdentifyData[kATAIdentifyCommandSetSupported2] & kATASupports48BitAddressingMask)
    {
        // and is the 48 bit command set really enabled for that drive?
        if(fDeviceIdentifyData[kATAIdentifyCommandsEnabled] & kATASupports48BitAddressingMask)
        {
            // then force the use of the LBA commands in the driver
            fUseExtendedLBA = true;

            // set the "48-bit LBA supported" bit in the "ATA Features" entry in the registry
            // (this seems not to be necessary, but maybe 3rd party software checks the registry)
            fSupportedFeatures |= kIOATAFeature48BitLBA;

            // we don't increase the buffer size, which is normally done by the super class
            // when a LBA drive is recognized. So we are limited to 256 instead of 2048 blocks
            // per read or write.
        }
    }

    return err;
}

Velidhu, Nord Ari Atoll, Malediven

Velidhu
Velidhu
Unterkunft Velidhu Holiday Resport
Zeitraum Ende Juli 2000
Veranstalter Meyers Weltreisen u.v.a.
Ort Velidhu, Malediven

Allgemeines

Velidhu ist eine 3–4 Sterne Insel mit ca. 100 Zimmern. Der Bereich zwischen der Standbar, Rezeption und den zwei Speisesälen ist mit Betonfliesen und angelegten Wegen versehen (etwas was ich auf den Malediven gar nicht mag), der Rest der Insel besteht aus Sandwegen.

Die Gäste kommen aus allen möglichen Ländern: Deutschland, England, Italien, Japan, Österreich und natürlich der Schweiz, was ich als sehr angenehm empfinde.

Die Rezeption, Speisesäle und Bar sind ebenfalls gefließt, jedoch kann man überall auch barfuß gehen.

Unterkünfte

Es gibt auf der Insel zwei Zimmerkategorien: Standard und Wasser-Bungalows. Bei den Standard-Bungalows gibt es zudem zwei Typen: mit 1/4 Terrasse und welche mit “rundum” Terrasse. Wobei man diese beiden jedoch als gleichwertig bezeichnen kann.

Zimmer 1

Zimmer 2Zimmer 3

Achtung: auf keinem Zimmer ist ein Telefon vorhanden! Das macht es ziemlich schwierig z.B. mal eben bei Freunden durchzuklingeln (Hast Du das Tauchen vergessen? Ach, verschlafen! Kommst Du noch?) – man muß stets über die ganze Insel traben! Und wenn man seinen Wecker nicht dabei hat, dann wird es ganz schwierig: man kann sich zwar in ein Weckbuch an der Rezeption eintragen, so daß um die gewünschte Zeit ein Boy vorbeikommt und einem aus dem Bett klopft, aber das klappt leider nicht immer!

Die Wasserbungalows haben eine extra Sitzecke mit Glasfenster im Boden (beleuchtbar!), sowie eine große Terrasse (entweder zum Sonnenauf- oder zum Sonnenuntergang hin), ferner haben sie ein sehr schönes Bad mit riesiger Dusche und als Extras eine Kaffee- bzw. Teemaschine und eine Klimaanlage mit Fernbedienung. Leider wurden einige momentan renoviert, so daß die Bewohner schon ab 7:30 unter dem Lärm (Hämmern, Schleifen oder auch nur lautes Gelaber der Arbeiter) zu leiden hatten.

Die Standardbungalows sind schlichter ausgestattet, aber auch mit Klimaanlage versehen – wobei man bei einigen Bungalows diese nur ein- bzw. ausschalten kann; eine Regelung ist dort nicht vorgesehen.

Der Zimmerservice (Reinigung zweimal am Tag) ist unauffällig und sehr gut.

Die Küche

Es gibt morgens, mittags und abends ein recht großes Buffet, wobei es verschiedene Themenabende gibt (z.B. indische, chinesische oder italienische Küche). Das Essen ist gut und reichlich und besonders der Nachtisch ist richtig gut. Für eine Insel dieser Klasse gibt es beim Essen wirklich nichts auszusetzen.

Wetter (Ende Juli 2000)

Sehr durchwachsen: viel Regen, aber auch einige Tage mit blauem Himmel.

Tauchen

Website der Tauchbasis

Tauchbasis

Die Tauchbasis ist für mich schlicht die Beste Ihrer Klasse auf den Malediven: noch nirgends habe ich bessere und liebevollere gezeichnete Briefings gesehen (hier nochmal ein besonderen Gruß an den Tauchlehrer Michele – siehe auch Bild unten), bis auf ein oder zwei Ausnahmen wurden alle Tauchplätze – auch unter widrichsten Bedingungen (die Sichtweite unter Wasser betrug zeitweise gerade mal 5m!) – immer auf Anhieb gefunden und sogar die Strömungsvorhersagen stimmten! Die maximale Tauchgangsdauer beträgt 60 Minuten (Nachttauchgänge 45 Minuten), die maximale Tiefe 30m (wie es auf den Malediven eh generell Gesetz ist). Anfänger haben eine entsprechend geringere Maximaltiefe (20m). Nachttauchgänge haben ein Tiefenlimit von 15m. Tauchcomputer sind Pflicht, werden aber von der Basis kostenlos zur Verfügung gestellt! Ebenso ggf. eine Strömungsboje. Getaucht wird mit 10l bzw. 12l Alu-Flaschen – wahlweise DIN oder INT, auch hier: 12l Flaschen gibt es ohne Aufpreis! Nach dem obligatorischen Checkdive kann man als erfahrender Taucher mit seinem Buddy selbstständig tauchen, Hauptsache man ist einigermaßen pünktlich wieder auf dem Boot und hält sich an das 30m Limit. Die Tauchbasis notiert sich nach jedem Tauchgang die Maximaltiefe, die Tauchgangsdauer und die Restluftmenge in der Flasche (Nein, es werden keine Computer kontrolliert, man wird nach den Daten gefragt! Trotzdem habe ich nie erlebt, daß jemand total gesponnene Werte genannt hat – wozu auch?), diese werden zusammen mit dem Namen des Tauchplatzes in der Akte notiert. Wer also die (schlechte) Angewohnheit hat, sein Logbuch erst am letzten Tag zu führen, braucht die Informationen lediglich von dort abschreiben!

Velidhu - Tauchbasis Briefing
Velidhu – Tauchbasis Briefing

Die Flaschen und auch die Ausrüstung wird von Leela direkt zum Boot oder Jetty (für Hausriff-Tauchgänge) transportiert – nix ist mit Kisten-schleppen im Urlaub! Auch hier nochmal ein besonderes Kompliment an Leela: sehr hilfsbereit! Wer vorbeikommt möge ihm doch einige O-Ringe mitbringen, so was kann er immer gebrauchen. Er sorgt auch dafür, daß die 3 Spülbecken (eins für Automaten, Kameras und Lampen, eines für Jackets und eines für Anzüge) immer sauber und voll sind. Die Tauchbasis ist die einzigste in der Welt, die ich kenne, wo der Trockenraum nach Desinfektionsmittel anstatt nach – Verzeihung – Pisse riecht (weil im Becken für die Anzüge Desinfektionsmittel ist!). Die Kisten, welche man am Anfang des Urlaubs bekommt, sind übrigens – ebenfalls untypisch – hinreichend groß für die gesamte Ausrüstung…

Auch die Basisleitung (Barbara und Ihr Mann K-G) ist sehr zuvorkommend: Sonderwünsche werden – wann irgend möglich – berücksichtigt und auch wenn zu einem Spezial-Tauchgang (z.B. einer Ganztagestour nach Fish-Head bzw. zu den Hammerhaien im Rasdhu Atoll) mal nicht die geforderte Minimalanzahl von Tauchern zusammenkommt (z.B. nur 5 anstatt der erforderlichen 6) ist man flexibel! Hat man selten.

Bei dieser Tauchbasis macht das Tauchen Spaß, auch wenn der eine oder andere Tauchgang vielleicht einmal nicht so der Bringer war (Kuda Giri am Nachmittag bei schlechter Sicht…). Das wird dann am nächsten Tag wieder gut gemacht.

Hausriff

Das Hausriff ist ca. 80m von der Insel entfernt (über den Jetty direkt zu erreichen) und kaum einen Tauchgang wert: die Korallenbleiche hat auch hier voll zugeschlagen, d.h. zwar viele Fische (auch Adlerrochen und Haie), aber kaum lebende Korallen. Sprich: schnorcheln und Nacht-Tauchgänge: ja, ansonsten gehe ich lieber aufs Boot!

Tauchplätze

Die Tauchplätze werden, wie fast überall auf den Malediven üblich, 2x täglich angefahren (9 Uhr und 14:30 Uhr). Alle Tauchgänge werden von mindestens einem Tauchlehrer begleitet. Die Anfahrten zu den Tauchplätzen dauern zwischen 15 und 60 Minuten. Die Briefings sind sehr ausführlich und sehr gut (Strömung, Skizze vom Tauchplatz, Besonderheiten, Gefahren, u.s.w.).

Besonders zu empfehlende Tauchplätze sind

  • Maaya Thila – Der Grauhai-Tauchplatz auf den Malediven mit abertausenden von Fischen. Häufig Strömung! Auch ohne Grauhaie gibt es immer viel zu sehen (Schildkröten, Sepia, Riffhaie, Tunfische, u.v.a.m.)
  • Hafza Thila – kleines Thila mit nur wenig Strömung. Sehr viele Fische, aber auch Kleingetier. Unter den Korallenblöcken auf dem Riffdach findet sich fast alles (Haie, Rochen, Schildkröten, u.s.w.)

Inside information of the Pronto IR Remote

The Philips Pronto is a programmable remote control. It looks a bit like a Palm Pilot, but it is the most flexible remote control on the market (below the $1000…). The interesting thing with the Pronto is, that it is fully customizable with the Pronto Edit software.

Unfortuanlly the Pronto Edit software is for Windows only, so i reverse engineered the format of the CCF files and also tried to get information about the communication with the Pronto.

CCF file format

Source code for parsing a CCF file:

  • Parse.cp (last change: 10. Nov. 1999; now with support for hidden panels, timers and beeps)
  • ParseGCC.cp (last change: 12. Jul. 2001, source code for the GCC on Linux systems)

Serial Communication

Pronto has a serial port for the communication with a computer. This port works at 115200 baud, 8N1. The communication is pretty simple:

First: get attention of the Pronto. This is done by sending an ACK (0x06) to the Pronto. The Pronto should send a ‘!’ (standby mode) or a ‘*’ (awaiting data, done by holding the left and right key down, while the serial cable was plugged in). If the Pronto don’t respond, try again until timeout.

When the Pronto awaits a command, you can send strings (terminated with CR (0x0D)) like:

irlearn 3500

The Pronto now awaits an infra red signal to learn. The result is send via YModem CRC protocol.

q ccf

Inquiry. The Pronto sends a string containing 4 decimal numbers. The first is the dirty flag (CCF data in the Pronto changed by the user and is not uploaded to the computer yet), the second is the size of the CCF file, the third the the date (in a 8 digit decimal BCD format), the fourth is the time (in a 6 digit decimal BCD format) of the last change of the CCF file.

ul ccf

Uploading a CCF file from the Pronto to the computer. The CCF file is simply send via YModem CRC protocol to the computer.

dl ccf

Downloading a CCF file to the Pronto from the computer. The CCF file is simply send via YModem CRC protocol to the Pronto.

reboot

Reboot the Pronto.

Some links to interesting Pronto websites

Mirihi, Malediven

http://www.mirihi.com/

Unterkunft Mirihi Luxury Island Resort Maledives
Zeitraum Anfang Dezember 1998
Veranstalter SubAqua, Meyers Weltreisen, Kreuzer, Air Conti
Ort Mirihi, Malediven
Preis $380 pro Tag inkl. VP (je nach Saison)

Allgemeines

Mirihi ist eine 4-Sterne Insel unter österreichischer Leitung. Die Insel hat anscheinend nahezu ausschließlich deutsche Gästen, denn fast alle Informationen sind nur in Deutsch verfügbar. Wir haben in 14 Tagen lediglich 6 Schweizer aus dem französischen Teil der Schweiz getroffen, sowie ein englisch sprechendes Paar.

Die Insel ist ca. 400m lang und 100m breit. Auf der Insel liegen 41 Zimmer, die teilweise direkt am Strand, größtenteils jedoch auf Stelzen im Wasser stehen. Durch diesen “Trick” hat man der Insel eine recht dichte Bepflanzung erhalten können, leider kann man jedoch nicht am Strand einmal um die Insel herum laufen. Die Insel wirkt mit ihrem teilweise sehr dichten Bewuchs allerdings sehr nett und auch die Schuhe können zu Hause bleiben – nun ja, ein paar Badelatschen sind für den Bootssteg zu empfehlen: wenn die Sonne den ganzen Tag auf das dunkle Holz geschienen hat, kann man ihn kaum noch betreten…

Mirihi liegt etwas im Atoll Inneren neben Rangali und südwestlich von Angaga. Ein Arzt ist nicht vorhanden, entweder versucht die Tauchbasis zu helfen oder man wird nach Bandos geflogen (Auslandskrankenversicherung!).

Neben der Rezeption, dem Inselshop, dem Restaurant, einer Beach-Bar und einer Sunset-Bar beim Restaurant, gibt es noch eine recht ansehnliche Sammlung an deutschsprachigen Büchern, die Gäste auf der Insel gelassen haben und die obligatorische Tauchschule. Ferner kann man Surfbretter (ganz ordentliche Auswahl), sowie einen Katamaran (mit Lehrer) mieten. Mit dem Katamaran kann man z.B. zu den Nachbarinseln segeln. Bananariding ist ebenfalls möglich. Am späten Nachmittag spielen die Angestellten Fußball, Volleyball und Kricket. Man kann sich ihnen anschließen, aber Vorsicht: sie sind sehr gut!

Massagen kann man ebenfalls erhalten, allerdings nur die “klassischen”: Rücken-, Kopf-, Ganzkörper-, etc. durch eine österreichische Heilmasseuse. Einen Jacuzzi kann man ebenfalls mieten.

Ausflugsprogramme sind ebenfalls möglich: Nachtfischen, Inselhüpfen, Besuch einer einheimischen Insel bzw. einer unbewohnten Insel, Schnorcheltouren, u.s.w. Allerdings fand in den 14 Tagen unseres Urlaubs nicht ein einziges Programm statt, denn es wurde niemals die Mindestteilnehmerzahl von 6 Personen erreicht.

Auch Mirihi hat unter dem Problem zu leiden, daß der Sand zwar überall ist, aber nicht dort, wo man ihn gerne haben will. So fehlt inzwischen an einigen Stellen der Sand (z.B. bei der Beach-Bar), dafür ist auf der Südwestseite bei der Rezeption inzwischen eine sehr große Sandfläche entstanden. Auch hier wird mit Sandsäcken versucht das Wegspülen zu verhindern.

Auf der Ostseite der Insel gibt es Liegen und auch (wenn auch wenig) Strand. Leider zeigt sich dort echtes Mallorca Flair: morgens vor dem Frühstück sind bereits alle Liegen mit Handtüchern, Masken, Flossen, o.ä. “reserviert”. Teilweise wurden die Handtücher während eines Urlaubs gar nicht weggenommen und lagen rund um die Uhr auf einigen Liegen. Zwar wurde beim Empfang darum gebeten dies nicht zu tun, aber anscheinend hält sich keiner dran. Als Taucher hat man somit kaum eine Chance auf eine Liege für ein Stündchen am Nachmittag – zumal auch zu wenig Liegen auf der Insel vorhanden sind.

Die Kosten für die Unterkunft sind gemessen am Hotelstandard eher hoch. Als Einzelreisender bezahlt man im Winter den doppelten Zimmerpreis (sprich: für zwei Personen). Wir trafen ein Paar, welches direkt gebucht hatte und somit pro Tag nur 60$ gezahlt hat. Alle anderen zahlten ca. 160DM pro Tag und Nase bei VP. Anfragen lohnen also auf alle Fälle!

Unterkünfte

Mirihi ist schon etwas älter und das sieht man zumindest den Bungalows an. Sie sind sauber und ordentlich, aber eben nicht mehr ganz modern. Zudem hat diese Kette an Bungalows doch ein wenig den Charme einer Reihenhaussiedlung. Jeder Bungalow enthält 2 Zimmer, der Bungalow 37–39 enthält drei.

Die Zimmer sind mit einigen Ausnahmen alle gleich eingerichtet. So hat zumindest Zimmer 39 drei Betten und die vier Strandbungalows scheinen auch eine Badewanne im Bad zu haben. Das Bad ist am besten als “funktionell” zu beschreiben: Toilette, Dusche an der Wand, Waschbecken, Spiegel, Steckdose, Leuchtstoffröhre, 2 Handtücher groß, 2 Handtücher klein. Kurzum: extrem schlicht und keineswegs der 4 Sterne gerecht werdend, welche die Insel laut Reiseveranstalter hat. Immerhin gibt es sehr gutes kaltes und warmes Süßwasser, wenn es auch schon mal einige Minuten dauern kann, bis das Wasser warm wird.

Die Zimmer selbst sind mit 2–3 Betten eingerichtet, dazu noch ein Kleiderschrank, sowie ein kleiner Tisch mit Rattanstuhl. Im Zimmer 39 war sogar noch Platz für einen Schreibtisch. Auf der Terrasse stehen 2 Plastikstühle, zudem ist das Geländer so gebaut, daß dort auch einige Leute sitzen können. Die Zimmer sind also keine Highlights, aber doch ordentlich. Immerhin haben alle Zimmer eine Klimaanlage und einen Deckenventilator (wahrscheinlich Marke “Sturmwind”, jedenfalls fanden wir keine langsame Stufe). Die Minibar sollte man gar nicht beachten (viel zu teuer, 1.5l Wasser kostet 5$!) und die Steckdose vom Kühlschrank lieber für das Ladegerät der Lampe nutzen (der Kühlschrank war bei unserer Ankunft eh abgeschaltet) – denn Steckdosen sind im dem Zimmer echte Mangelware. In der zweiten Woche haben wir allerdings noch eine im Kleiderschrank entdeckt.

Der Zimmerservice kommt zweimal am Tag und macht die Betten, etc. Abends werden die Betten aufgeschlagen und mit Blüten dekoriert. Immer wieder nett anzusehen.

Die Küche

Die Küche ist etwas phantasielos, denn es gibt nur Buffets. Zwar jeden Tag nach einem anderen Thema: maledivisch, chinesisch, etc. aber es sieht doch immer etwas nach Nudeln, Reis, Salat mit Extras aus.

Trotzdem muß man der Küche einige Komplimente machen: die Auswahl ist riesig, auch gibt es immer eine andere Suppe vorweg, und das Essen schmeckt sehr gut – wenn auch teilweise etwas scharf für europäische Gaumen. Beim Nachtisch spätestens erkennt man, daß wohl man österreichische Köche auf der Insel waren: es sieht aus wie aus einem österreichischen Kochbuch – inkl. Apfelstrudel mit Vanille Soße.

Negativ – neben dem oben angesprochenem Punkt – fiel mir noch auf, daß es quasi keinen Fisch gab (außer Tunfisch aus der Dose!). Wir hatten in 14 Tagen vielleicht gerade mal an 2–3 Tagen Fisch, an sich nicht wie man ihn auf den Malediven erwartet.

Die Kellner sind übrigens sehr aufmerksam und verdienen ein Extralob. Wobei sie bei der Ankunft immer gerne versuchen die Plätze mit Blick auf das Meer freizuhalten und neue Gäste irgendwo hinten ins Restaurant zu setzen. Gegen Trinkgeld oder Beschwerde gibt es dann einen besseren Tisch.

Transfer

Vom Flughafen ist man mit dem Wasserflugzeug in ca. 30 Minuten auf Mirihi. Wie üblich sollte man daran denken, daß beim Wasserflugzeugtransfer 2$ pro Kilo Übergepäck (20kg + 5kg Handgepäck sind erlaubt) anfallen. Viele Touristen waren wieder einmal ziemlich überrascht, denn Condor erlaubt z.B. kostenlos 20kg + 30kg Tauchgepäck.

Einchecken am Hotel war das übliche: kaltes Handtuch, ein Drink und Papierkram… 5 Boys, die 4 Gepäckstücke (davon nur zwei große) trugen.

Unsere Abreise war gut organisiert, sogar für das Frühstück reichte es noch. Man war pünktlich am Flughafen, aber brauchte dort auch nicht ewig warten.

Wetter (Dezember 1998)

Die ersten Tage wunderschön, dann wurde es schlechter und regnete fast eine Woche lang. Mal mit übelstem Sturm, mal nur als Nieselregen – dazu noch einige kräftige Wellen. Dann besserte sich das Wetter und nach 2–3 Tagen nahm der Wellengang auch ab.

Das Wetter ist wohl fast typisch für den Dezember, dreht doch zu dieser Zeit der Monsun und die drehenden Winde sorgen für hohe Wellen und schlechtes Wetter. Ab Januar kommt der Wind dann wieder stabil aus einer Richtung und das Wetter bleibt dann bis April konstant gut.

Tauchen

Mirihi gilt als eine der bekannteren Taucherinseln. Seit letztem Jahr gehört die PADI Tauchbasis zum Hotel und die Tauchlehrer sind beim Hotel angestellt. Während unserer Zeit auf Mirihi, waren die Basisleiter (Steve und Mary) in Urlaub und Ralf und Gerhard waren die einzigsten Tauchlehrer, unterstützt von Hassan, dem Diveguide. Deswegen gab es auch keine Kurse zur U/W-Fotographie und U/W-Video. Auch das sehr beliebte private U/W-Video von Tauchern war nicht möglich. Die Basis ist übrigens deutsch- und englischsprachig.

Die Basis selbst ist hervorragend: überdachte Sitzplätze, Literatur (Fischbestimmungsbücher), viel Platz zum Spülen der Ausrüstung, 2 Süßwasserduschen, u.s.w. Von allen Basen auf den Malediven (ausgenommen, denen wo man sich gar nicht um seine Ausrüstung kümmern muß) die bisher beste. Die Ausrüstung wird zusammen mit den Flaschen aufs Boot getragen und auch wieder zurück, ebenfalls ein dicker Pluspunkt!

Tauchen ist entweder vom Boot aus möglich. Zwei Ausfahrten pro Tag: morgens zwischen 9:00 und 9:30 die erste; nachmittags so um 15:00 die zweite. Teilweise ging es morgens um 6:30 los (Mantapoint) oder auch um 7:30 zu einer Ganztagesausfahrt nach Maaya Thila. Bei einer Ganztagesausfahrt gibt es auf dem Boot etwas zu essen.

Das Tauchboot ist hervorragend: ein großes Fiberglasboot mit reichlich Platz (auch für die Fotoausrüstung), Flaschenhalterungen, WC, Süßwasserdusche, Funk, Sauerstoff und Besatzung aus 3 erfahrenen Malediviern. GPS ist allerdings nicht vorhanden (entgegen der Aussage auf der Website von Mirihi), allerdings ist GPS auch zu ungenau um ein kleines Riff zu finden. Hassan (mit fast 4000 TGs alleine in der Gegend um Mirihi) hat auch so alle Tauchplätze immer auf Anhieb gefunden. Gekühlte Getränke sind auch vorhanden (solange der Vorrat reicht), müssen allerdings bezahlt werden (4$ für 1.5l Wasser, etc. – gleiche Preise wie in der Bar auf der Mirihi). Die Bootsfahrt kostet $12.

Taucher mit weniger als 30 TGs müssen einen Check-Dive machen. Wer sich nicht sicher genug fühlt alleine mit Buddy zu tauchen, kann einen eigenen Guide für den Tauchgang bekommen (für 10$), alle anderen können sich Hassan anschließen – müssen es aber nicht. Erfahrenen Tauchern bleibt so das Rudeltauchen erspart. Begleitung beim ersten Nacht-TG ist ebenfalls erforderlich, selbst wenn der Buddy ein Tauchlehrer ist – das klingt für mich ein wenig nach Geldschneiderrei…

Eine Versicherung bei DAN o.ä. ist für alle Taucher Pflicht, für 10$ ist man 3 Wochen lang versichert. Ebenso gibt es kostenlos eine Sicherheitsboje pro Buddyteam (allerdings wußte kaum jemand wie man das Teil bedient). Einen Computer (die Basis hat Suunto Computer) muß man allerdings mieten, wenn man keinen eigenen hat – auch er ist vorgeschrieben. Die Tiefengrenze liegt bei 30m (wird auch vom Guide eingehalten!) und die maximale Dauer für Tauchgänge liegt bei 90 Minuten. Die meisten Leute haben die 12l Flasche in 40–60min leer. Ein Sicherheitsstopp wird vom Guide immer eingehalten.

Hausriff

Tauchgänge am Hausriff sind von früh morgens bis 22:30 Uhr möglich. Die Basis schließt zwar um 18:00 Uhr (pünktlich!), aber die Flaschen werden rechtzeitig bereitgestellt, wenn man sich in eine entsprechende Liste einträgt. Aus dieser Liste muß man sich auch austragen – was allerdings 50% der Leute vergessen und die anderen evtl. gar nicht mehr können, weil die Liste vom aktuellen Tage bereits um 17:00 Uhr durch die Liste vom nächsten Tag ersetzt wurde…

Das Hausriff ist nur wenige Meter entfernt. Man geht neben dem Steg ins Wasser und schnorchelt bis zum Jetty. Dort kann man dann abtauchen. Das Hausriff ist auch für Anfänger leicht zu betauchen, da kaum Strömung vorhanden ist und zudem auf 20m eine sanft abfallende Sandfläche anfängt.

So, kommen wir nun zum traurigen Kapitel: das Hausriff ist völlig tot. Durch die hohen Temperaturen im letzten Sommer gibt es bis zu einer Tiefe von 5m fast keine einzige lebende Koralle. Schnorcheln kann man sich sparen. Immerhin kann man als Schnorchler teilweise Rochen und Haie sehen, aber eben auf einen grauen Schotterriff. Erst ab einer Tiefe von 10m bessert sich das Riff etwas, aber Tauchgänge am Hausriff lohnen kaum. Wir haben uns meistens auf die Sandfläche links vom Einstieg vor der Geröllhalde (Riff) in 20m beschränkt, dort sind viele sehr schöne Korallenblöcke mit vielen Fischen. Wer nach rechts taucht, gelangt nach 15 Minuten an das Wrack eines Dhonis, welches allerdings diesen Sommer ebenfalls völlig zusammengefallen ist. Es besteht nur mehr aus einem Haufen Holzbrettern.

Immerhin scheint sich das Riff langsam zu regenerieren: überall sieht man langsam wieder Korallen anwachsen, aber es wird sicher noch Jahre dauern, bis es wieder nett wird.

Nacht-TGs am Hausriff sind ebenfalls ganz OK. Ein Besonderheit sind Schwärme von aufdringlichen Schiffshaltern (besonders wenn man vom Einstieg nach rechts taucht), die sich an den Flaschen, Beinen, etc. festsaugen. Ich habe bis zu 7 Schiffshalter an einer Flasche gezählt! Wer hier ohne Anzug oder nur im Shorty taucht, braucht sich nicht über Knutschflecken wundern!

Tauchplätze

Die angefahrenen Tauchplätze waren meistens Thilas und fingen zwischen 5–8m an um auf 30m in Sandboden überzugehen. Die Strömung war von kaum spürbar bis zu “Fähnlein im Wind”. Alle Thilas waren gut erhalten und lohnten einen weiteren Besuch. Kein Vergleich zum Hausriff! Lediglich am Riffdach konnte man die Schäden durch die hohen Temperaturen teilweise drastisch sehen. Bei einem Tauchplatz hatten wir allerdings eine kühle Überraschung: 24 Grad Wassertemperatur! Selbst Hassan konnte sich nicht erinnern, jemals in so kaltem Wasser getaucht zu sein…

Die Anfahrten dauerten zwischen 10 Minuten und 60 Minuten. Tagesausfahrten gehen bis Maaya Thila hoch (3 Stunden Fahrt hin und 3 Stunden wieder zurück). Es wurde – wie auf den Malediven üblich – niemals geankert oder festgemacht. Vor dem Tauchgang gibt es ein sehr gutes Briefing und Hassan checkt die Strömung und Sicht (Standardspruch: “mittlere Strömung, mittlere Sicht”), dann tauchen die Buddyteams gemeinsam ab und können ohne Guide in Ruhe tauchen.

An Fischen haben wir so ziemlich alles gesehen, was die Malediven zu bieten haben: diverse Hai-, Makrelen, Tunfisch und Mantaarten, Oktopusse, u.s.w.u.s.f. Selbst Dephine und einen Marlin konnten wir beim Tauchen sehen.

Besonders zu empfehlende Tauchplätze sind

  • Angaga bzw. Bobana Thila – ein sehr schönes Thila mit Grauhaien, aber auch allen anderen üblichen Riffischen. Teilweise mit kräftiger Strömung.
  • Hukuruelhi Faru – der Manta-Point im Süd-Ari Atoll!

Pro / Contra

Besonders gut gefallen hat mir

  • das Tauchboot
  • offensichtlich sehr motivierte Angestellte
  • Hassan, der Diveguide
  • die Tauchbasis (Räumlichkeiten, Organisation, etc.)
  • überschaubare Inselgröße (nur 41 Zimmer)
  • die Qualität des Essens

Negativ fiel mir auf

  • für Singles ist der Zimmerpreis im Winterhalbjahr Wucher (ein Single muß für 2 Personen inkl. VP zahlen!)
  • Handtuchtouristen
  • das tote Hausriff
  • das schlichte Badezimmer
  • das es täglich Buffets gab, zudem kaum frischen Fisch
  • teilweise hohe Getränkepreise z.B. 4$ für 1.5l Wasser (gar 5$ aus der Zimmerbar)
  • Tauchen ist auch nicht ganz billig.

Banyan Tree, Malediven

http://www.banyantree.com/maldives/

 (obiges Bild ist vom Juli 2000)

Unterkunft Banyan Tree Maldives
Zeitraum Ende März 1998
Veranstalter SubAqua, Airtours, Meyers Weltreisen (Preise vergleichen!)
Ort Vabbinfaru, Malediven
Preis $720-$1530 pro Tag inkl. VP (je nach Villa und Saison)

Allgemeines


Banyan Tree ist eine 5-Sterne Luxusinsel einer asiatischen Hotelkette. Die kleine Insel ist ca. 200m mal 250m “groß”. Auf ihr befinden sich 48 Villen, die durch die kleine Insel recht dicht gedrängt sind. Jedoch wirkt die Insel größer. Man merkt die Größe immer nur dadurch, daß man nach spätestens 10 Minuten wieder am Ausgangsort angelangt ist – egal in welche Richtung man geht. Die Insel wird durch den sog. “Highway” von Süden nach Norden geteilt (an den sich direkt die beiden Jettys anschließen). Der Highway ist natürlich keine echte Straße, sondern nur ein Sandweg… Ein weiterer Weg führt im Kreis einmal durch die Insel – hinter den Garden Villen entlang.

Banyan Tree liegt direkt neben Ihuru und in Nachbarschaft zu Baros und Bandos. Wer zum Arzt muß, wird mit einem Schnellboot in die Klinik nach Bandos gebracht.

Banyan Tree befindet sich ca. 18km von Male bzw. dem Airport entfernt und ist 1995 neu eröffnet worden. Das alte Hotel wurde komplett abgerissen. Die Insel ist zwar nicht so “Robinson like” wie Soneva Fushi, aber trotzdem kein Vergleich zu Inseln wie Kurumba, Laguna Beach oder Kuda Huraa. Sie hat den Malediven typischen Stil erhalten, die Schuhe können zu Hause bleiben – nunja, ein paar Badelatschen sind für den 100m langen Bootssteg zu empfehlen: wenn die Sonne den ganzen Tag auf das dunkle Holz geschienen hat, kann man ihn nicht mehr betreten…

Durch die Stürme im Dezember 1997 hat die Insel auf der Ostseite (Villen 33–49) ziemlich gelitten. Selbst im März wurde bei Hochwasser immer noch kräftig Sand weggespült, so daß einige Villen schon mit der Holzterrasse über dem Wasser stehen. Die momentan notdürftige Befestigung mit Sandsäcken, sowie die freigespülten Fundamente des alten Hotels sehen jedenfalls nicht gut aus – aber was will man machen? Im Westen der Insel sammelt sich übrigens der Sand von der Ostseite. Der Strand dort ist seit Dezember bis zu 50m breit geworden! Im Mai 1998 will das Management den Sand wieder an die Ostseite pumpen lassen – es könnte dann also laut werden… Banyan Tree gibt momentan fast $200000 im Jahr für die Erhaltung der Insel durch Sandanspülungen aus. Das Befestigen der Insel mit Korallenblöcken ist übrigens inzwischen auf den Malediven verboten. Ich hatte die Villa 30 (BTW: sehr zu empfehlen).

Unterkünfte

Die Villen sind alle gleich. Sie unterscheiden sich lediglich in der Lage: Beach-Front-Villa bzw. Garden-Villa, wobei letzere in zweiter Reihe stehen und erstere direkt am Wasser bzw. Strand stehen.

Banyan Tree Villa

Die Villen selbst sind bisher das beste was ich auf den Malediven erlebt habe – mit Abstand! Einzig die Villen auf Soneva Fushi sind vergleichbar. Alle Villen haben einen nicht einsehbaren privaten Garten hinter der Villa, wo sich bei vier der Villen (drei Beach-Front-Villen, einer Garden-Villa) ein privater Jacuzzi (ein Whirlpool, ca. 1,75m x 1,75m groß) befindet. Es ist erwünscht Wäsche nur im Garten aufzuhängen: wegen der Optik… Kleidervorschriften gibt es auf der Insel allerdings nicht.

Die Villen betritt man durch den Garten, sie gleichen einem Schneckenhaus in dessen Mitte ein riesiges “King Size” Bett mit Moskitonetz und großen Ventilator darüber steht. Am Kopfende vom Bett befindet sich ein flacher Schrank, welcher u.a. die Zimmerbar enthält. Auf der rechten Seite – sofern man in einem fast runden Raum überhaupt von einer Seite sprechen kann – neben dem Eingang steht ein kleiner Schreibtisch mit Teekocher. Auf der linken Seite ist ein sehr gemütliches großes Sofa in die Ecke hinter dem Eingang zum Bad, welches sich auch ausgezeichnet für eine dritte Person als Bett eignet. Die Rückseite bzw. die Front zum Meer hin besteht aus drei großen Flügeltüren mit verstellbaren Lamellen. Vor den Türen befindet sich die Holzterrasse mit einem Tisch inkl. Sonnenschirm (ideal für das Frühstück), sowie zwei Liegen. Wer die Türen offen läßt, kann die Villa somit auch über die Terrasse betreten.

Im Badezimmer gleich rechts ist eine Art Kleiderschrank mit recht großem Safe. Zwei Waschbecken mit Spiegeln, sowie Naßrasierer, Schminktücher, Föhn, diverse Handtücher u.s.w. gehören ebenfalls zur Grundausstattung. Die Toilette befindet sich links, oberhalb der Dusche, welche 2 Stufen in den Boden eingelassen ist. Um es genau zu nehmen: die Villen liegen ca. 1/2m erhöht. Sieht jedenfalls sehr sehr edel aus. Vom Bad aus führte bei mir ebenfalls eine Flügeltür zum Garten, in dem sich noch zwei Liegestühle befinden.

Banyan Tree Villa Jacuzzi
Der Garten ist normalerweise auch ein solcher, bei den Jacuzzi-Villen ist er jedoch eine große Holzterrasse – ebenfalls 2 Stufen hoch. Die Jacuzzi Villa #30 (Beach-Front, direkt am von Booten nicht benutzten Sunset-Jetty im Norden) hat einen solchen und ist wohl die schönste Villa: ruhig gelegen mit tollem Blick auf den Ozean. Nebenbei funktioniert dort der Jacuzzi, die machen momentan wohl immer mal Probleme… weswegen man eine Jacuzzi Villa rechtzeitig vorbestellen sollte!

Wer das nötige Kleingeld hat ($800 pro Tag) kann auch die Präsidenten Villa (Nummer 43) buchen. Die Villa hat neben Fernseher, Video und Hifi-System (in den anderen Villen einzeln auch für $10 pro Tag zu mieten; Videoverleih ist kostenlos) auch eine Klimaanlage (Durch den geschicktem Einsatz der Lamellentüren ist allerdings nicht nötig). Dazu kommt natürlich ein privater Jacuzzi, sowie ein sehr großer Garten mit großem überdachtem Sitzbereich mit Sitzecke etc. Die Villa liegt allerdings an der momentan nicht so attraktiven (siehe oben) Ostseite.

Die Küche

Die Küche ist für ein Hotel dieser Kategorie eine Enttäuschung (Huhn unbedingt meiden!): teilweise ziemlich schwaches Essen; geringe Auswahl (zwei Hauptgerichte pro Abend); sehr lange Wartezeiten zwischen den 4 Gängen (Vorspeise, Suppe, Hauptspeise, Nachspeise). Wenn das Wetter schlecht ist, scheint mir das überdachte Restaurant auch zu klein zu sein, bei einer Wartezeit von bis zu 1/2h zwischen Suppe und Hauptspeise sitzen die Leute doch recht lange. Wie ich von einem anderen Gast gehört habe, hat der Leiter des Restaurants die Insel verlassen und die Lücke konnte durch den Chefkoch nicht geschlossen werden.

Das Frühstücksbüffet, sowie abendliche Büffets waren gut aber lange nicht so herausragend, wie z.B. auf Soneva Fushi. Die Insel ist nur mit Vollpension zu buchen, so daß keine Kosten außer für Getränke, das Tauchen, sowie das SPA (ausprobieren! Ist allerdings häufig ausgebucht) anfallen. Die Getränke sind teuer (großer Saft $4.50, frischer Orangensaft $6.25), zudem nicht immer verfügbar (weil z.B. keine Orangen verfügbar sind). Ich habe teilweise die Bestellung durch die Frage “Was habt ihr?” abgekürzen können. Eine große Enttäuschung für solch ein Hotel!

Transfer

Der Transfer vom Flughafen Hulule zum Hotel ist problemlos und schnell: direkt beim Terminal wird man in Empfang genommen und zu einem der Schnellboote des Hotels gebracht. Das bringt einem direkt in ca. 20–30 Minuten zur Insel. Wartezeit, weil andere Gäste mit dem nächsten Flieger ankommen, gibt es nicht – auf die wartet ein weiteres Boot. Während der Fahrt bekommt man ein kaltes Handtuch, sowie ein Wasser – ebenfalls ein netter Service.

Auf der Insel wird man von einem Resort Host in Empfang genommen, der neben dem üblichen Papierkram auch ein Foto von jedem Gast macht, welches kopiert wird und den Angestellten ermöglicht die Gäste zu identifizieren ohne sie ständig nach der Zimmernummer zu fragen. Ein ungewöhnliches (positives) Gefühl überall gleich erkannt zu werden (sei es an der Bar oder an der Tauchbasis; der erste Satz dort war: “Du bist also der Markus”…).

Der Resort Host bringt einem auch zur Villa und erklärt einem alle Dinge in der Villa, sowie z.B. die Essenszeiten und die möglichen Unternehmungen (Besuch von Male, Island-Hopping, Nachtfischen, Schnorcheltour, Hochseefischen, Rundflüge, u.s.w.). Das ergibt einen sehr positiven ersten Eindruck!

Die Abreise ist ebenfalls problemlos, meinen schweren Tauchrucksack hat jemand sogar bis zur Kontrolle vor dem Check-In getragen. Wow! Auch hier: keine überflüssigen Wartezeiten, man ist 2h vor Abflug am Flughafen.

Wetter (Ende März 1998)

Das Wetter war für die Jahreszeit normal: wunderschöne Tage – teilweise ohne irgendeine Wolke am Himmel. Lediglich an einem Tag hat es kurzzeitig etwas getropft. Das Meer war fast ständig so glatt, daß man sich drin spiegeln konnte! Trotzdem blies fast immer ein leichtes Lüftchen. Die Sonnenuntergänge waren häufig phantastisch: die Sonne verschwindet am Horizont, wobei man den Übergang von Wasser und Luft nicht erkennen kann: das Blau geht ineinander über. Genial!

Tauchen

Die Insel ist keine Taucherinsel im Malediven-Sinne. Obwohl die Insel zu 80% ausgebucht war, gab es pro Ausfahrt kaum mehr als 4–8 Taucher. Die meisten Leute nutzen die Insel einfach als Ort der Entspannung und Erholung.

Banyan Tree Tauchboot
Das Tauchdhoni ist ebenfalls einmalig: riesig – wohl doppelt so groß, wie die Standard-Dhonis; andere Inseln würden auf solch ein Dhoni bis zu 40 Taucher unterbringen. Die Ausrüstung wird von Gabi, der guten maledivischen Seele der Tauchbasis, auf und auch wieder vom Dhoni geschafft. Vor dem Tauchen bekommt man einen Becher Wasser, nach dem Tauchgang Tee, sowie einen dicken Bademantel gereicht. Das Dhoni hat sogar eine Toilette an Bord, ebenfalls ein dicker Pluspunkt! Dazu noch die Flaschenhalterungen, sowie die gute Sicherheitsausrüstung (erste Hilfe, Sauerstoff, Funk) und die Crew aus 3 Mann ergeben ein wirklich einmaliges Taucherlebnis.

Bei Ausfahrten zu entfernteren Tauchplätzen werden gerne gleich zwei Tauchplätze angefahren. Zwischendurch wird dann ein ebenfalls tolles Frühstücksbüffet auf dem Boot aufgebaut (mit diversen Brotsorten, Marmelade, Käse, Aufschnitt, Früchten, Säfte, Tee, Kaffee).

Es fällt mir wirklich nichts mehr ein, was man da noch verbessern kann!

Tauchbasis Banyan Tree Dive Center
Flaschen 12 Liter Alu; INT- und DIN Anschlüsse
Ausbildung SSI Instructor Center; auf Anfrage auch PADI möglich (4 Tauchlehrer: dt. Basisleitung, eine Japanerin, ein Mexikaner)
Sprachen in 6 Sprachen
Ausrüstung Zustand alt, aber OK. Lungenautomaten zu alt
Service herausragend, jeder Gast wird sehr persönlich behandelt; kein Massenbetrieb; perfekt
Preise 1 TG inkl. Flasche/Blei $45 (plus Bootsfahrt)
2–5 TG inkl. Flasche/Blei $39 (plus Bootsfahrt)
6–10 TG inkl. Flasche/Blei $35 (plus Bootsfahrt)
ab 11 TG inkl. Flasche/Blei $29 (plus Bootsfahrt)
Nightdive inkl. Lampe + $15
privater TG mit TL + $35
Fresh-Up $80
Resort Kurs $130
OWD $395 + $95 (Manual, etc.)
AOWD $270 + $70 (Manual, etc.)
RD $290 + $60 (Manual, etc.)
DM $750 + $250 (Manual, etc.)
1 Bootsfahrt $9
pers. Video $150

Der 1. TG ist ein Art Check-Dive. Die Limit für Tauchgänge liegt bei 30m und 60 Minuten. Ein Sicherheitsstopp auf 5m ist Pflicht! Dekotauchgänge sind nicht erlaubt. Wer mit Buddy ohne Tauchlehrer tauchen will, braucht einen Computer (Aladdin Sport wird vermietet).

Der persönliche Video scheint teuer ($150), aber es ist genial gut! Patricia (eine Französin) ist der “Insel Fotograf” bzw. Videofilmer. Bei ihr bekommt man neben Filmen auch Leihkameras für seine Tauchgänge und hilft auch, wenn mal etwas kaput gegangen ist. Sie dreht ein ganz ganz tolles persönliches Video, welches für ein tauchende Paar definitiv Pflicht ist! Das Video kann auch mit eigener Musik vertont werden. Ein Video außerhalb des Wassers ist natürlich auch möglich. Patricia arbeitet fast einen ganzen Tag an einem Video: morgens wird der Film gedreht, danach sitzt sie teilweise bis 20 Uhr abends am Schnitt und der Vertonung. Wenn man das und die tolle Qualität bedenkt, ist das Video ein Schnäppchen!

Hausriff

Das Hausriff ist ca. 100 m entfernt. Die Südseite ist zum Schnorcheln nicht so toll: man hat zwar Chance auf einige Haie, Rochen (gegen Abend ist die Lagune voll von Stachelrochen), Schildkröten, Zackenbarsche, etc. aber das kann nicht über den teilweise sehr schlechten Zustand der Korallen am Riff hinwegtäuschen. Auch hier hat der Sturm seine Spuren hinterlassen. Die Nordseite soll schöner sein. Bei wenig Strömung kann man um die halbe Insel herumschnorcheln.

Banyan Tree House Reef

Tauchen am Hausriff ist möglich, das Riff soll in der Tiefe auch schöner sein. Ich habe jedoch nicht am Hausriff getaucht.

Tauchplätze

Die Tauchplätze werden, wie fast überall auf den Malediven üblich, 2x täglich angefahren. Alle Tauchgänge werden von Tauchlehrern begleitet. Die Anfahrten zu den über 20 Tauchplätzen dauern zwischen 15 und 90 Minuten. Durch das große gemütliche Dhoni kann man die Zeit aber sehr angenehm überbrücken. Die Briefings sind ausführlich und gut (Strömung, Skizze vom Tauchplatz, Besonderheiten, Gefahren, u.s.w.). Die Tauchplätze in der Nähe von Male sind altbekannt und häufig nicht so herausragend, wie die weit entfernten. Trotzdem kann man dort gut tauchen.

Besonders zu empfehlende Tauchplätze sind

  • Washi Mas Thila – ein sehr schönes tiefes Thila mit abertausenden von Fischen und vielen Großfischen. Strömung!
  • Kuda Haa – kleines Thila mit Strömung. Sehr schöne Hart- und Weichkorallen, sehr viele Fische. Haie, Napoleons, etc.

PC Protocol of Suunto Spyder

This document describes the transfer protocol and memory layout of these Suunto diving computers:

  • Suunto Sypder

Communication

The protocol uses 2400 8O1, which means 2400 baud with 8 bits, odd parity and 1 stop-bit. The check for the interfaces uses 2400 8N1, but it also works with 2400 8O1. This was the trivial part… But some lines have a special meaning with the interface!

The DTR line should always be set. It is used as a power supply for the interface.

RTS is a toggle for the direction of the half-duplex interface. To send a command to the interface, set RTS. When you await a command, clear RTS. Timing also seems to be critical! To make sure that all data is sent to the interface, before clearing RTS, I wait about 200ms. After clearing RTS, I also have to wait 400ms and use a 500ms timeout for receiving data.

The test for the existance of the interface is simple: the computer sends AT plus a CR ($41, $54, $0D) and awaits the same answer.

Transfer

The protocol for the Suunto Spyder, Vyper and Cobra are identical, but the memory layout of the Spyder is different. All data is send in packages to and from the computer. Every package is followed by a CRC for checksum reasons.

unsigned char checksum = 0x00;
for(int i=0; i<packageLen; ++i)
 checksum ^= package[i];
  • Read memory
    • to Spyder: 05 + addr_high + addr_low + count (1..32) + CRC
    • from Spyder: 05 + addr_high + addr_low + count (1..32) + n Bytes + CRC
  • Write memory
    • to Spyder: 06 + addr_high + addr_low + count (1..31)+ n Bytes + CRC
    • from Spyder: 06 + addr_high + addr_low + count (1..31) + CRC
  • Used before every ‘Write memory’ call
    • to Spyder: 07 + $a5 + CRC
    • from Spyder: 07 + $a5 + CRC
  • Get first dive profile
    • to Spyder: 08 + $a5 + CRC
    • from Spyder: 08 + count (1..32) + n Bytes + CRC (if more than 32 bytes needs to be transmitted, they are split in 32 byte packages)
  • Get next dive profile
    • to Spyder: 09 + $a5 + CRC
    • from Spyder: 09 + count (1..32) + n Bytes + CRC (if more than 32 bytes needs to be transmitted, they are split in 32 byte packages)

The DiveManager Software from Suunto does the following when reading data from a Spyder: – Check for correct computer – Read Memory ($24, 1) – Read the internal memory: – Read Memory ($1E, 14) – Read Memory ($2C, 32) – Read Memory ($53, 30) – Get first dive profile – Get next dive profile – … – If “next dive profile” returns a null package, the end of the log memory is reached.

Memory layout

Default name of the LOG file: ‘‘PROFILE.ACW’’

  offset |     format   |  testvalue  | content
$00-$15 MSB binary unused by the PC software, probably configuration values for the computer
$16-$17 MSB binary $0102 Firmware version of the Spyder (old ACW $0101, new ACW $0102)
$18-$1B MSB binary Serialnumber (new ACW, e.g. $0002.0F7F = 203.967) or ID no. (old ACW, e.g. $2E.61.122E = 469704654) of the Spyder
$1C-$1D MSB binary Ptr to the last $82 byte in the profile ringbuffer
$1E-$1F MSB binary $3F46 max. depth in ft * 128.0
$20-$21 MSB binary total dive time in minutes
$22-$23 MSB binary total number of dives
$24 MSB binary $14 interval (20s, 30s or 60s, Changing ist not allowed by DiveManager software! Why? Marketing?)
$25 MSB binary altitude and personal settings (height (0..2) + 3 * personal (0..2))
$26-$2B MSB binary ? ($0B,$03,$1F,$FF,$1F,$FF : identical on all Suunto computers?)
$2C-$49 ASCII ACW Diver personal information (“ACW Diver”, otherwise filled to the maximum length with spaces)
$4A-$4B MSB binary ? ($01, $01 : identical on all ACW?!? Version of the profile memory?)
$4C-$1FFF MSB binary ring buffer for the profile memory

The ring-buffer is a stream of data, which ends at the position, that is marked in the header. At this position the computer starts writing the information from the next dive. If the write pointer reaches the value $2000, it jumps back to $4C.

Format for one dive

offset format description
0 MSB binary unknown — air preassure at the end of the dive?
1 MSB binary temperature in degress celcius.
2… binary profile data from the end to the beginning of the dive,this means reverse order!
n MSB binary minutes at the beginning of the dive
n + 1 MSB binary hours at the beginning of the dive
n + 2 MSB binary day at the beginning of the dive
n + 3 MSB binary month at the beginning of the dive
n + 4 MSB binary year at the beginning of the dive (90..99 = 1990..1999, 00..89 = 2000..2089)
n + 5 MSB binary altitude and personal settings (height (0..2) + 3 * personal (0..2))
n + 6 MSB binary unknown — air preassure at the beginning of the dive?
n + 7 MSB binary interval (20s, 30s or 60s)
n + 8 MSB binary dive number in the Spyder (for repetitive dives)
n + 9 MSB binary hours of the surface interval
n + 10 MSB binary minutes of the surface interval

Profile information

The profile data is a stream of bytes. Every minute (or 30s or 20s – see the profile interval) a byte is recorded. This byte is the delta depth in ft to the last depth! E.g. you start your dive at a depth of 0 feet go down to 30ft in a minute, so the value is –30ft (because you go 30ft down) or $E2 in binary, if you then go up to 20ft, the next value will be +10ft (because you go 10ft up) or $0A in binary.

Some values have special meanings:

Byte Type Description
$7d Surfaced you have reached the surface while (or after) the dive
$7e ASC dive now is a decompression dive
$7f ERR decompression missed
$80 End end of the dive. The next byte is n + 1 in the format description of the dive.
$81 Slow Slow warning while the dive. If the dive ends with $7d8180 (Surfaced, Slow, End) it means, you finished the dive with a blinking SLOW warning in the display.
$82 End of data set after the last dive (written after the dive as a marker, so technically not profile information)

Necessary conversions

meter = (int)(feet * 0.3048 * 10) / 10
psi = bar * 14.50377377
fahrenheit = celcius * 1.8 + 32

Altitude:

value meters feet
0 700m 2300ft
1 1500m 5000ft
2 2400m 8000ft

ATTN: the computers don’t round after the 2. digit, when calculating feet => meter! They cut it after the 2. digit. This results to the modified formula.

PC Protocol of Suunto Cobra, Vyper, Stinger, Mosquito, Vytec and Gekko

This document describes the transfer protocol and memory layout of these suunto diving computers:

  • Suunto Cobra
  • Suunto Vyper 1 & 2
  • Suunto Stinger
  • Suunto Mosquito
  • Suunto Vytec DS
  • Suunto Gekko

Communication

The protocol uses 2400 8O1, which means 2400 baud with 8 bits, odd parity and 1 stop-bit. The check for the interfaces uses 2400 8N1, but it also works with 2400 8O1. This was the trivial part… But some lines have a special meaning with the interface!

The DTR line should always be set. It is used as a power supply for the interface.

RTS is a toggle for the direction of the half-duplex interface. To send a command to the interface, set RTS. When you await a command, clear RTS. Timing also seems to be critical! To make sure that all data is sent to the interface, before clearing RTS, I wait about 200ms. After clearing RTS, I also have to wait 400ms and use a 500ms timeout for receiving data.

The test for the existance of the interface is simple: the computer sends AT plus a CR ($41, $54, $0D) and awaits the same answer.

Transfer

The protocol for the [[Suunto Spyder]], Vyper and Cobra are identical, but the memory layout of the Spyder is different. All data is send in packages to and from the computer. Every package is followed by a CRC for checksum reasons.

unsigned char checksum = 0x00;
for(int i=0; i<packageLen; ++i)
 checksum ^= package[i];
  • Read memory
    • to Cobra: 05 + addr_high + addr_low + count (1..32) + CRC
    • from Cobra: 05 + addr_high + addr_low + count (1..32) + n Bytes + CRC
  • Write memory
    • to Cobra: 06 + addr_high + addr_low + count (1..31)+ n Bytes + CRC
    • from Cobra: 06 + addr_high + addr_low + count (1..31) + CRC
  • Used before every ‘Write memory’ call
    • to Cobra: 07 + $a5 + CRC
    • from Cobra: 07 + $a5 + CRC
  • Get first dive profile
    • to Cobra: 08 + $a5 + CRC
    • from Cobra: 08 + count (1..32) + n Bytes + CRC (if more than 32 bytes needs to be transmitted, they are split in 32 byte packages)
  • Get next dive profile
    • to Cobra: 09 + $a5 + CRC
    • from Cobra: 09 + count (1..32) + n Bytes + CRC (if more than 32 bytes needs to be transmitted, they are split in 32 byte packages)

The DiveManager Software from Suunto does the following when reading data from a Cobra: – Check for correct computer – Read Memory ($24, 1) – Read the internal memory: – Read Memory ($1E, 14) – Read Memory ($2C, 32) – Read Memory ($53, 30) – Get first dive profile – Get next dive profile – … – If “next dive profile” returns a null package (count = 0), the end of the log memory is reached.

Memory layout

Default name of the LOG file: ‘‘PROFILE.VPR’’

  offset |     format   |  testvalue  | content
$00-$1D MSB binary unused by the PC software, probably configuration values for the computer
$1E-$1F MSB binary $6038 max. depth in ft * 128.0
$20-$21 MSB binary total dive time in minutes
$22-$23 MSB binary total number of dives
$24 MSB binary $0C Type of the computer ($03:Stinger, $04:Mosquito, $0A:new Vyper, $0C:Vyper or Cobra, $0B:Vytec, $0D:Gekko)
$25 MSB binary firmware version (30: Cobra, 33: Cobra, 21: Stinger, 15: Mosquito), the minor part is always .0.0
$26-$29 MSB binary $00005A38 serial number e.g. a Vyper: $00.01.04.41 (= 00010465)
$2A-$2B MSB binary $0000 unknown
$2C-$49 ASCII Vyper Diver personal information (“Vyper Diver”, “Cobra Diver”, “ACW Diver”, “Mosquito Diver” fill with zero bytes, if changed by the user filled to the maximum length with spaces)
$4A-$50 MSB binary $00..$00 unknown (only the first 2 bytes are read by DM software)
$51-$52 MSB binary Ptr to the last $82 byte in the profile ringbuffer (not read by DM software)
$53 MSB binary $14 interval (10s, 20s, 30s or 60s)
$54 MSB binary altitude and personal settings (height (0..2) + 3 * personal (0..2))
$55-$5B MSB binary unknown ($0E.05.1F.FF.1F.FF.01 : identical on all Suunto computers?)
$5C-$5D MSB binary $0000 max. freediving depth (only on Mosquito and Stinger) in ft * 128.0
$5E-$5F MSB binary $0000 total freediving time in minutes (only on Mosquito and Stinger)
$60 MSB binary $01 12/24 hour flag, 00 = 24 hours, 01 = 12 hours plus AM/PM
$61 MSB binary $00 unknown
$62 MSB binary $01 0 = imperial, 1 = metric
$63 MSB binary $01 Model (0: Air, 1:Nitrox/EAN, 2:Gauge; Mosquito, Stinger: Bit 3 set: Diving active, Bit 7 set: Free Diving active)
$64 MSB binary $8A Light (Bit 7: on; Bit 0..6: time in s)
$65 MSB binary $03 Bit 0: dive time alarm = on, Bit 1: dive depth alarm = on
$66-$67 MSB binary $0037 dive time for the alarm in minutes (max. 999 minutes, normal max. 4:59)
$68-$69 MSB binary $3138 depth for the alarm in ft * 128.0 (rounded to 0.5m or 1ft; valid: 0m, 3m–150m (Cobra, Vyper: 100m))
$6A-$70 MSB binary unknown ($46.00.00.00.00.00.00)
$71-$1FFF MSB binary ring buffer for the profile memory

The ring-buffer is a stream of data, which ends at the position, that is marked in the header. At this position the computer starts writing the information from the next dive. If the write pointer reaches the value $2000, it jumps back to $71.

Format for one dive

offset format description
0 MSB binary 00, with Nitrox: OLF % * 2 ($32 * 2 = 100 CNS), if bit 7 is set: OTU instead of CNS
1 MSB binary pressure at the end of the dive in bar / 2
2 MSB binary temperature at the end of the dive in degress celcius
3 MSB binary temperature at the max depth in degress celcius
4… binary profile data from the end to the beginning of the dive,this means reverse order!
n MSB binary minutes at the beginning of the dive
n + 1 MSB binary hours at the beginning of the dive
n + 2 MSB binary day at the beginning of the dive
n + 3 MSB binary month at the beginning of the dive
n + 4 MSB binary year at the beginning of the dive (90..99 = 1990..1999, 00..89 = 2000..2089)
n + 5 MSB binary temperature of the air in degress celcius
n + 6 MSB binary ? unused? (PO2??? 0=1.2, 1=1.3, 2=1.4, 3=1.5, 4=1.6???)
n + 7 MSB binary Oxygen in % (= Nitrox mode, air mode: 0); Bit 6 & 7 are ignored.
n + 8 MSB binary pressure at the beginning of the dive in bar / 2
n + 9 MSB binary altitude and personal settings (height (0..2) + 3 * personal (0..2)). Bit 6:Gauge active (on Stinger and Mosquito)
n + 10 MSB binary interval (10s, 20s, 30s or 60s)
n + 11 MSB binary dive number in the Vyper/Cobra (for repetitive dives)
n + 12 MSB binary hours of the surface interval
n + 13 MSB binary minutes of the surface interval

Profile information

The profile data is a stream of bytes. Every minute (or 30s or 20s – see the profile interval) a byte is recorded. This byte is the delta depth in ft to the last depth! E.g. you start your dive at a depth of 0 feet go down to 30ft in a minute, so the value is –30ft (because you go 30ft down) or $E2 in binary, if you then go up to 20ft, the next value will be +10ft (because you go 10ft up) or $0A in binary.

Some values have special meanings:

Byte Type Description
$79 unused
$7a Slow The diver ascended above dive depth limit. This symbol marks every interval in which the SLOW indicator appeared
$7b Attn/Violation Dive Attention Mark as described in the dive computer user manual
$7c Bookmark/Heading The diver pressed the PLAN button during this interval
$7d Surfaced The diver ascended above the minimum diving depth (1.2m) during this interval
$7e Deco A decompression ceiling first appeared during this interval. The dive computer’s ASC indicator appeared
$7f Ceiling The diver ascended above the decompression ceiling during this interval
$80 End end of the dive. The next byte is n + 1 in the format description of the dive
$81 Safety Stop The diver ascended above a mandatory safety stop ceiling during this interval
$82 End of data set after the last dive (written after the dive as a marker, so technically not profile information)
$83 Increased workload (not generated by the computers)
$84 unused
$85 Cold water (not generated by the computers)
$86 unused
$87 Gas change Vytec only: switched to a different gas. The following byte contains the percent of oxygen in that gas

Necessary conversions

meter = (int)(feet * 0.3048 * 10) / 10
psi = bar * 14.50377377
fahrenheit = celcius * 1.8 + 32

Altitude:

value meters feet
0 700m 2300ft
1 1500m 5000ft
2 2400m 8000ft

ATTN: the computers don’t round after the 2. digit, when calculating feet => meter! They cut it after the 2. digit. This results to the modified formula.

PC Protocol of Suunto EON/Solution/Vario

This document describes the transfer protocol and memory layout of these suunto diving computers:

  • Suunto Eon
  • Suunto Eon Lux
  • Suunto Solution Alpha
  • Suunto Solution Alpha Lux
  • Suunto Solution Nitrox
  • Suunto Vario (same as the Nitrox model)

The [[Suunto Solution]] is an older model with a different communication scheme.

Open Questions / Unknown things

  • Does more than the 3 bytes for the transmission exist? I checked all letters, but there may be others?!?
  • Any way to set the time of the EON? I don’t think so 🙁
  • Does the EON really has a 3 byte counter for the number of dives? Or is it only 2 bytes and the first byte has a special meaning?
  • What meanings have the other bytes in the header (32..255 with the exception of the serial number in 244..246)? I think 32..210 are unused, but the other contains constant (they never changed at my EON) data.
  • How does the PC software find out, where the first dive in the log starts? At the moment I get the $82 position from the header and search for next $80 (end of dive), skip the temperature and pressure byte and – viola – the first (oldest) dive.
  • information about the Nitrox model missing

Communication

The protocol uses 1200 8N2, which means 1200 baud with 8 bits, no parity and 2 stop-bits.

Transfer

You can send the following data to the EON:

  • ‘N’ ($4E) followed by 20 bytes, sets the owner name of the dive computer.
  • ‘T’ ($54) followed by 1 byte ($14, $1E, $3C, which are 20s, 30s and 60s) sets the data rate for the diving profile. Other values may be possible, so the profile values may be recorded with a 1s to a 255s interval – but they should not be used (information from the developer of the EON)
  • ‘P’ ($50) The computer sends $901 bytes (I call it the P-block) back to the computer.

Format of the P-block

The P-block has a $100 byte header and a $800 byte ring-buffer for the profile data plus a one byte checksum. The ring-buffer on a new interface only consists of $FF bytes.

The last byte after the P-block is a checksum: c
unsigned char chk = 0x00;
for(int i=0; i<0x900; ++i)
chk += buf[i];

The default name of the LOG files are: * ‘‘PROFILE.EON’’ for the Suunto Eon * ‘‘PROFILE.SOA’’ for the Suunto Solution Alpha * ‘‘PROFILE.SNV’’ for the Suunto Solution Nitrox/Vario

Header of the P-block

offset |     format     |  testvalue  | content
0–2 MSB binary $00015E number of dives made with the computer (here: 180; from the history). I am not sure, if the upper byte is used (I haven’t made 65536 dives yet 🙂
3–4 MSB binary $0258 divetime under water in minutes (here: 600; from the history)
5–6 MSB binary $3F46 max. depth (here: $3F46 / 128.0 = 126.5 feet; from the history)
7–8 MSB binary $0100 $900 – this value = offset after the last dive (here: $800)
9 MSB binary $3C current profile interval (here: 60s)
10 MSB binary $18 altitude settings (value / 32 = Altitude, here: $18 / 32 = 0, so A0) [bit 0: unknown (always = 0?), bit 1: nitrox, bit 2: unknown (always = 0?), bit 3: metric, bit 4: air (= EON)]
11 MSB binary $60 current year – 1900 (here: 96 => 1996, 00 would be 2000)
12..31 ASCII “EON – Markus Fritze ” 20 bytes string, that is filled with spaces. Not zero terminated! If the owner name is never set, it contains $FF..$FF
32..210 binary $FF unused?
211..243 binary $?? unknown
244..246 BCD $502159 serial number of the computer (here: 502159)
247..255 binary $?? unknown

Ring-Buffer of the P-block

The ring-buffer is a stream of data, which ends at the position, that is marked in the header. At this position the computer starts writing the information from the next dive. If the write pointer reaches the value $900, it jumps back to $100.

Format for one dive

offset format testvalue content
0 MSB binary $05 surface interval (minutes)
1 MSB binary $01 surface interval (hours) (here: 1:05)
2 MSB binary $01 repetitive dive counter (here: the first dive). The counter resets to 1, when the computer turns off after a longer pause. Every dive before that is a repetitive dive and increments the counter.
3 MSB binary $3C profile interval for this dive (here: 60s), this is necessary, because the interval may be changed after every dive and the ring-buffer still contains information about dives with other profile intervals.
4 MSB binary $38 altitude settings (value / 32 = Altitude, here: $18 / 32 = 0, so A0) – bit 0: unknown (always = 0?), bit 3: metric, bit 4: air (= EON)
5 MSB binary $64 A solution alpha always transmits a 0. on nitrox: nitrogen level
6 BCD $97 year (here: 1997). Year 2000 is $00
7 BCD $01 month (here: 1 = January)
8 BCD $31 day (here: 31)
9 BCD $13 hour (here: 13 or 1pm)
10 BCD $35 minute (here: 35)
11 … binary profile data
n MSB binary $80 end of the dive marker
n + 1 MSB binary $3C temperature at the dive in degree celcius – 40 (here: 60 – 40 = 20 degree celcius)
n + 2 MSB binary $19 tank preassure at the end of the dive in bar (here: 25 * 2 = 50bar) – A solution alpha always transmits a 0.

Profile information

The profile data is a stream of bytes. Every minute (or 30s or 20s – see the profile interval) a byte is recorded. This byte is the delta depth in ft to the last depth! E.g. you start your dive at a depth of 0 feet go down to 30ft in a minute, so the value is –30ft (because you go 30ft down) or $E2 in binary, if you then go up to 20ft, the next value will be +10ft (because you go 10ft up) or $0A in binary.

Some values have special meanings:

Byte Type Description
$7d Surfaced you have reached the surface while (or after) the dive
$7e ASC dive now is a decompression dive
$7f ERR decompression missed
$80 End end of the dive.
$81 Slow Slow warning while the dive. If the dive ends with $7d8180 (Surfaced, Slow, End) it means, you finished the dive with a blinking SLOW warning in the display.
$82 End of data set after the last dive (written after the dive as a marker, so technically not profile information)

Necessary conversions

meter = (int)(feet * 0.3048 * 10) / 10
psi = bar * 14.50377377
fahrenheit = celcius * 1.8 + 32

Altitude:

value meters feet
0 700m 2300ft
1 1500m 5000ft
2 2400m 8000ft

ATTN: the computers (checked on the solution alpha) don’t round after the 2. digit, when calculating feet => meter! They cut it after the 2. digit. This results to the modified formula.