Skip to content

Latest commit

 

History

History
886 lines (618 loc) · 75.4 KB

File metadata and controls

886 lines (618 loc) · 75.4 KB

3.25.0 (2026-04-21)

Bug Fixes

  • add aged, smoothed time-sync snapshots with consistency guard (39529dd)
  • add fair scheduling across transport queues (4129d6b)
  • add idle handshake so TransportService drains fully before shutdown (f0e4620)
  • add missing newline at end of file in sf_ble.cpp and sf_ble.hpp (f21cff2)
  • add producer flush hook and guard transport shutdown hang (61e0f0c)
  • add timed flush to keep low-rate BLE stream live (1f17b1e)
  • centralize transport shutdown via HighRateStream and remove ride polling (82ec92a)
  • clarify time sync path and drop unused transport packet type (7b0545c)
  • correct packet type reference in finalize method and remove unnecessary reset call (f479caa)
  • document commitEnsemble as enqueue-only semantics (e68f24f)
  • document single-producer requirements for transport queues (fe4a7d2)
  • document TransportWorker as central transport owner (f8d8390)
  • drop Ensemble08 entries until BLE time sync is valid (b7fde04)
  • drop transport packets cleanly when BLE is disconnected (a257d18)
  • drop unused snapshot fields in estimateUnixTime (afe015e)
  • ensure BLE advertising starts after initialization in BleLiveStream (6cfb549)
  • finalize TransportService ownership and tighten time sync/recorder guards (34a5eac)
  • gate producers and keep TransportWorker thread persistent (ab387a6)
  • guard avg duration calc against zero measurement count (4141237)
  • guard recorder open/close behind record sink flag (b38e14a)
  • guard recorder session timestamps behind record sink flag (927000a)
  • guard signed underflow in estimateUnixTime (e052272)
  • guard transport shutdown against missing or dead worker thread (3e78f32)
  • handle TX queue overflow in HighRateStream::flush() (8c39908)
  • include missing headers for time handling in BLE live stream (e394219)
  • let TransportService worker flush its own tail packets on shutdown (26e4a3c)
  • make estimateUnixTime public in BleLiveStream (eaf877d)
  • make TransportWorker thread persistent across sessions (ba1bc46)
  • mark BleLiveStream::processTx as legacy no-op (28d0e81)
  • publish consistent time sync snapshots in BleLiveStream (3da02fa)
  • refactored if statements (adf0242)
  • reject stale time-sync sequences in BleLiveStream (ec22857)
  • remove duplicate source files from CMakeLists.txt (b0003dd)
  • remove redundant timestamp assignment in SS_ensemble08Func (bc59dcd)
  • removed unintentionally guarded part (47bc3d3)
  • rename HighRateStream to TransportWorker as single transport owner (9120dc4)
  • replace flush with finalizePacket in BleLiveStream during session exit (158a015)
  • route low-rate packets directly to TransportWorker (3aaaf12)
  • set BLE control callback before advertising (b521b77)
  • set BLE control callback before advertising (8f18a9d)
  • set BLE control callback before advertising (31e0524)
  • set FLOG_NUM_ENTRIES to 64 in flog.hpp (62c5e9d)
  • simplify time-sync snapshot to mutex-only copy (e3e0e09)
  • stabilize TransportService lifecycle and shutdown behavior (7c0fbef)
  • track recorder write failures in HighRateStream (5f9f2ec)
  • unify telemetry packet builder and low-rate transport (488f44e)
  • update error logging for recorder commit failure (1a4fab1)
  • use recorder-specific chunk size instead of BLE MTU (1faa3e1)
  • wait for transport thread exit before recorder shutdown (7217ba2)

