diff --git a/.gitignore b/.gitignore index aef8952..db94bea 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ stm32_charger* linker.map *.layout *.out +.DS_Store diff --git a/include/param_prj.h b/include/param_prj.h index c6b113c..15387b5 100644 --- a/include/param_prj.h +++ b/include/param_prj.h @@ -126,9 +126,9 @@ #define CAT_COMM "Communication" // SKUDAK customization suffix: bump on every Skudak-side change so the OpenInverter -// web UI shows a distinct version (e.g. "4=1.20.R-S3") and we can visually confirm +// web UI shows a distinct version (e.g. "4=1.20.R-S4") and we can visually confirm // the right firmware is flashed. Match the stm32-sine -S convention. -#define VERSTR STRINGIFY(4=VER-S3) +#define VERSTR STRINGIFY(4=VER-S4) /***** enums ******/ diff --git a/src/main.cpp b/src/main.cpp index 24ab944..e0214b9 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -158,7 +158,11 @@ extern "C" void tim2_isr(void) scheduler->Run(); } -extern "C" int main(void) +// C++ forbids a linkage specification on `main` (-Wpedantic). The reset_handler +// in libopencm3's vector.c forward-declares `int main(void)` with default +// linkage and resolves it at link time by symbol name, so dropping `extern "C"` +// here doesn't affect how main is invoked at boot. +int main(void) { extern const TERM_CMD termCmds[];