Inductive Modem Module (IMM) Firmware Revisions

This page lists the firmware revisions for the IMM.

Note: To upgrade to newer firmware:

  1. Download the latest firmware — IMM v1p14.txt
  2. Download the firmware loader — FirmwareLoaderV2_7.exe
  3. Run the firmware loader.

Version 1.14

  1. Removed typo which caused GetHD response to return an invalid XML response in version 1.13.
  2. Removed extraneous line terminations following the <Executed/> tag.
  3. Empty 'msg=' attributes now suppressed in Error tags.
  4. Sample data formatting re-worked for consistent string formatting.
  5. Commands SampleGetData, SampleErase & SampleEraseMultiple now accept arguments in the following (case independent) formats: 0x0000000A, A, 0xA.
  6. Removed the possibility of a false failed response to an initial remote command after line capture (i.e., receive an '<Error type='FAILED' msg='No reply from remote device'/>' response to a successful !01 cmd).

Version 1.13

  1. PCBType re-initialized to 3 instead of 0 so IMM can communicate after a reset hard data event. Prevents bricking of 10345A and 10345B revision of PCB.
  2. GetHD now returns date and time to track multiple builds in one day.
  3. XML error messages label now all uppercase <ERROR type= . . .>.
  4. Typo fixed 'mssg=' changed to msg='.
  5. Removed extra r/n from <HardwareData . . .> tag.

Version 1.12

  1. Disabled variable gain to make IMM more responsive.

Version 1.11

  1. Fixed spurious characters in Host Service mode.

Version 1.10

  1. Fixed error in ConfigType=1 (sent wrong character back).

Version 1.09

  1. Fixed error in SampleGetData - caused some sample retrieval errors.
  2. Added additional data structure protection to IM receive code (should have no visible effect)

Version 1.08

  1. Removed testHF code - this test code was not supposed to be released
  2. Added <PowerOn/> and <PowerOff/> tags. <PowerOn/> is sent when IMM enters Host Service Mode, <PowerOff/> is sent when IMM exits Host Service Mode.
  3. Added SVS monitoring (IMM resets immediately if internal supply voltage falls below 2.5V).

Version 1.07

  1. Fixed sample storage error in SampleAddLine, AppendLine, and GData; Sample data was not added correctly.

Version 1.06

  1. Fixed TONE SENT in debuglevel > 3 sendwakeuptone (was not in an XML comment).
  2. Added MLS shortcut for MeasureLineSignal command.
  3. IMM incorrectly waited for reply to #g00 (was OK for #G00).
  4. Added 0.3 second maximum wait for first @ sign of standard reply -- this prevents full TModem2 delay on a quiet line when remote device is not responding.
  5. Updated firmware loader.
  6. Discovery timeout period changed from 5 seconds to 8 seconds.
  7. Commands less than 2 characters now generate errors.
  8. Empty command now generates executed (no error) and clears Host Service mode timer.

Version 1.05

  1. Added checksums and backup storage of  Configuration Data and Hardware data to prevent loss of device configuration if power removed during EEPROM write.
  2. Corrected error in SampleAdd and SampleAppend commands that caused early termination of data.
  3. Corrected timing error in Host Service mode when IM not transmitting,  Error resulted in longer fixed delays and longer timeout periods.
  4. Removed support for 38400 baud.
  5. Added *NOTIMEOUT: command for lab calibration procedures.
  6. Added IMMonitor command to log all IM traffic (including noise if no device is transmitting).
  7. Added ability to upgrade firmware through RS232 port.
  8. Added shortcuts for common commands:
  • FCL = ForceCaptureLine
  • TCC = TestCableCoupler
  • T20CC = Test20TurnCoupler
  • REL = ReleaseLine
  • SWT = SendWakeupTone

Version 1.04

  1. Added filter to transmit voltage measurement.
  2. Corrected invalid DPSK transmit state after TestCableCoupler command. Invalid state persisted in Host Service mode only until transmitter was disabled, a ! or # command was transmitted or line was released. Invalid state usually resulted in inappropriate error: FAILED "Low Transmit Voltage - low battery or bad coupler".

Version 1.03

  1. All changes of IMFLAG conditional on EnableAutoIMFlag setting.
  2. Added error for invalid argument on SetIMFlag=.
  3. Warning added to HostFileErase command.
  4. Host Service 2 min timeout changed to : <TIMEOUT msg='HostService 2 min timeout'/>.
  5. Event ERROR_IM_CMD_MODE removed.
  6. Event ERROR_IMM_BUSY added when IMM sends a <busy/> signal.
  7. CRLF from host acts as recognized command, returning <Executed/> and resetting host timeout instead of just giving a new prompt.
  8. <Executing/> tags removed from Config Type 1.
  9. Corrected parsing of !00StayOn command.
  10. Config Type 1 host serial decoding matched to SIM.
  11. Time commands removed (hhmmss, mmddyy, ddmmyy).
  12. Added !Gx:Mark commands=, sending and receiving.
  13. Removed ERROR_DPSK_UART_LOCK.
  14. Added executing tags to CaptureLine reply.
  15. TestCableCoupler commands and GetSD no longer cause tx power level to temporarily switch low.
  16. Interface mode 7 now has EnableHostServeOnPwrUp=0.
  17. PCBtype > 3 enables reset pin. Pin must be held low for 1 second on startup.

Version 1.02

  1. Modified timing of IM replies in Config Type 1 ‘bii’ binary commands. This should not cause any performance change.
  2. Removed inappropriate TIMEOUT error returned after Config Type 1 ‘bii’ binary commands with normal inter-character delay termination.
  3. TModem3 maximum value changed to 600 seconds.
  4. Added TModem4 setting for Config Type 1 use.
  5. Config Type 1 bii command inter-character delay timeout now activates after reception of two characters instead of one.
  6. Fixed inappropriate logging of Error37 in Config Type 1.
  7. Config Type 1 blocked commands now return NOT ALLOWED error.
  8. Config Type 1 resets timeout timer on CR or LF, instead of just LF.

Version 1.01

  1. Serial Type not preserved when switching from Config Type 1 to Type 2.
  2. Start of reply marker detection disabled for Config Type 1 ‘B’ commands for binary response. This legacy command was used with UIM, UIM does not send start of reply code with ‘B’ command.