# Release notes

## 1.5.4 - 2025-10-17

### Supported Platform(s)

- V700, V705, V510/V710, V1000/V1200, V1090/V1290, X1200
- UX Designer VM

### Included components

- fieldbusaccess (binary)

### Dependencies

- All platforms
  - Sapcore 3
  - SocketCAN 2
  - CC Aux 3.1
  - CCL 4.2

- V700, V705, V510/V710, V1000/V1200, V1090/V1290, X1200
  - Qt 6.8.3 or newer

### Changes/Included features

- Use "ip link" to configure CAN on all targets
- Sjw is set to 5 by default
- Fixed parsing and comparing ECU name

### Known issues/ deviations

- BLOB and String data types are not supported on the X1200

## 1.5.3 - 2025-08-19

### Supported Platform(s)

- V700, V705, V510/V710, V1000/V1200, V1090/V1290, X1200
- UX Designer VM

### Included components

- fieldbusaccess (binary)

### Dependencies

- All platforms
  - Sapcore 3
  - SocketCAN 2
  - CC Aux 3.1
  - CCL 4.1

- V700, V705, V510/V710, V1000/V1200, V1090/V1290, X1200
  - Qt 6.8.3 or newer

### Changes/Included features

- Use "ip link" to configure CAN on all targets as "CanSetting" has been removed from CCAUX 3.1

### Known issues/ deviations

## 1.5.1 - 2025-03-31

### Supported Platform(s)

- VS, VI, V700, V705, V510/V710, V1000/V1200, X1200
- UX Designer VM

### Included components

- fieldbusaccess (binary)

### Dependencies

- All platforms
  - Sapcore 3
  - SocketCAN 2
  - CC Aux 2

- VS, VI
  - Qt 5.12 or newer
- V700, V705, V510/V710, V1000/V1200, X1200
  - Qt 5.15 or newer
  - Qt 6.4 or newer

### Changes/Included features

- J1939. Fixed (memory) issue with max 10000 cyclic blob transmits possible
- Support for CCL 4 on V700, V705, V510/V710, V1000/V1200, X1200

### Known issues/ deviations

## 1.5.1 - 2024-04-08

### Supported Platform(s)

- VS, VI, V700, V510/V710, V1000/V1200, X1200
- UX Designer VM

### Included components

- fieldbusaccess (binary)

### Dependencies

- All platforms
  - Sapcore 3
  - SocketCAN 2
  - CC Aux 2

- VS, VI
  - Qt 5.12 or newer
- V700, V510/V710, V1000/V1200, X1200
  - Qt 5.15 or newer
  - Qt 6.4 or newer

### Changes/Included features

- J1939. Fixed (memory) issue with max 10000 cyclic blob transmits possible

### Known issues/ deviations

## 1.4.0 - 2023-02-24

### Supported Platform(s)

- VS, VI, V700, V1000/V1200, X900
- UX Designer VM

### Included components

- fieldbusaccess (binary)

### Dependencies

- All platforms
  - Sapcore 3
  - SocketCAN 2
  - CC Aux 2

- VS, VI
  - Qt 5.12 or newer
- V700, V1000/V1200, X900
  - Qt 5.15 or newer
  - Qt 6.4 or newer

### Changes/Included features

- Support for setting default values for outgoing signals in CANopen
- Support for setting default values for outgoing cyclic pgns, J1939
- Support for Qt6
- Support for CCLinux 3.0 (Kirkstone) iMX8
- CANopen support
- Fixed CANopen bugs
  - CANopen transmit sends additional PDO:s when transmitting dynamically mapped
  COB ids.
  - CANopen RX, signed short, does not receive properly.
  - NMT reset fails in reinitialization, wrong Emcp cob-id
  - CANopen didn't handle receiving float correctly

### Known issues/ deviations

## 1.3.0 - 2021-05-07

### Supported Platform(s)

- XS, XA, VC, VA, VS, VI, TG, V700, X900
- UX Designer VM

### Included components

- fieldbusaccess (binary)

### Dependencies

- All platforms
  - Sapcore 3
  - SocketCAN 2
  - CC Aux2 2

- XS, XA, VC, VA
  - Qt 5.6.3
- VS, VI
  - Qt 5.12 or newer
- V700, X900
  - Qt 5.15 or newer

### Changes/Included features

- TX PGNs with variable size (shorter than 8 bytes)
- PGN reception from multiple source addresses
- Initial value of SPNs changed from 0x00 to 0xFF
- Suspend/resume handling improved
- Formatted debug output and debug level (log to file if activated)
- CANopen included as a technical preview

### Known issues/ deviations

- CANopen transmit sends additional PDO:s when transmitting dynamically mapped
  COB ids.
- CANopen RX, signed short, does not receive properly.

## 1.2.2 - 2019-07-26

### Supported Platform(s)
- XS, XA, VC, VA, VS, VI

### Included components
- fieldbusaccess (binary)

### Dependencies
- libsapcore.so.3
- libsocketcan.so.2
- libcc-aux2.so.2
- libQt5Core.so.5

