Commit Graph

2567 Commits

Author SHA1 Message Date
Jeremy Lakeman
6f26594447 Simplify mavlink link frame creation
- build one frame at a time directly from the prepared overlay buffer
2013-09-11 17:15:43 +09:30
Jeremy Lakeman
e29564bc6c Refactor fakeradio
- completely event driven and non-blocking
- modelling of tx & rx serial buffers that will truncate on overfilling
- each radio takes turns to send a packet, with approx TDMA overhead
2013-09-11 15:03:43 +09:30
Jeremy Lakeman
9d7e37cc5e Pass ownership of final packet buffer to broadcast_ensemble 2013-09-11 11:13:33 +09:30
gardners
c120f27e99 tweak debug output 2013-09-10 15:15:00 +09:30
gardners
fa157500b3 Add debug output for mavlink sent and received frames.
debug.interactive_io can be used to pause after sending or receiving a packet.
2013-09-10 15:14:23 +09:30
gardners
6d273eb966 Add Reed-Solomon protection to MAVLink frames. 2013-09-10 14:53:12 +09:30
gardners
c28fdcf558 import Reed-Solomon LGPL implementation for use on packet radio.
Encodes 223 bytes in 255 bytes, allowing upto 16 errors.
2013-09-10 14:53:12 +09:30
Jeremy Lakeman
91fcf8b1b3 Stop announcing BARs via legacy process 2013-09-10 14:53:12 +09:30
gardners
33ad9ae0bc Split debugging info related to ACK's and packet retransmissions 2013-09-10 14:53:12 +09:30
gardners
f02e55c443 add 32bit crc to mavlink frames, and reject those that fail. 2013-09-10 14:53:12 +09:30
gardners
61c219a1f9 implement fragmentation of MDP frames over mavlink serial link. 2013-09-10 14:53:12 +09:30
Jeremy Lakeman
e2c3f1a8fb Improve fakeradio
- block until writes have completed
- implement transfer rate throttling
- add optional bit-flip errors
2013-09-10 14:53:12 +09:30
Andrew Bettison
e8ab8477be Get rid of worse-than-useless keyring debug 2013-09-10 13:28:27 +09:30
gardners
7248e01567 Implement flow of mavlink packets over serial connections
Replaces upper-7 bit slip encoding
Solves reliability of reading radio status messages
2013-09-10 13:07:52 +09:30
gardners
8ff14dce7a import mavlink.c from rfd900 radio firmware to use as basis for
mavlink communications with radios.
2013-09-10 11:54:15 +09:30
gardners
da32f6e6cd don't report radio link every second, even when debugging packetradio.
every 30sec is enough.
2013-09-10 11:54:15 +09:30
gardners
0cbebedc77 Add tx throttling for packet radios
avoids missing data due to lack of flow control.
2013-09-10 11:53:38 +09:30
Andrew Bettison
7add45214c Add [keyring-pin] arg to keyring load command 2013-09-10 11:28:55 +09:30
gardners
2b1ec5232c allow proper reading of RSSI from right antenna 2013-09-10 10:51:04 +09:30
Andrew Bettison
e74aec9354 Tests for starting daemon with keyring entry PINs 2013-09-09 14:47:02 +09:30
Andrew Bettison
d177512746 Add test for server start with --keyring-pin option 2013-09-09 14:47:02 +09:30
Jeremy Lakeman
d1234cb0f9 Use consistent integer types and formats 2013-09-09 12:09:40 +09:30
Andrew Bettison
f0a74e6cf2 Merge "keyring load" command and other keyring improvements into 'development' 2013-09-07 04:22:55 +09:30
Andrew Bettison
18e2916cec Add more keyring load tests, fix duplicate identity bugs 2013-09-07 04:03:28 +09:30
Andrew Bettison
befb658958 All keyring commands now close (free) the keyring 2013-09-05 16:34:52 +09:30
Andrew Bettison
8a300c2520 Get new keyring dump command and test working 2013-09-05 16:34:01 +09:30
Andrew Bettison
4b0550afd1 Fix new keyring load test 2013-09-05 09:19:45 +09:30
Andrew Bettison
55efc73b7e Improve test framework: assertGrep --fixed-strings option 2013-09-05 09:19:14 +09:30
Andrew Bettison
f95e41374b Implement keyring load command, not working yet
Write new keyring test, fails with ERROR because assertGrep -F option is
not supported.
2013-09-04 23:47:17 +09:30
Andrew Bettison
08c02e0e20 More progress towards keyring load command 2013-09-03 17:31:10 +09:30
Andrew Bettison
34bbfb9b30 Add strn_fromhex(), improve hexvalue()
Implement fromhex() and fromhexstr() using strn_fromhex()
2013-09-03 17:29:41 +09:30
Andrew Bettison
9d1c3e0cba Fix test case doc comment 2013-09-03 17:05:50 +09:30
Andrew Bettison
425aa1005c Start work on "keyring load" command 2013-09-02 17:33:52 +09:30
Andrew Bettison
080ccd957a Replace str_fromprint() with strn_fromprint() 2013-09-02 17:31:13 +09:30
Jeremy Lakeman
3be2ed615d Resurrect packet visualisation 2013-09-02 14:55:02 +09:30
Jeremy Lakeman
8d0e056f81 Count number of BARs we have seen 2013-08-30 17:38:29 +09:30
Jeremy Lakeman
8935db4184 Only ack soon if we have been asked to 2013-08-30 17:38:29 +09:30
Jeremy Lakeman
e3b616421f Remember outgoing links 2013-08-30 17:38:29 +09:30
Jeremy Lakeman
6ecfc952ed Schedule ack packets in response to neighbour broadcasts 2013-08-30 17:38:29 +09:30
Jeremy Lakeman
abdd3e12c9 Prevent crash if dumping buffer contents 2013-08-30 17:38:29 +09:30
Andrew Bettison
572d7c2b5d Add tests for new keyring environment vars 2013-08-30 11:20:19 +09:30
Andrew Bettison
aa20fd1a9b Improve keyring environment variables
Rename to SERVALD_...

Interpret SERVALD_KEYRING_PATH relative to instance dir unless absolute.

Explicitly unset them in setup_servald() test defs function
2013-08-30 11:20:19 +09:30
Andrew Bettison
3164172c08 Work around broken Vim syntax highlighting 2013-08-30 11:20:19 +09:30
Andrew Bettison
3b1ae5cbb0 Env vars SERVAL_KEYRING_PATH and SERVAL_KEYRING_READONLY
To support release signing operations without having to copy the release
keyring from its USB stick (into an instance directory), and reducing
the risk of corrupting the release keyring file while using it in-place.
2013-08-30 11:20:19 +09:30
Andrew Bettison
7d30b3cce7 Pass command-line args to server() function
So that the daemon can open the keyring file with --keyring-pin and --entry-pin
options.

Also remove some unused code.
2013-08-30 11:20:19 +09:30
Jeremy Lakeman
842915f70c Fix, using wrong loop variable in interface detection 2013-08-29 17:22:59 +09:30
Jeremy Lakeman
f06c203488 Send successful, in-order ACK's based on link RTT 2013-08-29 16:51:50 +09:30
Jeremy Lakeman
bf4269e98e Adjust retransmission delay based on measured RTT 2013-08-29 15:28:20 +09:30
Jeremy Lakeman
95831a51aa Don't schedule another poll if the interface is down 2013-08-28 17:06:42 +09:30
Jeremy Lakeman
7a4b1c3f19 Don't destroy the interface destination when bringing it down 2013-08-28 16:48:55 +09:30