Release Notes

Apex OS

Apex 22.17.1 (2022-04-29) - Latest

Recommended SyrusJS version 1.36.0 (Compatible with version 1.34.0 or newer)

  • Added, fuel sensor mode to serial tool
  • Added, now one pipeline is used for record and streaming
  • Added, restrictions to h265 - dashcam,
  • Added, the apx-serial-fs fuel sensor tool
  • Added, the apx-serial-rfid tool
  • Added, the first version of the rfid reader
  • Added, the option in apx-wifi to connect to a wifi network preconfigured
  • Added, the option in apx-wifi tool to manually configure the wireless interface
  • Added, the rfid mode to apx-serial
  • Changed: Now checks target Cipia-FS10 MAC before attempting to set up WiFi and hotspot to reconfigure Cipia-FS10. This is done to allow everything to work when Cipia-FS10 and S4G is connected to an external AP. Requires that Cipia-FS10 knows the IP given to S4G by the AP
  • Enabled, some debug features in mosquitto broker
  • Fixed, the clips list were not correctly updated after creating more than 2 clips at the same time
  • Fixed, the memory leak caused by popen in syrus-watcher
  • Implemented, NDM now changes the connection status of Cipia-FS10 whenever the device connects to our MQTT broker. This broker requires a custom configuration file that allows logging and sends log information to a SYS related topic. Also, handles when Cipia-FS10 disconnects from the MQTT broker. Sends connection status to ndm/notification/cipia/update and updates video_current_state
  • Implemented, support for H265
  • Implemented, the option to remove the information about the last ibutton read.
  • Improved, Core now must fail 5 times before sending to cloud an alert that it failed to set up onewire drivers/modules
  • Reduced, the memory limits for the watcher service

Apex 22.12.4 (2022-03-28)

Recommended SyrusJS version 1.36.0 (Compatible with version 1.34.0 or newer)

  • Added, a mechanism to validate IMSI and SIM card ID
  • Added, a new mechanism to avoid parsing not valid frames. The parse of not valid frames was causing memory leaks in syrus-gps
  • Added, new BIST command for the provisioning of S4GLite.
  • Added, redis publications when video streaming is used
  • Added, the interactive API documentation to the UI
  • Added, the mechanism to restart redis connection when the command to consult the redis queue returns empty. It fixes a synchronization issue between syrus-watcher and syrus cloud
  • Added, the option to configure the LTE communication module in data only mode
  • Changed, no longer attempts to change system time with microcontroller reference when returning from PSM.
  • Changed, removed the function that would attempt to set up the CAN interfaces. This function was causing ecuS4 to fail on S4GLite.
  • Changed, the stop streaming message sent to cloud
  • Deprecated, apx-bt list_paired
  • Disabled, audio for hikvision dashcams
  • Disabled, the debug for gpios when kernel starts
  • Fixed, clips-supervisor memory leak and the number of subprocess it generated
  • Fixed, from - to option in video update list
  • Fixed, the ADAS buzzer implementation for S4GFull.
  • Fixed, the calculation of the video.conf.json hash, the core app was including an extra \n to the file
  • Fixed, the clip status command was not returning the cipia seatbelt event
  • Fixed, the dependency to Redis being functional. Application should no longer crash when Redis is unavailable.
  • Fixed, the reference to add 100 to the nmea year
  • Fixed, the UI was not returning error when formatting a non existing SD card
  • Implemented, able to disable buzzer or ADAS buzzer depending on hardware type.
  • Implemented, considers S4GLite hardware limitations where less inputs and outputs exist. This also applies for entering and exiting PSM.
  • Implemented, increased the number of input_events saved from 99 to 500.
  • Implemented, now interface is able to know if it is running on a S4GLite or S4GFull based on microcontroller version and if it discovers an RTC I2C component.
  • Implemented, partials in video update_list
  • Implemented, the S4GLite buzzer through GPIO.
  • Improved, the way in which the gps application publishes the current time
  • Removed, the "was accepted" message when configuring PSM mode
  • Removed, the wrong message when setting the ethernet route

Apex 22.10.3 (2022-03-08)

