Acousonde™ Firmware Release Notes

2.4.0 15 December 2016

Support new 2 GB flash/auxiliary storage; improved primary-storage fault tolerance.
- Could enter inconsistent state if stopped during sampling startup
- Bug made recovery from primary-storage hardware glitches unlikely
- Activity log could end prematurely in the event of primary storage errors
- Near-dead battery could flood log with fault messages at startup (rare)
- Support new 2GB auxiliary-storage flash chips
- Vastly improved recovery in the case of failing primary-storage cards
- Much more detailed log information on failing primary-storage cards
- Easier for users to map out dead primary-storage cards
Known issues
- Accelerometer readings, especially the vertical axis, affected by depth
- Sample-time decimation for high-frequency channel unavailable
- Processor behavior can induce small artifacts in 3B light-level channel

2.3.3 28 July 2016

Add USB support required by some instances of Windows 7.
- Windows 7 sometimes demands a certain USB response (that spec calls optional)

2.3.2 23 May 2016

Minor improvements to log file.
- Log file includes clearer comments about power status/analysis on startup

2.3.1 9 May 2016

Support start-on-reset functionality. Fix use of main oscillator for clocking (custom application).
Palm "Acousonde" commanding app changes
- App 2.3.1 supports start-on-reset feature
- Better Palm feedback when stopping a unit in sleep versus one that is sampling
- Recheck sanity of delayed-start wakeup time when user "Execute" command received
- No longer attempts to write auxiliary files for a channel marked non-functional (rare)
- In unusual cases, LED standby blinking would cease
- Fixed use of main oscillator for clocking (rare application; broken since 2.2.0)
- Selecting "start on reset" starts the sampling program after reset (but not at initial power-up)
- Last saved "start on reset" program loaded as default on power-up, even if not enabled
- Magnet held on reset switch through reboot engages deep shutdown
- Deep shutdown maintains clock at 1/4 typical sleep/standby power, unit otherwise off

2.2.6 22 January 2016

Fix minor logging error introduced in 2.2.5.
- Would log USB power as a lithium battery (introduced in 2.2.5)

2.2.5 12 December 2015

Stability improvements for rare situations.
- Top-of-minute "heartbeat" LED could cease unexpectedly (rare)
- Improve stability of low-power handling system for 3A units
- Improve stability in the face of uncommonly severe storage card failure
- Now logs battery type detected for lithium as well as alkaline types

2.2.4 13 May 2015

Support for new electronics and future improvements.
- Erasing storage on certain older units now up to 6x faster
- Minor cosmetic improvements to log file and HTML configuration report
- Support higher-capacity storage for future units
- Support new Rev 10 Acousonde electronics
- Improved support for removable media in custom applications

2.2.3 28 March 2014

User-interface improvements for uncommon events.
- Under rare circumstances HTML unit-config report would not appear
- If recording aux only, some units would report 40-dB acoustic gain to Palm

2.2.2 18 February 2014

HTML unit-configuration report prepared and placed in auxiliary partition when booting on USB.
- Under rare circumstances aux filesystem would not mount properly on USB
- More efficient logging behavior when aux data storage nearing capacity
- HTML-formatted unit-configuration report now available in aux partition
- Possible to offload acoustic data via infrared (very slowly)

2.2.1 22 October 2013

Palm "Acousonde" commanding app changes
- App 2.2.1 supports additional factory test/debug tools
- Top-of-minute LED flash didn't always resume after end of sampling
- Version 2.2.0 would not fully detect some Samsung data storage cards
- Minor improvement to power-fail behavior
- Clarified auxiliary filesystem capacity-used reporting to Palm
- Better fault tolerance in acoustic-data file system
- Improve balance of acoustic and auxiliary digital data/signaling paths

2.2.0 22 July 2013

High-time-resolution accelerometry. This capability required major "under-the-hood" changes to auxiliary data handling and storage.

