Skip to content

v2.1.2 - RTC Documentation & Default Configuration (2026-01-01)

What Changed?

This release makes ENABLE_RTC=1 the default configuration in source code and updates all related documentation to reflect the new default status. RTC (Real-Time Clock) support is now explicitly documented as the standard for v1+ firmware, with full docstring updates for clarity and consistency.


What's New

Configuration Update: RTC Now Default

What it does:

Establishes ENABLE_RTC=1 as the standard default in include/config.h and updates all related documentation. This formalizes the shift toward RTC support as a core feature for v1+ firmware.

Documentation Updates:

  • Updated docs/develop/enable-rtc.md with current defaults and feature descriptions
  • Updated include/rtc_manager.h docstrings to reflect command naming (SET_RTC_TIME, GET_RTC_TIME variants)
  • Updated field references from unix_timestamp to detected_us (microsecond precision)
  • Updated src/command/rtc.cpp parameter documentation for clarity
  • Clarified that ENABLE_RTC=1 is default for v1+, disabled only in v0 (legacy)

Installation

Quick Start

# Get the release
git checkout v2.1.2

# Build and upload
task upload

# Verify RTC is working
task monitor

RTC support is automatically enabled. You can query the device time with GET_RTC_TIME or set it with SET_RTC_TIME <unix_timestamp>.


What's Different from the Last Version?

✅ Added

  • Comprehensive RTC documentation updates across all related files
  • Clarified default configuration status for ENABLE_RTC in both config.h and documentation

🔧 Changed

  • include/config.h: ENABLE_RTC default changed to 1 (was 0)
  • include/rtc_manager.h: Updated docstrings to reflect current command names and field names
  • docs/develop/enable-rtc.md: Completely updated with current defaults and features
  • src/command/rtc.cpp: Clarified parameter documentation for unix_timestamp format

â„šī¸ No Breaking Changes

  • RTC functionality is identical to v2.1.1
  • All existing code, APIs, and command interfaces remain unchanged
  • This is purely a configuration and documentation update

Is It Safe to Upgrade?

Backward Compatible: Yes

  • No functional changes - RTC behavior is identical to v2.1.1
  • Configuration change (ENABLE_RTC default) does not affect v0 profile (explicitly overridden)
  • All v1 and v2 profiles automatically use RTC (same as before)
  • Existing command interfaces and responses remain unchanged
  • Safe for all existing deployments

Tests Passed

  • ✅ Builds without errors (v0, v1, v2 profiles)
  • ✅ Pre-commit checks pass (trailing whitespace, YAML/JSON, merge conflicts)
  • ✅ RTC functionality unchanged from v2.1.1
  • ✅ Documentation consistency verified across all files
  • ✅ Docstrings and comments updated throughout codebase

Release Details

  • Date: 2026-01-01
  • Version: v2.1.2
  • Files Changed: 5
  • include/config.h - ENABLE_RTC default changed to 1
  • include/rtc_manager.h - Docstrings updated
  • src/command/rtc.cpp - Parameter documentation clarified
  • docs/develop/enable-rtc.md - Complete documentation update
  • CHANGELOG.md - Auto-generated by commitizen
  • Commit Hash: fd94a7b (bump: version 2.1.1 → 2.1.2)
  • Type: PATCH (Configuration/documentation update)

Next Steps

  • Continue maintaining RTC functionality as a core feature for v1+ firmware
  • Monitor for any edge cases in cross-detector synchronization scenarios
  • Consider future enhancements to RTC precision (e.g., 1PPS synchronization with ENABLE_PPS)