mDot Firmware Changelog

This is the changelog for the AT Command Firmware that ships on new mDots and is available on the Downloads page.

2.0.16-1 (05/08/2017)

Changes

  • Bugfixes
    • Fix: 32-bit uplink counter encrypts and applies MIC past 0x0000FFFF correctly

2.0.16 (10/20/2016)

Changes

  • Bugfixes
    • filesystem operations will error if system voltage is too low (<2.7V) in order to prevent potential filesystem corruption

Known Issues

  • Uplink counter past 0xFFFF will not rollover properly into 32-bit range causing MIC failure at the network server

2.0.15

Changes

  • Features
    • ATI output mbed version used to build library
    • Better stop mode current ~55 uA
    • Test mode times out after 160 packets
    • Calibrate tx power based on measure power at each setting
    • AT+SENDC mode changed to block until reset, test command
    • Exponential Join Backoff from 15s to 1 hour between join attempts sets (US: 16 attempts, EU: 8 attempts) EU duty cycle is still enforced.
    • Join Duty cycle limitation 1% first hour, 0.1% next ten hours, 0.01% there after
    • AUTO_OTA skip FSB search if set to 0 (64 channel mode), FSB search is moved to MTS-Lora
    • Use calibarated Tx Power for determining radio output power
    • Update AT+WD and AT+WI usage limits
    • Test Mode Join trigger will reset the device
    • Test Mode will exit if downlink is not received in 128 packets
    • Updated AT+FSB help to mention AU915
    • Updated AT+JR help to mention AU915
    • Class C auto ack in serial data mode
    • AT+PWR allow upto 30 dBm
    • AT+MAC can be used to read or clear the MAC command uplink buffer
    • Aggregate Duty Cycle limitation configurable by MAC command
    • AU915 Support according to LoRaWAN 1.0.1
    • Class C support AT+DC=C (use AT+SD or debug log to see packets received from server)
    • AT+MAC command to inject mac commands into mac layer (see attached doc for command instructions, debug output will show effect of commands)
    • AT+TXCH output has been changed
    • AT+CHM – allows changing the channel mask of enabled channels AT+CHM=0,00FF (enable 0-15) AT+CHM=1,FF00 (enable 48-55)
  • Bugfixes
    • use sleep instead of deepsleep until hardware changes to support lowest power
    • ADR datarate decrease 1 packet later after 97 packets without downlink
    • Sleep – wake-up on rising edge, add empty rise and fall handlers
    • FSK mode fixes for xDot, can send up to 242 bytes
    • fix garbage characters on sleep
    • Allow dev address 00000000
    • Fix P2P power limiting based on configured frequency and regional regulations
    • ADR reduce datarate after each ADR_ACK_DELAY (32)
    • Remove requirement to be joined to network in order to configure for AUTO_OTA
    • AUTO_OTA join will not start when AT+NJM=2 is issued. Device will wait for reboot.
    • Return greatest of JoinBackoff or DutyCycle time off air
    • Restore channel group to 64 channel mode after join if FSB is 0.
    • Default the join delay settings based on public or private mode setting
    • Fix output in HEX for payloads received larger than 128 bytes
    • Reset LinkCheckAnsReceived and PongReceived flags on TxDone, caused link check/pong false positives [IN:1928]
    • ACK and REP settings take effect without save/restart
    • Peer to peer rx window open at start
    • Duty cycle will run for all datarates
    • Added check for max payload
    • +PING and +NLC fixed

Known Issues

  • Uplink counter past 0xFFFF will not rollover properly into 32-bit range causing MIC failure at the network server

1.0.8-1  (10/7/2016)

Changes

  • Bugfixes
    • Improved sleep functionality
      • Previous sleep (AT+SLEEP=1) power draw was measured at 450uA. With new firmware enhancements, we are measuring about 40uA in sleep mode.

      • Previous deep sleep (AT+SLEEP=0) power draw was found to be inconsistent. It is now consistent at about 40uA.

Known Issues  

1.0.8  (3/31/2016)