Recommended SyrusJS version 1.36.0 (Compatible with version 1.34.0 or newer)

  • Added, a mechanism to check the state of a cloud script process and return a response
  • Added, a mechanism to discard duplicate messages sent by cloud
  • Added, Cipia UnfastenedSeatbelt event
  • Added, clips-supervisor application
  • Added, diagnostic messages when a cloud script does not return after 10 minutes
  • Added, DriverDistraction and DriverDrowsiness Cipia events.
  • Added, retry streaming case when “linking failed” error is found caused by the unavailability of audio on the selected camera
  • Added, the instruction to flush the sms inbox when modem application starts
  • Added, the instruction to release resources when the video application is recording and an Apex upgrade is started
  • Added, the stream id to the apex command that starts the streaming, it is a mandatory parameter
  • Added, upload, view, and download extra menu items in shared accelerometer
  • Changed, the apx-mdm tool, now it uses flags
  • Changed, the tcp port range used for applications to instance control. Now it is above 61100
  • Changed, the time that video application sleeps when idling
  • Changed, Uses the Cipia-FS10 event string sent in lieu of unknown_event when encountering an event that is not recognized.
  • Fixed, apx-video status bug when ext. device isn't mount
  • Fixed, bug in adding a clip to the queue when camera name is included in the command.
  • Fixed, bug when clip is queued and CLIP_IN_PROGRESS is stored instead of CLIP_QUEUED.
  • Fixed, bug where the maximum size for the event folder is not sent when calling apx-disk_cleaner
  • Fixed, Cipia default configuration in shared video component (hotspot key to true).
  • Fixed, gps were not publishing updates when the Quectel gnss module has not valid data
  • Fixed, rm_camera bug when the “name” key is in another position.
  • Fixed, some modem parameters were not updated after returning from airplane mode
  • Fixed, The command used to edit cipia_fs10.settings.json.
  • Fixed, the option to add and remove wifi networks when they include spaces
  • Improved the way to manage run cloud scripts, the application was broken with heavy processes
  • Improved, apx-core update and install, now the repository file is erased before updating
  • Improved, connection error timestamp were not cleared when ppp interface was not used
  • Improved, the apx-video status command, now it returns faster due to the improvent in consulting the history range
  • Improved, the mechanism to switch from SOC to MDM audio
  • Improved, the size of the libraries used by api and UI
  • Improved, the way to delete sms already processed
  • Improved, the way to report "cloud script executed"
  • Improvedt, now the gps application uses the system clock when there is not valida nmea data
  • Removed, disk-cleaner, gsoap, gstreamer-libav and gstreamer-rtsp-server. It caused a reduction of 12Mb in the apex output file
  • Removed, the instruction to set the system time when the apex os is restarted
  • SC-0054:(feat) Accel - Added long options to apx-imu
  • SC-0056:(feat) Accel - Integration of Accel shared component in UI

Apex 22.05.3 (2022-02-04)

Recommended SyrusJS version 1.36.0 (Compatible with version 1.34.0 or newer)

  • Added, the backlog mechanism
  • Added, the mechanism to configure Caredrive MR688 parameters
  • Changed, some keys in the json output when apx-video status is used
  • Fixed, some bugs on video create_clip command
  • Fixed, the airplane mode state were not updated when the application changed its state
  • Implemented, a failsafe mechanism for the bluetooth service
  • Implemented, a mechanism to queue message broker messages that are to be later sent
  • Implemented, several Cipia FS10 events
  • Improved, the apex serial console when the command finishes by something different from LF

Apex 21.51.3 (2021-12-23)

Recommended SyrusJS version 1.36.0 (Compatible with version 1.34.0 or newer)

User Interface and API

    • Video, filter dates method changed to apx-video update_list
    • ECU, add option to read while vehicle is OFF flag
    • ECU, add ecumonitor.conf file if not exists
    • System, new Format/Erase dialog
    • System, added information on the external memory usage
    • Accelerometer, adjust milli-G labels for mobile
    • Power Saving Mode, add field validation to awake time
    • Bluetooth, improvements while scanning and unpair process
    • App, added version in about section
  • Added, the instruction to restart the gps service when apx-gps restart is executed
  • Implemented, ECU now uses a new key to allow reading from CAN network regardless of ignition state. The new key to be added to ecumonitor.conf is READ_WHILE_VEHICLE_OFF
  • Improved, the modem initialization routine, some devices have a delay in the modem power on and it causes the application to break up
  • Changed, in command apx-video update_list, new functionality was added to recover the information about the "history" folder if the argument "–include_history" is set, the arguments "–from" "–to" must be set

Apex 21.50.2 (2021-12-14)

Recommended SyrusJS version 1.36.0 (Compatible with version 1.34.0 or newer)

  • Added, "cipia_config" command in apx-video, this allows users to modify the cipia configuration file passing the JSON key and the value, for example: apx-video cipia_config --key=WifiSettings.Password --value=syrus1234
  • Added, in syrus-mdm the instruction to change to data centric mode
  • Added, publication messages to redis during accelerometer calibration process
  • Added, the apex tool to read and write the eeprom memory
  • Changed, timeline mechanism in apx-video, now it reads and process the data extracted from the redis hash “video_history_cameraname”, creating a json output with the ranges available in the history
  • Fixed, Bug in syrus-video create_clip in "--from --to" mode when one camera doesn’t have a history folder
  • Fixed, Bug in syrus-video diagnostic messages that did not include the clip name
  • Fixed, in syrus-mdm the routine to restart the no connection time variable
  • Fixed, the audio channel switch when incoming calls, the BT speaker was not connected again
  • Improved, in syrus-mdm the initialization when sim card is not inserted, the SMS commands returned error
  • Improved, the accelerometer calibration process, now it doesn't have an strong dependency on GNSS

Apex 21.48.1 (2021-12-03)

