Commit graph

31 commits

Author SHA1 Message Date
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
Renamed from src/main.cc (Browse further)