Palm "Acousonde" commanding app changes
- App 2.2 supports new auxiliary sampling capability
- Significantly reduced the potential for aliasing in accelerometer channels
- Very unusual choice of acoustic sampling program could "brick" unit
- Better fault tolerance in auxiliary-data file system
- Reliability improvement in acoustic sampling driver
- Logged filename indices could lose correspondence with USB filename indices
Fix since 2.0.0c beta release
- Files of slow- and fast-sampled aux data now cover same time period
- Maximum accelerometer sample rate raised from 20 to 800 Hz
- Maximum compass sample rate raised from 20 to 40 Hz
- Can sample depth & temperature at 1 Hz even for nominal aux rates of 5 or 10 Hz
- 3B models now sample light level along with other aux channels
- Big changes to Flash-memory storage code to support faster aux data rates
- Big changes to logging functionality to coexist with fast aux data
- Migrated from gcc 4.4.4 to gcc 4.7.3 for better compiled-code performance
- Vector floating-point coprocessor enabled for future development
- Broader USB code for eventual USB device compatibility with Linux hosts

2.1.9 15 April 2013


Palm "Acousonde" commanding app changes
- App 2.1.3 minor clarifications to warning and information dialogs
- Sampling HF channel sometimes did not stop for some time after Palm stop request
- Spurious log errors triggered by retrieving Palm app via IR (introduced in 2.1.8)
- Bootup filesystem-rebuild process faster and uses less power
- More accurate battery-voltage measurement
- Support new flash-memory hardware for future units

2.1.8 20 December 2012

Significant reduction in power consumption.

- More robust handling of infrared activity during sampling
- More robust auxiliary sampling when processor near maximum load (rare)
- Better recovery from (very rare) SD-card read errors when offloading data
- Probable fix for (very rare) crash during infrared transmissions
- Better identification of lithium battery (only newer 3As with boost converters)
- Fast sample rates (116 kHz, 154 kHz, 232 kHz) use ~15% less power than 2.1.5
- Slow sample rates (e.g. 25 kHz) use ~7% less power than 2.1.5
- Filesystem rebuild 1.5x to 2x faster
- Bootloader 1.5x faster (bootloader requires separate update process)
- More helpful reporting to Palm of storage capacity remaining

2.1.6 12 October 2012

Improved power-fail dectection behavior.

- Reduced likelihood of spurious power-fail shutdown when operating near freezing
- Auxiliary sampling can't power-fail before primary (acoustic) sampling
- User end of sampling turns off strobe if it had started automatically (3B only)
- 3% to 5% reduction in power consumption at 116, 154, and 232 kHz sample rates
- Fewer "power fail (ignored)" log entries especially when operating near freezing

2.1.5 14 August 2012


- Under rare circumstances a 3B log might fill with a bogus error message
- Units without boost converters (old 3As, all 3Bs) didn't detect dead alkalines

2.1.4 2 August 2012

Power-handling bugfixes for the special case where aux channels only are being sampled (for example, after acoustic storage has filled or power has fallen too low to maintain acoustic sampling).

- More robust power-fail detect & shutdown when only aux channels being sampled
- New 3A units with boost converter (A027 and later) might not use it when needed

2.1.3 19 July 2012


- Some accelerometers gave erroneous data when acoustics sampled at high rates
- Enable user access to 464 kHz sample rate
- Fix premature sampling failure at low acoustic sample rates (introduced in 2.1.0)
- Fix unexpected USB disconnect during offload to Apple Mac computers
- Fix failure to prepare aux filesystem for offload under rare circumstances
- Increased stability during power-fail handling

2.1.2 12 June 2012

Bugfixes for issues introduced in 2.1.1.

- Alternating sample rate could result in occasional missing files
- Recovery from SD card hardware errors had been accidentally impaired
- 2.1.1 could not sample the HF channel except under alternating sampling!

2.1.1 1 June 2012

Support for alternating sampling rates, that is, X minutes of low-power channel alternating with Y minutes of high-frequency channel (only applies to units with the high-frequency option); and bugfixes.

