#ifndef SW_VER_H_ #define SW_VER_H_ #define MAJOR_VERSION 0 #define MINOR_VERSION 4 #define PATCH_VERSION 4 // 0.4.4: build fix — drop -mlong-calls (wedged the MCU under SteamVR addon load, // hardware-isolated as sole cause) + drop -ffast-math + fix __SAMG55G19__ typo // to __SAMG55J19__. CMakeLists/toolchain only; no firmware logic change. // 0.4.0: doze warm-shallow-sleep (ADR-0005) - display-sleep/wake HID pair // ('H'/'h'), doze-latch, fan kickstart. Host capability-gates doze on >= 0.4.0. // 0.4.1: gamma-eased doze brightness sweep (perceptually even fade/wake). // 0.4.2: born-doze bringup skips fan/LED-on (gated on !doze_active) - kills the // brief boot fan-spin/LED-flash when launching not-worn straight into doze. // 0.4.3: born-doze wake race fix - an 'h' arriving before the bringup settles // into DOZE_ASLEEP is remembered (doze_wake_pending) and the settle comes up // straight into the wake fade, instead of disarming (lit, no fade-in). Fixes // donned-startup + first-don-after-undonned having no brightness sweep. #define macrostr(s) #s #define VERSION_STRING_BUILDER(major, minor, patch) macrostr(major) "." macrostr(minor) "." macrostr(patch) #define VERSION_STRING VERSION_STRING_BUILDER(MAJOR_VERSION, MINOR_VERSION, PATCH_VERSION) const uint8_t* get_sw_ver(void); uint8_t get_sw_ver_len(void); #endif /* SW_VER_H_ */