#!/bin/sh
set -eu
cd "$(dirname "$0")"
T=firmware/固件/lamp_target
C=firmware/固件/lamp_control
F="-std=c11 -g -O1 -Wall -Wextra -Werror -fsanitize=address,undefined -fno-omit-frame-pointer"
I="-Ihost -I$T/include -I$C"
cc $F $I test_clock.c "$T/src/lamp_i2c_clock.c" "$T/src/lamp_i2c_read.c" -o host/clock
./host/clock
cc $F $I test_read.c "$T/src/lamp_i2c_clock.c" "$T/src/lamp_i2c_read.c" -o host/read
./host/read
cc $F $I test_integrated.c "$T/src/lamp_i2c_clock.c" "$T/src/lamp_i2c_read.c" "$T/src/lamp_driver_diagnostics.c" "$C/pca9956b_async_bank.c" "$C/pca9956b_fault_monitor.c" -o host/integrated
./host/integrated
for n in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23; do ./host/integrated "$n"; done
./host/integrated -1 slow