Palm "Acousonde" commanding app changes
- App 2.1.1 allows user programming of alternating sample rates
- More efficient sampling aux channels at 20 Hz when sampling acoustics < 26 khz
- Remember low-battery status after stopping sampling for power reasons
- Duty-cycling or alternate-sampling acoustic hardware has less impact on auxiliary data
- Fix case where all storage cards could be marked full when empty cards available
- Better bootloader behavior when installing on raw (new) boards
- Alternating sample rates

2.1.0 1 March 2012

Power consumption reduced by as much as 50% depending on sampling configuration. Maximum sample rate for high-frequency units now 232 kHz (units built since August 2011 incorporating the latest 32GB MicroSD storage cards have demonstrated a sustained sample rate of 464 kHz).

Important: Firmware 2.1 changes the communication protocol between the Palm and the Acousonde. Earlier versions of the Acousonde Palm app WILL NOT WORK with Firmware 2.1, and likewise, the new 2.1 version of the Acousonde app WILL NOT WORK with Acousonde units running Firmware 2.0.x. This means that groups operating multiple Acousonde units should be sure to update the firmware on all of them, so they all speak the same infrared "language".

As always, when updating the Acousonde firmware, it is important to update each Acousonde's onboard copy of the Acousonde PalmOS app as documented in the firmware updating guide. This ensures that each unit can provide a compatible version of its commanding app upon request. In this case it is critical to do so, as a earlier "stale" version of the commanding app will be incompatible with an Acousonde running firmware 2.1, potentially resulting in mission failure.

Palm "Acousonde" commanding app changes, version 2.1.0 (4 March 2012)
- INCOMPATIBLE WITH ACOUSONDE FIRMWARE 2.0.x; must use new app with 2.1
- Supports new maximum 200 MB file size, default file size now 100 MB
- Asterisk marks "10 Hz" as TrackPlot-preferred auxiliary sampling program
- Fixed "Clips @" (request for clip levels) under "Check Sensors" pane
- Supports activation of 3B strobe during sampling (for video synchronization)
- Placeholder support for planned features
- Fixed crashes associated with offloading data from multiple storage cards
- Fixed crashes associated with switching storage cards in older units
- Possible fix of rare bootup hang on certain units
- Improved stability and speed of IrDA transactions
- Fixed bug preventing full use of sampling memory (improves error recovery capability)
- More precise logging of adjustable anti-alias frequency value
- Refuses to execute sampling if sampling configuration errors present
- Bootloader now uses only yellow LED
- Enabled 232 kHz and, for newer units, 464 kHz acoustic sample rate
- Retuned system clock speeds for significant power efficiency
- Dynamic core voltage adjustment further improves power efficiency
- Supports faster performance and lower power consumption for the latest storage cards
- Improved stability when offloading data via USB
- More thorough logging of causes & timing of sampling shutdown
- Increased available file sizes, now 20, 100, and 200 MB, with 100 MB the default
- Slightly less aggressive automatic setting of adjustable filter cutoff
- More precise explicit time synchronization when running at low power
- Longer recording life for newer 3A units running on alkaline batteries
- Clarified user alerts for potentially too-high sampling rates
- 3B strobe aligned with time-of-day to aid visual/video synchronization

2.0.19 23 September 2011

Support for offset duty cycling of acoustic sampling (see the Technical FAQ for a description of duty cycling, including the new offset/delay capability).

Palm "Acousonde" commanding app changes
- Version 2.0.6 allows programming offset duty cycles
- Fixed inability to talk via infrared with Palm Tungsten T3
- Offset duty cycling of acoustic sampling

2.0.18 20 September 2011

Support for multiple storage cards.

Palm "Acousonde" commanding app changes
- Version 2.0.5 supports storage-getting-full warning
- Attempt to fix very rare crash during IR transactions and strobe flashing
- Clarified log statements noting end-of-sampling
- Fixed unintended locking of time-of-day clock by any sampling operation
- Stores acoustic data to multiple storage cards
- USB device mode makes multiple storage cards available to host PC
- Erase operation erases all storage cards, not just the first card
- Added storage-getting-full warning when configuring sampling via Palm

2.0.16 14 August 2011

Alkaline battery support for new 3A units. No need to upgrade existing units.

2.0.15 3 February 2011

Bug fixes.

