Michael Hope
0a335c01ae
Check if the IMU is 'good' and periodically re-initialise if not.
2014-02-22 19:14:47 +01:00
Michael Hope
e1e56169b8
Bound the IMU into the rest of the interface and made it send.
2014-02-21 22:46:56 +01:00
Michael Hope
bd796af05b
Added more checks around the tick resolution.
...
Changed to match the new crystal.
Upped the baud rate to 57600. 12 MHz divides well to most rates...
2014-02-02 15:04:14 +01:00
Michael Hope
0b4e52e848
Pushed the reference into the demands struct.
...
Added counters.
Hooked the link statistics into the counters.
2014-01-14 19:57:54 +01:00
Michael Hope
b07a2f29a7
Enable interrupts before running.
...
Add an encoded version of the CPU frequency as a reference.
Set the centre to 150 now that the CPU frequency is correct.
2014-01-07 22:34:54 +01:00
Michael Hope
c24ca4ea19
Added the missing main().
...
Fixed a overflow error due to the higher clock.
2014-01-05 19:31:36 +01:00
Michael Hope
93f6b12759
Set the servos based on what is in control.
2014-01-05 16:21:28 +01:00
Michael Hope
2e91637dec
Did the bandwidth calculations, which look fine.
...
Only send the PWM inputs if they're being received.
Send PWM inputs at up to a 50 ms rate.
2013-12-30 19:40:11 +01:00
Michael Hope
493dd1efb0
Changed all timer ticks to milliseconds to make it more readable.
2013-12-30 19:20:56 +01:00
Michael Hope
ad1b6fdd54
Watch the PWMIn and process when the input changes, instead of on a
...
timer.
Split the different poll()s out into their own functions.
Add a prescaler on the tick timer to reduce the CPU load.
2013-12-30 19:03:04 +01:00
Michael Hope
8dd0762b75
Made the input positions a bit less magic numberie.
2013-12-29 21:20:57 +01:00
Michael Hope
10ed26fa7b
A round of linting.
2013-12-29 21:14:19 +01:00
Michael Hope
81394d340d
Added many more fields to the state message.
...
Poll PWMIn and update supervisor.
Send state when it changes.
Update the flash patterns based on shutdown.
2013-12-29 21:08:31 +01:00
Michael Hope
866a73227e
Drop the state from heartbeat and move to a new State message.
...
Add a Demand message and basic handling.
Add a helper to properly round tick counts.
2013-12-29 18:50:44 +01:00
Michael Hope
577c332af1
Add a helper to accuratly round a timer interval.
...
Switch to a request model for unusual messages.
Add reporting of the long version.
2013-12-28 21:19:24 +01:00
Michael Hope
94424fd1a4
Added an 'Initial' state to tell rebooted versus shutdown.
2013-12-28 18:35:25 +01:00
Michael Hope
241770ced5
Fixed the breakage after linting.
2013-12-27 21:38:31 +01:00
Michael Hope
adb805860e
Updated everything to the Google style (yay cpplint!).
...
Deleted the unused code.
2013-12-27 21:35:37 +01:00
Michael Hope
2ad3d8da98
Changed Servos from static to an instance to match the other classes.
2013-12-27 20:16:04 +01:00
Michael Hope
cbb20793c4
Switched to a 'fill' model. Pulled the send up to common code.
2013-12-18 23:58:39 +00:00
Michael Hope
cff60a194e
Add a minimal bit array just for pending events.
...
Switch message sending to setting deferred events that are checked
when the TX buffer is empty.
2013-12-18 23:52:02 +00:00
Michael Hope
6786609570
Add the PWM input system.
...
Switch to zero based to make the ranges easier.
Switch to a lower prescaler to give better fidelity. Servo output is
now broken.
Send the input message on a timer.
2013-12-21 21:48:45 +01:00
Michael Hope
4d2c2acf80
Fix how escaped characters are modified.
...
Turn on receive interrupts. Receive works!
Add a Python hack to test two way comms on the link.
Fix the red and green pin definitions.
2013-12-20 21:46:38 +01:00
Michael Hope
4ec2551835
Changed the XOR value so a escape doesn't become a null.
...
Added (untested) receive support to Link.
Added simple message dispatch.
Added a ping/pong handler for testing.
2013-12-20 21:16:01 +01:00
Michael Hope
34928e2772
Add the transmit part of the serial link.
...
Expand the heartbeat to include time and state.
2013-12-17 21:47:44 +01:00
Michael Hope
ff22d9982b
Reworking the roverif to be more suited to the ATMEGA.
2013-12-17 20:48:07 +01:00
Michael Hope
02a22b48bf
Hack around so the roverif builds on the ATMEGA.
2013-12-16 21:20:15 +01:00
Michael Hope
b0368f7af0
Added debug routines.
...
Split the board specific code into a HAL API.
Added a POSIX HAL and hacked everything over to it.
2013-07-04 20:56:38 +02:00
Michael Hope
9c58df87ed
Added the supervisor that monitors the inputs and arming state.
2012-07-28 22:14:02 +12:00
Michael Hope
9cf69f7866
Split the rover out into multiple less embarrising files.
2012-07-27 21:49:05 +12:00
Michael Hope
c5de2a1945
Renamed src to the rover interface. Switched to autotools for the makefile.
2012-07-27 20:45:45 +12:00