Changes

  • Features
    • LoRaWAN 1.0 Certified
    • ADR supported
    • AT+NJM – Added join mode 3:PEER-TO-PEER
    • AT+TXP is radio output power, AT+ANT is antenna gain for computing total output power for regulations
    • AT+TXDR can accept values (0-15, DR0-DR15, or SF_7-SF_12) depending on AT+FREQ setting (0-6) -> (DR0-DR6), (7-12) -> (SF_7-SF12)
    • AT+SLEEP – Enter sleep mode (0:deepsleep,1:sleep)
    • AT+WP – Wake pin used for sleep mode (1-8) (1:DIN,DIO2-7,DI8) (default: DI8)
    • AT+JD – join rx window delay 1st window opened at setting 2nd is 1 s after
    • AT+RXD – rx window delay 1st window opened at setting 2nd is 1 s after
    • AT+PS – preserve session over power off and reset in AUTO_OTA mode
    • AT+AP – configure app port for uplink data
    • AT+ANT – configure gain of installed antenna -127 dBi – 128 dBi, (default: 3 dBi)
    • AT&K0/3 – Hardware Flow Control (AT&K0: disable, AT&K3: enable)
    • AT+REP – Set number of times to repeat unconfirmed frames (0-15)
    • AT+ULC – Get or set the uplink counter number (sequence number)
    • AT+DLC – Get or set the downlink counter number (sequence number)
    • AT+RS – Restore session info from flash
    • AT+SS – Save session info to flash
    • AT+TXCH can change channels only for EU868, error for US915
    • AT&V – Update output to include new configuration options
    • help – Move test commands to bottom of help output and add headers for test and debug commands in help output
    • AT+TXP – range changed to 0-20 dBm, antenna gain is applied when setting radio with this power to achieve desired output dBm
    • AT+SDR – get the datarate currently used by the mac layer
    • Removed AT+SENDH – AT+TXDR can accept US(DR0-DR4) and EU(DR0-DR7) to include high-speed datarates US(DR4:SF8BW500) and EU(DR6:SF7BW250,DR7:FSK)
  • Bugfixes
    • AT+SMODE=1 stays awake until all buffered data is sent
    • Remove 1200 as debug baud rate option
    • AT+SNR – reports SNR values correctly
    • RTC was being reset during sleep cycles, RTC is no longer being reset on wake
    • Serial data mode can be entered from command term and escaped with +++
    • Auto OTA mode for EU868 will wait for free channel before trying next join with escape possible
    • Add upto 10 random seconds between join attempts

Known Issues

  • Rx1 is using DR0 as the minimum receive datarate. It should be DR8.
    • This is causing DR0 to miss Rx1 when Rx1Offset is 1, 2 or 3
    • This is causing DR1 to miss Rx1 when Rx1Offset is 2 or 3
    • This is causing DR2 to miss Rx1 when Rx1Offset is 3

 

0.1.4  (9/17/2015)

Changes

  • Features
    • Wake Delay is now maximum time in ms to wait for data on serial port
  • Bugfixes
    • Session is reset on power-on/reset
    • Join stats are now counted on successful join
    • US915 – rx1 datarate for high bandwidth channel
    • AUTO OTA link check off by one
    • AUTO OTA link count is saved over sleep
    • AUTO OTA US915 frequency sub-band is saved over sleep
    • Response for US915 – DR4 fixed
    • check the duty-cycles and enable and expired duty cycles before looking for free channel.
    • [1415] +TXN may return very large number
    • added channels to the session to be restored after sleep in AUTO OTA mode.
    • Start uplink counter at 0
    • Sequence number no longer increases by 2 when acks are off
    • [1417] Duty cycle elapsed time was doubled across sleep

Known Issues

 

0.1.2  (8/17/2015)

Changes

  • Features
    • AT+SLEEP – moved from debug command, 0:deep-sleep,1:sleep
    • AT+WI – was AT+SDWI, wake interval
    • AT+WTO – was AT+SDTO, wake timeout
    • AT+WD – was AT+SDWD, wake delay
    • AT+WP – wake pin, digital inputs 2-8
    • AT+WM – wake mode 0:interrupt, 1:interval
    • txDatarate is saved over sleep
    • Wake on INTERVAL is now default wake-mode
    • Sleep mode has been disabled, only deep-sleep is available
    • AT+WP is removed as it is only used with sleep mode
    • EU868 power limited to 14 dBm, unless in 10% duty band
  • Bugfixes
    • Sleep is now available in release firmware
    • Duty cycle checks for spurious wake-ups
    • Payload length is checked against current data-rate limit

Known Issues

  • Set AT+LOG=0 may help if lock-ups are seen during sleep
  • Session is not reset on power-on/reset in AUTO OTA mode
  • AT+SENDH – Use TXDR=8 to receive response packets
  • LCT check is off my one when using ACK’s requiring an extra packet to detect network loss

 

0.0.15

Changes

  • Features
  • Design Changes
    • EUI byte order in join request is now LSB
    • EUI byte order is configurable with AT+JSO
    • AT+ACK – now number of attempts, so setting of 1 with try once, 2 – twice, and so on. 0 is still off
    • AT+IPR and AT+DIPR – baud rate changes don’t take effect until reset
    • Private mode Rx datarates follow public model,
    • rx1DatarateOffset and rx2Datarate received on join accept
    • Send and sendi will accept messages containing commas
    • Ack retries are now send attempts requiring an ack
  • Bugfixes
    • Reset network session on factory default

Known Issues

  • Start Mode – AT+SMODE=1 and AT+NJM=2
    • To exit reset mDot and press ‘+++’, there will be a 1 second window before mDot attempts joining network

 

0.0.14  (5/29/2015)

Changes

  • Features
    • AT+PN – can be applied without resetting mDot
    • Serial data mode with auto join, added escape opportunity on start-up
    • Serial data mode with auto join, added sub-band search if network lost
    • Added default usage and updated usage info for read-only commands
  • Debug Commands
  • Design Changes
    • AT+PING – command moved to network message layer
      • Changed to not be confused with application data
      • Breaks compatibility with network server before 0.0.3
  • Bugfixes

Known Issues