Commit Graph
26 Commits
Author SHA1 Message Date
gavan 274805c2a0 Limit integral windup, some new PID values and linearise thrust. 2012-12-08 12:31:17 +00:00
gavan 999e129e2c Improve handling of arming, providing LED blink codes if the arming fails.
Also, implement a software watchdog to make sure that the main real-time
modules are actually being run. Provide a panic facility, also giving blink
codes to indicate the panic reason.
2012-09-22 12:08:07 +00:00
gavan e36ec4d5b1 Let's have an LED driving module so that we can output different patterns for
status indications etc.
2012-08-30 14:04:33 +00:00
gavan 3f12132231 Lots of development of new features. Radio input, motor output, PID control
loops, boot-time initialisation, option to run without attached UART.

And.. it flies!
2012-08-30 12:42:38 +00:00
gavan 2890007195 Take interleaved accelerometer and gyro readings, and integrate them into
a single attitude estimation.

A bunch of debug stuff, too.
2011-11-04 12:47:16 +00:00
gavan 62732758a8 Track gyro using a DCM.
This brings in an implementation of some general matrix manipulation routines,
not all of which are used at teh moment.

Output the DCM on the UART at 50Hz for the host to display it usefully.
2011-10-07 23:39:28 +00:00
gavan 6a700d0dbe No point in calling event_dispatch() from the menu any more. 2011-06-04 20:57:13 +00:00
gavan 65b11ff92e Use the timer to kick off WMP readings regularly. 2011-06-04 20:56:20 +00:00
gavan fda1b2a672 Use events to invoke menu handling on UART receive. We now have a basic
main dispatch loop.
2011-06-04 19:41:12 +00:00
gavan 0562093ebb Don't call event handlers for events which haven't been registered. 2011-06-04 19:31:24 +00:00
gavan fa84a1b8bb Change API for getch to make it the caller's responsibility to poll for
input, allowing it to do other stuff if it wants to.
2011-06-04 19:28:59 +00:00
gavan 9f79b3d82e * Make total stack size available as a symbol
* Implement SWI handler to enable/disable interrupts
* Implement event system to deal with kicking non-interrupt code
2011-06-03 21:22:01 +00:00
gavan 0f508fb424 Offload I2C work onto interrupts. For now, we just spin while waiting
for the I2C activity to complete.
2011-05-26 01:57:16 +00:00
gavan 6a3c096bc5 Tidy up #ifdeffery for i2c speed 2011-05-23 21:44:25 +00:00
gavan f0efc593ea Use interrupts and buffer the UART receive side too. 2011-05-23 21:41:17 +00:00
gavan 4eaff797c9 * Use interrupts and buffering for UART TX
* Set up P0.26 as an output, driving the on-board LED
* Toggle the LED while waiting for UART input to demonstrate activity
2011-05-22 10:34:44 +00:00
gavan e1b1b60a53 * Move UART code into its own file
* Set up vectored interrupt controller
* Set up timer interrupt
2011-05-21 22:26:19 +00:00
gavan 91c1c7e6be More warnings courtesy of -Wextra 2011-05-18 14:47:56 +00:00
gavan 6e7ef6488f Add script to test the benefit of various -O flags 2011-05-18 09:55:39 +00:00
gavan 4d37c82b12 * Allow COPTIM to be set outside Makefile
* Use -Wall -Werror
* Fix some warnings
2011-05-18 09:55:02 +00:00
gavan b3f0bbf7c9 More hacking:
* initial Wii Motion+ support
* initial timer support
2011-05-15 22:22:50 +00:00
gavan 52e1c59a2e Some progress on i2c control. 2011-05-09 13:41:53 +00:00
gavan 85d33abdd9 Silly interactive loop to test things out. 2011-05-04 22:50:57 +00:00
gavan b7cb6a5bce Configure the UART sufficiently to actually get the message out. 2011-05-04 21:27:17 +00:00
gavan 51190c4949 Remove commented out line 2011-05-04 00:35:42 +00:00
gavan f5159013b3 Initial checkin. Basic build and runtime environment, prior to first
test on actual hardware.
2011-05-04 00:03:28 +00:00