feat: add device firmware with USB API, StrixFPGA library and API check tools

This commit is contained in:
randogoth 2026-10-25 15:29:36 +02:00
parent 7777384495
commit eaf8cd284a
14 changed files with 1037 additions and 253 deletions

View file

@ -18,14 +18,14 @@
"setup": [
"arduino-cli core update-index",
"arduino-cli core install arduino:samd",
"arduino-cli lib install VidorPeripherals WiFiNINA@1.8.5"
"arduino-cli lib install WiFiNINA@1.8.5"
],
"build": [
"arduino-cli compile --fqbn arduino:samd:mkrvidor4000 arduino/strix"
"arduino-cli compile --fqbn arduino:samd:mkrvidor4000 --libraries arduino/libraries arduino/strix"
],
"sim": [
"mkdir -p /tmp/strix-sim",
"iverilog -g2005 -DSIM -o /tmp/strix-sim/tb_strix_core fpga/sim/tb_strix_core.v fpga/rtl/strix_core.v fpga/rtl/entropy_generator.v fpga/rtl/health_monitor.v fpga/rtl/stats_block.v fpga/rtl/bias_amplifier.v fpga/rtl/amp_path.v fpga/rtl/amp_stage.v fpga/rtl/freq_counter.v fpga/rtl/ring_osc.v fpga/rtl/raw_capture.v fpga/rtl/spi_slave.v",
"iverilog -g2005 -DSIM -o /tmp/strix-sim/tb_strix_core fpga/sim/tb_strix_core.v fpga/rtl/strix_core.v fpga/rtl/entropy_generator.v fpga/rtl/health_monitor.v fpga/rtl/stats_block.v fpga/rtl/entropy_stream.v fpga/rtl/bias_amplifier.v fpga/rtl/amp_path.v fpga/rtl/amp_stage.v fpga/rtl/freq_counter.v fpga/rtl/ring_osc.v fpga/rtl/raw_capture.v fpga/rtl/spi_slave.v",
"vvp -n /tmp/strix-sim/tb_strix_core",
"iverilog -g2005 -o /tmp/strix-sim/tb_amp_stage fpga/sim/tb_amp_stage.v fpga/rtl/amp_stage.v",
"vvp -n /tmp/strix-sim/tb_amp_stage"
@ -34,14 +34,20 @@
"cd fpga/src && quartus_sh --flow compile strix"
],
"image": [
"python3 tools/vidor_image.py fpga/src/output_files/strix.ttf arduino/strix_capture"
"python3 tools/vidor_image.py fpga/src/output_files/strix.ttf arduino/libraries/StrixFPGA/src"
],
"build-capture": [
"arduino-cli compile --fqbn arduino:samd:mkrvidor4000 --libraries arduino/libraries arduino/strix_capture"
],
"upload": [
"arduino-cli upload --fqbn arduino:samd:mkrvidor4000 -p ${PORT:-/dev/ttyACM0} arduino/strix"
],
"upload-capture": [
"arduino-cli upload --fqbn arduino:samd:mkrvidor4000 -p ${PORT:-/dev/ttyACM0} arduino/strix_capture"
],
"api-check": [
"python3 tools/api_check.py --port ${PORT:-/dev/ttyACM0}"
],
"onod-build": [
"cargo build --release --manifest-path ${ONOD3000_DIR:-$HOME/Projects/randonautica/code/onod3000}/Cargo.toml --target-dir .build/onod3000"
],