1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-11 19:24:10 +01:00
Commit Graph

67 Commits

Author SHA1 Message Date
Karl Knutsson
d161ebbc74 OP-1522 address review comments 2015-02-02 21:25:38 +01:00
Karl Knutsson
137c183ec2 OP-1522 Remove unused channel set cfg
Remove unused channel set configuration option.
With the new channel allocation the old channel set
configuration isn't needed.
2015-02-02 21:25:38 +01:00
Karl Knutsson
a3715598c7 OP-1522 New channel allocation
Generate a pseudo random list of channels from hmac_sha1 with the
coordid as key.

Enforce channel spacing based on the frequency deviation derived
from the configured data rate.
2015-02-02 21:25:38 +01:00
Karl Knutsson
9bf18490b1 OP-1522: Channel timeout logic
Use real time rather than missed pickets when deciding if we are
disconneted. Makes the link less sensitive at higher rates since
higher rates means more chances to get a packet through within the
given time.
2015-02-02 21:25:38 +01:00
Karl Knutsson
b0491da115 OP-1576: Remove unused tx_resent counter
Remove unused tx_resent counter and replace it with
rx_failure in link quality calculations.
2015-02-02 21:25:38 +01:00
Karl Knutsson
52c1080ffe OP-1522 Robustness of OPLink radio
Increase number of channels to 32 for all bit rates.
Synchronize clock on all channels.
Go into failsafe after 4 or 8 (one_way_link) missed packets.
Don't stay on channel 0 if we dropped a packet.
2015-02-02 21:25:38 +01:00
Erik Gustavsson
966ef5ce75 OP-1680 Increase the range and resolution of OPLink PPM values
Encode 511 steps plus a single "invalid" value, rather than 256 steps
plus a dedicated valid flag bit. This gives a range of 990 - 2010 us in
steps of 2 us.
2015-02-02 21:25:37 +01:00
Laurent Lalanne
c506fc93d6 OP-1674 Revert changes from previous commit in flight side, keep comments changes 2015-01-22 19:49:06 +01:00
Laurent Lalanne
4c27a78072 OP-1674 Allow channel 250 2015-01-12 12:57:01 +01:00
Werner Backes
d9a3fac502 Disable the "preamble invalid" interrupt for the RFM22b module. It causes
high CPU load and isn't used anyway.
2014-11-15 11:37:06 +01:00
Karl Knutsson
5ab924c07e Revert "OP-1522 Robustness of OPLink radio"
This reverts commit 00d9c66867.
2014-10-16 08:23:10 +02:00
Karl Knutsson
5ef8d3803d Revert "OP-1530 Use rfm22b_dev->num_channels"
This reverts commit 4e365f6dff.
2014-10-16 08:23:10 +02:00
Karl Knutsson
b69e222456 Revert "OP-1532 fix non-ppm mode"
This reverts commit 9fd4fb26b9.
2014-10-16 08:23:10 +02:00
Karl Knutsson
9fd4fb26b9 OP-1532 fix non-ppm mode
Always send packets from the coordinator.
Previously the coordinator only always sent packets
on channel 0. This scheme doesn't work with
with the change to use 32 channel.
2014-10-08 20:59:51 +02:00
Karl Knutsson
4e365f6dff OP-1530 Use rfm22b_dev->num_channels
Use the number of allocated channel from the num_channels field
in the pios_rfm22b_dev struct rather than from the maximum number
of possible of channels given the configured speed.
2014-10-07 22:50:52 +02:00
Karl Knutsson
00d9c66867 OP-1522 Robustness of OPLink radio
Increase number of channels to 32 for all bit rates.
Synchronize clock on all channels.
Go into failsafe after 4 or 8 (one_way_link) missed packets.
Don't stay on channel 0 if we dropped a packet.
2014-10-03 22:20:11 +02:00
Karl Knutsson
1c6e9b3cc4 OP-1510 don't hard code tx_power to 100mW 2014-10-03 22:20:11 +02:00
Alessio Morale
c6a773363f Merge branch 'amorale/OP-943_add_malloc_for_ccsram' into next
Conflicts:
	flight/pios/common/pios_adxl345.c
	make/apps-defs.mk
