Skip to main content

Releases

Versions without links indicate that there have been no changes in the Configuration API since the previous version.

2.13.18 - 2.13.15

2.13.18

  • [NBIOT] Fixing transmit timeout handling for SIM7020

2.13.17

  • [NWD] Adding possibility to enable acknowledged data delivery
  • [LUA] Adding customer specific Lua script to CICD
  • [LORAWAN] Adding api.loraGetDevEui() for reading devEUI
  • [SONTEX] Improve power consumption and compatibility with older units

2.13.16

  • [NWD] Fixing RSSI report for S mode scan (DC must not be used)
  • [NWD] Fixing scheduled gathering with defer in multimode
  • [NWD] Adding blacklist for Qundis devices
  • [LUA] Adding customer specific Lua script to CICD

2.13.15

  • [LUA] Adding customer specific Lua script to CICD

2.13.14 - 2.13.13

2.13.14

  • [WMBUS] Fixed issue with CRC calculation if S mode used after M mode
  • [LORAWAN] Fixed bug in LoRaMac-node if RETENTION_LIST register not consistent in SX1261
  • [NBIOT] Improve validation of IMSI, ICCID, IMEI and modem model
  • [TIMEZONE] Adding argument to api.getTimeDate(1) to return also TZ in minutes
  • [WMBUS] On variant, where WMBUS TX is allowed, added support for C1, S1, C2, S2, T2 frames transmission

2.13.13

  • [NWX] Optimized multimode script adding new variables defining gather algorithm
  • [MBUS] Fixing keep_source_in_sleep for MBUS NG enabled hardware

2.13.12

  • [MBUS] Optimize reference level measurement for new generation hardware
  • [FW] Add '_fastWake' option to api.exec() for fast transition to Lua onWake()
  • [LMD] Add support for dedicated board with bipolar antenna switch control

2.13.11

  • [NWD][TESTS] Add support for long term testing
  • [NBIOT][BL] Fix situation where server sends empty or invalid answer
  • [NBIOT][BL] Add safety timeout to try to boot before hard reset timeout
  • [FW][LUA] Add support for 'soft reset' api.exec("_reset",1)
  • [LUA] Fix corner case when loading invalid Lua
  • [NBIOT] Increase send timeout in case of SIM7020
  • [NWD] Add BUP mode support to N-W-D
  • [I4] Enable DIO for N-I4-X

2.13.10 - 2.13.9

2.13.10

  • [NWD][METRA] Fix device type incompatibility
  • [NBIOT] Fix behavior in networks without TAU timer
  • [MBUS] Improve MBus current measurement

2.13.9

  • [MBUS] Added scan support for non BCD device ID
  • [MBUS] Improved NG topology performance
  • [MBUS] Added support for interrupted api.mbusScan() with supercap recharging
  • [RS485][NR12X] Added support for variable output voltage and overcurrent protection
  • [NWD][METRA] Added support for EITN40, adjusted f_center
  • [NWD] Fixed issue with malformed wmbus frames causing malfunction
  • [FW] Adding api.exec("_hw_features") for back/forward compatibility handling

2.13.8 - 2.13.7

2.13.8

  • [MBUS] Adjusting automatic comparation value for new generation MBus
  • [MBUS] Improving VIF/DIF filter for VARLEN entries
  • [1NCE] Update multimode 1NCE script, sync with Miotiq multimode

2.13.7

  • [BUP] Adjusted period to every 15 minutes
  • [BUP] Allow more keys with index to be specified

2.13.6

  • [BUP][WMBUS] Adding support for Sensus Bubble Up (BUP - BUP433 and BUP868) reception and parsing/deciphering
  • [WMBUS] Fixed error in timeout calculation in non-dutycycled reception
  • [FW] Adding api.exec("_serialInterrupt", 1, 2) for fast GUI connection

