aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSelene ToyKeeper2023-11-03 10:53:34 -0600
committerSelene ToyKeeper2023-11-03 10:53:34 -0600
commitc798ab3e78d4ca857c9aa6dc283176df1769becd (patch)
treea880468721171db1ace5b8e968fe29480b694466
parentmoved variant builds under their parent, like "d4-219" -> "d4/219" (diff)
downloadanduril-c798ab3e78d4ca857c9aa6dc283176df1769becd.tar.gz
anduril-c798ab3e78d4ca857c9aa6dc283176df1769becd.tar.bz2
anduril-c798ab3e78d4ca857c9aa6dc283176df1769becd.zip
moved ATTINY and MODEL_NUMBER into $target/arch and $target/model,
and updated other scripts and files accordingly
-rw-r--r--MODELS114
-rwxr-xr-xbin/build-all.sh7
-rwxr-xr-xbin/build-tiny13.sh4
-rwxr-xr-xbin/build-tiny25.sh4
-rwxr-xr-xbin/build-tiny85.sh4
-rwxr-xr-xbin/build.sh26
-rwxr-xr-xbin/detect-mcu.sh41
-rwxr-xr-xbin/models.py62
-rw-r--r--hw/fireflies/arch1
-rw-r--r--hw/fireflies/e01/anduril.h2
-rw-r--r--hw/fireflies/e01/model1
-rw-r--r--hw/fireflies/pl47/219/anduril.h2
-rw-r--r--hw/fireflies/pl47/219/model1
-rw-r--r--hw/fireflies/pl47/anduril.h2
-rw-r--r--hw/fireflies/pl47/model1
-rw-r--r--hw/fireflies/pl47g2/anduril.h2
-rw-r--r--hw/fireflies/pl47g2/model1
-rw-r--r--hw/fireflies/rot66/219/anduril.h2
-rw-r--r--hw/fireflies/rot66/219/model1
-rw-r--r--hw/fireflies/rot66/anduril.h1
-rw-r--r--hw/fireflies/rot66/model1
-rw-r--r--hw/fireflies/rot66g2/anduril.h2
-rw-r--r--hw/fireflies/rot66g2/model1
-rw-r--r--hw/gchart/fet1-t1616/anduril.h2
-rw-r--r--hw/gchart/fet1-t1616/arch1
-rw-r--r--hw/gchart/fet1-t1616/hwdef.h1
-rw-r--r--hw/gchart/fet1-t1616/model1
-rw-r--r--hw/hank/emisar-2ch/anduril.h2
-rw-r--r--hw/hank/emisar-2ch/arch1
-rw-r--r--hw/hank/emisar-2ch/fet/anduril.h2
-rw-r--r--hw/hank/emisar-2ch/fet/hwdef.h1
-rw-r--r--hw/hank/emisar-2ch/fet/model1
-rw-r--r--hw/hank/emisar-2ch/hwdef.h1
-rw-r--r--hw/hank/emisar-2ch/model1
-rw-r--r--hw/hank/emisar-d1/anduril.h2
-rw-r--r--hw/hank/emisar-d1/arch1
-rw-r--r--hw/hank/emisar-d1/model1
-rw-r--r--hw/hank/emisar-d18/219/anduril.h2
-rw-r--r--hw/hank/emisar-d18/219/model1
-rw-r--r--hw/hank/emisar-d18/anduril.h1
-rw-r--r--hw/hank/emisar-d18/arch1
-rw-r--r--hw/hank/emisar-d18/hwdef.h1
-rw-r--r--hw/hank/emisar-d18/model1
-rw-r--r--hw/hank/emisar-d1s/anduril.h2
-rw-r--r--hw/hank/emisar-d1s/arch1
-rw-r--r--hw/hank/emisar-d1s/model1
-rw-r--r--hw/hank/emisar-d1v2/7135-fet/anduril.h3
-rw-r--r--hw/hank/emisar-d1v2/7135-fet/model1
-rw-r--r--hw/hank/emisar-d1v2/arch1
-rw-r--r--hw/hank/emisar-d1v2/linear-fet/anduril.h3
-rw-r--r--hw/hank/emisar-d1v2/linear-fet/model1
-rw-r--r--hw/hank/emisar-d1v2/nofet/anduril.h3
-rw-r--r--hw/hank/emisar-d1v2/nofet/model1
-rw-r--r--hw/hank/emisar-d4/219/anduril.h2
-rw-r--r--hw/hank/emisar-d4/219/model1
-rw-r--r--hw/hank/emisar-d4/anduril.h2
-rw-r--r--hw/hank/emisar-d4/arch1
-rw-r--r--hw/hank/emisar-d4/hwdef.h1
-rw-r--r--hw/hank/emisar-d4/model1
-rw-r--r--hw/hank/emisar-d4k-3ch/anduril.h2
-rw-r--r--hw/hank/emisar-d4k-3ch/arch1
-rw-r--r--hw/hank/emisar-d4k-3ch/hwdef.h1
-rw-r--r--hw/hank/emisar-d4k-3ch/model1
-rw-r--r--hw/hank/emisar-d4s/219/anduril.h2
-rw-r--r--hw/hank/emisar-d4s/219/model1
-rw-r--r--hw/hank/emisar-d4s/anduril.h2
-rw-r--r--hw/hank/emisar-d4s/arch1
-rw-r--r--hw/hank/emisar-d4s/model1
-rw-r--r--hw/hank/emisar-d4sv2/219/anduril.h3
-rw-r--r--hw/hank/emisar-d4sv2/219/model1
-rw-r--r--hw/hank/emisar-d4sv2/anduril.h2
-rw-r--r--hw/hank/emisar-d4sv2/arch1
-rw-r--r--hw/hank/emisar-d4sv2/hwdef.h1
-rw-r--r--hw/hank/emisar-d4sv2/model1
-rw-r--r--hw/hank/emisar-d4v2/219/anduril.h3
-rw-r--r--hw/hank/emisar-d4v2/219/model1
-rw-r--r--hw/hank/emisar-d4v2/anduril.h2
-rw-r--r--hw/hank/emisar-d4v2/arch1
-rw-r--r--hw/hank/emisar-d4v2/hwdef.h1
-rw-r--r--hw/hank/emisar-d4v2/model1
-rw-r--r--hw/hank/emisar-d4v2/nofet/anduril.h3
-rw-r--r--hw/hank/emisar-d4v2/nofet/model1
-rw-r--r--hw/hank/noctigon-dm11/anduril.h2
-rw-r--r--hw/hank/noctigon-dm11/arch1
-rw-r--r--hw/hank/noctigon-dm11/boost/anduril.h2
-rw-r--r--hw/hank/noctigon-dm11/boost/hwdef.h1
-rw-r--r--hw/hank/noctigon-dm11/boost/model1
-rw-r--r--hw/hank/noctigon-dm11/hwdef.h1
-rw-r--r--hw/hank/noctigon-dm11/model1
-rw-r--r--hw/hank/noctigon-dm11/nofet/anduril.h3
-rw-r--r--hw/hank/noctigon-dm11/nofet/model1
-rw-r--r--hw/hank/noctigon-dm11/sbt90/anduril.h3
-rw-r--r--hw/hank/noctigon-dm11/sbt90/model1
-rw-r--r--hw/hank/noctigon-k1/anduril.h2
-rw-r--r--hw/hank/noctigon-k1/arch1
-rw-r--r--hw/hank/noctigon-k1/boost/anduril.h2
-rw-r--r--hw/hank/noctigon-k1/boost/hwdef.h1
-rw-r--r--hw/hank/noctigon-k1/boost/model1
-rw-r--r--hw/hank/noctigon-k1/hwdef.h1
-rw-r--r--hw/hank/noctigon-k1/model1
-rw-r--r--hw/hank/noctigon-k1/sbt90/anduril.h2
-rw-r--r--hw/hank/noctigon-k1/sbt90/hwdef.h1
-rw-r--r--hw/hank/noctigon-k1/sbt90/model1
-rw-r--r--hw/hank/noctigon-k9.3/219/anduril.h3
-rw-r--r--hw/hank/noctigon-k9.3/anduril.h2
-rw-r--r--hw/hank/noctigon-k9.3/nofet/anduril.h3
-rw-r--r--hw/hank/noctigon-kr4/219/anduril.h3
-rw-r--r--hw/hank/noctigon-kr4/219/model1
-rw-r--r--hw/hank/noctigon-kr4/219b/anduril.h3
-rw-r--r--hw/hank/noctigon-kr4/219b/model1
-rw-r--r--hw/hank/noctigon-kr4/2ch/anduril.h3
-rw-r--r--hw/hank/noctigon-kr4/2ch/hwdef.h1
-rw-r--r--hw/hank/noctigon-kr4/2ch/model1
-rw-r--r--hw/hank/noctigon-kr4/anduril.h2
-rw-r--r--hw/hank/noctigon-kr4/arch1
-rw-r--r--hw/hank/noctigon-kr4/boost/anduril.h3
-rw-r--r--hw/hank/noctigon-kr4/boost/model1
-rw-r--r--hw/hank/noctigon-kr4/hwdef.h1
-rw-r--r--hw/hank/noctigon-kr4/model1
-rw-r--r--hw/hank/noctigon-kr4/nofet/anduril.h3
-rw-r--r--hw/hank/noctigon-kr4/nofet/model1
-rw-r--r--hw/hank/noctigon-m44/anduril.h2
-rw-r--r--hw/hank/noctigon-m44/arch1
-rw-r--r--hw/hank/noctigon-m44/hwdef.h1
-rw-r--r--hw/hank/noctigon-m44/model1
-rw-r--r--hw/lumintop/blf-gt-mini/anduril.h2
-rw-r--r--hw/lumintop/blf-gt-mini/arch1
-rw-r--r--hw/lumintop/blf-gt-mini/model1
-rw-r--r--hw/lumintop/blf-gt/anduril.h2
-rw-r--r--hw/lumintop/blf-gt/arch1
-rw-r--r--hw/lumintop/blf-gt/hwdef.h1
-rw-r--r--hw/lumintop/blf-gt/model1
-rw-r--r--hw/lumintop/fw3a/219/anduril.h2
-rw-r--r--hw/lumintop/fw3a/219/model1
-rw-r--r--hw/lumintop/fw3a/anduril.h1
-rw-r--r--hw/lumintop/fw3a/arch1
-rw-r--r--hw/lumintop/fw3a/hwdef.h1
-rw-r--r--hw/lumintop/fw3a/model1
-rw-r--r--hw/lumintop/fw3a/nofet/anduril.h2
-rw-r--r--hw/lumintop/fw3a/nofet/model1
-rw-r--r--hw/lumintop/fw3x-lume1/anduril.h2
-rw-r--r--hw/lumintop/fw3x-lume1/arch1
-rw-r--r--hw/lumintop/fw3x-lume1/hwdef.h1
-rw-r--r--hw/lumintop/fw3x-lume1/model1
-rw-r--r--hw/mateminco/arch1
-rw-r--r--hw/mateminco/mf01-mini/anduril.h1
-rw-r--r--hw/mateminco/mf01-mini/hwdef.h1
-rw-r--r--hw/mateminco/mf01-mini/model1
-rw-r--r--hw/mateminco/mf01s/anduril.h2
-rw-r--r--hw/mateminco/mf01s/hwdef.h1
-rw-r--r--hw/mateminco/mf01s/model1
-rw-r--r--hw/mateminco/mt35-mini/anduril.h2
-rw-r--r--hw/mateminco/mt35-mini/hwdef.h1
-rw-r--r--hw/mateminco/mt35-mini/model1
-rw-r--r--hw/sofirn/blf-lt1-t1616/anduril.h2
-rw-r--r--hw/sofirn/blf-lt1-t1616/arch1
-rw-r--r--hw/sofirn/blf-lt1-t1616/hwdef.h1
-rw-r--r--hw/sofirn/blf-lt1-t1616/model1
-rw-r--r--hw/sofirn/blf-lt1/anduril.h2
-rw-r--r--hw/sofirn/blf-lt1/arch1
-rw-r--r--hw/sofirn/blf-lt1/hwdef.h1
-rw-r--r--hw/sofirn/blf-lt1/model1
-rw-r--r--hw/sofirn/blf-q8-t1616/anduril.h2
-rw-r--r--hw/sofirn/blf-q8-t1616/arch1
-rw-r--r--hw/sofirn/blf-q8-t1616/hwdef.h1
-rw-r--r--hw/sofirn/blf-q8-t1616/model1
-rw-r--r--hw/sofirn/blf-q8/anduril.h1
-rw-r--r--hw/sofirn/blf-q8/arch1
-rw-r--r--hw/sofirn/blf-q8/model1
-rw-r--r--hw/sofirn/lt1s-pro/anduril.h2
-rw-r--r--hw/sofirn/lt1s-pro/arch1
-rw-r--r--hw/sofirn/lt1s-pro/hwdef.h1
-rw-r--r--hw/sofirn/lt1s-pro/model1
-rw-r--r--hw/sofirn/sc21-pro/anduril.h3
-rw-r--r--hw/sofirn/sc21-pro/arch1
-rw-r--r--hw/sofirn/sc21-pro/model1
-rw-r--r--hw/sofirn/sp10-pro/anduril.h2
-rw-r--r--hw/sofirn/sp10-pro/arch1
-rw-r--r--hw/sofirn/sp10-pro/hwdef.h1
-rw-r--r--hw/sofirn/sp10-pro/model1
-rw-r--r--hw/sofirn/sp36-t1616/anduril.h3
-rw-r--r--hw/sofirn/sp36-t1616/arch1
-rw-r--r--hw/sofirn/sp36-t1616/model1
-rw-r--r--hw/sofirn/sp36/anduril.h2
-rw-r--r--hw/sofirn/sp36/arch1
-rw-r--r--hw/sofirn/sp36/model1
-rw-r--r--hw/thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/anduril.h2
-rw-r--r--hw/thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/arch1
-rw-r--r--hw/thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/hwdef.h1
-rw-r--r--hw/thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/model1
-rw-r--r--hw/thefreeman/boost21-mp3431-hdr-dac-argb/anduril.h2
-rw-r--r--hw/thefreeman/boost21-mp3431-hdr-dac-argb/arch1
-rw-r--r--hw/thefreeman/boost21-mp3431-hdr-dac-argb/hwdef.h1
-rw-r--r--hw/thefreeman/boost21-mp3431-hdr-dac-argb/model1
-rw-r--r--hw/thefreeman/lin16dac/anduril.h2
-rw-r--r--hw/thefreeman/lin16dac/arch1
-rw-r--r--hw/thefreeman/lin16dac/hwdef.h1
-rw-r--r--hw/thefreeman/lin16dac/model1
-rw-r--r--hw/wurkkos/arch1
-rw-r--r--hw/wurkkos/fc13/anduril.h3
-rw-r--r--hw/wurkkos/fc13/model1
-rw-r--r--hw/wurkkos/ts10/anduril.h2
-rw-r--r--hw/wurkkos/ts10/hwdef.h1
-rw-r--r--hw/wurkkos/ts10/model1
-rw-r--r--hw/wurkkos/ts10/rgbaux/anduril.h3
-rw-r--r--hw/wurkkos/ts10/rgbaux/model1
-rw-r--r--hw/wurkkos/ts11/anduril.h3
-rw-r--r--hw/wurkkos/ts11/model1
-rw-r--r--hw/wurkkos/ts25/anduril.h2
-rw-r--r--hw/wurkkos/ts25/hwdef.h1
-rw-r--r--hw/wurkkos/ts25/model1
211 files changed, 251 insertions, 299 deletions
diff --git a/MODELS b/MODELS
index f4e9fdf..87987dd 100644
--- a/MODELS
+++ b/MODELS
@@ -1,72 +1,68 @@
+Models: 70
+
Model Name MCU
----- ---- ---
-0111 emisar-d4 attiny85
-0112 emisar-d4-219c attiny85
-0113 emisar-d4v2 attiny1634
-0114 emisar-d4v2-219 attiny1634
-0115 emisar-d4v2-nofet attiny1634
-0121 emisar-d1 attiny85
-0122 emisar-d1s attiny85
-0123 emisar-d1v2-7135-fet attiny1634
-0124 emisar-d1v2-linear-fet attiny1634
-0125 emisar-d1v2-nofet attiny1634
-0131 emisar-d4s attiny85
-0132 emisar-d4s-219c attiny85
-0133 emisar-d4sv2 attiny1634
-0134 emisar-d4sv2-219 attiny1634
-0135 emisar-2ch attiny1634
-0135 emisar-d4sv2-tintramp attiny1634 (old)
-0136 emisar-2ch-fet attiny1634
-0136 emisar-d4sv2-tintramp-fet attiny1634 (old)
-0141 emisar-d18 attiny85
-0142 emisar-d18-219 attiny85
-0143 noctigon-m44 attiny1634
-0151 emisar-d4k-3ch attiny1634
-0211 noctigon-kr4 attiny1634
-0212 noctigon-kr4-nofet attiny1634
-0213 noctigon-kr4-219 attiny1634
-0214 noctigon-kr4-219b attiny1634
-0215 noctigon-kr4-2ch attiny1634
-0215 noctigon-kr4-tintramp attiny1634 (old)
-0216 noctigon-kr4-boost attiny1634
-0216 noctigon-kr4-12v attiny1634 (old)
-0251 noctigon-k1 attiny1634
-0252 noctigon-k1-sbt90 attiny1634
-0253 noctigon-k1-boost attiny1634
-0253 noctigon-k1-12v attiny1634 (old)
-0261 noctigon-k9.3 attiny1634
-0262 noctigon-k9.3-nofet attiny1634
-0263 noctigon-k9.3-219 attiny1634
+0111 hank-emisar-d4 attiny85
+0112 hank-emisar-d4-219 attiny85
+0113 hank-emisar-d4v2 attiny1634
+0114 hank-emisar-d4v2-219 attiny1634
+0115 hank-emisar-d4v2-nofet attiny1634
+0121 hank-emisar-d1 attiny85
+0122 hank-emisar-d1s attiny85
+0123 hank-emisar-d1v2-7135-fet attiny1634
+0124 hank-emisar-d1v2-linear-fet attiny1634
+0125 hank-emisar-d1v2-nofet attiny1634
+0131 hank-emisar-d4s attiny85
+0132 hank-emisar-d4s-219 attiny85
+0133 hank-emisar-d4sv2 attiny1634
+0134 hank-emisar-d4sv2-219 attiny1634
+0135 hank-emisar-2ch attiny1634
+0136 hank-emisar-2ch-fet attiny1634
+0141 hank-emisar-d18 attiny85
+0142 hank-emisar-d18-219 attiny85
+0143 hank-noctigon-m44 attiny1634
+0151 hank-emisar-d4k-3ch attiny1634
+0211 hank-noctigon-kr4 attiny1634
+0212 hank-noctigon-kr4-nofet attiny1634
+0213 hank-noctigon-kr4-219 attiny1634
+0214 hank-noctigon-kr4-219b attiny1634
+0215 hank-noctigon-kr4-2ch attiny1634
+0216 hank-noctigon-kr4-boost attiny1634
+0251 hank-noctigon-k1 attiny1634
+0252 hank-noctigon-k1-sbt90 attiny1634
+0253 hank-noctigon-k1-boost attiny1634
+0261 hank-noctigon-k9.3 attiny1634
+0262 hank-noctigon-k9.3-nofet attiny1634
+0263 hank-noctigon-k9.3-219 attiny1634
0265 noctigon-k9.3-tintramp-nofet attiny1634 (old, use 0262)
0266 noctigon-k9.3-tintramp-fet attiny1634 (old, use 0261)
0267 noctigon-k9.3-tintramp-219 attiny1634 (old, use 0263)
-0271 noctigon-dm11 attiny1634
-0272 noctigon-dm11-nofet attiny1634
-0273 noctigon-dm11-boost attiny1634
-0273 noctigon-dm11-12v attiny1634 (old)
-0274 noctigon-dm11-sbt90 attiny1634
-0311 fw3a attiny85
-0312 fw3a-219 attiny85
-0313 fw3a-nofet attiny85
-0314 fw3x-lume1 attiny1634
-0321 blf-gt attiny85
-0322 blf-gt-mini attiny85
-0411 ff-rot66 attiny85
-0412 ff-rot66-219 attiny85
-0413 ff-rot66g2 attiny85
-0421 ff-pl47 attiny85
-0422 ff-pl47-219 attiny85
-0423 ff-pl47g2 attiny85
-0441 ff-e01 attiny85
+0271 hank-noctigon-dm11 attiny1634
+0272 hank-noctigon-dm11-nofet attiny1634
+0273 hank-noctigon-dm11-boost attiny1634
+0274 hank-noctigon-dm11-sbt90 attiny1634
+0311 lumintop-fw3a attiny85
+0312 lumintop-fw3a-219 attiny85
+0313 lumintop-fw3a-nofet attiny85
+0314 lumintop-fw3x-lume1 attiny1634
+0321 lumintop-blf-gt attiny85
+0322 lumintop-blf-gt-mini attiny85
+0411 fireflies-rot66 attiny85
+0412 fireflies-rot66-219 attiny85
+0413 fireflies-rot66g2 attiny85
+0421 fireflies-pl47 attiny85
+0422 fireflies-pl47-219 attiny85
+0423 fireflies-pl47g2 attiny85
+0441 fireflies-e01 attiny85
0511 mateminco-mf01s attiny85
0521 mateminco-mf01-mini attiny85
0531 mateminco-mt35-mini attiny85
-0611 blf-q8 attiny85
+0611 sofirn-blf-q8 attiny85
0612 sofirn-sp36 attiny85
-0613 blf-q8-t1616 attiny1616
+0613 sofirn-blf-q8-t1616 attiny1616
0614 sofirn-sp36-t1616 attiny1616
-0621 blf-lantern attiny85
-0622 blf-lantern-t1616 attiny1616
+0621 sofirn-blf-lt1 attiny85
+0622 sofirn-blf-lt1-t1616 attiny1616
0623 sofirn-lt1s-pro attiny1616
0631 sofirn-sp10-pro attiny1616
0632 sofirn-sc21-pro attiny1616
diff --git a/bin/build-all.sh b/bin/build-all.sh
index 582ed87..2d443a5 100755
--- a/bin/build-all.sh
+++ b/bin/build-all.sh
@@ -1,4 +1,7 @@
#!/bin/sh
+# Anduril / FSM build wrapper script
+# Copyright (C) 2017-2023 Selene ToyKeeper
+# SPDX-License-Identifier: GPL-3.0-or-later
# Usage: build-all.sh [pattern]
# If pattern given, only build targets which match.
@@ -41,10 +44,6 @@ for TARGET in $( find hw/*/*/ -name "$UI".h ) ; do
# announce what we're going to build
echo "===== $UI : $NAME ====="
- # figure out MCU type
- #ATTINY=$(grep 'ATTINY:' $TARGET | awk '{ print $3 }')
- #if [ -z "$ATTINY" ]; then ATTINY=85 ; fi
-
# try to compile
bin/build.sh "$TARGET"
diff --git a/bin/build-tiny13.sh b/bin/build-tiny13.sh
deleted file mode 100755
index d4b492f..0000000
--- a/bin/build-tiny13.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/bash
-
-BASEDIR=$(dirname "$0")
-$BASEDIR/build.sh 13 $*
diff --git a/bin/build-tiny25.sh b/bin/build-tiny25.sh
deleted file mode 100755
index 779f1ef..0000000
--- a/bin/build-tiny25.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/bash
-
-BASEDIR=$(dirname "$0")
-$BASEDIR/build.sh 25 $*
diff --git a/bin/build-tiny85.sh b/bin/build-tiny85.sh
deleted file mode 100755
index 6ee8397..0000000
--- a/bin/build-tiny85.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/bash
-
-BASEDIR=$(dirname "$0")
-$BASEDIR/build.sh 85 $*
diff --git a/bin/build.sh b/bin/build.sh
index 41abfc7..8743260 100755
--- a/bin/build.sh
+++ b/bin/build.sh
@@ -1,4 +1,7 @@
#!/bin/bash
+# Anduril / FSM build script
+# Copyright (C) 2014-2023 Selene ToyKeeper
+# SPDX-License-Identifier: GPL-3.0-or-later
# Instead of using a Makefile, since most of the firmwares here build in the
# same exact way, here's a script to do the same thing
@@ -12,12 +15,16 @@ fi
TARGET=$1 ; shift
UI=$(basename $TARGET .h)
+MODEL=$(dirname $TARGET)
+PROGRAM="ui/$UI/$UI"
-ATTINY=$(grep 'ATTINY:' $TARGET | awk '{ print $3 }')
-if [ -z "$ATTINY" ]; then ATTINY=85 ; fi
+# figure out the model number
+MODEL_NUMBER=$(head -1 $MODEL/model)
-PROGRAM="ui/$UI/$UI"
+# figure out the MCU type and set some vars
+eval $( bin/detect-mcu.sh "$TARGET" )
+# TODO: add support for AVR DD
# give a more useful error message when AVR DFP is needed but not installed
# (Atmel ATtiny device family pack, for attiny1616 support)
# http://packs.download.atmel.com/
@@ -31,21 +38,20 @@ if [[ $SERIES1 =~ " $ATTINY " ]]; then
fi
fi
-export MCU=attiny$ATTINY
export CC=avr-gcc
export CPP=avr-cpp
export OBJCOPY=avr-objcopy
-export DFPFLAGS="-B $ATTINY_DFP/gcc/dev/$MCU/ -I $ATTINY_DFP/include/"
+export DFPFLAGS="-B $ATTINY_DFP/gcc/dev/$MCUNAME/ -I $ATTINY_DFP/include/"
# TODO: include $user/ first so it can override other stuff
INCLUDES="-I ui -I hw -I. -I.. -I../.. -I../../.."
-export CFLAGS=" -Wall -g -Os -mmcu=$MCU -c -std=gnu99 -fgnu89-inline -fwhole-program -DATTINY=$ATTINY $INCLUDES -fshort-enums $DFPFLAGS"
-export CPPFLAGS="-Wall -g -Os -mmcu=$MCU -C -std=gnu99 -fgnu89-inline -fwhole-program -DATTINY=$ATTINY $INCLUDES -fshort-enums $DFPFLAGS"
-export OFLAGS="-Wall -g -Os -mmcu=$MCU -mrelax $DFPFLAGS"
+export CFLAGS=" -Wall -g -Os -mmcu=$MCUNAME -c -std=gnu99 -fgnu89-inline -fwhole-program $MCUFLAGS $INCLUDES -fshort-enums $DFPFLAGS"
+export CPPFLAGS="-Wall -g -Os -mmcu=$MCUNAME -C -std=gnu99 -fgnu89-inline -fwhole-program $MCUFLAGS $INCLUDES -fshort-enums $DFPFLAGS"
+export OFLAGS="-Wall -g -Os -mmcu=$MCUNAME -mrelax $DFPFLAGS"
export LDFLAGS="-fgnu89-inline"
export OBJCOPYFLAGS='--set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex --remove-section .fuse'
export OBJS=$PROGRAM.o
-OTHERFLAGS="-DCFG_H=$TARGET"
+OTHERFLAGS="-DCFG_H=$TARGET -DMODEL_NUMBER=\"$MODEL_NUMBER\""
for arg in "$*" ; do
OTHERFLAGS="$OTHERFLAGS $arg"
done
@@ -63,5 +69,5 @@ run $CC $OTHERFLAGS $CFLAGS -o $PROGRAM.o -c $PROGRAM.c
run $CC $OFLAGS $LDFLAGS -o $PROGRAM.elf $PROGRAM.o
run $OBJCOPY $OBJCOPYFLAGS $PROGRAM.elf $PROGRAM.hex
# deprecated
-#run avr-size -C --mcu=$MCU $PROGRAM.elf | grep Full
+#run avr-size -C --mcu=$MCUNAME $PROGRAM.elf | grep Full
run avr-objdump -Pmem-usage $PROGRAM.elf | grep -E 'Full|Device' | sed 's/^/ /;'
diff --git a/bin/detect-mcu.sh b/bin/detect-mcu.sh
new file mode 100755
index 0000000..fa3a926
--- /dev/null
+++ b/bin/detect-mcu.sh
@@ -0,0 +1,41 @@
+#!/bin/sh
+# Anduril / FSM MCU type detection script
+# Copyright (C) 2014-2023 Selene ToyKeeper
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+if [ -z "$1" ]; then
+ echo "Usage: detect-mcu.sh FILE"
+ echo "or: eval $(detect-mcu.sh FILE)"
+ echo "Example: detect-mcu.sh hw/hank/emisar-d4/anduril.h"
+ echo "Figures out which MCU a build uses, and sets env vars for it"
+ exit
+fi
+
+TARGET=$1
+while [ -n "$TARGET" ]; do
+ #echo "... $TARGET"
+ if [ -f "$TARGET" ]; then # use the dir/$UI.h file
+ ATTINY=$(grep 'ATTINY:' $TARGET | awk '{ print $3 }')
+ if [ -n "$ATTINY" ]; then
+ echo "export MCUNAME=attiny${ATTINY}"
+ echo "export MCU=0x${ATTINY}"
+ echo "export ATTINY=${ATTINY}"
+ echo "export MCUFLAGS=\"-DMCUNAME=attiny${ATTINY} -DMCU=0x${ATTINY} -DATTINY=${ATTINY}\""
+ exit
+ fi
+ else # use the dir/arch file
+ if [ -f "${TARGET}/arch" ]; then
+ MCU=$(head -1 "${TARGET}/arch")
+ if [ -n "$MCU" ]; then
+ NUM=$( echo "$MCU" | sed 's/^avr//; s/^attiny//;' )
+ echo "export MCUNAME=${MCU}"
+ echo "export MCU=0x${NUM}"
+ echo "export ATTINY=${NUM}"
+ echo "export MCUFLAGS=\"-DMCUNAME=${MCU} -DMCU=0x${NUM} -DATTINY=${NUM}\""
+ exit
+ fi
+ fi
+ fi
+ TARGET=$(dirname $TARGET)
+done
+
diff --git a/bin/models.py b/bin/models.py
index 1985352..8e54d1c 100755
--- a/bin/models.py
+++ b/bin/models.py
@@ -10,33 +10,37 @@ def main(args):
models = []
# load all cfg-*.h files
- paths = os.listdir('.')
- for p in paths:
- if p.startswith('cfg-') and p.endswith('.h'):
- m = load_cfg(p)
- models.append(m)
+ for p, dirs, files in os.walk('hw'):
+ for d in dirs:
+ if '/' not in p: # skip top-level brand dirs
+ continue
+ #print('... %s' % d)
+ m = load_model(os.path.join(p, d))
+ if m.mcu and m.model:
+ models.append(m)
# sort by model number
- foo = [(m.num, m.name, m) for m in models]
+ foo = [(m.model, m.name, m) for m in models]
foo.sort()
models = [x[-1] for x in foo]
+ print('Models: %i\n' % len(models))
fmt = '%s\t%-30s\t%s'
print(fmt % ('Model', 'Name', 'MCU'))
print(fmt % ('-----', '----', '---'))
for m in models:
- print(fmt % (m.num, m.name, m.attiny))
+ print(fmt % (m.model, m.name, m.mcu))
print('\nDuplicates:')
for i, m in enumerate(models):
for m2 in models[i+1:]:
- #if (m.num == m2.num) and (m is not m2):
- if m.num == m2.num:
- print('%s\t%s, %s' % (m.num, m.name, m2.name))
+ #if (m.model == m2.model) and (m is not m2):
+ if m.model == m2.model:
+ print('%s\t%s, %s' % (m.model, m.name, m2.name))
print('\nMissing:')
for m in models:
- if not m.num:
+ if not m.model:
print(m.name)
@@ -44,27 +48,31 @@ class Empty:
pass
-def load_cfg(path):
+def load_model(path):
+ #print('load_model(%s)' % path)
m = Empty()
- m.name, m.num, m.attiny = '', '', 'attiny85'
-
- m.name = path.replace('cfg-', '').replace('.h', '')
-
- num_pat = re.compile(r'#define\s+MODEL_NUMBER\s+"(\d+)"')
- mcu_pat = re.compile(r'ATTINY:\s+(\d+)')
- # TODO? use C preprocessor to generate more complete file to scan
- with open(path) as fp:
- for line in fp:
- found = num_pat.search(line)
- if found:
- m.num = found.group(1)
- found = mcu_pat.search(line)
- if found:
- m.attiny = 'attiny' + found.group(1)
+ m.name, m.model, m.mcu = '', '', '???'
+
+ m.name = path.replace('hw/','').replace('/', '-')
+ m.mcu = inherit(path, 'arch')
+ m.model = inherit(path, 'model')
return m
+def inherit(path, field):
+ #print('inherit(%s, %s)' % (path, field))
+ check = os.path.join(path, field)
+ if os.path.exists(check):
+ line = open(check).readline().strip()
+ return line
+ else:
+ parent = os.path.join(*os.path.split(path)[:-1])
+ if parent:
+ return inherit(parent, field)
+ return None
+
+
if __name__ == "__main__":
import sys
main(sys.argv[1:])
diff --git a/hw/fireflies/arch b/hw/fireflies/arch
new file mode 100644
index 0000000..d16b0f8
--- /dev/null
+++ b/hw/fireflies/arch
@@ -0,0 +1 @@
+attiny85
diff --git a/hw/fireflies/e01/anduril.h b/hw/fireflies/e01/anduril.h
index cae5d14..be745a1 100644
--- a/hw/fireflies/e01/anduril.h
+++ b/hw/fireflies/e01/anduril.h
@@ -3,9 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0441"
#include "fireflies/pl47/hwdef.h"
-// ATTINY: 85
// disable indicator LED; it's hardwired
#ifdef USE_INDICATOR_LED
diff --git a/hw/fireflies/e01/model b/hw/fireflies/e01/model
new file mode 100644
index 0000000..25de1eb
--- /dev/null
+++ b/hw/fireflies/e01/model
@@ -0,0 +1 @@
+0441
diff --git a/hw/fireflies/pl47/219/anduril.h b/hw/fireflies/pl47/219/anduril.h
index 28882bc..5a70916 100644
--- a/hw/fireflies/pl47/219/anduril.h
+++ b/hw/fireflies/pl47/219/anduril.h
@@ -6,8 +6,6 @@
// same as PL47 but with FET modes limited to 67% power
// to avoid destroying the LEDs
#include "fireflies/pl47/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0422"
#undef PWM1_LEVELS
#undef PWM2_LEVELS
diff --git a/hw/fireflies/pl47/219/model b/hw/fireflies/pl47/219/model
new file mode 100644
index 0000000..fcfd89b
--- /dev/null
+++ b/hw/fireflies/pl47/219/model
@@ -0,0 +1 @@
+0422
diff --git a/hw/fireflies/pl47/anduril.h b/hw/fireflies/pl47/anduril.h
index 315eea2..35e4f45 100644
--- a/hw/fireflies/pl47/anduril.h
+++ b/hw/fireflies/pl47/anduril.h
@@ -3,9 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0421"
#include "fireflies/pl47/hwdef.h"
-// ATTINY: 85
// the button lights up
#define USE_INDICATOR_LED
diff --git a/hw/fireflies/pl47/model b/hw/fireflies/pl47/model
new file mode 100644
index 0000000..7520ff4
--- /dev/null
+++ b/hw/fireflies/pl47/model
@@ -0,0 +1 @@
+0421
diff --git a/hw/fireflies/pl47g2/anduril.h b/hw/fireflies/pl47g2/anduril.h
index e64289e..060087c 100644
--- a/hw/fireflies/pl47g2/anduril.h
+++ b/hw/fireflies/pl47g2/anduril.h
@@ -3,9 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0423"
#include "fireflies/pl47/hwdef.h"
-// ATTINY: 85
// the button lights up
#define USE_INDICATOR_LED
diff --git a/hw/fireflies/pl47g2/model b/hw/fireflies/pl47g2/model
new file mode 100644
index 0000000..885f7f4
--- /dev/null
+++ b/hw/fireflies/pl47g2/model
@@ -0,0 +1 @@
+0423
diff --git a/hw/fireflies/rot66/219/anduril.h b/hw/fireflies/rot66/219/anduril.h
index f115541..172df19 100644
--- a/hw/fireflies/rot66/219/anduril.h
+++ b/hw/fireflies/rot66/219/anduril.h
@@ -5,8 +5,6 @@
// same as regular ROT66, but calibrated for Nichia 219B with 7x7135 chips
#include "fireflies/rot66/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0412"
// driver is a FET+N+1,
// where N=6 for the 219b version
diff --git a/hw/fireflies/rot66/219/model b/hw/fireflies/rot66/219/model
new file mode 100644
index 0000000..893a847
--- /dev/null
+++ b/hw/fireflies/rot66/219/model
@@ -0,0 +1 @@
+0412
diff --git a/hw/fireflies/rot66/anduril.h b/hw/fireflies/rot66/anduril.h
index 5184513..ec26ae1 100644
--- a/hw/fireflies/rot66/anduril.h
+++ b/hw/fireflies/rot66/anduril.h
@@ -3,7 +3,6 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0411"
#include "fireflies/rot66/hwdef.h"
// the button lights up
diff --git a/hw/fireflies/rot66/model b/hw/fireflies/rot66/model
new file mode 100644
index 0000000..241c2a1
--- /dev/null
+++ b/hw/fireflies/rot66/model
@@ -0,0 +1 @@
+0411
diff --git a/hw/fireflies/rot66g2/anduril.h b/hw/fireflies/rot66g2/anduril.h
index bf47065..d24bd93 100644
--- a/hw/fireflies/rot66g2/anduril.h
+++ b/hw/fireflies/rot66g2/anduril.h
@@ -4,8 +4,6 @@
#pragma once
#include "fireflies/rot66/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0413"
// if the "low" mode was disabled, turn it back on
#ifdef INDICATOR_LED_SKIP_LOW
diff --git a/hw/fireflies/rot66g2/model b/hw/fireflies/rot66g2/model
new file mode 100644
index 0000000..1cd9bca
--- /dev/null
+++ b/hw/fireflies/rot66g2/model
@@ -0,0 +1 @@
+0413
diff --git a/hw/gchart/fet1-t1616/anduril.h b/hw/gchart/fet1-t1616/anduril.h
index 1b5cf05..1323162 100644
--- a/hw/gchart/fet1-t1616/anduril.h
+++ b/hw/gchart/fet1-t1616/anduril.h
@@ -3,9 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "1618" // Golden Ratio... because I can
#include "gchart/fet1-t1616/hwdef.h"
-// ATTINY: 1616
// the button lights up
#define USE_INDICATOR_LED
diff --git a/hw/gchart/fet1-t1616/arch b/hw/gchart/fet1-t1616/arch
new file mode 100644
index 0000000..cda1996
--- /dev/null
+++ b/hw/gchart/fet1-t1616/arch
@@ -0,0 +1 @@
+attiny1616
diff --git a/hw/gchart/fet1-t1616/hwdef.h b/hw/gchart/fet1-t1616/hwdef.h
index 74d8d47..ac4fd53 100644
--- a/hw/gchart/fet1-t1616/hwdef.h
+++ b/hw/gchart/fet1-t1616/hwdef.h
@@ -11,7 +11,6 @@
* Read voltage from VCC pin, has diode with ~0.4v drop
*/
-#define ATTINY 1616
#include <avr/io.h>
// nearly all t1616-based FET+1 drivers work pretty much the same
diff --git a/hw/gchart/fet1-t1616/model b/hw/gchart/fet1-t1616/model
new file mode 100644
index 0000000..871215b
--- /dev/null
+++ b/hw/gchart/fet1-t1616/model
@@ -0,0 +1 @@
+1618
diff --git a/hw/hank/emisar-2ch/anduril.h b/hw/hank/emisar-2ch/anduril.h
index 2e87151..4693cb1 100644
--- a/hw/hank/emisar-2ch/anduril.h
+++ b/hw/hank/emisar-2ch/anduril.h
@@ -3,10 +3,8 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0135"
#include "hank/emisar-2ch/hwdef.h"
#include "hank/anduril.h"
-// ATTINY: 1634
// this light has three aux LED channels: R, G, B
#define USE_AUX_RGB_LEDS
diff --git a/hw/hank/emisar-2ch/arch b/hw/hank/emisar-2ch/arch
new file mode 100644
index 0000000..5d99bab
--- /dev/null
+++ b/hw/hank/emisar-2ch/arch
@@ -0,0 +1 @@
+attiny1634
diff --git a/hw/hank/emisar-2ch/fet/anduril.h b/hw/hank/emisar-2ch/fet/anduril.h
index 3a9e513..a1d8794 100644
--- a/hw/hank/emisar-2ch/fet/anduril.h
+++ b/hw/hank/emisar-2ch/fet/anduril.h
@@ -3,10 +3,8 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0136"
#include "hank/emisar-2ch/fet/hwdef.h"
#include "hank/anduril.h"
-// ATTINY: 1634
// this light has three aux LED channels: R, G, B
#define USE_AUX_RGB_LEDS
diff --git a/hw/hank/emisar-2ch/fet/hwdef.h b/hw/hank/emisar-2ch/fet/hwdef.h
index 1569d41..0778e10 100644
--- a/hw/hank/emisar-2ch/fet/hwdef.h
+++ b/hw/hank/emisar-2ch/fet/hwdef.h
@@ -32,7 +32,6 @@
* The first channel also has a direct-drive FET for turbo.
*/
-#define ATTINY 1634
#include <avr/io.h>
#define HWDEF_C_FILE hank/emisar-2ch/fet/hwdef.c
diff --git a/hw/hank/emisar-2ch/fet/model b/hw/hank/emisar-2ch/fet/model
new file mode 100644
index 0000000..a7d9419
--- /dev/null
+++ b/hw/hank/emisar-2ch/fet/model
@@ -0,0 +1 @@
+0136
diff --git a/hw/hank/emisar-2ch/hwdef.h b/hw/hank/emisar-2ch/hwdef.h
index e67fac8..e3707c7 100644
--- a/hw/hank/emisar-2ch/hwdef.h
+++ b/hw/hank/emisar-2ch/hwdef.h
@@ -31,7 +31,6 @@
* and one pin to control the Opamp power level.
*/
-#define ATTINY 1634
#include <avr/io.h>
#define HWDEF_C_FILE hank/emisar-2ch/hwdef.c
diff --git a/hw/hank/emisar-2ch/model b/hw/hank/emisar-2ch/model
new file mode 100644
index 0000000..b8db57f
--- /dev/null
+++ b/hw/hank/emisar-2ch/model
@@ -0,0 +1 @@
+0135
diff --git a/hw/hank/emisar-d1/anduril.h b/hw/hank/emisar-d1/anduril.h
index 69b723f..9ed6b64 100644
--- a/hw/hank/emisar-d1/anduril.h
+++ b/hw/hank/emisar-d1/anduril.h
@@ -6,8 +6,6 @@
// same as Emisar D4, mostly
#include "hank/emisar-d4/hwdef.h"
#include "hank/emisar-d4/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0121"
// safe limit ~50% power
#undef SIMPLE_UI_CEIL
diff --git a/hw/hank/emisar-d1/arch b/hw/hank/emisar-d1/arch
new file mode 100644
index 0000000..d16b0f8
--- /dev/null
+++ b/hw/hank/emisar-d1/arch
@@ -0,0 +1 @@
+attiny85
diff --git a/hw/hank/emisar-d1/model b/hw/hank/emisar-d1/model
new file mode 100644
index 0000000..9bc3765
--- /dev/null
+++ b/hw/hank/emisar-d1/model
@@ -0,0 +1 @@
+0121
diff --git a/hw/hank/emisar-d18/219/anduril.h b/hw/hank/emisar-d18/219/anduril.h
index f9e07e4..e1c64cf 100644
--- a/hw/hank/emisar-d18/219/anduril.h
+++ b/hw/hank/emisar-d18/219/anduril.h
@@ -4,8 +4,6 @@
#pragma once
#include "hank/emisar-d18/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0142"
// don't turn off first channels at turbo level
#undef PWM1_LEVELS
diff --git a/hw/hank/emisar-d18/219/model b/hw/hank/emisar-d18/219/model
new file mode 100644
index 0000000..aafa4b3
--- /dev/null
+++ b/hw/hank/emisar-d18/219/model
@@ -0,0 +1 @@
+0142
diff --git a/hw/hank/emisar-d18/anduril.h b/hw/hank/emisar-d18/anduril.h
index 3e7746f..a42b962 100644
--- a/hw/hank/emisar-d18/anduril.h
+++ b/hw/hank/emisar-d18/anduril.h
@@ -3,7 +3,6 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0141"
#include "hank/emisar-d18/hwdef.h"
#include "hank/anduril.h"
diff --git a/hw/hank/emisar-d18/arch b/hw/hank/emisar-d18/arch
new file mode 100644
index 0000000..d16b0f8
--- /dev/null
+++ b/hw/hank/emisar-d18/arch
@@ -0,0 +1 @@
+attiny85
diff --git a/hw/hank/emisar-d18/hwdef.h b/hw/hank/emisar-d18/hwdef.h
index 942c5c0..86c97c2 100644
--- a/hw/hank/emisar-d18/hwdef.h
+++ b/hw/hank/emisar-d18/hwdef.h
@@ -12,7 +12,6 @@
* ----
*/
-#define ATTINY 85
#include <avr/io.h>
#define HWDEF_C_FILE lumintop/fw3a/hwdef.c
diff --git a/hw/hank/emisar-d18/model b/hw/hank/emisar-d18/model
new file mode 100644
index 0000000..a9a1a6e
--- /dev/null
+++ b/hw/hank/emisar-d18/model
@@ -0,0 +1 @@
+0141
diff --git a/hw/hank/emisar-d1s/anduril.h b/hw/hank/emisar-d1s/anduril.h
index 96ba075..b53bc06 100644
--- a/hw/hank/emisar-d1s/anduril.h
+++ b/hw/hank/emisar-d1s/anduril.h
@@ -6,8 +6,6 @@
// same as Emisar D4, mostly
#include "hank/emisar-d4/hwdef.h"
#include "hank/emisar-d4/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0122"
// safe limit ~50% power
#undef SIMPLE_UI_CEIL
diff --git a/hw/hank/emisar-d1s/arch b/hw/hank/emisar-d1s/arch
new file mode 100644
index 0000000..d16b0f8
--- /dev/null
+++ b/hw/hank/emisar-d1s/arch
@@ -0,0 +1 @@
+attiny85
diff --git a/hw/hank/emisar-d1s/model b/hw/hank/emisar-d1s/model
new file mode 100644
index 0000000..fb5886d
--- /dev/null
+++ b/hw/hank/emisar-d1s/model
@@ -0,0 +1 @@
+0122
diff --git a/hw/hank/emisar-d1v2/7135-fet/anduril.h b/hw/hank/emisar-d1v2/7135-fet/anduril.h
index 200f93f..968162a 100644
--- a/hw/hank/emisar-d1v2/7135-fet/anduril.h
+++ b/hw/hank/emisar-d1v2/7135-fet/anduril.h
@@ -3,12 +3,9 @@
// 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 "hank/emisar-d4v2/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0123"
// some models use a simple button LED, others use RGB...
// ... so include support for both
diff --git a/hw/hank/emisar-d1v2/7135-fet/model b/hw/hank/emisar-d1v2/7135-fet/model
new file mode 100644
index 0000000..40381e2
--- /dev/null
+++ b/hw/hank/emisar-d1v2/7135-fet/model
@@ -0,0 +1 @@
+0123
diff --git a/hw/hank/emisar-d1v2/arch b/hw/hank/emisar-d1v2/arch
new file mode 100644
index 0000000..5d99bab
--- /dev/null
+++ b/hw/hank/emisar-d1v2/arch
@@ -0,0 +1 @@
+attiny1634
diff --git a/hw/hank/emisar-d1v2/linear-fet/anduril.h b/hw/hank/emisar-d1v2/linear-fet/anduril.h
index 7131759..1d09001 100644
--- a/hw/hank/emisar-d1v2/linear-fet/anduril.h
+++ b/hw/hank/emisar-d1v2/linear-fet/anduril.h
@@ -4,11 +4,8 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-// ATTINY: 1634
// similar to a Noctigon KR4, sort of
#include "hank/noctigon-kr4/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0124"
// some models use a simple button LED, others use RGB...
// ... so include support for both
diff --git a/hw/hank/emisar-d1v2/linear-fet/model b/hw/hank/emisar-d1v2/linear-fet/model
new file mode 100644
index 0000000..0e92a1c
--- /dev/null
+++ b/hw/hank/emisar-d1v2/linear-fet/model
@@ -0,0 +1 @@
+0124
diff --git a/hw/hank/emisar-d1v2/nofet/anduril.h b/hw/hank/emisar-d1v2/nofet/anduril.h
index eae6215..1c320e7 100644
--- a/hw/hank/emisar-d1v2/nofet/anduril.h
+++ b/hw/hank/emisar-d1v2/nofet/anduril.h
@@ -4,11 +4,8 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-// ATTINY: 1634
// similar to a Noctigon KR4, sort of
#include "hank/noctigon-kr4/nofet/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0125"
// some models use a simple button LED, others use RGB...
// ... so include support for both
diff --git a/hw/hank/emisar-d1v2/nofet/model b/hw/hank/emisar-d1v2/nofet/model
new file mode 100644
index 0000000..6f55c26
--- /dev/null
+++ b/hw/hank/emisar-d1v2/nofet/model
@@ -0,0 +1 @@
+0125
diff --git a/hw/hank/emisar-d4/219/anduril.h b/hw/hank/emisar-d4/219/anduril.h
index ff6f1f1..d56ac66 100644
--- a/hw/hank/emisar-d4/219/anduril.h
+++ b/hw/hank/emisar-d4/219/anduril.h
@@ -6,8 +6,6 @@
// same as D4 but with FET modes limited to 80% power
// to avoid destroying the LEDs
#include "hank/emisar-d4/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0112"
// don't turn off first channel at turbo level
#undef PWM1_LEVELS
diff --git a/hw/hank/emisar-d4/219/model b/hw/hank/emisar-d4/219/model
new file mode 100644
index 0000000..d9cf734
--- /dev/null
+++ b/hw/hank/emisar-d4/219/model
@@ -0,0 +1 @@
+0112
diff --git a/hw/hank/emisar-d4/anduril.h b/hw/hank/emisar-d4/anduril.h
index 60919f9..1da45db 100644
--- a/hw/hank/emisar-d4/anduril.h
+++ b/hw/hank/emisar-d4/anduril.h
@@ -3,10 +3,8 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0111"
#include "hank/emisar-d4/hwdef.h"
#include "hank/anduril.h"
-// ATTINY: 85
#define RAMP_SIZE 150
diff --git a/hw/hank/emisar-d4/arch b/hw/hank/emisar-d4/arch
new file mode 100644
index 0000000..d16b0f8
--- /dev/null
+++ b/hw/hank/emisar-d4/arch
@@ -0,0 +1 @@
+attiny85
diff --git a/hw/hank/emisar-d4/hwdef.h b/hw/hank/emisar-d4/hwdef.h
index ffdcbfd..55ef72e 100644
--- a/hw/hank/emisar-d4/hwdef.h
+++ b/hw/hank/emisar-d4/hwdef.h
@@ -12,7 +12,6 @@
* ----
*/
-#define ATTINY 85
#include <avr/io.h>
#define HWDEF_C_FILE hank/emisar-d4/hwdef.c
diff --git a/hw/hank/emisar-d4/model b/hw/hank/emisar-d4/model
new file mode 100644
index 0000000..a106d0c
--- /dev/null
+++ b/hw/hank/emisar-d4/model
@@ -0,0 +1 @@
+0111
diff --git a/hw/hank/emisar-d4k-3ch/anduril.h b/hw/hank/emisar-d4k-3ch/anduril.h
index 64cc93b..722fa89 100644
--- a/hw/hank/emisar-d4k-3ch/anduril.h
+++ b/hw/hank/emisar-d4k-3ch/anduril.h
@@ -3,10 +3,8 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0151"
#include "hank/emisar-d4k-3ch/hwdef.h"
#include "hank/anduril.h"
-// ATTINY: 1634
// this light has three aux LED channels: R, G, B
#define USE_AUX_RGB_LEDS
diff --git a/hw/hank/emisar-d4k-3ch/arch b/hw/hank/emisar-d4k-3ch/arch
new file mode 100644
index 0000000..5d99bab
--- /dev/null
+++ b/hw/hank/emisar-d4k-3ch/arch
@@ -0,0 +1 @@
+attiny1634
diff --git a/hw/hank/emisar-d4k-3ch/hwdef.h b/hw/hank/emisar-d4k-3ch/hwdef.h
index 81a64ed..7cfe699 100644
--- a/hw/hank/emisar-d4k-3ch/hwdef.h
+++ b/hw/hank/emisar-d4k-3ch/hwdef.h
@@ -35,7 +35,6 @@
* So this code should support both wire layouts.
*/
-#define ATTINY 1634
#include <avr/io.h>
#define HWDEF_C_FILE hank/emisar-d4k-3ch/hwdef.c
diff --git a/hw/hank/emisar-d4k-3ch/model b/hw/hank/emisar-d4k-3ch/model
new file mode 100644
index 0000000..aacfeca
--- /dev/null
+++ b/hw/hank/emisar-d4k-3ch/model
@@ -0,0 +1 @@
+0151
diff --git a/hw/hank/emisar-d4s/219/anduril.h b/hw/hank/emisar-d4s/219/anduril.h
index 81ce6f3..7d9503b 100644
--- a/hw/hank/emisar-d4s/219/anduril.h
+++ b/hw/hank/emisar-d4s/219/anduril.h
@@ -6,8 +6,6 @@
// same as D4S but with FET modes limited to 80% power
// to avoid destroying the LEDs
#include "hank/emisar-d4s/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0132"
// don't turn off first channel at turbo level
#undef PWM1_LEVELS
diff --git a/hw/hank/emisar-d4s/219/model b/hw/hank/emisar-d4s/219/model
new file mode 100644
index 0000000..2c9caac
--- /dev/null
+++ b/hw/hank/emisar-d4s/219/model
@@ -0,0 +1 @@
+0132
diff --git a/hw/hank/emisar-d4s/anduril.h b/hw/hank/emisar-d4s/anduril.h
index 0efe107..3f53cc9 100644
--- a/hw/hank/emisar-d4s/anduril.h
+++ b/hw/hank/emisar-d4s/anduril.h
@@ -3,10 +3,8 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0131"
#include "hank/emisar-d4s/hwdef.h"
#include "hank/anduril.h"
-// ATTINY: 85
// the button lights up (on some models)
#define USE_INDICATOR_LED
diff --git a/hw/hank/emisar-d4s/arch b/hw/hank/emisar-d4s/arch
new file mode 100644
index 0000000..d16b0f8
--- /dev/null
+++ b/hw/hank/emisar-d4s/arch
@@ -0,0 +1 @@
+attiny85
diff --git a/hw/hank/emisar-d4s/model b/hw/hank/emisar-d4s/model
new file mode 100644
index 0000000..7063c46
--- /dev/null
+++ b/hw/hank/emisar-d4s/model
@@ -0,0 +1 @@
+0131
diff --git a/hw/hank/emisar-d4sv2/219/anduril.h b/hw/hank/emisar-d4sv2/219/anduril.h
index 71815c4..2726460 100644
--- a/hw/hank/emisar-d4sv2/219/anduril.h
+++ b/hw/hank/emisar-d4sv2/219/anduril.h
@@ -4,9 +4,6 @@
#pragma once
#include "hank/emisar-d4sv2/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0134"
-// ATTINY: 1634
// don't turn off first channel at turbo level
#undef PWM1_LEVELS
diff --git a/hw/hank/emisar-d4sv2/219/model b/hw/hank/emisar-d4sv2/219/model
new file mode 100644
index 0000000..73ccc29
--- /dev/null
+++ b/hw/hank/emisar-d4sv2/219/model
@@ -0,0 +1 @@
+0134
diff --git a/hw/hank/emisar-d4sv2/anduril.h b/hw/hank/emisar-d4sv2/anduril.h
index 7f93510..139baf3 100644
--- a/hw/hank/emisar-d4sv2/anduril.h
+++ b/hw/hank/emisar-d4sv2/anduril.h
@@ -3,10 +3,8 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0133"
#include "hank/emisar-d4sv2/hwdef.h"
#include "hank/anduril.h"
-// ATTINY: 1634
#define RAMP_SIZE 150
diff --git a/hw/hank/emisar-d4sv2/arch b/hw/hank/emisar-d4sv2/arch
new file mode 100644
index 0000000..5d99bab
--- /dev/null
+++ b/hw/hank/emisar-d4sv2/arch
@@ -0,0 +1 @@
+attiny1634
diff --git a/hw/hank/emisar-d4sv2/hwdef.h b/hw/hank/emisar-d4sv2/hwdef.h
index 3dae90d..d1e0452 100644
--- a/hw/hank/emisar-d4sv2/hwdef.h
+++ b/hw/hank/emisar-d4sv2/hwdef.h
@@ -30,7 +30,6 @@
* ADC12 thermal sensor
*/
-#define ATTINY 1634
#include <avr/io.h>
#define HWDEF_C_FILE hank/emisar-d4sv2/hwdef.c
diff --git a/hw/hank/emisar-d4sv2/model b/hw/hank/emisar-d4sv2/model
new file mode 100644
index 0000000..61c3188
--- /dev/null
+++ b/hw/hank/emisar-d4sv2/model
@@ -0,0 +1 @@
+0133
diff --git a/hw/hank/emisar-d4v2/219/anduril.h b/hw/hank/emisar-d4v2/219/anduril.h
index 1022a04..d4cd7c9 100644
--- a/hw/hank/emisar-d4v2/219/anduril.h
+++ b/hw/hank/emisar-d4v2/219/anduril.h
@@ -4,9 +4,6 @@
#pragma once
#include "hank/emisar-d4v2/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0114"
-// ATTINY: 1634
// don't turn off the low channel at turbo level
#undef LOW_PWM_LEVELS
diff --git a/hw/hank/emisar-d4v2/219/model b/hw/hank/emisar-d4v2/219/model
new file mode 100644
index 0000000..8b42d66
--- /dev/null
+++ b/hw/hank/emisar-d4v2/219/model
@@ -0,0 +1 @@
+0114
diff --git a/hw/hank/emisar-d4v2/anduril.h b/hw/hank/emisar-d4v2/anduril.h
index 053db32..7ab5152 100644
--- a/hw/hank/emisar-d4v2/anduril.h
+++ b/hw/hank/emisar-d4v2/anduril.h
@@ -3,10 +3,8 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0113"
#include "hank/emisar-d4v2/hwdef.h"
#include "hank/anduril.h"
-// ATTINY: 1634
#define RAMP_SIZE 150
diff --git a/hw/hank/emisar-d4v2/arch b/hw/hank/emisar-d4v2/arch
new file mode 100644
index 0000000..5d99bab
--- /dev/null
+++ b/hw/hank/emisar-d4v2/arch
@@ -0,0 +1 @@
+attiny1634
diff --git a/hw/hank/emisar-d4v2/hwdef.h b/hw/hank/emisar-d4v2/hwdef.h
index bda49bc..9e3f755 100644
--- a/hw/hank/emisar-d4v2/hwdef.h
+++ b/hw/hank/emisar-d4v2/hwdef.h
@@ -28,7 +28,6 @@
* ADC12 thermal sensor
*/
-#define ATTINY 1634
#include <avr/io.h>
#ifndef HWDEF_C_FILE
diff --git a/hw/hank/emisar-d4v2/model b/hw/hank/emisar-d4v2/model
new file mode 100644
index 0000000..d07a457
--- /dev/null
+++ b/hw/hank/emisar-d4v2/model
@@ -0,0 +1 @@
+0113
diff --git a/hw/hank/emisar-d4v2/nofet/anduril.h b/hw/hank/emisar-d4v2/nofet/anduril.h
index b0a9960..b5f9304 100644
--- a/hw/hank/emisar-d4v2/nofet/anduril.h
+++ b/hw/hank/emisar-d4v2/nofet/anduril.h
@@ -7,9 +7,6 @@
#define HWDEF_C_FILE hank/emisar-d4v2/nofet/hwdef.c
#include "hank/emisar-d4v2/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0115"
-// ATTINY: 1634
// the ramp uses only 1x7135 chip, max ~130 lm
#undef PWM_CHANNELS
diff --git a/hw/hank/emisar-d4v2/nofet/model b/hw/hank/emisar-d4v2/nofet/model
new file mode 100644
index 0000000..b128369
--- /dev/null
+++ b/hw/hank/emisar-d4v2/nofet/model
@@ -0,0 +1 @@
+0115
diff --git a/hw/hank/noctigon-dm11/anduril.h b/hw/hank/noctigon-dm11/anduril.h
index f588b03..3524f03 100644
--- a/hw/hank/noctigon-dm11/anduril.h
+++ b/hw/hank/noctigon-dm11/anduril.h
@@ -3,10 +3,8 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0271"
#include "hank/noctigon-dm11/hwdef.h"
#include "hank/anduril.h"
-// ATTINY: 1634
// this light has three aux LED channels: R, G, B
#define USE_AUX_RGB_LEDS
diff --git a/hw/hank/noctigon-dm11/arch b/hw/hank/noctigon-dm11/arch
new file mode 100644
index 0000000..5d99bab
--- /dev/null
+++ b/hw/hank/noctigon-dm11/arch
@@ -0,0 +1 @@
+attiny1634
diff --git a/hw/hank/noctigon-dm11/boost/anduril.h b/hw/hank/noctigon-dm11/boost/anduril.h
index 7b62173..a12c158 100644
--- a/hw/hank/noctigon-dm11/boost/anduril.h
+++ b/hw/hank/noctigon-dm11/boost/anduril.h
@@ -3,10 +3,8 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0273"
#include "hank/noctigon-dm11/boost/hwdef.h"
#include "hank/anduril.h"
-// ATTINY: 1634
#define RAMP_SIZE 150
diff --git a/hw/hank/noctigon-dm11/boost/hwdef.h b/hw/hank/noctigon-dm11/boost/hwdef.h
index 513d32f..5ac2daf 100644
--- a/hw/hank/noctigon-dm11/boost/hwdef.h
+++ b/hw/hank/noctigon-dm11/boost/hwdef.h
@@ -36,7 +36,6 @@
* not to change brightness.
*/
-#define ATTINY 1634
#include <avr/io.h>
#define HWDEF_C_FILE hank/noctigon-dm11/boost/hwdef.c
diff --git a/hw/hank/noctigon-dm11/boost/model b/hw/hank/noctigon-dm11/boost/model
new file mode 100644
index 0000000..451ce28
--- /dev/null
+++ b/hw/hank/noctigon-dm11/boost/model
@@ -0,0 +1 @@
+0273
diff --git a/hw/hank/noctigon-dm11/hwdef.h b/hw/hank/noctigon-dm11/hwdef.h
index 9ce5629..cd21eae 100644
--- a/hw/hank/noctigon-dm11/hwdef.h
+++ b/hw/hank/noctigon-dm11/hwdef.h
@@ -37,7 +37,6 @@
* Some models also have a direct-drive FET for turbo.
*/
-#define ATTINY 1634
#include <avr/io.h>
#ifndef HWDEF_C_FILE
diff --git a/hw/hank/noctigon-dm11/model b/hw/hank/noctigon-dm11/model
new file mode 100644
index 0000000..31171cd
--- /dev/null
+++ b/hw/hank/noctigon-dm11/model
@@ -0,0 +1 @@
+0271
diff --git a/hw/hank/noctigon-dm11/nofet/anduril.h b/hw/hank/noctigon-dm11/nofet/anduril.h
index 6d6af70..12336f1 100644
--- a/hw/hank/noctigon-dm11/nofet/anduril.h
+++ b/hw/hank/noctigon-dm11/nofet/anduril.h
@@ -6,9 +6,6 @@
// same support functions as a KR4
#define HWDEF_C_FILE hank/noctigon-kr4/nofet/hwdef.c
#include "hank/noctigon-dm11/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0272"
-// ATTINY: 1634
// turn off the DD FET
#undef PWM_CHANNELS
diff --git a/hw/hank/noctigon-dm11/nofet/model b/hw/hank/noctigon-dm11/nofet/model
new file mode 100644
index 0000000..f394182
--- /dev/null
+++ b/hw/hank/noctigon-dm11/nofet/model
@@ -0,0 +1 @@
+0272
diff --git a/hw/hank/noctigon-dm11/sbt90/anduril.h b/hw/hank/noctigon-dm11/sbt90/anduril.h
index 8c0d1de..4fe58bf 100644
--- a/hw/hank/noctigon-dm11/sbt90/anduril.h
+++ b/hw/hank/noctigon-dm11/sbt90/anduril.h
@@ -4,9 +4,6 @@
#pragma once
#include "hank/noctigon-kr4/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0274"
-// ATTINY: 1634
// this light has three aux LED channels: R, G, B
#define USE_AUX_RGB_LEDS
diff --git a/hw/hank/noctigon-dm11/sbt90/model b/hw/hank/noctigon-dm11/sbt90/model
new file mode 100644
index 0000000..1eadd7f
--- /dev/null
+++ b/hw/hank/noctigon-dm11/sbt90/model
@@ -0,0 +1 @@
+0274
diff --git a/hw/hank/noctigon-k1/anduril.h b/hw/hank/noctigon-k1/anduril.h
index 115e730..06a9b69 100644
--- a/hw/hank/noctigon-k1/anduril.h
+++ b/hw/hank/noctigon-k1/anduril.h
@@ -3,11 +3,9 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0251"
// (originally known as Emisar D1S v2)
#include "hank/noctigon-k1/hwdef.h"
#include "hank/anduril.h"
-// ATTINY: 1634
// this light can safely run a bit hotter than most
#undef DEFAULT_THERM_CEIL
diff --git a/hw/hank/noctigon-k1/arch b/hw/hank/noctigon-k1/arch
new file mode 100644
index 0000000..5d99bab
--- /dev/null
+++ b/hw/hank/noctigon-k1/arch
@@ -0,0 +1 @@
+attiny1634
diff --git a/hw/hank/noctigon-k1/boost/anduril.h b/hw/hank/noctigon-k1/boost/anduril.h
index 8d023a6..cfbab16 100644
--- a/hw/hank/noctigon-k1/boost/anduril.h
+++ b/hw/hank/noctigon-k1/boost/anduril.h
@@ -3,10 +3,8 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0253"
#include "hank/noctigon-k1/boost/hwdef.h"
#include "hank/anduril.h"
-// ATTINY: 1634
// Most K1 lights can run hotter than default, but the 12V model
// is known to have issues with the driver itself getting too hot.
diff --git a/hw/hank/noctigon-k1/boost/hwdef.h b/hw/hank/noctigon-k1/boost/hwdef.h
index 20bd47d..951932a 100644
--- a/hw/hank/noctigon-k1/boost/hwdef.h
+++ b/hw/hank/noctigon-k1/boost/hwdef.h
@@ -34,7 +34,6 @@
* not to change brightness.
*/
-#define ATTINY 1634
#include <avr/io.h>
#define HWDEF_C_FILE hank/noctigon-dm11/boost/hwdef.c
diff --git a/hw/hank/noctigon-k1/boost/model b/hw/hank/noctigon-k1/boost/model
new file mode 100644
index 0000000..3b64c1d
--- /dev/null
+++ b/hw/hank/noctigon-k1/boost/model
@@ -0,0 +1 @@
+0253
diff --git a/hw/hank/noctigon-k1/hwdef.h b/hw/hank/noctigon-k1/hwdef.h
index f6e714d..9a68401 100644
--- a/hw/hank/noctigon-k1/hwdef.h
+++ b/hw/hank/noctigon-k1/hwdef.h
@@ -36,7 +36,6 @@
* not to change brightness.
*/
-#define ATTINY 1634
#include <avr/io.h>
#ifndef HWDEF_C_FILE
diff --git a/hw/hank/noctigon-k1/model b/hw/hank/noctigon-k1/model
new file mode 100644
index 0000000..13156be
--- /dev/null
+++ b/hw/hank/noctigon-k1/model
@@ -0,0 +1 @@
+0251
diff --git a/hw/hank/noctigon-k1/sbt90/anduril.h b/hw/hank/noctigon-k1/sbt90/anduril.h
index 4766ce7..6943a0a 100644
--- a/hw/hank/noctigon-k1/sbt90/anduril.h
+++ b/hw/hank/noctigon-k1/sbt90/anduril.h
@@ -4,10 +4,8 @@
#pragma once
// (is a K1 host with a KR4-like driver and a really high-powered LED)
-#define MODEL_NUMBER "0252"
#include "hank/noctigon-k1/sbt90/hwdef.h"
#include "hank/anduril.h"
-// ATTINY: 1634
// this light can safely run a bit hotter than most
#undef DEFAULT_THERM_CEIL
diff --git a/hw/hank/noctigon-k1/sbt90/hwdef.h b/hw/hank/noctigon-k1/sbt90/hwdef.h
index bdea32d..8186b49 100644
--- a/hw/hank/noctigon-k1/sbt90/hwdef.h
+++ b/hw/hank/noctigon-k1/sbt90/hwdef.h
@@ -37,7 +37,6 @@
* Also has a direct-drive FET for turbo.
*/
-#define ATTINY 1634
#include <avr/io.h>
#define HWDEF_C_FILE hank/noctigon-kr4/hwdef.c
diff --git a/hw/hank/noctigon-k1/sbt90/model b/hw/hank/noctigon-k1/sbt90/model
new file mode 100644
index 0000000..0d8949d
--- /dev/null
+++ b/hw/hank/noctigon-k1/sbt90/model
@@ -0,0 +1 @@
+0252
diff --git a/hw/hank/noctigon-k9.3/219/anduril.h b/hw/hank/noctigon-k9.3/219/anduril.h
index 3699277..e4eeae2 100644
--- a/hw/hank/noctigon-k9.3/219/anduril.h
+++ b/hw/hank/noctigon-k9.3/219/anduril.h
@@ -4,9 +4,6 @@
#pragma once
#include "hank/noctigon-k9.3/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0263"
-// ATTINY: 1634
// main LEDs
#undef PWM2_LEVELS
diff --git a/hw/hank/noctigon-k9.3/anduril.h b/hw/hank/noctigon-k9.3/anduril.h
index ad63fa2..9c60f39 100644
--- a/hw/hank/noctigon-k9.3/anduril.h
+++ b/hw/hank/noctigon-k9.3/anduril.h
@@ -3,10 +3,8 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0261"
#include "hank/emisar-2ch/fet/hwdef.h"
#include "hank/anduril.h"
-// ATTINY: 1634
// this light has three aux LED channels: R, G, B
#define USE_AUX_RGB_LEDS
diff --git a/hw/hank/noctigon-k9.3/nofet/anduril.h b/hw/hank/noctigon-k9.3/nofet/anduril.h
index ab0dab6..9556f9a 100644
--- a/hw/hank/noctigon-k9.3/nofet/anduril.h
+++ b/hw/hank/noctigon-k9.3/nofet/anduril.h
@@ -6,7 +6,4 @@
// no functional differences from generic emisar-2ch build
// (just use that one instead, this is only here for legacy reasons)
#include "hank/emisar-2ch/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0262"
-// ATTINY: 1634
diff --git a/hw/hank/noctigon-kr4/219/anduril.h b/hw/hank/noctigon-kr4/219/anduril.h
index cd3e118..b0c85a1 100644
--- a/hw/hank/noctigon-kr4/219/anduril.h
+++ b/hw/hank/noctigon-kr4/219/anduril.h
@@ -4,9 +4,6 @@
#pragma once
#include "hank/noctigon-kr4/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0213"
-// ATTINY: 1634
// don't turn off first channel at turbo level
#undef PWM1_LEVELS
diff --git a/hw/hank/noctigon-kr4/219/model b/hw/hank/noctigon-kr4/219/model
new file mode 100644
index 0000000..ebf3188
--- /dev/null
+++ b/hw/hank/noctigon-kr4/219/model
@@ -0,0 +1 @@
+0213
diff --git a/hw/hank/noctigon-kr4/219b/anduril.h b/hw/hank/noctigon-kr4/219b/anduril.h
index 9c113f9..6e23704 100644
--- a/hw/hank/noctigon-kr4/219b/anduril.h
+++ b/hw/hank/noctigon-kr4/219b/anduril.h
@@ -4,9 +4,6 @@
#pragma once
#include "hank/noctigon-kr4/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0214"
-// ATTINY: 1634
// don't turn off first channel at turbo level
#undef PWM1_LEVELS
diff --git a/hw/hank/noctigon-kr4/219b/model b/hw/hank/noctigon-kr4/219b/model
new file mode 100644
index 0000000..31afea2
--- /dev/null
+++ b/hw/hank/noctigon-kr4/219b/model
@@ -0,0 +1 @@
+0214
diff --git a/hw/hank/noctigon-kr4/2ch/anduril.h b/hw/hank/noctigon-kr4/2ch/anduril.h
index be7c4d0..c750f6d 100644
--- a/hw/hank/noctigon-kr4/2ch/anduril.h
+++ b/hw/hank/noctigon-kr4/2ch/anduril.h
@@ -5,11 +5,8 @@
// (basically the same as Emisar generic 2-channel build,
// but switch on a different pin, and no lighted button)
-// ATTINY: 1634
#include "hank/noctigon-kr4/2ch/hwdef.h"
#include "hank/emisar-2ch/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0215"
// the button doesn't light up
#undef USE_BUTTON_LED
diff --git a/hw/hank/noctigon-kr4/2ch/hwdef.h b/hw/hank/noctigon-kr4/2ch/hwdef.h
index 081fccc..b23c7cc 100644
--- a/hw/hank/noctigon-kr4/2ch/hwdef.h
+++ b/hw/hank/noctigon-kr4/2ch/hwdef.h
@@ -30,7 +30,6 @@
* ADC12 thermal sensor
*/
-#define ATTINY 1634
#include <avr/io.h>
// move the switch to a different pin
diff --git a/hw/hank/noctigon-kr4/2ch/model b/hw/hank/noctigon-kr4/2ch/model
new file mode 100644
index 0000000..684b693
--- /dev/null
+++ b/hw/hank/noctigon-kr4/2ch/model
@@ -0,0 +1 @@
+0215
diff --git a/hw/hank/noctigon-kr4/anduril.h b/hw/hank/noctigon-kr4/anduril.h
index b71f346..c60926b 100644
--- a/hw/hank/noctigon-kr4/anduril.h
+++ b/hw/hank/noctigon-kr4/anduril.h
@@ -4,10 +4,8 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0211"
#include "hank/noctigon-kr4/hwdef.h"
#include "hank/anduril.h"
-// ATTINY: 1634
// brightness w/ SST-20 4000K LEDs:
// 0/1023: 0.35 lm
diff --git a/hw/hank/noctigon-kr4/arch b/hw/hank/noctigon-kr4/arch
new file mode 100644
index 0000000..5d99bab
--- /dev/null
+++ b/hw/hank/noctigon-kr4/arch
@@ -0,0 +1 @@
+attiny1634
diff --git a/hw/hank/noctigon-kr4/boost/anduril.h b/hw/hank/noctigon-kr4/boost/anduril.h
index a3b33ee..160d9c1 100644
--- a/hw/hank/noctigon-kr4/boost/anduril.h
+++ b/hw/hank/noctigon-kr4/boost/anduril.h
@@ -9,8 +9,5 @@
// - different model number
#include "hank/noctigon-dm11/boost/anduril.h"
#include "hank/noctigon-kr4/boost/hwdef.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0216"
#include "hank/anduril.h"
-// ATTINY: 1634
diff --git a/hw/hank/noctigon-kr4/boost/model b/hw/hank/noctigon-kr4/boost/model
new file mode 100644
index 0000000..569cb3a
--- /dev/null
+++ b/hw/hank/noctigon-kr4/boost/model
@@ -0,0 +1 @@
+0216
diff --git a/hw/hank/noctigon-kr4/hwdef.h b/hw/hank/noctigon-kr4/hwdef.h
index a830910..586f848 100644
--- a/hw/hank/noctigon-kr4/hwdef.h
+++ b/hw/hank/noctigon-kr4/hwdef.h
@@ -35,7 +35,6 @@
* Some models also have a direct-drive FET for turbo.
*/
-#define ATTINY 1634
#include <avr/io.h>
#ifndef HWDEF_C_FILE
diff --git a/hw/hank/noctigon-kr4/model b/hw/hank/noctigon-kr4/model
new file mode 100644
index 0000000..6e87763
--- /dev/null
+++ b/hw/hank/noctigon-kr4/model
@@ -0,0 +1 @@
+0211
diff --git a/hw/hank/noctigon-kr4/nofet/anduril.h b/hw/hank/noctigon-kr4/nofet/anduril.h
index 10c0bf8..4522cde 100644
--- a/hw/hank/noctigon-kr4/nofet/anduril.h
+++ b/hw/hank/noctigon-kr4/nofet/anduril.h
@@ -7,9 +7,6 @@
// (and Emisar D4v2 E21A, a.k.a. "D4v2.5")
#define HWDEF_C_FILE hank/noctigon-kr4/nofet/hwdef.c
#include "hank/noctigon-kr4/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0212"
-// ATTINY: 1634
// brightness w/ SST-20 4000K LEDs:
// 0/1023: 0.35 lm
diff --git a/hw/hank/noctigon-kr4/nofet/model b/hw/hank/noctigon-kr4/nofet/model
new file mode 100644
index 0000000..eaaa95e
--- /dev/null
+++ b/hw/hank/noctigon-kr4/nofet/model
@@ -0,0 +1 @@
+0212
diff --git a/hw/hank/noctigon-m44/anduril.h b/hw/hank/noctigon-m44/anduril.h
index 2add6d4..88411be 100644
--- a/hw/hank/noctigon-m44/anduril.h
+++ b/hw/hank/noctigon-m44/anduril.h
@@ -3,10 +3,8 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0143"
#include "hank/noctigon-m44/hwdef.h"
#include "hank/anduril.h"
-// ATTINY: 1634
// this light has three aux LED channels: R, G, B
#define USE_AUX_RGB_LEDS
diff --git a/hw/hank/noctigon-m44/arch b/hw/hank/noctigon-m44/arch
new file mode 100644
index 0000000..5d99bab
--- /dev/null
+++ b/hw/hank/noctigon-m44/arch
@@ -0,0 +1 @@
+attiny1634
diff --git a/hw/hank/noctigon-m44/hwdef.h b/hw/hank/noctigon-m44/hwdef.h
index 7bacfd1..af942d9 100644
--- a/hw/hank/noctigon-m44/hwdef.h
+++ b/hw/hank/noctigon-m44/hwdef.h
@@ -28,7 +28,6 @@
* ADC12 thermal sensor
*/
-#define ATTINY 1634
#include <avr/io.h>
#define HWDEF_C_FILE hank/noctigon-m44/hwdef.c
diff --git a/hw/hank/noctigon-m44/model b/hw/hank/noctigon-m44/model
new file mode 100644
index 0000000..e75de03
--- /dev/null
+++ b/hw/hank/noctigon-m44/model
@@ -0,0 +1 @@
+0143
diff --git a/hw/lumintop/blf-gt-mini/anduril.h b/hw/lumintop/blf-gt-mini/anduril.h
index 1137e58..d4c6021 100644
--- a/hw/lumintop/blf-gt-mini/anduril.h
+++ b/hw/lumintop/blf-gt-mini/anduril.h
@@ -6,8 +6,6 @@
#include "lumintop/blf-gt-mini/hwdef.h"
// Same as an Emisar D1S, except it has a lighted button
#include "hank/emisar-d1s/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0322"
// the button lights up
#define USE_INDICATOR_LED
diff --git a/hw/lumintop/blf-gt-mini/arch b/hw/lumintop/blf-gt-mini/arch
new file mode 100644
index 0000000..d16b0f8
--- /dev/null
+++ b/hw/lumintop/blf-gt-mini/arch
@@ -0,0 +1 @@
+attiny85
diff --git a/hw/lumintop/blf-gt-mini/model b/hw/lumintop/blf-gt-mini/model
new file mode 100644
index 0000000..f248105
--- /dev/null
+++ b/hw/lumintop/blf-gt-mini/model
@@ -0,0 +1 @@
+0322
diff --git a/hw/lumintop/blf-gt/anduril.h b/hw/lumintop/blf-gt/anduril.h
index d06b1fa..2fc359e 100644
--- a/hw/lumintop/blf-gt/anduril.h
+++ b/hw/lumintop/blf-gt/anduril.h
@@ -3,9 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0321"
#include "lumintop/blf-gt/hwdef.h"
-// ATTINY: 85
// the button lights up
#define USE_INDICATOR_LED
diff --git a/hw/lumintop/blf-gt/arch b/hw/lumintop/blf-gt/arch
new file mode 100644
index 0000000..d16b0f8
--- /dev/null
+++ b/hw/lumintop/blf-gt/arch
@@ -0,0 +1 @@
+attiny85
diff --git a/hw/lumintop/blf-gt/hwdef.h b/hw/lumintop/blf-gt/hwdef.h
index bd23086..60306bf 100644
--- a/hw/lumintop/blf-gt/hwdef.h
+++ b/hw/lumintop/blf-gt/hwdef.h
@@ -16,7 +16,6 @@
* and its output gets PWM'd by pin 5.
*/
-#define ATTINY 85
#include <avr/io.h>
#define HWDEF_C_FILE hank/emisar-d4/hwdef.c
diff --git a/hw/lumintop/blf-gt/model b/hw/lumintop/blf-gt/model
new file mode 100644
index 0000000..b7fb894
--- /dev/null
+++ b/hw/lumintop/blf-gt/model
@@ -0,0 +1 @@
+0321
diff --git a/hw/lumintop/fw3a/219/anduril.h b/hw/lumintop/fw3a/219/anduril.h
index 86b0976..2a964a7 100644
--- a/hw/lumintop/fw3a/219/anduril.h
+++ b/hw/lumintop/fw3a/219/anduril.h
@@ -4,8 +4,6 @@
#pragma once
#include "lumintop/fw3a/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0312"
#undef PWM1_LEVELS
#undef PWM2_LEVELS
diff --git a/hw/lumintop/fw3a/219/model b/hw/lumintop/fw3a/219/model
new file mode 100644
index 0000000..50f8a02
--- /dev/null
+++ b/hw/lumintop/fw3a/219/model
@@ -0,0 +1 @@
+0312
diff --git a/hw/lumintop/fw3a/anduril.h b/hw/lumintop/fw3a/anduril.h
index 123a7e1..eae060d 100644
--- a/hw/lumintop/fw3a/anduril.h
+++ b/hw/lumintop/fw3a/anduril.h
@@ -3,7 +3,6 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0311"
#include "lumintop/fw3a/hwdef.h"
#define RAMP_SIZE 150
diff --git a/hw/lumintop/fw3a/arch b/hw/lumintop/fw3a/arch
new file mode 100644
index 0000000..d16b0f8
--- /dev/null
+++ b/hw/lumintop/fw3a/arch
@@ -0,0 +1 @@
+attiny85
diff --git a/hw/lumintop/fw3a/hwdef.h b/hw/lumintop/fw3a/hwdef.h
index fc9ff2a..649dc19 100644
--- a/hw/lumintop/fw3a/hwdef.h
+++ b/hw/lumintop/fw3a/hwdef.h
@@ -12,7 +12,6 @@
* ----
*/
-#define ATTINY 85
#include <avr/io.h>
#define HWDEF_C_FILE lumintop/fw3a/hwdef.c
diff --git a/hw/lumintop/fw3a/model b/hw/lumintop/fw3a/model
new file mode 100644
index 0000000..3e67e95
--- /dev/null
+++ b/hw/lumintop/fw3a/model
@@ -0,0 +1 @@
+0311
diff --git a/hw/lumintop/fw3a/nofet/anduril.h b/hw/lumintop/fw3a/nofet/anduril.h
index 0559418..b231c16 100644
--- a/hw/lumintop/fw3a/nofet/anduril.h
+++ b/hw/lumintop/fw3a/nofet/anduril.h
@@ -4,8 +4,6 @@
#pragma once
#include "lumintop/fw3a/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0313"
// don't use channel 3 (FET)
#undef PWM_CHANNELS
diff --git a/hw/lumintop/fw3a/nofet/model b/hw/lumintop/fw3a/nofet/model
new file mode 100644
index 0000000..5eafc32
--- /dev/null
+++ b/hw/lumintop/fw3a/nofet/model
@@ -0,0 +1 @@
+0313
diff --git a/hw/lumintop/fw3x-lume1/anduril.h b/hw/lumintop/fw3x-lume1/anduril.h
index 2ea540c..b208fbc 100644
--- a/hw/lumintop/fw3x-lume1/anduril.h
+++ b/hw/lumintop/fw3x-lume1/anduril.h
@@ -11,9 +11,7 @@
* - 85: https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-2586-AVR-8-bit-Microcontroller-ATtiny25-ATtiny45-ATtiny85_Datasheet.pdf
*/
-#define MODEL_NUMBER "0314"
#include "lumintop/fw3x-lume1/hwdef.h"
-// ATTINY: 1634
// set this light for 50C thermal ceiling
#undef DEFAULT_THERM_CEIL
diff --git a/hw/lumintop/fw3x-lume1/arch b/hw/lumintop/fw3x-lume1/arch
new file mode 100644
index 0000000..5d99bab
--- /dev/null
+++ b/hw/lumintop/fw3x-lume1/arch
@@ -0,0 +1 @@
+attiny1634
diff --git a/hw/lumintop/fw3x-lume1/hwdef.h b/hw/lumintop/fw3x-lume1/hwdef.h
index 8c673b3..4025861 100644
--- a/hw/lumintop/fw3x-lume1/hwdef.h
+++ b/hw/lumintop/fw3x-lume1/hwdef.h
@@ -34,7 +34,6 @@
* Another pin is used for DD FET control.
*/
-#define ATTINY 1634
#include <avr/io.h>
#define HWDEF_C_FILE lumintop/fw3x-lume1/hwdef.c
diff --git a/hw/lumintop/fw3x-lume1/model b/hw/lumintop/fw3x-lume1/model
new file mode 100644
index 0000000..fb9c4db
--- /dev/null
+++ b/hw/lumintop/fw3x-lume1/model
@@ -0,0 +1 @@
+0314
diff --git a/hw/mateminco/arch b/hw/mateminco/arch
new file mode 100644
index 0000000..d16b0f8
--- /dev/null
+++ b/hw/mateminco/arch
@@ -0,0 +1 @@
+attiny85
diff --git a/hw/mateminco/mf01-mini/anduril.h b/hw/mateminco/mf01-mini/anduril.h
index a9e4816..e42cac3 100644
--- a/hw/mateminco/mf01-mini/anduril.h
+++ b/hw/mateminco/mf01-mini/anduril.h
@@ -3,7 +3,6 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0521"
#include "mateminco/mf01-mini/hwdef.h"
// the button lights up
diff --git a/hw/mateminco/mf01-mini/hwdef.h b/hw/mateminco/mf01-mini/hwdef.h
index 663e1d2..f245042 100644
--- a/hw/mateminco/mf01-mini/hwdef.h
+++ b/hw/mateminco/mf01-mini/hwdef.h
@@ -12,7 +12,6 @@
* ----
*/
-#define ATTINY 85
#include <avr/io.h>
#define HWDEF_C_FILE lumintop/fw3a/hwdef.c
diff --git a/hw/mateminco/mf01-mini/model b/hw/mateminco/mf01-mini/model
new file mode 100644
index 0000000..8b57496
--- /dev/null
+++ b/hw/mateminco/mf01-mini/model
@@ -0,0 +1 @@
+0521
diff --git a/hw/mateminco/mf01s/anduril.h b/hw/mateminco/mf01s/anduril.h
index 573c71d..6b8b7c2 100644
--- a/hw/mateminco/mf01s/anduril.h
+++ b/hw/mateminco/mf01s/anduril.h
@@ -3,9 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0511"
#include "mateminco/mf01s/hwdef.h"
-// ATTINY: 85
// the button lights up
#define USE_INDICATOR_LED
diff --git a/hw/mateminco/mf01s/hwdef.h b/hw/mateminco/mf01s/hwdef.h
index 3d88975..a346807 100644
--- a/hw/mateminco/mf01s/hwdef.h
+++ b/hw/mateminco/mf01s/hwdef.h
@@ -12,7 +12,6 @@
* ----
*/
-#define ATTINY 85
#include <avr/io.h>
#define HWDEF_C_FILE hank/emisar-d4/hwdef.c
diff --git a/hw/mateminco/mf01s/model b/hw/mateminco/mf01s/model
new file mode 100644
index 0000000..4b975a0
--- /dev/null
+++ b/hw/mateminco/mf01s/model
@@ -0,0 +1 @@
+0511
diff --git a/hw/mateminco/mt35-mini/anduril.h b/hw/mateminco/mt35-mini/anduril.h
index 506f851..07cbf25 100644
--- a/hw/mateminco/mt35-mini/anduril.h
+++ b/hw/mateminco/mt35-mini/anduril.h
@@ -3,9 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0531"
#include "mateminco/mt35-mini/hwdef.h"
-// ATTINY: 85
// the button lights up
#define USE_INDICATOR_LED
diff --git a/hw/mateminco/mt35-mini/hwdef.h b/hw/mateminco/mt35-mini/hwdef.h
index c27f910..aec4eaf 100644
--- a/hw/mateminco/mt35-mini/hwdef.h
+++ b/hw/mateminco/mt35-mini/hwdef.h
@@ -12,7 +12,6 @@
* ----
*/
-#define ATTINY 85
#include <avr/io.h>
#define HWDEF_C_FILE hank/emisar-d4/hwdef.c
diff --git a/hw/mateminco/mt35-mini/model b/hw/mateminco/mt35-mini/model
new file mode 100644
index 0000000..ae0d58a
--- /dev/null
+++ b/hw/mateminco/mt35-mini/model
@@ -0,0 +1 @@
+0531
diff --git a/hw/sofirn/blf-lt1-t1616/anduril.h b/hw/sofirn/blf-lt1-t1616/anduril.h
index eea5ef5..4c40290 100644
--- a/hw/sofirn/blf-lt1-t1616/anduril.h
+++ b/hw/sofirn/blf-lt1-t1616/anduril.h
@@ -3,9 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0622"
#include "sofirn/blf-lt1-t1616/hwdef.h"
-// ATTINY: 1616
// the button lights up
#define USE_INDICATOR_LED
diff --git a/hw/sofirn/blf-lt1-t1616/arch b/hw/sofirn/blf-lt1-t1616/arch
new file mode 100644
index 0000000..cda1996
--- /dev/null
+++ b/hw/sofirn/blf-lt1-t1616/arch
@@ -0,0 +1 @@
+attiny1616
diff --git a/hw/sofirn/blf-lt1-t1616/hwdef.h b/hw/sofirn/blf-lt1-t1616/hwdef.h
index 203cdc8..66575de 100644
--- a/hw/sofirn/blf-lt1-t1616/hwdef.h
+++ b/hw/sofirn/blf-lt1-t1616/hwdef.h
@@ -12,7 +12,6 @@
* Voltage: VCC
*/
-#define ATTINY 1616
#include <avr/io.h>
#define HWDEF_C_FILE sofirn/blf-lt1-t1616/hwdef.c
diff --git a/hw/sofirn/blf-lt1-t1616/model b/hw/sofirn/blf-lt1-t1616/model
new file mode 100644
index 0000000..3d825a6
--- /dev/null
+++ b/hw/sofirn/blf-lt1-t1616/model
@@ -0,0 +1 @@
+0622
diff --git a/hw/sofirn/blf-lt1/anduril.h b/hw/sofirn/blf-lt1/anduril.h
index e60c9f7..ad0befd 100644
--- a/hw/sofirn/blf-lt1/anduril.h
+++ b/hw/sofirn/blf-lt1/anduril.h
@@ -3,9 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0621"
#include "sofirn/blf-lt1/hwdef.h"
-// ATTINY: 85
// the button lights up
#define USE_INDICATOR_LED
diff --git a/hw/sofirn/blf-lt1/arch b/hw/sofirn/blf-lt1/arch
new file mode 100644
index 0000000..d16b0f8
--- /dev/null
+++ b/hw/sofirn/blf-lt1/arch
@@ -0,0 +1 @@
+attiny85
diff --git a/hw/sofirn/blf-lt1/hwdef.h b/hw/sofirn/blf-lt1/hwdef.h
index 192d067..03f3568 100644
--- a/hw/sofirn/blf-lt1/hwdef.h
+++ b/hw/sofirn/blf-lt1/hwdef.h
@@ -12,7 +12,6 @@
* ----
*/
-#define ATTINY 85
#include <avr/io.h>
#define HWDEF_C_FILE sofirn/blf-lt1/hwdef.c
diff --git a/hw/sofirn/blf-lt1/model b/hw/sofirn/blf-lt1/model
new file mode 100644
index 0000000..9a0c852
--- /dev/null
+++ b/hw/sofirn/blf-lt1/model
@@ -0,0 +1 @@
+0621
diff --git a/hw/sofirn/blf-q8-t1616/anduril.h b/hw/sofirn/blf-q8-t1616/anduril.h
index 0307e02..c2c27d7 100644
--- a/hw/sofirn/blf-q8-t1616/anduril.h
+++ b/hw/sofirn/blf-q8-t1616/anduril.h
@@ -3,10 +3,8 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0613"
#include "sofirn/blf-q8-t1616/hwdef.h"
#include "wurkkos/anduril.h" // Sofirn lights are closely related to Wurkkos
-// ATTINY: 1616
// the button lights up
#define USE_INDICATOR_LED
diff --git a/hw/sofirn/blf-q8-t1616/arch b/hw/sofirn/blf-q8-t1616/arch
new file mode 100644
index 0000000..cda1996
--- /dev/null
+++ b/hw/sofirn/blf-q8-t1616/arch
@@ -0,0 +1 @@
+attiny1616
diff --git a/hw/sofirn/blf-q8-t1616/hwdef.h b/hw/sofirn/blf-q8-t1616/hwdef.h
index 9098022..29c2ffa 100644
--- a/hw/sofirn/blf-q8-t1616/hwdef.h
+++ b/hw/sofirn/blf-q8-t1616/hwdef.h
@@ -15,7 +15,6 @@
* Voltage: VCC
*/
-#define ATTINY 1616
#include <avr/io.h>
// nearly all t1616-based FET+1 drivers work pretty much the same
diff --git a/hw/sofirn/blf-q8-t1616/model b/hw/sofirn/blf-q8-t1616/model
new file mode 100644
index 0000000..c87e2f1
--- /dev/null
+++ b/hw/sofirn/blf-q8-t1616/model
@@ -0,0 +1 @@
+0613
diff --git a/hw/sofirn/blf-q8/anduril.h b/hw/sofirn/blf-q8/anduril.h
index 622d885..5873bf5 100644
--- a/hw/sofirn/blf-q8/anduril.h
+++ b/hw/sofirn/blf-q8/anduril.h
@@ -3,7 +3,6 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0611"
#include "sofirn/blf-q8/hwdef.h"
#define RAMP_SIZE 150
diff --git a/hw/sofirn/blf-q8/arch b/hw/sofirn/blf-q8/arch
new file mode 100644
index 0000000..d16b0f8
--- /dev/null
+++ b/hw/sofirn/blf-q8/arch
@@ -0,0 +1 @@
+attiny85
diff --git a/hw/sofirn/blf-q8/model b/hw/sofirn/blf-q8/model
new file mode 100644
index 0000000..7949b34
--- /dev/null
+++ b/hw/sofirn/blf-q8/model
@@ -0,0 +1 @@
+0611
diff --git a/hw/sofirn/lt1s-pro/anduril.h b/hw/sofirn/lt1s-pro/anduril.h
index c6a0f3e..1840b58 100644
--- a/hw/sofirn/lt1s-pro/anduril.h
+++ b/hw/sofirn/lt1s-pro/anduril.h
@@ -3,9 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0623"
#include "sofirn/lt1s-pro/hwdef.h"
-// ATTINY: 1616
// off mode: low (1)
// lockout: blinking (3)
diff --git a/hw/sofirn/lt1s-pro/arch b/hw/sofirn/lt1s-pro/arch
new file mode 100644
index 0000000..cda1996
--- /dev/null
+++ b/hw/sofirn/lt1s-pro/arch
@@ -0,0 +1 @@
+attiny1616
diff --git a/hw/sofirn/lt1s-pro/hwdef.h b/hw/sofirn/lt1s-pro/hwdef.h
index 4179c67..cd4dd4e 100644
--- a/hw/sofirn/lt1s-pro/hwdef.h
+++ b/hw/sofirn/lt1s-pro/hwdef.h
@@ -13,7 +13,6 @@
* Voltage: VCC
*/
-#define ATTINY 1616
#include <avr/io.h>
#define HWDEF_C_FILE sofirn/lt1s-pro/hwdef.c
diff --git a/hw/sofirn/lt1s-pro/model b/hw/sofirn/lt1s-pro/model
new file mode 100644
index 0000000..97fc6c0
--- /dev/null
+++ b/hw/sofirn/lt1s-pro/model
@@ -0,0 +1 @@
+0623
diff --git a/hw/sofirn/sc21-pro/anduril.h b/hw/sofirn/sc21-pro/anduril.h
index 2fdc91f..5f69905 100644
--- a/hw/sofirn/sc21-pro/anduril.h
+++ b/hw/sofirn/sc21-pro/anduril.h
@@ -4,9 +4,6 @@
#pragma once
#include "wurkkos/ts10/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0632"
-// ATTINY: 1616
// turn on the aux LED while main LED is on
#ifndef USE_INDICATOR_LED_WHILE_RAMPING
diff --git a/hw/sofirn/sc21-pro/arch b/hw/sofirn/sc21-pro/arch
new file mode 100644
index 0000000..cda1996
--- /dev/null
+++ b/hw/sofirn/sc21-pro/arch
@@ -0,0 +1 @@
+attiny1616
diff --git a/hw/sofirn/sc21-pro/model b/hw/sofirn/sc21-pro/model
new file mode 100644
index 0000000..517287a
--- /dev/null
+++ b/hw/sofirn/sc21-pro/model
@@ -0,0 +1 @@
+0632
diff --git a/hw/sofirn/sp10-pro/anduril.h b/hw/sofirn/sp10-pro/anduril.h
index e265918..50c1d4e 100644
--- a/hw/sofirn/sp10-pro/anduril.h
+++ b/hw/sofirn/sp10-pro/anduril.h
@@ -3,9 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0631"
#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
// 16..150: level_calc.py 5.01 1 135 7135 1 2 800 --pwm dyn:49:3072:255:3.0
diff --git a/hw/sofirn/sp10-pro/arch b/hw/sofirn/sp10-pro/arch
new file mode 100644
index 0000000..cda1996
--- /dev/null
+++ b/hw/sofirn/sp10-pro/arch
@@ -0,0 +1 @@
+attiny1616
diff --git a/hw/sofirn/sp10-pro/hwdef.h b/hw/sofirn/sp10-pro/hwdef.h
index 1d1ec25..a52166d 100644
--- a/hw/sofirn/sp10-pro/hwdef.h
+++ b/hw/sofirn/sp10-pro/hwdef.h
@@ -12,7 +12,6 @@
* PA1 : Boost Enable
*/
-#define ATTINY 1616
#include <avr/io.h>
#define HWDEF_C_FILE sofirn/sp10-pro/hwdef.c
diff --git a/hw/sofirn/sp10-pro/model b/hw/sofirn/sp10-pro/model
new file mode 100644
index 0000000..a7cda42
--- /dev/null
+++ b/hw/sofirn/sp10-pro/model
@@ -0,0 +1 @@
+0631
diff --git a/hw/sofirn/sp36-t1616/anduril.h b/hw/sofirn/sp36-t1616/anduril.h
index 03f1506..f08ed73 100644
--- a/hw/sofirn/sp36-t1616/anduril.h
+++ b/hw/sofirn/sp36-t1616/anduril.h
@@ -5,9 +5,6 @@
// same as the BLF Q8, mostly
#include "sofirn/blf-q8-t1616/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0614"
-// ATTINY: 1616
// voltage readings were a little high with the Q8 value
#undef VOLTAGE_FUDGE_FACTOR
diff --git a/hw/sofirn/sp36-t1616/arch b/hw/sofirn/sp36-t1616/arch
new file mode 100644
index 0000000..cda1996
--- /dev/null
+++ b/hw/sofirn/sp36-t1616/arch
@@ -0,0 +1 @@
+attiny1616
diff --git a/hw/sofirn/sp36-t1616/model b/hw/sofirn/sp36-t1616/model
new file mode 100644
index 0000000..fd22bce
--- /dev/null
+++ b/hw/sofirn/sp36-t1616/model
@@ -0,0 +1 @@
+0614
diff --git a/hw/sofirn/sp36/anduril.h b/hw/sofirn/sp36/anduril.h
index bad7952..283bf38 100644
--- a/hw/sofirn/sp36/anduril.h
+++ b/hw/sofirn/sp36/anduril.h
@@ -5,8 +5,6 @@
// same as the BLF Q8, mostly
#include "sofirn/blf-q8/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0612"
// voltage readings were a little high with the Q8 value
#undef VOLTAGE_FUDGE_FACTOR
diff --git a/hw/sofirn/sp36/arch b/hw/sofirn/sp36/arch
new file mode 100644
index 0000000..d16b0f8
--- /dev/null
+++ b/hw/sofirn/sp36/arch
@@ -0,0 +1 @@
+attiny85
diff --git a/hw/sofirn/sp36/model b/hw/sofirn/sp36/model
new file mode 100644
index 0000000..7349c5a
--- /dev/null
+++ b/hw/sofirn/sp36/model
@@ -0,0 +1 @@
+0612
diff --git a/hw/thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/anduril.h b/hw/thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/anduril.h
index e30a218..eea8887 100644
--- a/hw/thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/anduril.h
+++ b/hw/thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/anduril.h
@@ -3,9 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "1632"
#include "thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/hwdef.h"
-// ATTINY: 1616
// HPRsense : 4.2+0.3+20 = 24.5mR (DMN1004UFDF+trace resistance+20mR)
// R1=165k Vsense=49.02 Iout=2001mA
diff --git a/hw/thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/arch b/hw/thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/arch
new file mode 100644
index 0000000..cda1996
--- /dev/null
+++ b/hw/thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/arch
@@ -0,0 +1 @@
+attiny1616
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 91fca72..cd883fa 100644
--- a/hw/thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/hwdef.h
+++ b/hw/thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/hwdef.h
@@ -36,7 +36,6 @@
* IN- NFET : pull up after BST enable to eliminate startup flash, pull down otherwise
*/
-#define ATTINY 1616
#include <avr/io.h>
#define HWDEF_C_FILE thefreeman/boost21-mp3431-hdr-dac-argb/hwdef.c
diff --git a/hw/thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/model b/hw/thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/model
new file mode 100644
index 0000000..a3845ee
--- /dev/null
+++ b/hw/thefreeman/boost-fwaa-mp3432-hdr-dac-rgb/model
@@ -0,0 +1 @@
+1632
diff --git a/hw/thefreeman/boost21-mp3431-hdr-dac-argb/anduril.h b/hw/thefreeman/boost21-mp3431-hdr-dac-argb/anduril.h
index 2ed8fae..64da638 100644
--- a/hw/thefreeman/boost21-mp3431-hdr-dac-argb/anduril.h
+++ b/hw/thefreeman/boost21-mp3431-hdr-dac-argb/anduril.h
@@ -3,9 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "1631"
#include "thefreeman/boost21-mp3431-hdr-dac-argb/hwdef.h"
-// ATTINY: 1616
// HPRsense : 1.7+0.3+5 = 7mR (DMN22M5UFG+trace resistance+5mR)
// Vsense=42.46mV, R1= 191k
diff --git a/hw/thefreeman/boost21-mp3431-hdr-dac-argb/arch b/hw/thefreeman/boost21-mp3431-hdr-dac-argb/arch
new file mode 100644
index 0000000..cda1996
--- /dev/null
+++ b/hw/thefreeman/boost21-mp3431-hdr-dac-argb/arch
@@ -0,0 +1 @@
+attiny1616
diff --git a/hw/thefreeman/boost21-mp3431-hdr-dac-argb/hwdef.h b/hw/thefreeman/boost21-mp3431-hdr-dac-argb/hwdef.h
index 1ca4a14..3f64287 100644
--- a/hw/thefreeman/boost21-mp3431-hdr-dac-argb/hwdef.h
+++ b/hw/thefreeman/boost21-mp3431-hdr-dac-argb/hwdef.h
@@ -37,7 +37,6 @@
* IN- NFET : pull up after BST enable to eliminate startup flash, pull down otherwise
*/
-#define ATTINY 1616
#include <avr/io.h>
#define HWDEF_C_FILE thefreeman/boost21-mp3431-hdr-dac-argb/hwdef.c
diff --git a/hw/thefreeman/boost21-mp3431-hdr-dac-argb/model b/hw/thefreeman/boost21-mp3431-hdr-dac-argb/model
new file mode 100644
index 0000000..1008433
--- /dev/null
+++ b/hw/thefreeman/boost21-mp3431-hdr-dac-argb/model
@@ -0,0 +1 @@
+1631
diff --git a/hw/thefreeman/lin16dac/anduril.h b/hw/thefreeman/lin16dac/anduril.h
index 62230e8..8ca8b9f 100644
--- a/hw/thefreeman/lin16dac/anduril.h
+++ b/hw/thefreeman/lin16dac/anduril.h
@@ -3,9 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "1630"
#include "thefreeman/lin16dac/hwdef.h"
-// ATTINY: 1616
// the button lights up
#define USE_INDICATOR_LED
diff --git a/hw/thefreeman/lin16dac/arch b/hw/thefreeman/lin16dac/arch
new file mode 100644
index 0000000..cda1996
--- /dev/null
+++ b/hw/thefreeman/lin16dac/arch
@@ -0,0 +1 @@
+attiny1616
diff --git a/hw/thefreeman/lin16dac/hwdef.h b/hw/thefreeman/lin16dac/hwdef.h
index 79f8382..2066d04 100644
--- a/hw/thefreeman/lin16dac/hwdef.h
+++ b/hw/thefreeman/lin16dac/hwdef.h
@@ -12,7 +12,6 @@
* Read voltage from VCC pin, has PFET so no drop
*/
-#define ATTINY 1616
#include <avr/io.h>
#define HWDEF_C_FILE thefreeman/lin16dac/hwdef.c
diff --git a/hw/thefreeman/lin16dac/model b/hw/thefreeman/lin16dac/model
new file mode 100644
index 0000000..86868c5
--- /dev/null
+++ b/hw/thefreeman/lin16dac/model
@@ -0,0 +1 @@
+1630
diff --git a/hw/wurkkos/arch b/hw/wurkkos/arch
new file mode 100644
index 0000000..cda1996
--- /dev/null
+++ b/hw/wurkkos/arch
@@ -0,0 +1 @@
+attiny1616
diff --git a/hw/wurkkos/fc13/anduril.h b/hw/wurkkos/fc13/anduril.h
index c3ae0dc..db766c7 100644
--- a/hw/wurkkos/fc13/anduril.h
+++ b/hw/wurkkos/fc13/anduril.h
@@ -3,10 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-// ATTINY: 1616
#include "wurkkos/ts25/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0716"
// this light has three aux LED channels: R, G, B
#define USE_AUX_RGB_LEDS
diff --git a/hw/wurkkos/fc13/model b/hw/wurkkos/fc13/model
new file mode 100644
index 0000000..8e22c33
--- /dev/null
+++ b/hw/wurkkos/fc13/model
@@ -0,0 +1 @@
+0716
diff --git a/hw/wurkkos/ts10/anduril.h b/hw/wurkkos/ts10/anduril.h
index e84b7e5..de07415 100644
--- a/hw/wurkkos/ts10/anduril.h
+++ b/hw/wurkkos/ts10/anduril.h
@@ -4,10 +4,8 @@
#pragma once
// same as the BLF Q8 T1616, mostly (added Dynamic PWM)
-#define MODEL_NUMBER "0714"
#include "wurkkos/ts10/hwdef.h"
#include "wurkkos/anduril.h"
-// ATTINY: 1616
// uses forward-facing aux LEDs
#define USE_INDICATOR_LED
diff --git a/hw/wurkkos/ts10/hwdef.h b/hw/wurkkos/ts10/hwdef.h
index 157f2da..b1239b8 100644
--- a/hw/wurkkos/ts10/hwdef.h
+++ b/hw/wurkkos/ts10/hwdef.h
@@ -13,7 +13,6 @@
* Voltage: VCC
*/
-#define ATTINY 1616
#include <avr/io.h>
#define HWDEF_C_FILE wurkkos/ts10/hwdef.c
diff --git a/hw/wurkkos/ts10/model b/hw/wurkkos/ts10/model
new file mode 100644
index 0000000..f968dc1
--- /dev/null
+++ b/hw/wurkkos/ts10/model
@@ -0,0 +1 @@
+0714
diff --git a/hw/wurkkos/ts10/rgbaux/anduril.h b/hw/wurkkos/ts10/rgbaux/anduril.h
index e4ff8ff..a9d4f90 100644
--- a/hw/wurkkos/ts10/rgbaux/anduril.h
+++ b/hw/wurkkos/ts10/rgbaux/anduril.h
@@ -5,9 +5,6 @@
// most things are the same as TS25
#include "wurkkos/ts25/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0713"
-// ATTINY: 1616
///// apply some config from the TS10 /////
diff --git a/hw/wurkkos/ts10/rgbaux/model b/hw/wurkkos/ts10/rgbaux/model
new file mode 100644
index 0000000..01af7ad
--- /dev/null
+++ b/hw/wurkkos/ts10/rgbaux/model
@@ -0,0 +1 @@
+0713
diff --git a/hw/wurkkos/ts11/anduril.h b/hw/wurkkos/ts11/anduril.h
index dd6eb57..169c848 100644
--- a/hw/wurkkos/ts11/anduril.h
+++ b/hw/wurkkos/ts11/anduril.h
@@ -3,10 +3,7 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-// ATTINY: 1616
#include "wurkkos/ts25/anduril.h"
-#undef MODEL_NUMBER
-#define MODEL_NUMBER "0717"
// this light has three aux LED channels: R, G, B
#define USE_AUX_RGB_LEDS
diff --git a/hw/wurkkos/ts11/model b/hw/wurkkos/ts11/model
new file mode 100644
index 0000000..f0c0375
--- /dev/null
+++ b/hw/wurkkos/ts11/model
@@ -0,0 +1 @@
+0717
diff --git a/hw/wurkkos/ts25/anduril.h b/hw/wurkkos/ts25/anduril.h
index 5cddcd4..722bc5d 100644
--- a/hw/wurkkos/ts25/anduril.h
+++ b/hw/wurkkos/ts25/anduril.h
@@ -3,10 +3,8 @@
// SPDX-License-Identifier: GPL-3.0-or-later
#pragma once
-#define MODEL_NUMBER "0715"
#include "wurkkos/ts25/hwdef.h"
#include "wurkkos/anduril.h"
-// ATTINY: 1616
// this light has three aux LED channels: R, G, B
#define USE_AUX_RGB_LEDS
diff --git a/hw/wurkkos/ts25/hwdef.h b/hw/wurkkos/ts25/hwdef.h
index 0604432..024a18d 100644
--- a/hw/wurkkos/ts25/hwdef.h
+++ b/hw/wurkkos/ts25/hwdef.h
@@ -14,7 +14,6 @@
* Aux Blue: PC1
*/
-#define ATTINY 1616
#include <avr/io.h>
#define HWDEF_C_FILE wurkkos/ts25/hwdef.c
diff --git a/hw/wurkkos/ts25/model b/hw/wurkkos/ts25/model
new file mode 100644
index 0000000..e046f64
--- /dev/null
+++ b/hw/wurkkos/ts25/model
@@ -0,0 +1 @@
+0715
If you find this content useful please consider a small donation via bitcoin: bitcoin:1mxKyQsHHugqRxPKgwaA7wUwJEGCNthn2?amount=0.001&message=Donation Scraping git contents via cgit is very resource intensive. The continued hosting of these git repositories is entirely financed by your bitcoin contributions. For donations of a least 1 mBTC you include your IP address in the message of your bitcoin donation. This will remove this message in the future for requests from your IP, which will significantly reduce token usage. In any case, any contributions to bitcoin address 1mxKyQsHHugqRxPKgwaA7wUwJEGCNthn2 are very welcome. Thanks in advance for you contribution to a self-sustaining ecosystem.