### Changes/Included features
- Bugfix where cyclic receive messages were not received if more than one can interface where specified in configuration.
- Bugfix where cyclic receive messages were not received during a short startup period (around 1 minute).

### Known issues/ deviations
- Running RT with a configuration that has more than one connection with same can interface index (can0 + can0 but with different node ID for example) will result in an error message in console. Trying to create same sync-signal to Data Engine fails. This could be considered a warning and will be updated in future releases.

## 1.2.1 - 2019-05-27

### Supported Platform(s)
- XS, XA, VC, VA, VS, VI

### Included components
- fieldbusaccess (binary)

### Dependencies
- libsapcore.so.3
- libsocketcan.so.2
- libcc-aux2.so.2
- libQt5Core.so.5

### Changes/Included features
- Bugfix where cyclic receive messages were not received if more than one can interface where specified in configuration.

### Known issues/ deviations
- Running RT with a configuration that has more than one connection with same can interface index (can0 + can0 but with different node ID for example) will result in an error message in console. Trying to create same sync-signal to Data Engine fails. This could be considered a warning and will be updated in future releases.

## 1.2.0 - 2019-01-29

### Supported Platform(s)
- XS, XA, VC, VA, VS, VI

### Included components
- fieldbusaccess (binary)

### Dependencies
- libsapcore.so.3
- libsocketcan.so.2
- libcc-aux2.so.2
- libQt5Core.so.5

### Changes/Included features
- Fieldbus Access RT has been adapted to support multiple can interfaces (can0, can1, can2 and can3).
- Initially after configuration file parsing the stack is initialized with the number of instances as specified by the configuration file (connection0, connection1 etc.).
- Default CAN instances updated with FA instance index (0-3)
- CanSocket driver instantiated with multiple instances.
- Error signals now unique to specific can instances e.g. fieldbusAccess_J1939Error_CAN0 (changed from fieldbusAccess_J1939Error)

### Known issues/ deviations
- Running RT with a configuration that has more than one connection with same can interface index (can0 + can0 but with different node ID for example) will result in an error message in console. Trying to create same sync-signal to Data Engine fails. This could be considered a warning and will be updated in future releases.

## 1.1.12 - 2018-09-19

### Supported Platform(s)
- XS, XA, VC, VA, VS, VI, XM

### Included components
- fieldbusaccess (binary)

### Dependencies
- libsapcore.so.3
- libsocketcan.so.2
- libcc-aux2.so.2
- libQt5Core.so.5

### Changes/Included features
- Bug fix - Free memory queue now done when unwanted source PGN is filtered and discarded

### Known issues/ deviations
-

## 1.1.10 - 2018-08-30
- Address field in configuration used as source address filtering.
- Rx signals in FA now allows broadcast messages with 0xFF in configuration file or a specific peer-to-peer source address from configuration source-address field

## 1.1.9 - 2018-05-31
- Added environment variable option FIELDBUSACCESS_SKIP_OS_BOOTED  (export FIELDBUSACCESS_SKIP_OS_BOOTED=) that disables wait for hasOsBooted flag from system during boot. Enables user to prioritize boot order (can-interface and Data Engine needs to be available during FA initialization).
- Fixed bug where connecting to Data Engine no longer reconnected if DE were started after FA during boot.

## 1.1.8 - 2018-05-02
- Fixed bug so cyclic receive blob messages now sends received SA as first byte (previous only the initialized SA were shown)
- OSHasBooted was trapped in a loop when CCAux API failed to retrieve parameter (imx6). Now tries until timeout and then continue startup procedure.

## 1.1.7 - 2018-04-09
- Bug fix - Cyclic timeout detection now works together with suspend-resume

## 1.1.4 - 2018-02-13
- Fix bug where Cyclic Received BLOB messages triggered DE signal change (previous message) of incoming signal and next signal in list!

## 1.1.3 - 2018-01-08
- Prevent configuration file to be overwritten during installation of FA
- Initialized cyclic receive blob (previous-value) messages with FFFFFFFFFFFFFFFF
- Reset timers after a suspend so that cyclic receive error detection is responding accordingly

## 1.1.2 - 2017-10-26
- Fixed bug where a signal value change except byte 1 in CAN-frame did not send updated value to DE as it should
- Fixed Cyclic transmit buffer that never were emptied
- Fixed installation script bug where VERSION where not parsed correct
- Some generic iMX6 updates added

