Field Service Bulletin 14: SBE 39 and 39-IM Leap Year Error

Publication Date: 
Friday, August 1, 2014
AttachmentSize
FSB14Aug14.pdf414.69 KB

Equipment Affected

  • All SBE 39s shipped from approximately mid-year 2006 to March 10, 2008. These instruments have firmware versions 3.0 or 3.0a; the firmware version is shown in the first line of the status (DS) response (see example below):

S>DS
SBE 39 V 3.0    SERIAL NO. 3412    12 Mar 2008  14:23:06
. . .

  • All SBE 39-IMs shipped prior to March 10, 2008. These instruments have digital firmware versions 1.02, 1.03, or 1.04; the firmware version is shown in the first line of the status (#iiDS) response (see example below):

S>#01DS
SBE 39-IM V 1.04    SERIAL NO. 3659    12 Mar 2008  14:23:06
. . .

 

Description of Problem

A firmware bug causes the SBE 39 and 39-IM to incorrectly set / reset the real-time clock date if it is a leap year, and to incorrectly set the delayed start date (if used) if it is a leap year.

  • The incorrect real-time date is 1 or 2 days after the correct date, depending on the command used and/or when the command was sent (see examples below).
  • The incorrect delayed start date is 1 day after the correct delayed start date.
  • If the instrument was logging data during the period from February 29 to March 1, and the data was uploaded in ASCII format, the date in the data will jump from February 29 to March 2 (i.e., all data logged on March 1 and later will have a date stamp that is off by 1 day).

This bug has no impact on the temperature and optional pressure data, or on the accuracy of the elapsed time in the data record in memory.

Examples

SBE 39

  • If you sent MMDDYY=031008 and HHMMSS=120000, the SBE 39 incorrectly set the real-time clock date and time as March 12, 2008 (instead of March 10), 12:00:00 — off by 2 days.
  • If you set the real-time clock before February 29, 2008, on March 1 the SBE 39 incorrectly reset the real-time clock to March 2 — off by 1 day.
  • If you sent StartMMDDYY=031208, StartHHMMSS=120000, and StartLater, the SBE 39 incorrectly starts logging on March 13, 2008 (instead of March 12), 12:00:00 — off by 1 day.

SBE 39-IM

  • If you sent #iiMMDDYY=031008 and #iiHHMMSS=120000, the SBE 39-IM incorrectly set the real-time clock date and time as March 12, 2008 (instead of March 10), 12:00:00 — off by 2 days.
  • If you sent global commands MMDDYY=031008 and HHMMSS=120000, the SBE 39-IM incorrectly set the real-time clock date and time as March 12, 2008 (instead of March 10), 12:00:00 — off by 2 days.
  • If you sent #iiDateTime=03102008120000, the SBE 39-IM incorrectly set the real-time clock date and time as March 11, 2008 (instead of March 10), 12:00:00 — off by 1 day.
  • If you set the real-time clock before February 29, 2008, on March 1 the SBE 39 incorrectly reset the real-time clock to March 2 – off by 1 day.
  • If you sent #iiStartMMDDYY=031208, #iiStartHHMMSS=120000, and #iiStartLater, the SBE 39 incorrectly starts logging on March 13, 2008 (instead of March 12), 12:00:00 — off by 1 day.

 

Solution

Update the Firmware to Provide a Permanent Solution

Files were placed on our website to allow customers to update their instruments’ firmware. Download:

  • Firmware (www.seabird.com/download/Firmware/SBE39-39im_FirmwareUpdate/) —
    — For SBE 39 versions 3.0 and 3.0a —  sbe39V30b.hex (version 3.0b firmware)
    — For SBE 39-IM digital firmware version 1.04 — sbe39imV105.hex (version 1.05 digital firmware)
      (Note: SBE 39-IM can only be updated in the field if your existing firmware is digital version 1.04)
  • LoadFirmware.exe (www.seabird.com/download/Firmware/) — software to use to download new firmware into SBE 39 or 39-IM

Update and test the firmware in your instrument with one of the following simple procedures (time required to update the firmware is approximately 2.5 minutes, in addition to setup and testing time).

 

Update firmware for SBE 39 with firmware version 3.0 or 3.0a

  1. Connect the data I/O cable to the SBE 39 and to an RS-232 Com port on the computer.
  2. Record the current setup of the SBE 39 and verify / set the baud rate in Seaterm as follows:
  1. In the Configure menu, select the SBE 39. In the dialog box, select the Com port and current baud rate that the SBE 39 is programmed to use for communication. Click OK.
  2. Click Connect. You should get an S> prompt.
  3. Record the current SBE 39 setup for re-entry after the firmware update —
    ‑ Click Capture. Enter the desired file name and location to record the current setup.
    ‑ Click Status. Seaterm sends the status (DS) command and shows the response from the SBE 39.
  4. Verify the baud rate the SBE 39 is using for communication by looking at the baud in the status bar at the bottom of the Seaterm window. If the SBE 39 is communicating at a rate other than 38400 baud —
    ‑ Type Baud=38400 and press Enter to reset the baud.
    ‑ Click Configure again. In the dialog box, select 38400 as the baud rate and click OK.
    ‑ Click Connect again.
    ‑ The SBE 39 should now be communicating at 38400 baud; verify this by looking at the status bar again.
  5. Click Capture to end capturing of the session, and close Seaterm.
  1. Double click on LoadFirmware.exe. The following appears:
  1. Select the computer COM port for communication with the SBE 39.
  2. Select the instrument — SBE 39.
  3. Click Select HEX File and select the appropriate .hex file — sbe39V30b.hex.
  4. Click Program. The status field changes from Waiting to Program, and shows the download progress.
  5. When done, the status field shows successful firmware update. Click Exit.
  1. Test the SBE 39 in Seaterm to verify that the new firmware is installed properly:
  1. Click Connect. You should get an S> prompt.
  2. Set the date and time.
  3. Click Status. Seaterm sends the status (DS) command and shows the response from the instrument. Verify that the firmware version on the first line of the status response is 3.0b, and that the date and time are correct.
  1. Set up / reset the SBE 39 in Seaterm for your intended sampling scheme.

 

Update Firmware for SBE 39-IM with digital firmware version 1.04

  1. Remove the sensor end cap and electronics from the housing (see the 39-IM manual for details).
  2. Attach the RS-232 cable (supplied by Sea-Bird with the original shipment of the 39-IM) to the internal RS-232 connector in the SBE 39-IM and to an RS-232 Com port on the computer.
  3. Set the communication mode and record the current setup of the SBE 39-IM in Seaterm as follows:
  1. In the Configure menu, select the SBE 39IM. In the dialog box, select the Com port and set the Mode to RS-232 (Full Duplex). The baud rate is automatically set to 9600 baud when using RS-232 communications. Click OK.
  2. Click Connect. You should get an S> prompt.
  3. Record the current SBE 39-IM setup for re-entry after the firmware update —
    ‑ Click Capture. Enter the desired file name and location to record the current setup.
    ‑ Click Status. Seaterm sends the status (DS) command and shows the response from the SBE 39-IM.
  4. Click Capture to end capturing of the session, and close Seaterm.
  1. Double click on LoadFirmware.exe. The following appears:
  1. Select the computer COM port for communication with the SBE 39-IM.
  2. Select the instrument — SBE 39-IM.
  3. Click Select HEX File and select the appropriate .hex file — sbe39imV105.hex.
  4. Click Program. The status field changes from Waiting to Program, and shows the download progress.
  5. When done, the status field shows successful firmware update. Click Exit.
  1. Test the SBE 39-IM in Seaterm to verify that the new firmware is installed properly:
  1. Click Connect. You should get an S> prompt.
  2. Set the date and time.
  3. Click Status. Seaterm sends the status (DS) command and shows the response from the instrument. Verify that the firmware version on the first line of the status response is 1.05, and that the date and time are correct.
  1. Set up / reset the SBE 39-IM in Seaterm for your intended sampling scheme.

 

Update Firmware for SBE 39-IM with digital firmware version 1.02 or 1.03

These instruments cannot be updated in the field using the firmware loader described above. Return the instrument to Sea-Bird. Sea-Bird will update the instrument to the current firmware version, at no charge. Contact Sea-Bird (service@seabird.com) to schedule the return of your SBE 39-IM.

 

For an Instrument you are programming for deployment, reset the Date and Time to Provide a Temporary Solution

If you must program and deploy your instrument before updating the firmware to the current version, you can fool the instrument by using the information about how the firmware bug affects it. However, we recommend that you update the firmware to provide a permanent solution (as described above).

Examples of Temporary Solutions

SBE 39

  • If you want to set the real-time clock to March 10, 2008 12:00:00, send MMDDYY=030808 and HHMMSS=120000. The SBE 39 sets the real-time clock date and time as March 10, 2008 (instead of March 8), 12:00:00.
  • If you want to set the delayed start date and time to March 12, 2008 12:00:00, send StartMMDDYY=031108, StartHHMMSS=120000, and StartLater. The SBE 39 starts logging on March 12, 2008 (instead of March 11), 12:00:00.

SBE 39-IM

  • If you want to set the real-time clock to March 10, 2008 12:00:00, send #iiMMDDYY=030808 and #iiHHMMSS=120000. The SBE 39-IM sets the real-time clock date and time as March 10, 2008 (instead of March 8).
  • If you want to set the real-time clock to March 10, 2008 12:00:00 using global commands, send MMDDYY=030808 and HHMMSS=120000. The SBE 39-IM sets the real-time clock date and time as March 10, 2008 (instead of March 8).
  • If you want to set the real-time clock to March 10, 2008 12:00:00, send #iiDateTime=03092008120000. The SBE 39-IM sets the real-time clock date and time as March 10, 2008 (instead of March 9).
  • If you want to set the delayed start date and time to March 12, 2008 12:00:00, send #iiStartMMDDYY=031108, #iiStartHHMMSS=120000, and StartLater. The SBE 39-IM starts logging on March 12, 2008 (instead of March 11), 12:00:00.

Verify that the instrument is programmed correctly by sending the status (DS or #iiDS) command.

After deployment, upload the data in ASCII (not binary) to ensure correct dates in the data.

Note: This problem with the real-time clock date and delayed start date will reoccur each time there is a leap year (2012, 2016, etc.) unless you update the firmware.

 

For an Instrument that was already deployed and logging on February 29 through March 1, upload the data in Binary to eliminate the false 1-day gap in the data

If you upload the data in binary, the upload process bypasses the algorithm that incorrectly resets the date, so the dates in the data will be correct. To upload in binary:

  1. In Seaterm, select the instrument in the Configure menu.
  2. SBE 39-IM only: In the Configuration Options dialog box, on the COM Settings tab, select RS-232 (Full Duplex). Note that binary upload is only available when connected to the 39-IM through its internal RS-232 connector.
  3. In the Configuration Options dialog box, click the Upload Settings tab.
  4. On the Upload Settings tab, select Upload data in binary format and click OK.
  5. Click the Upload button on Seaterm’s toolbar, and proceed with the upload. See the SBE 39 or 39-IM manual for complete details.
Applies To