Project Changelog by Architecture and Project
PIC/BOBCAT
Initial Source and CAN Support
- Added initial source, CAN, and fault message files for A21-BOBCAT3.
- Added M16 and M2 board source, CAN, config, and state machine files.
- Added dash, ECM, ECU CAN definitions and stats headers.
M2 Board Application and State Machines
- Added Bobcat S450 application and driver modules for M2.
- Implemented engine, fire suppression, throttle, proximity, breaker, park brake, fire suppression, passthrough, antenna, and bobcat state logic.
- Modularized state machine logic into separate source/header files.
- Added hardware abstraction macros for outputs and relays.
- Implemented watchdog relay control functions.
- Added freeze controls for CAN and config initialization.
- Updated CAN control masks and parameter parsing for breaker PT1/PT2.
Build and Configuration
- Added build scripts (
.cmd), symbol, error files for M2 and M16.
- Updated config info and parameter structures for scaling and padding.
- Added ROM blocks for CAN and configuration initialization.
- Added parameter text ROM blocks for config UI.
- Refactored application to support new configuration access macros.
- Removed legacy M2;1 directory and unused code.
PIC33/M16-RADIO-115K
CPU Reset and HDLC Improvements
- Implemented CPU reset via CAN and longjmp pending handling.
- Added USER_CPU_RESET macro and handler.
- Updated HDLC protocol with timeout timers and frame rejection windows.
- Added HDLC reset stats and RX timing stats.
- Replaced hardware timer flags with software timeout flags.
- Updated state machine and CAN interface to use new timeout scheme.
Version Updates and Refactors
- Improved code formatting and indentation.
- Restructured bitfields in state_timer.h.
- Updated version to 1.19.01.1001 and later 1.19.02.0601.
- Fixed assembly block usage and CAN_CTRL_MASK_INIT.
- Updated project map and workspace files.
PIC33E/A53E-BOBCAT
CAN Control and Filters
- Added CONTROL_MASK CAN ID and buffer for digital output control.
- Implemented CONTROL_MASK filter logic in ecan_def.s.
- Added board revision and boardid headers for A53 series.
- Updated app.h and parameters_def.h for new mappings.
- Fixed bit logic in CAN filter assembly.
Build and Project Configuration
- Updated Makefile and project configuration files (
nbproject).
- Refined code formatting in IO assembly.
HAUL-TRUCKS/M2
State Machine and Driver IO
- Added ServiceBrake, Retarder, Throttle, Steering, Hoist table generation.
- Added d2driver_io.c and parse_opt_hoist_manual.c modules.
- Unified driver IO and control bbox header files.
- Fixed CAN command initialization.
- Updated proximity heartbeat and monitor logic.
- Enabled fault and latch mask defines.
LED Abstraction
- Added statmach_remote_leds.c for remote LED handling.
- Removed legacy remote LED macros.
EXCAVATORS/M2
Modular State Machine and Controls
- Added modular state machine files for deadman, estop, power reset, proximity, indicators, travel.
- Renamed and standardized statemachine module function names.
- Added output monitoring and control freeze modules.
- Added CAN ROM and config block initialization.
- Added redundant control mapping and interlock duration support.
- Fixed configbits and timer ISR handling for monitoring timeouts.
CAN Configuration Enhancements
- Added CAN drop delay parameter and config support.
- Expanded config structure for timing and activity fields.
- Updated control_bbox bitfield layout.
LIB (Library Modules)
LED Handling and Parsing
- Added LED control APIs and modular LED handling for local and remote LEDs.
- Added advanced parse testing macros in parse_test.c.
- Added T45 millisecond timer and timeout functions.
- Added CAN message stall/repeat logic in can_send_stalled.c.
Delay and Timer Support
- Added assembly delay routines (
delay_ms, delay_us, __delay32).
- Updated delay logic to support various CPU clock rates.
- Added board revision headers (
board_revisions.h, board_revisions_a53.h).
- Added LED bitfield and mask definitions (
hls_can_leds.h).
- Added CAN stall/repeat support header (
can_send_stalled.h).
- Added
ccsdefs.h for macro definitions.