| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
| |
This makes the UI a bit snappier, as we no longer have to interrupt for each
event, just on groups of them.
|
|
|
|
| |
These were accidentally left in from debug/commented out code
|
|
|
|
|
|
|
| |
This patch adds a first skeleton/draft of the UI state machine, with the
altimeter setting logic implemented at a basic level. It also adds a Python
script which uses GDB/MI to simulate/inject UI events on a GDB remote (i.e.
qemu-avr running the sim copy of the firmware).
|
|
|
|
| |
This module will be extended later with input and UI/menu logic
|
| |
|
|
|
|
| |
Also removes use of debug macros from altimeter.c
|
| |
|
|
|
|
|
| |
I accidentally removed the "initial barometer setting" test for the data
manager in 27d6d2fc. This commit re-adds it.
|
|
|
|
|
|
| |
The NULL check was a bit of a hack to get the test building. Probably a bad
idea to leave it around, since there's no time it's sane to leave the
timestamps on data manager contexts unset.
|
|
|
|
| |
If `make gdb` is run from the source directory, it clutters thins up
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This patch abstracts the global symbols for getting barometer readings behind
a "struct of function pointers" interface as popular in Linux Kernel, U-Boot
and others. This means that unit testing can take place with mocked hardware
peripherals. The old "global" drivers are still available, behind explicit
function calls required to access the now-static functions.
This patch also introduces a timer peripheral software module with the same
model, to support future unit testing of altitude rate etc.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This should be more testable and flexible. Note that the barometer has internal
non-resettable state which enforces a certain test order. This should be fixed
soon.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
I accidentally missed this when adding the recipe to the Makefile in bd929ae0.
This patch adds the ELF path as a GDB argument so that it can resolve symbols
and other debug info.
|
| |
|
|
|
|
| |
Also includes WIP data manager code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds a "magic" test runner which discovers all test cases in the
executable into which it is linked. This is achieved through the use of a
special macro used to declare tests, so that they are added onto a linker-
generated list. The linker list logic is largely taken from U-Boot source code,
with minor some tweaks made.
This linker-generated list is then used at runtime in order to pick out every
test case which can be run, resulting in a cross-file "suite" of unity unit
tests, rather than separate test executables per module. A sample test module,
test_test.c is provided to illustrate the test runner's ability to correctly
discover tests across multiple translation units.
|
|
|
|
| |
Accidentally forgot to add this previously.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Forgot to add this on the previous commit when the submodule was added to
.gitmodules
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
I hadn't realised there is a float-enabled printf implementation in AVR libc,
so let's use that instead of our own hack.
|
| |
|
| |
|
| |
|
| |
|
|
This patch adds a skeleton of AVR code for a "simulator" target (atmega2560)
and for the real intended hardware target (atmega32u4). The simulator target
is one that is supported by the QEMU AVR emulator, while the 32u4 is currently
not.
|