2.13.5

  • [S0] Add support for dedicated board for N-I4-X
  • [SONTEX] Add possibility to switch between two demodulation techniques
  • [CICD] Fix .fw files generation in some cases

2.13.4

  • [NWD] Fix limitation for Sontex devices (30 max)
  • [SERIAL] Adding possibility to instruct device to go through config mode when waken by serial (api.exec("_serialInterrupt",1,1))

2.13.3 - 2.13.2

2.13.3

  • [SONTEX] Optimized Sontex using 2-step resampling
  • [FW] Fixed dynamic memory compatibility issue when running on L451CE MCU
  • [MBUS] Tested and calibrated new generation topology for MBus
  • [NWD] Unified beacons for different customer-specific scripts

2.13.2

  • [SONTEX] Adding frequency offset compensation for individual devices
  • [SONTEX] Adding selectable preamble length and retry count for ping and readout
  • [WMBUS][MBUS] Adding LMD script for MBUS - to - WMBUS use-case

2.13.1

  • [AES] Adding AES128-CTR support
  • [SONTEX] Fix receiving frequency of Radian
  • [WMBUS] Add prototype of MBus to wMBus bridge based on LMD
  • [NBIOT] Add basic signal tester script target (internal for now)
  • [LUA] Added new encrypted storage mode for Lua script

2.13.0

  • [NBIOT][CONF][MBUS][RS485] improvement of all UARTs reception - DMA based ring buffer instead of software based
  • [SYS] overclocking and underclocking using api.exec("_sysclk") (2000000 to 48000000)
  • [NBIOT] NB-IoT better PSM control using api.nbAT("PSM"), improved eDRX, PSM and RAI support
  • [NBIOT] NB-IoT reporting of status of active, inactive, TAU timers, PTW and eDRX using api.nbAT("NET_STATUS?")
  • [ADC] fixed ADC temperature and battery measurements for lower battery voltage (accurate down to 1.8V)
  • [NBIOT] Multiple failure-proof features and workarounds:
    • adding NET_STATUS? query to api.nbAT() for TAC, CellID, active time and TAU period readout
    • adding ON_TAU_EVENT for control and reading of TAU event in Lua status
    • adding SLEEP_MONITOR for control and state reading of NB-IoT module sleeping
    • adding RADIO_OFF_SLEEP for hard disconnection and sleeping of NB-IoT module
    • added better handling of WAKE pin of SIM7022
  • [BL][NBIOT] Adding CFUN=1 as fail safe in case application disables radio before reset
  • [LORAWAN] Adding api.loraSetup("TIME_SYNC") for time synchronization using MAC commands, compatible with LoRaWAN 1.0.3+
  • [NBIOT] Adding possibility to use api.nbReceiveBuffer() as general purpose scratchpad buffer
  • [NBIOT] In case api.nbSend() is provided number instead of string for data, scratchpad buffer is sent in given length

2.12.1 - 2.12.0

2.12.1

  • [SONTEX] Check against meterID when reading out, repeat if not matching exactly
  • [LUA] Fix big endian issue for api.bsprintf()
  • [NBIOT] Fixed signal report function after sscanf removal

2.12.0

  • [LUA] Adding api.bsprintf() for binary stream sprintf formatting with float support
  • [LUA] Added api.exec("_NBIOTInterrupt",1) and api.exec("_serialInterrupt",1)
  • [BL][UX] Improved button reaction in bootloader
  • [FW][UX] Added multiple press (5) reset function (50 < Tpress < 500 ms)
  • [SONTEX] Improve Sontex reception in multimaster environment

2.11.7 - 2.11.5

2.11.7

  • [NXX] [BL] Time granted for NB-IoT module to execute initialization is exponentially growing during retries.

2.11.6

  • [NWX] Fixed handling of 240 meters for scripts derived from original multimode
  • [NWX] Fixed incorrect printout inter-frame-timeout
  • [LUA] Adjusted customer specific scripts