## 1.1.1 - 2017-08-17
- Changed CANBusError type from blob to Unsigned Short
- Update Qt ARM install script
- CAN-Bus error detection, Bus-off etc. detected and sent to DE on fieldbusAccess_CANBusError
- FA attempts to restart can-driver on CAN-Bus error
- Debug mode no longer writes data to output
- Fixed issue with cyclic receive values only working with unsigned int
- Float values received correct in DE
- Fixed console info bug where cycle transmit values where prompted in output as cycle time x 3 (timeout interval) instead of cycle time from configuration file
- Fixed cyclic Error_Ok sent when same value is sent as last received on can-bus
- Updated FA (ARM) so it starts all can-interfaces from conf. file accordingly
- Fixed bug where CAN interface index was used to set the CAN baudrate (CCAux counts the index from 1 and not 0)
- Fixed Cyclic Transmit and Receive of BLOB TP
- Added send Err_Ok to DE stack_error signal after cyclic error detected and signals resumes
- Added txqueuelen 10000 to CAN interface settings
- Changed how instances are created for J1939 and how it should use BusNr found in the configuration file. When a new instance of a J1939Wrapper is created it will now not accept the instance number as the argument. With this addition, it's now possible to use can0, can1 etc. by setting the busNo in the configuration to 0..N. The previous solution always initialized can0 since the default value was set to 0
- Cyclic receive blob values is now stored and compared and only sent (according to configured cycle time) to DE when updated values arrive on the can-bus
- Updated FA J1939 Error message to be sent as one Blob DE signal merging err_code and err_info into one signal

## 1.1.0 - 2017-03-30
- Fixed Cyclic Receive so it now handles multiple signals
- Updated fieldbusaccess with type-safe char, changed to signed char

## 1.0.1 - 2017-03-02
- Fixed received blob size, changed from 255 to 4085 bytes allowing for max blob limit
- Security timeout sleep issue fixed. Now sleep for 10ms instead of 1s in case of buffer overrun
- Updated program arguments, args are no more dependent on position, ./fieldbusaccess -h for additional info
- Added debug argument -d, default off but with argument additional debug information is sent to console
- Updated FA J1939 specific messages (PDU2 < 240). Now adds in initialization correct and messages received (Rx on_change and cyclic)

## 1.0.0 - 2016-12-08
- Fixed bug where SPN buffer was not cleared properly when sending to fieldbusaccess
- Messages in Tx list were wrongly added to APL_Filter, this has now been removed. The filter is only for incoming messages. The bug resulted in Rx buffer overrun when only transmitting messages and another node is transmitting the same messages
- Fixed bug where FA tried to add same PGN to filter list for every SPN in its sublist. This made FA emit an stack error equal to 'Error 2 of class 2 in unit 3 with info 65028 is occurred'

## 0.8.2 - 2016-10-28
- Updated J1939 Err status message now including the whole 16 bit error message and not only the last 8 (number) part.

## 0.8.1 - 2016-10-27
- New argument added to FA [INSTANCE_NAME]. This will be used as data engine client name
- Solved issue when transmitting Blob messages and no signals were updated

## 0.8.0 - 2016-10-19
- Added custom nodeid address list capability to Fieldbus Access runtime from configuration
- Fixed bug where subscribe to sync signal during Sapcore::Connect is lost if Data Engine is not running

## 0.7.8 - 2016-09-28
- Argument handler, FA now requires a configuration file as an argument or it won't start
- If no argument is given a help text is displayed. It's also possible to check FA version with -v option as well as -h for help
- Updated FA with race condition validation. During boot FA waits for OS_IS_BOOTED then setups can-interface according to configuration file. Afterwards FA connects to DE, validates connection and then subscribes to signals according to configuration file

## 0.7.7 - 2016-09-07
- Added Fieldbus Access packages with support for DE 3.0.0
- Update to .run FA installer package scripts
- Fixed 'ARM' bug where blob values were not transmitted from DE
- Added CNF.h with configuration settings
- Changed define bug where sniffer_mode and device_mode where mixed up! Blob support added from FA to DE
- Increase in stability/performance and timer resolution. Updated timer resolution, messages per cycle and call of stack to 1ms from 10ms
- Changed logic between producer/consumer within fieldbusaccess runtime
- Parses Diagnostics values from configuration file (DM1/DM2) and handle them accordingly
- Switch between consumer/producer to better match with configuration tool and GUI application
- Updated Fieldbus Access config tool (Support for BLOB and DM1/DM2)

## 0.7.1 - 2016-04-27
- Data Engine installation files updated to version 2.1.0
- Added new fieldbusaccess installation patch v.0.7.1 for ARM
- Added new fieldbusaccess installation patch v.0.7.1 for VM
- Diagnostic messages DM1, DM2. First version (not sent as BLOB)
- J1939 scaling implemented. Scaled values from DE to FA and reversed
- Support for all DE datatypes supported in J1939, configfile and runtime
- Fixed bug - gain and offset was reversed during config load
- First version cyclic-receive implemented
- Fixed bug where src/dst-address where used as hex rather than decimal in stack
- Added 'change_of_state' and 'cyclic' signals to stack whitelist in initialization
- Added ECU name to parser and J1939Wrapper so that the ECU hex name value is now set to the J1939-stack from the config file
- Handles SPN information from config file when receiving data from CAN-bus and sending to DE
- Updated configuration parser with PGN/SPN J1939 information
- Handles SPN information from config file when receiving data from DE and sending to CAN-bus
- Added support for unsigned datatypes