2014-06-22 19:31:03 +02:00
Alessio Morale
eb5deb3eca OP-1274 Remove unneeded cast from task name in xTaskCreate call 2014-06-18 01:47:43 +02:00
Alessio Morale
6226aec2a7 OP-943 uses pios_mem API for heap allocation 2014-06-11 22:15:40 +02:00
Alessio Morale
e9fff2b6fa OP-1274 fixes for OPLink 2014-05-18 22:56:44 +02:00
Philippe Renon
1b356341c7 OP-1033 pios_rfm22b.c will not be messed up by uncrustify anymore :) 2014-04-09 09:06:18 +02:00
Corvus Corax
597ac4db2a OP-1195 increase priority for pios radio link driver task 2014-02-02 14:09:50 +01:00
Philippe Renon
d668153b6d OP-1122 OP-1125 fixed copy/paste error in rfm22b flight code 2013-12-14 16:03:42 +01:00
Brian Webb
0d02df4d02 Uncrustified OPLink code. 2013-07-05 18:49:26 -07:00
Brian Webb
d0d8a0aadd OP-932 Adds PWM outputs to OPLinkMini. Both gpio pins on the main and/or flexi port can be configured to output PWM for a total of up to 4 PWM outputs. 2013-07-03 18:58:34 -07:00
Brian Webb
c76ee7de9d OP-932 Fixes the failsafe that detects when the Rx modem loses sync with the Tx modem. This was not working on one-way mode. 2013-06-30 16:08:50 -07:00
Brian Webb
491e5fe685 Adds a failsafe on PPM output on OPLink that kicks in when the link goes down. Also updates all air datarate settings and adds new 64 and 100 kbps modes. 2013-06-29 15:00:38 -07:00
Brian Webb
d5f16faaec OP-932 Fixes the datarate used on PPM only mode, and fixes failsafe on PPM output on OPLM. 2013-06-26 20:11:39 -07:00
Brian Webb
caa8d3e70e OP-932 Forces one-way to be set when PPM only is configured. 2013-06-26 18:02:08 -07:00
Brian Webb
2aea2342ab OP-932 Adds a direct PPM channel on each Tx packet when in PPM mode, and adds a PPM only mode that uses a 9600 bps air datarate. Also updates the OPLink configuration tab and moves all OPLink configuration to the OPLink configuration tab on the Revo, and customizes the OPLink configuration tab for the Revo. 2013-06-26 18:01:54 -07:00
Brian Webb
44a0266e41 OP-932 Adds claiming of the SPI bus in the OPLink channel change function. 2013-06-26 18:00:02 -07:00
Brian Webb
56a60f2983 OP-932 Updates the 19.2 kbps datarate using the spreadsheet. 2013-06-26 17:59:49 -07:00
Brian Webb
61c453f6ff Removes several of the air datarate settings, and fine tunes the calculation of the max packet length from the datarate and packet time. 9600, 19200, 36400, and 57600 modes tested. Tested 19200 in one-way mode for PPM only. 2013-06-26 17:59:33 -07:00
Brian Webb
cdd51537f1 Fixes the 9600 bps air datarate for the RFM33B modem. 2013-06-26 17:57:46 -07:00
Brian Webb
fc0328a3cd OP-932 Adds working one-way mode to the OPLink radio connection. In this mode, packets will only flow from the ground side (coordinator modem) to the flight side modem. 2013-06-26 17:57:32 -07:00
Brian Webb
774a74884a OP-932 Replaces the RFM22B PPM/receiver code with an OPLinkReceiver UAVObject. This object is generated on a coordinator OPLink, and is used by both the OPLink to generate PPM output, and the OPLinkReceiver on the Revo. 2013-06-26 17:57:11 -07:00
Brian Webb
8c370df319 OP-932 A significant re-work of the OPLink and configuration of the OPLink. Auto-configuration is removed, and remote modems are bound the coordinator, rather than the other way around. Timing of the radio link is also significantly changed. The rfm22b code is also simplified so that it only sends packet, and has no notion about what those packets are, so the rfm22b is converteded to simply a com type device. 2013-06-26 17:56:56 -07:00
Brian Webb
e9f83bcc80 Fixes a bug in the rfm22b driver that was reading past the end of the bindings list when receiving a status message. Also adds some formatting changes that came about after doing a make uncrustify_all. 2013-05-26 08:36:38 -07:00
Brian Webb
ac4847c8ac OP-932 Moves the configuration of the com ports on the coordinator OPLink to startup. 2013-05-21 19:48:21 -07:00
Brian Webb
dbce08a151 OP-932 Changes the radio task loop to loop every 1ms, and reduces the tx transmit period back down to 8ms. Also reduces the Tx windows to 1ms for each modem, and reserves the latter half of the Tx window for channel changing. 2013-05-21 17:40:05 -07:00
Brian Webb
d4a4588011 OP-932 Changes the RFM22 frequency hopping to change channels every Tx period. Also increases the Tx clock period from 8ms to 16ms, and adds a check on calculation the the time delta that it doesn't change the previous estimated time delta by too much. If the delta between the current time delta and the previously estimated time delta is too large it could indicate that there was a delay somewhere that makes the calculated time delta inaccurate.
Rearanges the packet send priority in the rfm22b driver so that PPM packets are top priority.
2013-05-20 20:49:24 -07:00
Sexy Pony
900f643bbd Reformat source code with 'make uncrustify_all' run twice. NO CODE CHANGES 2013-05-19 17:37:30 +03:00
Werner Backes
bb87e6390e Update ppm_fresh if we receive a new PPM packet in order to keep the
rfm22b receiver supervisor happy.
2013-05-06 12:00:58 +02:00
Brian Webb
ae8286e99a OP-932: Fixes a bug that was preventing setting of Tx power on remote modem. 2013-05-06 01:03:15 +01:00
Richard Flay (Hyper)
a2d8544931 OP-931: adds -Wextra compiler option for the flight code, and makes the bazillion code changes required
to make the flight code compile again. Needs careful review, particularly all the fixes for the
signed vs unsigned comparisons.