2.11.5

  • [LUA] Add api.nbReceiveBuffer() for memory efficient receive buffer handling
  • [LUA][WMBUS] Add new add, show-index, show-length operations to api.wmbusFilter()
  • [NWX] Fix handling of 240 meters / 1 unit

2.11.4 - 2.11.2

2.11.4

  • [BL][NBIOT] Improve timing in large data download (>512B)
  • [NBIOT] Improve timing in large data download (>512B)
  • [LUA][MODBUS] Handle 0 address as broadcast correctly

2.11.3

  • [BL][NBIOT] Adding system info printout early after power on
  • [LUA] Adding new customer variants

2.11.2

  • [MBUS] Added new generation dedicated board support with upto 16UL
  • [MBUS][LUA] Extend api.mbusState() when turning on - returns approx UL value
  • [N/L-RA-D/EAC][LUA] Adding possibility to tune output voltage
  • [SONTEX] Fixed frequence offset reading from calibration OTP

2.11.1 - 2.11.0

2.11.1

  • [1NCE] Adding NMD and NWD targets for 1NCE
  • [CICD] Fix bug in binary generation corner-case

2.11.0

  • [LUA][LORAWAN] Add option to loraSetup() to set POWER
  • [NBIOT] Add support of fixed firmware of SIM7022
  • [SONTEX] Add Sontex readout suppor
  • [RS485] Optimize artefacts when switching from RX to TX
  • [LUA] Adding variant for 1NCE, Krohne, L-R24-EAC

2.10.5

  • [LUA] Add selectable CRLF handling in prints
  • [LUA] Adding NETMORE, Instar customer build targets
  • [LUA][LMX] Make default M-Bus LoRaWAN variant split payload

2.10.4 - 2.10.2

2.10.4

  • [LUA][NBIOT] Fixed receive port optional argument not passed to internal implementation

2.10.3

  • [LUA] Unify S0 NB-IoT script for D and EAC versions
  • [LUA] Reduce sending interval from 2h to 1h for S0 NB-IoT

2.10.2

  • [LUA] Adding api.modbusRTU()
  • [HW] Adding support for IS25LP128, improve QSPI handling

2.10.1 - 2.10.0

2.10.1

  • [FW] Adding L-I4-D variant for 101 form factor

2.10.0

  • [LUA] Printing in serial console is disablable
  • [LUA] _format_eeprom with selectable filler value
  • [NWD] Send-once script has self-scheduled gathering
  • [EEPROM] Optimize EEPROM delay between transaction
  • [CATM] Add LTE Cat-M1 variant M-W-EAC
  • [WMBUS] Add custom Sensus 434.475MHz wMBus mode

2.9.18

  • [BUGFIX] Fix ring buffer incorrect behavior enabling better RS485 buffering performance
  • [LUA][EEPROM] Extend api.setVar() and api.getVar() to enable buffer/string storage
  • [NWD][BOOTLOADER] Implemented QSPI assisted firmware update
  • [FW][WDOG] Adding customizable no-sleep and no-communication software watchdogs
  • [NBIOT] Adding no-downlink software watchdog, customizable via Lua

2.9.17 - 2.9.15

2.9.17

  • [MINOR][FW] Add printing to synchronous reset for better traceability

2.9.16

  • [LORAWAN] Fixed LoRaWAN may get stuck in unconfirmed mode, when NbTrans is set to higher than 1 by ADR

2.9.15

  • [TRACEABILITY] Added asynchronous reset logging
  • [LUA][NBIOT] Adding 7th optional argument to api.nbSend() -> rxPort
  • [LUA] Adding "_has_new_reset_log" to api.exec()
  • [LUA] STDOUT_RAW contains last asynchronous reset log
  • [KNOWN ISSUE]: LoRaWAN may get stuck in unconfirmed mode, when NbTrans is set to higher than 1 by ADR

2.9.14 - 2.9.13

