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
Brian Webb
77b99cdafa
OP-914 - Converted PIOS_RFM22B_Validate back into a normal function from an inline.
2013-04-27 01:44:39 +01:00
Oleg Semyonov
b6e1331e5d
Rename flight/PiOS->flight/pios
2013-04-25 13:13:41 +03:00