Palm "Acousonde" commanding app changes
- Version 2.0.4 includes additional factory-checkout dialogs
- Fixed occasional miss of sampling periods in duty-cycled recording
- Fixed rare concatenation of two or more sequential acoustic files
- Fixed occasional hang of certain units during boot
- Fixed memory test (factory checkout tool) failure in certain circumstances

2.0.14 13 January 2011

Compass calibration and testing.

Palm "Acousonde" commanding app changes
- Version 2.0.3 required to calibrate and test compass
- Support for both new and old compass/accel axis configurations
- Compass testing, per-channel
- Compass calibration with user interface

2.0.13 10 December 2010

Adds second-order thermal offset correction capability on pressure channel; also support for new Acousonde 3B features.
Palm "Acousonde" commanding app changes
- Version 2.0.2 required to test strobe (in Acousonde 3B units only)
- Slightly lower power consumption when sampling full auxiliary suite
- Faster booting when auxiliary filesystem contains many files
- Fixes to duty-cycled sampling when combined with delayed start
- Improved stability when setting and clearing delayed-start sampling
- Improved stability of LED flashing during various operations
- Improved stability when reformatting boot device
- Fixed rare crash when stopping sampling
- Properly handles disconnected channels, if any
- More thorough and repeatable battery testing
- Gracefully reject attempt to record from missing optional hydrophone
- Configuration file supports storage of high-pass cutoff values
- Supports second-order temperature offset correction for depth sensor
- Support for recovery strobe (Acousonde 3B units only)
- Support for ambient-light sensor (Acousonde 3B units only)
- Acousonde can store and upload a clock app for the Palm
- Added memory self-test capability

2.0.1 26 August 2010

- Fixed crash and possible dropped samples at certain sample rates
- Zeroing pressure now applies immediately instead of after next restart
- Fixed roundoff error with sampling rate returned during Palm interaction
- LED flash type when sampling starts now more representative

2.0.0 20 August 2010

First release with all functionality in place. Now supports sampling of auxiliary channels (temperature, pressure, kinematics) and duty-cycling of primary sampling.
Palm "Acousonde" commanding app changes
- Version 2.0 required (earlier lettered versions not fully compatible!)
- Auxiliary/logging/bootcode filesystem more robust in case of errors
- Fix for very rare sd-card write failure
- Fix for firmware corruption in certain units
- User warned if battery is low by a different standby LED flash
- Timing of top-of-minute LED flash more precise
- Other LED flashing behavior more consistent
- More sampling details written to log file

2.0.0z 22 July 2010 (Beta)

For acoustics-only recordings. Better responsiveness to infrared stop-sampling command.

In addition, 2.0.0z adds the capability to receive (via infrared) and store the "Acousonde" .prc PalmOS app on board the Acousonde itself. An Acousonde loaded with the PalmOS app can send it out to a Palm unit that lost, or never had, this app. To do so, the user runs the Palm's built-in "Memo Pad" app, creates a new text memo with a first line that reads "Send", and beams the memo to the Acousonde; the Acousonde responds by transmitting the Acousonde.prc app to the Palm. This capability saves the user from needing to install Palm synchronization software on their desktop computer, or needing to keep a synchronization cradle/connector for their Palm. The user must still ensure that the Palm's batteries are charged and that the Palm's time is set correctly.

Palm "Acousonde" commanding app changes
- Version 2.0e required to take advantage of warning dialogs
- Better responsiveness to infrared stop-sampling command
- Can store and send PalmOS "Acousonde.prc" app
- Adds warnings for sample rates unlikely to work
- Configuration file can be used to map out problematic memory card(s)
- Optical sync with real-time clock is more accurate

2.0.0x 6 July 2010 (Beta)

For acoustics-only recordings. Bug fixes.

- Really fixed rare power-up into inconsistent state this time
- Erase operation faster on all units

2.0.0w 10 June 2010 (Beta)

For acoustics-only recordings with better deployment-life stability.