Features

  • made pointer atomic to protect callback assignment/dispatch with fencing (75cd77c)
  • add BLE configuration header and update transport definitions for tunable sizing (f7b0fdc)
  • add BLE configuration header and update transport definitions for tunable sizing (22ccbd7)
  • add BLE transport layer packet definitions and structures (f39346f)
  • add ensemble commit layer for storage and BLE writing (5a8544b)
  • add estimateUnixTime method for improved time synchronization in BLE live stream (524d691)
  • add new log record constants for commit failures in FLOG (6198247)
  • add SPSC queue implementation for lock-free single-producer single-consumer buffer (8e7e1e4)
  • add timestamp to ensemble data and adjust commitEnsemble size calculation (5df0f5a)
  • added compile time bool for GPS inclusion (6fb8630)
  • enhance HighRateStream with recorder and TxPacket queues, and update serviceOnce for improved handling (e23e7a9)
  • enhance SPSC queue with atomic operations for thread safety (6fa8df2)
  • guard init() against being called while running (b32b323)
  • guarded gps in ensembles ride task (642bbde)
  • implement BLE packet builder class for assembling packets (2489121)
  • implement BleLiveStream class for BLE live-stream management and queueing (323200a)
  • implement BleLiveStream class for managing BLE transmit queue (4a46782)
  • implement commitEnsemble function for recorder and BLE streaming (4ad935c)
  • implement HighRateStream class for high-rate IMU record processing and BLE streaming (3293628)
  • implement time synchronization handling in BLE live stream (3911734)
  • improved gaurds for estimateUnixTime (9db7998)
  • initialize HighRateStream in rideTask and remove redundant serviceOnce call in exit (3500992)
  • integrate BLE live stream initialization and processing in ride task (6deb243)
  • integrate BLE live stream initialization and processing in ride task (6865855)
  • integrate HighRateStream for packet transmission and add estimateUnixTime method (f16d3d9)
  • integrate HighRateStream for recorder payload handling and update timestamp estimation in ensembles (ff32eb7)
  • integrate HighRateStream into ensembles and rideTask for improved IMU data handling (6bc6f1b)
  • make sure data is drained before stop() (76badbe)
  • refactor BleLiveStream and HighRateStream to use atomic variables for thread safety (a64b09e)
  • refactor HighRateStream serviceOnce method and enhance atomic variable usage (a98ebe2)
  • remove gps from cli (0300a3c)
  • remove transportExited variable and update stop logic for cleaner thread handling (02ba93a)
  • removed unnesecary static fans for particle API (f968fbe)
  • replace callback function pointers with atomic types for thread safety (75aad4d)
  • replace recorder putBytes calls with commitEnsemble for data handling (18e1596)
  • set session time flag in ride task run method (e97ded8)
  • update BLE transmit queue capacity to support higher throughput (a4209bc)
  • update commitEnsemble calls to use correct size calculation and reintroduce policy switches (6cbbbf6)
  • updated Cmake includes (bc26806)
  • updated Cmake includes (f77f19e)
  • updated Cmake includes (5182989)
  • updated Cmake includes (90a28b0)
  • updated file descriptions (dcce6cc)

3.24.0 (2026-04-21)

Bug Fixes

  • added forward declaration and closed open #if (840f7b5)
  • update BLE UUIDs and author email in sf_ble_defs.hpp (cdc1fd8)

Features

  • add Smartfin BLE wrapper interface (ed7bdf5)
  • created definitions for BLE protocols (0f76f53)
  • enhance ParticleBleBackend documentation for GATT characteristics (12624cf)
  • enhance ParticleBleBackend documentation for GATT characteristics (a532224)
  • fixed compile issues for ble base (2d9c6a7)
  • fixed compile issues for ble base (518939d)
  • fixed compile issues for ble base (0a946d0)
  • implement Particle-backed BLE wrapper with characteristics and event handling (209bd2b)

3.23.1 (2026-02-09)

Bug Fixes

  • correcting mfg output for imu test - mag (85bbdc8)
  • minor ifdef fix (55c0e4a)
  • more conntext in README and fixed output from gps mfg test (f8a290c)
  • removed spark header from mfgTest cpp (96806ab)
  • resolved JSONBufferWriter dependency (c49d8bd)
  • revert to hpp (1c21bb1)
  • wrapped json buffer writer with ifdef particle to let it pass remote tests (be7be51)

3.23.0 (2025-08-18)

Bug Fixes

Features

3.22.0 (2025-08-06)

Bug Fixes

Features

  • Switches to new data format (8986c95)

3.21.0 (2025-07-14)

Bug Fixes

  • Adds default value to getTemp (8d9c16d)
  • Adds tempSensor init/stop (6eb0c99)
  • Fixes table output (c7e4206)

Features

  • Adds std dev check to mfg test (02087c2)

3.20.6 (2025-07-11)

Bug Fixes

  • Fixes use after free/shared buffer bug (7ef5545)

3.20.5 (2025-07-09)

Bug Fixes

3.20.4 (2025-07-09)

Bug Fixes

3.20.3 (2025-07-09)

Bug Fixes

3.20.2 (2025-07-09)

Bug Fixes

3.20.1 (2025-07-09)

Bug Fixes

  • read_reg_as_temperature now returns NAN (18d7799)
  • Fixes includes (a769e7f)
  • read_reg_as_temperature returns NaN on invalid register (cb3fe67)