+review OPReview-459
2013-05-05 16:32:24 +09:30
Brian Webb
dc4455ff68 OP-932: Fixes a bug that was preventing setting of Tx power on remote modem. 2013-05-04 17:24:40 +01:00
Brian Webb
57552f4cc9 OP-932: Changed the clock syncronization to happen only on packts transmitted from the coordinator to the remote modem. The Tx finished time of the previous packet is now sent in the packet header. This is compared to the Rx complete time of that packet on the remote modem to calcualte the difference between two modems. This eliminates the need for ACKing, so ACKs were removed for PPM and status packet. 2013-05-04 16:50:08 +01:00
Richard Flay (Hyper)
87fcf9fa8b Merge branch 'next' into hyper/OP-931_extra_compiler_warnings and update as necessary.
Hopefully properly fixes conflicts:
	flight/modules/Attitude/attitude.c
	flight/modules/ManualControl/manualcontrol.c
	flight/modules/Osd/WavPlayer/wavplayer.c
	flight/modules/Osd/osdgen/osdgen.c
	flight/modules/System/systemmod.c
	ground/uavobjgenerator/generators/flight/uavobjectgeneratorflight.cpp
2013-05-04 11:12:44 +09:30
Brian Webb
12e8adbdc4 OP-932: Fixes vitual com port and (not tested) raw comms over a UART on the OPLink. 2013-05-03 14:46:01 +01:00