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