February 2019 — Commit Summary

February 2019 focused heavily on expanding support for BOBCAT S450 and HAUL-TRUCKS platforms (especially for M2 and M16 variants). Major advances included modular digital I/O control, LED abstraction, engine and safety systems, and full state machine integration. Refactorings consolidated platform-specific driver modules for maintainability.

Highlights

  • 🚚 Introduction of HAUL-TRUCKS/M2 platform support with extensive CAN and state machine logic.
  • 🧠 Consolidation of digital driver logic across multiple platforms.
  • 💡 Enhanced LED control abstraction and proximity handling logic.
  • 🛠️ Internal improvements and symbol tracking for BOBCAT/M16 and HAUL-TRUCKS/M2 builds.

🆕 Features

BOBCAT Platform Updates

M2

  • Introduced Bobcat S450 driver and application modules.
  • Added:
  • State machines: engine, fire suppression, throttle, proximity
  • bobcat_d2driver_io abstraction for LED and digital IO
  • statmach_leds module and LED abstraction header
  • Parameter parsing for Danfoss scaling, breaker/boom control

M16

  • Bobcat S450 application and configuration updates
  • Error tracking via .err and .sym added

Snapshot source: HLS-SRC-20190207.zip


HAUL-TRUCKS/M2 Platform

  • Full support for critical vehicle subsystems:
  • ServiceBrake, Retarder, Throttle, Steering, Hoist
  • New state machine modules:
  • statmach_service_brake.c, statmach_retarder.c, statmach_steering.c, statmach_throttle.c, statmach_hoist.c
  • Generated table logic for key vehicle functions
  • Added:
  • d2driver_io.c, parse_opt_hoist_manual.c
  • parse_output_monitor.c, parse_transmission_feedback.c
  • CAN output support updates in hls_can_def.c/.h
  • Static config definitions updated for bitfield alignment

Snapshot source: HLS-SRC-20190214.zip, HLS-SRC-20190217.zip


♻️ Refactors

  • Unified platform-specific driver and control files into shared modules:
  • Merged *_d2driver_io.c/.h and *_control_bbox.h into:
    • d2driver_io.c/.h
    • control_bbox.h
  • Platforms affected:
  • HAUL-TRUCKS/M2
  • LHD/M2
  • TELELHD2/M2

Snapshot source: HLS-SRC-20190214.zip


🛠️ Fixes

  • Redirected hdlc.s init return to _r100_RESET_DEASSERT for M16-RADIO-115K
  • Corrected:
  • CAN command initialization
  • MapServiceBrake() logic
  • Proximity heartbeat logic in statmach.c
  • Enabled:
  • D2monitor0/1_FaultMask and LatchMask defines
  • Relocated freeze_digitalin() to d2driver_io.c for consistency

Snapshot source: HLS-SRC-20190206.zip, 20190217.zip


📈 Version Updates

  • PIC33:
  • M16-RADIO-115K: 1.19.02.0601
  • PIC:
  • Global include version: 1.19.01.3101

🧰 Build and Symbol Tracking

  • Updated:
  • .map, .sym, .err tracking files for BOBCAT/M16
  • 17764-HXM02-CATAD30-TELE.sym for HAUL-TRUCKS/M2
  • Ensured alignment between generated files and platform source consistency

Snapshot source: HLS-SRC-20190206.zip, 20190219.zip


📁 Source Snapshots

  • HLS-SRC-20190206.zip
  • HLS-SRC-20190207.zip
  • HLS-SRC-20190214.zip
  • HLS-SRC-20190217.zip
  • HLS-SRC-20190219.zip

🧠 Inferred Architecture Notes

  • Platform-specific code is now consolidating into reusable driver and control modules, increasing code reuse.
  • LED and digital I/O abstractions are being standardized across platforms using bobcat_d2driver_io and statmach_leds.
  • The system now includes modular parsing and state machine architecture scalable across different vehicle subsystems.
  • New bitfield alignment in config_def hints at better packing and cross-platform config compatibility.