Commit Graph
32 Commits
Author SHA1 Message Date
gavan e8adff93c1 Bye bye Wii Motion Plus, hello MPU6050. Also, increase control loop
to 200Hz, add SD card logging, and a number of other changes.
2014-05-06 21:03:48 +00:00
gavan b482b85ffd Firmware changes to match rewired control board.
This is a bit more difficult than just reassigning pins as the usage
of the timers has changed to the point of using 16 bit timers where 32 bit
timers would have been ideal. This makes the use of the prescaler necessary,
and we need to cope with a different prescaler value being used on different
timers.
2013-05-25 19:24:39 +00:00
gavan b9c08d88b1 Implement CPPM reception. Keep it as an option for now.
Recalibrate the radio, as the timings have changed.
And, it seems a couple of channels are now swapped with the new radio. Or
rather, unswapped. So fix the channel map to match.
2013-04-07 01:39:36 +00:00
gavan 2fa58944fa New radio, new calibration values.
Oh, and code to make the calibration easier/possible.
2013-04-07 00:17:31 +00:00
gavan 17a2289eff Revert PID values. They were a bit too aggressive and unstable. 2013-02-04 15:32:29 +00:00
gavan b7e7fea6ba Add ESC calibration mode, activated by holding down the button at startup. 2012-12-10 23:20:14 +00:00
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