Recommended SyrusJS version 1.36.0 (Compatible with version 1.34.0 or newer)

  • Fixed, hotspot - Terminal app change internet source
  • Fixed, mobile - Airplane mode, not connecting.
  • Fixed, bug with power save mode field validations in Syrus 4 UI
  • Fixed, bug with Wifi - Add/Remove networks with spaces

Apex 21.47.1 (2021-11-24)

Recommended SyrusJS version 1.36.0 (Compatible with version 1.34.0 or newer)

  • Added, a new functionality in the UI to format the SD card
  • Added, an instruction to avoid starting the GNSS configuration routine if the Quectel device is being used.
  • Added, supports for configuration files with cipia cameras.
  • Added, the destination phone number used by voice call and SMS to the modem status
  • Changed, Added the device type to the JSON published through Redis for MDSM7 events.
  • Changed, The list that MDSM7 protocol uses is no longer fatigue_mdsm7_events. Now it is ndm_fatigue_events.
  • Fixed, Bug in "set" and "status" when an external device is just formatted.
  • Fixed, Bug in "timeline" when type is not included in the config file.
  • Fixed, Bug in create_clip in "--from --to" mode when one camera doesn’t have a history folder.
  • Fixed, Bug in diagnostic messages that did not include the clip name.
  • Fixed, the way to get the name of the parent command
  • Implements, Cipia-FS10 protocol to parse DMS events and saves videos related to particular DMS events.
  • Implements, Mosquitto based clients that will extract data once subscribed to a Mosquitto MQTT broker.
  • Improved, Stream pipeline changed for only video.
  • Improved, the diagnostic messages when sim card is changed
  • Improved, the initialization of the redis service, it includes to set the redis db folder owner
  • Improved, the LAC and CID parsing
  • Improved, the syrus-mdm app in order for it to not restart so frequently (It causes the gps not to be available during the reset)
  • Improved, the UI video section

Apex 21.43.1 (2021-11-04)

Compatible SyrusJS version 1.34.0 or newer

  • Improved, video create_clip command and ending videos
  • Changed, now appends the name defined in ACCESSORY_TYPE key to the unique ID regardless of the protocol section used if a name is used.

Apex 21.42.1 (2021-10-04)

Compatible SyrusJS version 1.34.0 or newer

  • Fixed the ssl issue which caused the Apex OS updates to fail
  • Enabled, the validation of the ssl certificate when downloading files for updates
  • Added, start-shell and send-message as new options in the syrus-apps-manager tool
  • Improved, the BIST modem test
  • Improved, the BIST rs232 test
  • Added, an option to set the data files structure when device starts for the first time
  • Changed, the state key value in the status response; now it is lowercase, it was done in apx-ethernet, apx-wifi, and apx-hotspot tools
  • Improved, the mechanism for restarting the SOC when a device is under-provisioning. Microchip 1.0.12
  • Added, openssl to Apex OS
  • Added, disk cleaner
  • Changed, the size of the APEX partitions in order to have more space on the operating system. It is only done on devices provisioned with SD card or Syrprod
  • Changed, The UI and the syrus API to support the breaking changes in BT, WIFI, HOTSPOT and ETHERNET sections
  • Changed: apx-bt now accepts getopt --long option format arguments.
  • Changed: The format of what is printed within the apx-bt help message.
  • Implemented: Now can request a list of BLE connected and recently disconnected devices with the new action, apx-bt ble_status.
  • Changed: The redis channel from bluetooth/user_apps_console/MESSAGE to bluetooth/messages/user_apps_console.
  • Changed: The value of call-button to call.
  • Changed: The key of button-multiplier to action_multiplier.
  • Changed: The key audioroutedto to audio_routed
  • Added the mechanism to set apex clock when the OS is shutting down
  • Fixed the LAC issue in the json response returned by apx-mdm state
  • Implemented: syrus-ndm util_configure_ethernet now uses jsmn to properly identify if eth0 is enabled and if the correct ip is used.
  • Added, the Video Streaming mechanism
  • Improved, some video mechanisms.
  • Added, stream command to notify the core app for a start or stop the streaming.
  • Changed, 10 seconds were substracted in apx-video status and apx-video timeline from the "from" key value
  • Improved, notify and help in apx-video record command
  • Improved, the following apex tools in order them to receive flags; the help section was also changed and now every tool returns its version:
  • Improved, the status response returned by apx-hotspot status
  • Fixed, a bug in the initialization of video core application when the cameras array was empty in the config file
  • Fixed. the streaming state setting bug
  • Added, the initialization of disk_cleaner to monitor the video events folder space
  • Fixed, some details in the Bluetooth and video UI sections
  • Fixed: syrus-ndm util_configure_ethernet now properly handles when the ip field is empty from apx-ethernet status.
  • Fixed, dns and gateway were not properly read when returning apx-ethernet status
  • Fixed, the MENDER variable that specifies the available space in the root file system partition. It causes the root file system to have more available space

Apex 21.40.1 (2021-10-04) - Latest

Compatible SyrusJS version 1.34.0 or newer

  • Due to an SSL incompatibility issue, the following release (21.40.1) was created. To update you must use the following command:
