Revision history for C70_BASE (starting at C70_BASE_0410)
=========================================================

====================================================================================================
ATTENTION:
If you update from firmware C70_BASE below 0613 to 0613 or above, please read this note:

With the BASE 0613 firmware release, two bugfixes affecting file storage on the internal filesystems
have been fixed. These fixes may require formatting the internal drives with a new filesystem and
the correct size for the filesystem. Please ensure to import your stored data from the device to
your computer, before the firmware is flashed, as this may clear stored data from the filesystems
once after rebooting.
====================================================================================================

C70_BASE_0637 - 2026-06-12 -------------------------------------------------------------------------

	Fixes
	- Fixed a potential crash with exotic GPS talker IDs, that typically don't appear.
	- Some newer RaceCon versions show a slightly changed timing between sending new configurations
	  and disconnecting from the device. File access to send configurations leads to a stopped
	  logging, when disconnecting logging resumes. On the other hand, sending configurations
	  leads to a restart of the logging application. If everything happens in combination
	  (new logging configuration written, restart of logging after disconnect, while app is about
	  to restart completely), this could case a short instability. This is typically not a problem,
	  as the app was about to restart already, but we now blocked restarting the logging until the
	  proper app restart has completed.
	- If a USB stick could not be enumerated correctly (e.g. by only partially connecting the data
	  pins and not plugging the stick completely and quickly), the USB port could be left in a
	  disabled state. These situations are now detected and the USB functionality is restored.
	- Fixed an issue with the lapstack, that was introduced in the 0634 release. Laptimes and
	  ordering of laps could be incorrect, when displayed in the WinDarab file open dialog details
	  window.

C70_BASE_0636 - 2026-02-09 -------------------------------------------------------------------------

	Fixes
	- Fixed timeout initialization for CAN IN signals, when configured through CAN.xml (used by
	  RaceCon v2.13 or higher). This could cause unnecessary CPU load overhead, even for CAN IN
	  signals that have not been used/configured.
	- Removed an internal source port binding for device-to-device multicast communication. This
	  does not change the user experience, but is a reliability improvement, to reduce potential
	  problems after sending new configurations to a device.
	- Fixed some internal measurement values to debug device-to-device communication. These are
	  usually not visible to customers.

C70_BASE_0635 - 2026-01-18 -------------------------------------------------------------------------

	Features
	- Introduced MSDCom v2.5 protocol version. Slightly different handling of network connections
	  between compatible devices using MSDCom >= 2.5. This change ensures better reliability of
	  connection establishment after restart of applications.

	Fixes
	- Improvements to CAN Out rate limits, configured in RaceCon. In rare cases, the values had
	  either rounding issues or in worst cases could start to accumulate and lead to more messages
	  being sent, than desired by the rate limitation.

C70_BASE_0634 - 2025-11-13 -------------------------------------------------------------------------

	Features
	- An outing update no longer stops and restarts the data recording. Instead it is treated like a
	  laptrigger operation and data recording continues.
	- Introduced support for the A2L keyword "BYTES_ONLY", which forces DAQ list setup to measure
	  multi-byte signals with multiple SET_DAQ_PTR and WRITE_DAQ requests for single bytes.

	Fixes
	- Increased maximum REV channel input update rate. This was limited to 10 ms by mistake.
	- Removed a false positive syslog error message, in case of an empty CAN configuration.

C70_BASE_0633 - 2025-08-04 -------------------------------------------------------------------------

	Features
	- Added a feature that allows automatic transfer of the INI file containing telemetry stream
	  channel informations through a MSD modem device (e.g. LTE65) to the RaceConnect cloud. This
	  does not need to be configured, but will be used automatically, as soon as all involved
	  devices and services are on an appropriate software version.

	Fixes
	- Fixed an internal task shutdown issue, that could lead to invalid memory accesses, if any
	  operation that temporarily stops the logger completely (e.g. reading data with Darab Importer
	  or clearing logged data in the device using RaceCon), is executed and a USB-Stick is attached
	  at a later point in time, when logging has restarted.
	- Fixed an internal timing issue, that could cause minor offsets on analog input values, due to
	  crosstalk, between neighbouring analog channels.
	- Aligned wording of feature unlocks displayed in RaceCon with the wording used in data sheet or
	  manual.

