Make GPS navigation epochs interrupt-coherent

Wait for every navigation-ready tracking channel in a GPS epoch, remove unlocked channels without a timeout, and keep late joins for the next epoch. Reset PLIC ownership during warm initialization and extend Linux synthetic, integrity, and fake-MMIO regression coverage.
This commit is contained in:
2026-07-23 19:20:06 +03:00
parent 7cc3eb2a54
commit 516016efb9
16 changed files with 1780 additions and 246 deletions
+14 -6
View File
@@ -2,17 +2,25 @@ CC ?= gcc
CFLAGS ?= -O2 -std=c11 -Wall -Wextra -Werror
ROOT := ..
TARGET := test_imu_calibration
TARGETS := test_imu_calibration test_gps_nav_epoch test_plic_warm_reset
.PHONY: all run clean
all: $(TARGET)
all: $(TARGETS)
$(TARGET): test_imu_calibration.c $(ROOT)/src/imu/imu_calibration.c
test_imu_calibration: test_imu_calibration.c $(ROOT)/src/imu/imu_calibration.c
$(CC) $(CFLAGS) -I$(ROOT)/header $^ -lm -o $@
run: $(TARGET)
./$(TARGET)
test_gps_nav_epoch: test_gps_nav_epoch.c $(ROOT)/src/gps/gps_nav_epoch.c
$(CC) $(CFLAGS) -I$(ROOT)/header $^ -lm -o $@
test_plic_warm_reset: test_plic_warm_reset.c $(ROOT)/../bsp/drivers/plic.c
$(CC) $(CFLAGS) -Ifake_bsp -I$(ROOT)/../bsp/include $^ -o $@
run: $(TARGETS)
./test_imu_calibration
./test_gps_nav_epoch
./test_plic_warm_reset
clean:
rm -f $(TARGET)
rm -f $(TARGETS)