SIINEOS 2.5.0

SIINEOS

  • Highlights:
    • Added Virtual Keyboard support to WebApp Engine

    • Added QML SortFilterProxyModel support to WebApp Engine

    • InCore apps can now control all LEDs device-independent and configure triggers

    • I2C busses of the local device/system can now be accessed by InCore apps

    • JSON RPC server now works with multiple services

    • Database updates are even easier to implement thanks to the new DatabaseUpdate object

  • General:
    • Base system updated to Debian GNU/Linux 10.11 release

    • Added I2C tools (i2c-tools)

    • Added GPIO tools (gpiod)

    • Use MAC address as DHCP client identifier already when booting to match the default behavior of the NetworkInterface object

    • Fixed automatic start of apps when installing local app bundle via install-apps-bundle

    • The realtime scheduling policy is no longer set for InCore apps to improve the performance of the interrupt-based EdgeDetector object

  • Kernel:
    • Updated to 5.4.155

    • Added SDMA firmware for i.MX6-based devices

    • Added IMX2_WDT driver for i.MX-based devices

    • Enabled extcon USB GPIO support for i.MX-based devices

    • Refactored LED trigger support (added mtd+activitiy+netdev, removed oneshot)

    • Improved device tree naming scheme to support more in.hub devices

    • Added driver for the MCP2221 USB-to-UART/I2C serial converter

  • Components:
    • Bootloader 2021.07 (not installed/updated automatically)

    • Docker 20.10.9 / containerd 1.4.11

    • FreeTDS 1.3.3

    • InCore 2.5.0

    • WebApp Engine 2.5.0

    • Qt 5.12.12.1

  • Debian security updates:

InCore

  • Foundation:
    • Application: added trapErrors property

    • DataObjectWriter: added return value to the submit() method

    • Gather, List, Repeater: improved support for objects of types defined in QML

    • JsonRpcClient, JsonRpcService: added serviceName property

    • JsonRpcServer: added services property to support multiple services and replace the service property

    • Measurement: added missing internal update of SI prefix name and factor

    • Polling: added timestamp property

    • System: added DeviceType.IM6 enumeration value

    • Timer: added msecsElapsed property

  • CloudOfThings:
    • CloudOfThingsMeasurementWriter: refactoring to use MeasurementBufferDatabase and a more lightweight API

  • Database:
    • Database: added ready property

    • DatabaseQuery: defer execution until the ready property of the attached database table is true

    • DatabaseQuery, DatabaseSqlQuery: reset error before executing query

    • DatabaseQuery, DatabaseSqlQuery: added return value to the execute() method

    • DatabaseSqlQuery: update the lastInsertedId property for INSERT queries only

    • DatabaseTable: added ready property

    • DatabaseUpdate: added new object for simple SQL-less database updates

    • LocalDatabase: fixed handling of the name property

    • MeasurementDatabase, MeasurementBufferDatabase: added new object for (temporarily) storing measurement objects in a database

  • IO:
    • AlphasenseOpcN3, SensirionHDLC, SensirionSPS30: handle dynamic changes of the portName property at runtime

    • AlphasenseOpcN3, SensirionHDLC: don’t send requests if the portName property is empty

    • EdgeDetector: added running property

    • EdgeDetector: optimized cases where either rising or falling edges need to be detected only

    • LED: added systemName property

    • LED: added support for configuring triggers via the new trigger property, the networkInterfaceName property and the Trigger enumeration

    • SensirionHDLC: refactoring to handle different types of Sensirion sensors generically

    • SensirionSFM3300: added new object for the Sensirion SFM3300 mass flow meter

    • SerialPortBus: added check for non-empty port name before opening serial port

    • SerialPortBusNode: assign a valid instance to serialPort per default so basic parameters such as portName need to be set only

    • SerialPortBusNode: added portName alias property allowing to use Select easily

    • SystemI2cBus: added new object allowing access to any I2C bus on the local system (/dev/i2c-N)

    • udev: extend I2C access to devices 2-9

    • udev: refactor GPIO and LED access to support all boards/devices in a generic manner

  • Modbus:
    • ModbusTcpClient: added lowDelay property

    • ModbusRtuMaster: added turnaroundDelay property

  • Mqtt:
    • MqttClient: use UTF-8 string for topic name

    • MqttObjectPublication: added check for empty topicBaseName property in publish() method

    • MqttObjectPublication: call publish() whenever the topicBaseName property changes

    • MqttSubscription: call unsubscribe() when being deleted

    • MqttWildcardSubscription: added support for depublishing retained topics

  • OpcUa:
    • OpcUaServer: added missing nodesetLoader library

    • OpcUaServer: updated notesetLoader library to 0.5.0

    • OpcUaServer: fixed user authentication by properly forwarding OpcUaServerUser.password to the open62541 stack

    • OpcUaServer: added warnings for invalid authentication settings/policies (e.g. anonymousLoginAllowed not set and no users configured or userLoginRequiresEncryption set and security.policies set to OpcUaServerSecurity.PolicyNone only)

  • WebApp:
    • Build with latest Qt 6.2 and Emscripten SDK 2.0.32

    • WebAppNativeCode: fixed sporadic crashes

    • Integrated SortFilterProxyModel plugin

    • Integrated QtVirtualKeyboard plugin

    • Improved integration of the QtGraphicalEffects plugin

    • Added KDE’s Breeze SVG icons

    • Fixed bug in Qt which crashed the application when reloading SVG images on source size changes via HTTP

    • Fixed bug in Qt which broke dragging Flickable and ListView items by mouse

    • Fixed bug in Qt which broke cursor shape updates e.g. text input cursor when hovering text input fields

    • The WebAppCore object now inherits from the Application object to ease changing global settings such as language and country