Changelog
All notable changes to this project will be documented in this file.
[2.10.0] - 2026-03-10
Added
- smartRAIL V2.2 support
- Baumer:
- New plugin for connecting Baumer's BPIK high-performance bearingless encoder for measurement on wheel axles of rail vehicles
- Uses fmproducer to decode the content of data telegrams
- Mav:
- New plugin for GPS reporting to Hungarian State Railways Magyar Államvasutak
- Math: implements Catalog V11
- status of input channels is signaled to math and readable using isTimeout(), isEmpty(), isConnected(), isDefault()
- isTimeout() returns true, if input channel data is older than specified timeout interval
- isEmpty() returns true if the input channel has not yet received any data; a default may be assigned temporarily
- isConnected() returns true if the input channel is connected to smartCore; otherwise, a default is assigned
- isDefault() returns true if an input variable is forced to the default value
- isError() returns true if a calculated value/expression/variable is in an error state
- typeOf() returns index of a values type
- value() pick latest value from input channel ignoring the timestamp, breaking circular dependencies
- time() returns current time or latest timestamp of input channel
- propagate sequence properties to channel meta data
- experimental:
- playback() playback individual channels from OSF files
- shiftT() adjust timebase of an input channel by a small amount of time
#propertynew attributestimeout=<val>anddefault=<val>- timer() puts a warning into the log, if there's an enclosed automatic declaration in the crontab
- getField() supports reading complex numbers and array/matrix [...] data types
- Floating point NAN/INF values were copied into the Math context and eventually published into smartCORE channels; they are now filtered out.
- GRPC
- add new calls: getRelaisCount, GetHasTerminationResistor (RS485)
- GPS
- added one new signal: TrackCourse
- Added data reduction filter for GPS coordinates and removed unused production parameter
- Batmon
- Added notification of status for PING/ATTN messages
- Setting voltage limits is suspended if doing so would cause the BATMON to be lost at the current operating voltage
- RPC call
requestShutdown({"sender": <str>})to put the Batmon into sleep mode in a controlled manner - Property
"passive": <bool>runs the plugin in read-only mode, in order to follow the BATMON shutdown command - Property
"auxPower": <bool>disables shutdown by smartCORE and the kernel if smartRAIL is not powered by the BATMON (debug) - Property
"debug": <uint32>bitmask to control debug output; the default may change with future versions / stability improvements
- FunctionGenerator:
- added check if both timeout parameters are not 0 to prevent CPU load from being too high
- Ruuvi:
- Add a parameter to set reduceDelta value for channel filters
- Added default channel filter deltareduce of 0.1
- OptiCloud:
- Property
"transmitStatusChannels" : <bool>added to turn on/off STATUS channels about the optiCLoud module - Property:
"debugMask": <uint32>to control detailed debug output. Meaning of bits available on request. - Property:
"debugChannels": [<string>], array with wild-card-patterns to enable data transfer debugging for matching channels. sharedAttributes[]: property:"debug": <bool>, enables data transfer debugging- Explicit auxiliary support points on boolean, integer, or float channels are added and transferred by MQTT a certain period (0.5 to 1.0 sec) before the transfer of all changed telemetry data.
- Property
- fmProducer:
- Property
"byteOrder": <enum>, default for all channels, support for littleEndian, bigEndian and custom byte mapping - Property
"addressSpec": <enum>, default for all channels, support for MVB, DBC, and other addressing schemes channels[]:- property
"byteOrder": <enum>, overrides default - property
"addressSpec": <enum>, overrides default - property
"debug": <bool>, for now: output picking info - property
"noFilter": <bool>to disable any input filtering at all -> performance boost for high speed data streams - Picked Floatingpoint-NAN/INF values were produced into OSF-channels, they are now filtered out
- property
- Property
- osfWriter:
- Floatingpoint-NAN values were written into the OSF file, they are now filtered out.
Changed
- Support for Debian version 13 / Trixie
- valijson: update to version 1.1.0
- fmProducer:
- Major rework of the internal "SimpleBufferPicker" class which is used to pick values out of process image for flexibility, performance and stability (see also section Fixed below)
- FastMessageDispatcher: major rework for performance and stability
- Support for
"double"and"BCD"image types bitlength: 1enforces<bool>as image and channel datatype"imageType": "bool"enforces"bitlength": 1as"float"(32) or"double"(64),"timedate48"(48) or"time64"(64) do with their implicit length, too."dataType": <enum>is obsolete for 99% of use cases. Let the plugin decide in the first place.
- Batmon:
- Minor code changes in notification info
- New status channel 'PluginState' for the new state machine (new enum tags) replaces 'OperatingMode'
- All measured values now published as float rather than double.
- Output signals AboutToShutdown, CriticalPowerStates, LowPowerState, RequestEnergySave changed their behavior slightly, now being more precise in their naming.
- Check for non-unique CAN IDs and report
- TRDP
- Switch to PcapPlusPlus library
- GPS
- Changed default channel name
- Removed status signal, not supported by GPS chip
- GPS-Location output is now a persisted channel, restarting at the last known position after reboot.
- osfWriter
- Always writes to compressed osfz files now avoiding additional read/write-streams on the SD Card for data compression
- Property
"compress": <bool>is ignored but reported, if set to false.
- opticloud
- Major rework of implementation for flexibility, performance, and stability.
- If a splitter is not specified or matching, GpsLocation data is encoded as JSON-Subobject
"<chName>: {"lat": <numeric>, "lon": <numeric>, "alt": <numeric>}"by default rather than being ignored.
- Math
- Catalog Version and Libraries git-ID is now published into omVersions.ini.
Fixed
- alarmmanager:
- Integrity error in the internal list of alarm messages, responsible for ghost messages and incomplete processing -> resolved, continue to monitor
- Missing lifetime control of internal list of alarm messages -> resolved
- fmProducer:
- picking of Timebase48, Time64, BiPolar, UniPolar types optimized for performance and fixed buggy scaling
- picking of String/ByteArray did not respect the configured bitoffset.
- Math:
- Produced samples that were not given by libmathexpressions -> fixed
- Unlinked input channel was orphaned and not handled -> assign const default
- Created time series channels with zero length -> fixed
- Picking variable indexed element from a const vector cVal[idx] or GetCol(cVal, idx) was const, too, and never updated -> fixed.
- decodeTime(): returned with failure on success -> fixed.
- timer(): had 0 as default for month/day filters, now 1
- timer(): syntax
a-b/ndid not start ataand did not check for range at first - timer(): syntax
*/ndid not start at 1 for month/day - assign
=: forwards const and linInterpolation flags - sample(): runs only to t_horizon, not INVAILD_TIME
- trigger(), threshold(), delay(), pulse(), prioEnc() forwarded const inputs though having timing parameters
- OPC/UA Server:
- fix if no channel values exist
- OPC/UA Client:
- fix when disconnecting from server. Nodes list will be recreated and reads the node ids again from server
- fix when reconfigure smartcore and write error message only once to log file
- Batmon:
- Historic battery voltage data was received with mod for mV, limiting the range to 0 .. 65.5V. Now recovering the missing upper bits based on the measured voltage and assumed slow rates of change. This is a workaround for smartIO BATMON FW older than 2.1
- Historic data eventually had time stamps in the future, now filtered out
- Transferring parameter sets to the BATMON no longer causes the device to be lost due to an internal invalidated parameter set. This is a workaround for smartIO BATMON FW older than 2.1.
- Alarm snapshots now contain the correct channel names, identical to those in smartCore
- Ruuvi:
- Fixed wrong data type in schema
- GPS:
- Losing timebase when receiving and producing GPS data.
- Produced NAN values in HDOP, VDOP, PDOP channels -> filtered now.
- Somehow null GPS coordinates bypassed the filters or were inserted in opticloud / osfwriter / math -> fixed now.
- opticloud:
- Handling of multiple matches in channel selection -> first one wins, others ignored
- Handling of wild-mask syntax in channel name patterns -> fixed
- Handling of (automatic) ignore list, if system or hidden channels are explicitly selected in the search pattern.
[2.9.1] - 2025-05-23
Added
- Support for owa5x
- Geofencing Added function to specify valid week day for a geofence
- Dostos2: Added new shared attribute AbfangenHyterese
- Zedas: Add fault import on alarm creation
Changed
- AlarmManager: use UUID format V1 (MAC + time based) instead of V4 for compatibility with optiCLOUD internal database
- optiCLOUD: send alarm uuid without curly brackets
- optiCLOUD: Added parameter to log alarm mqtt payload to log files
- Math: Function catalog version 9
- Math: Improvements and implementation of the following functions: stopwatch(), sFind(), isScalar(), isVector(), isMatrix(), isTensor(), peakHold()
- Dostos2: Changed status text for decision seven
- Dostos2: Removed timescatter for starttime in shutdown plan
- Dosto2: Using default values if two shared attributes are not found in data pool
- Dosto2: Increased shift logic number
- SCPI: MODules:FACTories:DOC?: return description from metadata.json and URL to documentation
- modules: remove MD files (documentation and CHANGELOG)
- thirdparty/valijson: update to version 1.0.5
Fixed
- AlarmManager: Fixed error in handling LoseSight alarm messages after reconfiguring smartcore.
- optiCLOUD: Release finished alarms. Handle Send and Idle states
- Math: Minor bug fixes in the math core
- Geofencing: Fixed logical bug
- Colibri: Fixed bug when reading timestamp in milliseconds.
- fmproducer, fmudp: fix json syntax errors in metadata.json
- Zedas: Fix alarm and faults SOAP communication
[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 parameter
- System Info: 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 Info: 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 Info: 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 Info: NEW disk statistics 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 to additionally allow 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 Info: 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 Info: 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 than or equal to 8
- ModBus: fixed return schema for probeChanel call interface
- ModBus: allowing for multi-channel configurations based on 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 Info: reading combined CPU usage for all CPUs
- System Info: 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 attempts 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 Info: channel for CPU load per thread information
- System Info: 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 artificial restriction on log file count within module-specific logging mechanism
- System Info: fixed stability issues
- Uptime: refactored and simplified consumption mechanism internals
- Uptime: now using trigger channel timestamps 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 mechanism
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 initialization via CAN command
[2.3] - 2022-08-11
Added
- batMON: configuration error status channel
- CAN bus: sample configuration for writing raw CAN data byte arrays to OSF file
- Ecowitt: NEW module
- Geofencing: channel representing the geofencing configuration JSON object
- Geofencing: configuration attributes for radius scaling and offsetting
- GPS: NEW seamless migration mechanism from serial (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 Info: NEW module for obtaining system information
- System Info: Added board temperature
- System Info: 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 asynchronous 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 Info: filter chain-based data reduction
- System Info: using NTP UDP communication for checking the clock synchronization state (Yocto 4 only)
- System Info: 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 persistent 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 of 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:
- Bug fix 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