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

52 Commits

Author SHA1 Message Date
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
Brian Webb
80cef9dbcc OP-932: Fixes vitual com port and (not tested) raw comms over a UART on the OPLink. 2013-05-02 04:23:26 +01:00
Brian Webb
d8b09f132f OP-932: Removes requirement to ACK PPM packets. 2013-05-01 15:28:33 +01:00
Brian Webb
8c763c8ed3 OP-932: Improves the timing of channel changes on the radio device. 2013-05-01 14:37:47 +01:00
Brian Webb
a7d606dfe9 OP-932: Syncronize start of transmissions using the same coordinated clock as used by FHSS. 2013-05-01 03:46:46 +01:00
Brian Webb
2201d9d2bb OP-932: Continued cleanup and modularization of radio code. Also fixed a bug that held the SPI lock when an error occured in an Rx. 2013-05-01 03:14:35 +01:00
Brian Webb
ef18319306 OP-932: Continued cleanup and modularization of the RFM22B radio code. Low-level radio driver has mostly been split out of the higher-level state machine. 2013-05-01 03:14:23 +01:00
Brian Webb
94cb92f410 OP-932: Additional restructuring of radio code. 2013-05-01 03:14:11 +01:00
Brian Webb
cb24d3266e OP-932: Hold SPI bus semephore through multiple read/write transactions. 2013-05-01 03:13:58 +01:00
Brian Webb
8c59271d48 OP-932: Store the device status in bitfields with meaningful names. 2013-05-01 03:13:48 +01:00
Brian Webb
c3ea1bf3c0 OP-932: Fixed GPIO debugging on RevoMini (both V1 and V2) 2013-05-01 03:13:36 +01:00
Brian Webb
39c6e81d07 OP-924: Ensures that the PPM pulse turns off between PPM frames. 2013-05-01 02:48:48 +01:00
Brian Webb
56a524ab9e OP-924: Completely turn off PPM output when it's not being refreshed. Also fixed testing of PPM input on the OPlink that was broken when the return values were changed to negative values. The PPM values were being stored in an unsigned datatype, which made detecting negative error returns impossible. 2013-05-01 02:48:45 +01:00
Richard Flay (Hyper)
7937ae6296 OP-931: Makes flight code compile with -Wfloat-equal and -Wunsuffixed-float-constants enabled.
Also fixes warnings (and bugs) in F4 STM32_USB_OTG_Driver code, allowing -Werror to be enabled for all flight code.
Fixes all other compiler warnings that would otherwise cause the flight code to not compile with -Werror enabled.
Along the way, this also adds some uses of isnan() to various places rather than questionable tests for x != x and
x == x to check for NaNs.

+review OPReview
2013-04-30 20:36:42 +09:30
Brian Webb
bb6986ea04 OP-914 - Converted PIOS_RFM22B_Validate back into a normal function from an inline. 2013-04-27 01:45:19 +01:00
Brian Webb
a9079bfb7e OP-914: Additional cleanup of the RFM22B driver code. Updated to code to the current coding standard. Added Doxygen documentation. Rearranged functions into functional groups to simplify reading the code. 2013-04-27 01:44:55 +01:00