This page lists the firmware revisions for the IMM.
Note: To upgrade to newer firmware:
- Download the latest firmware — IMM v1p14.txt
- Download the firmware loader — FirmwareLoaderv2_7.exe
- Run the firmware loader.
- Removed typo which caused GetHD response to return an invalid XML response in version 1.13.
- Removed extraneous line terminations following the <Executed/> tag.
- Empty 'msg=' attributes now suppressed in Error tags.
- Sample data formatting re-worked for consistent string formatting.
- Commands SampleGetData, SampleErase & SampleEraseMultiple now accept arguments in the following (case independent) formats: 0x0000000A, A, 0xA.
- 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).
- 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.
- GetHD now returns date and time to track multiple builds in one day.
- XML error messages label now all uppercase <ERROR type= . . .>.
- Typo fixed 'mssg=' changed to msg='.
- Removed extra r/n from <HardwareData . . .> tag.
- Disabled variable gain to make IMM more responsive.
- Fixed spurious characters in Host Service mode.
- Fixed error in ConfigType=1 (sent wrong character back).
- Fixed error in SampleGetData - caused some sample retrieval errors.
- Added additional data structure protection to IM receive code (should have no visible effect)
- Removed testHF code - this test code was not supposed to be released
- Added <PowerOn/> and <PowerOff/> tags. <PowerOn/> is sent when IMM enters Host Service Mode, <PowerOff/> is sent when IMM exits Host Service Mode.
- Added SVS monitoring (IMM resets immediately if internal supply voltage falls below 2.5V).
- Fixed sample storage error in SampleAddLine, AppendLine, and GData; Sample data was not added correctly.
- Fixed TONE SENT in debuglevel > 3 sendwakeuptone (was not in an XML comment).
- Added MLS shortcut for MeasureLineSignal command.
- IMM incorrectly waited for reply to #g00 (was OK for #G00).
- 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.
- Updated firmware loader.
- Discovery timeout period changed from 5 seconds to 8 seconds.
- Commands less than 2 characters now generate errors.
- Empty command now generates executed (no error) and clears Host Service mode timer.
- Added checksums and backup storage of Configuration Data and Hardware data to prevent loss of device configuration if power removed during EEPROM write.
- Corrected error in SampleAdd and SampleAppend commands that caused early termination of data.
- Corrected timing error in Host Service mode when IM not transmitting, Error resulted in longer fixed delays and longer timeout periods.
- Removed support for 38400 baud.
- Added *NOTIMEOUT: command for lab calibration procedures.
- Added IMMonitor command to log all IM traffic (including noise if no device is transmitting).
- Added ability to upgrade firmware through RS232 port.
- Added shortcuts for common commands:
- FCL = ForceCaptureLine
- TCC = TestCableCoupler
- T20CC = Test20TurnCoupler
- REL = ReleaseLine
- SWT = SendWakeupTone
- Added filter to transmit voltage measurement.
- 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".
- All changes of IMFLAG conditional on EnableAutoIMFlag setting.
- Added error for invalid argument on SetIMFlag=.
- Warning added to HostFileErase command.
- Host Service 2 min timeout changed to : <TIMEOUT msg='HostService 2 min timeout'/>.
- Event ERROR_IM_CMD_MODE removed.
- Event ERROR_IMM_BUSY added when IMM sends a <busy/> signal.
- CRLF from host acts as recognized command, returning <Executed/> and resetting host timeout instead of just giving a new prompt.
- <Executing/> tags removed from Config Type 1.
- Corrected parsing of !00StayOn command.
- Config Type 1 host serial decoding matched to SIM.
- Time commands removed (hhmmss, mmddyy, ddmmyy).
- Added !Gx:Mark commands=, sending and receiving.
- Removed ERROR_DPSK_UART_LOCK.
- Added executing tags to CaptureLine reply.
- TestCableCoupler commands and GetSD no longer cause tx power level to temporarily switch low.
- Interface mode 7 now has EnableHostServeOnPwrUp=0.
- PCBtype > 3 enables reset pin. Pin must be held low for 1 second on startup.
- Modified timing of IM replies in Config Type 1 ‘bii’ binary commands. This should not cause any performance change.
- Removed inappropriate TIMEOUT error returned after Config Type 1 ‘bii’ binary commands with normal inter-character delay termination.
- TModem3 maximum value changed to 600 seconds.
- Added TModem4 setting for Config Type 1 use.
- Config Type 1 bii command inter-character delay timeout now activates after reception of two characters instead of one.
- Fixed inappropriate logging of Error37 in Config Type 1.
- Config Type 1 blocked commands now return NOT ALLOWED error.
- Config Type 1 resets timeout timer on CR or LF, instead of just LF.
- Serial Type not preserved when switching from Config Type 1 to Type 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.