2.0.0w dramatically changed the Acousonde's filesystem-maintenance paradigm. Instead of maintaining the internal filesystem during logging, 2.0.0w abandoned filesystem maintenance and simply wrote data "blind" to consecutive sectors on internal storage. Then, to present the user with a good filesystem, 2.0.0w examined storage at every power-up or reset and generated a corresponding FAT filesystem from scratch. This change increased reliability.

A side effect of this change was that "fast erase" (simple reformat) could no longer be supported for the internal SD cards. They could only be "full erased", that is, completely wiped. Otherwise the filesystem rebuild could get confused.

Note: customers who configured the Acousonde to write to an external USB flash drive were unaffected by the above changes. Blind writing was not enabled for external flash drives, and likewise for an external flash drive the "erase" function continued to mean a simple reformat.

Palm "Acousonde" commanding app changes
- Version 2.0d consolidates erase functions into one button
- But, 2.0.0w compatible with Palm "Acousonde" version 2.0c
- Sampling could "secretly" quit with certain sample-rate/file-size combos
- Large log files copy correctly (without gaps) to auxiliary partition
- Greatly reduced early sampling terminations due to false power-fail detect
- New bootcode 2.0.0w fixes rare power-up into inconsistent state
- "Filesystem-blind" data writes during logging improve reliability and battery life
- Internal filesystem rebuilt at every boot, guaranteed consistent
- Booting much faster
- File names incorporate channel identity character and user's two-letter Site Code
- File metadata now include total acoustic path gain and anti-alias filter cutoff
- Log correctly identifies Toshiba SD hardware (including Kingston-rebranded cards)
- 30-116 kHz sample rates supported (but not as well qualified as below 30 kHz)

2.0.0v 22 April 2010 (Beta)

For acoustics-only recordings with time precision and stability.

2.0.0v incorporated over three months of testing and development. The goal was not to support full functionality, and indeed 2.0.0v still lacked three critical capabilities: sampling at rates above 29 kHz, sampling of auxiliary channels (pressure etc.), and the use of all embedded SD cards for data capacity rather than only one. Rather, 2.0.0v focused on reliability, precision, accuracy, and user friendliness to maximize dependability in the field and the clarity of resulting data.

Palm "Acousonde" commanding app changes
- REQUIRES Palm "Acousonde" version 2.0c
- Palm software allows testing of more LED behaviors
- Palm status page now reports primary storage information
- Default "erase" is quick erase, alternate erase is full/secure erase
- Timestamps for later files no longer off by integral numbers of seconds
- User's optical time-sync marks no longer sometimes missed
- New data files recorded after reset no longer conflict with existing filenames
- Won't stop recording unintentionally due to infrared optical noise exposure
- "Monitor sync" feature better behaved and works reliably during sleep
- Fixed rare uninitialized-variable bug in FAT driver
- Delayed start begins recording at desired time, not shortly after
- Resending an accepted control program doesn't increase sampling rate
- Many error-recovery fixes/improvements for increased stability
- Dynamic file sizing ensures each starts no later than 1 sample after top-of-second
- Supports all sample rates up to 29 kHz (low rates still impractical due to power draw)
- Clearer user experience when using delayed-start sampling
- Shutdown of sampling on power-fail improves data safety
- Logs more details regarding built-in SD Cards
- Better logging of end-of-sampling
- Filesystem cleanup at end of sampling more thorough
- Many reliability improvements for USB Host mode
- Tighter SD card and cache behavior should improve battery longevity
- User choice of antialias bypass (or not) logged
- Bootloader 2.0.0v allows boot even in battery-low (but not dead) condition
- Updated compiler from GCC 4.1.0 to GCC 4.4.3

2.0.0u 7 January 2010 (Beta)

Supports USB connections to Windows.
- USB Device supports Windows
- USB Device doesn't hang after several minutes on Macs
- Fixed LED flashing quirks
- FAT filenames have correct timestamps
- Text files use CRLF endings for DOS compatibility
- Ir-commanding erase possible when mounted as USB device
- Main oscillator discipline operation remembers discipline temperature
- Standby top-of-second LED uses high-resolution clocking if available
- Log file now available on "aux" USB partition, no need to get it via infrared