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_ioabstraction for LED and digital IOstatmach_ledsmodule and LED abstraction header- Parameter parsing for Danfoss scaling, breaker/boom control
M16
- Bobcat S450 application and configuration updates
- Error tracking via
.errand.symadded
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.cparse_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/.hand*_control_bbox.hinto:d2driver_io.c/.hcontrol_bbox.h
- Platforms affected:
HAUL-TRUCKS/M2LHD/M2TELELHD2/M2
Snapshot source: HLS-SRC-20190214.zip
🛠️ Fixes
- Redirected
hdlc.sinit return to_r100_RESET_DEASSERTfor M16-RADIO-115K - Corrected:
- CAN command initialization
MapServiceBrake()logic- Proximity heartbeat logic in
statmach.c - Enabled:
D2monitor0/1_FaultMaskandLatchMaskdefines- Relocated
freeze_digitalin()tod2driver_io.cfor 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,.errtracking files for BOBCAT/M1617764-HXM02-CATAD30-TELE.symfor 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.zipHLS-SRC-20190207.zipHLS-SRC-20190214.zipHLS-SRC-20190217.zipHLS-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_ioandstatmach_leds. - The system now includes modular parsing and state machine architecture scalable across different vehicle subsystems.
- New bitfield alignment in
config_defhints at better packing and cross-platform config compatibility.