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.

INCLUDE (Common Headers)

  • 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.