From 583854e37efde7f461e073e735a1736b02d28c70 Mon Sep 17 00:00:00 2001
From: Selene ToyKeeper
Date: Mon, 17 Apr 2023 00:08:32 -0600
Subject: switched the rest of FSM + Anduril to use SPDX license headers
instead of full GPL headers (or all too often, nothing at all)
There are a few "FIXME" entries where I'm not sure about the correct copyright.
---
hwdef-BLF_GT.h | 9 ++++---
hwdef-BLF_GT_Mini.h | 9 +++----
hwdef-BLF_LT1-t1616.h | 16 +++++-------
hwdef-BLF_LT1.h | 10 ++++----
hwdef-BLF_Q8-T1616.h | 14 +++++-----
hwdef-BLF_Q8.h | 11 ++++----
hwdef-Emisar_D1.h | 9 +++----
hwdef-Emisar_D18.h | 9 ++++---
hwdef-Emisar_D1S.h | 9 +++----
hwdef-Emisar_D4.h | 9 ++++---
hwdef-Emisar_D4S.h | 9 +++----
hwdef-Emisar_D4Sv2-tintramp.h | 9 ++++---
hwdef-Emisar_D4Sv2.h | 9 ++++---
hwdef-Emisar_D4v2.h | 8 +++---
hwdef-FF_PL47.h | 11 ++++----
hwdef-FF_ROT66.h | 11 ++++----
hwdef-FW3A.h | 9 ++++---
hwdef-Mateminco_MF01-Mini.h | 9 ++++---
hwdef-Mateminco_MF01S.h | 9 ++++---
hwdef-Mateminco_MT35-Mini.h | 9 ++++---
hwdef-Noctigon_DM11-12V.h | 9 ++++---
hwdef-Noctigon_DM11-SBT90.h | 9 ++++---
hwdef-Noctigon_DM11.h | 9 ++++---
hwdef-Noctigon_K1-12V.h | 11 ++++----
hwdef-Noctigon_K1-SBT90.h | 9 ++++---
hwdef-Noctigon_K1.h | 9 ++++---
hwdef-Noctigon_K9.3.h | 10 ++++----
hwdef-Noctigon_KR4-12V.h | 9 ++++---
hwdef-Noctigon_KR4-tintramp.h | 9 ++++---
hwdef-Noctigon_KR4.h | 10 ++++----
hwdef-Sofirn_LT1S-Pro.c | 1 -
hwdef-Sofirn_LT1S-Pro.h | 14 +++++-----
hwdef-Sofirn_SP10-Pro.h | 26 +++++++++----------
hwdef-TK_Saber.h | 9 ++++---
hwdef-Wurkkos_TS10.h | 20 +++++++--------
hwdef-Wurkkos_TS25.h | 17 +++++-------
hwdef-fw3x-lume1.h | 7 ++---
hwdef-gchart-fet1-t1616.h | 24 ++++++++---------
hwdef-thefreeman-lin16dac.h | 29 ++++++++++-----------
spaghetti-monster/anduril/anduril.c | 23 +++--------------
spaghetti-monster/anduril/aux-leds.c | 28 +++-----------------
spaghetti-monster/anduril/aux-leds.h | 27 +++----------------
spaghetti-monster/anduril/battcheck-mode-fsm.h | 27 +++----------------
spaghetti-monster/anduril/battcheck-mode.c | 28 +++-----------------
spaghetti-monster/anduril/battcheck-mode.h | 27 +++----------------
spaghetti-monster/anduril/beacon-mode.c | 28 +++-----------------
spaghetti-monster/anduril/beacon-mode.h | 27 +++----------------
spaghetti-monster/anduril/candle-mode.c | 28 +++-----------------
spaghetti-monster/anduril/candle-mode.h | 27 +++----------------
spaghetti-monster/anduril/cfg-blf-gt-mini.h | 4 +++
spaghetti-monster/anduril/cfg-blf-gt.h | 4 +++
spaghetti-monster/anduril/cfg-blf-lantern-t1616.h | 4 +++
spaghetti-monster/anduril/cfg-blf-lantern.h | 4 +++
spaghetti-monster/anduril/cfg-blf-q8-t1616.h | 4 +++
spaghetti-monster/anduril/cfg-blf-q8.h | 4 +++
spaghetti-monster/anduril/cfg-emisar-d1.h | 4 +++
spaghetti-monster/anduril/cfg-emisar-d18-219.h | 4 +++
spaghetti-monster/anduril/cfg-emisar-d18.h | 4 +++
spaghetti-monster/anduril/cfg-emisar-d1s.h | 4 +++
.../anduril/cfg-emisar-d1v2-7135-fet.h | 6 ++++-
.../anduril/cfg-emisar-d1v2-linear-fet.h | 4 +++
spaghetti-monster/anduril/cfg-emisar-d1v2-nofet.h | 6 ++++-
spaghetti-monster/anduril/cfg-emisar-d4-219c.h | 6 ++++-
spaghetti-monster/anduril/cfg-emisar-d4.h | 4 +++
spaghetti-monster/anduril/cfg-emisar-d4s-219c.h | 4 +++
spaghetti-monster/anduril/cfg-emisar-d4s.h | 4 +++
spaghetti-monster/anduril/cfg-emisar-d4sv2-219.h | 4 +++
.../anduril/cfg-emisar-d4sv2-tintramp-fet.h | 4 +++
.../anduril/cfg-emisar-d4sv2-tintramp.h | 4 +++
spaghetti-monster/anduril/cfg-emisar-d4sv2.h | 4 +++
spaghetti-monster/anduril/cfg-emisar-d4v2-219.h | 4 +++
spaghetti-monster/anduril/cfg-emisar-d4v2-nofet.h | 4 +++
spaghetti-monster/anduril/cfg-emisar-d4v2.h | 5 ++--
spaghetti-monster/anduril/cfg-ff-e01.h | 4 +++
spaghetti-monster/anduril/cfg-ff-pl47-219.h | 4 +++
spaghetti-monster/anduril/cfg-ff-pl47.h | 4 +++
spaghetti-monster/anduril/cfg-ff-pl47g2.h | 4 +++
spaghetti-monster/anduril/cfg-ff-rot66-219.h | 4 +++
spaghetti-monster/anduril/cfg-ff-rot66.h | 4 +++
spaghetti-monster/anduril/cfg-ff-rot66g2.h | 4 +++
spaghetti-monster/anduril/cfg-fw3a-219.h | 4 +++
spaghetti-monster/anduril/cfg-fw3a-nofet.h | 4 +++
spaghetti-monster/anduril/cfg-fw3a.h | 4 +++
spaghetti-monster/anduril/cfg-fw3x-lume1.h | 7 ++++-
spaghetti-monster/anduril/cfg-gchart-fet1-t1616.h | 4 +++
.../anduril/cfg-mateminco-mf01-mini.h | 4 +++
spaghetti-monster/anduril/cfg-mateminco-mf01s.h | 4 +++
.../anduril/cfg-mateminco-mt35-mini.h | 4 +++
spaghetti-monster/anduril/cfg-noctigon-dm11-12v.h | 4 +++
.../anduril/cfg-noctigon-dm11-nofet.h | 4 +++
.../anduril/cfg-noctigon-dm11-sbt90.h | 4 +++
spaghetti-monster/anduril/cfg-noctigon-dm11.h | 4 +++
spaghetti-monster/anduril/cfg-noctigon-k1-12v.h | 4 +++
spaghetti-monster/anduril/cfg-noctigon-k1-sbt90.h | 4 +++
spaghetti-monster/anduril/cfg-noctigon-k1.h | 4 +++
spaghetti-monster/anduril/cfg-noctigon-k9.3-219.h | 4 +++
.../anduril/cfg-noctigon-k9.3-nofet.h | 4 +++
.../anduril/cfg-noctigon-k9.3-tintramp-219.h | 4 +++
.../anduril/cfg-noctigon-k9.3-tintramp-fet.h | 4 +++
.../anduril/cfg-noctigon-k9.3-tintramp-nofet.h | 4 +++
spaghetti-monster/anduril/cfg-noctigon-k9.3.c | 5 ++++
spaghetti-monster/anduril/cfg-noctigon-k9.3.h | 4 +++
spaghetti-monster/anduril/cfg-noctigon-kr4-12v.h | 4 +++
spaghetti-monster/anduril/cfg-noctigon-kr4-219.h | 4 +++
spaghetti-monster/anduril/cfg-noctigon-kr4-219b.h | 4 +++
spaghetti-monster/anduril/cfg-noctigon-kr4-nofet.h | 4 +++
.../anduril/cfg-noctigon-kr4-tintramp.h | 4 +++
spaghetti-monster/anduril/cfg-noctigon-kr4.h | 4 +++
spaghetti-monster/anduril/cfg-sofirn-lt1s-pro.c | 22 ----------------
spaghetti-monster/anduril/cfg-sofirn-lt1s-pro.h | 4 ++-
spaghetti-monster/anduril/cfg-sofirn-sc21-pro.h | 4 +++
spaghetti-monster/anduril/cfg-sofirn-sp10-pro.h | 4 +++
spaghetti-monster/anduril/cfg-sofirn-sp36-t1616.h | 4 +++
spaghetti-monster/anduril/cfg-sofirn-sp36.h | 4 +++
.../anduril/cfg-thefreeman-lin16dac.h | 4 +++
spaghetti-monster/anduril/cfg-wurkkos-ts10.h | 6 ++++-
spaghetti-monster/anduril/cfg-wurkkos-ts25.h | 6 ++++-
spaghetti-monster/anduril/channel-modes.c | 10 +++-----
spaghetti-monster/anduril/channel-modes.h | 8 +++---
spaghetti-monster/anduril/config-default.h | 25 +++---------------
spaghetti-monster/anduril/factory-reset-fsm.h | 26 +++----------------
spaghetti-monster/anduril/ff-strobe-modes.c | 27 +++----------------
spaghetti-monster/anduril/ff-strobe-modes.h | 26 +++----------------
spaghetti-monster/anduril/hank-cfg.h | 2 +-
spaghetti-monster/anduril/lockout-mode-fsm.h | 26 +++----------------
spaghetti-monster/anduril/lockout-mode.c | 29 ++++-----------------
spaghetti-monster/anduril/lockout-mode.h | 26 +++----------------
spaghetti-monster/anduril/misc.c | 27 +++----------------
spaghetti-monster/anduril/misc.h | 26 +++----------------
spaghetti-monster/anduril/momentary-mode.c | 27 +++----------------
spaghetti-monster/anduril/momentary-mode.h | 26 +++----------------
spaghetti-monster/anduril/off-mode.c | 29 ++++-----------------
spaghetti-monster/anduril/off-mode.h | 26 +++----------------
spaghetti-monster/anduril/ramp-mode-fsm.h | 28 ++++----------------
spaghetti-monster/anduril/sos-mode.c | 27 +++----------------
spaghetti-monster/anduril/sos-mode.h | 26 +++----------------
spaghetti-monster/anduril/strobe-modes-fsm.h | 25 +++---------------
spaghetti-monster/anduril/strobe-modes.c | 29 ++++-----------------
spaghetti-monster/anduril/strobe-modes.h | 27 ++++---------------
spaghetti-monster/anduril/tactical-mode.c | 27 +++----------------
spaghetti-monster/anduril/tactical-mode.h | 26 +++----------------
spaghetti-monster/anduril/tempcheck-mode.c | 27 +++----------------
spaghetti-monster/anduril/tempcheck-mode.h | 26 +++----------------
spaghetti-monster/anduril/tint-ramping.c | 8 +++---
spaghetti-monster/anduril/tint-ramping.h | 8 +++---
spaghetti-monster/anduril/version-check-mode.c | 27 +++----------------
spaghetti-monster/anduril/version-check-mode.h | 26 +++----------------
spaghetti-monster/fsm-adc.c | 27 ++++---------------
spaghetti-monster/fsm-adc.h | 27 +++----------------
spaghetti-monster/fsm-eeprom.c | 28 ++++----------------
spaghetti-monster/fsm-eeprom.h | 25 +++---------------
spaghetti-monster/fsm-events.c | 27 ++++---------------
spaghetti-monster/fsm-events.h | 26 +++----------------
spaghetti-monster/fsm-main.c | 27 ++++---------------
spaghetti-monster/fsm-main.h | 25 +++---------------
spaghetti-monster/fsm-misc.c | 26 +++----------------
spaghetti-monster/fsm-misc.h | 25 +++---------------
spaghetti-monster/fsm-pcint.c | 26 +++----------------
spaghetti-monster/fsm-pcint.h | 25 +++---------------
spaghetti-monster/fsm-ramping.c | 11 +++-----
spaghetti-monster/fsm-ramping.h | 22 +++-------------
spaghetti-monster/fsm-random.c | 25 +++---------------
spaghetti-monster/fsm-random.h | 25 +++---------------
spaghetti-monster/fsm-standby.c | 27 ++++---------------
spaghetti-monster/fsm-standby.h | 25 +++---------------
spaghetti-monster/fsm-states.c | 25 +++---------------
spaghetti-monster/fsm-states.h | 27 ++++---------------
spaghetti-monster/fsm-wdt.c | 27 ++++---------------
spaghetti-monster/fsm-wdt.h | 25 +++---------------
spaghetti-monster/spaghetti-monster.h | 22 +++++-----------
tk-attiny.h | 29 +++++----------------
tk-calibration.h | 30 +++++-----------------
tk-delay.h | 27 +++----------------
tk-random.h | 26 +++----------------
tk-voltage.h | 27 +++----------------
tk.h | 7 ++---
176 files changed, 778 insertions(+), 1660 deletions(-)
delete mode 100644 spaghetti-monster/anduril/cfg-sofirn-lt1s-pro.c
diff --git a/hwdef-BLF_GT.h b/hwdef-BLF_GT.h
index 51b391d..94d510c 100644
--- a/hwdef-BLF_GT.h
+++ b/hwdef-BLF_GT.h
@@ -1,7 +1,9 @@
-#ifndef HWDEF_BLF_GT_H
-#define HWDEF_BLF_GT_H
+// BLF GT driver layout
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* BLF GT driver layout
+/*
* ----
* Reset -|1 8|- VCC (unused)
* eswitch -|2 7|- Voltage divider
@@ -57,4 +59,3 @@
#define LAYOUT_DEFINED
-#endif
diff --git a/hwdef-BLF_GT_Mini.h b/hwdef-BLF_GT_Mini.h
index 43f74f3..1706749 100644
--- a/hwdef-BLF_GT_Mini.h
+++ b/hwdef-BLF_GT_Mini.h
@@ -1,8 +1,8 @@
-#ifndef HWDEF_BLF_GT_MINI_H
-#define HWDEF_BLF_GT_MINI_H
+// BLF/Lumintop GT Mini driver layout
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* BLF/Lumintop GT Mini driver layout
- */
// exactly the same as a D1S, but with a lighted button
#include "hwdef-Emisar_D1S.h"
@@ -11,4 +11,3 @@
#define AUXLED_PIN PB4 // pin 3
#endif
-#endif
diff --git a/hwdef-BLF_LT1-t1616.h b/hwdef-BLF_LT1-t1616.h
index 8e5c58b..3e1d946 100644
--- a/hwdef-BLF_LT1-t1616.h
+++ b/hwdef-BLF_LT1-t1616.h
@@ -1,16 +1,16 @@
-#ifndef HWDEF_BLF_LANTERN_T1616_H
-#define HWDEF_BLF_LANTERN_T1616_H
+// BLF LT1 driver layout using the Attiny1616
+// Copyright (C) 2021-2023 (FIXME)
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* BLF LT1 driver layout using the Attiny1616
-
-Driver pinout:
+/*
+ * Driver pinout:
* eSwitch: PA5
* Aux LED: PB5
* PWM FET: PB0 (TCA0 WO0)
* PWM 1x7135: PB1 (TCA0 WO1)
* Voltage: VCC
-
-*/
+ */
#define LAYOUT_DEFINED
@@ -103,5 +103,3 @@ inline void hwdef_setup() {
TCA0.SINGLE.CTRLA = TCA_SINGLE_CLKSEL_DIV1_gc | TCA_SINGLE_ENABLE_bm;
}
-
-#endif
diff --git a/hwdef-BLF_LT1.h b/hwdef-BLF_LT1.h
index 4e81c42..e7c4791 100644
--- a/hwdef-BLF_LT1.h
+++ b/hwdef-BLF_LT1.h
@@ -1,7 +1,9 @@
-#ifndef HWDEF_BLF_LT1_H
-#define HWDEF_BLF_LT1_H
+// BLF LT1 driver layout
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* BLF LT1 driver layout
+/*
* ----
* Reset -|1 8|- VCC
* eswitch -|2 7|- (unused)
@@ -54,5 +56,3 @@ uint16_t PWM1_LVL;
#define LAYOUT_DEFINED
-
-#endif
diff --git a/hwdef-BLF_Q8-T1616.h b/hwdef-BLF_Q8-T1616.h
index d6ad760..25734ba 100644
--- a/hwdef-BLF_Q8-T1616.h
+++ b/hwdef-BLF_Q8-T1616.h
@@ -1,15 +1,15 @@
-#ifndef HWDEF_BLF_Q8_T1616_H
-#define HWDEF_BLF_Q8_T1616_H
+// BLF Q8 driver layout using the Attiny1616
+// Copyright (C) 2021-2023 (FIXME)
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* BLF Q8 driver layout using the Attiny1616
-
-Driver pinout:
+/*
+ * Driver pinout:
* eSwitch: PA5
* Aux LED: PB5
* PWM FET: PB0 (TCA0 WO0)
* PWM 1x7135: PB1 (TCA0 WO1)
* Voltage: VCC
-
*/
@@ -103,5 +103,3 @@ inline void hwdef_setup() {
TCA0.SINGLE.CTRLA = TCA_SINGLE_CLKSEL_DIV1_gc | TCA_SINGLE_ENABLE_bm;
}
-
-#endif
diff --git a/hwdef-BLF_Q8.h b/hwdef-BLF_Q8.h
index 5dac5d2..da55bd4 100644
--- a/hwdef-BLF_Q8.h
+++ b/hwdef-BLF_Q8.h
@@ -1,9 +1,9 @@
-#ifndef HWDEF_BLF_Q8_H
-#define HWDEF_BLF_Q8_H
+// BLF Q8 driver layout
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* BLF Q8 driver layout
- * Q8 driver is the same as a D4, basically
- */
+// Q8 driver is the same as a D4, basically
// ... except the Q8 has a lighted button
#ifndef AUXLED_PIN
@@ -18,4 +18,3 @@
// Q8 driver is the same as a D4, basically
#include "hwdef-Emisar_D4.h"
-#endif
diff --git a/hwdef-Emisar_D1.h b/hwdef-Emisar_D1.h
index caf1d4e..bf3a224 100644
--- a/hwdef-Emisar_D1.h
+++ b/hwdef-Emisar_D1.h
@@ -1,9 +1,8 @@
-#ifndef HWDEF_EMISAR_D1_H
-#define HWDEF_EMISAR_D1_H
+// Emisar D1 driver layout
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* Emisar D1 driver layout
- */
// D1 driver is exactly the same as a D4
#include "hwdef-Emisar_D4.h"
-#endif
diff --git a/hwdef-Emisar_D18.h b/hwdef-Emisar_D18.h
index 3a238eb..b9f5b2e 100644
--- a/hwdef-Emisar_D18.h
+++ b/hwdef-Emisar_D18.h
@@ -1,7 +1,9 @@
-#ifndef HWDEF_EMISAR_D18_H
-#define HWDEF_EMISAR_D18_H
+// Emisar D18 (FET+13+1) driver layout
+// Copyright (C) 2019-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* Emisar D18 (FET+13+1) driver layout
+/*
* ----
* Reset -|1 8|- VCC
* eswitch -|2 7|- aux LED?
@@ -45,4 +47,3 @@
#define LAYOUT_DEFINED
-#endif
diff --git a/hwdef-Emisar_D1S.h b/hwdef-Emisar_D1S.h
index 2e9fffa..15cbedb 100644
--- a/hwdef-Emisar_D1S.h
+++ b/hwdef-Emisar_D1S.h
@@ -1,9 +1,8 @@
-#ifndef HWDEF_EMISAR_D1S_H
-#define HWDEF_EMISAR_D1S_H
+// Emisar D1S driver layout
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* Emisar D1S driver layout
- */
// D1S driver is exactly the same as a D4
#include "hwdef-Emisar_D4.h"
-#endif
diff --git a/hwdef-Emisar_D4.h b/hwdef-Emisar_D4.h
index d062d6f..fdb42a1 100644
--- a/hwdef-Emisar_D4.h
+++ b/hwdef-Emisar_D4.h
@@ -1,7 +1,9 @@
-#ifndef HWDEF_EMISAR_D4_H
-#define HWDEF_EMISAR_D4_H
+// Emisar D4 driver layout
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* Emisar D4 driver layout
+/*
* ----
* Reset -|1 8|- VCC
* eswitch -|2 7|-
@@ -44,4 +46,3 @@
#define FAST 0xA3 // fast PWM both channels
#define PHASE 0xA1 // phase-correct PWM both channels
-#endif
diff --git a/hwdef-Emisar_D4S.h b/hwdef-Emisar_D4S.h
index 05a60f9..97d8529 100644
--- a/hwdef-Emisar_D4S.h
+++ b/hwdef-Emisar_D4S.h
@@ -1,8 +1,8 @@
-#ifndef HWDEF_EMISAR_D4S_H
-#define HWDEF_EMISAR_D4S_H
+// Emisar D4S driver layout
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* Emisar D4S driver layout
- */
// same as a D4, basically
#include "hwdef-Emisar_D4.h"
@@ -11,4 +11,3 @@
#define AUXLED_PIN PB4 // pin 3
#endif
-#endif
diff --git a/hwdef-Emisar_D4Sv2-tintramp.h b/hwdef-Emisar_D4Sv2-tintramp.h
index 0f4a77a..2709bc4 100644
--- a/hwdef-Emisar_D4Sv2-tintramp.h
+++ b/hwdef-Emisar_D4Sv2-tintramp.h
@@ -1,7 +1,9 @@
-#ifndef HWDEF_D4SV2_TINTRAMP_H
-#define HWDEF_D4SV2_TINTRAMP_H
+// Emisar D4Sv2 w/ tint ramping
+// Copyright (C) 2021-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* Emisar D4Sv2 w/ tint ramping
+/*
* (based on the Noctigon K9.3 driver layout (attiny1634))
*
* Pin / Name / Function
@@ -185,4 +187,3 @@ inline void hwdef_setup() {
#define LAYOUT_DEFINED
-#endif
diff --git a/hwdef-Emisar_D4Sv2.h b/hwdef-Emisar_D4Sv2.h
index d68b7ac..bd63649 100644
--- a/hwdef-Emisar_D4Sv2.h
+++ b/hwdef-Emisar_D4Sv2.h
@@ -1,7 +1,9 @@
-#ifndef HWDEF_EMISAR_D4SV2_H
-#define HWDEF_EMISAR_D4SV2_H
+// Emisar D4Sv2 driver layout (attiny1634)
+// Copyright (C) 2019-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* Emisar D4Sv2 driver layout (attiny1634)
+/*
* (same layout as D4v2, except it's a FET+3+1 instead of FET+1)
*
* Pin / Name / Function
@@ -119,4 +121,3 @@ inline void hwdef_setup() {
#define LAYOUT_DEFINED
-#endif
diff --git a/hwdef-Emisar_D4v2.h b/hwdef-Emisar_D4v2.h
index 51e30f8..2864cd4 100644
--- a/hwdef-Emisar_D4v2.h
+++ b/hwdef-Emisar_D4v2.h
@@ -1,9 +1,9 @@
+// hwdef for Emisar D4v2 (attiny1634)
+// Copyright (C) 2018 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-/* hwdef for Emisar D4v2 (attiny1634)
- * Copyright (C) 2019 Selene ToyKeeper
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
+/*
* Pin / Name / Function
* 1 PA6 FET PWM (PWM1B)
* 2 PA5 red aux LED (PWM0B)
diff --git a/hwdef-FF_PL47.h b/hwdef-FF_PL47.h
index 5cd9684..0171d15 100644
--- a/hwdef-FF_PL47.h
+++ b/hwdef-FF_PL47.h
@@ -1,9 +1,9 @@
-#ifndef HWDEF_FF_PL47_H
-#define HWDEF_FF_PL47_H
+// Fireflies PL47 driver layout
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* Fireflies PL47 driver layout
- * same as a D4S, basically, except ...
- */
+// same as a D4S, basically, except ...
// ... the PL47 has aux LEDs on pin 7
#ifndef AUXLED_PIN
@@ -24,4 +24,3 @@
#undef FSM_EMISAR_D4S_DRIVER
#undef FSM_EMISAR_D4_DRIVER
-#endif
diff --git a/hwdef-FF_ROT66.h b/hwdef-FF_ROT66.h
index 7348ab2..e84b565 100644
--- a/hwdef-FF_ROT66.h
+++ b/hwdef-FF_ROT66.h
@@ -1,9 +1,9 @@
-#ifndef HWDEF_FF_ROT66_H
-#define HWDEF_FF_ROT66_H
+// Fireflies ROT66 driver layout
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* Fireflies ROT66 driver layout
- * same as a FW3A, basically, except ...
- */
+// same as a FW3A, basically, except ...
// ... except the ROT66 has a lighted button
#ifndef AUXLED_PIN
@@ -22,4 +22,3 @@
#undef VISION_PIN
#endif
-#endif
diff --git a/hwdef-FW3A.h b/hwdef-FW3A.h
index e8875d7..f2b5c8d 100644
--- a/hwdef-FW3A.h
+++ b/hwdef-FW3A.h
@@ -1,7 +1,9 @@
-#ifndef HWDEF_FW3A_H
-#define HWDEF_FW3A_H
+// BLF/TLF FW3A driver layout
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* BLF/TLF FW3A driver layout
+/*
* ----
* Reset -|1 8|- VCC
* eswitch -|2 7|- optic nerve
@@ -47,4 +49,3 @@
#define LAYOUT_DEFINED
-#endif
diff --git a/hwdef-Mateminco_MF01-Mini.h b/hwdef-Mateminco_MF01-Mini.h
index c0de533..557e641 100644
--- a/hwdef-Mateminco_MF01-Mini.h
+++ b/hwdef-Mateminco_MF01-Mini.h
@@ -1,7 +1,9 @@
-#ifndef HWDEF_MF01_MINI_H
-#define HWDEF_MF01_MINI_H
+// MF01-Mini driver layout
+// Copyright (C) 2019-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* MF01-Mini driver layout
+/*
* ----
* Reset -|1 8|- VCC
* eswitch -|2 7|- aux LEDs
@@ -46,4 +48,3 @@
#define LAYOUT_DEFINED
-#endif
diff --git a/hwdef-Mateminco_MF01S.h b/hwdef-Mateminco_MF01S.h
index 78a64a6..0ae30a6 100644
--- a/hwdef-Mateminco_MF01S.h
+++ b/hwdef-Mateminco_MF01S.h
@@ -1,7 +1,9 @@
-#ifndef HWDEF_MF01S_H
-#define HWDEF_MF01S_H
+// MF01S driver layout
+// Copyright (C) 2019-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* MF01S driver layout
+/*
* ----
* Reset -|1 8|- VCC (unused)
* eswitch -|2 7|- Voltage divider (2S)
@@ -57,4 +59,3 @@
#define LAYOUT_DEFINED
-#endif
diff --git a/hwdef-Mateminco_MT35-Mini.h b/hwdef-Mateminco_MT35-Mini.h
index 344f658..995a514 100644
--- a/hwdef-Mateminco_MT35-Mini.h
+++ b/hwdef-Mateminco_MT35-Mini.h
@@ -1,7 +1,9 @@
-#ifndef HWDEF_MT35_MINI_H
-#define HWDEF_MT35_MINI_H
+// Mateminco MT35-Mini / Astrolux FT03
+// Copyright (C) 2022-2023 (FIXME)
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* Mateminco MT35-Mini / Astrolux FT03
+/*
* ----
* Reset -|1 8|- VCC
* eswitch -|2 7|- Aux LED
@@ -44,4 +46,3 @@
#define LAYOUT_DEFINED
-#endif
diff --git a/hwdef-Noctigon_DM11-12V.h b/hwdef-Noctigon_DM11-12V.h
index a0d9715..104b6ae 100644
--- a/hwdef-Noctigon_DM11-12V.h
+++ b/hwdef-Noctigon_DM11-12V.h
@@ -1,7 +1,9 @@
-#ifndef HWDEF_NOCTIGON_DM11_12V_H
-#define HWDEF_NOCTIGON_DM11_12V_H
+// Noctigon DM11 (12V) driver layout (attiny1634)
+// Copyright (C) 2021-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* Noctigon DM11 (12V) driver layout (attiny1634)
+/*
* (based on Noctigon K1)
*
* Pin / Name / Function
@@ -162,4 +164,3 @@ inline void hwdef_setup() {
#define LAYOUT_DEFINED
-#endif
diff --git a/hwdef-Noctigon_DM11-SBT90.h b/hwdef-Noctigon_DM11-SBT90.h
index 8d7aa3d..c56b8ce 100644
--- a/hwdef-Noctigon_DM11-SBT90.h
+++ b/hwdef-Noctigon_DM11-SBT90.h
@@ -1,7 +1,9 @@
-#ifndef HWDEF_NOCTIGON_DM11SBT90_H
-#define HWDEF_NOCTIGON_DM11SBT90_H
+// Noctigon DM11-SBT90.2 driver layout (attiny1634)
+// Copyright (C) 2021-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* Noctigon DM11-SBT90.2 driver layout (attiny1634)
+/*
* (based on Noctigon K1 and DM11)
*
* Pin / Name / Function
@@ -154,4 +156,3 @@ inline void hwdef_setup() {
#define LAYOUT_DEFINED
-#endif
diff --git a/hwdef-Noctigon_DM11.h b/hwdef-Noctigon_DM11.h
index ea51432..619e12d 100644
--- a/hwdef-Noctigon_DM11.h
+++ b/hwdef-Noctigon_DM11.h
@@ -1,7 +1,9 @@
-#ifndef HWDEF_NOCTIGON_DM11_H
-#define HWDEF_NOCTIGON_DM11_H
+// Noctigon DM11 driver layout (attiny1634)
+// Copyright (C) 2021-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* Noctigon DM11 driver layout (attiny1634)
+/*
* (based on Noctigon K1)
*
* Pin / Name / Function
@@ -153,4 +155,3 @@ inline void hwdef_setup() {
#define LAYOUT_DEFINED
-#endif
diff --git a/hwdef-Noctigon_K1-12V.h b/hwdef-Noctigon_K1-12V.h
index b17aad0..33ed34d 100644
--- a/hwdef-Noctigon_K1-12V.h
+++ b/hwdef-Noctigon_K1-12V.h
@@ -1,9 +1,9 @@
-#ifndef HWDEF_NOCTIGON_K1_12V_H
-#define HWDEF_NOCTIGON_K1_12V_H
+// Noctigon K1 12V driver layout (attiny1634)
+// Copyright (C) 2019-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* Noctigon K1 driver layout (attiny1634)
- * (originally known as Emisar D1S V2)
- *
+/*
* Pin / Name / Function
* 1 PA6 (none) (PWM1B) (reserved for DD drivers)
* 2 PA5 R: red aux LED (PWM0B)
@@ -135,4 +135,3 @@ inline void hwdef_setup() {
#define LAYOUT_DEFINED
-#endif
diff --git a/hwdef-Noctigon_K1-SBT90.h b/hwdef-Noctigon_K1-SBT90.h
index c19a4a6..9d91c1c 100644
--- a/hwdef-Noctigon_K1-SBT90.h
+++ b/hwdef-Noctigon_K1-SBT90.h
@@ -1,7 +1,9 @@
-#ifndef HWDEF_NOCTIGON_K1SBT90_H
-#define HWDEF_NOCTIGON_K1SBT90_H
+// Noctigon K1-SBT90.2 driver layout (attiny1634)
+// Copyright (C) 2019-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* Noctigon K1-SBT90.2 driver layout (attiny1634)
+/*
* (mostly the same as KR4 driver)
*
* Pin / Name / Function
@@ -140,4 +142,3 @@ inline void hwdef_setup() {
#define LAYOUT_DEFINED
-#endif
diff --git a/hwdef-Noctigon_K1.h b/hwdef-Noctigon_K1.h
index 4c0ce05..2e44e23 100644
--- a/hwdef-Noctigon_K1.h
+++ b/hwdef-Noctigon_K1.h
@@ -1,7 +1,9 @@
-#ifndef HWDEF_NOCTIGON_K1_H
-#define HWDEF_NOCTIGON_K1_H
+// Noctigon K1 driver layout (attiny1634)
+// Copyright (C) 2019-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* Noctigon K1 driver layout (attiny1634)
+/*
* (originally known as Emisar D1S V2)
*
* Pin / Name / Function
@@ -131,4 +133,3 @@ inline void hwdef_setup() {
#define LAYOUT_DEFINED
-#endif
diff --git a/hwdef-Noctigon_K9.3.h b/hwdef-Noctigon_K9.3.h
index 6032b4c..2f1ffe0 100644
--- a/hwdef-Noctigon_K9.3.h
+++ b/hwdef-Noctigon_K9.3.h
@@ -1,8 +1,9 @@
-#ifndef HWDEF_NOCTIGON_K93_H
-#define HWDEF_NOCTIGON_K93_H
+// Noctigon K9.3 driver layout (attiny1634)
+// Copyright (C) 2020-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* Noctigon K9.3 driver layout (attiny1634)
- *
+/*
* Pin / Name / Function
* 1 PA6 2nd LED PWM (linear) (PWM1B)
* 2 PA5 R: red aux LED (PWM0B)
@@ -161,4 +162,3 @@ inline void hwdef_setup() {
#define LAYOUT_DEFINED
-#endif
diff --git a/hwdef-Noctigon_KR4-12V.h b/hwdef-Noctigon_KR4-12V.h
index e6cf18a..57d39f2 100644
--- a/hwdef-Noctigon_KR4-12V.h
+++ b/hwdef-Noctigon_KR4-12V.h
@@ -1,7 +1,9 @@
-#ifndef HWDEF_NOCTIGON_KR4_12V_H
-#define HWDEF_NOCTIGON_KR4_12V_H
+// Noctigon KR4 (12V) driver layout (attiny1634)
+// Copyright (C) 2020-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* Noctigon KR4 (12V) driver layout (attiny1634)
+/*
* (based on Noctigon DM11-12V and KR4)
*
* Pin / Name / Function
@@ -154,4 +156,3 @@ inline void hwdef_setup() {
#define LAYOUT_DEFINED
-#endif
diff --git a/hwdef-Noctigon_KR4-tintramp.h b/hwdef-Noctigon_KR4-tintramp.h
index 3bd57fe..78a4d6b 100644
--- a/hwdef-Noctigon_KR4-tintramp.h
+++ b/hwdef-Noctigon_KR4-tintramp.h
@@ -1,7 +1,9 @@
-#ifndef HWDEF_KR4_TINTRAMP_H
-#define HWDEF_KR4_TINTRAMP_H
+// Noctigon KR4 w/ tint ramping
+// Copyright (C) 2021-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* Noctigon KR4 w/ tint ramping
+/*
* (same driver as D4Sv2-tintramp, but with the switch on a different pin)
*
* Pin / Name / Function
@@ -43,4 +45,3 @@
// the rest of the config is the same as D4Sv2-tintramp
#include "hwdef-Emisar_D4Sv2-tintramp.h"
-#endif
diff --git a/hwdef-Noctigon_KR4.h b/hwdef-Noctigon_KR4.h
index 487d3ac..1c863cb 100644
--- a/hwdef-Noctigon_KR4.h
+++ b/hwdef-Noctigon_KR4.h
@@ -1,8 +1,9 @@
-#ifndef HWDEF_NOCTIGON_KR4_H
-#define HWDEF_NOCTIGON_KR4_H
+// Noctigon KR4 / D4V2.5 driver layout (attiny1634)
+// Copyright (C) 2020-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* Noctigon KR4 / D4V2.5 driver layout (attiny1634)
- *
+/*
* Pin / Name / Function
* 1 PA6 FET PWM (direct drive) (PWM1B)
* 2 PA5 R: red aux LED (PWM0B)
@@ -158,4 +159,3 @@ inline void hwdef_setup() {
#define LAYOUT_DEFINED
-#endif
diff --git a/hwdef-Sofirn_LT1S-Pro.c b/hwdef-Sofirn_LT1S-Pro.c
index f617933..8e2163f 100644
--- a/hwdef-Sofirn_LT1S-Pro.c
+++ b/hwdef-Sofirn_LT1S-Pro.c
@@ -1,7 +1,6 @@
// BLF LT1S Pro hwdef functions
// Copyright (C) 2023 Selene ToyKeeper
// SPDX-License-Identifier: GPL-3.0-or-later
-
#pragma once
diff --git a/hwdef-Sofirn_LT1S-Pro.h b/hwdef-Sofirn_LT1S-Pro.h
index b50ccc7..4ee466b 100644
--- a/hwdef-Sofirn_LT1S-Pro.h
+++ b/hwdef-Sofirn_LT1S-Pro.h
@@ -1,17 +1,17 @@
-/* BLF LT1S Pro driver layout using the Attiny1616
+// BLF LT1S Pro driver layout using the Attiny1616
+// Copyright (C) 2022-2023 (FIXME)
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-Driver pinout:
+/*
+ * Driver pinout:
* eSwitch: PA5
* Aux LED: PB5
* WW PWM: PB0 (TCA0 WO0)
* CW PWM: PB1 (TCA0 WO1)
* Red PWM: PB2 (TCA0 WO2)
* Voltage: VCC
-
-*/
-
-#pragma once
-
+ */
#define HWDEF_C_FILE hwdef-Sofirn_LT1S-Pro.c
diff --git a/hwdef-Sofirn_SP10-Pro.h b/hwdef-Sofirn_SP10-Pro.h
index d7c2081..6bc26ea 100644
--- a/hwdef-Sofirn_SP10-Pro.h
+++ b/hwdef-Sofirn_SP10-Pro.h
@@ -1,16 +1,16 @@
-#ifndef HWDEF_SOFIRN_SP10_H
-#define HWDEF_SOFIRN_SP10_H
+// Sofirn SP10 Pro pinout
+// Copyright (C) 2022-2023 (FIXME)
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* Sofirn SP10 Pro pinout
-
-ATTINY1616 Mapping:
-PB5 : PWM small channel (TCA0 - WO2 Alternate MUX)
-PB3 : eSwitch
-PB0 : PWM big channel (TCA0 - WO0)
-PB4 : Voltage divider (ADC0 - AIN9)
-PA1 : Boost Enable
-
-*/
+/*
+ * ATTINY1616 Mapping:
+ * PB5 : PWM small channel (TCA0 - WO2 Alternate MUX)
+ * PB3 : eSwitch
+ * PB0 : PWM big channel (TCA0 - WO0)
+ * PB4 : Voltage divider (ADC0 - AIN9)
+ * PA1 : Boost Enable
+ */
#define LAYOUT_DEFINED
@@ -140,5 +140,3 @@ FUSES = {
.BOOTEND = FUSE_BOOTEND_DEFAULT, // Boot Section End
};
-
-#endif
diff --git a/hwdef-TK_Saber.h b/hwdef-TK_Saber.h
index e6476b8..8ef58d6 100644
--- a/hwdef-TK_Saber.h
+++ b/hwdef-TK_Saber.h
@@ -1,7 +1,9 @@
-#ifndef HWDEF_TK_SABER_H
-#define HWDEF_TK_SABER_H
+// TK 4-color lightsaber driver layout
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* TK 4-color lightsaber driver layout
+/*
* ----
* Reset -|1 8|- VCC
* PWM 4 (A) -|2 7|- e-switch
@@ -33,4 +35,3 @@
#define LAYOUT_DEFINED
-#endif
diff --git a/hwdef-Wurkkos_TS10.h b/hwdef-Wurkkos_TS10.h
index 6cfe050..1d138be 100644
--- a/hwdef-Wurkkos_TS10.h
+++ b/hwdef-Wurkkos_TS10.h
@@ -1,17 +1,17 @@
-#ifndef HWDEF_BLF_Q8_T1616_H
-#define HWDEF_BLF_Q8_T1616_H
-
-/* BLF Q8 driver layout using the Attiny1616
-
-Driver pinout:
+// Wurkkos TS10 driver layout
+// Copyright (C) 2022-2023 (FIXME)
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
+/*
+ * (based on BLF Q8-t1616 driver layout)
+ * Driver pinout:
* eSwitch: PA5
* Aux LED: PB5
* PWM FET: PB0 (TCA0 WO0)
* PWM 1x7135: PB1 (TCA0 WO1)
* Voltage: VCC
-
-*/
-
+ */
#define LAYOUT_DEFINED
@@ -113,5 +113,3 @@ inline void hwdef_setup() {
TCA0.SINGLE.CTRLA = TCA_SINGLE_CLKSEL_DIV1_gc | TCA_SINGLE_ENABLE_bm;
}
-
-#endif
diff --git a/hwdef-Wurkkos_TS25.h b/hwdef-Wurkkos_TS25.h
index cadd366..cf34754 100644
--- a/hwdef-Wurkkos_TS25.h
+++ b/hwdef-Wurkkos_TS25.h
@@ -1,9 +1,10 @@
-#ifndef HWDEF_WURKKOS_TS25_T1616_H
-#define HWDEF_WURKKOS_TS25_T1616_H
+// Wurkkos TS25 driver layout
+// Copyright (C) 2022-2023 (FIXME)
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
-/* BLF Q8 driver layout using the Attiny1616
-
-Driver pinout:
+/*
+ * Driver pinout:
* eSwitch: PA5
* PWM FET: PB0 (TCA0 WO0)
* PWM 1x7135: PB1 (TCA0 WO1)
@@ -11,9 +12,7 @@ Driver pinout:
* Aux Blue: PC1
* Aux Red: PC2
* Aux Green: PC3
-
-*/
-
+ */
#define LAYOUT_DEFINED
@@ -115,5 +114,3 @@ inline void hwdef_setup() {
TCA0.SINGLE.CTRLA = TCA_SINGLE_CLKSEL_DIV1_gc | TCA_SINGLE_ENABLE_bm;
}
-
-#endif
diff --git a/hwdef-fw3x-lume1.h b/hwdef-fw3x-lume1.h
index 09c5bfe..f2e9141 100644
--- a/hwdef-fw3x-lume1.h
+++ b/hwdef-fw3x-lume1.h
@@ -1,5 +1,7 @@
-#ifndef HWDEF_FW3X_LUME1_H
-#define HWDEF_FW3X_LUME1_H
+// lume1 Driver Rev B for FW3x driver layout (attiny1634)
+// Copyright (C) 2020-2023 (FIXME)
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
/* lume1 Driver Rev B for FW3x driver layout (attiny1634)
* www.loneoceans.com/labs/ for more information
@@ -166,4 +168,3 @@ inline void hwdef_setup() {
#define LAYOUT_DEFINED
-#endif
diff --git a/hwdef-gchart-fet1-t1616.h b/hwdef-gchart-fet1-t1616.h
index 2435b99..9625738 100644
--- a/hwdef-gchart-fet1-t1616.h
+++ b/hwdef-gchart-fet1-t1616.h
@@ -1,14 +1,14 @@
-#ifndef HWDEF_GCH_FET1_T1616_H
-#define HWDEF_GCH_FET1_T1616_H
-
-/* gChart's custom FET+1 driver layout
-
-PB0 - PWM for FET (TCA - WO0)
-PB1 - PWM for 7135 (TCA - WO1)
-PB2 - Switch pin, internal pullup
-PB3 - Aux LED with 4700 Ohm series resistor
-Read voltage from VCC pin, has diode with ~0.4v drop
-
+// gChart's custom FET+1 driver layout
+// Copyright (C) 2020-2023 (FIXME)
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
+/*
+ * PB0 - PWM for FET (TCA - WO0)
+ * PB1 - PWM for 7135 (TCA - WO1)
+ * PB2 - Switch pin, internal pullup
+ * PB3 - Aux LED with 4700 Ohm series resistor
+ * Read voltage from VCC pin, has diode with ~0.4v drop
*/
@@ -102,5 +102,3 @@ inline void hwdef_setup() {
TCA0.SINGLE.CTRLA = TCA_SINGLE_CLKSEL_DIV1_gc | TCA_SINGLE_ENABLE_bm;
}
-
-#endif
diff --git a/hwdef-thefreeman-lin16dac.h b/hwdef-thefreeman-lin16dac.h
index 9d6b145..36e3929 100644
--- a/hwdef-thefreeman-lin16dac.h
+++ b/hwdef-thefreeman-lin16dac.h
@@ -1,17 +1,16 @@
-#ifndef HWDEF_THEFREEMAN_LIN18_H
-#define HWDEF_THEFREEMAN_LIN18_H
-
-/* thefreeman's Linear 16 driver using DAC control
-
-PA6 - DAC for LED brightness control
-PA7 - Op-amp enable pin
-PB5 - Aux LED
-PB4 - Switch pin, internal pullup
-PB3 - HDR control, set High to enable the high power channel, set Low for low power
-Read voltage from VCC pin, has PFET so no drop
-
-*/
-
+// thefreeman's Linear 16 driver using DAC control
+// Copyright (C) 2021-2023 (FIXME)
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
+/*
+ * PA6 - DAC for LED brightness control
+ * PA7 - Op-amp enable pin
+ * PB5 - Aux LED
+ * PB4 - Switch pin, internal pullup
+ * PB3 - HDR control, set High to enable the high power channel, set Low for low power
+ * Read voltage from VCC pin, has PFET so no drop
+ */
#define LAYOUT_DEFINED
@@ -105,5 +104,3 @@ inline void hwdef_setup() {
}
-
-#endif
diff --git a/spaghetti-monster/anduril/anduril.c b/spaghetti-monster/anduril/anduril.c
index e180cc4..bd05ede 100644
--- a/spaghetti-monster/anduril/anduril.c
+++ b/spaghetti-monster/anduril/anduril.c
@@ -1,22 +1,7 @@
-/*
- * Anduril: Narsil-inspired UI for SpaghettiMonster.
- * (Anduril is Aragorn's sword, the blade Narsil reforged)
- *
- * Copyright (C) 2017-2020 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// Anduril: Narsil-inspired UI for SpaghettiMonster.
+// (Anduril is Aragorn's sword, the blade Narsil reforged)
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
/*
* Usually a program would be structured like this...
diff --git a/spaghetti-monster/anduril/aux-leds.c b/spaghetti-monster/anduril/aux-leds.c
index bb184f9..d9b23d0 100644
--- a/spaghetti-monster/anduril/aux-leds.c
+++ b/spaghetti-monster/anduril/aux-leds.c
@@ -1,24 +1,7 @@
-/*
- * aux-leds.c: Aux LED functions for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#ifndef AUX_LEDS_C
-#define AUX_LEDS_C
+// aux-leds.c: Aux LED functions for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
#include "aux-leds.h"
@@ -208,6 +191,3 @@ void rgb_led_voltage_readout(uint8_t bright) {
}
#endif
-
-#endif
-
diff --git a/spaghetti-monster/anduril/aux-leds.h b/spaghetti-monster/anduril/aux-leds.h
index f496ddc..1938557 100644
--- a/spaghetti-monster/anduril/aux-leds.h
+++ b/spaghetti-monster/anduril/aux-leds.h
@@ -1,24 +1,7 @@
-/*
- * aux-leds.h: Aux LED functions for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#ifndef AUX_LEDS_H
-#define AUX_LEDS_H
+// aux-leds.h: Aux LED functions for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
#if defined(USE_INDICATOR_LED) && defined(TICK_DURING_STANDBY)
void indicator_led_update(uint8_t mode, uint8_t tick);
@@ -78,5 +61,3 @@ const PROGMEM uint8_t rgb_led_colors[] = {
#endif
#endif
-
-#endif
diff --git a/spaghetti-monster/anduril/battcheck-mode-fsm.h b/spaghetti-monster/anduril/battcheck-mode-fsm.h
index 8f19e12..4ab8f06 100644
--- a/spaghetti-monster/anduril/battcheck-mode-fsm.h
+++ b/spaghetti-monster/anduril/battcheck-mode-fsm.h
@@ -1,26 +1,7 @@
-/*
- * battcheck-mode-fsm.h: FSM config for battery check mode in Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#ifndef BATTCHECK_MODE_FSM_H
-#define BATTCHECK_MODE_FSM_H
+// battcheck-mode-fsm.h: FSM config for battery check mode in Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
#define USE_BATTCHECK
-
-#endif
diff --git a/spaghetti-monster/anduril/battcheck-mode.c b/spaghetti-monster/anduril/battcheck-mode.c
index 5edc6f4..9eb82fe 100644
--- a/spaghetti-monster/anduril/battcheck-mode.c
+++ b/spaghetti-monster/anduril/battcheck-mode.c
@@ -1,24 +1,7 @@
-/*
- * battcheck-mode.c: Battery check mode for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#ifndef BATTCHECK_MODE_C
-#define BATTCHECK_MODE_C
+// battcheck-mode.c: Battery check mode for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
#include "battcheck-mode.h"
@@ -77,6 +60,3 @@ uint8_t voltage_config_state(Event event, uint16_t arg) {
}
#endif // #ifdef USE_VOLTAGE_CORRECTION
-
-#endif
-
diff --git a/spaghetti-monster/anduril/battcheck-mode.h b/spaghetti-monster/anduril/battcheck-mode.h
index 965ffd9..b505b68 100644
--- a/spaghetti-monster/anduril/battcheck-mode.h
+++ b/spaghetti-monster/anduril/battcheck-mode.h
@@ -1,24 +1,7 @@
-/*
- * battcheck-mode.h: Battery check mode for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#ifndef BATTCHECK_MODE_H
-#define BATTCHECK_MODE_H
+// battcheck-mode.h: Battery check mode for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
uint8_t battcheck_state(Event event, uint16_t arg);
@@ -27,5 +10,3 @@ void voltage_config_save(uint8_t step, uint8_t value);
uint8_t voltage_config_state(Event event, uint16_t arg);
#endif
-
-#endif
diff --git a/spaghetti-monster/anduril/beacon-mode.c b/spaghetti-monster/anduril/beacon-mode.c
index 76ada0f..6359b74 100644
--- a/spaghetti-monster/anduril/beacon-mode.c
+++ b/spaghetti-monster/anduril/beacon-mode.c
@@ -1,24 +1,7 @@
-/*
- * beacon-mode.c: Beacon mode for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#ifndef BEACON_MODE_C
-#define BEACON_MODE_C
+// beacon-mode.c: Beacon mode for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
#include "beacon-mode.h"
@@ -68,6 +51,3 @@ uint8_t beacon_state(Event event, uint16_t arg) {
return EVENT_NOT_HANDLED;
}
-
-#endif
-
diff --git a/spaghetti-monster/anduril/beacon-mode.h b/spaghetti-monster/anduril/beacon-mode.h
index c0f0b18..df047ad 100644
--- a/spaghetti-monster/anduril/beacon-mode.h
+++ b/spaghetti-monster/anduril/beacon-mode.h
@@ -1,28 +1,9 @@
-/*
- * beacon-mode.h: Beacon mode for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#ifndef BEACON_MODE_H
-#define BEACON_MODE_H
+// beacon-mode.h: Beacon mode for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
// beacon mode
uint8_t beacon_state(Event event, uint16_t arg);
inline void beacon_mode_iter();
-
-#endif
diff --git a/spaghetti-monster/anduril/candle-mode.c b/spaghetti-monster/anduril/candle-mode.c
index 12ffa84..bfb0377 100644
--- a/spaghetti-monster/anduril/candle-mode.c
+++ b/spaghetti-monster/anduril/candle-mode.c
@@ -1,24 +1,7 @@
-/*
- * candle-mode.c: Candle mode for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#ifndef CANDLE_MODE_C
-#define CANDLE_MODE_C
+// candle-mode.c: Candle mode for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
#include "candle-mode.h"
@@ -151,6 +134,3 @@ uint8_t candle_mode_state(Event event, uint16_t arg) {
return EVENT_NOT_HANDLED;
}
-
-#endif
-
diff --git a/spaghetti-monster/anduril/candle-mode.h b/spaghetti-monster/anduril/candle-mode.h
index 8859a9c..aab237d 100644
--- a/spaghetti-monster/anduril/candle-mode.h
+++ b/spaghetti-monster/anduril/candle-mode.h
@@ -1,24 +1,7 @@
-/*
- * candle-mode.h: Candle mode for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#ifndef CANDLE_MODE_H
-#define CANDLE_MODE_H
+// candle-mode.h: Candle mode for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
#ifndef CANDLE_AMPLITUDE
#define CANDLE_AMPLITUDE 25
@@ -28,5 +11,3 @@ uint8_t candle_mode_state(Event event, uint16_t arg);
// moved to fsm-misc.c because it's also used for tint ramping power correction
//uint8_t triangle_wave(uint8_t phase);
-
-#endif
diff --git a/spaghetti-monster/anduril/cfg-blf-gt-mini.h b/spaghetti-monster/anduril/cfg-blf-gt-mini.h
index a647ea5..4158f21 100644
--- a/spaghetti-monster/anduril/cfg-blf-gt-mini.h
+++ b/spaghetti-monster/anduril/cfg-blf-gt-mini.h
@@ -1,4 +1,8 @@
// BLF/Lumintop GT Mini config options for Anduril
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#include "hwdef-BLF_GT_Mini.h"
// Same as an Emisar D1S, except it has a lighted button
#include "cfg-emisar-d1s.h"
diff --git a/spaghetti-monster/anduril/cfg-blf-gt.h b/spaghetti-monster/anduril/cfg-blf-gt.h
index 977d877..425ecdc 100644
--- a/spaghetti-monster/anduril/cfg-blf-gt.h
+++ b/spaghetti-monster/anduril/cfg-blf-gt.h
@@ -1,4 +1,8 @@
// BLF GT config options for Anduril
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0321"
#include "hwdef-BLF_GT.h"
diff --git a/spaghetti-monster/anduril/cfg-blf-lantern-t1616.h b/spaghetti-monster/anduril/cfg-blf-lantern-t1616.h
index 06d5395..18caa5b 100644
--- a/spaghetti-monster/anduril/cfg-blf-lantern-t1616.h
+++ b/spaghetti-monster/anduril/cfg-blf-lantern-t1616.h
@@ -1,4 +1,8 @@
// BLF Lantern config options for Anduril using the Attiny1616
+// Copyright (C) 2021-2023 (FIXME)
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0622"
#include "hwdef-BLF_LT1-t1616.h"
// ATTINY: 1616
diff --git a/spaghetti-monster/anduril/cfg-blf-lantern.h b/spaghetti-monster/anduril/cfg-blf-lantern.h
index 251c0db..c6b7bc8 100644
--- a/spaghetti-monster/anduril/cfg-blf-lantern.h
+++ b/spaghetti-monster/anduril/cfg-blf-lantern.h
@@ -1,4 +1,8 @@
// BLF Lantern config options for Anduril
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0621"
#include "hwdef-BLF_LT1.h"
// ATTINY: 85
diff --git a/spaghetti-monster/anduril/cfg-blf-q8-t1616.h b/spaghetti-monster/anduril/cfg-blf-q8-t1616.h
index 204066d..a88ab24 100644
--- a/spaghetti-monster/anduril/cfg-blf-q8-t1616.h
+++ b/spaghetti-monster/anduril/cfg-blf-q8-t1616.h
@@ -1,4 +1,8 @@
// BLF Q8 config options for Anduril using the Attiny1616
+// Copyright (C) 2021-2023 (FIXME)
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0613"
#include "hwdef-BLF_Q8-T1616.h"
// ATTINY: 1616
diff --git a/spaghetti-monster/anduril/cfg-blf-q8.h b/spaghetti-monster/anduril/cfg-blf-q8.h
index a9c48f6..166c8ca 100644
--- a/spaghetti-monster/anduril/cfg-blf-q8.h
+++ b/spaghetti-monster/anduril/cfg-blf-q8.h
@@ -1,4 +1,8 @@
// BLF Q8 config options for Anduril
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0611"
#include "hwdef-BLF_Q8.h"
diff --git a/spaghetti-monster/anduril/cfg-emisar-d1.h b/spaghetti-monster/anduril/cfg-emisar-d1.h
index 2427773..3bcf6a5 100644
--- a/spaghetti-monster/anduril/cfg-emisar-d1.h
+++ b/spaghetti-monster/anduril/cfg-emisar-d1.h
@@ -1,4 +1,8 @@
// Emisar D1 config options for Anduril
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#include "hwdef-Emisar_D1.h"
// same as Emisar D4, mostly
#include "cfg-emisar-d4.h"
diff --git a/spaghetti-monster/anduril/cfg-emisar-d18-219.h b/spaghetti-monster/anduril/cfg-emisar-d18-219.h
index 1f3a3c2..126e9f4 100644
--- a/spaghetti-monster/anduril/cfg-emisar-d18-219.h
+++ b/spaghetti-monster/anduril/cfg-emisar-d18-219.h
@@ -1,4 +1,8 @@
// Emisar D18 (FET+13+1) reduced-FET config options for Anduril
+// Copyright (C) 2019-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#include "cfg-emisar-d18.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0142"
diff --git a/spaghetti-monster/anduril/cfg-emisar-d18.h b/spaghetti-monster/anduril/cfg-emisar-d18.h
index 6644513..d59199c 100644
--- a/spaghetti-monster/anduril/cfg-emisar-d18.h
+++ b/spaghetti-monster/anduril/cfg-emisar-d18.h
@@ -1,4 +1,8 @@
// Emisar D18 (FET+13+1) config options for Anduril
+// Copyright (C) 2019-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0141"
#include "hwdef-Emisar_D18.h"
#include "hank-cfg.h"
diff --git a/spaghetti-monster/anduril/cfg-emisar-d1s.h b/spaghetti-monster/anduril/cfg-emisar-d1s.h
index 47cecf6..43d8160 100644
--- a/spaghetti-monster/anduril/cfg-emisar-d1s.h
+++ b/spaghetti-monster/anduril/cfg-emisar-d1s.h
@@ -1,4 +1,8 @@
// Emisar D1S config options for Anduril
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#include "hwdef-Emisar_D1S.h"
// same as Emisar D4, mostly
#include "cfg-emisar-d4.h"
diff --git a/spaghetti-monster/anduril/cfg-emisar-d1v2-7135-fet.h b/spaghetti-monster/anduril/cfg-emisar-d1v2-7135-fet.h
index aa9780b..15464db 100644
--- a/spaghetti-monster/anduril/cfg-emisar-d1v2-7135-fet.h
+++ b/spaghetti-monster/anduril/cfg-emisar-d1v2-7135-fet.h
@@ -1,7 +1,11 @@
// Emisar D1v2 (7135+FET) config options for Anduril
-// (was only made for a short time, not many people have one)
+// Copyright (C) 2020-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
// ATTINY: 1634
// same as Emisar D4v2, mostly
+// (was only made for a short time, not many people have one)
#include "cfg-emisar-d4v2.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0123"
diff --git a/spaghetti-monster/anduril/cfg-emisar-d1v2-linear-fet.h b/spaghetti-monster/anduril/cfg-emisar-d1v2-linear-fet.h
index 5dd5a2e..c8864bf 100644
--- a/spaghetti-monster/anduril/cfg-emisar-d1v2-linear-fet.h
+++ b/spaghetti-monster/anduril/cfg-emisar-d1v2-linear-fet.h
@@ -1,5 +1,9 @@
// Emisar D1v2 (linear+FET) config options for Anduril
// (2022 re-issue / update of old D1)
+// Copyright (C) 2022-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
// ATTINY: 1634
// similar to a Noctigon KR4, sort of
#include "cfg-noctigon-kr4.h"
diff --git a/spaghetti-monster/anduril/cfg-emisar-d1v2-nofet.h b/spaghetti-monster/anduril/cfg-emisar-d1v2-nofet.h
index 1c7aec9..ede1b67 100644
--- a/spaghetti-monster/anduril/cfg-emisar-d1v2-nofet.h
+++ b/spaghetti-monster/anduril/cfg-emisar-d1v2-nofet.h
@@ -1,5 +1,9 @@
-// Emisar D1v2 (linear+FET) config options for Anduril
+// Emisar D1v2 (linear only, no DDFET) config options for Anduril
// (2022 re-issue / update of old D1)
+// Copyright (C) 2022-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
// ATTINY: 1634
// similar to a Noctigon KR4, sort of
#include "cfg-noctigon-kr4-nofet.h"
diff --git a/spaghetti-monster/anduril/cfg-emisar-d4-219c.h b/spaghetti-monster/anduril/cfg-emisar-d4-219c.h
index e525d86..65649e3 100644
--- a/spaghetti-monster/anduril/cfg-emisar-d4-219c.h
+++ b/spaghetti-monster/anduril/cfg-emisar-d4-219c.h
@@ -1,5 +1,9 @@
// Emisar D4-219C config options for Anduril
-// same as D4S but with FET modes limited to 80% power
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
+// same as D4 but with FET modes limited to 80% power
// to avoid destroying the LEDs
#include "cfg-emisar-d4.h"
#undef MODEL_NUMBER
diff --git a/spaghetti-monster/anduril/cfg-emisar-d4.h b/spaghetti-monster/anduril/cfg-emisar-d4.h
index e77ac38..15a72ac 100644
--- a/spaghetti-monster/anduril/cfg-emisar-d4.h
+++ b/spaghetti-monster/anduril/cfg-emisar-d4.h
@@ -1,4 +1,8 @@
// Emisar D4 config options for Anduril
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0111"
#include "hwdef-Emisar_D4.h"
#include "hank-cfg.h"
diff --git a/spaghetti-monster/anduril/cfg-emisar-d4s-219c.h b/spaghetti-monster/anduril/cfg-emisar-d4s-219c.h
index 6489b34..f86c1b1 100644
--- a/spaghetti-monster/anduril/cfg-emisar-d4s-219c.h
+++ b/spaghetti-monster/anduril/cfg-emisar-d4s-219c.h
@@ -1,4 +1,8 @@
// Emisar D4S-219C config options for Anduril
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
// same as D4S but with FET modes limited to 80% power
// to avoid destroying the LEDs
#include "cfg-emisar-d4s.h"
diff --git a/spaghetti-monster/anduril/cfg-emisar-d4s.h b/spaghetti-monster/anduril/cfg-emisar-d4s.h
index 3c82460..a3dc65f 100644
--- a/spaghetti-monster/anduril/cfg-emisar-d4s.h
+++ b/spaghetti-monster/anduril/cfg-emisar-d4s.h
@@ -1,4 +1,8 @@
// Emisar D4S config options for Anduril
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0131"
#include "hwdef-Emisar_D4S.h"
#include "hank-cfg.h"
diff --git a/spaghetti-monster/anduril/cfg-emisar-d4sv2-219.h b/spaghetti-monster/anduril/cfg-emisar-d4sv2-219.h
index 54a2e6b..22775cc 100644
--- a/spaghetti-monster/anduril/cfg-emisar-d4sv2-219.h
+++ b/spaghetti-monster/anduril/cfg-emisar-d4sv2-219.h
@@ -1,4 +1,8 @@
// Emisar D4Sv2-219 config options for Anduril
+// Copyright (C) 2019-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#include "cfg-emisar-d4sv2.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0134"
diff --git a/spaghetti-monster/anduril/cfg-emisar-d4sv2-tintramp-fet.h b/spaghetti-monster/anduril/cfg-emisar-d4sv2-tintramp-fet.h
index 657e25d..437387c 100644
--- a/spaghetti-monster/anduril/cfg-emisar-d4sv2-tintramp-fet.h
+++ b/spaghetti-monster/anduril/cfg-emisar-d4sv2-tintramp-fet.h
@@ -1,4 +1,8 @@
// Emisar D4S V2 tint-ramping (plus FET) config options for Anduril (based on Noctigon K9.3)
+// Copyright (C) 2021-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#include "cfg-emisar-d4sv2-tintramp.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0136"
diff --git a/spaghetti-monster/anduril/cfg-emisar-d4sv2-tintramp.h b/spaghetti-monster/anduril/cfg-emisar-d4sv2-tintramp.h
index 3e54dca..bfbcba0 100644
--- a/spaghetti-monster/anduril/cfg-emisar-d4sv2-tintramp.h
+++ b/spaghetti-monster/anduril/cfg-emisar-d4sv2-tintramp.h
@@ -1,4 +1,8 @@
// Emisar D4S V2 tint-ramping config options for Anduril (based on Noctigon K9.3)
+// Copyright (C) 2021-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0135"
#include "hwdef-Emisar_D4Sv2-tintramp.h"
#include "hank-cfg.h"
diff --git a/spaghetti-monster/anduril/cfg-emisar-d4sv2.h b/spaghetti-monster/anduril/cfg-emisar-d4sv2.h
index 5f18fbc..1bf2c2e 100644
--- a/spaghetti-monster/anduril/cfg-emisar-d4sv2.h
+++ b/spaghetti-monster/anduril/cfg-emisar-d4sv2.h
@@ -1,4 +1,8 @@
// Emisar D4S V2 config options for Anduril
+// Copyright (C) 2019-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0133"
#include "hwdef-Emisar_D4Sv2.h"
#include "hank-cfg.h"
diff --git a/spaghetti-monster/anduril/cfg-emisar-d4v2-219.h b/spaghetti-monster/anduril/cfg-emisar-d4v2-219.h
index dad84f0..e9775ec 100644
--- a/spaghetti-monster/anduril/cfg-emisar-d4v2-219.h
+++ b/spaghetti-monster/anduril/cfg-emisar-d4v2-219.h
@@ -1,4 +1,8 @@
// Emisar D4v2-219 config options for Anduril
+// Copyright (C) 2019-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#include "cfg-emisar-d4v2.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0114"
diff --git a/spaghetti-monster/anduril/cfg-emisar-d4v2-nofet.h b/spaghetti-monster/anduril/cfg-emisar-d4v2-nofet.h
index 5e33a05..9c6f0b0 100644
--- a/spaghetti-monster/anduril/cfg-emisar-d4v2-nofet.h
+++ b/spaghetti-monster/anduril/cfg-emisar-d4v2-nofet.h
@@ -1,4 +1,8 @@
// Emisar D4v2-noFET config options for Anduril
+// Copyright (C) 2020-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#include "cfg-emisar-d4v2.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0115"
diff --git a/spaghetti-monster/anduril/cfg-emisar-d4v2.h b/spaghetti-monster/anduril/cfg-emisar-d4v2.h
index 54de297..670482c 100644
--- a/spaghetti-monster/anduril/cfg-emisar-d4v2.h
+++ b/spaghetti-monster/anduril/cfg-emisar-d4v2.h
@@ -1,6 +1,7 @@
-// Emisar D4 config options for Anduril
-// Copyright (C) 2019 Selene ToyKeeper
+// Emisar D4v2 config options for Anduril
+// Copyright (C) 2018-2023 Selene ToyKeeper
// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
#define MODEL_NUMBER "0113"
#include "hwdef-Emisar_D4v2.h"
diff --git a/spaghetti-monster/anduril/cfg-ff-e01.h b/spaghetti-monster/anduril/cfg-ff-e01.h
index f26bfb4..6d561b2 100644
--- a/spaghetti-monster/anduril/cfg-ff-e01.h
+++ b/spaghetti-monster/anduril/cfg-ff-e01.h
@@ -1,4 +1,8 @@
// Fireflies E01 SST-40 thrower config options for Anduril
+// Copyright (C) 2019-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
// most of the good stuff is in the FFUI config; just copy it
#include "../fireflies-ui/cfg-ff-e01.h"
#undef MODEL_NUMBER
diff --git a/spaghetti-monster/anduril/cfg-ff-pl47-219.h b/spaghetti-monster/anduril/cfg-ff-pl47-219.h
index efba8d3..11bd5b1 100644
--- a/spaghetti-monster/anduril/cfg-ff-pl47-219.h
+++ b/spaghetti-monster/anduril/cfg-ff-pl47-219.h
@@ -1,4 +1,8 @@
// Fireflies PL47-219B config options for Anduril
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
// same as PL47 but with FET modes limited to 67% power
// to avoid destroying the LEDs
#include "cfg-ff-pl47.h"
diff --git a/spaghetti-monster/anduril/cfg-ff-pl47.h b/spaghetti-monster/anduril/cfg-ff-pl47.h
index 54827cf..4ecee44 100644
--- a/spaghetti-monster/anduril/cfg-ff-pl47.h
+++ b/spaghetti-monster/anduril/cfg-ff-pl47.h
@@ -1,4 +1,8 @@
// Fireflies PL47 config options for Anduril
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0421"
#include "hwdef-FF_PL47.h"
diff --git a/spaghetti-monster/anduril/cfg-ff-pl47g2.h b/spaghetti-monster/anduril/cfg-ff-pl47g2.h
index c11ba28..923afac 100644
--- a/spaghetti-monster/anduril/cfg-ff-pl47g2.h
+++ b/spaghetti-monster/anduril/cfg-ff-pl47g2.h
@@ -1,4 +1,8 @@
// Fireflies PL47 G2 config options for Anduril
+// Copyright (C) 2019-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0423"
#include "hwdef-FF_PL47.h"
diff --git a/spaghetti-monster/anduril/cfg-ff-rot66-219.h b/spaghetti-monster/anduril/cfg-ff-rot66-219.h
index 086f8ac..4dad4e2 100644
--- a/spaghetti-monster/anduril/cfg-ff-rot66-219.h
+++ b/spaghetti-monster/anduril/cfg-ff-rot66-219.h
@@ -1,4 +1,8 @@
// Fireflies ROT66-219 (7x7135) config options for Anduril
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
// same as regular ROT66, but calibrated for Nichia 219B with 7x7135 chips
#include "cfg-ff-rot66.h"
#undef MODEL_NUMBER
diff --git a/spaghetti-monster/anduril/cfg-ff-rot66.h b/spaghetti-monster/anduril/cfg-ff-rot66.h
index d386f17..f357956 100644
--- a/spaghetti-monster/anduril/cfg-ff-rot66.h
+++ b/spaghetti-monster/anduril/cfg-ff-rot66.h
@@ -1,4 +1,8 @@
// Fireflies ROT66 (14x7135) config options for Anduril
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0411"
#include "hwdef-FF_ROT66.h"
diff --git a/spaghetti-monster/anduril/cfg-ff-rot66g2.h b/spaghetti-monster/anduril/cfg-ff-rot66g2.h
index 9737cc4..dca180d 100644
--- a/spaghetti-monster/anduril/cfg-ff-rot66g2.h
+++ b/spaghetti-monster/anduril/cfg-ff-rot66g2.h
@@ -1,4 +1,8 @@
// Fireflies ROT66 G2 config options for Anduril
+// Copyright (C) 2019-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#include "cfg-ff-rot66.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0413"
diff --git a/spaghetti-monster/anduril/cfg-fw3a-219.h b/spaghetti-monster/anduril/cfg-fw3a-219.h
index c9bf0c1..88739bf 100644
--- a/spaghetti-monster/anduril/cfg-fw3a-219.h
+++ b/spaghetti-monster/anduril/cfg-fw3a-219.h
@@ -1,4 +1,8 @@
// FW3A-219 config options for Anduril
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#include "cfg-fw3a.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0312"
diff --git a/spaghetti-monster/anduril/cfg-fw3a-nofet.h b/spaghetti-monster/anduril/cfg-fw3a-nofet.h
index 7752c10..e828ac5 100644
--- a/spaghetti-monster/anduril/cfg-fw3a-nofet.h
+++ b/spaghetti-monster/anduril/cfg-fw3a-nofet.h
@@ -1,4 +1,8 @@
// FW3A with the FET disabled
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#include "cfg-fw3a.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0313"
diff --git a/spaghetti-monster/anduril/cfg-fw3a.h b/spaghetti-monster/anduril/cfg-fw3a.h
index 24a77c0..f75fe13 100644
--- a/spaghetti-monster/anduril/cfg-fw3a.h
+++ b/spaghetti-monster/anduril/cfg-fw3a.h
@@ -1,4 +1,8 @@
// FW3A config options for Anduril
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0311"
#include "hwdef-FW3A.h"
diff --git a/spaghetti-monster/anduril/cfg-fw3x-lume1.h b/spaghetti-monster/anduril/cfg-fw3x-lume1.h
index 2f90920..280c433 100644
--- a/spaghetti-monster/anduril/cfg-fw3x-lume1.h
+++ b/spaghetti-monster/anduril/cfg-fw3x-lume1.h
@@ -1,4 +1,9 @@
-/* lume1 for FW3x config options for Anduril
+// lume1 for FW3x config options for Anduril
+// Copyright (C) 2020-2023 (FIXME)
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
+/*
* Constant current Buck-Boost + FET driver
* For more information: www.loneoceans.com/labs/
* Datasheets:
diff --git a/spaghetti-monster/anduril/cfg-gchart-fet1-t1616.h b/spaghetti-monster/anduril/cfg-gchart-fet1-t1616.h
index 9036d26..eb17399 100644
--- a/spaghetti-monster/anduril/cfg-gchart-fet1-t1616.h
+++ b/spaghetti-monster/anduril/cfg-gchart-fet1-t1616.h
@@ -1,4 +1,8 @@
// gChart's custom FET+1 driver config options for Anduril
+// Copyright (C) 2020-2023 (FIXME)
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "1618" // Golden Ratio... because I can
#include "hwdef-gchart-fet1-t1616.h"
// ATTINY: 1616
diff --git a/spaghetti-monster/anduril/cfg-mateminco-mf01-mini.h b/spaghetti-monster/anduril/cfg-mateminco-mf01-mini.h
index 894ebaf..47ff84b 100644
--- a/spaghetti-monster/anduril/cfg-mateminco-mf01-mini.h
+++ b/spaghetti-monster/anduril/cfg-mateminco-mf01-mini.h
@@ -1,4 +1,8 @@
// Mateminco/Astrolux MF01-Mini options for Anduril
+// Copyright (C) 2019-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0521"
#include "hwdef-Mateminco_MF01-Mini.h"
diff --git a/spaghetti-monster/anduril/cfg-mateminco-mf01s.h b/spaghetti-monster/anduril/cfg-mateminco-mf01s.h
index 49dbcf0..20bcccd 100644
--- a/spaghetti-monster/anduril/cfg-mateminco-mf01s.h
+++ b/spaghetti-monster/anduril/cfg-mateminco-mf01s.h
@@ -1,4 +1,8 @@
// Mateminco/Astrolux MF01S options for Anduril
+// Copyright (C) 2019-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0511"
#include "hwdef-Mateminco_MF01S.h"
diff --git a/spaghetti-monster/anduril/cfg-mateminco-mt35-mini.h b/spaghetti-monster/anduril/cfg-mateminco-mt35-mini.h
index d7264a2..fef1af6 100644
--- a/spaghetti-monster/anduril/cfg-mateminco-mt35-mini.h
+++ b/spaghetti-monster/anduril/cfg-mateminco-mt35-mini.h
@@ -1,4 +1,8 @@
// Mateminco MT35 Mini / Astrolux FT03
+// Copyright (C) 2022-2023 (FIXME)
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0531"
#include "hwdef-Mateminco_MT35-Mini.h"
// ATTINY: 85
diff --git a/spaghetti-monster/anduril/cfg-noctigon-dm11-12v.h b/spaghetti-monster/anduril/cfg-noctigon-dm11-12v.h
index bd41660..e0fc162 100644
--- a/spaghetti-monster/anduril/cfg-noctigon-dm11-12v.h
+++ b/spaghetti-monster/anduril/cfg-noctigon-dm11-12v.h
@@ -1,4 +1,8 @@
// Noctigon DM11 (12V) config options for Anduril
+// Copyright (C) 2021-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0273"
#include "hwdef-Noctigon_DM11-12V.h"
#include "hank-cfg.h"
diff --git a/spaghetti-monster/anduril/cfg-noctigon-dm11-nofet.h b/spaghetti-monster/anduril/cfg-noctigon-dm11-nofet.h
index 5a828d6..ad71fa9 100644
--- a/spaghetti-monster/anduril/cfg-noctigon-dm11-nofet.h
+++ b/spaghetti-monster/anduril/cfg-noctigon-dm11-nofet.h
@@ -1,4 +1,8 @@
// Noctigon DM11-noFET config options for Anduril
+// Copyright (C) 2021-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#include "cfg-noctigon-dm11.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0272"
diff --git a/spaghetti-monster/anduril/cfg-noctigon-dm11-sbt90.h b/spaghetti-monster/anduril/cfg-noctigon-dm11-sbt90.h
index 92c1ded..5a978b5 100644
--- a/spaghetti-monster/anduril/cfg-noctigon-dm11-sbt90.h
+++ b/spaghetti-monster/anduril/cfg-noctigon-dm11-sbt90.h
@@ -1,4 +1,8 @@
// Noctigon DM11-SBT90.2 config options for Anduril
+// Copyright (C) 2021-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0274"
#include "hwdef-Noctigon_DM11-SBT90.h"
#include "hank-cfg.h"
diff --git a/spaghetti-monster/anduril/cfg-noctigon-dm11.h b/spaghetti-monster/anduril/cfg-noctigon-dm11.h
index 4c746c9..d9b0b8c 100644
--- a/spaghetti-monster/anduril/cfg-noctigon-dm11.h
+++ b/spaghetti-monster/anduril/cfg-noctigon-dm11.h
@@ -1,4 +1,8 @@
// Noctigon DM11 config options for Anduril
+// Copyright (C) 2021-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0271"
#include "hwdef-Noctigon_DM11.h"
#include "hank-cfg.h"
diff --git a/spaghetti-monster/anduril/cfg-noctigon-k1-12v.h b/spaghetti-monster/anduril/cfg-noctigon-k1-12v.h
index 7f8f4cf..dbd0353 100644
--- a/spaghetti-monster/anduril/cfg-noctigon-k1-12v.h
+++ b/spaghetti-monster/anduril/cfg-noctigon-k1-12v.h
@@ -1,4 +1,8 @@
// Noctigon K1 12V config options for Anduril
+// Copyright (C) 2019-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0253"
#include "hwdef-Noctigon_K1-12V.h"
#include "hank-cfg.h"
diff --git a/spaghetti-monster/anduril/cfg-noctigon-k1-sbt90.h b/spaghetti-monster/anduril/cfg-noctigon-k1-sbt90.h
index 9207dbc..81063fa 100644
--- a/spaghetti-monster/anduril/cfg-noctigon-k1-sbt90.h
+++ b/spaghetti-monster/anduril/cfg-noctigon-k1-sbt90.h
@@ -1,4 +1,8 @@
// Noctigon K1-SBT90.2 config options for Anduril
+// Copyright (C) 2019-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
// (is a K1 host with a KR4-like driver and a really high-powered LED)
#define MODEL_NUMBER "0252"
#include "hwdef-Noctigon_K1-SBT90.h"
diff --git a/spaghetti-monster/anduril/cfg-noctigon-k1.h b/spaghetti-monster/anduril/cfg-noctigon-k1.h
index fb2a89c..93244a6 100644
--- a/spaghetti-monster/anduril/cfg-noctigon-k1.h
+++ b/spaghetti-monster/anduril/cfg-noctigon-k1.h
@@ -1,4 +1,8 @@
// Noctigon K1 config options for Anduril
+// Copyright (C) 2019-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0251"
// (originally known as Emisar D1S v2)
#include "hwdef-Noctigon_K1.h"
diff --git a/spaghetti-monster/anduril/cfg-noctigon-k9.3-219.h b/spaghetti-monster/anduril/cfg-noctigon-k9.3-219.h
index a88ad2c..2f8bdc0 100644
--- a/spaghetti-monster/anduril/cfg-noctigon-k9.3-219.h
+++ b/spaghetti-monster/anduril/cfg-noctigon-k9.3-219.h
@@ -1,4 +1,8 @@
// Noctigon K9.3 (reduced FET) config options for Anduril
+// Copyright (C) 2020-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#include "cfg-noctigon-k9.3.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0263"
diff --git a/spaghetti-monster/anduril/cfg-noctigon-k9.3-nofet.h b/spaghetti-monster/anduril/cfg-noctigon-k9.3-nofet.h
index e91ebc4..ece2bb2 100644
--- a/spaghetti-monster/anduril/cfg-noctigon-k9.3-nofet.h
+++ b/spaghetti-monster/anduril/cfg-noctigon-k9.3-nofet.h
@@ -1,4 +1,8 @@
// Noctigon K9.3 (noFET) config options for Anduril
+// Copyright (C) 2020-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#include "cfg-noctigon-k9.3.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0262"
diff --git a/spaghetti-monster/anduril/cfg-noctigon-k9.3-tintramp-219.h b/spaghetti-monster/anduril/cfg-noctigon-k9.3-tintramp-219.h
index 04efa83..4eb8c86 100644
--- a/spaghetti-monster/anduril/cfg-noctigon-k9.3-tintramp-219.h
+++ b/spaghetti-monster/anduril/cfg-noctigon-k9.3-tintramp-219.h
@@ -1,4 +1,8 @@
// Noctigon K9.3 tint-ramping (reduced FET) config options for Anduril
+// Copyright (C) 2021-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#include "cfg-noctigon-k9.3-tintramp-fet.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0267"
diff --git a/spaghetti-monster/anduril/cfg-noctigon-k9.3-tintramp-fet.h b/spaghetti-monster/anduril/cfg-noctigon-k9.3-tintramp-fet.h
index 8535c57..0c8f3c8 100644
--- a/spaghetti-monster/anduril/cfg-noctigon-k9.3-tintramp-fet.h
+++ b/spaghetti-monster/anduril/cfg-noctigon-k9.3-tintramp-fet.h
@@ -1,4 +1,8 @@
// Noctigon K9.3 tint-ramping (plus FET) config options for Anduril
+// Copyright (C) 2021-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#include "cfg-noctigon-k9.3-tintramp-nofet.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0266"
diff --git a/spaghetti-monster/anduril/cfg-noctigon-k9.3-tintramp-nofet.h b/spaghetti-monster/anduril/cfg-noctigon-k9.3-tintramp-nofet.h
index 21ab415..b505701 100644
--- a/spaghetti-monster/anduril/cfg-noctigon-k9.3-tintramp-nofet.h
+++ b/spaghetti-monster/anduril/cfg-noctigon-k9.3-tintramp-nofet.h
@@ -1,4 +1,8 @@
// Noctigon K9.3 noFET tint-ramping config options for Anduril
+// Copyright (C) 2021-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0265"
#include "hwdef-Emisar_D4Sv2-tintramp.h"
#include "hank-cfg.h"
diff --git a/spaghetti-monster/anduril/cfg-noctigon-k9.3.c b/spaghetti-monster/anduril/cfg-noctigon-k9.3.c
index d79c03f..d30d397 100644
--- a/spaghetti-monster/anduril/cfg-noctigon-k9.3.c
+++ b/spaghetti-monster/anduril/cfg-noctigon-k9.3.c
@@ -1,4 +1,9 @@
#error This build is broken.
+// Noctigon K9.3 code overrides for Anduril
+// Copyright (C) 2020-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
/*
* K9.3 has unusual power channels, so it must override some of FSM's code.
* There are two sets of LEDs:
diff --git a/spaghetti-monster/anduril/cfg-noctigon-k9.3.h b/spaghetti-monster/anduril/cfg-noctigon-k9.3.h
index f3a6cdd..dfe1d18 100644
--- a/spaghetti-monster/anduril/cfg-noctigon-k9.3.h
+++ b/spaghetti-monster/anduril/cfg-noctigon-k9.3.h
@@ -1,4 +1,8 @@
// Noctigon K9.3 config options for Anduril
+// Copyright (C) 2020-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0261"
#include "hwdef-Noctigon_K9.3.h"
#include "hank-cfg.h"
diff --git a/spaghetti-monster/anduril/cfg-noctigon-kr4-12v.h b/spaghetti-monster/anduril/cfg-noctigon-kr4-12v.h
index a513b3f..52a031d 100644
--- a/spaghetti-monster/anduril/cfg-noctigon-kr4-12v.h
+++ b/spaghetti-monster/anduril/cfg-noctigon-kr4-12v.h
@@ -1,5 +1,9 @@
// Noctigon KR4 (12V) config options for Anduril
// (and Noctigon KR1)
+// Copyright (C) 2020-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0216"
#include "hwdef-Noctigon_KR4-12V.h"
// ATTINY: 1634
diff --git a/spaghetti-monster/anduril/cfg-noctigon-kr4-219.h b/spaghetti-monster/anduril/cfg-noctigon-kr4-219.h
index 28fc595..5d106ef 100644
--- a/spaghetti-monster/anduril/cfg-noctigon-kr4-219.h
+++ b/spaghetti-monster/anduril/cfg-noctigon-kr4-219.h
@@ -1,4 +1,8 @@
// Noctigon KR4 (reduced FET) config options for Anduril
+// Copyright (C) 2020-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#include "cfg-noctigon-kr4.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0213"
diff --git a/spaghetti-monster/anduril/cfg-noctigon-kr4-219b.h b/spaghetti-monster/anduril/cfg-noctigon-kr4-219b.h
index 39ac57c..b242048 100644
--- a/spaghetti-monster/anduril/cfg-noctigon-kr4-219b.h
+++ b/spaghetti-monster/anduril/cfg-noctigon-kr4-219b.h
@@ -1,4 +1,8 @@
// Noctigon KR4 (reduced FET) config options for Anduril
+// Copyright (C) 2020-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#include "cfg-noctigon-kr4.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0214"
diff --git a/spaghetti-monster/anduril/cfg-noctigon-kr4-nofet.h b/spaghetti-monster/anduril/cfg-noctigon-kr4-nofet.h
index e4879ef..701d93f 100644
--- a/spaghetti-monster/anduril/cfg-noctigon-kr4-nofet.h
+++ b/spaghetti-monster/anduril/cfg-noctigon-kr4-nofet.h
@@ -1,4 +1,8 @@
// Noctigon KR4 (fetless) config options for Anduril
+// Copyright (C) 2020-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
// (and Noctigon KR1)
// (and Emisar D4v2 E21A, a.k.a. "D4v2.5")
#include "cfg-noctigon-kr4.h"
diff --git a/spaghetti-monster/anduril/cfg-noctigon-kr4-tintramp.h b/spaghetti-monster/anduril/cfg-noctigon-kr4-tintramp.h
index f19744d..c36df47 100644
--- a/spaghetti-monster/anduril/cfg-noctigon-kr4-tintramp.h
+++ b/spaghetti-monster/anduril/cfg-noctigon-kr4-tintramp.h
@@ -1,4 +1,8 @@
// Noctigon KR4 tint-ramping config options for Anduril
+// Copyright (C) 2021-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
// (basically the same as Emisar D4S V2 tint-ramping,
// but switch on a different pin, and no lighted button)
// ATTINY: 1634
diff --git a/spaghetti-monster/anduril/cfg-noctigon-kr4.h b/spaghetti-monster/anduril/cfg-noctigon-kr4.h
index 8071457..d5d7f8c 100644
--- a/spaghetti-monster/anduril/cfg-noctigon-kr4.h
+++ b/spaghetti-monster/anduril/cfg-noctigon-kr4.h
@@ -1,5 +1,9 @@
// Noctigon KR4 config options for Anduril
// (and Emisar D4v2.5, which uses KR4 driver plus a button LED)
+// Copyright (C) 2020-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0211"
#include "hwdef-Noctigon_KR4.h"
#include "hank-cfg.h"
diff --git a/spaghetti-monster/anduril/cfg-sofirn-lt1s-pro.c b/spaghetti-monster/anduril/cfg-sofirn-lt1s-pro.c
deleted file mode 100644
index 571bbdc..0000000
--- a/spaghetti-monster/anduril/cfg-sofirn-lt1s-pro.c
+++ /dev/null
@@ -1,22 +0,0 @@
-// this is inserted into fsm-ramping.c :: set_level()
-// (it overrides part of the function, but not all of it)
-uint8_t output_mux; // pre-define this variable since the overrides file gets included before the ramp-mode.h file
-inline void set_level_override(uint8_t level) {
- if (level == 0) { // off
- TINT1_LVL = 0; // disable the first white channel
- TINT2_LVL = 0; // disable the second white channel
- PWM3_LVL = 0; // disable the red LEDs
- } else {
- level --;
-
- if (output_mux == 0) { // main white LEDs
- PWM3_LVL = 0; // disable the red LEDs
- PWM1_LVL = PWM_GET(pwm1_levels, level); // get the PWM value
- update_tint(); // set the warm-cool level balance
- } else { // red LEDs
- TINT1_LVL = 0; // disable the first white channel
- TINT2_LVL = 0; // disable the second white channel
- PWM3_LVL = PWM_GET(pwm1_levels, level); // set the red LED PWM
- }
- }
-}
\ No newline at end of file
diff --git a/spaghetti-monster/anduril/cfg-sofirn-lt1s-pro.h b/spaghetti-monster/anduril/cfg-sofirn-lt1s-pro.h
index 282dca2..993619a 100644
--- a/spaghetti-monster/anduril/cfg-sofirn-lt1s-pro.h
+++ b/spaghetti-monster/anduril/cfg-sofirn-lt1s-pro.h
@@ -1,4 +1,6 @@
-// Sofirn LT1S Pro
+// Sofirn LT1S Pro config file for Anduril
+// Copyright (C) 2022-2023 (FIXME)
+// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
#define MODEL_NUMBER "0623"
diff --git a/spaghetti-monster/anduril/cfg-sofirn-sc21-pro.h b/spaghetti-monster/anduril/cfg-sofirn-sc21-pro.h
index cee8172..8fd2dee 100644
--- a/spaghetti-monster/anduril/cfg-sofirn-sc21-pro.h
+++ b/spaghetti-monster/anduril/cfg-sofirn-sc21-pro.h
@@ -1,4 +1,8 @@
// Sofirn SC21 Pro - same setup as a Wurkkos TS10, but with the aux indicator on while ramping
+// Copyright (C) 2022-2023 (FIXME)
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#include "cfg-wurkkos-ts10.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0632"
diff --git a/spaghetti-monster/anduril/cfg-sofirn-sp10-pro.h b/spaghetti-monster/anduril/cfg-sofirn-sp10-pro.h
index c1f1ed8..3a02fc2 100644
--- a/spaghetti-monster/anduril/cfg-sofirn-sp10-pro.h
+++ b/spaghetti-monster/anduril/cfg-sofirn-sp10-pro.h
@@ -1,4 +1,8 @@
// Sofirn SP10 Pro config options for Anduril
+// Copyright (C) 2022-2023 (FIXME)
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0631"
#include "hwdef-Sofirn_SP10-Pro.h"
// ATTINY: 1616
diff --git a/spaghetti-monster/anduril/cfg-sofirn-sp36-t1616.h b/spaghetti-monster/anduril/cfg-sofirn-sp36-t1616.h
index ce1c04a..cb29e4f 100644
--- a/spaghetti-monster/anduril/cfg-sofirn-sp36-t1616.h
+++ b/spaghetti-monster/anduril/cfg-sofirn-sp36-t1616.h
@@ -1,4 +1,8 @@
// Sofirn SP36 (small Q8) config options for Anduril using the Attiny1616
+// Copyright (C) 2021-2023 (FIXME)
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
// same as the BLF Q8, mostly
#include "cfg-blf-q8-t1616.h"
#undef MODEL_NUMBER
diff --git a/spaghetti-monster/anduril/cfg-sofirn-sp36.h b/spaghetti-monster/anduril/cfg-sofirn-sp36.h
index af8c18b..3661686 100644
--- a/spaghetti-monster/anduril/cfg-sofirn-sp36.h
+++ b/spaghetti-monster/anduril/cfg-sofirn-sp36.h
@@ -1,4 +1,8 @@
// Sofirn SP36 (small Q8) config options for Anduril
+// Copyright (C) 2018-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
// same as the BLF Q8, mostly
#include "cfg-blf-q8.h"
#undef MODEL_NUMBER
diff --git a/spaghetti-monster/anduril/cfg-thefreeman-lin16dac.h b/spaghetti-monster/anduril/cfg-thefreeman-lin16dac.h
index 64dcd8c..2e155ec 100644
--- a/spaghetti-monster/anduril/cfg-thefreeman-lin16dac.h
+++ b/spaghetti-monster/anduril/cfg-thefreeman-lin16dac.h
@@ -1,4 +1,8 @@
// thefreeman's Linear 16 driver using DAC control
+// Copyright (C) 2021-2023 (FIXME)
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0000" // TBD
#include "hwdef-thefreeman-lin16dac.h"
// ATTINY: 1616
diff --git a/spaghetti-monster/anduril/cfg-wurkkos-ts10.h b/spaghetti-monster/anduril/cfg-wurkkos-ts10.h
index 6f92abf..bef2ad8 100644
--- a/spaghetti-monster/anduril/cfg-wurkkos-ts10.h
+++ b/spaghetti-monster/anduril/cfg-wurkkos-ts10.h
@@ -1,4 +1,8 @@
// Wurkkos TS10 (originally used Sofirn SP36-t1616 firmware) config options for Anduril using the Attiny1616
+// Copyright (C) 2022-2023 (FIXME)
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
// same as the BLF Q8 T1616, mostly (added Dynamic PWM)
#define MODEL_NUMBER "0714"
#include "hwdef-Wurkkos_TS10.h"
@@ -79,4 +83,4 @@
#endif
#ifdef BLINK_AT_RAMP_CEIL
#undef BLINK_AT_RAMP_CEIL
-#endif
\ No newline at end of file
+#endif
diff --git a/spaghetti-monster/anduril/cfg-wurkkos-ts25.h b/spaghetti-monster/anduril/cfg-wurkkos-ts25.h
index a339cdb..3196a9a 100644
--- a/spaghetti-monster/anduril/cfg-wurkkos-ts25.h
+++ b/spaghetti-monster/anduril/cfg-wurkkos-ts25.h
@@ -1,4 +1,8 @@
// Wurkkos TS25, modelled after the TS10 but with RGB Aux
+// Copyright (C) 2022-2023 (FIXME)
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
#define MODEL_NUMBER "0715"
#include "hwdef-Wurkkos_TS25.h"
// ATTINY: 1616
@@ -75,4 +79,4 @@
#endif
#ifdef BLINK_AT_RAMP_CEIL
#undef BLINK_AT_RAMP_CEIL
-#endif
\ No newline at end of file
+#endif
diff --git a/spaghetti-monster/anduril/channel-modes.c b/spaghetti-monster/anduril/channel-modes.c
index f3a21cf..51f294c 100644
--- a/spaghetti-monster/anduril/channel-modes.c
+++ b/spaghetti-monster/anduril/channel-modes.c
@@ -1,14 +1,11 @@
-/*
- * channel-modes.c: Multi-channel functions for Anduril.
- * Copyright (C) 2017-2023 Selene ToyKeeper
- * SPDX-License-Identifier: GPL-3.0-or-later
- */
+// channel-modes.c: Multi-channel functions for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
#include "channel-modes.h"
-
uint8_t channel_mode_state(Event event, uint16_t arg) {
#ifdef USE_CHANNEL_MODE_ARGS
static int8_t tint_ramp_direction = 1;
@@ -144,3 +141,4 @@ uint8_t channel_mode_config_state(Event event, uint16_t arg) {
);
}
#endif
+
diff --git a/spaghetti-monster/anduril/channel-modes.h b/spaghetti-monster/anduril/channel-modes.h
index c10af5b..67d6bbb 100644
--- a/spaghetti-monster/anduril/channel-modes.h
+++ b/spaghetti-monster/anduril/channel-modes.h
@@ -1,8 +1,6 @@
-/*
- * channel-modes.h: Multi-channel functions for Anduril.
- * Copyright (C) 2017-2023 Selene ToyKeeper
- * SPDX-License-Identifier: GPL-3.0-or-later
- */
+// channel-modes.h: Multi-channel functions for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
diff --git a/spaghetti-monster/anduril/config-default.h b/spaghetti-monster/anduril/config-default.h
index 171c8b3..514b9a8 100644
--- a/spaghetti-monster/anduril/config-default.h
+++ b/spaghetti-monster/anduril/config-default.h
@@ -1,24 +1,8 @@
-/*
- * config-default.h: Default configuration for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// config-default.h: Default configuration for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef CONFIG_DEFAULT_H
-#define CONFIG_DEFAULT_H
+#pragma once
/*
* This file specifies the default settings for Anduril.
@@ -197,4 +181,3 @@
// those oscillations
//#define USE_LOWPASS_WHILE_ASLEEP
-#endif
diff --git a/spaghetti-monster/anduril/factory-reset-fsm.h b/spaghetti-monster/anduril/factory-reset-fsm.h
index a8fb0d9..3cb0875 100644
--- a/spaghetti-monster/anduril/factory-reset-fsm.h
+++ b/spaghetti-monster/anduril/factory-reset-fsm.h
@@ -1,28 +1,10 @@
-/*
- * factory-reset-fsm.h: FSM config options to enable factory reset in Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// factory-reset-fsm.h: FSM config options to enable factory reset in Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef FACTORY_RESET_FSM_H
-#define FACTORY_RESET_FSM_H
+#pragma once
#ifdef USE_SOFT_FACTORY_RESET
#define USE_REBOOT
#endif
-
-#endif
diff --git a/spaghetti-monster/anduril/ff-strobe-modes.c b/spaghetti-monster/anduril/ff-strobe-modes.c
index 4c12630..9e7f2bb 100644
--- a/spaghetti-monster/anduril/ff-strobe-modes.c
+++ b/spaghetti-monster/anduril/ff-strobe-modes.c
@@ -1,24 +1,8 @@
-/*
- * ff-strobe-modes.c: Fireflies Flashlights strobe modes for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// ff-strobe-modes.c: Fireflies Flashlights strobe modes for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef FF_STROBE_MODES_C
-#define FF_STROBE_MODES_C
+#pragma once
#include "ff-strobe-modes.h"
@@ -76,6 +60,3 @@ inline void police_strobe_iter() {
}
#endif
-
-#endif
-
diff --git a/spaghetti-monster/anduril/ff-strobe-modes.h b/spaghetti-monster/anduril/ff-strobe-modes.h
index a3e0a27..d7adfec 100644
--- a/spaghetti-monster/anduril/ff-strobe-modes.h
+++ b/spaghetti-monster/anduril/ff-strobe-modes.h
@@ -1,24 +1,8 @@
-/*
- * ff-strobe-modes.h: Fireflies Flashlights strobe modes for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// ff-strobe-modes.h: Fireflies Flashlights strobe modes for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef FF_STROBE_MODES_H
-#define FF_STROBE_MODES_H
+#pragma once
uint8_t boring_strobe_state(Event event, uint16_t arg);
inline void boring_strobe_state_iter();
@@ -29,5 +13,3 @@ inline void police_strobe_iter();
#endif
#define NUM_BORING_STROBES 2
-
-#endif
diff --git a/spaghetti-monster/anduril/hank-cfg.h b/spaghetti-monster/anduril/hank-cfg.h
index f24ea67..f6b626a 100644
--- a/spaghetti-monster/anduril/hank-cfg.h
+++ b/spaghetti-monster/anduril/hank-cfg.h
@@ -1,5 +1,5 @@
// Intl-Outdoor (Hank)'s config options for Anduril
-// Copyright (C) 2021 Selene ToyKeeper
+// Copyright (C) 2021-2023 Selene ToyKeeper
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
diff --git a/spaghetti-monster/anduril/lockout-mode-fsm.h b/spaghetti-monster/anduril/lockout-mode-fsm.h
index bc18ed3..ede251c 100644
--- a/spaghetti-monster/anduril/lockout-mode-fsm.h
+++ b/spaghetti-monster/anduril/lockout-mode-fsm.h
@@ -1,29 +1,11 @@
-/*
- * lockout-mode-fsm.h: FSM config for lockout mode in Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// lockout-mode-fsm.h: FSM config for lockout mode in Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef LOCKOUT_MODE_FSM_H
-#define LOCKOUT_MODE_FSM_H
+#pragma once
// autolock function requires the ability to measure time while "off"
#ifdef USE_AUTOLOCK
#define TICK_DURING_STANDBY
#endif
-
-#endif
diff --git a/spaghetti-monster/anduril/lockout-mode.c b/spaghetti-monster/anduril/lockout-mode.c
index 3bf7ce0..2439580 100644
--- a/spaghetti-monster/anduril/lockout-mode.c
+++ b/spaghetti-monster/anduril/lockout-mode.c
@@ -1,24 +1,8 @@
-/*
- * lockout-mode.c: Lockout mode for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#ifndef LOCKOUT_MODE_C
-#define LOCKOUT_MODE_C
+// lockout-mode.c: Lockout mode for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#pragma once
#include "lockout-mode.h"
@@ -215,6 +199,3 @@ uint8_t autolock_config_state(Event event, uint16_t arg) {
}
#endif // #ifdef USE_AUTOLOCK
-
-#endif
-
diff --git a/spaghetti-monster/anduril/lockout-mode.h b/spaghetti-monster/anduril/lockout-mode.h
index 37b02ab..c2703a0 100644
--- a/spaghetti-monster/anduril/lockout-mode.h
+++ b/spaghetti-monster/anduril/lockout-mode.h
@@ -1,24 +1,8 @@
-/*
- * lockout-mode.h: Lockout mode for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// lockout-mode.h: Lockout mode for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef LOCKOUT_MODE_H
-#define LOCKOUT_MODE_H
+#pragma once
// soft lockout
uint8_t lockout_state(Event event, uint16_t arg);
@@ -30,5 +14,3 @@ uint8_t lockout_state(Event event, uint16_t arg);
uint8_t autolock_config_state(Event event, uint16_t arg);
#endif
-
-#endif
diff --git a/spaghetti-monster/anduril/misc.c b/spaghetti-monster/anduril/misc.c
index 9c7f0dd..d78c542 100644
--- a/spaghetti-monster/anduril/misc.c
+++ b/spaghetti-monster/anduril/misc.c
@@ -1,24 +1,8 @@
-/*
- * misc.c: Misc extra functions for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// misc.c: Misc extra functions for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef MISC_C
-#define MISC_C
+#pragma once
#include "misc.h"
@@ -62,6 +46,3 @@ void blip() {
set_level(temp);
}
-
-#endif
-
diff --git a/spaghetti-monster/anduril/misc.h b/spaghetti-monster/anduril/misc.h
index 5febbc7..0f2992a 100644
--- a/spaghetti-monster/anduril/misc.h
+++ b/spaghetti-monster/anduril/misc.h
@@ -1,28 +1,10 @@
-/*
- * misc.h: Misc extra functions for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// misc.h: Misc extra functions for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef MISC_H
-#define MISC_H
+#pragma once
//void blink_confirm(uint8_t num); // no longer used
void blink_once();
void blip();
-
-#endif
diff --git a/spaghetti-monster/anduril/momentary-mode.c b/spaghetti-monster/anduril/momentary-mode.c
index 08879a1..2d8d57b 100644
--- a/spaghetti-monster/anduril/momentary-mode.c
+++ b/spaghetti-monster/anduril/momentary-mode.c
@@ -1,24 +1,8 @@
-/*
- * momentary-mode.c: Momentary mode for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// momentary-mode.c: Momentary mode for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef MOMENTARY_MODE_C
-#define MOMENTARY_MODE_C
+#pragma once
#include "momentary-mode.h"
@@ -81,6 +65,3 @@ uint8_t momentary_state(Event event, uint16_t arg) {
return EVENT_NOT_HANDLED;
}
-
-#endif
-
diff --git a/spaghetti-monster/anduril/momentary-mode.h b/spaghetti-monster/anduril/momentary-mode.h
index c5ccf0f..d774801 100644
--- a/spaghetti-monster/anduril/momentary-mode.h
+++ b/spaghetti-monster/anduril/momentary-mode.h
@@ -1,29 +1,11 @@
-/*
- * momentary-mode.h: Momentary mode for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// momentary-mode.h: Momentary mode for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef MOMENTARY_MODE_H
-#define MOMENTARY_MODE_H
+#pragma once
// momentary / signalling mode
uint8_t momentary_state(Event event, uint16_t arg);
uint8_t momentary_mode = 0; // 0 = ramping, 1 = strobe
uint8_t momentary_active = 0; // boolean, true if active *right now*
-
-#endif
diff --git a/spaghetti-monster/anduril/off-mode.c b/spaghetti-monster/anduril/off-mode.c
index d9ab5cb..103e29d 100644
--- a/spaghetti-monster/anduril/off-mode.c
+++ b/spaghetti-monster/anduril/off-mode.c
@@ -1,24 +1,8 @@
-/*
- * off-mode.c: "Off" mode for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#ifndef OFF_MODE_C
-#define OFF_MODE_C
+// off-mode.c: "Off" mode for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#pragma once
#include "off-mode.h"
@@ -363,6 +347,3 @@ uint8_t off_state(Event event, uint16_t arg) {
return EVENT_NOT_HANDLED;
}
-
-#endif
-
diff --git a/spaghetti-monster/anduril/off-mode.h b/spaghetti-monster/anduril/off-mode.h
index 776173c..71d45eb 100644
--- a/spaghetti-monster/anduril/off-mode.h
+++ b/spaghetti-monster/anduril/off-mode.h
@@ -1,27 +1,9 @@
-/*
- * off-mode.h: "Off" mode for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// off-mode.h: "Off" mode for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef OFF_MODE_H
-#define OFF_MODE_H
+#pragma once
// when the light is "off" or in standby
uint8_t off_state(Event event, uint16_t arg);
-
-#endif
diff --git a/spaghetti-monster/anduril/ramp-mode-fsm.h b/spaghetti-monster/anduril/ramp-mode-fsm.h
index 1a062e9..8fb80d1 100644
--- a/spaghetti-monster/anduril/ramp-mode-fsm.h
+++ b/spaghetti-monster/anduril/ramp-mode-fsm.h
@@ -1,24 +1,8 @@
-/*
- * ramp-mode-fsm.h: FSM config for ramping functions in Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#ifndef RAMP_MODE_FSM_H
-#define RAMP_MODE_FSM_H
+// ramp-mode-fsm.h: FSM config for ramping functions in Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#pragma once
// enable FSM's ramping features
#define USE_RAMPING
@@ -51,5 +35,3 @@
#define USE_GLOBALS_CONFIG
#endif
-
-#endif
diff --git a/spaghetti-monster/anduril/sos-mode.c b/spaghetti-monster/anduril/sos-mode.c
index 97245c7..4704297 100644
--- a/spaghetti-monster/anduril/sos-mode.c
+++ b/spaghetti-monster/anduril/sos-mode.c
@@ -1,24 +1,8 @@
-/*
- * sos-mode.c: SOS mode for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// sos-mode.c: SOS mode for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef SOS_MODE_C
-#define SOS_MODE_C
+#pragma once
#include "sos-mode.h"
@@ -70,6 +54,3 @@ inline void sos_mode_iter() {
nice_delay_ms(2000);
}
-
-#endif
-
diff --git a/spaghetti-monster/anduril/sos-mode.h b/spaghetti-monster/anduril/sos-mode.h
index 397aa3f..5af61be 100644
--- a/spaghetti-monster/anduril/sos-mode.h
+++ b/spaghetti-monster/anduril/sos-mode.h
@@ -1,29 +1,11 @@
-/*
- * sos-mode.h: SOS mode for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// sos-mode.h: SOS mode for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef SOS_MODE_H
-#define SOS_MODE_H
+#pragma once
#ifdef USE_SOS_MODE_IN_BLINKY_GROUP
// automatic SOS emergency signal
uint8_t sos_state(Event event, uint16_t arg);
#endif
-
-#endif
diff --git a/spaghetti-monster/anduril/strobe-modes-fsm.h b/spaghetti-monster/anduril/strobe-modes-fsm.h
index 002a951..da513a4 100644
--- a/spaghetti-monster/anduril/strobe-modes-fsm.h
+++ b/spaghetti-monster/anduril/strobe-modes-fsm.h
@@ -1,24 +1,8 @@
-/*
- * strobe-modes-fsm.h: FSM config for strobe modes in Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// strobe-modes-fsm.h: FSM config for strobe modes in Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef STROBE_MODES_FSM_H
-#define STROBE_MODES_FSM_H
+#pragma once
// enable the random number generator if we need it
#if defined(USE_LIGHTNING_MODE) || defined(USE_CANDLE_MODE)
@@ -41,4 +25,3 @@
#define USE_STROBE_STATE
#endif
-#endif
diff --git a/spaghetti-monster/anduril/strobe-modes.c b/spaghetti-monster/anduril/strobe-modes.c
index 0664418..9963c80 100644
--- a/spaghetti-monster/anduril/strobe-modes.c
+++ b/spaghetti-monster/anduril/strobe-modes.c
@@ -1,24 +1,8 @@
-/*
- * strobe-modes.c: Strobe modes for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#ifndef STROBE_MODES_C
-#define STROBE_MODES_C
+// strobe-modes.c: Strobe modes for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#pragma once
#include "strobe-modes.h"
@@ -326,6 +310,3 @@ inline void bike_flasher_iter() {
#include "ff-strobe-modes.c"
#endif
-
-#endif
-
diff --git a/spaghetti-monster/anduril/strobe-modes.h b/spaghetti-monster/anduril/strobe-modes.h
index 0e7c873..9144d0e 100644
--- a/spaghetti-monster/anduril/strobe-modes.h
+++ b/spaghetti-monster/anduril/strobe-modes.h
@@ -1,24 +1,8 @@
-/*
- * strobe-modes.h: Strobe modes for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#ifndef STROBE_MODES_H
-#define STROBE_MODES_H
+// strobe-modes.h: Strobe modes for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#pragma once
// internal numbering for strobe modes
#ifdef USE_STROBE_STATE
@@ -106,4 +90,3 @@ inline void bike_flasher_iter();
#include "ff-strobe-modes.h"
#endif
-#endif
diff --git a/spaghetti-monster/anduril/tactical-mode.c b/spaghetti-monster/anduril/tactical-mode.c
index 2447a11..2f5c3b0 100644
--- a/spaghetti-monster/anduril/tactical-mode.c
+++ b/spaghetti-monster/anduril/tactical-mode.c
@@ -1,24 +1,8 @@
-/*
- * tactical-mode.c: Tactical (ish) mode for Anduril.
- *
- * Copyright (C) 2023 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// tactical-mode.c: Tactical (ish) mode for Anduril.
+// Copyright (C) 2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef TACTICAL_MODE_C
-#define TACTICAL_MODE_C
+#pragma once
#include "tactical-mode.h"
@@ -118,6 +102,3 @@ uint8_t tactical_config_state(Event event, uint16_t arg) {
return config_state_base(event, arg, 3, tactical_config_save);
}
-
-#endif
-
diff --git a/spaghetti-monster/anduril/tactical-mode.h b/spaghetti-monster/anduril/tactical-mode.h
index 14bf7ff..8972202 100644
--- a/spaghetti-monster/anduril/tactical-mode.h
+++ b/spaghetti-monster/anduril/tactical-mode.h
@@ -1,24 +1,8 @@
-/*
- * tactical-mode.h: Tactical mode for Anduril.
- *
- * Copyright (C) 2023 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// tactical-mode.h: Tactical mode for Anduril.
+// Copyright (C) 2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef TACTICAL_MODE_H
-#define TACTICAL_MODE_H
+#pragma once
#ifndef TACTICAL_LEVELS
// high, low, tactical strobe
@@ -29,5 +13,3 @@
uint8_t tactical_state(Event event, uint16_t arg);
uint8_t tactical_config_state(Event event, uint16_t arg);
-
-#endif
diff --git a/spaghetti-monster/anduril/tempcheck-mode.c b/spaghetti-monster/anduril/tempcheck-mode.c
index 2e3b56f..4a413c9 100644
--- a/spaghetti-monster/anduril/tempcheck-mode.c
+++ b/spaghetti-monster/anduril/tempcheck-mode.c
@@ -1,24 +1,8 @@
-/*
- * tempcheck-mode.c: Temperature check mode for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// tempcheck-mode.c: Temperature check mode for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef TEMPCHECK_MODE_C
-#define TEMPCHECK_MODE_C
+#pragma once
#include "tempcheck-mode.h"
@@ -70,6 +54,3 @@ uint8_t thermal_config_state(Event event, uint16_t arg) {
2, thermal_config_save);
}
-
-#endif
-
diff --git a/spaghetti-monster/anduril/tempcheck-mode.h b/spaghetti-monster/anduril/tempcheck-mode.h
index 83edd9c..15dd03e 100644
--- a/spaghetti-monster/anduril/tempcheck-mode.h
+++ b/spaghetti-monster/anduril/tempcheck-mode.h
@@ -1,24 +1,8 @@
-/*
- * tempcheck-mode.h: Temperature check mode for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// tempcheck-mode.h: Temperature check mode for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef TEMPCHECK_MODE_H
-#define TEMPCHECK_MODE_H
+#pragma once
#define USE_BLINK_NUM // FIXME: this only matters in an earlier header
@@ -26,5 +10,3 @@ uint8_t tempcheck_state(Event event, uint16_t arg);
uint8_t thermal_config_state(Event event, uint16_t arg);
void thermal_config_save(uint8_t step, uint8_t value);
-
-#endif
diff --git a/spaghetti-monster/anduril/tint-ramping.c b/spaghetti-monster/anduril/tint-ramping.c
index 13f5d29..9418113 100644
--- a/spaghetti-monster/anduril/tint-ramping.c
+++ b/spaghetti-monster/anduril/tint-ramping.c
@@ -1,8 +1,6 @@
-/*
- * tint-ramping.c: Tint ramping functions for Anduril.
- * Copyright (C) 2017-2023 Selene ToyKeeper
- * SPDX-License-Identifier: GPL-3.0-or-later
- */
+// tint-ramping.c: Tint ramping functions for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
diff --git a/spaghetti-monster/anduril/tint-ramping.h b/spaghetti-monster/anduril/tint-ramping.h
index 9b7f9a8..19b8dde 100644
--- a/spaghetti-monster/anduril/tint-ramping.h
+++ b/spaghetti-monster/anduril/tint-ramping.h
@@ -1,8 +1,6 @@
-/*
- * tint-ramping.h: Tint ramping functions for Anduril.
- * Copyright (C) 2017-2023 Selene ToyKeeper
- * SPDX-License-Identifier: GPL-3.0-or-later
- */
+// tint-ramping.h: Tint ramping functions for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
diff --git a/spaghetti-monster/anduril/version-check-mode.c b/spaghetti-monster/anduril/version-check-mode.c
index edb1723..2b7112e 100644
--- a/spaghetti-monster/anduril/version-check-mode.c
+++ b/spaghetti-monster/anduril/version-check-mode.c
@@ -1,24 +1,8 @@
-/*
- * version-check-mode.c: Version check mode for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// version-check-mode.c: Version check mode for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef VERSION_CHECK_MODE_C
-#define VERSION_CHECK_MODE_C
+#pragma once
#include "version-check-mode.h"
@@ -42,6 +26,3 @@ inline void version_check_iter() {
set_state_deferred(off_state, 0);
}
-
-#endif
-
diff --git a/spaghetti-monster/anduril/version-check-mode.h b/spaghetti-monster/anduril/version-check-mode.h
index ce02b73..db2086e 100644
--- a/spaghetti-monster/anduril/version-check-mode.h
+++ b/spaghetti-monster/anduril/version-check-mode.h
@@ -1,24 +1,8 @@
-/*
- * version-check-mode.h: Version check mode for Anduril.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// version-check-mode.h: Version check mode for Anduril.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef VERSION_CHECK_MODE_H
-#define VERSION_CHECK_MODE_H
+#pragma once
#define USE_BLINK_DIGIT // FIXME: does nothing unless defined earlier
@@ -33,5 +17,3 @@ const PROGMEM uint8_t version_number[] = VERSION_NUMBER MODEL_NUMBER;
uint8_t version_check_state(Event event, uint16_t arg);
inline void version_check_iter();
-
-#endif
diff --git a/spaghetti-monster/fsm-adc.c b/spaghetti-monster/fsm-adc.c
index 9dc8866..5b238aa 100644
--- a/spaghetti-monster/fsm-adc.c
+++ b/spaghetti-monster/fsm-adc.c
@@ -1,24 +1,8 @@
-/*
- * fsm-adc.c: ADC (voltage, temperature) functions for SpaghettiMonster.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#ifndef FSM_ADC_C
-#define FSM_ADC_C
+// fsm-adc.c: ADC (voltage, temperature) functions for SpaghettiMonster.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#pragma once
// override onboard temperature sensor definition, if relevant
#ifdef USE_EXTERNAL_TEMP_SENSOR
@@ -557,4 +541,3 @@ void battcheck() {
}
#endif
-#endif
diff --git a/spaghetti-monster/fsm-adc.h b/spaghetti-monster/fsm-adc.h
index 77f625a..16666f9 100644
--- a/spaghetti-monster/fsm-adc.h
+++ b/spaghetti-monster/fsm-adc.h
@@ -1,25 +1,8 @@
-/*
- * fsm-adc.h: ADC (voltage, temperature) functions for SpaghettiMonster.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#ifndef FSM_ADC_H
-#define FSM_ADC_H
+// fsm-adc.h: ADC (voltage, temperature) functions for SpaghettiMonster.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
#if defined(USE_LVP) || defined(USE_THERMAL_REGULATION)
// use raw value instead of lowpassed value for the next N measurements
@@ -120,5 +103,3 @@ inline void ADC_on();
inline void ADC_off();
inline void ADC_start_measurement();
-
-#endif
diff --git a/spaghetti-monster/fsm-eeprom.c b/spaghetti-monster/fsm-eeprom.c
index 4c734a2..66cdd78 100644
--- a/spaghetti-monster/fsm-eeprom.c
+++ b/spaghetti-monster/fsm-eeprom.c
@@ -1,24 +1,8 @@
-/*
- * fsm-eeprom.c: EEPROM API for SpaghettiMonster.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#ifndef FSM_EEPROM_C
-#define FSM_EEPROM_C
+// fsm-eeprom.c: EEPROM API for SpaghettiMonster.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#pragma once
#include "fsm-eeprom.h"
@@ -126,5 +110,3 @@ void save_eeprom_wl() {
}
#endif
-
-#endif
diff --git a/spaghetti-monster/fsm-eeprom.h b/spaghetti-monster/fsm-eeprom.h
index cda290b..440d2b3 100644
--- a/spaghetti-monster/fsm-eeprom.h
+++ b/spaghetti-monster/fsm-eeprom.h
@@ -1,24 +1,8 @@
-/*
- * fsm-eeprom.h: EEPROM API for SpaghettiMonster.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// fsm-eeprom.h: EEPROM API for SpaghettiMonster.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef FSM_EEPROM_H
-#define FSM_EEPROM_H
+#pragma once
#include
@@ -66,4 +50,3 @@ void save_eeprom_wl();
// if this marker isn't found, the eeprom is assumed to be blank
#define EEP_MARKER 0b10100101
-#endif
diff --git a/spaghetti-monster/fsm-events.c b/spaghetti-monster/fsm-events.c
index 3279c14..ffa93d1 100644
--- a/spaghetti-monster/fsm-events.c
+++ b/spaghetti-monster/fsm-events.c
@@ -1,24 +1,8 @@
-/*
- * fsm-events.c: Event-handling functions for SpaghettiMonster.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#ifndef FSM_EVENTS_C
-#define FSM_EVENTS_C
+// fsm-events.c: Event-handling functions for SpaghettiMonster.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#pragma once
#include
@@ -212,4 +196,3 @@ uint8_t nice_delay_s() {
}
*/
-#endif
diff --git a/spaghetti-monster/fsm-events.h b/spaghetti-monster/fsm-events.h
index 79a0aff..10d3317 100644
--- a/spaghetti-monster/fsm-events.h
+++ b/spaghetti-monster/fsm-events.h
@@ -1,24 +1,8 @@
-/*
- * fsm-events.h: Event-handling functions for SpaghettiMonster.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// fsm-events.h: Event-handling functions for SpaghettiMonster.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef FSM_EVENTS_H
-#define FSM_EVENTS_H
+#pragma once
#include
@@ -230,5 +214,3 @@ void delay_4ms(uint8_t ms);
#define EV_click15_hold (B_CLICK|B_HOLD|B_PRESS|15)
#define EV_click15_hold_release (B_CLICK|B_HOLD|B_RELEASE|B_TIMEOUT|15)
-
-#endif
diff --git a/spaghetti-monster/fsm-main.c b/spaghetti-monster/fsm-main.c
index fca1e83..4116d3f 100644
--- a/spaghetti-monster/fsm-main.c
+++ b/spaghetti-monster/fsm-main.c
@@ -1,24 +1,8 @@
-/*
- * fsm-main.c: main() function for SpaghettiMonster.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#ifndef FSM_MAIN_C
-#define FSM_MAIN_C
+// fsm-main.c: main() function for SpaghettiMonster.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#pragma once
#include "fsm-main.h"
@@ -221,4 +205,3 @@ void handle_deferred_interrupts() {
}
}
-#endif
diff --git a/spaghetti-monster/fsm-main.h b/spaghetti-monster/fsm-main.h
index 55ae2ff..2e2a111 100644
--- a/spaghetti-monster/fsm-main.h
+++ b/spaghetti-monster/fsm-main.h
@@ -1,27 +1,10 @@
-/*
- * fsm-main.h: main() function for SpaghettiMonster.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// fsm-main.h: main() function for SpaghettiMonster.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef FSM_MAIN_H
-#define FSM_MAIN_H
+#pragma once
int main();
// needs to run frequently to execute the logic for WDT and ADC and stuff
void handle_deferred_interrupts();
-#endif
diff --git a/spaghetti-monster/fsm-misc.c b/spaghetti-monster/fsm-misc.c
index 9a10a9c..626ad43 100644
--- a/spaghetti-monster/fsm-misc.c
+++ b/spaghetti-monster/fsm-misc.c
@@ -1,25 +1,8 @@
-/*
- * fsm-misc.c: Miscellaneous function for SpaghettiMonster.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#ifndef FSM_MISC_C
-#define FSM_MISC_C
+// fsm-misc.c: Miscellaneous function for SpaghettiMonster.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
#ifdef USE_DYNAMIC_UNDERCLOCKING
void auto_clock_speed() {
@@ -302,4 +285,3 @@ void reboot() {
}
#endif
-#endif
diff --git a/spaghetti-monster/fsm-misc.h b/spaghetti-monster/fsm-misc.h
index 17ed66f..68929c2 100644
--- a/spaghetti-monster/fsm-misc.h
+++ b/spaghetti-monster/fsm-misc.h
@@ -1,24 +1,8 @@
-/*
- * fsm-misc.h: Miscellaneous function for SpaghettiMonster.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// fsm-misc.h: Miscellaneous function for SpaghettiMonster.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef FSM_MISC_H
-#define FSM_MISC_H
+#pragma once
#ifdef USE_DYNAMIC_UNDERCLOCKING
void auto_clock_speed();
@@ -72,4 +56,3 @@ uint8_t triangle_wave(uint8_t phase);
void reboot();
#endif
-#endif
diff --git a/spaghetti-monster/fsm-pcint.c b/spaghetti-monster/fsm-pcint.c
index 4ada5b8..131d0c3 100644
--- a/spaghetti-monster/fsm-pcint.c
+++ b/spaghetti-monster/fsm-pcint.c
@@ -1,24 +1,8 @@
-/*
- * fsm-pcint.c: PCINT (Pin Change Interrupt) functions for SpaghettiMonster.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// fsm-pcint.c: PCINT (Pin Change Interrupt) functions for SpaghettiMonster.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef FSM_PCINT_C
-#define FSM_PCINT_C
+#pragma once
#include
#include
@@ -110,5 +94,3 @@ void PCINT_inner(uint8_t pressed) {
ticks_since_last_event = 0;
}
-
-#endif
diff --git a/spaghetti-monster/fsm-pcint.h b/spaghetti-monster/fsm-pcint.h
index a7f3733..cd7ba02 100644
--- a/spaghetti-monster/fsm-pcint.h
+++ b/spaghetti-monster/fsm-pcint.h
@@ -1,24 +1,8 @@
-/*
- * fsm-pcint.h: PCINT (Pin Change Interrupt) functions for SpaghettiMonster.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// fsm-pcint.h: PCINT (Pin Change Interrupt) functions for SpaghettiMonster.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef FSM_PCINT_H
-#define FSM_PCINT_H
+#pragma once
volatile uint8_t irq_pcint = 0; // pin change interrupt happened?
//static volatile uint8_t button_was_pressed;
@@ -29,4 +13,3 @@ inline void PCINT_on();
inline void PCINT_off();
void PCINT_inner(uint8_t pressed);
-#endif
diff --git a/spaghetti-monster/fsm-ramping.c b/spaghetti-monster/fsm-ramping.c
index 14b0db8..280e4b3 100644
--- a/spaghetti-monster/fsm-ramping.c
+++ b/spaghetti-monster/fsm-ramping.c
@@ -1,10 +1,6 @@
-/*
- * fsm-ramping.c: Ramping functions for SpaghettiMonster.
- * Handles 1- to 4-channel smooth ramping on a single LED.
- *
- * Copyright (C) 2017-2023 Selene ToyKeeper
- * SPDX-License-Identifier: GPL-3.0-or-later
- */
+// fsm-ramping.c: Ramping functions for SpaghettiMonster.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
@@ -557,3 +553,4 @@ GradualTickFuncPtr gradual_tick_modes[NUM_CHANNEL_MODES] = { GRADUAL_TICK_MODES
#endif // ifdef USE_RAMPING
+
diff --git a/spaghetti-monster/fsm-ramping.h b/spaghetti-monster/fsm-ramping.h
index 5ffd8d9..4511508 100644
--- a/spaghetti-monster/fsm-ramping.h
+++ b/spaghetti-monster/fsm-ramping.h
@@ -1,22 +1,6 @@
-/*
- * fsm-ramping.h: Ramping functions for SpaghettiMonster.
- * Handles 1- to 4-channel smooth ramping on a single LED.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// fsm-ramping.h: Ramping functions for SpaghettiMonster.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
diff --git a/spaghetti-monster/fsm-random.c b/spaghetti-monster/fsm-random.c
index 1f83bce..91fd929 100644
--- a/spaghetti-monster/fsm-random.c
+++ b/spaghetti-monster/fsm-random.c
@@ -1,24 +1,8 @@
-/*
- * fsm-random.c: Random number generator for SpaghettiMonster.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// fsm-random.c: Random number generator for SpaghettiMonster.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef FSM_RANDOM_C
-#define FSM_RANDOM_C
+#pragma once
#ifdef USE_PSEUDO_RAND
uint8_t pseudo_rand() {
@@ -30,4 +14,3 @@ uint8_t pseudo_rand() {
}
#endif
-#endif
diff --git a/spaghetti-monster/fsm-random.h b/spaghetti-monster/fsm-random.h
index 720f6f2..49aa0cf 100644
--- a/spaghetti-monster/fsm-random.h
+++ b/spaghetti-monster/fsm-random.h
@@ -1,24 +1,8 @@
-/*
- * fsm-random.h: Random number generator for SpaghettiMonster.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// fsm-random.h: Random number generator for SpaghettiMonster.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef FSM_RANDOM_H
-#define FSM_RANDOM_H
+#pragma once
#ifdef USE_PSEUDO_RAND
uint8_t pseudo_rand();
@@ -26,4 +10,3 @@ uint8_t pseudo_rand();
volatile uint8_t pseudo_rand_seed = 0;
#endif
-#endif
diff --git a/spaghetti-monster/fsm-standby.c b/spaghetti-monster/fsm-standby.c
index 0ae6a2f..50e6e30 100644
--- a/spaghetti-monster/fsm-standby.c
+++ b/spaghetti-monster/fsm-standby.c
@@ -1,24 +1,8 @@
-/*
- * fsm-standby.c: standby mode functions for SpaghettiMonster.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#ifndef FSM_STANDBY_C
-#define FSM_STANDBY_C
+// fsm-standby.c: standby mode functions for SpaghettiMonster.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#pragma once
#include
#include
@@ -114,4 +98,3 @@ void idle_mode()
}
#endif
-#endif
diff --git a/spaghetti-monster/fsm-standby.h b/spaghetti-monster/fsm-standby.h
index cd01e72..957e2e1 100644
--- a/spaghetti-monster/fsm-standby.h
+++ b/spaghetti-monster/fsm-standby.h
@@ -1,24 +1,8 @@
-/*
- * fsm-standby.h: standby mode functions for SpaghettiMonster.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// fsm-standby.h: standby mode functions for SpaghettiMonster.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef FSM_STANDBY_H
-#define FSM_STANDBY_H
+#pragma once
// deferred "off" so we won't suspend in a weird state
// (like... during the middle of a strobe pulse)
@@ -82,4 +66,3 @@ void sleep_until_eswitch_pressed();
void idle_mode();
#endif
-#endif
diff --git a/spaghetti-monster/fsm-states.c b/spaghetti-monster/fsm-states.c
index e368277..4b94ce9 100644
--- a/spaghetti-monster/fsm-states.c
+++ b/spaghetti-monster/fsm-states.c
@@ -1,24 +1,8 @@
-/*
- * fsm-states.c: State-handling functions for SpaghettiMonster.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// fsm-states.c: State-handling functions for SpaghettiMonster.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef FSM_STATES_C
-#define FSM_STATES_C
+#pragma once
#include "fsm-states.h"
#include "fsm-adc.h"
@@ -119,4 +103,3 @@ uint8_t default_state(Event event, uint16_t arg) {
}
#endif
-#endif
diff --git a/spaghetti-monster/fsm-states.h b/spaghetti-monster/fsm-states.h
index 2c51d0a..156e6cf 100644
--- a/spaghetti-monster/fsm-states.h
+++ b/spaghetti-monster/fsm-states.h
@@ -1,24 +1,8 @@
-/*
- * fsm-states.h: State-handling functions for SpaghettiMonster.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#ifndef FSM_STATES_H
-#define FSM_STATES_H
+// fsm-states.h: State-handling functions for SpaghettiMonster.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#pragma once
#include "fsm-adc.h"
@@ -51,4 +35,3 @@ void set_state_deferred(StatePtr new_state, uint16_t arg);
uint8_t default_state(Event event, uint16_t arg);
#endif
-#endif
diff --git a/spaghetti-monster/fsm-wdt.c b/spaghetti-monster/fsm-wdt.c
index ea2efac..847c7fd 100644
--- a/spaghetti-monster/fsm-wdt.c
+++ b/spaghetti-monster/fsm-wdt.c
@@ -1,24 +1,8 @@
-/*
- * fsm-wdt.c: WDT (Watch Dog Timer) functions for SpaghettiMonster.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#ifndef FSM_WDT_C
-#define FSM_WDT_C
+// fsm-wdt.c: WDT (Watch Dog Timer) functions for SpaghettiMonster.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#pragma once
#include
#include
@@ -208,4 +192,3 @@ void WDT_inner() {
#endif
}
-#endif
diff --git a/spaghetti-monster/fsm-wdt.h b/spaghetti-monster/fsm-wdt.h
index d127551..abf34c5 100644
--- a/spaghetti-monster/fsm-wdt.h
+++ b/spaghetti-monster/fsm-wdt.h
@@ -1,24 +1,8 @@
-/*
- * fsm-wdt.h: WDT (Watch Dog Timer) functions for SpaghettiMonster.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+// fsm-wdt.h: WDT (Watch Dog Timer) functions for SpaghettiMonster.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
-#ifndef FSM_WDT_H
-#define FSM_WDT_H
+#pragma once
#define TICKS_PER_SECOND 62
@@ -34,4 +18,3 @@ volatile uint8_t irq_wdt = 0; // WDT interrupt happened?
#endif
#endif
-#endif
diff --git a/spaghetti-monster/spaghetti-monster.h b/spaghetti-monster/spaghetti-monster.h
index 853eac3..a6916e3 100644
--- a/spaghetti-monster/spaghetti-monster.h
+++ b/spaghetti-monster/spaghetti-monster.h
@@ -1,3 +1,9 @@
+// spaghetti-monster.h: UI toolkit / microkernel for e-switch flashlights.
+// Copyright (C) 2017-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+#pragma once
+
/*
* SpaghettiMonster: Generic foundation code for e-switch flashlights.
* Other possible names:
@@ -5,21 +11,6 @@
* - RoundTable
* - Mostly Harmless
* - ...
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
*/
#include "tk-attiny.h"
@@ -79,3 +70,4 @@ void loop();
#endif
#include "fsm-misc.c"
#include "fsm-main.c"
+
diff --git a/tk-attiny.h b/tk-attiny.h
index 110507b..ad2ed3b 100644
--- a/tk-attiny.h
+++ b/tk-attiny.h
@@ -1,25 +1,9 @@
-#ifndef TK_ATTINY_H
-#define TK_ATTINY_H
-/*
- * Attiny portability header.
- * This helps abstract away the differences between various attiny MCUs.
- *
- * Copyright (C) 2017 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- */
+// tk-attiny.h: Attiny portability header.
+// Copyright (C) 2014-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
+// This helps abstract away the differences between various attiny MCUs.
// Choose your MCU here, or in the main .c file, or in the build script
//#define ATTINY 13
@@ -171,4 +155,3 @@
#error Unable to define MCU macros.
#endif
-#endif // TK_ATTINY_H
diff --git a/tk-calibration.h b/tk-calibration.h
index c2ab801..f0b05ab 100644
--- a/tk-calibration.h
+++ b/tk-calibration.h
@@ -1,25 +1,9 @@
-#ifndef TK_CALIBRATION_H
-#define TK_CALIBRATION_H
-/*
- * Attiny calibration header.
- * This allows using a single set of hardcoded values across multiple projects.
- *
- * Copyright (C) 2015 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- */
+// tk-calibration.h: Attiny calibration header.
+// Copyright (C) 2015-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
+
+// This allows using a single set of hardcoded values across multiple projects.
/********************** Voltage ADC calibration **************************/
// These values were measured using RMM's FET+7135.
@@ -78,5 +62,3 @@
#define CAP_SHORT 115
#endif
-
-#endif // TK_CALIBRATION_H
diff --git a/tk-delay.h b/tk-delay.h
index 29cf463..502e6ab 100644
--- a/tk-delay.h
+++ b/tk-delay.h
@@ -1,24 +1,7 @@
-#ifndef TK_DELAY_H
-#define TK_DELAY_H
-/*
- * Smaller, more flexible replacement(s) for default _delay_ms() functions.
- *
- * Copyright (C) 2015 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- */
+// tk-delay.h: Smaller, more flexible _delay_ms() functions.
+// Copyright (C) 2015-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
#ifdef OWN_DELAY
#include "tk-attiny.h"
@@ -73,5 +56,3 @@ void _delay_s() // because it saves a bit of ROM space to do it this way
#include
#endif
-
-#endif // TK_DELAY_H
diff --git a/tk-random.h b/tk-random.h
index b2ff296..ad65660 100644
--- a/tk-random.h
+++ b/tk-random.h
@@ -1,24 +1,7 @@
-#ifndef TK_RANDOM_H
-#define TK_RANDOM_H
-/*
- * Smaller, pseudo-random function(s).
- *
- * Copyright (C) 2015 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- */
+// tk-random.h: Smaller pseudo-random function(s).
+// Copyright (C) 2015-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
uint8_t pgm_rand() {
static uint16_t offset = 255;
@@ -29,4 +12,3 @@ uint8_t pgm_rand() {
return pgm_read_byte(offset);
}
-#endif // TK_RANDOM_H
diff --git a/tk-voltage.h b/tk-voltage.h
index 90a176d..36ce9c8 100644
--- a/tk-voltage.h
+++ b/tk-voltage.h
@@ -1,24 +1,7 @@
-#ifndef TK_VOLTAGE_H
-#define TK_VOLTAGE_H
-/*
- * Voltage / battcheck functions.
- *
- * Copyright (C) 2015 Selene ToyKeeper
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- *
- */
+// tk-voltage.h: Voltage / battcheck functions.
+// Copyright (C) 2015-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
#include "tk-attiny.h"
#include "tk-calibration.h"
@@ -193,5 +176,3 @@ inline uint8_t battcheck() {
#endif // BATTCHECK_VpT
#endif
-
-#endif // TK_VOLTAGE_H
diff --git a/tk.h b/tk.h
index b61db08..d618134 100644
--- a/tk.h
+++ b/tk.h
@@ -1,5 +1,7 @@
-#ifndef TK_H
-#define TK_H
+// tk.h : misc handy stuff
+// Copyright (C) 2015-2023 Selene ToyKeeper
+// SPDX-License-Identifier: GPL-3.0-or-later
+#pragma once
/////
// tk.h
@@ -14,4 +16,3 @@
// use it like this:
//#include incfile(CONFIGFILE)
-#endif
--
cgit v1.2.3