aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorSelene ToyKeeper2023-11-02 18:51:38 -0600
committerSelene ToyKeeper2023-11-02 18:51:38 -0600
commit2dcd56ce3d00fc7414652e6f866bf8eefd42dba9 (patch)
treee2d5e5159ad5ce379479f49011131880d7e49b7e /hw
parentreorganized project files (part 1) (diff)
downloadanduril-2dcd56ce3d00fc7414652e6f866bf8eefd42dba9.tar.gz
anduril-2dcd56ce3d00fc7414652e6f866bf8eefd42dba9.tar.bz2
anduril-2dcd56ce3d00fc7414652e6f866bf8eefd42dba9.zip
got things to compile again, renamed #includes
(also modified the build scripts to work with the new file structure)
Diffstat (limited to 'hw')
-rw-r--r--hw/fireflies/e01/cfg.h2
-rw-r--r--hw/fireflies/pl47-219/cfg.h2
-rw-r--r--hw/fireflies/pl47/cfg.h2
-rw-r--r--hw/fireflies/pl47/hwdef.h2
-rw-r--r--hw/fireflies/pl47g2/cfg.h2
-rw-r--r--hw/fireflies/rot66-219/cfg.h2
-rw-r--r--hw/fireflies/rot66/cfg.h2
-rw-r--r--hw/fireflies/rot66/hwdef.h2
-rw-r--r--hw/fireflies/rot66g2/cfg.h2
-rw-r--r--hw/gchart/fet1-t1616/cfg.h2
-rw-r--r--hw/gchart/fet1-t1616/hwdef.h4
-rw-r--r--hw/hank/cfg.h (renamed from hw/hank/hank-cfg.h)0
-rw-r--r--hw/hank/emisar-2ch-fet/cfg.h4
-rw-r--r--hw/hank/emisar-2ch-fet/hwdef.c2
-rw-r--r--hw/hank/emisar-2ch-fet/hwdef.h4
-rw-r--r--hw/hank/emisar-2ch/cfg.h4
-rw-r--r--hw/hank/emisar-2ch/hwdef.c2
-rw-r--r--hw/hank/emisar-2ch/hwdef.h4
-rw-r--r--hw/hank/emisar-d1/cfg.h4
-rw-r--r--hw/hank/emisar-d18-219/cfg.h2
-rw-r--r--hw/hank/emisar-d18/cfg.h4
-rw-r--r--hw/hank/emisar-d18/hwdef.h2
-rw-r--r--hw/hank/emisar-d1s/cfg.h4
-rw-r--r--hw/hank/emisar-d1v2-7135-fet/cfg.h2
-rw-r--r--hw/hank/emisar-d1v2-linear-fet/cfg.h2
-rw-r--r--hw/hank/emisar-d1v2-nofet/cfg.h2
-rw-r--r--hw/hank/emisar-d4-219/cfg.h2
-rw-r--r--hw/hank/emisar-d4/cfg.h4
-rw-r--r--hw/hank/emisar-d4/hwdef.c2
-rw-r--r--hw/hank/emisar-d4/hwdef.h4
-rw-r--r--hw/hank/emisar-d4k-3ch/cfg.h4
-rw-r--r--hw/hank/emisar-d4k-3ch/hwdef.c4
-rw-r--r--hw/hank/emisar-d4k-3ch/hwdef.h4
-rw-r--r--hw/hank/emisar-d4s-219/cfg.h2
-rw-r--r--hw/hank/emisar-d4s/cfg.h4
-rw-r--r--hw/hank/emisar-d4s/hwdef.h2
-rw-r--r--hw/hank/emisar-d4sv2-219/cfg.h2
-rw-r--r--hw/hank/emisar-d4sv2/cfg.h4
-rw-r--r--hw/hank/emisar-d4sv2/hwdef.c2
-rw-r--r--hw/hank/emisar-d4sv2/hwdef.h4
-rw-r--r--hw/hank/emisar-d4v2-219/cfg.h2
-rw-r--r--hw/hank/emisar-d4v2-nofet/cfg.h4
-rw-r--r--hw/hank/emisar-d4v2-nofet/hwdef.c2
-rw-r--r--hw/hank/emisar-d4v2/cfg.h4
-rw-r--r--hw/hank/emisar-d4v2/hwdef.c2
-rw-r--r--hw/hank/emisar-d4v2/hwdef.h4
-rw-r--r--hw/hank/noctigon-dm11-boost/cfg.h4
-rw-r--r--hw/hank/noctigon-dm11-boost/hwdef.c2
-rw-r--r--hw/hank/noctigon-dm11-boost/hwdef.h4
-rw-r--r--hw/hank/noctigon-dm11-nofet/cfg.h4
-rw-r--r--hw/hank/noctigon-dm11-sbt90/cfg.h2
-rw-r--r--hw/hank/noctigon-dm11/cfg.h4
-rw-r--r--hw/hank/noctigon-dm11/hwdef.h4
-rw-r--r--hw/hank/noctigon-k1-boost/cfg.h4
-rw-r--r--hw/hank/noctigon-k1-boost/hwdef.h4
-rw-r--r--hw/hank/noctigon-k1-sbt90/cfg.h4
-rw-r--r--hw/hank/noctigon-k1-sbt90/hwdef.h4
-rw-r--r--hw/hank/noctigon-k1/cfg.h4
-rw-r--r--hw/hank/noctigon-k1/hwdef.c2
-rw-r--r--hw/hank/noctigon-k1/hwdef.h4
-rw-r--r--hw/hank/noctigon-k9.3-219/cfg.h2
-rw-r--r--hw/hank/noctigon-k9.3-nofet/cfg.h2
-rw-r--r--hw/hank/noctigon-k9.3/cfg.h4
-rw-r--r--hw/hank/noctigon-kr4-219/cfg.h2
-rw-r--r--hw/hank/noctigon-kr4-219b/cfg.h2
-rw-r--r--hw/hank/noctigon-kr4-2ch/cfg.h4
-rw-r--r--hw/hank/noctigon-kr4-2ch/hwdef.h2
-rw-r--r--hw/hank/noctigon-kr4-boost/cfg.h6
-rw-r--r--hw/hank/noctigon-kr4-boost/hwdef.h2
-rw-r--r--hw/hank/noctigon-kr4-nofet/cfg.h4
-rw-r--r--hw/hank/noctigon-kr4-nofet/hwdef.c2
-rw-r--r--hw/hank/noctigon-kr4/cfg.h4
-rw-r--r--hw/hank/noctigon-kr4/hwdef.c2
-rw-r--r--hw/hank/noctigon-kr4/hwdef.h4
-rw-r--r--hw/hank/noctigon-m44/cfg.h4
-rw-r--r--hw/hank/noctigon-m44/hwdef.c2
-rw-r--r--hw/hank/noctigon-m44/hwdef.h4
-rw-r--r--hw/lumintop/blf-gt-mini/cfg.h4
-rw-r--r--hw/lumintop/blf-gt-mini/hwdef.h2
-rw-r--r--hw/lumintop/blf-gt/cfg.h2
-rw-r--r--hw/lumintop/blf-gt/hwdef.h2
-rw-r--r--hw/lumintop/fw3a-219/cfg.h2
-rw-r--r--hw/lumintop/fw3a-nofet/cfg.h2
-rw-r--r--hw/lumintop/fw3a/cfg.h2
-rw-r--r--hw/lumintop/fw3a/hwdef.h2
-rw-r--r--hw/lumintop/fw3x-lume1/cfg.h2
-rw-r--r--hw/lumintop/fw3x-lume1/hwdef.c2
-rw-r--r--hw/lumintop/fw3x-lume1/hwdef.h4
-rw-r--r--hw/mateminco/mf01-mini/cfg.h2
-rw-r--r--hw/mateminco/mf01-mini/hwdef.h2
-rw-r--r--hw/mateminco/mf01s/cfg.h2
-rw-r--r--hw/mateminco/mf01s/hwdef.h2
-rw-r--r--hw/mateminco/mt35-mini/cfg.h2
-rw-r--r--hw/mateminco/mt35-mini/hwdef.h2
-rw-r--r--hw/sofirn/blf-lt1-t1616/cfg.h2
-rw-r--r--hw/sofirn/blf-lt1-t1616/hwdef.c2
-rw-r--r--hw/sofirn/blf-lt1-t1616/hwdef.h4
-rw-r--r--hw/sofirn/blf-lt1/cfg.h2
-rw-r--r--hw/sofirn/blf-lt1/hwdef.h2
-rw-r--r--hw/sofirn/blf-q8-t1616/cfg.h4
-rw-r--r--hw/sofirn/blf-q8-t1616/hwdef.h4
-rw-r--r--hw/sofirn/blf-q8/cfg.h2
-rw-r--r--hw/sofirn/blf-q8/hwdef.h2
-rw-r--r--hw/sofirn/lt1s-pro/cfg.h2
-rw-r--r--hw/sofirn/lt1s-pro/hwdef.h2
-rw-r--r--hw/sofirn/sc21-pro/cfg.h2
-rw-r--r--hw/sofirn/sp10-pro/cfg.h2
-rw-r--r--hw/sofirn/sp10-pro/hwdef.h2
-rw-r--r--hw/sofirn/sp36-t1616/cfg.h2
-rw-r--r--hw/sofirn/sp36/cfg.h2
-rw-r--r--hw/thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/cfg.h2
-rw-r--r--hw/thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/hwdef.h4
-rw-r--r--hw/thefreeman/boost21-mp3431-hdr-dac-argb/cfg.h2
-rw-r--r--hw/thefreeman/boost21-mp3431-hdr-dac-argb/hwdef.c2
-rw-r--r--hw/thefreeman/boost21-mp3431-hdr-dac-argb/hwdef.h4
-rw-r--r--hw/thefreeman/lin16dac/cfg.h2
-rw-r--r--hw/thefreeman/lin16dac/hwdef.c2
-rw-r--r--hw/thefreeman/lin16dac/hwdef.h4
-rw-r--r--hw/wurkkos/cfg.h (renamed from hw/wurkkos/wurkkos-cfg.h)0
-rw-r--r--hw/wurkkos/fc13/cfg.h2
-rw-r--r--hw/wurkkos/ts10-rgbaux/cfg.h2
-rw-r--r--hw/wurkkos/ts10/cfg.h4
-rw-r--r--hw/wurkkos/ts10/hwdef.c2
-rw-r--r--hw/wurkkos/ts10/hwdef.h4
-rw-r--r--hw/wurkkos/ts11/cfg.h2
-rw-r--r--hw/wurkkos/ts25/cfg.h4
-rw-r--r--hw/wurkkos/ts25/hwdef.c2
-rw-r--r--hw/wurkkos/ts25/hwdef.h4
128 files changed, 177 insertions, 177 deletions
diff --git a/hw/fireflies/e01/cfg.h b/hw/fireflies/e01/cfg.h
index 07bda87..cae5d14 100644
--- a/hw/fireflies/e01/cfg.h
+++ b/hw/fireflies/e01/cfg.h
@@ -4,7 +4,7 @@
#pragma once
#define MODEL_NUMBER "0441"
-#include "hwdef-ff-pl47.h"
+#include "fireflies/pl47/hwdef.h"
// ATTINY: 85
// disable indicator LED; it's hardwired
diff --git a/hw/fireflies/pl47-219/cfg.h b/hw/fireflies/pl47-219/cfg.h
index 11bd5b1..e42e17c 100644
--- a/hw/fireflies/pl47-219/cfg.h
+++ b/hw/fireflies/pl47-219/cfg.h
@@ -5,7 +5,7 @@
// same as PL47 but with FET modes limited to 67% power
// to avoid destroying the LEDs
-#include "cfg-ff-pl47.h"
+#include "fireflies/pl47/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0422"
diff --git a/hw/fireflies/pl47/cfg.h b/hw/fireflies/pl47/cfg.h
index 6436477..315eea2 100644
--- a/hw/fireflies/pl47/cfg.h
+++ b/hw/fireflies/pl47/cfg.h
@@ -4,7 +4,7 @@
#pragma once
#define MODEL_NUMBER "0421"
-#include "hwdef-ff-pl47.h"
+#include "fireflies/pl47/hwdef.h"
// ATTINY: 85
// the button lights up
diff --git a/hw/fireflies/pl47/hwdef.h b/hw/fireflies/pl47/hwdef.h
index 7ce7070..5eee98a 100644
--- a/hw/fireflies/pl47/hwdef.h
+++ b/hw/fireflies/pl47/hwdef.h
@@ -20,7 +20,7 @@
#define VOLTAGE_FUDGE_FACTOR 7 // add 0.35V
#endif
-#include "hwdef-emisar-d4s.h"
+#include "hank/emisar-d4s/hwdef.h"
#undef FSM_EMISAR_D4S_DRIVER
#undef FSM_EMISAR_D4_DRIVER
diff --git a/hw/fireflies/pl47g2/cfg.h b/hw/fireflies/pl47g2/cfg.h
index 830d7e8..e64289e 100644
--- a/hw/fireflies/pl47g2/cfg.h
+++ b/hw/fireflies/pl47g2/cfg.h
@@ -4,7 +4,7 @@
#pragma once
#define MODEL_NUMBER "0423"
-#include "hwdef-ff-pl47.h"
+#include "fireflies/pl47/hwdef.h"
// ATTINY: 85
// the button lights up
diff --git a/hw/fireflies/rot66-219/cfg.h b/hw/fireflies/rot66-219/cfg.h
index 4dad4e2..068f4a8 100644
--- a/hw/fireflies/rot66-219/cfg.h
+++ b/hw/fireflies/rot66-219/cfg.h
@@ -4,7 +4,7 @@
#pragma once
// same as regular ROT66, but calibrated for Nichia 219B with 7x7135 chips
-#include "cfg-ff-rot66.h"
+#include "fireflies/rot66/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0412"
diff --git a/hw/fireflies/rot66/cfg.h b/hw/fireflies/rot66/cfg.h
index 752ddbb..5184513 100644
--- a/hw/fireflies/rot66/cfg.h
+++ b/hw/fireflies/rot66/cfg.h
@@ -4,7 +4,7 @@
#pragma once
#define MODEL_NUMBER "0411"
-#include "hwdef-ff-rot66.h"
+#include "fireflies/rot66/hwdef.h"
// the button lights up
#define USE_INDICATOR_LED
diff --git a/hw/fireflies/rot66/hwdef.h b/hw/fireflies/rot66/hwdef.h
index 3fea9f1..dd8855d 100644
--- a/hw/fireflies/rot66/hwdef.h
+++ b/hw/fireflies/rot66/hwdef.h
@@ -15,7 +15,7 @@
#define VOLTAGE_FUDGE_FACTOR 7 // add 0.35V
#endif
-#include "hwdef-fw3a.h"
+#include "lumintop/fw3a/hwdef.h"
// ... and no optic nerve
#ifdef VISION_PIN
diff --git a/hw/fireflies/rot66g2/cfg.h b/hw/fireflies/rot66g2/cfg.h
index 04aac53..f628b51 100644
--- a/hw/fireflies/rot66g2/cfg.h
+++ b/hw/fireflies/rot66g2/cfg.h
@@ -3,7 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#include "cfg-ff-rot66.h"
+#include "fireflies/rot66/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0413"
diff --git a/hw/gchart/fet1-t1616/cfg.h b/hw/gchart/fet1-t1616/cfg.h
index 4082fca..1b5cf05 100644
--- a/hw/gchart/fet1-t1616/cfg.h
+++ b/hw/gchart/fet1-t1616/cfg.h
@@ -4,7 +4,7 @@
#pragma once
#define MODEL_NUMBER "1618" // Golden Ratio... because I can
-#include "hwdef-gchart-fet1-t1616.h"
+#include "gchart/fet1-t1616/hwdef.h"
// ATTINY: 1616
// the button lights up
diff --git a/hw/gchart/fet1-t1616/hwdef.h b/hw/gchart/fet1-t1616/hwdef.h
index 2d2b7a6..74d8d47 100644
--- a/hw/gchart/fet1-t1616/hwdef.h
+++ b/hw/gchart/fet1-t1616/hwdef.h
@@ -16,10 +16,10 @@
// nearly all t1616-based FET+1 drivers work pretty much the same
// (this one has single-color aux like the TS10)
-#define HWDEF_C_FILE hwdef-wurkkos-ts10.c
+#define HWDEF_C_FILE wurkkos/ts10/hwdef.c
// allow using aux LEDs as extra channel modes
-#include "chan-aux.h"
+#include "fsm/chan-aux.h"
// channel modes:
// * 0. FET+7135 stacked
diff --git a/hw/hank/hank-cfg.h b/hw/hank/cfg.h
index 86ac605..86ac605 100644
--- a/hw/hank/hank-cfg.h
+++ b/hw/hank/cfg.h
diff --git a/hw/hank/emisar-2ch-fet/cfg.h b/hw/hank/emisar-2ch-fet/cfg.h
index 4686483..14e8c45 100644
--- a/hw/hank/emisar-2ch-fet/cfg.h
+++ b/hw/hank/emisar-2ch-fet/cfg.h
@@ -4,8 +4,8 @@
#pragma once
#define MODEL_NUMBER "0136"
-#include "hwdef-emisar-2ch-fet.h"
-#include "hank-cfg.h"
+#include "hank/emisar-2ch-fet/hwdef.h"
+#include "hank/cfg.h"
// ATTINY: 1634
// this light has three aux LED channels: R, G, B
diff --git a/hw/hank/emisar-2ch-fet/hwdef.c b/hw/hank/emisar-2ch-fet/hwdef.c
index caf579d..4309a42 100644
--- a/hw/hank/emisar-2ch-fet/hwdef.c
+++ b/hw/hank/emisar-2ch-fet/hwdef.c
@@ -4,7 +4,7 @@
#pragma once
-#include "chan-rgbaux.c"
+#include "fsm/chan-rgbaux.c"
void set_level_zero();
diff --git a/hw/hank/emisar-2ch-fet/hwdef.h b/hw/hank/emisar-2ch-fet/hwdef.h
index d756a0d..a429a6c 100644
--- a/hw/hank/emisar-2ch-fet/hwdef.h
+++ b/hw/hank/emisar-2ch-fet/hwdef.h
@@ -35,10 +35,10 @@
#define ATTINY 1634
#include <avr/io.h>
-#define HWDEF_C_FILE hwdef-emisar-2ch-fet.c
+#define HWDEF_C_FILE hank/emisar-2ch-fet/hwdef.c
// allow using aux LEDs as extra channel modes
-#include "chan-rgbaux.h"
+#include "fsm/chan-rgbaux.h"
// channel modes:
// * 0. channel 1 only (linear + DD FET)
diff --git a/hw/hank/emisar-2ch/cfg.h b/hw/hank/emisar-2ch/cfg.h
index 4c3a329..da2c11c 100644
--- a/hw/hank/emisar-2ch/cfg.h
+++ b/hw/hank/emisar-2ch/cfg.h
@@ -4,8 +4,8 @@
#pragma once
#define MODEL_NUMBER "0135"
-#include "hwdef-emisar-2ch.h"
-#include "hank-cfg.h"
+#include "hank/emisar-2ch/hwdef.h"
+#include "hank/cfg.h"
// ATTINY: 1634
// this light has three aux LED channels: R, G, B
diff --git a/hw/hank/emisar-2ch/hwdef.c b/hw/hank/emisar-2ch/hwdef.c
index b09b681..24be5ad 100644
--- a/hw/hank/emisar-2ch/hwdef.c
+++ b/hw/hank/emisar-2ch/hwdef.c
@@ -3,7 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#include "chan-rgbaux.c"
+#include "fsm/chan-rgbaux.c"
void set_level_zero();
diff --git a/hw/hank/emisar-2ch/hwdef.h b/hw/hank/emisar-2ch/hwdef.h
index 99e4945..e67fac8 100644
--- a/hw/hank/emisar-2ch/hwdef.h
+++ b/hw/hank/emisar-2ch/hwdef.h
@@ -34,10 +34,10 @@
#define ATTINY 1634
#include <avr/io.h>
-#define HWDEF_C_FILE hwdef-emisar-2ch.c
+#define HWDEF_C_FILE hank/emisar-2ch/hwdef.c
// allow using aux LEDs as extra channel modes
-#include "chan-rgbaux.h"
+#include "fsm/chan-rgbaux.h"
// channel modes:
// * 0. channel 1 only
diff --git a/hw/hank/emisar-d1/cfg.h b/hw/hank/emisar-d1/cfg.h
index c81171c..6b75945 100644
--- a/hw/hank/emisar-d1/cfg.h
+++ b/hw/hank/emisar-d1/cfg.h
@@ -4,8 +4,8 @@
#pragma once
// same as Emisar D4, mostly
-#include "hwdef-emisar-d4.h"
-#include "cfg-emisar-d4.h"
+#include "hank/emisar-d4/hwdef.h"
+#include "hank/emisar-d4/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0121"
diff --git a/hw/hank/emisar-d18-219/cfg.h b/hw/hank/emisar-d18-219/cfg.h
index 126e9f4..97a833e 100644
--- a/hw/hank/emisar-d18-219/cfg.h
+++ b/hw/hank/emisar-d18-219/cfg.h
@@ -3,7 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#include "cfg-emisar-d18.h"
+#include "hank/emisar-d18/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0142"
diff --git a/hw/hank/emisar-d18/cfg.h b/hw/hank/emisar-d18/cfg.h
index 3e5d3ae..ff698a7 100644
--- a/hw/hank/emisar-d18/cfg.h
+++ b/hw/hank/emisar-d18/cfg.h
@@ -4,8 +4,8 @@
#pragma once
#define MODEL_NUMBER "0141"
-#include "hwdef-emisar-d18.h"
-#include "hank-cfg.h"
+#include "hank/emisar-d18/hwdef.h"
+#include "hank/cfg.h"
#define RAMP_SIZE 150
diff --git a/hw/hank/emisar-d18/hwdef.h b/hw/hank/emisar-d18/hwdef.h
index df08221..942c5c0 100644
--- a/hw/hank/emisar-d18/hwdef.h
+++ b/hw/hank/emisar-d18/hwdef.h
@@ -15,7 +15,7 @@
#define ATTINY 85
#include <avr/io.h>
-#define HWDEF_C_FILE hwdef-fw3a.c
+#define HWDEF_C_FILE lumintop/fw3a/hwdef.c
// channel modes
// * 0. FET+N+1 stacked
diff --git a/hw/hank/emisar-d1s/cfg.h b/hw/hank/emisar-d1s/cfg.h
index 8b70a5d..9eddc05 100644
--- a/hw/hank/emisar-d1s/cfg.h
+++ b/hw/hank/emisar-d1s/cfg.h
@@ -4,8 +4,8 @@
#pragma once
// same as Emisar D4, mostly
-#include "hwdef-emisar-d4.h"
-#include "cfg-emisar-d4.h"
+#include "hank/emisar-d4/hwdef.h"
+#include "hank/emisar-d4/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0122"
diff --git a/hw/hank/emisar-d1v2-7135-fet/cfg.h b/hw/hank/emisar-d1v2-7135-fet/cfg.h
index 4022ba6..76095fe 100644
--- a/hw/hank/emisar-d1v2-7135-fet/cfg.h
+++ b/hw/hank/emisar-d1v2-7135-fet/cfg.h
@@ -6,7 +6,7 @@
// ATTINY: 1634
// same as Emisar D4v2, mostly
// (was only made for a short time, not many people have one)
-#include "cfg-emisar-d4v2.h"
+#include "hank/emisar-d4v2/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0123"
diff --git a/hw/hank/emisar-d1v2-linear-fet/cfg.h b/hw/hank/emisar-d1v2-linear-fet/cfg.h
index 28c57f8..18217d1 100644
--- a/hw/hank/emisar-d1v2-linear-fet/cfg.h
+++ b/hw/hank/emisar-d1v2-linear-fet/cfg.h
@@ -6,7 +6,7 @@
// ATTINY: 1634
// similar to a Noctigon KR4, sort of
-#include "cfg-noctigon-kr4.h"
+#include "hank/noctigon-kr4/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0124"
diff --git a/hw/hank/emisar-d1v2-nofet/cfg.h b/hw/hank/emisar-d1v2-nofet/cfg.h
index 7f5bcc4..f5b1ef6 100644
--- a/hw/hank/emisar-d1v2-nofet/cfg.h
+++ b/hw/hank/emisar-d1v2-nofet/cfg.h
@@ -6,7 +6,7 @@
// ATTINY: 1634
// similar to a Noctigon KR4, sort of
-#include "cfg-noctigon-kr4-nofet.h"
+#include "hank/noctigon-kr4-nofet/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0125"
diff --git a/hw/hank/emisar-d4-219/cfg.h b/hw/hank/emisar-d4-219/cfg.h
index 65649e3..b26c1ab 100644
--- a/hw/hank/emisar-d4-219/cfg.h
+++ b/hw/hank/emisar-d4-219/cfg.h
@@ -5,7 +5,7 @@
// same as D4 but with FET modes limited to 80% power
// to avoid destroying the LEDs
-#include "cfg-emisar-d4.h"
+#include "hank/emisar-d4/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0112"
diff --git a/hw/hank/emisar-d4/cfg.h b/hw/hank/emisar-d4/cfg.h
index 4b3ae5a..b3fe836 100644
--- a/hw/hank/emisar-d4/cfg.h
+++ b/hw/hank/emisar-d4/cfg.h
@@ -4,8 +4,8 @@
#pragma once
#define MODEL_NUMBER "0111"
-#include "hwdef-emisar-d4.h"
-#include "hank-cfg.h"
+#include "hank/emisar-d4/hwdef.h"
+#include "hank/cfg.h"
// ATTINY: 85
#define RAMP_SIZE 150
diff --git a/hw/hank/emisar-d4/hwdef.c b/hw/hank/emisar-d4/hwdef.c
index 972f682..286f95a 100644
--- a/hw/hank/emisar-d4/hwdef.c
+++ b/hw/hank/emisar-d4/hwdef.c
@@ -6,7 +6,7 @@
//#ifdef AUXLED_PIN
#if 0
-#include "chan-aux.c"
+#include "fsm/chan-aux.c"
#else
#define AUX_CHANNELS
#endif
diff --git a/hw/hank/emisar-d4/hwdef.h b/hw/hank/emisar-d4/hwdef.h
index 7be700a..ffdcbfd 100644
--- a/hw/hank/emisar-d4/hwdef.h
+++ b/hw/hank/emisar-d4/hwdef.h
@@ -15,12 +15,12 @@
#define ATTINY 85
#include <avr/io.h>
-#define HWDEF_C_FILE hwdef-emisar-d4.c
+#define HWDEF_C_FILE hank/emisar-d4/hwdef.c
// allow using aux LEDs as extra channel modes (when they exist)
//#ifdef AUXLED_PIN
#if 0
-#include "chan-aux.h"
+#include "fsm/chan-aux.h"
#else
#define NUM_AUX_CHANNEL_MODES 0
#endif
diff --git a/hw/hank/emisar-d4k-3ch/cfg.h b/hw/hank/emisar-d4k-3ch/cfg.h
index c39ac01..10aeb60 100644
--- a/hw/hank/emisar-d4k-3ch/cfg.h
+++ b/hw/hank/emisar-d4k-3ch/cfg.h
@@ -4,8 +4,8 @@
#pragma once
#define MODEL_NUMBER "0151"
-#include "hwdef-emisar-d4k-3ch.h"
-#include "hank-cfg.h"
+#include "hank/emisar-d4k-3ch/hwdef.h"
+#include "hank/cfg.h"
// ATTINY: 1634
// this light has three aux LED channels: R, G, B
diff --git a/hw/hank/emisar-d4k-3ch/hwdef.c b/hw/hank/emisar-d4k-3ch/hwdef.c
index e35af08..ba5273d 100644
--- a/hw/hank/emisar-d4k-3ch/hwdef.c
+++ b/hw/hank/emisar-d4k-3ch/hwdef.c
@@ -3,8 +3,8 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#include "spaghetti-monster/anduril/channel-modes.h" //for circular_tint_3h()
-#include "chan-rgbaux.c"
+#include "anduril/channel-modes.h" //for circular_tint_3h()
+#include "fsm/chan-rgbaux.c"
void set_level_zero();
diff --git a/hw/hank/emisar-d4k-3ch/hwdef.h b/hw/hank/emisar-d4k-3ch/hwdef.h
index 2e83fbe..81a64ed 100644
--- a/hw/hank/emisar-d4k-3ch/hwdef.h
+++ b/hw/hank/emisar-d4k-3ch/hwdef.h
@@ -38,10 +38,10 @@
#define ATTINY 1634
#include <avr/io.h>
-#define HWDEF_C_FILE hwdef-emisar-d4k-3ch.c
+#define HWDEF_C_FILE hank/emisar-d4k-3ch/hwdef.c
// allow using aux LEDs as extra channel modes
-#include "chan-rgbaux.h"
+#include "fsm/chan-rgbaux.h"
// channel modes:
// - 1. main 2 LEDs only (8/16/16 wiring) or LED 4 only (16/16/8)
diff --git a/hw/hank/emisar-d4s-219/cfg.h b/hw/hank/emisar-d4s-219/cfg.h
index f86c1b1..9d4fc87 100644
--- a/hw/hank/emisar-d4s-219/cfg.h
+++ b/hw/hank/emisar-d4s-219/cfg.h
@@ -5,7 +5,7 @@
// same as D4S but with FET modes limited to 80% power
// to avoid destroying the LEDs
-#include "cfg-emisar-d4s.h"
+#include "hank/emisar-d4s/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0132"
diff --git a/hw/hank/emisar-d4s/cfg.h b/hw/hank/emisar-d4s/cfg.h
index e966132..edfe462 100644
--- a/hw/hank/emisar-d4s/cfg.h
+++ b/hw/hank/emisar-d4s/cfg.h
@@ -4,8 +4,8 @@
#pragma once
#define MODEL_NUMBER "0131"
-#include "hwdef-emisar-d4s.h"
-#include "hank-cfg.h"
+#include "hank/emisar-d4s/hwdef.h"
+#include "hank/cfg.h"
// ATTINY: 85
// the button lights up (on some models)
diff --git a/hw/hank/emisar-d4s/hwdef.h b/hw/hank/emisar-d4s/hwdef.h
index 95789e6..ebb93f5 100644
--- a/hw/hank/emisar-d4s/hwdef.h
+++ b/hw/hank/emisar-d4s/hwdef.h
@@ -4,7 +4,7 @@
#pragma once
// same as a D4, basically
-#include "hwdef-emisar-d4.h"
+#include "hank/emisar-d4/hwdef.h"
// ... except the D4S has aux LEDs under the optic
#ifndef AUXLED_PIN
diff --git a/hw/hank/emisar-d4sv2-219/cfg.h b/hw/hank/emisar-d4sv2-219/cfg.h
index 22775cc..4af2b37 100644
--- a/hw/hank/emisar-d4sv2-219/cfg.h
+++ b/hw/hank/emisar-d4sv2-219/cfg.h
@@ -3,7 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#include "cfg-emisar-d4sv2.h"
+#include "hank/emisar-d4sv2/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0134"
// ATTINY: 1634
diff --git a/hw/hank/emisar-d4sv2/cfg.h b/hw/hank/emisar-d4sv2/cfg.h
index 666b394..8b58a0b 100644
--- a/hw/hank/emisar-d4sv2/cfg.h
+++ b/hw/hank/emisar-d4sv2/cfg.h
@@ -4,8 +4,8 @@
#pragma once
#define MODEL_NUMBER "0133"
-#include "hwdef-emisar-d4sv2.h"
-#include "hank-cfg.h"
+#include "hank/emisar-d4sv2/hwdef.h"
+#include "hank/cfg.h"
// ATTINY: 1634
#define RAMP_SIZE 150
diff --git a/hw/hank/emisar-d4sv2/hwdef.c b/hw/hank/emisar-d4sv2/hwdef.c
index 6399fb8..36f3a8d 100644
--- a/hw/hank/emisar-d4sv2/hwdef.c
+++ b/hw/hank/emisar-d4sv2/hwdef.c
@@ -4,7 +4,7 @@
#pragma once
-#include "chan-rgbaux.c"
+#include "fsm/chan-rgbaux.c"
void set_level_zero();
diff --git a/hw/hank/emisar-d4sv2/hwdef.h b/hw/hank/emisar-d4sv2/hwdef.h
index 11d1abb..3dae90d 100644
--- a/hw/hank/emisar-d4sv2/hwdef.h
+++ b/hw/hank/emisar-d4sv2/hwdef.h
@@ -33,10 +33,10 @@
#define ATTINY 1634
#include <avr/io.h>
-#define HWDEF_C_FILE hwdef-emisar-d4sv2.c
+#define HWDEF_C_FILE hank/emisar-d4sv2/hwdef.c
// allow using aux LEDs as extra channel modes
-#include "chan-rgbaux.h"
+#include "fsm/chan-rgbaux.h"
// channel modes:
// * 0. FET+3+1 stacked
diff --git a/hw/hank/emisar-d4v2-219/cfg.h b/hw/hank/emisar-d4v2-219/cfg.h
index e9775ec..0fb9699 100644
--- a/hw/hank/emisar-d4v2-219/cfg.h
+++ b/hw/hank/emisar-d4v2-219/cfg.h
@@ -3,7 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#include "cfg-emisar-d4v2.h"
+#include "hank/emisar-d4v2/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0114"
// ATTINY: 1634
diff --git a/hw/hank/emisar-d4v2-nofet/cfg.h b/hw/hank/emisar-d4v2-nofet/cfg.h
index 6eddb40..2420f09 100644
--- a/hw/hank/emisar-d4v2-nofet/cfg.h
+++ b/hw/hank/emisar-d4v2-nofet/cfg.h
@@ -4,9 +4,9 @@
#pragma once
// switch to 1-channel support functions
-#define HWDEF_C_FILE hwdef-emisar-d4v2-nofet.c
+#define HWDEF_C_FILE hank/emisar-d4v2-nofet/hwdef.c
-#include "cfg-emisar-d4v2.h"
+#include "hank/emisar-d4v2/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0115"
// ATTINY: 1634
diff --git a/hw/hank/emisar-d4v2-nofet/hwdef.c b/hw/hank/emisar-d4v2-nofet/hwdef.c
index 24477a7..971c06e 100644
--- a/hw/hank/emisar-d4v2-nofet/hwdef.c
+++ b/hw/hank/emisar-d4v2-nofet/hwdef.c
@@ -4,7 +4,7 @@
#pragma once
-#include "chan-rgbaux.c"
+#include "fsm/chan-rgbaux.c"
void set_level_zero();
diff --git a/hw/hank/emisar-d4v2/cfg.h b/hw/hank/emisar-d4v2/cfg.h
index 0f0bb17..5cd79b5 100644
--- a/hw/hank/emisar-d4v2/cfg.h
+++ b/hw/hank/emisar-d4v2/cfg.h
@@ -4,8 +4,8 @@
#pragma once
#define MODEL_NUMBER "0113"
-#include "hwdef-emisar-d4v2.h"
-#include "hank-cfg.h"
+#include "hank/emisar-d4v2/hwdef.h"
+#include "hank/cfg.h"
// ATTINY: 1634
#define RAMP_SIZE 150
diff --git a/hw/hank/emisar-d4v2/hwdef.c b/hw/hank/emisar-d4v2/hwdef.c
index 026b30d..b6ab081 100644
--- a/hw/hank/emisar-d4v2/hwdef.c
+++ b/hw/hank/emisar-d4v2/hwdef.c
@@ -4,7 +4,7 @@
#pragma once
-#include "chan-rgbaux.c"
+#include "fsm/chan-rgbaux.c"
void set_level_zero();
diff --git a/hw/hank/emisar-d4v2/hwdef.h b/hw/hank/emisar-d4v2/hwdef.h
index 96c57a9..bda49bc 100644
--- a/hw/hank/emisar-d4v2/hwdef.h
+++ b/hw/hank/emisar-d4v2/hwdef.h
@@ -32,11 +32,11 @@
#include <avr/io.h>
#ifndef HWDEF_C_FILE
-#define HWDEF_C_FILE hwdef-emisar-d4v2.c
+#define HWDEF_C_FILE hank/emisar-d4v2/hwdef.c
#endif
// allow using aux LEDs as extra channel modes
-#include "chan-rgbaux.h"
+#include "fsm/chan-rgbaux.h"
// channel modes:
// * 0. FET+7135 stacked
diff --git a/hw/hank/noctigon-dm11-boost/cfg.h b/hw/hank/noctigon-dm11-boost/cfg.h
index 2174fdb..6a5a451 100644
--- a/hw/hank/noctigon-dm11-boost/cfg.h
+++ b/hw/hank/noctigon-dm11-boost/cfg.h
@@ -4,8 +4,8 @@
#pragma once
#define MODEL_NUMBER "0273"
-#include "hwdef-noctigon-dm11-boost.h"
-#include "hank-cfg.h"
+#include "hank/noctigon-dm11-boost/hwdef.h"
+#include "hank/cfg.h"
// ATTINY: 1634
#define RAMP_SIZE 150
diff --git a/hw/hank/noctigon-dm11-boost/hwdef.c b/hw/hank/noctigon-dm11-boost/hwdef.c
index 932323a..e601132 100644
--- a/hw/hank/noctigon-dm11-boost/hwdef.c
+++ b/hw/hank/noctigon-dm11-boost/hwdef.c
@@ -3,7 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#include "chan-rgbaux.c"
+#include "fsm/chan-rgbaux.c"
void set_level_zero();
diff --git a/hw/hank/noctigon-dm11-boost/hwdef.h b/hw/hank/noctigon-dm11-boost/hwdef.h
index d56a5f5..dffd462 100644
--- a/hw/hank/noctigon-dm11-boost/hwdef.h
+++ b/hw/hank/noctigon-dm11-boost/hwdef.h
@@ -39,10 +39,10 @@
#define ATTINY 1634
#include <avr/io.h>
-#define HWDEF_C_FILE hwdef-noctigon-dm11-boost.c
+#define HWDEF_C_FILE hank/noctigon-dm11-boost/hwdef.c
// allow using aux LEDs as extra channel modes
-#include "chan-rgbaux.h"
+#include "fsm/chan-rgbaux.h"
// channel modes:
// * 0. main LEDs
diff --git a/hw/hank/noctigon-dm11-nofet/cfg.h b/hw/hank/noctigon-dm11-nofet/cfg.h
index b2fdfdb..23fb40c 100644
--- a/hw/hank/noctigon-dm11-nofet/cfg.h
+++ b/hw/hank/noctigon-dm11-nofet/cfg.h
@@ -4,8 +4,8 @@
#pragma once
// same support functions as a KR4
-#define HWDEF_C_FILE hwdef-noctigon-kr4-nofet.c
-#include "cfg-noctigon-dm11.h"
+#define HWDEF_C_FILE hank/noctigon-kr4-nofet/hwdef.c
+#include "hank/noctigon-dm11/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0272"
// ATTINY: 1634
diff --git a/hw/hank/noctigon-dm11-sbt90/cfg.h b/hw/hank/noctigon-dm11-sbt90/cfg.h
index 9fac446..802d839 100644
--- a/hw/hank/noctigon-dm11-sbt90/cfg.h
+++ b/hw/hank/noctigon-dm11-sbt90/cfg.h
@@ -3,7 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#include "cfg-noctigon-kr4.h"
+#include "hank/noctigon-kr4/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0274"
// ATTINY: 1634
diff --git a/hw/hank/noctigon-dm11/cfg.h b/hw/hank/noctigon-dm11/cfg.h
index cd6bc9d..7782762 100644
--- a/hw/hank/noctigon-dm11/cfg.h
+++ b/hw/hank/noctigon-dm11/cfg.h
@@ -4,8 +4,8 @@
#pragma once
#define MODEL_NUMBER "0271"
-#include "hwdef-noctigon-dm11.h"
-#include "hank-cfg.h"
+#include "hank/noctigon-dm11/hwdef.h"
+#include "hank/cfg.h"
// ATTINY: 1634
// this light has three aux LED channels: R, G, B
diff --git a/hw/hank/noctigon-dm11/hwdef.h b/hw/hank/noctigon-dm11/hwdef.h
index b35b27f..9ce5629 100644
--- a/hw/hank/noctigon-dm11/hwdef.h
+++ b/hw/hank/noctigon-dm11/hwdef.h
@@ -41,11 +41,11 @@
#include <avr/io.h>
#ifndef HWDEF_C_FILE
-#define HWDEF_C_FILE hwdef-noctigon-kr4.c
+#define HWDEF_C_FILE hank/noctigon-kr4/hwdef.c
#endif
// allow using aux LEDs as extra channel modes
-#include "chan-rgbaux.h"
+#include "fsm/chan-rgbaux.h"
// channel modes:
// * 0. linear + DD FET stacked
diff --git a/hw/hank/noctigon-k1-boost/cfg.h b/hw/hank/noctigon-k1-boost/cfg.h
index 0684ce7..29b20d1 100644
--- a/hw/hank/noctigon-k1-boost/cfg.h
+++ b/hw/hank/noctigon-k1-boost/cfg.h
@@ -4,8 +4,8 @@
#pragma once
#define MODEL_NUMBER "0253"
-#include "hwdef-noctigon-k1-boost.h"
-#include "hank-cfg.h"
+#include "hank/noctigon-k1-boost/hwdef.h"
+#include "hank/cfg.h"
// ATTINY: 1634
// Most K1 lights can run hotter than default, but the 12V model
diff --git a/hw/hank/noctigon-k1-boost/hwdef.h b/hw/hank/noctigon-k1-boost/hwdef.h
index a2e693a..1c6a06d 100644
--- a/hw/hank/noctigon-k1-boost/hwdef.h
+++ b/hw/hank/noctigon-k1-boost/hwdef.h
@@ -37,10 +37,10 @@
#define ATTINY 1634
#include <avr/io.h>
-#define HWDEF_C_FILE hwdef-noctigon-dm11-boost.c
+#define HWDEF_C_FILE hank/noctigon-dm11-boost/hwdef.c
// allow using aux LEDs as extra channel modes
-#include "chan-rgbaux.h"
+#include "fsm/chan-rgbaux.h"
// channel modes:
// * 0. main LEDs
diff --git a/hw/hank/noctigon-k1-sbt90/cfg.h b/hw/hank/noctigon-k1-sbt90/cfg.h
index 568ff95..99fa2cb 100644
--- a/hw/hank/noctigon-k1-sbt90/cfg.h
+++ b/hw/hank/noctigon-k1-sbt90/cfg.h
@@ -5,8 +5,8 @@
// (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"
-#include "hank-cfg.h"
+#include "hank/noctigon-k1-sbt90/hwdef.h"
+#include "hank/cfg.h"
// ATTINY: 1634
// this light can safely run a bit hotter than most
diff --git a/hw/hank/noctigon-k1-sbt90/hwdef.h b/hw/hank/noctigon-k1-sbt90/hwdef.h
index c89c3fc..bdea32d 100644
--- a/hw/hank/noctigon-k1-sbt90/hwdef.h
+++ b/hw/hank/noctigon-k1-sbt90/hwdef.h
@@ -40,10 +40,10 @@
#define ATTINY 1634
#include <avr/io.h>
-#define HWDEF_C_FILE hwdef-noctigon-kr4.c
+#define HWDEF_C_FILE hank/noctigon-kr4/hwdef.c
// allow using aux LEDs as extra channel modes
-#include "chan-rgbaux.h"
+#include "fsm/chan-rgbaux.h"
// channel modes:
// * 0. linear + DD FET stacked
diff --git a/hw/hank/noctigon-k1/cfg.h b/hw/hank/noctigon-k1/cfg.h
index b2d4697..f02e4ef 100644
--- a/hw/hank/noctigon-k1/cfg.h
+++ b/hw/hank/noctigon-k1/cfg.h
@@ -5,8 +5,8 @@
#define MODEL_NUMBER "0251"
// (originally known as Emisar D1S v2)
-#include "hwdef-noctigon-k1.h"
-#include "hank-cfg.h"
+#include "hank/noctigon-k1/hwdef.h"
+#include "hank/cfg.h"
// ATTINY: 1634
// this light can safely run a bit hotter than most
diff --git a/hw/hank/noctigon-k1/hwdef.c b/hw/hank/noctigon-k1/hwdef.c
index 5d61860..f2c4069 100644
--- a/hw/hank/noctigon-k1/hwdef.c
+++ b/hw/hank/noctigon-k1/hwdef.c
@@ -4,7 +4,7 @@
#pragma once
-#include "chan-rgbaux.c"
+#include "fsm/chan-rgbaux.c"
void set_level_zero();
diff --git a/hw/hank/noctigon-k1/hwdef.h b/hw/hank/noctigon-k1/hwdef.h
index 6467567..f6e714d 100644
--- a/hw/hank/noctigon-k1/hwdef.h
+++ b/hw/hank/noctigon-k1/hwdef.h
@@ -40,11 +40,11 @@
#include <avr/io.h>
#ifndef HWDEF_C_FILE
-#define HWDEF_C_FILE hwdef-noctigon-k1.c
+#define HWDEF_C_FILE hank/noctigon-k1/hwdef.c
#endif
// allow using aux LEDs as extra channel modes
-#include "chan-rgbaux.h"
+#include "fsm/chan-rgbaux.h"
// channel modes:
// * 0. main LED
diff --git a/hw/hank/noctigon-k9.3-219/cfg.h b/hw/hank/noctigon-k9.3-219/cfg.h
index 88abf05..deb2f5b 100644
--- a/hw/hank/noctigon-k9.3-219/cfg.h
+++ b/hw/hank/noctigon-k9.3-219/cfg.h
@@ -3,7 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#include "cfg-noctigon-k9.3.h"
+#include "hank/noctigon-k9.3/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0263"
// ATTINY: 1634
diff --git a/hw/hank/noctigon-k9.3-nofet/cfg.h b/hw/hank/noctigon-k9.3-nofet/cfg.h
index 16504fd..ab54133 100644
--- a/hw/hank/noctigon-k9.3-nofet/cfg.h
+++ b/hw/hank/noctigon-k9.3-nofet/cfg.h
@@ -5,7 +5,7 @@
// no functional differences from generic emisar-2ch build
// (just use that one instead, this is only here for legacy reasons)
-#include "cfg-emisar-2ch.h"
+#include "hank/emisar-2ch/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0262"
// ATTINY: 1634
diff --git a/hw/hank/noctigon-k9.3/cfg.h b/hw/hank/noctigon-k9.3/cfg.h
index ba24504..bf5d29a 100644
--- a/hw/hank/noctigon-k9.3/cfg.h
+++ b/hw/hank/noctigon-k9.3/cfg.h
@@ -4,8 +4,8 @@
#pragma once
#define MODEL_NUMBER "0261"
-#include "hwdef-emisar-2ch-fet.h"
-#include "hank-cfg.h"
+#include "hank/emisar-2ch-fet/hwdef.h"
+#include "hank/cfg.h"
// ATTINY: 1634
// this light has three aux LED channels: R, G, B
diff --git a/hw/hank/noctigon-kr4-219/cfg.h b/hw/hank/noctigon-kr4-219/cfg.h
index 5d106ef..8b566f3 100644
--- a/hw/hank/noctigon-kr4-219/cfg.h
+++ b/hw/hank/noctigon-kr4-219/cfg.h
@@ -3,7 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#include "cfg-noctigon-kr4.h"
+#include "hank/noctigon-kr4/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0213"
// ATTINY: 1634
diff --git a/hw/hank/noctigon-kr4-219b/cfg.h b/hw/hank/noctigon-kr4-219b/cfg.h
index b242048..99b6924 100644
--- a/hw/hank/noctigon-kr4-219b/cfg.h
+++ b/hw/hank/noctigon-kr4-219b/cfg.h
@@ -3,7 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#include "cfg-noctigon-kr4.h"
+#include "hank/noctigon-kr4/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0214"
// ATTINY: 1634
diff --git a/hw/hank/noctigon-kr4-2ch/cfg.h b/hw/hank/noctigon-kr4-2ch/cfg.h
index 09dd604..d2f41f8 100644
--- a/hw/hank/noctigon-kr4-2ch/cfg.h
+++ b/hw/hank/noctigon-kr4-2ch/cfg.h
@@ -6,8 +6,8 @@
// (basically the same as Emisar generic 2-channel build,
// but switch on a different pin, and no lighted button)
// ATTINY: 1634
-#include "hwdef-noctigon-kr4-2ch.h"
-#include "cfg-emisar-2ch.h"
+#include "hank/noctigon-kr4-2ch/hwdef.h"
+#include "hank/emisar-2ch/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0215"
diff --git a/hw/hank/noctigon-kr4-2ch/hwdef.h b/hw/hank/noctigon-kr4-2ch/hwdef.h
index a450693..081fccc 100644
--- a/hw/hank/noctigon-kr4-2ch/hwdef.h
+++ b/hw/hank/noctigon-kr4-2ch/hwdef.h
@@ -43,5 +43,5 @@
#define PCINT_vect PCINT1_vect // ISR for PCINT[11:8]
// the rest of the config is the same as the generic Emisar 2ch build
-#include "hwdef-emisar-2ch.h"
+#include "hank/emisar-2ch/hwdef.h"
diff --git a/hw/hank/noctigon-kr4-boost/cfg.h b/hw/hank/noctigon-kr4-boost/cfg.h
index 1603acf..3dd2283 100644
--- a/hw/hank/noctigon-kr4-boost/cfg.h
+++ b/hw/hank/noctigon-kr4-boost/cfg.h
@@ -7,10 +7,10 @@
// the only things different from dm11-boost are:
// - e-switch is on a different pin (defined in hwdef)
// - different model number
-#include "cfg-noctigon-dm11-boost.h"
-#include "hwdef-noctigon-kr4-boost.h"
+#include "hank/noctigon-dm11-boost/cfg.h"
+#include "hank/noctigon-kr4-boost/hwdef.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0216"
-#include "hank-cfg.h"
+#include "hank/cfg.h"
// ATTINY: 1634
diff --git a/hw/hank/noctigon-kr4-boost/hwdef.h b/hw/hank/noctigon-kr4-boost/hwdef.h
index 07c4f4b..1ee2627 100644
--- a/hw/hank/noctigon-kr4-boost/hwdef.h
+++ b/hw/hank/noctigon-kr4-boost/hwdef.h
@@ -37,7 +37,7 @@
* not to change brightness.
*/
-#include "hwdef-noctigon-dm11-boost.h"
+#include "hank/noctigon-dm11-boost/hwdef.h"
// e-switch is on a different pin
#undef SWITCH_PIN
diff --git a/hw/hank/noctigon-kr4-nofet/cfg.h b/hw/hank/noctigon-kr4-nofet/cfg.h
index 6d49a8b..cc9e7e0 100644
--- a/hw/hank/noctigon-kr4-nofet/cfg.h
+++ b/hw/hank/noctigon-kr4-nofet/cfg.h
@@ -5,8 +5,8 @@
// (and Noctigon KR1)
// (and Emisar D4v2 E21A, a.k.a. "D4v2.5")
-#define HWDEF_C_FILE hwdef-noctigon-kr4-nofet.c
-#include "cfg-noctigon-kr4.h"
+#define HWDEF_C_FILE hank/noctigon-kr4-nofet/hwdef.c
+#include "hank/noctigon-kr4/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0212"
// ATTINY: 1634
diff --git a/hw/hank/noctigon-kr4-nofet/hwdef.c b/hw/hank/noctigon-kr4-nofet/hwdef.c
index 0492def..783eeed 100644
--- a/hw/hank/noctigon-kr4-nofet/hwdef.c
+++ b/hw/hank/noctigon-kr4-nofet/hwdef.c
@@ -4,7 +4,7 @@
#pragma once
-#include "chan-rgbaux.c"
+#include "fsm/chan-rgbaux.c"
void set_level_zero();
diff --git a/hw/hank/noctigon-kr4/cfg.h b/hw/hank/noctigon-kr4/cfg.h
index 5b24ef5..8a12b1f 100644
--- a/hw/hank/noctigon-kr4/cfg.h
+++ b/hw/hank/noctigon-kr4/cfg.h
@@ -5,8 +5,8 @@
#pragma once
#define MODEL_NUMBER "0211"
-#include "hwdef-noctigon-kr4.h"
-#include "hank-cfg.h"
+#include "hank/noctigon-kr4/hwdef.h"
+#include "hank/cfg.h"
// ATTINY: 1634
// brightness w/ SST-20 4000K LEDs:
diff --git a/hw/hank/noctigon-kr4/hwdef.c b/hw/hank/noctigon-kr4/hwdef.c
index 884151d..6e6435d 100644
--- a/hw/hank/noctigon-kr4/hwdef.c
+++ b/hw/hank/noctigon-kr4/hwdef.c
@@ -3,7 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#include "chan-rgbaux.c"
+#include "fsm/chan-rgbaux.c"
void set_level_zero();
diff --git a/hw/hank/noctigon-kr4/hwdef.h b/hw/hank/noctigon-kr4/hwdef.h
index 5570fb7..a830910 100644
--- a/hw/hank/noctigon-kr4/hwdef.h
+++ b/hw/hank/noctigon-kr4/hwdef.h
@@ -39,11 +39,11 @@
#include <avr/io.h>
#ifndef HWDEF_C_FILE
-#define HWDEF_C_FILE hwdef-noctigon-kr4.c
+#define HWDEF_C_FILE hank/noctigon-kr4/hwdef.c
#endif
// allow using aux LEDs as extra channel modes
-#include "chan-rgbaux.h"
+#include "fsm/chan-rgbaux.h"
// channel modes:
// * 0. linear + DD FET stacked
diff --git a/hw/hank/noctigon-m44/cfg.h b/hw/hank/noctigon-m44/cfg.h
index 88bf628..3e80f66 100644
--- a/hw/hank/noctigon-m44/cfg.h
+++ b/hw/hank/noctigon-m44/cfg.h
@@ -4,8 +4,8 @@
#pragma once
#define MODEL_NUMBER "0143"
-#include "hwdef-noctigon-m44.h"
-#include "hank-cfg.h"
+#include "hank/noctigon-m44/hwdef.h"
+#include "hank/cfg.h"
// ATTINY: 1634
// this light has three aux LED channels: R, G, B
diff --git a/hw/hank/noctigon-m44/hwdef.c b/hw/hank/noctigon-m44/hwdef.c
index 395a7a2..c7e1435 100644
--- a/hw/hank/noctigon-m44/hwdef.c
+++ b/hw/hank/noctigon-m44/hwdef.c
@@ -3,7 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#include "chan-rgbaux.c"
+#include "fsm/chan-rgbaux.c"
void set_level_zero();
diff --git a/hw/hank/noctigon-m44/hwdef.h b/hw/hank/noctigon-m44/hwdef.h
index 5658c9f..7bacfd1 100644
--- a/hw/hank/noctigon-m44/hwdef.h
+++ b/hw/hank/noctigon-m44/hwdef.h
@@ -31,10 +31,10 @@
#define ATTINY 1634
#include <avr/io.h>
-#define HWDEF_C_FILE hwdef-noctigon-m44.c
+#define HWDEF_C_FILE hank/noctigon-m44/hwdef.c
// allow using aux LEDs as extra channel modes
-#include "chan-rgbaux.h"
+#include "fsm/chan-rgbaux.h"
// channel modes:
// * 0. channel 1 only
diff --git a/hw/lumintop/blf-gt-mini/cfg.h b/hw/lumintop/blf-gt-mini/cfg.h
index 083f18e..1e913a9 100644
--- a/hw/lumintop/blf-gt-mini/cfg.h
+++ b/hw/lumintop/blf-gt-mini/cfg.h
@@ -3,9 +3,9 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#include "hwdef-blf-gt-mini.h"
+#include "lumintop/blf-gt-mini/hwdef.h"
// Same as an Emisar D1S, except it has a lighted button
-#include "cfg-emisar-d1s.h"
+#include "hank/emisar-d1s/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0322"
diff --git a/hw/lumintop/blf-gt-mini/hwdef.h b/hw/lumintop/blf-gt-mini/hwdef.h
index f4a4d7b..844abfe 100644
--- a/hw/lumintop/blf-gt-mini/hwdef.h
+++ b/hw/lumintop/blf-gt-mini/hwdef.h
@@ -5,7 +5,7 @@
// exactly the same as a D1S, but with a lighted button
// (which is the same hwdef as a D4)
-#include "hwdef-emisar-d4.h"
+#include "hank/emisar-d4/hwdef.h"
// lighted button
#ifndef AUXLED_PIN
diff --git a/hw/lumintop/blf-gt/cfg.h b/hw/lumintop/blf-gt/cfg.h
index 580318a..d06b1fa 100644
--- a/hw/lumintop/blf-gt/cfg.h
+++ b/hw/lumintop/blf-gt/cfg.h
@@ -4,7 +4,7 @@
#pragma once
#define MODEL_NUMBER "0321"
-#include "hwdef-blf-gt.h"
+#include "lumintop/blf-gt/hwdef.h"
// ATTINY: 85
// the button lights up
diff --git a/hw/lumintop/blf-gt/hwdef.h b/hw/lumintop/blf-gt/hwdef.h
index fdb0cb6..bd23086 100644
--- a/hw/lumintop/blf-gt/hwdef.h
+++ b/hw/lumintop/blf-gt/hwdef.h
@@ -19,7 +19,7 @@
#define ATTINY 85
#include <avr/io.h>
-#define HWDEF_C_FILE hwdef-emisar-d4.c
+#define HWDEF_C_FILE hank/emisar-d4/hwdef.c
// channel modes
// * 0. main LEDs
diff --git a/hw/lumintop/fw3a-219/cfg.h b/hw/lumintop/fw3a-219/cfg.h
index 0bd5250..32cc020 100644
--- a/hw/lumintop/fw3a-219/cfg.h
+++ b/hw/lumintop/fw3a-219/cfg.h
@@ -3,7 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#include "cfg-fw3a.h"
+#include "lumintop/fw3a/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0312"
diff --git a/hw/lumintop/fw3a-nofet/cfg.h b/hw/lumintop/fw3a-nofet/cfg.h
index b5d4166..76f125b 100644
--- a/hw/lumintop/fw3a-nofet/cfg.h
+++ b/hw/lumintop/fw3a-nofet/cfg.h
@@ -3,7 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#include "cfg-fw3a.h"
+#include "lumintop/fw3a/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0313"
diff --git a/hw/lumintop/fw3a/cfg.h b/hw/lumintop/fw3a/cfg.h
index 53c4135..123a7e1 100644
--- a/hw/lumintop/fw3a/cfg.h
+++ b/hw/lumintop/fw3a/cfg.h
@@ -4,7 +4,7 @@
#pragma once
#define MODEL_NUMBER "0311"
-#include "hwdef-fw3a.h"
+#include "lumintop/fw3a/hwdef.h"
#define RAMP_SIZE 150
diff --git a/hw/lumintop/fw3a/hwdef.h b/hw/lumintop/fw3a/hwdef.h
index 519fb97..fc9ff2a 100644
--- a/hw/lumintop/fw3a/hwdef.h
+++ b/hw/lumintop/fw3a/hwdef.h
@@ -15,7 +15,7 @@
#define ATTINY 85
#include <avr/io.h>
-#define HWDEF_C_FILE hwdef-fw3a.c
+#define HWDEF_C_FILE lumintop/fw3a/hwdef.c
// channel modes
// * 0. FET+7+1 stacked
diff --git a/hw/lumintop/fw3x-lume1/cfg.h b/hw/lumintop/fw3x-lume1/cfg.h
index 184ab8e..2ea540c 100644
--- a/hw/lumintop/fw3x-lume1/cfg.h
+++ b/hw/lumintop/fw3x-lume1/cfg.h
@@ -12,7 +12,7 @@
*/
#define MODEL_NUMBER "0314"
-#include "hwdef-fw3x-lume1.h"
+#include "lumintop/fw3x-lume1/hwdef.h"
// ATTINY: 1634
// set this light for 50C thermal ceiling
diff --git a/hw/lumintop/fw3x-lume1/hwdef.c b/hw/lumintop/fw3x-lume1/hwdef.c
index 2f31ed0..71cd799 100644
--- a/hw/lumintop/fw3x-lume1/hwdef.c
+++ b/hw/lumintop/fw3x-lume1/hwdef.c
@@ -3,7 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#include "chan-rgbaux.c"
+#include "fsm/chan-rgbaux.c"
void set_level_zero();
diff --git a/hw/lumintop/fw3x-lume1/hwdef.h b/hw/lumintop/fw3x-lume1/hwdef.h
index c03248b..8c673b3 100644
--- a/hw/lumintop/fw3x-lume1/hwdef.h
+++ b/hw/lumintop/fw3x-lume1/hwdef.h
@@ -37,10 +37,10 @@
#define ATTINY 1634
#include <avr/io.h>
-#define HWDEF_C_FILE hwdef-fw3x-lume1.c
+#define HWDEF_C_FILE lumintop/fw3x-lume1/hwdef.c
// allow using aux LEDs as extra channel modes
-#include "chan-rgbaux.h"
+#include "fsm/chan-rgbaux.h"
// channel modes:
// * 0. main LEDs
diff --git a/hw/mateminco/mf01-mini/cfg.h b/hw/mateminco/mf01-mini/cfg.h
index fb62ac6..a9e4816 100644
--- a/hw/mateminco/mf01-mini/cfg.h
+++ b/hw/mateminco/mf01-mini/cfg.h
@@ -4,7 +4,7 @@
#pragma once
#define MODEL_NUMBER "0521"
-#include "hwdef-mateminco-mf01-mini.h"
+#include "mateminco/mf01-mini/hwdef.h"
// the button lights up
#define USE_INDICATOR_LED
diff --git a/hw/mateminco/mf01-mini/hwdef.h b/hw/mateminco/mf01-mini/hwdef.h
index 35405db..663e1d2 100644
--- a/hw/mateminco/mf01-mini/hwdef.h
+++ b/hw/mateminco/mf01-mini/hwdef.h
@@ -15,7 +15,7 @@
#define ATTINY 85
#include <avr/io.h>
-#define HWDEF_C_FILE hwdef-fw3a.c
+#define HWDEF_C_FILE lumintop/fw3a/hwdef.c
// channel modes
// * 0. FET+N+1 stacked
diff --git a/hw/mateminco/mf01s/cfg.h b/hw/mateminco/mf01s/cfg.h
index de92693..573c71d 100644
--- a/hw/mateminco/mf01s/cfg.h
+++ b/hw/mateminco/mf01s/cfg.h
@@ -4,7 +4,7 @@
#pragma once
#define MODEL_NUMBER "0511"
-#include "hwdef-mateminco-mf01s.h"
+#include "mateminco/mf01s/hwdef.h"
// ATTINY: 85
// the button lights up
diff --git a/hw/mateminco/mf01s/hwdef.h b/hw/mateminco/mf01s/hwdef.h
index af214b2..3d88975 100644
--- a/hw/mateminco/mf01s/hwdef.h
+++ b/hw/mateminco/mf01s/hwdef.h
@@ -15,7 +15,7 @@
#define ATTINY 85
#include <avr/io.h>
-#define HWDEF_C_FILE hwdef-emisar-d4.c
+#define HWDEF_C_FILE hank/emisar-d4/hwdef.c
// channel modes
// * 0. small FET + big FET stacked
diff --git a/hw/mateminco/mt35-mini/cfg.h b/hw/mateminco/mt35-mini/cfg.h
index 1ca5008..506f851 100644
--- a/hw/mateminco/mt35-mini/cfg.h
+++ b/hw/mateminco/mt35-mini/cfg.h
@@ -4,7 +4,7 @@
#pragma once
#define MODEL_NUMBER "0531"
-#include "hwdef-mateminco-mt35-mini.h"
+#include "mateminco/mt35-mini/hwdef.h"
// ATTINY: 85
// the button lights up
diff --git a/hw/mateminco/mt35-mini/hwdef.h b/hw/mateminco/mt35-mini/hwdef.h
index 015c813..c27f910 100644
--- a/hw/mateminco/mt35-mini/hwdef.h
+++ b/hw/mateminco/mt35-mini/hwdef.h
@@ -15,7 +15,7 @@
#define ATTINY 85
#include <avr/io.h>
-#define HWDEF_C_FILE hwdef-emisar-d4.c
+#define HWDEF_C_FILE hank/emisar-d4/hwdef.c
// channel modes
// * 0. FET+7135 stacked
diff --git a/hw/sofirn/blf-lt1-t1616/cfg.h b/hw/sofirn/blf-lt1-t1616/cfg.h
index fc02619..eea5ef5 100644
--- a/hw/sofirn/blf-lt1-t1616/cfg.h
+++ b/hw/sofirn/blf-lt1-t1616/cfg.h
@@ -4,7 +4,7 @@
#pragma once
#define MODEL_NUMBER "0622"
-#include "hwdef-blf-lt1-t1616.h"
+#include "sofirn/blf-lt1-t1616/hwdef.h"
// ATTINY: 1616
// the button lights up
diff --git a/hw/sofirn/blf-lt1-t1616/hwdef.c b/hw/sofirn/blf-lt1-t1616/hwdef.c
index 9d268a4..5a83849 100644
--- a/hw/sofirn/blf-lt1-t1616/hwdef.c
+++ b/hw/sofirn/blf-lt1-t1616/hwdef.c
@@ -3,7 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#include "chan-aux.c"
+#include "fsm/chan-aux.c"
void set_level_zero();
diff --git a/hw/sofirn/blf-lt1-t1616/hwdef.h b/hw/sofirn/blf-lt1-t1616/hwdef.h
index 7c1f10b..203cdc8 100644
--- a/hw/sofirn/blf-lt1-t1616/hwdef.h
+++ b/hw/sofirn/blf-lt1-t1616/hwdef.h
@@ -15,10 +15,10 @@
#define ATTINY 1616
#include <avr/io.h>
-#define HWDEF_C_FILE hwdef-blf-lt1-t1616.c
+#define HWDEF_C_FILE sofirn/blf-lt1-t1616/hwdef.c
// allow using aux LEDs as extra channel modes
-#include "chan-aux.h"
+#include "fsm/chan-aux.h"
// channel modes:
// * 0. warm only
diff --git a/hw/sofirn/blf-lt1/cfg.h b/hw/sofirn/blf-lt1/cfg.h
index 53c3203..e60c9f7 100644
--- a/hw/sofirn/blf-lt1/cfg.h
+++ b/hw/sofirn/blf-lt1/cfg.h
@@ -4,7 +4,7 @@
#pragma once
#define MODEL_NUMBER "0621"
-#include "hwdef-blf-lt1.h"
+#include "sofirn/blf-lt1/hwdef.h"
// ATTINY: 85
// the button lights up
diff --git a/hw/sofirn/blf-lt1/hwdef.h b/hw/sofirn/blf-lt1/hwdef.h
index b113fd4..192d067 100644
--- a/hw/sofirn/blf-lt1/hwdef.h
+++ b/hw/sofirn/blf-lt1/hwdef.h
@@ -15,7 +15,7 @@
#define ATTINY 85
#include <avr/io.h>
-#define HWDEF_C_FILE hwdef-blf-lt1.c
+#define HWDEF_C_FILE sofirn/blf-lt1/hwdef.c
// channel modes:
// * 0. channel 1 only
diff --git a/hw/sofirn/blf-q8-t1616/cfg.h b/hw/sofirn/blf-q8-t1616/cfg.h
index 9f0402c..dca3aa8 100644
--- a/hw/sofirn/blf-q8-t1616/cfg.h
+++ b/hw/sofirn/blf-q8-t1616/cfg.h
@@ -4,8 +4,8 @@
#pragma once
#define MODEL_NUMBER "0613"
-#include "hwdef-blf-q8-t1616.h"
-#include "wurkkos-cfg.h" // Sofirn lights are closely related to Wurkkos
+#include "sofirn/blf-q8-t1616/hwdef.h"
+#include "wurkkos/cfg.h" // Sofirn lights are closely related to Wurkkos
// ATTINY: 1616
// the button lights up
diff --git a/hw/sofirn/blf-q8-t1616/hwdef.h b/hw/sofirn/blf-q8-t1616/hwdef.h
index d9b981f..9098022 100644
--- a/hw/sofirn/blf-q8-t1616/hwdef.h
+++ b/hw/sofirn/blf-q8-t1616/hwdef.h
@@ -20,10 +20,10 @@
// nearly all t1616-based FET+1 drivers work pretty much the same
// (this one has single-color aux like the TS10)
-#define HWDEF_C_FILE hwdef-wurkkos-ts10.c
+#define HWDEF_C_FILE wurkkos/ts10/hwdef.c
// allow using aux LEDs as extra channel modes
-#include "chan-aux.h"
+#include "fsm/chan-aux.h"
// channel modes:
// * 0. FET+7135 stacked
diff --git a/hw/sofirn/blf-q8/cfg.h b/hw/sofirn/blf-q8/cfg.h
index 29dbcb7..622d885 100644
--- a/hw/sofirn/blf-q8/cfg.h
+++ b/hw/sofirn/blf-q8/cfg.h
@@ -4,7 +4,7 @@
#pragma once
#define MODEL_NUMBER "0611"
-#include "hwdef-blf-q8.h"
+#include "sofirn/blf-q8/hwdef.h"
#define RAMP_SIZE 150
diff --git a/hw/sofirn/blf-q8/hwdef.h b/hw/sofirn/blf-q8/hwdef.h
index cdf311d..8549170 100644
--- a/hw/sofirn/blf-q8/hwdef.h
+++ b/hw/sofirn/blf-q8/hwdef.h
@@ -16,5 +16,5 @@
#endif
// Q8 driver is the same as a D4, basically
-#include "hwdef-emisar-d4.h"
+#include "hank/emisar-d4/hwdef.h"
diff --git a/hw/sofirn/lt1s-pro/cfg.h b/hw/sofirn/lt1s-pro/cfg.h
index 440a03d..c6a0f3e 100644
--- a/hw/sofirn/lt1s-pro/cfg.h
+++ b/hw/sofirn/lt1s-pro/cfg.h
@@ -4,7 +4,7 @@
#pragma once
#define MODEL_NUMBER "0623"
-#include "hwdef-sofirn-lt1s-pro.h"
+#include "sofirn/lt1s-pro/hwdef.h"
// ATTINY: 1616
// off mode: low (1)
diff --git a/hw/sofirn/lt1s-pro/hwdef.h b/hw/sofirn/lt1s-pro/hwdef.h
index ae6b3bf..4179c67 100644
--- a/hw/sofirn/lt1s-pro/hwdef.h
+++ b/hw/sofirn/lt1s-pro/hwdef.h
@@ -16,7 +16,7 @@
#define ATTINY 1616
#include <avr/io.h>
-#define HWDEF_C_FILE hwdef-sofirn-lt1s-pro.c
+#define HWDEF_C_FILE sofirn/lt1s-pro/hwdef.c
// channel modes:
// * 0. warm/cool white blend
diff --git a/hw/sofirn/sc21-pro/cfg.h b/hw/sofirn/sc21-pro/cfg.h
index 8fd2dee..febd1dd 100644
--- a/hw/sofirn/sc21-pro/cfg.h
+++ b/hw/sofirn/sc21-pro/cfg.h
@@ -3,7 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#include "cfg-wurkkos-ts10.h"
+#include "wurkkos/ts10/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0632"
// ATTINY: 1616
diff --git a/hw/sofirn/sp10-pro/cfg.h b/hw/sofirn/sp10-pro/cfg.h
index 0e2f28d..e265918 100644
--- a/hw/sofirn/sp10-pro/cfg.h
+++ b/hw/sofirn/sp10-pro/cfg.h
@@ -4,7 +4,7 @@
#pragma once
#define MODEL_NUMBER "0631"
-#include "hwdef-sofirn-sp10-pro.h"
+#include "sofirn/sp10-pro/hwdef.h"
// ATTINY: 1616
// 1....15: level_calc.py 3.01 1 15 7135 1 0.1 2 --pwm dyn:15:64:64
diff --git a/hw/sofirn/sp10-pro/hwdef.h b/hw/sofirn/sp10-pro/hwdef.h
index 5cef6a7..1d1ec25 100644
--- a/hw/sofirn/sp10-pro/hwdef.h
+++ b/hw/sofirn/sp10-pro/hwdef.h
@@ -15,7 +15,7 @@
#define ATTINY 1616
#include <avr/io.h>
-#define HWDEF_C_FILE hwdef-sofirn-sp10-pro.c
+#define HWDEF_C_FILE sofirn/sp10-pro/hwdef.c
// channel modes:
// * 0. low+high PWM stacked
diff --git a/hw/sofirn/sp36-t1616/cfg.h b/hw/sofirn/sp36-t1616/cfg.h
index cb29e4f..d3e5459 100644
--- a/hw/sofirn/sp36-t1616/cfg.h
+++ b/hw/sofirn/sp36-t1616/cfg.h
@@ -4,7 +4,7 @@
#pragma once
// same as the BLF Q8, mostly
-#include "cfg-blf-q8-t1616.h"
+#include "sofirn/blf-q8-t1616/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0614"
// ATTINY: 1616
diff --git a/hw/sofirn/sp36/cfg.h b/hw/sofirn/sp36/cfg.h
index 3661686..7b65ad9 100644
--- a/hw/sofirn/sp36/cfg.h
+++ b/hw/sofirn/sp36/cfg.h
@@ -4,7 +4,7 @@
#pragma once
// same as the BLF Q8, mostly
-#include "cfg-blf-q8.h"
+#include "sofirn/blf-q8/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0612"
diff --git a/hw/thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/cfg.h b/hw/thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/cfg.h
index 460346e..e30a218 100644
--- a/hw/thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/cfg.h
+++ b/hw/thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/cfg.h
@@ -4,7 +4,7 @@
#pragma once
#define MODEL_NUMBER "1632"
-#include "hwdef-thefreeman-boost-fwaa-mp3432-hdr-dac-rgb.h"
+#include "thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/hwdef.h"
// ATTINY: 1616
// HPRsense : 4.2+0.3+20 = 24.5mR (DMN1004UFDF+trace resistance+20mR)
diff --git a/hw/thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/hwdef.h b/hw/thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/hwdef.h
index 9126a1a..91fca72 100644
--- a/hw/thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/hwdef.h
+++ b/hw/thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/hwdef.h
@@ -39,10 +39,10 @@
#define ATTINY 1616
#include <avr/io.h>
-#define HWDEF_C_FILE hwdef-thefreeman-boost21-mp3431-hdr-dac-argb.c
+#define HWDEF_C_FILE thefreeman/boost21-mp3431-hdr-dac-argb/hwdef.c
// allow using aux LEDs as extra channel modes
-#include "chan-rgbaux.h"
+#include "fsm/chan-rgbaux.h"
// channel modes:
// * 0. main LEDs
diff --git a/hw/thefreeman/boost21-mp3431-hdr-dac-argb/cfg.h b/hw/thefreeman/boost21-mp3431-hdr-dac-argb/cfg.h
index 66cc2d0..2ed8fae 100644
--- a/hw/thefreeman/boost21-mp3431-hdr-dac-argb/cfg.h
+++ b/hw/thefreeman/boost21-mp3431-hdr-dac-argb/cfg.h
@@ -4,7 +4,7 @@
#pragma once
#define MODEL_NUMBER "1631"
-#include "hwdef-thefreeman-boost21-mp3431-hdr-dac-argb.h"
+#include "thefreeman/boost21-mp3431-hdr-dac-argb/hwdef.h"
// ATTINY: 1616
// HPRsense : 1.7+0.3+5 = 7mR (DMN22M5UFG+trace resistance+5mR)
diff --git a/hw/thefreeman/boost21-mp3431-hdr-dac-argb/hwdef.c b/hw/thefreeman/boost21-mp3431-hdr-dac-argb/hwdef.c
index 31feec9..97f5fc9 100644
--- a/hw/thefreeman/boost21-mp3431-hdr-dac-argb/hwdef.c
+++ b/hw/thefreeman/boost21-mp3431-hdr-dac-argb/hwdef.c
@@ -3,7 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#include "chan-rgbaux.c"
+#include "fsm/chan-rgbaux.c"
void set_level_zero();
diff --git a/hw/thefreeman/boost21-mp3431-hdr-dac-argb/hwdef.h b/hw/thefreeman/boost21-mp3431-hdr-dac-argb/hwdef.h
index 1c35014..1ca4a14 100644
--- a/hw/thefreeman/boost21-mp3431-hdr-dac-argb/hwdef.h
+++ b/hw/thefreeman/boost21-mp3431-hdr-dac-argb/hwdef.h
@@ -40,10 +40,10 @@
#define ATTINY 1616
#include <avr/io.h>
-#define HWDEF_C_FILE hwdef-thefreeman-boost21-mp3431-hdr-dac-argb.c
+#define HWDEF_C_FILE thefreeman/boost21-mp3431-hdr-dac-argb/hwdef.c
// allow using aux LEDs as extra channel modes
-#include "chan-rgbaux.h"
+#include "fsm/chan-rgbaux.h"
// channel modes:
// * 0. main LEDs
diff --git a/hw/thefreeman/lin16dac/cfg.h b/hw/thefreeman/lin16dac/cfg.h
index 20d2bf5..62230e8 100644
--- a/hw/thefreeman/lin16dac/cfg.h
+++ b/hw/thefreeman/lin16dac/cfg.h
@@ -4,7 +4,7 @@
#pragma once
#define MODEL_NUMBER "1630"
-#include "hwdef-thefreeman-lin16dac.h"
+#include "thefreeman/lin16dac/hwdef.h"
// ATTINY: 1616
// the button lights up
diff --git a/hw/thefreeman/lin16dac/hwdef.c b/hw/thefreeman/lin16dac/hwdef.c
index 07c7f9e..191444e 100644
--- a/hw/thefreeman/lin16dac/hwdef.c
+++ b/hw/thefreeman/lin16dac/hwdef.c
@@ -3,7 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#include "chan-aux.c"
+#include "fsm/chan-aux.c"
void set_level_zero();
diff --git a/hw/thefreeman/lin16dac/hwdef.h b/hw/thefreeman/lin16dac/hwdef.h
index c0d0638..79f8382 100644
--- a/hw/thefreeman/lin16dac/hwdef.h
+++ b/hw/thefreeman/lin16dac/hwdef.h
@@ -15,10 +15,10 @@
#define ATTINY 1616
#include <avr/io.h>
-#define HWDEF_C_FILE hwdef-thefreeman-lin16dac.c
+#define HWDEF_C_FILE thefreeman/lin16dac/hwdef.c
// allow using aux LEDs as extra channel modes
-#include "chan-aux.h"
+#include "fsm/chan-aux.h"
// channel modes:
// * 0. main LEDs
diff --git a/hw/wurkkos/wurkkos-cfg.h b/hw/wurkkos/cfg.h
index b9992fb..b9992fb 100644
--- a/hw/wurkkos/wurkkos-cfg.h
+++ b/hw/wurkkos/cfg.h
diff --git a/hw/wurkkos/fc13/cfg.h b/hw/wurkkos/fc13/cfg.h
index 56161b4..7495f61 100644
--- a/hw/wurkkos/fc13/cfg.h
+++ b/hw/wurkkos/fc13/cfg.h
@@ -4,7 +4,7 @@
#pragma once
// ATTINY: 1616
-#include "cfg-wurkkos-ts25.h"
+#include "wurkkos/ts25/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0716"
diff --git a/hw/wurkkos/ts10-rgbaux/cfg.h b/hw/wurkkos/ts10-rgbaux/cfg.h
index 6770c47..dacedea 100644
--- a/hw/wurkkos/ts10-rgbaux/cfg.h
+++ b/hw/wurkkos/ts10-rgbaux/cfg.h
@@ -4,7 +4,7 @@
#pragma once
// most things are the same as TS25
-#include "cfg-wurkkos-ts25.h"
+#include "wurkkos/ts25/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0713"
// ATTINY: 1616
diff --git a/hw/wurkkos/ts10/cfg.h b/hw/wurkkos/ts10/cfg.h
index 90839e7..b554b21 100644
--- a/hw/wurkkos/ts10/cfg.h
+++ b/hw/wurkkos/ts10/cfg.h
@@ -5,8 +5,8 @@
// same as the BLF Q8 T1616, mostly (added Dynamic PWM)
#define MODEL_NUMBER "0714"
-#include "hwdef-wurkkos-ts10.h"
-#include "wurkkos-cfg.h"
+#include "wurkkos/ts10/hwdef.h"
+#include "wurkkos/cfg.h"
// ATTINY: 1616
// uses forward-facing aux LEDs
diff --git a/hw/wurkkos/ts10/hwdef.c b/hw/wurkkos/ts10/hwdef.c
index 06f5bac..8fa7e55 100644
--- a/hw/wurkkos/ts10/hwdef.c
+++ b/hw/wurkkos/ts10/hwdef.c
@@ -4,7 +4,7 @@
#pragma once
-#include "chan-aux.c"
+#include "fsm/chan-aux.c"
void set_level_zero();
diff --git a/hw/wurkkos/ts10/hwdef.h b/hw/wurkkos/ts10/hwdef.h
index e693c99..157f2da 100644
--- a/hw/wurkkos/ts10/hwdef.h
+++ b/hw/wurkkos/ts10/hwdef.h
@@ -16,10 +16,10 @@
#define ATTINY 1616
#include <avr/io.h>
-#define HWDEF_C_FILE hwdef-wurkkos-ts10.c
+#define HWDEF_C_FILE wurkkos/ts10/hwdef.c
// allow using aux LEDs as extra channel modes
-#include "chan-aux.h"
+#include "fsm/chan-aux.h"
// channel modes:
// * 0. FET+7135 stacked
diff --git a/hw/wurkkos/ts11/cfg.h b/hw/wurkkos/ts11/cfg.h
index 8955731..c4bb59f 100644
--- a/hw/wurkkos/ts11/cfg.h
+++ b/hw/wurkkos/ts11/cfg.h
@@ -4,7 +4,7 @@
#pragma once
// ATTINY: 1616
-#include "cfg-wurkkos-ts25.h"
+#include "wurkkos/ts25/cfg.h"
#undef MODEL_NUMBER
#define MODEL_NUMBER "0717"
diff --git a/hw/wurkkos/ts25/cfg.h b/hw/wurkkos/ts25/cfg.h
index 852e91b..9a3f129 100644
--- a/hw/wurkkos/ts25/cfg.h
+++ b/hw/wurkkos/ts25/cfg.h
@@ -4,8 +4,8 @@
#pragma once
#define MODEL_NUMBER "0715"
-#include "hwdef-wurkkos-ts25.h"
-#include "wurkkos-cfg.h"
+#include "wurkkos/ts25/hwdef.h"
+#include "wurkkos/cfg.h"
// ATTINY: 1616
// this light has three aux LED channels: R, G, B
diff --git a/hw/wurkkos/ts25/hwdef.c b/hw/wurkkos/ts25/hwdef.c
index 26c9b0d..f7cef38 100644
--- a/hw/wurkkos/ts25/hwdef.c
+++ b/hw/wurkkos/ts25/hwdef.c
@@ -4,7 +4,7 @@
#pragma once
-#include "chan-rgbaux.c"
+#include "fsm/chan-rgbaux.c"
void set_level_zero();
diff --git a/hw/wurkkos/ts25/hwdef.h b/hw/wurkkos/ts25/hwdef.h
index 5eed219..0604432 100644
--- a/hw/wurkkos/ts25/hwdef.h
+++ b/hw/wurkkos/ts25/hwdef.h
@@ -17,10 +17,10 @@
#define ATTINY 1616
#include <avr/io.h>
-#define HWDEF_C_FILE hwdef-wurkkos-ts25.c
+#define HWDEF_C_FILE wurkkos/ts25/hwdef.c
// allow using aux LEDs as extra channel modes
-#include "chan-rgbaux.h"
+#include "fsm/chan-rgbaux.h"
// channel modes:
// * 0. FET+7135 stacked