C70_BASE_0629 - 2025-01-27 -------------------------------------------------------------------------

	Features
	- Laptrigger computation module now reacts to changes of the track length configured in RaceCon
	  with an automatic reset to the best laptime, lap segment times and driven distance in the current
	  lap. This leads to a proper initialisation from scratch for these values and avoids potential
	  confusion with an outdated best laptime or implausible segment times.

	Fixes
	- Improvements to Darab file transfer connection availability, if USB data is still being
	  processed in the background.
	- In rare conditions, it could happen that an attached USB stick has not been properly detected
	  after powering up the device. This situation is now detected and the USB communication will be
	  reset, to ensure proper detection of the attached stick.

C70_BASE_0625 - 2024-08-27 -------------------------------------------------------------------------

	Features
	- Include LTE65 status variables as measurements.

	Fixes
	- Improvements to USB problem detection and recovery mechanisms.

C70_BASE_0624 - 2024-07-18 -------------------------------------------------------------------------

	Features
	- Improved support of different GPS sensors and specified GPS sentences.

	Fixes
	- Reduced potential syslog overhead, in case of specific measurement problems, for better
	  analysis in the future.

C70_BASE_0623 - 2024-06-26 -------------------------------------------------------------------------

	Features
	- Added additional USB measurement signals: usb_phy_linestate, usb_intr_status and usb_serial.
	  usb_serial is intended for live measurement in RaceCon, to ease finding USB stick serial
	  numbers. Also the necessity of a USB stick recovery attempt is detected faster under certain
	  conditions.

	Fixes
	- Improved communication efficiency of online measurement between devices again. This is a
	  follow up fix, for the changes introduced in BASE_0621. Depending on the project, the
	  BaseCom changes in release 0621 could have caused increased CPU loads in the system (not
	  necessarily only this device, but even connected devices). Now the CPU load should be back
	  to a normal level or even below BASE_0620, depending on your configuration.
	- In rare cases of operating system failures after restarting the application (e.g. by 'Send
	  configuration'), an additional application restart is performed, to improve reliabilty.

C70_BASE_0622 - 2024-05-08 -------------------------------------------------------------------------

	Features
	- Increased maximum allowed GPS_BAUDRATE, added settings for 230kBaud and 460kBaud.

	Fixes
	- Further improvements on USB recovery mechanism. There is also additional logic to detect when
	  a reset is necessary and a lot of new measurement signals and error counters starting with
	  "usb_...". These shall give additional insights in cases of lost USB communication, why the
	  issue has happened and in which state the various USB software layers are.
	- Fixed RaceCon 'Emergency unlock' under certain conditions.
	- Increased robustness of measurement setups in MSDCom Gateway, also increased Gateway device
	  offline detection timeout.
	- Fixed possible Eventlogging lockup, leading to no more events being recorded.

C70_BASE_0621 - 2024-03-20 -------------------------------------------------------------------------

	Features
	- Optimized CPU utilization for math and conditional channels
	- Changed BaseCom version to v2.4 - for compatibility with all current core features of other
	  devices.

	Fixes
	- Fixed some measurement channel names (typo at "dbg"): msdcom_dgb_... -> msdcom_dbg_...
	- Fixed rounding for TRUE / FALSE times of condition combination channels in mode blinking and
	  pulse.
	- Improved real-time clock reliability in the system, if a clock of a particular device could
	  not be initialized and starts on default time (1st Jan 2000).

C70_BASE_0617 - 2023-10-02 -------------------------------------------------------------------------

	Features
	- Allow faster GPS updates via serial port for messages used to locate position or update time
	- Added additional debug possibilities to MSDCOM protocol
	- Minor improvements to syslogs

	Fixes
	- Avoid unintended short logdata file fragment after outing increment
	- Improved connection stability with RaceCon
	- Fixed array measurements to indices >= 10 using meas-by-name logic blocks

C70_BASE_0616 - 2023-05-25 -------------------------------------------------------------------------

	Features
	- Reduced amount of periodic statusblock transmissions back to 6 sec. intervals, if multiple
	  loggers are enabled in the system.
	- Internal improvements to syslog messages.

	Fixes
	- Fix frozen telemetry values after a stopped and restarted measurement.
	  For example after an outing increment or importing data using WinDarab.
	- Improved Eventlogging in case of high event rate.

C70_BASE_0615 - 2023-04-14 -------------------------------------------------------------------------

	Features
	- Added support for global start conditions for telemetry.
	  Requires upcoming v2.12 (or higher) releases of RaceCon!
	  This allows to reduce the amount of transferred data, e.g. if a data plan with restricted
	  data transfer volumes is used and car is in the pits, while device is turned on.
	- Improved connection establishment between devices, if multiple devices try to connect at once.

C70_BASE_0613 - 2023-02-10 -------------------------------------------------------------------------

	Features
	- Improved DCP handling in Cloud, when Cloud telemetry is used.
	- Enhanced debugging possibilities for Bosch MSDCOM protocol

	Fixes
	- Correct syslog device name for discovered devices.
	- Fix TimeSync clock qualifier incorrect, in case of issues updating realtime or OS clock.
	- One BFSWriter open(..) call now correctly compared against ERROR instead of NULL.
	- Fixed potential issues with USB stick and internal drive being enumerated and drives mounted
	  in parallel.
	- Fixed an issue that ignored a change to the "Maximum files in directory..." setting for logger
	  partition configurations in RaceCon.
	- Fixed an issue for recently produced devices with increased internal storage capacity, that
	  may have offered only the (older) default storage capacity for recording data.
	  If the available storage capacity has not been used correctly, flashing a newer firmware can
	  cause data loss on the internal storage, when booting for the first time. Please ensure data
	  is imported from the device, before flashing new firmware.

C70_BASE_0611 - 2022-10-18 -------------------------------------------------------------------------

	Features
	- Added measurement variables for real write speeds to storage medias per logging (1 and 2)
	  These are the new measurement values:
	      meas_write_rate_intern_001
	      meas_write_rate_intern_002
	      meas_write_rate_usb_001
	      meas_write_rate_usb_002
	  These might be more informative than existing measurements like meas_rate_..., which do not
	  consider data compression.

	Fixes
	- Fixed undesired warnings, when a CCP/XCP Master device is configured and a channel having after
	  syncro raster is configured for recording in the logger.


C70_BASE_0610 - 2022-09-30 -------------------------------------------------------------------------

	Fixes
	- Fixed reading files with multiple readers in parallel. Could happen on interrupted WinDarab
	  connections while reading files and quick reconnects.
	- Fixed a possible file descriptor leak, in a helper function to remove multiple files from a 
	  directory
	- Fixed a potential issue when trying to create syslogs in an interrupt routine.
	- Fixed a possible DIR command file descriptor leak, that can cause trouble after one hundred
	  connections by Darab Importer
	- Fixed a potential issue with measurement setup of XCP master, if more than a specific number
	  of measurement lists are required
	- Fixed a minor syntax error in an A2L format specifier.

C70_BASE_0607 - 2022-07-11 -------------------------------------------------------------------------

	Features
	- Improved robustness, if a slow recording medium is unable to keep pace with the amount of
	  data to be written.
	- Improved robustness on restart of the logger application.
	  For example after 'Send configuration'.
	- Improved robustness of first data samples on USB medias after boot

	Fixes
	- Fixed XCP Master over UDP, to use the full available packet size

C70_BASE_0604 - 2022-05-22 -------------------------------------------------------------------------

	Features
	- increase number of CAN-In-Channels to 1000
    - implement XCP-Master over CAN
    - increase number of GPS-Trigger points in GPS-Module to 50 (only parameter based trigger points)

	Fixes
	- on new device with big partitons, measurement parttion was not handled correctly if USB was 
      plugged in on boot 

C70_BASE_0603 - 2022-02-11 -------------------------------------------------------------------------

	Features
	- Added support for CAN checksums and counters - requires RaceCon v2.11, planned to be released
	  in the next weeks
	- Allows to configure a default gateway, to reach e.g. a telemetry receiver in a different
	  subnet.

	Fixes
	- Improved GPS (Lap-)Trigger quality, if speed or dir input is sent asynchronous (e.g. from ABS)
	  and/or with a different rate to Latitude and Longite signal of GPS receiver.

C70_BASE_0526 - 2021-10-22 -------------------------------------------------------------------------

	Fixes
    - Fix CCP Master endianness for fields in command SET_S_STATUS
	- Global logging condition with pretrigger enabled could have lead to a state, where the logging
	  was paused, while it should be active, on short drops of the logging condition while CPU load
	  is high.

C70_BASE_0525 - 2021-09-24 -------------------------------------------------------------------------

	Fixes
	- Improve logger stability, if multiple loggings are configured and one gets paused, while the
	  other continues to create a lot of logging files.
    - Improve syslog for "discover" devices: Add position suffix to devicename in syslog.
	- Fix detection of cardsize for setting partition sizes.
	- Increase GPS Laptrigger accuracy.
	- Fix logging of channels, acquired by XCPMaster on another logging device.
	- Improve Laptrigger_laptime_dls accuracy for laps longer than ~4 minutes. Values had been
	  slightly drifting due to floating point number accurarcy problems.
	- Fix DCP corruption if HST (LoggingStream) is used.

C70_BASE_0521 - 2021-06-24 -------------------------------------------------------------------------

	Fixes
	- Fix failing "send configuration" directly after (re)start.

C70_BASE_0520 - 2021-05-20 -------------------------------------------------------------------------

	Features
	- GPS extension to multiple satellite domains.
	- Extended data rate and channel count limits for recordings in RaceCon.

	Fixes
	- Fix GPS-Laptrigger detection in case of speed = 0 and avoid double triggers.
	- Improve GPS parsing stability with corrupted input data.
	- Extended CAN Frames with SRR bit = 0 are now received.
	- Fix Speed AWM computation in mode 'Front wheel drive' and 'Rear wheel drive' with unconfigured
	  channels for the unused wheels.

C70_BASE_0519_1 - 2021-03-16 -----------------------------------------------------------------------

	Fixes
	- Fixed potential false positive detections of the USB communication monitoring on long running
	  data transfers and high system load.

C70_BASE_0519 - 2021-03-15 -------------------------------------------------------------------------

	Features
	- Removed CardMemory protocol support. This feature has been discontinued and is now obsolete.
	  Affects compatibility to older ECUs, like MS3.
	- Added a USB communication monitoring to the device driver, to increase recovery chances, if
	  the bus is disturbed during operation (e.g. noise, crosstalk, ...). The logic will then
	  reinitialize the USB device up to 50 times. This is just a workaround, if hardware problems
	  exist and cannot replace proper wiring to avoid the issues correctly.

	Fixes
	- Fixed potential issues in the initialization sequence of the Laptrigger, Fuel and Speed
	  blocks, if one of the modules references channels of another module.
	  (e.g. Speed_vfzg_dls signal used as Laptrigger speed input)
	- Fixed an issue that could format the wrong internal partition, if a PPM1 stick with a broken
	  partition directory has been attached to the device.
	- Fixed mathematical rounding of display page and brightness input signal channel. If value has
	  a fractional portion it is rounded up at 0.5 step increment.
	- Improved robustness if CAN Baudrate is reconfigured without a powercycle.
	- Speed module in RaceCon is now working correctly if 'external' mode is selected and unused
	  input channels are referencing input channels, that should not be taken into account.

C70_BASE_0514 - 2020-11-13 -------------------------------------------------------------------------

	Features
	- Prepared a feature that data recordings of multiple loggers that use the same 'Time master'
	  can be merged by Darab automatically
	  This will require an upcoming Darab release, which will be available soon
	- The CCP_MASTER license unlock now also adds support for XCP master (over Ethernet)

	Fixes
	- Increased robustness of first data per lap/fragment, if boot phase of system takes untypically
	  long due to excessive load
	- Fixed an issue that could cause the system real time clock to drift on each powercycle
	  This fix may not be effective, while other devices without this fix are present in the car
	- Fuel calculation in mode 'Fuel consumed' is now tolerant against input signal dropouts
	- Display switch computed channel with a channel based upper limit is now tolerant against
	  invalid upper limit input values
	- Increased robustness of GPS Laptrigger detection
	- Fixed an issue with very old RaceCon projects, that might contain ConditionalChannels that use
	  two byte datatypes

C70_BASE_0513 - 2020-08-05 -------------------------------------------------------------------------

	Features
	- GPS Track detection now automatically resets the best laptime if a different track is detected
	- Improved measurement unit and conversion for some of the timesync related signals (ts_...)

	Fixes
	- Improved data consistency of the last logging files before power down or unplugging USB stick
	- Fixed measurement configurations that use logging rate none / off unconditionally

C70_BASE_0512 - 2020-07-23 -------------------------------------------------------------------------

	Features
	- Added support for logging rate none / off, usable for conditional logging rate switching

	Fixes
	- Fixed support of Cardmemory protocol for logging via CAN (e.g. MS4 Sport, ...)
	- Fixed FTP access by software tools, if 'Time master' is configured on another device and time
	  signal is not available
	- Fixed outing and lap counter update, if the local device acts as 'Laptrigger' source and
	  outing is incremented during boot. External loggers are now notified about changed counters

C70_BASE_0511 - 2020-05-06 -------------------------------------------------------------------------

	Fixes
	- Improved robustness of track variant detection in GPS-based track detection algorithm
	- State of time module is stored over reboot, retrigger of upcounter implemented

C70_BASE_0510 - 2020-04-23 -------------------------------------------------------------------------

	Fixes
	- Fixed issues with pullup initialisation, based on changes on BASE_0509 software

C70_BASE_0509 - 2020-04-03 -------------------------------------------------------------------------

	Features (requiring RaceCon v2.9 or newer - available in April 2020)
	- Added support for GPS Trigger - allows to trigger events when configured or learned GPS
	  coordinates are reached/crossed
	- Added support for Timer - allows to start up to 10 up- or down-counting timers and trigger
	  events at timeout
	- Extended the Laptrigger module to support
		- GPS based auto detection of race tracks
		- GPS Trigger events as segment trigger input
	
	Features
	- Added support for interpolated lap segment delta times (as additional subchannels of
	  Laptrigger)
	
	Fixes
	- Short power supply drops can no longer cause input channel pullups to be inverted
	- Support for 2039 files per recording partition is functional again
	- Fixed a potential XCP communication problem due to an operating system failure.

C70_BASE_0507 - 2020-02-20 -------------------------------------------------------------------------

	Fixes
	- Fixed an issue, that could lead to missing measurement data, if a WinDarab data download of
	  measurement data was aborted, while the device was actively connected via XCP (e.g. RaceCon)

C70_BASE_0506 - 2020-01-08 -------------------------------------------------------------------------

	Features
	- Support for EventLogging
	- Support for Pretrigger. Some detail aspects:
		- Allowing global logging to begin before the event
		- Allowing conditional logging to switch measurement rate up to 250 ms before the event
		- Allowing conditional logging to switch measurement rate to 0
	- Support for ethernet telemetry no longer requires an additional license unlock and allows
	  increased data rates (up to 200kBit/s via Ethernet, compared to 115kBit/s via RS232 interface)
	- Updated boot logo
	- Additional measurement label "display_alarm_active", which is a bitmask, indicating if an
	  alarm area shows an active alarm

C70_BASE_0451 - 2019-10-18 -------------------------------------------------------------------------

	Features
	- Support for multi-logger

	Fixes
	- Improved consistency of logging files, in situations, where single data packets had to be
	  dropped. For example on USB stick connection stability issues.
	- Measurement signals of external devices no longer get sporadically lost, after rebooting the
	  external device.
	- Fixed an issue with fragment/laptrigger combinations, that could lead to a missing file on the
	  USB stick.
	- Improved application restart stability. Increased delays to give the operating system
	  additional time, to clean internal structures.

C70_BASE_0421 - 2019-06-10 -------------------------------------------------------------------------

	Fixes
	- Label time_hhmmss no longer wraps back to zero at 18:12:15 o'clock

C70_BASE_0420 - 2019-06-07 -------------------------------------------------------------------------

    Fixes
	- Hardened computation modules against input value timeouts - e.g. GroupAdjustment could have
	  been triggered without request.
	- Improved application restart stability, e.g. after sending a new configuration.
	- Fixed the "Fail safe" mode display, if application fails to restart 10 times in a row. Device
	  will be shown in purple in RaceCon.
	- Added a workaround for firewall enabled application PCs.
	- Failures on a connection attempt could lead to a remote device being unloggable until a
	  powercycle was done.

C70_BASE_0414 - 2019-01-25 -------------------------------------------------------------------------

    Fixes
	- Fixed possible NaNs in adjustment data, corrupting RaceCon uploads to a DCM file.
	- Fixed outing counter increment not triggering a new file, after WinDarab logging data imports.
    - Further hardening when an old measurement files goes into timeout, because of a disconnected
	  source device.

C70_BASE_0413 - 2018-12-21 -------------------------------------------------------------------------

    Features
	- The RaceCon laptrigger configuration now also offers the possibility to increase the outing
	  counter, based on a condition channel. This feature requires a RaceCon version >= 2.6.1.5 to
	  be available.
    - Renamed the measurement "serialnum" to "serialnum_ascii".
	- Added a new measurement "serialnum" containing the decimal representation of the serialnumber.

    Fixes
	- Fixed closing of measurement files, when a source device disconnects (timeout).
	- Fixed flushing pending measurement data of disconnected source devices.
    - Fixed possible wrong first timestamp in a recording, when another logger requests data right
	  after reboot.

C70_BASE_0410 - 2018-08-07 -------------------------------------------------------------------------

    Features
    - Added a new measurement channel "B_laptriggerpin" that can be used as digital input, without
	  configuring the laptrigger for this device.

    Fixes
	- Fixed CAN Out rate limitation, to behave more physically correct, like CAN bus is specified.
    - Fixed "event" based CAN Out messages, not being sent.
