Changelog
All notable changes to this project will be documented in this file.
[2.9] - 2025-03-05
Added
- TRDP (PREVIEW) : NEW module (PREVIEW)
- Geofencing : Adds option to specify a valid time period for a geofence
- CAN-Bus : added restart-ms setup paramter
- System Infos : allow wwan interface name usb (Quectel NCM devices)
- optiCLOUD : add option to trace every shared attribute change (for debugging)
- Generic MQTT : add option to suppress null values
- Generic MQTT : add support for timestamp token to generate ISO 8601 timestamp
- CAN-Bus : added check if GPIOs are enabled in CMake settings
- CAN-Bus : added option to record rtr and error frames
Changed
- Core : update valijson to version 1.0.4
- Dosto2 : renaming shared attribute name
- Dosto2 : added two new shared attributes for duration in manual state
- Dosto2 : changes in shift logic 1. and 2. scenario
- Math (PREVIEW) : update libmathexpressions to latest version
- optiCLOUD : Report all relevant connection state
- optiCLOUD : shared attribute tracing: mark InitialValue entries
- Generic MQTT : ignore retained message
- CAN-Bus : renamed config parameters and removed unneeded code
- CAN-Bus : Documentation updated
Fixed
- Core : remove unneeded thread move on stopping thread
- Core : SmartModuleThreaded: Fix dead lock
- Core : remove unneeded thread move on stopping thread
- Core : fixed apparent memory leak
- Core : moving modules to destructing thread before destruction
- Geofencing : Fix when checking gps-channels during init process
- Geofencing : Removed unused min satcount channel
- Geofencing : Removed unused satcount channel
- Math (PREVIEW) : latest fix for #timeless operation in math
- System Infos : do not overwrite the old / existing ICCID with n.a. if no iccid is transmitted
- optiCLOUD : FIX: gps location not translated in snapshot data
- optiCLOUD : remove warning when shared attribute message does not contain every channel
- optiCLOUD : fixed threading related memory leak
- Generic MQTT : fixed threading related memory leak
- SSH Client (PREVIEW) : FIX: copy file with invalid destination path to server (now checking isNull(), isValid() and [0] == '\0') MOD: extended warning messages with more information about paths and files
[2.8.1] - 2024-09-12
Added
- microstrain (PREVIEW) : NEW module (PREVIEW)
- performancereport (PREVIEW) : NEW module (PREVIEW)
- fmproducer : improved configuration robustness by allowing for case-insensitive enum value selection where applicable
Fixed
- fmproducer : extracting MVB BIPOLAR typed data
- Remote (PREVIEW) : wildcard handling in channel name specification
- Remote (PREVIEW) : streaming restart on subsequent ReadSamplesBegin requests
- Remote (PREVIEW) : module cleanup
- System Infos : improved MD documentation
- Uptime : uptime estimation now using the monotonic clock fixing date and time adjustment related issues
[2.8] - 2024-08-05
Added
- batMON : NEW alarms for low and critical power states and for terminal 15
- CSV Writer (PREVIEW) : NEW module (PREVIEW)
- Math (PREVIEW) : added MD documentation (PREVIEW)
- ModBus : NEW transport parameter deviceTimeoutInMilliseconds
- OPC/UA Client (PREVIEW) : support for node IDs instead of browsepath
- OPC/UA Client (PREVIEW) : parameter for signal node ID
- OPC/UA Client (PREVIEW) : alias parameter to set channel name
- optiCLOUD : NEW channel config option useTrueTimestamps
- OSF Writer : NEW config parameter ignore for ignoring channels to be recorded
- OSF Writer : NEW CAN-Bus frame support
- Remote (PREVIEW) : NEW plugin for inter-process-communication (PREVIEW)
- SMS Alarms (PREVIEW) : NEW module (PREVIEW)
- SSH Client (PREVIEW) : NEW module (PREVIEW)
- ZEDAS (PREVIEW) : NEW module (PREVIEW)
Changed
- Math (PREVIEW) : using new logging mechanism
- OPC/UA Client (PREVIEW) : using new log message type
Fixed
- Geofencing : added MD documentation
- GPS : filtering out locations containing zero coordinates
- Math (PREVIEW) : fixed channel consumption issues wrt delayed samples
- ModBus : allowing for slave IDs up to 255
- ModBus : improved logging behavior
- ModBus : fixed response timeout issues
- ModBus : reading register blocks now grouped by slaves
- OPC/UA Client (PREVIEW) : added German MD documentation
- System Infos : improved logging behavior
- SCPI : NEW config parameter within omScpi.ini for restricting remote access
Removed
- notifier : REMOVED PLUGIN
- MVB : REMOVED D017M (TCN) support completely
[2.7.1] - 2024-04-29
Added
- Generic MQTT : NEW string data subscription
- Generic MQTT : NEW topic config option processOnChangeOnly
- Generic MQTT : NEW publish channel config option publishLastValue
- Generic MQTT : NEW payloadHint json-iterator
- Generic MQTT : NEW facilities for advanced timestamp extraction from subscribed data
Fixed
- HTTP : corrupt data transmissions
- SMS : error handling and process value formatting
- SMS : event queueing issues
[2.7] - 2024-04-04
Added
- Ecowitt : NEW support for selecting between Ecowitt WS2910 display with WN67 sensor and Ecowitt GW200A gateway with WH65 sensor in simulation
- Geofencing : timeout check for GPS data
- Generic MQTT : NEW support for authentication via Azure SAS Token
- OPC/UA Client (PREVIEW) : NEW module (PREVIEW)
- System Infos : NEW diskstatistics estimation
Changed
- REMOVED Debian 11 (bullseye) support
- batMON : running on current flash configuration parameters when JSON configuration is invalid
- Ecowitt : NEW user configurable measurement data channels
- Geofencing : cleaned up logging
Fixed
- Diagnostics (PREVIEW) : fixed missing alarms
- Diagnostics (PREVIEW) : improved documentation
- GPS : improved documentation
- Math (PREVIEW) : fixed input timeout handling
- Math (PREVIEW) : fixed persistent storage handling
- ModBus : allowing for slave address 247
- Generic MQTT : NEW MQTT client fixing various issues
- OPC/UA Client (PREVIEW) : fixed missing data after reconnect
- OPC/UA Client (PREVIEW) : removed connecting attempts from module initialization phase
- OPC/UA Client (PREVIEW) : checking for configuration type mismatch
- OPC/UA Client (PREVIEW) : module destruction and memory issues
- optiCLOUD : NEW MQTT client fixing various issues
- SCPI : identification query response
[2.6] - 2023-12-19
Added
- CAN-Bus : changed configuration parameter interface additionally allowing for arbitrary selection
- Diagnostics (PREVIEW) : NEW module (PREVIEW)
- GPS : NEW config parameter speedLimit
- GPS : NEW config parameter forwardToPort allowing for GPSD port forwarding
- GPS : NEW config parameter rebootIntervalMs for reboot on broken GPSD connection
- Math (PREVIEW) : NEW module (PREVIEW)
- Generic MQTT : NEW module (PREVIEW)
- OPC/UA Client (PREVIEW) : Floating-point support
- OPC/UA Client (PREVIEW) : config parameter acceptAllCertificates
- optiCLOUD : NEW alarm message transmission mechanism (PREVIEW) when config parameter alarmsEnabled is set to true
- optiCLOUD : implemented status channels
- optiCLOUD : transmitting device serial number
- ruuvi : NEW module (PREVIEW)
- System Infos : NEW channels for monthly and total monthly WWAN traffic amount
Changed
- Accelerometer : updated sensor setup to configure high resolution mode
- Accelerometer : updated default scale value to 2g
- HTTP : updated to latest cURL library
- optiCLOUD : adjusted log file categories
- optiCLOUD : augmented log messages by module instance index
- optiCLOUD : increased minimum polling cycle interval to one second
- System Infos : optiMEAS device detection
- SCPI : integrated SCPI module into smartCORE application
- SCPI : made start, stop and restart actions synchronous
Fixed
- Accelerometer : calculation for axes
- Accelerometer : removed debug logging
- batMON : writing historical data to temporary file
- batMON : processing recently recorded historical data only
- DBC : fixed automatic signal data type selection
- GPS : blocking in GPSD reconnect mechanism
- GPS : no direct reboot on broken GPSD connection
- ModBus : skipping RS485 configuration on generic serial port
- ModBus : fixed crash on RS485 configuration
- ModBus : fixed LSB address calculation
- ModBus : fixed crash upon invalid channel configuration
- ModBus : allowing for bitOffsets greater or equal 8
- ModBus : fixed return schema for probeChanel call interface
- ModBus : allowing for multi channel configurations based upon a single register
- OPC/UA Client (PREVIEW) : node and timestamp handling
- OPC/UA Client (PREVIEW) : crash on module destruction
- optiCLOUD : fixed naming issues within GPS location channel splitting
- optiCLOUD : fixed issues with invalid NaN and Inf representations within JSON payloads
- optiCLOUD : fixed invalid timestamp formatting leading up to connection losses
- optiCLOUD : fixed value to string conversion
- optiCLOUD : removed totally enqueued message size limit
- playback : allowing for empty string production
- smartIO MVB : fixed MVB port filtering wrt message data, single events and group events
- smartIO MVB : ignoring slave timeouts for single, group and general events
- smartIO MVB : interface to MVB messages module
- SCPI : missing error reporting on failed restart
[2.5] - 2023-06-29
Added
- Accelerometer : NEW module
- CAN-Bus : support for up to four CAN-Bus interfaces
- Event Counter : NEW module
- GPS : NEW config parameter posFixModeStabilizationTimeMs
- HTTP : NEW module
- OPC/UA Client (PREVIEW) : NEW module (PREVIEW)
- OPC/UA Server (PREVIEW) : NEW module (PREVIEW)
- optiCLOUD : NEW MQTT client timing and message amount config parameters
- optiCLOUD : NEW typical config examples
- optiCLOUD : NEW configuration option trustStore
- OSF Writer : NEW support for equidistant channels
- playback : NEW simulation module
- rawplayback : NEW simulation module
- smartIO HP : NEW module
- SMS : NEW module
Changed
- NEW combined data reduction filter
- ModBus : ModBus RTU reconnect on read error
- optiCLOUD : requesting initial shared attribute values by default
- optiCLOUD : creating shared attribute channels in a persistent way allowing for multi-cloud support
- optiCLOUD : renamed configuration parameter pollingIntervalMs (ensuring compatibility)
- optiCLOUD : adjusted default broker address
- optiCLOUD : allowing for simple plain channel name specification
Fixed
- improved documentation
- batMON : flash parameter reproduction
- batMON : inoperative state upon failed firmware version query
- fmproducer : measurement restart crashes
- GPS : module shutdown issues
- ModBus : improved stability
- MVB : measurement restart crashes
- optiCLOUD : MQTT client construction
- optiCLOUD : shared attribute request mechanism
- optiCLOUD : error message on failed RPC topic subscription
- System Infos : reading combined CPU usage for all CPUs
- System Infos : CAN port naming issues
[2.4.1] - 2023-04-13
Added
- GPS : simple plausibility check of GPS speed over ground
- Odometer : NEW offset parameter
Changed
- GPS : GPSD reconnect tries and GPSD waiting timeout cycles
- GPS : Reporting first received GPS sentence
- GPS : Rebooting upon unsuccessful GPSD restart retry
Fixed
- GPS : GPSD waiting timeout upon reconnect
- Odometer : checksum calculation
- Odometer : issues with channel buffer size
- Odometer : cleaned up logging
[2.4] - 2023-03-16
Added
- CAN-Bus : call-interface function write for sending CAN messages
- DBC : NEW CAN multiplex support
- Geofencing : MD documentation
- Geofencing : polygon support
- GPS : location and status notifications (in case of a GPSD connection)
- Odometer : MD documentation
- optiCLOUD : logging MQTT build and runtime library information
- optiCLOUD : channel-specific parameter minimumSendIntervalMs
- optiCLOUD : channel for MQTT upstream traffic amount estimation
- optiCLOUD : logging first MQTT message transmission on reconnect and error
- OSF Writer : NEW refreshIntervalMs configuration parameter for consumer-based sample rewrite
- OSF Writer : channel for OSF data volume amount estimation
- SCPI : Added UPTIME:SET action
- smartIO MVB : configuration parameter programFileString for including base64 encoded FPGA programs
- smartIO MVB : configuration parameter logEnabled
- smartIO MVB : logging first MVB frame arrival upon connection and reconnection
- smartIO MVB : dispatching MVB function codes MVB MASTERSHIP (0x08), MVB GENERAL EVENT (0x09) and MVB DEVICE STATUS (0x0F)
- System Infos : channel for CPU load per thread information
- System Infos : channels for WWAN upstream and downstream traffic amount estimation
- Uptime : NEW call-interface function setCounter (used e.g. via SCPI action UPTIME:SET)
Changed
- batMON : running upon current flash parameters if invalid JSON configuration parameters are specified
- DBC : combined handling of channelPrefix and NEW namespace parameters
- fmproducer : combined handling of channelPrefix and NEW namespace parameters
- Geofencing : default location id value
- MVB : combined handling of channelPrefix and NEW namespace parameters
- Odometer : adjusted default channel names and naming parameters
- optiCLOUD : sending additional last consumed sample before value change when needed
- optiCLOUD : renamed configuration parameter reproductionTimeoutMs to refreshIntervalMs (ensuring compatibility)
- optiCLOUD : removed configuration parameter brokerClientId
- optiCLOUD : augmenting default clientId by instance index when multiple modules are instantiated
- OSF Writer : writing additional trusted sample before value change when needed
- SCPI : writing multi-sample OSF data blocks within SCPI Live View (reducing data amount)
- smartIO MVB : NEW enabling MVB port and message filtering when in dispatching mode
- smartIO MVB : deactivated via configuration options portFilterDisabled and messageFilterDisabled
- smartIO MVB : disabled additional module-specific MVB frame and error log, removing ancient log files
- Uptime : renamed configuration parameter counterChannel to outputChannel
- Uptime : removed configuration parameter counterVariable (now set to outputChannel name)
Fixed
- CAN-Bus : removed unneeded reproduction parameter from demo configurations
- DBC : improved performance
- Geofencing : checking for valid geofence id
- Geofencing : cleaned up logging
- GPS : GPSD server reconnect mechanism
- ModBus : Added slaveId parameter for readWriteSequence call-interface function
- Odometer : issues with channel namespace separator
- Odometer : module destruction issues
- Odometer : added missing data reduction
- optiCLOUD : fixed reconnect and connection loss detection issues
- optiCLOUD : refactored and simplified consumption mechanism internals
- optiCLOUD : refactored and simplified MQTT message transmission mechanism internals
- optiCLOUD : removed unneeded samplesPerConsume configuration parameter
- optiCLOUD : fixed send-on-change-only behavior
- optiCLOUD : renamed MQTT client logging category for easier identification
- optiCLOUD : fixed SSL server verification issues when RTC was unsynchronized initially
- optiCLOUD : fixed blocking issues within SSL verification
- optiCLOUD : improved robustness in subscribing shared attributes and RPC request topics
- OSF Writer : refactored and simplified consumption mechanism internals
- OSF Writer : fixed writing empty multi-sample OSF data blocks
- SCPI : interface unblocking upon unsuccessful statemachine transition
- SCPI : fixed SYSTEM:VERSION:MINOR query for patched versions
- smartIO MVB : NEW smartIO restarting behavior upon MVB End-Of-Stream
- smartIO MVB : NEW configuration parameter eosRestartTimeoutMs (default 60s)
- smartIO MVB : NEW restarting on connection loss ONLY
- smartIO MVB : improved smartIO MVB library logging behavior upon restart
- smartIO MVB : fixed log file splitting within module-specific logging mechanism
- smartIO MVB : fixed default log file prefix within module-specific logging mechanism
- smartIO MVB : removed artifical restriction on log file count within module-specific logging mechanism
- System Infos : fixed stability issues
- Uptime : refactored and simplified consumption mechanism internals
- Uptime : now using trigger channel timestampes for counter channel samples
- Uptime : ensuring compatibility with configuration parameter counterChannel
[2.3.1] - 2022-12-10
Added
- batMON : NEW support for firmwares sending delayed ACK CAN frames
- batMON : NEW voltageDropDelayTime config parameter (for FW>=2 and PIC FW>=2)
- batMON : NEW batMON status channel
- batMON : NEW call-interface for shutdown-locking (used e.g. with the SMS module)
Changed
- batMON : NEW shutdown procedure SYSTEM:POWER:HALT (for smartMINI and smartRAIL systems with DeviceManager >= 20.2)
- batMON : writing firmware versions to omVersions INI file
- batMON : setting smartIO batMON RTC only once (and optionally to 0ns since epoch when not synced)
- batMON : integrated shutdown extension mechanism into new shutdown-locking mechanis
Fixed
- batMON : behavior on short voltage drops
- batMON : using CAN timestamps for diagnostics channels
- batMON : shutdown time configuration now wrt the internal offset
- batMON : initialization of diagnostics channels
- batMON : CAN frame data formatting within diagnostics output (now HEX encoded)
- batMON : removed redundant shutdown intialization via CAN command
[2.3] - 2022-08-11
Added
- batMON : configuration error status channel
- CAN-Bus : sample config for writing raw CAN data byte arrays to OSF file
- Ecowitt : NEW module
- Geofencing : channel representing the geofencing config JSON object
- Geofencing : config attributes for radius scaling and offsetting
- GPS : NEW seemless migration mechanism from serail (aka legacy) GPS modules to gpsd backend based
- ModBus : option enableInternalDataReduction (default==false)
- ModBus : Workload channel
- OSF Writer : tag and namespacesep attributes within OSF header
- OSF Writer : shifting the last (aka ancient) sample for channels with no production and setting its timestamp as a channel attribute
- SCPI : Added version queries
- SCPI : Added TIMEOUT and TIMEOUT? actions and queries for the execution timeout
- SCPI : Added migration mechanism for internal and external device specific configurations
- SCPI : Added CONFIG:GET? and CONFIG:SET queries for the persistent configuration
- System Infos : NEW module for obtaining system information
- System Infos : Added Board temperature
- System Infos : Added Mobile network traffic information
Changed
- general : introduced standardized default channel names
- general : added English MD documentation files
- general : added configuration examples
- general : improved logging messages
- batMON : NEW aynchronous configuration mechanism
- fmproducer : simplified channel configuration utilizing default values
- fmproducer : Filter chain based data reduction
- Geofencing : checking for valid GPS signal
- Geofencing : adjusted default channel names and naming parameters
- MVB : simplified channel configuration utilizing default values
- MVB : Filter chain based data reduction
- optiCLOUD : timestamping of telemetry when clock is synced
- optiCLOUD : auto-splitting of GPS location channels
- optiCLOUD : case-insensitive channel name specification
- optiCLOUD : added ignore config option for excluding channels
- OSF Writer : implemented zero-parameter configuration
- OSF Writer : case-insensitive channel name specification
- System Infos : Filter chain based data reduction
- System Infos : using NTP UDP communication for checking the clock synchronization state (Yocto 4 only)
- System Infos : improved configuration examples within MD documentation files
Fixed
- general : configuration schemas
- fmproducer : Fixed LONG INT data extraction
- fmproducer : Support for key-independent messages
- Geofencing : added missing data reduction
- Geofencing : cleaned up metadata
- Geofencing : fixed spelling issues
- Geofencing : removed invalid trip types from ipd list
- Geofencing : cleaned up logging
- GPS : simplified GPS NMEA device configuration
- ModBus : Advanced ModBus Auto-Address improvements
- MVB : Fixed LONG INT data extraction
- optiCLOUD : Removed additional data reduction, fixing missing data transmission
- optiCLOUD : Fixed crash on invalid broker address
- optiCLOUD : Removed internal message queueing
- optiCLOUD : Fixed consumption mechanism on overflow
- OSF Writer : Fixed trusted sample consumption
- OSF Writer : Fixed process value (PV) handling
- OSF Writer : Fixed consumption mechanism on overflow
- OSF Writer : Renamed ancient utc parameter
- SCPI : Fixed compound statement execution behavior
- SCPI : Fixed start, stop and restart transitions (esp. on external configuration change)
- SCPI : Fixed CONFIG:SET behavior (esp. wrt. configuration overlays)
- Uptime : moved persisten file backup to external partition
- Uptime : Migrated counter channels to timeserieses
Deprecated
- notifier : DEPRECATED module
- candbc : DEPRECATED module (use canbus and dbc instead)
[2.2] - 2022-03-25
Added
- Module Change Logs
- NEW Versioning scheme : distinguishing between STABLE, UNSTABLE and EXPERIMENTAL releases
- batMON : Spike filter for Supply Voltage, Current and MOSFET Temperature
- SysInfos : NEW System Info module providing device specific information
- Module specific Change Logs
- SCPI : Queries for Documentation and Change Log retrieval
Fixed
- SCPI : IDN? query
- SCPI : enabled restart within Ready state
- calc, CAN DBC, DBC, smartCALC : potential memory leaks on data reduction filter destruction
- GPS : checking for valid altitude
- ModBus : module shutdown
- OSF writer : disabled writing invalid samples
Changed
- SCPI : disabled schema validation within CONFIG:SET action
[2.1] - 2022-03-10
Added
- Module documentation files (MD)
- OSF writer : including latest sample within every newly generated OSF file
- GPS : NMEA parser error reporting
Fixed
- smartmvb : default log file settings
- GPS : configuration and communication mechanisms
- GPS, optiCLOUD : lat/lon/alt precision within optiCLOUD dashboard transmission
- uptime counter : fixed crash on non-existing trigger channel
- optiCLOUD : Byte Array data transmission
Changed
- SCPI : Revision of SCPI interface (??? TODO: describe what is changed !!!)
- optiCLOUD : non-string data transmission to JSON standard
[0.174] - 2022-02-09
Changed
- SCPI : Revision of SCPI interface
[0.172] - 2022-02-03
Changed
- (classic) MVB : duagon D017M driver removed
[0.171] - 2022-02-01
Added
- Robust reading of configuration and DBC content (autom. removal of '\r')
Fixed:
- Bug fixes data reduction filter
[0.167] - 2022-01-31
Added
- candbc, dbc : advanced data reduction
- smartcalc : new calculation module
Changed:
ModBus : removal BEKO Log specific HW Init
[0.165] - 2022-01-07
Added
- batMON : Data
- gpsd : New gpsd client module
- Completion of Cmake support
[0.164] - 2021-12-17
Added
- GPS/SCPI: New diagnostic functions Location/Date and log outputs
- Geofencing: additional parameters
Changed:
- Serialbus: cleanup
Fixed:
- smartIO MVB module: Error corrections
- OSF_UDP_Streamer: bugfix
- Odometer: fixed parameter handling
[0.161] - 2021-12-15
Added
- Improvements in smartCORE log output
- Provision of GPS information
- in the header section of OSF files
- via the SCPI interface
- via the smartCORE call interface
Fixed:
- opticloud plugin:
- Bugfix regarding empty credentials for the dashboard
[0.157] - 2021-12-14
Added
- Provision SIM card number / mobile signal strength
- opticloud plugin:
- Ability to use device specific credentials for dashboard
- Use of device serial number as default credentials for dashboard
Changed:
- scpi plugin:
- Rework
Fixed:
-
opticloud plugin:
- Reconnect mechanism
- SSL server verification
-
smartmvb plugin:
- Bug fixing
[0.139] - 2021-10-21
Changed:
- smartmvb plugin:
- Rework