2.9.14

  • [FLASH] Fix empty page erasing issue (internal optimization)
  • [KNOWN ISSUE]: LoRaWAN may get stuck in unconfirmed mode, when NbTrans is set to higher than 1 by ADR

2.9.13

  • [LUA] Add temperature measurement via api.exec("_cpu_temp")
  • [LUA] Add api.randInt() also in NB-IoT targets
  • [LUA] Add utility function to compute ACRCOM framing header api.exec("_acrComHeader")
  • [NWD] Use ACRCOM framing for meter data transfer
  • [CUSTOMER] Add Enmon and Telos build variants
  • [QUALITY] Add cppcheck to CICD pipeline and merge request reporting
  • [KNOWN ISSUE]: LoRaWAN may get stuck in unconfirmed mode, when NbTrans is set to higher than 1 by ADR

2.9.12

  • [LMD][LMEAC] Adding customer specific script for LMD and LMEAC
  • [KNOWN ISSUE]: LoRaWAN may get stuck in unconfirmed mode, when NbTrans is set to higher than 1 by ADR

2.9.10 - 2.7.7

2.9.10

  • [NMX] Adding support to explicit IMSI mode to NMX secondary addressing
  • [BOOTLOADER] Add force flashing on repeated retry
  • [KNOWN ISSUE]: LoRaWAN may get stuck in unconfirmed mode, when NbTrans is set to higher than 1 by ADR

2.9.9

  • [BOOTLOADER] Add .fw2 format encrypted serial bootloader for LoRaWAN variants
  • [BOOTLOADER] Add more recovery code to NB-IoT bootloader
  • [BOOTLOADER] Fix transition firmware compatibility issue from 2.9.8
  • [KNOWN ISSUE]: LoRaWAN may get stuck in unconfirmed mode, when NbTrans is set to higher than 1 by ADR

2.9.8

  • Add support for IEC 62056-21 with example Lua script
  • Add support for MBus protocol over RS485
  • [BOOTLOADER] Allow boot when start page is faulty
  • [LORAWAN] Optimize reception timeout handling
  • [LORAWAN] Class C - keep class after rejoin
  • [LORAWAN] Class C - force confirmed after row of unconfirmed (OTAA recovery)
  • [GENERAL] Add support for STM32L451CE target
  • [GENERAL] Use more efficiently remaining RAM for heap (increase in heap)
  • [GENERAL] Fix known issue - can use x:sub() since now
  • [BOOTLOADER][L-x-x] Use IWDG_SW (hardware independend watchdog) for LoRaWAN variants
  • [DEBUG] Add NB-IoT debugger target for UART-to-NBIoT tunneling
  • [OPTIMIZATION] In flash usage implementing our own assert()
  • [LUA] Lua now sharing print system with rest of firmware - can have timestamps (by default on)
  • [LUA] Improve UX in interactive mode
  • [LUA] Fix error in dumping "last known error" in case EEPROM is corrupted
  • [KNOWN ISSUE]: LoRaWAN may get stuck in unconfirmed mode, when NbTrans is set to higher than 1 by ADR

2.9.7

  • Fix LoRaWAN in class C mode - power issues
  • [KNOWN ISSUE]: In Lua, cannot use x:func() due to switching to RO-tables

2.9.6

  • Fix build errors on some platforms
  • [KNOWN ISSUE]: In Lua, cannot use x:func() due to switching to RO-tables

2.9.5

  • Add new variants to build - N_I4_EAC, L_RM_D, N_RM_D
  • [LUA] Fix bug in single-long-script scheme in Lua script update
  • [BOOTLOADER][NBIOT] Make bootloader able to start application from any page
  • [KNOWN ISSUE]: In Lua, cannot use x:func() due to switching to RO-tables

2.9.4

  • [NWD] Fix charging process before sending in case battery low
  • [PRODUCTION][NWD] Add flash integrity check in production test
  • [KNOWN ISSUE]: In Lua, cannot use x:func() due to switching to RO-tables

