aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Add ui_remote to README.mdHEADmasterDavid Phillips2021-03-13
|
* ui_remote: explicitly exit GDB on script exitDavid Phillips2021-03-13
|
* ui_remote: make event sending asyncDavid Phillips2021-03-13
| | | | | This makes the UI a bit snappier, as we no longer have to interrupt for each event, just on groups of them.
* Remove unneeded `pass`es from Python scriptDavid Phillips2021-03-13
| | | | These were accidentally left in from debug/commented out code
* First cut of UI state machineDavid Phillips2021-03-13
| | | | | | | 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).
* Re-add basic display-only logicDavid Phillips2021-02-27
| | | | This module will be extended later with input and UI/menu logic
* Make `make size` depend on the ELF it measuresDavid Phillips2021-02-27
|
* Move debug macros to dedicated headerDavid Phillips2021-02-27
| | | | Also removes use of debug macros from altimeter.c
* Remove empty fileDavid Phillips2021-02-27
|
* Reintroduce accidentally-removed unit testDavid Phillips2021-02-27
| | | | | I accidentally removed the "initial barometer setting" test for the data manager in 27d6d2fc. This commit re-adds it.
* Make timer mandatory for data managerDavid Phillips2021-02-27
| | | | | | 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.
* Add gdbhistory to gitignoreDavid Phillips2021-02-27
| | | | If `make gdb` is run from the source directory, it clutters thins up
* Migrate display to new peripheral modelDavid Phillips2021-02-27
|
* Use more generic interface for barometer and timerDavid Phillips2021-02-27
| | | | | | | | | | | 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.
* Move unity-test-runner to submoduleDavid Phillips2021-02-27
|
* Prefer FLT_EPSILON to hardcoded literalDavid Phillips2021-02-14
|
* Implement barometer reset/initDavid Phillips2021-02-14
|
* Refactor data_manager to use contextsDavid Phillips2021-02-14
| | | | | | 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.
* Tick data manager on initDavid Phillips2021-02-13
|
* Initialise data manager with ISA pressureDavid Phillips2021-02-13
|
* Add exit code to test runner on test failureDavid Phillips2021-02-13
|
* Use simulator ELF, not real ELF, with gdbDavid Phillips2021-02-13
|
* Pass ELF path to gdbDavid Phillips2021-02-13
| | | | | | 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.
* Move test runner to build/nativeDavid Phillips2021-02-13
|
* Add dep files to MakefileDavid Phillips2021-02-13
| | | | Also includes WIP data manager code.
* Add test runnerDavid Phillips2021-02-13
| | | | | | | | | | | | | | 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.
* Add missing test_util.cDavid Phillips2021-02-09
| | | | Accidentally forgot to add this previously.
* Print MCU fill as well as section sizeDavid Phillips2021-02-08
|
* Print cross ELF section size on makeDavid Phillips2021-02-08
|
* Update README.md for unit testing and submodulesDavid Phillips2021-02-08
|
* Add missing submodule refDavid Phillips2021-02-08
| | | | | Forgot to add this on the previous commit when the submodule was added to .gitmodules
* Add basic unit testing for util.cDavid Phillips2021-02-08
|
* Add quick README.mdDavid Phillips2021-02-08
|
* Add documentation to MakefileDavid Phillips2021-02-08
|
* Set GPIOs for profiling/debugDavid Phillips2020-12-20
|
* Use float-enabled printf implementationDavid Phillips2020-12-20
| | | | | I hadn't realised there is a float-enabled printf implementation in AVR libc, so let's use that instead of our own hack.
* Empty 6 lines on init of mock displayDavid Phillips2020-12-13
|
* Remove unneeded variablesDavid Phillips2020-12-13
|
* Set a 2 second watchdog timerDavid Phillips2020-12-13
|
* Derive OCR1A from F_CPUDavid Phillips2020-12-13
|
* Initial prototypeDavid Phillips2020-12-13
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.