$ apx-os-update force https://syrus4.dctserver.com/apex/releases/apex-21.40.1
  • Fixed, apx-video tool was not adding cameras
  • Fixed, video application was crashing after removing cameras
  • Fixed, the performance issue when BT and Wifi were enabled at the same time
  • Decreased: the wl18xx interface clock from 50MHz to 5MHz
  • Improved, the way to restore the routing table when an interface becomes available
  • Improved, syrus-video diagnostic logs levels
  • Fixed, the compability of apx-ecu when it receives arguments
  • Removed, the validation of the ssl certificate when downloading the Apex latest version file
  • Removed, the validation of the ssl certificate when downloading a syrus cloud script
  • Removed, the validation of the ssl certificate when downloading the file that contains the latest version of a customer application
  • Added, the mechanism to check the wifi fallback when activated via apx-hotspot tool
  • Implemented: syrus-ndm now saves status related information in the Redis hash table video_current_state. The statuses saved are: DISCONNECTED, CONNECTED, and FAILURE_TO_CREATE_SOCKET
  • Implemented: syrus-ndm publishes a JSON containing the connection status, the ip from which the device connected from, and the port used to ndm/notification/mdsm7/update whenever mdsm7 connects or disconnects
  • Changed: In the JSON published when a syrus-ndm video clip is saved, the value of the key “state” was changed from ready to CLIP_READY
  • Changed: The name of the channel used to publish mdsm7 video clips related events is now ndm/notification/mdsm7/event
  • Improved, the nodejs start time, it was pre-compiled
  • Changed, the apx-wifi tool , now it accepts flags
  • Changed, the apx-wifi help information
  • Fixed, the error returning SSIDs with spaces at the end
  • Added, priority when adding a new wifi network
  • Improved, the apx-wifi status option, now it always includes the mac address
  • Changed, the apx-hotspot tool, now it accepts flags
  • Changed, the apx-hotspot help information
  • Added, the apx-hotspot option for starting a wifi fallback
  • Changed, the apx-ethernet tool, now it accepts flags
  • Changed, the apx-ethernet help information
  • Improved, the apx-ethernet status option, now it returns more information

Apex 21.37.2 (2021-09-21) - Latest

Compatible SyrusJS version 1.34.0 or newer

  • Improved wifi and bluetooth performance when both modes are in use
  • Improved, the way to check internet connection with ppp interface, now it is only tested if the ppp interface is being used
  • Added, the way to check if video camera supports audio
  • Added, audio to the video clips
  • Added, the mechanism to notify that the BT speaker call button was pressed
  • Fixed, hostname was not set when IMEI was not available. It happens when apex emmc is flashed
  • Fixed, the initialization of always on flag for syrus-watcher
  • Added, the integration of dashcam
  • APX0038: Improved, the routine to turn the modem on
  • Fixed, empty list error on wifi state
  • Improved, the value reported for cpu usage, sometimes it reported values above 100%
  • Added, config level to the apx-logger
  • Fixed, the re initialization of the gstreamer pipeline when it ended abruptly
  • Changed, the video application to support the new data structure in video file names
  • Changed, the format of the ECU configuration file
  • Added, the first version of network device manager. It supports mdsm-7 device for video events
  • Added, the apx-ext-memory tool for formatting external storage devices
  • Changed, the folder name where video events are stored
  • Changed, the UI ecu monitor section in order it to use the ECU monitor component
  • Improved, the UI Ethernet section
  • Improved, The apex system logs

Apex 21.28.1 (2021-07-14)

  • Removed, syrus-buffer-manager and syrus-event-manager
  • Added, driver for realtek USB-wifi dongle
  • Added, drivers for USB-Bluetooth dongles
  • Improved, file browser look and feel in the management tool
  • Added, the mechanism for reading ECU parameters in inverse order
  • Improved, the multi threading for gstreamer pipelines in syrus-video
  • Improved, the mechanism for taking clips in syrus-video
  • Fixed, the examples typed in the apx-watcher tool help

Apex 21.25.1 (2021-06-30)

