August 2018 — Commit Summary
This document summarizes the development activity during August 2018, focusing on the modular configuration system, parsing logic, platform-specific updates for M16/M2, and various refactors and fixes across shared libraries and PIC codebases.
Highlights
- 📦 Introduction of a modular configuration system with multiple configuration styles.
- 🧩 Addition of comprehensive parsing modules for various configuration options.
- ♻️ Significant refactoring in parsing macros, field size logic, and helper utilities.
- 🧪 Enhancements and fixes for safety-critical logic, especially in BASIC RRC components.
- 🛠️ Continuous cleanup of legacy macros and unused structures.
🆕 Features
Modular Configuration System
- Added
config.cimplementations for multiple configuration styles: CONFIG_STYLECONFIG2_STYLECONFIG_FLASH_STYLEEE_CONFIG_STYLEEE_CONFIG2_STYLEEE_CONFIG3_16_STYLEEE_CONFIG_LITE_STYLE- Introduced
config_styles.hfor centralized style flag definitions. - Snapshot source:
HLS-SRC-20180824.zip
Configuration Parsing
- Added a full suite of parsing modules for configuration:
parse_OutputMonitor.c,parse_ab_mask.c,parse_axis_polarity.c,parse_breaker_aux.c,parse_breaker_sense.c, etc.- Introduced
config.c.omitforEE_CONFIG2_16. - Added new headers:
hls_control_message.h,rom_parameters.h.omit - Snapshot source:
HLS-SRC-20180824;1.zip
Platform-Specific Builds: BASIC RRC
- Introduced support for
M16BASIC RRC: - Files:
19040-HXM16-BASICRRC.c,.cmd,.pjt.omit - Added board revision definitions via
board_revisions_m16.h - Refactored
M2BASIC RRC to sharebasicrrc.cinclude. - Snapshot source:
HLS-SRC-20180824;2.zip,HLS-SRC-20180827.zip
PIC Library Enhancements
- Added
CCS V5 scratch4allocation logic toregs_18F4x8x.c - Updated
versionto1.18.08.2801 - Snapshot source:
HLS-SRC-20180828.zip
♻️ Refactors
Parsing and Display Logic
- Replaced individual blanking macros with
_blank_selection. - Unified
disp_*functions into shared_disp_*_bhelpers. - Simplified field size logic for passthrough masks.
- Removed obsolete or unused macro definitions.
- Snapshot source:
HLS-SRC-20180824;2.zip
M2–M15–M16 Common Code
- Uncommented
show_config_pagelogic. - Commented out:
- Legacy
ADCON0defines disp_putcmacro- Unused timer register/bit macros (
tmr_*) - Updated
version_m16.hto reflect 2018 changes.
🛠️ Fixes
- Corrected pointer handling in
unsafeControlInputsfor digital interlock (M2). - Removed
ERRORSflag from RS232 config (ccs_p18.h). - Ensured consistent input handling using
_selector_getch_WREGinparse_*functions. - Adjusted
TBLPTRassignment in several parsing functions. - Updated
jumptable2.cto useCALLwith second argument. - Fixed parameter types in
disp_rom_addranddisp_rom_noaddr.
📁 Source Snapshots
HLS-SRC-20180824.zipHLS-SRC-20180824;1.zipHLS-SRC-20180824;2.zipHLS-SRC-20180827.zipHLS-SRC-20180828.zipHLS-SRC-20180828;1.zip
🧠 Inferred Architecture Notes
- The modular configuration system allows for flexible deployment across various hardware platforms (M2, M16).
- Parsing modules appear to be generated or templatized, with shared logic for display, masking, and blanking—indicating a scalable configuration backend.
- The system prioritizes legacy support cleanup while preserving backward compatibility through
.omitfiles. - Strong emphasis on memory safety and field alignment (especially with
TBLPTRand bitfields).