2.9.3

  • [BOOTLOADER] Bump bootloader version for NB-IoT from 5.6 to 6.0
  • [BOOTLOADER] Add command for flash health checking
  • [BOOTLOADER] Add chip info / EUI / IMSI / IMEI information to bootloader requests
  • [BOOTLOADER] Improve flashing error traceability
  • [KNOWN ISSUE]: In Lua, cannot use x:func() due to switching to RO-tables

2.9.2

  • [LUA] switch from using s:sub() to string.sub(s,..) for all scripts
  • [KNOWN ISSUE]: In Lua, cannot use x:func() due to switching to RO-tables

2.9.1

  • [LUA] switch from using s:sub() to string.sub(s,..)
  • [KNOWN ISSUE]: In Lua, cannot use x:func() due to switching to RO-tables

2.9.0

  • Fixed LoRaWAN joins with DR0/DR1 (improved timing)
  • Optimize EEPROM access write time
  • [LUA] Added api.table() function for efficient table and hash table implementation
  • [LUA] Added _G Lua object pre-allocation for better dynamic memory performance
  • [LUA] Start using RO-tables, optimize heap footprint
  • [NWD] Adding send-once script, compatible with Acrios wMBus backend
  • Fixed Lua 128 bytes alignment issue
  • [KNOWN ISSUE]: In Lua, cannot use x:func() due to switching to RO-tables

2.8.6

  • Explicitely disable LSCO reducing sleep current
  • Add deep power down sequence for QSPI flash
  • Fix CI/CD generating NB-IoT update impages with Lua with correct padding

2.8.5

  • [NWD] Fix issue with 0xF4 gather report command
  • [LUA] voltageSourceState() stripped from non-R12 models
  • Add new variants to build - N_R12_EAC, N_I5_D__FLOAT_GAUGE

2.8.4

  • Fix SIM7022 not receiving data - closing socket before sleep
  • Set CPSMS to minimum before sleep to minimize TAU power consumption
  • [NWD] Add inter-frame timeout, beacons, manual gather request
  • [LUA] Pack structures to reduce RAM footprint, use u16 for string lengths (hacky)

2.8.3

  • Add SLEEP command to api.nbAT() (for SIM7022 based hardware)
  • Fix sleep current in PSM for SIM7022 (application + bootloader firmware)

2.8.2

  • Fix NB-IoT bootloader behavior for IWDG_SW=0
  • Add remote AT-command sequencer to bootloader

2.8.1

  • Fixing critical issues with NB-IoT bootloader after network timing change
  • Adding single-message execute command in bootloader
  • Adding CRC16 and bootloader version in bootloader request
  • Adding command for per page CRC16 report in bootloader
  • Adding systick-based hard timeout feature to bootloader for recovery (3hrs)

2.8.0

  • Added AcrCOM, the new generation configuration protocol
  • Added automatic configuration cable connection detection (short press)
  • Improve Maddalena Arrow detection
  • Legacy config manager commands FSM rewrite

2.7.7

  • Added LoRaWAN Class B support
  • Updated LoRaMAC-node LoRaWAN stack to 4.6.0
  • Lua scripts can have upto 32kB in single script mode or two 16kB scripts
  • Adding sysinfo output to api.exec() for running system information
  • Add traceback, serial log and crash reporting, readable using api.exec()
  • Add support to get current serial log using api.exec()
  • NWD Lua script allowing remote error reporting
  • Add timestamping in debug prints
  • Make debug prints prettier

2.7.6 - 2.5.8

2.7.6

  • Fixed buffer re-use bug in NB-IoT in bootloader and application firmwares

2.7.5

  • Fix IWDG resetting in corner case in NB-IoT bootloader

2.7.4

  • Fixed build error for NMX
  • Fix rsend() behavior in corner case