Compatible SyrusJS version 1.32.11 or newer

  • Changed, the default time for switching sim card when no connection, it changed from 8 to 4 hours
  • Added, the way to change the BT advertise name
  • Changed, the default state of BT app, now it starts doing advertising during 5 minutes
  • Added to syrus watcher the mechanism for supporting always on connection with syrus cloud
  • Added the option for configuring always on flag for syrus watcher application
  • Added, the mechanism for restarting the hotspot mode when no clients are connected
  • Added, apx-ecu decode option for j1939 diagnostic codes
  • Added, ecu definition files for movon and mobileye
  • Added, the first version of video application, it includes the history buffer, the creation of video clips and the UI section. This is a BETA version
  • Added, apx-video tool
  • Added, PSM profile used by syrus cloud
  • Added, serial profile used by syrus cloud
  • Changed, the range of ip addresses that the hotspot assignates in automatic way. Now it is from 192.168.9.100 to 192.168.9.254. If the user needs to work with static ip address, the user can use from 192.168.9.2 to 192.168.9.99
  • Added, gstreamer version 1.18.4
  • Reduced, the ping time for fatigue sensor, it changed from 5 to 2 seconds
  • Improved, ecu monitor application, now it includes the way to interact with can accesories (movon, mobileye, etc) based on the configuration file
  • Added, file browser in the UI section
  • Added, the mechanism for switching the network interface when the device losses internet access
  • Added, tree to the apex OS
  • Added, the motd for the ssh welcome message
  • Changed, the look and feel for ssh sessions
  • Added, ll as alias for ls -lF
  • Improved, the serial modem state response for being used by apx-system full_state
  • Increased, the max size of the response returned to syrus cloud, it changed from 2000 to 4000 characters
  • Added, the instruction to remove the hash code for geofences files when they are removed
  • Added, the instruction to set redis as owner of /data/users/redis after the OS upgrade

Apex 21.17.3 (2021-04-30)

  • Added, python3 and nodejs 12
  • MDT-001: The first commit of mdt application
  • Fixed, the state of the custom applications were not preserved between updates
  • Fixed, the format of the json returned by apx-about when an SD card was inserted and it had a folder called root
  • Added, mdns to the network configuration to support the network access using the hostname
  • Added, the md5 code for configuration files in the apx-system full-state option
  • Added, cronie, mdns, gsoap and x264 packages to the Apex OS
  • Added, redis monitor to the core instance in order syrus4g user can monitor the redis debug
  • Changed, the name and the path for ecumonitor configuration file
  • Fixed, a typo in the start/stop option for syrus-apps-manager
  • Added: A ping command that is to be used to maintain a keep alive connection between a BLE device and the Syrus 4 unit
  • Fixed: J1939 parameter parser now handles the case if there is no space between the value and the ‘:’ delimiter. Without this, ecumonitor would ignore the value and load nothing for the key for the parameter line
  • Changed: Ecumonitor no longer uses j1939_params file. Now it uses ecumonitor.conf file which is stored in the desktop for syrus4g user. /data/users/syrus4g/ecumonitor
  • Implemented: Constantly monitors ecumonitor.conf file and on any change done, it will calculate the MD5 hash of the file
  • Added, the ability for dispatching events depending on destination points in the event-generator and buffer-manager apps
  • Increased, the memory reserved for event-generator app
  • Fixed: The algorithm to compute the circular geofences was fixed. It was erroneously reporting the “inside” event.
  • Added: MD5 hash code calculation for the geofences files.
  • Fixed: Options “count”, “count namespace”, and “getall namespace” were returning the wrong number of geofences when there were namespaces with the same prefix (i.e. test, test3, test4)
  • Added: A maximum limit of 20kms for the radius of a circular geofence
  • Added: MD5 hash code for the geofences file that are manipulated through the apx-geofences tool
  • Increase the size of the namespace for tracking criteria. It was increased from 30 to 60 characters
  • Improved, the way to refresh data in the UI mobile section
  • Fixed, the json returned by apx-mdm state when the CID starts by 0
  • Changed: The name for the onewire white list file. Now they are ibutton.onewire.conf and temperature.onewire.conf respectively.
  • Implemented: Saves an MD5 hash of the onewire configuration files when any modification is experienced on any of these files.
  • Added, the option for sending data through the serial port
  • Increased, the memory reserved for watcher service. Now it is used for synchronizing syrus cloud profiles

Apex 21.12.2 (2021-03-24)

  • Added, Bluetooth as destination point and device console
  • Changed, the exit code returned by syrus-apps-manager when the application is already installed. Now code 0 is returned
  • Added, the cloud state to the device shadow
  • Added, syrus-apps-manager option to set a hash code for applications states
  • Added, geofences evaluation to event generator
  • Added, the way to add a custom script at the end of the apex initialization script
  • Fixed, error strings were not returned to syrus cloud console
  • Removed, ffmpeg
  • Added, lftp
  • Added, wvdial

Apex 21.10.4 (2021-03-15)

  • Fixed, UI ecu monitor section, some pgn values were not shown

Apex 21.10.2 (2021-03-11)

Compatible SyrusJS version 1.31.7 or newer

  • FS-001: Added, all the options to support fatigue_sensor mode
  • Fixed, the run cloud script was not returning the exit code
  • Added, the first version of syrus-event-generator
  • Added, the fisrt version of buffer manager
  • Added, the instruction for validating the min apex version when installing an application
  • Changed the syrus-apps-manager start/stop options, now it enables and disables the service
  • Fixed, big geofences files were not uploaded by using the UI
  • Fixed, the tts tool could remain returning audio in progress
  • Fixed, the reboot option when it was sent from a remote source, the OS stayed rebooting all the time
  • Added, fatigue sensor to the serial section in the UI
  • Added, ibutton and temperature on the onewire section in the UI

