You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Sean McBride 31226d5bdd
refactor: Move tests
3 years ago
..
.gitignore refactor: Move tests 3 years ago
README.md refactor: Move tests 3 years ago
edf_nopreemption.env refactor: Move tests 3 years ago
edf_preemption.env refactor: Move tests 3 years ago
fifo_nopreemption.env refactor: Move tests 3 years ago
fifo_preemption.env refactor: Move tests 3 years ago
initial_state.dat refactor: Move tests 3 years ago
one_iteration.dat refactor: Move tests 3 years ago
run.sh refactor: Move tests 3 years ago
spec.json refactor: Move tests 3 years ago
three_iterations.dat refactor: Move tests 3 years ago
two_iterations.dat refactor: Move tests 3 years ago

README.md

EKF

Executes TinyEKF as shows by You Chong's GPS example

This test executes multiple runs of three iterations (the output of a previous iteration is refed as input), comparing the binary result against a known memoized result stored in initial_state.dat, one_iteration.dat, two_iterations.dat, and three_iterations.dat.

The rust.sh script stores per-run results to temporary files suffixed with *.res.dat and diff -s because I had trouble using cURL to pass a bash string of binary input.

In order to be compatible with the stdin/stdout model of serverless, the input and output files are binary concatenations of various C structs.

See main() in applications/TinyEKF/extras/c/gps_ekf_fn.c for specifics.

Useful parsing of the log

What is the average execution time of the first iteration? cat log.csv | grep ekf_first_iter | awk -F , '{ sum+=$5 } END{ print sum/NR }'