2.7.3

  • Fix structures packing for WMBUS parsing
  • Elgas Lua scripts - unify IDs lists
  • Cleanup of WMBus code - reduce "magic" constants usage
  • Cleanup of LuaVM code for luac compilation
  • [MBUS] Fix DIF to length calculation
  • Enable hardware independent watchdog in bootloader (!)
  • Expose IMEI? IMSI? and ICCID? commands in api.nbAT()
  • Add ICCID printout in bootloader
  • Enable verbose printing during Lua update

2.7.2

  • Fixed bug in default NB-IoT configuration storage
  • Fixed api.getVar() with default value

2.7.1

  • [NWD] Test firmware RAM overflow fix
  • Adding config commands for reading out device model

2.7.0

  • [NBIOT] Add support for SIM7022 with SIM7022/SIM7020 autodetection
  • [NBIOT] Use CSORXGET/CIPRXGET for synchronous reception
  • [IWDG] Clear watchdog when using RTC tick
  • [LUA] Adding stdin function for interactive Lua scripts
  • [NWX] Fix underflow in sleep time compensation
  • [NMX] Improve found MBus unit reporting using acked transfer

2.6.1

  • Fixed critical bug in api.mbusTransaction() since 2.5.8

2.6.0

  • Adding blacklisting in NWD
  • Compensate for run-time in wake-up period for NWD
  • Lua storage header handling clean-up
  • Added support for Lua XZ storage
  • Fixed N-x-x tests, fixed MBus rx queue flushing

2.5.9

  • Fixed NWD DEDICATED version test RAM overflow issue

2.5.8

  • Add NMX secondary addressing
  • Add PLMNID and APN auto detection
  • NWX minfied version removed, using normal version
  • Fixed bug in Lua linker placement

2.5.7 - 2.5.1

2.5.7

  • Add buffered S0 Lua script use-case
  • Fixed test target linkers

2.5.6

  • Make flash erasing during scanning error-tolerant towards STM flash driver
  • Fix Lua sections definition increasing size for single script from 12 to 16kB
  • [NWD] Make scanning more intelligent using dict of already seen meters

2.5.5

  • Using manual-then-automatic PLMN selection for NB-IoT
  • Modified Lua update command names for distiction with FW update commands
  • [NWD] Added command 0xF6 to send only wMBus ids checksum, allow for more IDs/unit
  • [TESTS] Clearing EEPROM in production

2.5.4

  • Added production tests for N-M-EAC

2.5.3

  • Disable programming interface in sleep reducing quiescent current for new hardware revisions containing TVS (15uA -> 4uA)

2.5.2

  • Add timeout before reset in case no Lua script available
  • Fix NWD Lua script, version bumped to 3.2
  • Add better button support in NB-IoT bootloader
  • Add waiting before reset in case no firmware is available, button interruptible

2.5.1

  • Fixed user button reinitialization triggering fake pushes
  • Extend api.float() function to accept and return more formats

2.5.0 - 2.4.8

2.5.0

  • Enable Independent WatchDoG (IWDG) in all targets
  • Interactive mode not requiring IWDG kicking, autokicking if debug.debug() active

2.4.11

  • Add N_R_EAC build option
  • Add N_R_EAC, N_R_D and N_R12_D tests

2.4.10

  • Fix bad pinmux in sleep in non-QSPI capable targets

2.4.9

  • LoRaWAN default port added avoiding unpleasant print message
  • Added print in bootloader for HW version identification
  • Fix high power consumption of NWD with QSPI
  • Add float gauge use-case for Styx hardware

2.4.8

  • Fixed RTC initialization in NB-IoT variants
  • Fixed S0 counting in sleep and optimized for consumption
  • Added QSPI tests

2.4.7

  • Added support for wmbus M-mode (Metra)
  • Fixed critical S0 issue not counting in sleep (adding RTC as systick src)
  • Added doxygen comments

legacy