Commit graph

  • 3edb5ad123 Pulled in the missing headers. master Michael Hope 2014-02-22 19:55:47 +0100
  • 1259455092 Imported chunks of i2cdevlib b6836bb46e248574816356a6a0a589718b6949fa. Michael Hope 2014-02-22 19:54:03 +0100
  • 7a63e672df Removed i2cdevlib from submodules. I need a fork instead. Michael Hope 2014-02-22 19:50:41 +0100
  • 5c03c4f5cb Added a cstdlib stub for i2cdevlib. Michael Hope 2014-02-22 19:33:31 +0100
  • 535f0a0c58 Added i2cdevlib as a git external. Michael Hope 2014-02-22 19:21:39 +0100
  • e9322bdbbe Bound in the rate of turn controller. Michael Hope 2014-02-22 19:20:29 +0100
  • 22bb0ba309 Bound in the IMU to the rover. Michael Hope 2014-02-22 19:20:00 +0100
  • 8a5089b262 Added a utility to bump and restore control variables. Michael Hope 2014-02-22 19:18:33 +0100
  • 6b79ef6b1e Pull the logs out of the rover while pushing. Michael Hope 2014-02-22 19:16:03 +0100
  • 0a335c01ae Check if the IMU is 'good' and periodically re-initialise if not. Michael Hope 2014-02-22 19:14:47 +0100
  • 3cab0d0e71 Change stub ports so they try to open, but stub out on failure. Allows some ports to be used. Michael Hope 2014-02-21 22:47:52 +0100
  • e1e56169b8 Bound the IMU into the rest of the interface and made it send. Michael Hope 2014-02-21 22:46:56 +0100
  • c95e4f4598 Added build rules for i2cdevlib. Michael Hope 2014-02-21 22:45:39 +0100
  • db6b03c272 Added a combined MPU 6050 and I2C driver. Michael Hope 2014-02-21 22:44:41 +0100
  • c8e216bd08 Switch to the GPS tick using status so other things like the switch position can be checked. Michael Hope 2014-02-16 17:04:53 +0100
  • 9d96112bd4 Switch the heading controller to derrive off the GPS tick. Add in differential control. Michael Hope 2014-02-16 17:04:11 +0100
  • 2fec29e7ac Add the differential term to the PID controller. Michael Hope 2014-02-16 17:01:24 +0100
  • 631fff6621 Ping the controller with new GPS readings when they arrive. Michael Hope 2014-02-16 17:00:21 +0100
  • 7f49aa400f Switch to a dynamic libgo. Use rsync to push the binary faster. Michael Hope 2014-02-16 16:59:02 +0100
  • ed3858a54a Updated the config to the latest test results. Configure glog at startup. Michael Hope 2014-02-16 16:58:14 +0100
  • 9190feff16 Added a README. Michael Hope 2014-02-09 20:47:54 +0100
  • 44c3873135 Changed the end of stream test so the stub ports work again. Minor tidy up to the tests so they build. Michael Hope 2014-02-09 20:35:51 +0100
  • 9ef917dcc8 Added some more golang notes. Michael Hope 2014-02-09 20:35:45 +0100
  • dbb2fddbb4 Switched to the new config parser. Michael Hope 2014-02-09 20:34:58 +0100
  • daf18a13da Created a simple command line to struct parser. Michael Hope 2014-02-09 20:16:20 +0100
  • 657e04fdd4 Fixed an overflow where the intermediate is greater than UINT16_MAX. Michael Hope 2014-02-02 15:15:12 +0100
  • ed899fe947 Add logging to all of the inputs and outputs. Changed to a struct style for all logging. Gives easier post processing. Changed the heading controller to dump state all the time for checking. Added watchdogs to everything. Michael Hope 2014-02-02 15:13:39 +0100
  • 2a18ac1655 Bump the serial rate to 57600 baud. Update the default settings of all the things. Michael Hope 2014-02-02 15:13:08 +0100
  • da89290188 Fixed the decoding of pongs. Switched the error handling to match link (fatal on error). Michael Hope 2014-02-02 15:12:03 +0100
  • 231d1bae7a Pull the GPS stats out into a class for easy dumping. Log a fatal error if the serial read fails. Michael Hope 2014-02-02 15:09:46 +0100
  • 39f87bc63d Switch to using gccgo to see if that solves the runtime lockup. Michael Hope 2014-02-02 15:06:53 +0100
  • 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... Michael Hope 2014-02-02 15:04:14 +0100
  • e3fb665c8d Changed the servos to be biased around 1.5 ms to handle the new 12 MHz clock. Michael Hope 2014-02-02 15:02:53 +0100
  • 6aa37305fc Changed the clock to match the new crystal. Changed remote flashing to use temporary files instead of needing a tree. Removed fuse setting as it's done in the bootloader. Michael Hope 2014-02-02 15:00:32 +0100
  • e969717881 Add a roverif specific bootloader configuration. * Set the bootloader status LED * Set the crystal to 12 MHz * Up the baud rate to 57600 using double rate Michael Hope 2014-01-29 20:49:36 +0100
  • aab625d7e6 Imported the Arduino 1.5.4 bootloader. Michael Hope 2014-01-29 20:44:27 +0100
  • dc7be912cb Add GPS and Event hooks into all controllers. Fix a bug in converting 0-360 headings into -Pi to Pi radians. Bind in the rest of the waypoint controller. Michael Hope 2014-01-26 16:06:52 +0100
  • a9ac957323 Switched to go-flags. Create a PID for each controller dimension. Support the waypoint controller. Michael Hope 2014-01-26 16:05:12 +0100
  • c1af8d554f Added in go-flags. Michael Hope 2014-01-26 16:04:38 +0100
  • d21216390b Added the position/waypoint controller. Michael Hope 2014-01-23 21:44:25 +0100
  • 575f428586 Added the position recorder state machine. Michael Hope 2014-01-21 22:09:21 +0100
  • 5d2f714c8d Add hooks for the heading controller. Pull umin out into a parameter. Bind in the switch thread. Michael Hope 2014-01-21 22:07:28 +0100
  • 430221bf86 Also pull in golang/glog. Michael Hope 2014-01-21 22:07:04 +0100
  • abcd0a2b88 Switch the PID controller to error based to push the heading wrap around up into the heading controller. Let the deadband apply in positive and negative directions. Apply the drive limit after all calculations. Michael Hope 2014-01-21 22:04:44 +0100
  • 1d731aacaa Change the heading controller to allow jogging by 90 degrees or 180 degrees based on the steering input. Should allow doing squares as a test. Michael Hope 2014-01-21 22:03:32 +0100
  • f80ee7387f Add a button press/hold handler. Michael Hope 2014-01-21 22:01:53 +0100
  • 35ea1cd73e Switch to glog to allow verbosity levels. Add button bindings and handling. Add a slow heartbeat to show in the log. Michael Hope 2014-01-21 22:00:59 +0100
  • ae71751509 Pulled the other PID parameters out so they can be used in heading mode. Added a heading controller. Changed the PID controller to work on error so the heading controller can handle the wrap around. Support deadbands in both directions. Michael Hope 2014-01-19 11:28:33 -0800
  • c4ccc24c4e Updated the default gains based on the good speed run. Michael Hope 2014-01-19 11:07:24 -0800
  • da2790c647 Add a system identification controller that sets the speed based on the dial. Pull the PID parameters out into command line flags. Change the speed setpoint to 17.5 km/h as 10 is too slow to control. Michael Hope 2014-01-19 10:18:44 -0800
  • 118373e53f Made link a bit more gothonic. Michael Hope 2014-01-14 21:17:34 +0100
  • afa24fb872 Added mathex and testex packages. Added a test target. Switched the PID and anything else possible float32. Changed TiLimit to be the total contribution. Added a deadband. Michael Hope 2014-01-14 20:56:42 +0100
  • dce5d5632b Re-worked the messages to match the interface board. Turned the logging back on. Michael Hope 2014-01-14 19:59:29 +0100
  • 0b4e52e848 Pushed the reference into the demands struct. Added counters. Hooked the link statistics into the counters. Michael Hope 2014-01-14 19:57:54 +0100
  • 45c6e0613a Added a NOTES file with a bug list. Michael Hope 2014-01-14 19:57:18 +0100
  • a7615a27e8 Added bugs and some golang notes. Michael Hope 2014-01-12 16:05:35 +0100
  • 48544126cf Related tidy up to the top level bindings. Added a 'push' target to the Makefile for copying the binary. Michael Hope 2014-01-12 15:58:57 +0100
  • 6e461a552e Renamed supervisor to driver. Michael Hope 2014-01-12 15:58:10 +0100
  • 9c97294431 Implemented the speed controller. Michael Hope 2014-01-12 15:57:55 +0100
  • e1289d4655 Renamed supervisor to driver. Split the GPS and Input status into their own structs. Added demand output. Michael Hope 2014-01-12 15:57:34 +0100
  • c05bcd5556 Pull the statistics out into a separate stuct so they'll work via expvar. Make link own the port so the caller doesn't need the port when calling Write(). Switch back to reading up to 128 bytes at a time. The previous one was due to the port waiting for all 128 bytes. Michael Hope 2014-01-12 15:55:22 +0100
  • 1b68507f13 Hooked in a basic PID controller. Michael Hope 2014-01-11 19:12:06 +0100
  • ef7b65b0cd Started recording the incoming data. Convert all GPS data to basic units. Michael Hope 2014-01-11 19:11:22 +0100
  • 014a5bf85c gofmt and de-logging. Michael Hope 2014-01-11 19:09:28 +0100
  • 2203989c64 Ran gofmt and de-logged link. Michael Hope 2014-01-11 19:08:52 +0100
  • fc6de03937 Added routines to convert latitude and longitude to UTM eastings and northings. Michael Hope 2014-01-11 19:03:56 +0100
  • 7c8a54c018 Added a PID controller. Still missing the D... Michael Hope 2014-01-11 19:02:06 +0100
  • 3149d8fb9e Add routines that calculate the width in metres of a degree of latitude or longitude. Michael Hope 2014-01-11 19:00:45 +0100
  • 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. Michael Hope 2014-01-07 22:34:54 +0100
  • 247eac6bad Started the supervisor. Switched the Link and GPS to send messages via channels. Michael Hope 2014-01-05 21:21:06 +0100
  • c24ca4ea19 Added the missing main(). Fixed a overflow error due to the higher clock. Michael Hope 2014-01-05 19:31:36 +0100
  • 670baf1b2a Added a top level Makefile to build all. Michael Hope 2014-01-05 19:30:59 +0100
  • eef6a6e072 Started the rover side code. Pulled in the Link and GPS experiments. Added build rules. Added expvar to export statistics. Michael Hope 2014-01-05 19:29:21 +0100
  • 058e29080c Pruned obsolete files. No automake as we're now AVR and Go based. Michael Hope 2014-01-05 16:24:58 +0100
  • 93f6b12759 Set the servos based on what is in control. Michael Hope 2014-01-05 16:21:28 +0100
  • 78b1b73398 Bump the CPU frequency to match the one and only board. Michael Hope 2014-01-05 16:20:17 +0100
  • e8d06048d8 Hack: don't fail if we can't reset. Michael Hope 2014-01-05 16:19:49 +0100
  • 843a5f1f0b Started a Go based Link experiment. Michael Hope 2014-01-05 14:33:17 +0100
  • f3aa55e688 Started a golang GPS experiment. Michael Hope 2014-01-05 14:32:38 +0100
  • f90a8ec73c Changed to a data register empty interrupt. Shifted the first byte transmit to the interrupt handler. Michael Hope 2013-12-31 21:58:43 +0100
  • 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. Michael Hope 2013-12-30 19:40:11 +0100
  • 493dd1efb0 Changed all timer ticks to milliseconds to make it more readable. Michael Hope 2013-12-30 19:20:56 +0100
  • 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. Michael Hope 2013-12-30 19:03:04 +0100
  • 79ada60302 Fixed the build by removing the dependancy on the removed start.cc. Michael Hope 2013-12-30 19:02:14 +0100
  • 4bef38a92a Dropped the configuration from PWMIn. Instead, use the whole of PORTB. Added a counter that bumps when channel 0 changes. Michael Hope 2013-12-30 19:00:53 +0100
  • 8dd0762b75 Made the input positions a bit less magic numberie. Michael Hope 2013-12-29 21:20:57 +0100
  • 10ed26fa7b A round of linting. Michael Hope 2013-12-29 21:14:19 +0100
  • 6d6bef2bb6 Reworked the supervisor. Michael Hope 2013-12-29 21:09:31 +0100
  • 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. Michael Hope 2013-12-29 21:08:31 +0100
  • afb95d1721 Fixed the initilisation of the pin on PWMIn. Michael Hope 2013-12-29 21:07:58 +0100
  • 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. Michael Hope 2013-12-29 18:50:44 +0100
  • 7a69136569 Change to an easier to understand 'Missing'. Michael Hope 2013-12-29 18:47:32 +0100
  • e064b6931b Bump the RX buffer size to handle the 8 byte demand message. Michael Hope 2013-12-29 18:46:12 +0100
  • 577c332af1 Add a helper to accuratly round a timer interval. Switch to a request model for unusual messages. Add reporting of the long version. Michael Hope 2013-12-28 21:19:24 +0100
  • 662b71418a Split the link TX and RX buffer sizes. Increase the TX buffer size to fit a long version. Michael Hope 2013-12-28 21:18:32 +0100
  • a8309e8c42 Make version.h be built for main.cc. Also clean. Michael Hope 2013-12-28 21:17:29 +0100
  • 1c629bf3c2 Added a tweak to calibrate the systick versus the RC oscillator. Michael Hope 2013-12-28 21:16:53 +0100
  • 80f64db6a9 Generate a version number from git. Michael Hope 2013-12-28 20:19:42 +0100
  • e29071ce35 Tidy up after linting. v0 Michael Hope 2013-12-28 19:33:13 +0100
  • bc13ffacc3 Merge branch 'master' of ssh://juju.net.nz/~/git/nppilot Michael Hope 2013-12-28 19:32:44 +0100