Apex 21.06.0 (2021-02-10)

  • Fixed, syrus-api was returning an error when no applications installed
  • Improved, the UI section to edit configuration files and check application logs
  • Improved, the port-forwarding tool, add and delete options were included
  • Improved, apx-system option to organize the data partition files, it also creates the /data folders structure. The option changed from set_owner to set_data_files
  • Fixed, apx-bt was failing to return the current state of the BT interface. It starts failing on apex-21.04
  • Added, nano and json-c to the apex OS
  • Added, the run-cloud-script tool used for syrus cloud to execute remote scripts

Apex 21.05.0 (2021-02-05)

  • Changed, the json key for reporting battery warnings to syrus cloud
  • Install the UI as syrus4g user
  • Install the syrus-api as syrus4g user
  • Added, terminal section in the User interface
  • Fixed, the syrus-apps-manager list-instances option
  • Changed, redis version from 5 to 6
  • Changed, the way to authenticate the redis connection for core applications
  • Fixed, documentation about send_sms option in the apx-mdm tool
  • Added, a condition for allowing syrus4g user to use systemctl for custom apex apps
  • Added, an instruction for allowing syrus4g to use port-forwarding tool
  • Added, apx-cfg package for adding some configuration files to apex OS
  • Added, syrus-apps-manager package. It is replacing the old apx-apps tool
  • Added, an option in the apx-system tool for setting the /data owner for syrus4g files
  • Deprecated, apx-apps tool, now it is installed as syrus-apps-manager as part of the syrus-apps package
  • Add an script for forwarding ports
  • Removed, iptables --flush in order it doesn't clear the port forwarding rules previosly configured
  • Changed, net-notifier as apx-tool application
  • Added, an instruction for calling the script that organizes the /data partition owner for syrus4g files. It is called when the Apex OS is updated
  • Changed, the instruction for setting the custom apps symlinks when the Apex OS is updated
  • Removed, [email protected] template and net-notifier from apx-start package
  • Add a new package for installing configuration files

Apex 21.03.0 (2021-01-24)

  • Implemented: A command to extract the status of the onewire core application. This command is status. Returns JSON with a value of 0 for normal operation and -1 for suspected error in the onewire bus.
  • Changed: The add function to properly disregard duplicate onewire devices so that they are not added to the white list.
  • Changed: Now the tool forces alias and device IDs to use lower case letters.
  • Implemented: A working remove functionality for the tool. This remove allows the tool to remove lines from the whitelist.txt regardless of their position also if the lines are terminated with CR+LF or just LF.
  • Changed: The way the reset function works within the tool. Tool now uses systemctl to restart the onewire core application instead of the core application calling systemctl inside itself.
  • Implemented: A command that returns the version of both the tool and the core application.
  • Changed: The order in which tasks for onewire state machine are done. This is done to avoid missing devices that are already connected to the onewire bus. This is because when loading onewire devices that are already connected when S4 restarts, not all of the connected devices appear in the list of w1_master_slaves. Resulting in missing devices that are connected, but not loaded into the onewire application. Set up for udev is now done before loading devices found in w1_master_slaves.
  • Implemented: The utility to call the apx-logger function to announce to SyrusCloud when a possible problem exists on the onewire bus.
  • Changed: When S4 restarts and a onewire device that was already connected to the onewire bus is detected again; the original connection epoch doesn’t get overwritten or lost.
  • Changed: Made it so that onewire information of the last connected device is saved differently so that the get_last function of the apx-onewire tool no longer depends on the onewire device existing in the white list.
  • Changed: Core application now correctly lets the tool restart the application.
  • Fixed: There was an issue that caused applications to get stuck in an infinite loop when the maximum number of onewire devices was reached.
  • Fixed: Application was not able to search its internal list when the maximum number of onewire devices was reached.
  • Added, netcat-openbsd for supporting unit sockets
  • Improve, README file in the apex yocto repository
  • Added, releases.md document in the apex yocto repository

Apex 21.02.0 (2021-01-14)

  • Fixed, the apx-serial modem state response when modem mode is not used
  • Improved, the UI mobile section for phone book
  • Fixed, the execution of syrus-cloud messages when the message length was greater than 100 characters
  • Added, apx-mdm restart command to execute a software reset
  • Deprecated, apx-mdm modem_reset command
  • Changed, the name of the redis channel used to receive the comand for restarting the modem device
  • Added, the redis notifications for publishing changes in the modem state variables
  • Added, a routine for updating the NO_CONN_TIME value returned by apx-mdm state command
  • Changed, the redis config files for disabling replicaof command
  • Added, mobile package to the syrus API

SyrusJS

v1.37.5


  • Fixed, bluetooth restarting syrusjs bug due a bad json
  • Fixed, backlog requesting acknowledgement from file destination
  • Added support for serial RFID reader
  • Added support for serial fuel sensor

RFID Reader

Signals

Events (Oneshot booleans)
- @rfid.event                         Triggered when any rfid event is detected.                          
- @rfid.change                        Triggered when the id changed.   
- @rfid.read                          Triggered when a card aproach the reader, even if it's the same id.  
- @rfid.authorized                    Triggered when the id is whitelisted.   
- @rfid.unauthorized                  Triggered when the id is not whitelisted.

