aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-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