3.20.0 (2025-07-09)

Bug Fixes

  • Adds sync functions to PC build (2afba18)

Features

3.19.0 (2025-06-26)

Bug Fixes

  • Inlines build date/time (19bfc35)

Features

  • Adds GPS to monitor sensors (5af686b)

3.18.0 (2025-06-25)

Features

  • Implements the manufacturing test (f616103)
  • Implements the manufacturing test (#254) (5e80666)

3.17.4 (2025-06-19)

Bug Fixes

3.17.3 (2025-06-18)

Bug Fixes

3.17.2 (2025-06-13)

Bug Fixes

3.17.1 (2025-06-13)

Bug Fixes

3.17.0 (2025-06-11)

Bug Fixes

Features

3.16.0 (2025-06-11)

Bug Fixes

Features

  • Quits IMU thread prior to sleep (72dc5d2)
  • Quits IMU thread prior to sleep (#248) (d0d64fb)

3.15.0 (2025-06-09)

Bug Fixes

  • Added error handling through error codes for init_file_mapping and resize_file. Added flag for active status of conioHistory module to ensure that program can still run smoothly after an error with file mapping (b34437f)
  • Added file write history implementation to conio.cpp (238a2f2)
  • Added minimal functionality to detect scroll up and down (6afe85b)
  • Change file size increase to linear step of 32MB upon reaching 32MB size (5d849b4)
  • Changed decimal values to char representation when checking user input (6ecc2c3)
  • Changed format string from C++ string to C string for overwriting with vsnprintf to avoid undefined behavior (b014908)
  • Changed SF_OSAL_printf logic to match behavior of Particle implementation (8c90603)
  • Changed size_t to int64_t because possible_frag can be negative (addc6e0)
  • Created helper module, conioHistory.cpp, for conio.cpp to save history. (5dd355f)
  • Fixed offset alignment of new Lines and ensured retrieved lines are properly null-terminated and checked if empty (58af57b)
  • Have conioHistory start off as inactive and become active upon successful init_file_mapping. All error handling deactivates conioHistory (1778e57)
  • Implemented new line logging for conio (c71e170)
  • Included guard to only have CLI history apply to pc_build. (5e6c0bc)
  • Modified SF_OSAL_getch to consume invalid characters and block until next character. Scroll logic is moved to getch since scroll inputs are considered invalid characters to be returned by getch (1759b47)
  • Modified write_line to support both display and non-display lines (124d145)
  • Moved scroll logic to read loop (28cf234)
  • Refactored conioHistory to better reflect history metadata and function like architecture specification (7a94de5)
  • Reimplemented retrieve_display_line (formerly retrieve_line) to only retrieve display lines and their fragments. Relevant documentation updated (eb9e49e)
  • Restructured CONIO_hist_line to begin supporting non-display lines. CPP file reflects new constructor (d3a9bcc)
  • Restructured getline to separately handle scroll input (important for UX concerning user input during scrolling) and ensured that exceeded size inputs are considered entered as a command (650ede7)
  • Scrolling for CLI pc_build (#184) (76e7910), closes #166
  • SF_OSAL_getch now blocks until there is a new input (f216d4f)
  • TEMPORARY - log will stop writing after reaching max file size. (c8920a8)
  • Update the position of the line for fragmented display lines (0a297f2)
  • Updated module to retrieve lines from history and fixed how variables update for tracking history (8ed00fc)
  • User input is updated into history log when scrolling (6a3e5a3)
  • User input will bring the cli window back to the bottom if in the middle of scrolling (a40150c)

Features

  • Added valgrind into Dockerfile (c4041be)

3.14.2 (2025-06-06)

Bug Fixes

  • Delays water sensor initialization to setup (15a0aa8)
  • Delays water sensor initialization to setup (#244) (edd1fb2)

3.14.1 (2025-06-05)

Bug Fixes

  • Adds locks to I2C accesses (7243187)
  • Adds platform dependent block (d8c493a)
  • Delays scheduler init (49d62a8)
  • Enables HDR ensembles (b9fa6c4)
  • FIxes buffer overflow and direntry stack (67dd75a)
  • Fixes delay computation (ca4755f)
  • Fixes initialization (23153ef)
  • Rename shadowed variable (1235b2e)
  • Reorders schedule (e32f15a)
  • Sets session start time (29fcc7a)
  • Switches to dynamic FileCLI object (3e95335)

3.14.0 (2025-06-04)

Bug Fixes

Features

  • Adds command for setting window length (f5ba3f1)

3.13.0 (2025-06-04)

Bug Fixes

Features

3.12.1 (2025-05-14)

Bug Fixes

  • Adds NVRAM interface and docstrings (447cdfb)
  • consolidate water sensor array length (#186) (90dc412)
  • removed inconsistent and redundant array length (69f2a69)
  • water sensor parameter removed (55a207e)
  • workflow testing (d257f31)

3.12.0 (2025-05-09)

Bug Fixes

  • not supported implementation for non particle (9ff8757)

Features

3.11.0 (2025-05-09)

Bug Fixes

Features

  • Changes CLI exit to default to STATE_CHARGE (1544ee9)

3.10.0 (2025-05-07)

Bug Fixes

  • Adds debugging for cellular (ad8820b)
  • Adds state transition justifications (b4e0259)
  • Adds test for temperature/water encoding (2d2987c)
  • Allows fast deploy from charge (5859775)
  • Cleans up output (88769f3)
  • Fixes scheduler (a761577)
  • Fixing scheduler (c0c604a)
  • Updates notebook run (73456a4)

Features

  • Adds Ens 1 to the schedule (ad2abef)
  • Adds Ensemble01 implementation (7c46d5e)

3.9.2 (2025-04-29)

Bug Fixes

  • Adds timing output (2a1525a)
  • Allows deploy while in charge (ff35549)
  • Fixes context window (acc968c)
  • Fixes inWater flag behavior (87b5328)
  • Fixes monitorSensors water (fc39bc7)
  • Fixes schele (367280d)
  • Fixes sensor utilization and staging (a88d7d7)
  • Removes extraneous state configuration (5999b32)

3.9.1 (2025-04-25)

Bug Fixes

3.9.0 (2025-04-22)

Bug Fixes

  • Adds charger and water check inhibit (cfefff9)
  • Adds checks for DMP init, fix AD0 (f650f7c)
  • Adds debugging and timer config (3cba017)
  • Adds setupICM (174cb06)
  • Consolidated ensembles (5c6fdeb)
  • Consolidates buffers (28a5d83)
  • Disables ensemble (c0bbc63)
  • Fixes charger task ride behavior (f40711c)
  • Fixes dummy (f7c576b)
  • Fixes monitorSensors (379b19a)
  • Fixes PC build (02c2344)
  • Fixes PC build and moves ensembleTypes to deploy (07384dc)
  • Implements resetReasonData for pc_hal (15b200f)

Features

  • Adds additional system dump command (ffa2322)
  • Adds menu for system dump (d9ee06c)
  • Adds reset reason data logging (14afb1f)
  • Implementing ensembles and ride task (75e7561)

3.8.2 (2025-04-14)

Bug Fixes

3.8.1 (2025-04-14)

Bug Fixes

  • Consolidated DMP data access (48bffc3)

3.8.0 (2025-04-14)

Bug Fixes

  • Adds error catching for monitorSensors (a0c5e3a)
  • Adds platform guards (27ca69b)

Features

3.7.2 (2025-04-10)

Bug Fixes

  • consolidated SleepTask::BootBehavior accesses to NVRAM accesses (274fc24)
  • consolidated SleepTask::BootBehavior accesses to NVRAM accesses (#187) (a368ae6)

3.7.1 (2025-03-30)

Bug Fixes

  • implement error logging for Temp read (26098f0)
  • IMU get sensor readings return values closes #130 (#165) (3c9b845)

3.7.0 (2025-03-02)

Features

  • data collection now averages data (8fdff1a)
  • data collection now averages data (#145) (90761be)
  • data collection now averages data properly with correct naming (9b598bc)

3.6.3 (2025-02-10)

Bug Fixes

3.6.2 (2025-02-05)

Bug Fixes

  • in DataUpload, commented unused function & added docs (c926f21)
  • in DataUpload, commented unused function & added docs (#132) (777380a)

3.6.1 (2025-01-27)

Bug Fixes

  • changed format specifier (fad43fc)
  • explicit cast variable to prevent warning (d7ebf8b)
  • explicit cast variable to prevent warning (#157) (9e4df01)
  • used to fix formatting issue (1791138)

3.6.0 (2025-01-07)

Bug Fixes

Features

3.5.0 (2025-01-07)

Features

  • switched backslashes to forward slashes (c23d9d6)
  • switched backslashes to forward slashes (#161) (2ca2141)

3.4.0 (2024-12-06)

Features

  • integrated water sensor into data collection (19bee51)
  • integrated water sensor into data collection (#146) (5e3ad08)

3.3.3 (2024-11-22)

Bug Fixes

3.3.2 (2024-11-12)

Bug Fixes

  • fields inside menu_ documented. revert unintended changes (fd3ef27)

3.3.1 (2024-11-07)

Bug Fixes

  • solve recorder_debug members not documented doxygen warning (782545e)
  • solve recorder_debug members not documented doxygen warning (88403a5)
  • solve recorder_debug members not documented doxygen warning (#112) (055fb6c)

3.3.0 (2024-11-01)

Features

3.2.3 (2024-11-01)

Bug Fixes

3.2.2 (2024-10-30)

Bug Fixes

  • add brief & details to chargetask documentation (42ed2e6)
  • add brief & details to ChargeTask documentation (#105) (0c004d8)

3.2.1 (2024-06-23)

Bug Fixes

  • adds arrows, calibration (1285620)

3.2.0 (2024-02-10)

Bug Fixes

  • add newline to water readings (191f30f)
  • add mfg test command to main cli menu (89845c4)
  • Added check for system descriptor (bcb8bab)
  • Added FLOG include (24cafec)
  • Adds action logic (d36f67f)
  • Adds check for boot behaviors (4ddcbc5)
  • Adds chgdir (3422dcb)
  • Adds connect shortcut (5e79c51)
  • Adds debug point flog (32349fe)
  • Adds device os version (50535dc)
  • Adds function to convert boot behavior to strings (8b09693)
  • Adds initial style guide (f2fc5b6)
  • Adds name table (0ffdabf)
  • Adds name to deploy open debug print (4293b17)
  • Adds NVRAM display (9e4628f)
  • Adds protection against double open (63b10dd)
  • Adds state change (89cf69a)
  • Cleaned up flog entries (8720114)
  • Cleans up mfg test logic (2d07d44)
  • corrected power detect pin (19e7991)
  • delete duplicated code (85bc539)
  • Enabled cloud connectivity commands (7339458)
  • escape from chargestate when charger removed (1082af7)
  • fix errors after merging conflicts (d0c65df)
  • Fixes charger check (82e6ea2)
  • FIxes Check Charging output (880b8a8)
  • Fixes connection behavior (949c8bb)
  • Fixes current_dir level (815c6a1)
  • Fixes data location initialization (4d6f328)
  • Fixes deploy open debug print (4bfd7bd)
  • Fixes display formats (0f7c370)
  • Fixes fileCLI b85dump buffer sizes (683d59b)
  • Fixes includes (cb0da06)
  • Fixes LED mapping and charge status (80548f0)
  • Fixes looping behavior and optimizes upload sizes (55e4a96)
  • Fixes newlines (563e2e3)
  • fixes Recorder::getLastPacket return value (a44a3df)
  • Fixes sleep CLI (56c243a)
  • Fixes static prototypes and docstrings (9710fb7)
  • Fixes tooling paths and switches to c++11 (b74b46d)
  • Fixes upload CLI (f23356f)
  • Fixes USB power detect (affac88)
  • Includes (bd0ae1e)
  • mark static functions as private in header (fadb871)
  • Moves chargerTimer after static prototypes (597040d)
  • Pops on empty session (654abd5)
  • Reduces flog entries to 128 (6154c5b)
  • remove duplicates from merge (c885e9b)
  • remove unused defines in mfg test (9ecf4d1)
  • Removes setName (e3cc6a5)
  • Removes SpiffsParticleRK dependency (770cb2b)
  • Resolves CLI prompt (d6ff364)
  • return statement (5b65ec9)
  • Rolling back base85 (825e778)
  • set correct wet/dry pins (de3d2d1)
  • stop the temp sensor when failed to start (ac01093)
  • stop using EIO (ba13400)
  • stop water timer when doing manufacturing test (bcabc33)
  • swich icm driver to get magnetometor data (f2646eb)
  • switch to statically allocated array for water detect (c9b37d0)
  • Switches to sf::cloud API (c8ab5ee)
  • Switches to sf::cloud API (22d800a)
  • update water detect pins (15d07f3)
  • Updates base85 to latest (c41fe78)
  • Updates flog (86a4b45)
  • Updates helptext (be37dac)
  • Updates hexdump (47a6bd8)
  • Updates printState logic (8f37227)
  • Updates Recorder::hasData return type (d4d6981)
  • Updates WKP_PIN (a4766b2)
  • use system.batteryState for battery state instead of pin read (89417a3)

Features