States                 
- $rfid.last.id                       Stores the last id.  
- $rfid.last.alias                    Stores the last alias.   
- $rfid.last.whitelisted              Stores the last whitelisted state (boolean).  
- $rfid.last.conn_epoch               Stores the last connection timestamp.   
- $rfid.authorized.last.id            Stores the last authorized id.   
- $rfid.authorized.last.alias         Stores the last authorized alias.   
- $rfid.authorized.last.whitelisted   Stores the last authorized whitelisted state.   
- $rfid.authorized.last.conn_epoch    Stores the last authorized connection timestamp.  

# Example of event whenever a card is aproached to the reader
define fieldset default fields=RI:$fuel.last.id

define event ev_rfid group=tracking fieldset=default ack=seq label=rfid [email protected]


TAIP - Extended tag
;RI:$rfid.last.id

Serial Fuel Sensor

Signals

Events (Oneshot booleans)
- @fuel.event                         Triggered when any fuel event is detected.                          
- @fuel.state                         Triggered when a state arrives.   
- @fuel.fuelling or @fuel.fueling     Triggered when a fuelling notification arrives. 
- @fuel.warning                       Triggered when a discharge warning notification arrives.
- @fuel.connected                     Triggered when a transition from disconnected to connected is detected.
- @fuel.disconnected                  Triggered when a transition from connected to disconnected is detected.


States

- $fuel.connected                     Stores the last connected state (boolean).  
- $fuel.level                         Stores the last fuel level (number).
- $fuel.temperature                   Stores the last temperature level (number).  
- $fuel.frequency                     Stores the last frequency (number).
- $fuel.timestamp                     Stores the last notification timestamp (epoch).
- $fuel.event                         Stores the last event (string).

# Example of event whenever a card is aproached to the reader
define fieldset default fields=$fuel

define signal sg_fuel_over $fuel.level > 100
define signal sg_fuel_under $fuel.level < 10 
​
define event ev_fuel group=tracking fieldset=default ack=seq label=over trigger=sg_fuel_over
define event ev_fuel group=tracking fieldset=default ack=seq label=over trigger=sg_fuel_under


TAIP - Extended tag
;FF added when fields=$fuel


v1.36.0 Latest

Compatible apx core versions

  Applications              (apps): 0.0.4-r0.1
  Bluetooth                   (bt): 1.1.9-r0.0
  Counters              (counters): 1.0.6-r0.0
  Disk Cleaner              (disk): 0.0.3-r0.0
  ECU                        (ecu): 2.0.4-r0.0
  Geofences            (geofences): 1.0.2-r0.2
  GNSS                       (gps): 1.4.3-r0.0
  Interial Measurement Unit  (imu): 1.1.2-r0.0
  Interface            (interface): 1.0.9-r0.1
  Modem                      (mdm): 1.5.3-r0.0
  Net Devices Manager        (ndm): 0.1.5-r0.0
  Onewire                (onewire): 1.0.2-r0.0
  Serial                  (serial): 0.2.3-r0.0
  Video                    (video): 0.4.2-r0.1
  Watcher                (watcher): 0.2.5-r0.5

Safe Engine Immobilization

  • added variable $safe_immo that is set to true automatically whenever Syrus4 receives the Safe Engine Immobilization command from Pegasus App. You could define a signal based on this variable and trigger your own logic
define signal safe_immo $variables.safe_immo

GPS Backlog

  • added support for GPS backlog (second by second event data recording)

Video

Bug fixes

  • fixed a bug with the speak instruction, to make it compatible with other Languages rather than English
  • fixed a bug with the definition of variables that are not just strings

Changes

  • removed verbose logging for tpms tire parameters
  • defaults amount of GPS Satellites to 0 instead of leaving value empty

v1.34.1 Latest

Changes that bump up the Apex version

Compatible apx core versions

Applications              (apps): 0.0.2
Bluetooth                   (bt): 1.1.8
Counters              (counters): 1.0.6
ECU                        (ecu): 2.0.3
Geofences            (geofences): 1.0.2
GNSS                       (gps): 1.3.1
Inertial Measurement Unit  (imu): 1.1.1
Interface            (interface): 1.0.8
Modem                      (mdm): 1.3.5-r0.1
Net Devices Manager        (ndm): 0.0.8
Onewire                (onewire): 1.0.2
Serial                  (serial): 0.2.2
Video                    (video): 0.3.18
Watcher                (watcher): 0.2.5

Fatigue

  • Updated codebase to use new ECU.d structure, fixes an error with taip value for ecu_distance, tag ;OD
  • Support for mdsm7 fatigue signals (prefix with @fatigue_sensor. or @mdsm7.fatigue_sensor.)
  camera_blocked
  distraction
  fatigue_alarm
  fatigue_warning
  phone
  smoking

