Gavan Fantom
53a8072424
Remove old header file and add more missing header files
10 years ago
Gavan Fantom
4f171f3023
Add missing file and tidy up somewhat.
10 years ago
Gavan Fantom
8b3ff9feba
Add preliminary support for HMC5883L magnetometer and MPL3115A2 altimeter.
...
Logging only, at this stage.
10 years ago
Gavan Fantom
56de69735f
The weighting mechanism to only consider accelerations roughly
...
in line with gravity wasn't working too well. Let's consider
all readings equally for now.
11 years ago
Gavan Fantom
9d5e6da3bf
Yes, we do actually want I2C to run fast.
11 years ago
Gavan Fantom
e8adff93c1
Bye bye Wii Motion Plus, hello MPU6050. Also, increase control loop
...
to 200Hz, add SD card logging, and a number of other changes.
11 years ago
Gavan Fantom
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.
12 years ago
Gavan Fantom
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.
12 years ago
Gavan Fantom
2fa58944fa
New radio, new calibration values.
...
Oh, and code to make the calibration easier/possible.
12 years ago
Gavan Fantom
17a2289eff
Revert PID values. They were a bit too aggressive and unstable.
12 years ago
Gavan Fantom
b7e7fea6ba
Add ESC calibration mode, activated by holding down the button at startup.
12 years ago
Gavan Fantom
274805c2a0
Limit integral windup, some new PID values and linearise thrust.
12 years ago
Gavan Fantom
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.
12 years ago
Gavan Fantom
e36ec4d5b1
Let's have an LED driving module so that we can output different patterns for
...
status indications etc.
13 years ago
Gavan Fantom
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!
13 years ago
Gavan Fantom
2890007195
Take interleaved accelerometer and gyro readings, and integrate them into
...
a single attitude estimation.
A bunch of debug stuff, too.
13 years ago
Gavan Fantom
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.
13 years ago
Gavan Fantom
6a700d0dbe
No point in calling event_dispatch() from the menu any more.
14 years ago
Gavan Fantom
65b11ff92e
Use the timer to kick off WMP readings regularly.
14 years ago
Gavan Fantom
fda1b2a672
Use events to invoke menu handling on UART receive. We now have a basic
...
main dispatch loop.
14 years ago
Gavan Fantom
0562093ebb
Don't call event handlers for events which haven't been registered.
14 years ago
Gavan Fantom
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.
14 years ago
Gavan Fantom
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
14 years ago
Gavan Fantom
0f508fb424
Offload I2C work onto interrupts. For now, we just spin while waiting
...
for the I2C activity to complete.
14 years ago
Gavan Fantom
6a3c096bc5
Tidy up #ifdeffery for i2c speed
14 years ago
Gavan Fantom
f0efc593ea
Use interrupts and buffer the UART receive side too.
14 years ago
Gavan Fantom
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
14 years ago
Gavan Fantom
e1b1b60a53
* Move UART code into its own file
...
* Set up vectored interrupt controller
* Set up timer interrupt
14 years ago
Gavan Fantom
91c1c7e6be
More warnings courtesy of -Wextra
14 years ago
Gavan Fantom
6e7ef6488f
Add script to test the benefit of various -O flags
14 years ago
Gavan Fantom
4d37c82b12
* Allow COPTIM to be set outside Makefile
...
* Use -Wall -Werror
* Fix some warnings
14 years ago
Gavan Fantom
b3f0bbf7c9
More hacking:
...
* initial Wii Motion+ support
* initial timer support
14 years ago
Gavan Fantom
52e1c59a2e
Some progress on i2c control.
14 years ago
Gavan Fantom
85d33abdd9
Silly interactive loop to test things out.
14 years ago
Gavan Fantom
b7cb6a5bce
Configure the UART sufficiently to actually get the message out.
14 years ago
Gavan Fantom
51190c4949
Remove commented out line
14 years ago
Gavan Fantom
f5159013b3
Initial checkin. Basic build and runtime environment, prior to first
...
test on actual hardware.
14 years ago