# either signal will work
define event fatigue_distraction fieldset=defeault ack=seq group=fatigue label=distract [email protected]_sensor.distraction
define event fatigue_distraction fieldset=defeault ack=seq group=fatigue label=distract [email protected]_sensor.distraction


Bluetooth

  • BT destination point support define destination bluetooth_d taip bluetooth://_:_ ack=disabled
  • BT call button signals @bluetooth.button.call_2x @bluetooth.button.signal
  • BT destination points retry indefinitely until apx-bt returns successful, and messages are acknowledged where applicable

Signal, variable and value improvements

set [variable|value] [name] [value] infers type (true, false, number, string)

set variable new_var "lorem" or set variable new_var lorem

{{$variables.new_var}} = 'lorem'

set variable new_var "lorem ipsum"

{{$variables.new_var}} = 'lorem ipsum'

set value $gnss.latitude == 25.123456 (works for any non internal signal (non @ signals))

fire signal signal_name does not require @ as prefix

Changes

  • ;IB | ;IS: iButton Syrus 3 compatibility fix
  • ;EA: tag temperature field no separator
  • ;AW: tag sends empty value for analog input values instead of *, changed reported position of differential input1/2 in taip ;AW tag to position 9
  • >SSL... | >SXAEC::...: do not requiere an ;ID or ;SI when sent remotely to the device
  • >QSSIP#< fixed response
>SSLget events<
>SXAEC::apx-gps state<

Other

  • http destinations respect url schema
  • long commands can be split into multiple lines
  • removed verbose logging for tpms tire parameters
define counters globals speed_threshold=100kph
    rpm_threshold=3000rpm
    begin_idle_time=300sec
    odometer=0mts
    ignition_time=0mts
define fieldset default
    fields=$io,$gnss,$net,$ecu,
        VO:$counters.globals.odometer,CE:$counters.globals.ignition_time,
        CL:$counters.globals.idle_time,CS:$counters.globals.over_speed,
        CR:$counters.globals.over_rpm
define action ac_start_ign_on trigger=sg_ign_on
    set tracking_resolution move 3min 35deg
define action ac_start_ign_off trigger=sg_ign_off
    set tracking_resolution stop 12hr
  • actions can have multiple commands (requires indentation)
define action ac_my_action trigger=ignitionOn
    set variable driver "john smith"
    set output2 on
    create video --name={{$gnss.timestamp}}_cornering_left --time_win=-30,+10

v1.32.11

Changes

  • Improved ack support for TAIP/tcp, supported modes are imei(default), disabled and seq
  • ECU Errors, SPI, FMI, OC, SM and MIL supported
  • ECU events supports signals, see the respective pgn in the SDK ECU.d
  • ECU distance taip tag added missing multiplier
  • ECU added taip_multiplier to engine pressure values reported as kPa to convert to PSI
  • MOVON and Mobileye support, loaded from internal json files.
  • Fixed, queues are loaded in proper order
  • Improved callbacks for TCP

v1.31.7

Fatigue Sensor support

Signals

  • @fatigue_sensor.fatigue_remind
  • @fatigue_sensor.fatigue_warning
  • @fatigue_sensor.fatigue_alarm
  • @fatigue_sensor.distraction
  • @fatigue_sensor.no_portrait
  • @fatigue_sensor.photo
define event fatigue_remind fieldset=defeault ack=seq group=fatigue photo=fatigue_sensor.fatigue_remind label=remind [email protected]_sensor.fatigue_remind
define event fatigue_warning fieldset=defeault ack=seq group=fatigue photo=fatigue_sensor.fatigue_warning label=warning [email protected]_sensor.fatigue_warning
define event fatigue_alarm fieldset=defeault ack=seq group=fatigue photo=fatigue_sensor.fatigue_alarm label=alarm [email protected]_sensor.fatigue_alarm
define event fatigue_distraction fieldset=defeault ack=seq group=fatigue photo=fatigue_sensor.distraction label=distract [email protected]_sensor.distraction
define event fatigue_no_driver fieldset=defeault ack=seq group=fatigue photo=fatigue_sensor.no_portrait label=no_driver [email protected]_sensor.no_portrait
define event fatigue_photo_captured fieldset=defeault ack=seq group=fatigue photo=fatigue_sensor.photo label=photo trigg[email protected]_sensor.photo

MDT support

  • @mdt.message signal is required on the trigger to use the message, it's recommended that you do not mix this with other signals
define event mdt group=mdt fieldset=default code=0 [email protected]
  • TAIP: STX is now reserved for MDT, use SSL for sending syruslang commands

Bugfixes

  • false|true|Number are parsed as their respective types, not as strings (eg repeated=false)
  • min_duration improvements
  • improved signal propagation

v1.30.1

TPMS support

Signals supported

  • @tpms.alarm_ok
  • @tpms.sensor_mute
  • @tpms.sensor_defective
  • @tpms.tire_leak
  • @tpms.temperature_warning
  • @tpms.over_inflation_critical
  • @tpms.over_inflation_warning
  • @tpms.under_inflation_warning
  • @tpms.under_inflation_critical

Did this page help you?