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

54 Commits

Author SHA1 Message Date
Brian Webb
7aaa02268f RFM22B: Added TX Resent to OPLink status. Also removed the need for the packet queue. 2012-12-11 17:44:08 -07:00
Brian Webb
fa5f7a8fdd RFM22B: All packets are now ACKed, and added a formal connection request / accept that will be used or auto-configuring the remote modem. 2012-12-11 17:44:06 -07:00
Brian Webb
98026966f7 RFM22B: Added PPM packets to rfm22 driver. 2012-12-11 17:44:04 -07:00
Brian Webb
04da5d2377 USB/COM/RFM22B: Added a standard com callback to test for link availability. This replaces the PIOS_USB_CheckAvailable function with a generic PIOS_COM_Available function. This is now used by the RFM22B com driver to test if a good link is up. This was originally written by James, and Brian merged it into the latest RFM22B branch. 2012-12-11 17:44:03 -07:00
Brian Webb
e36bd678e1 RFM22B: Allow a receive to happen between transmitts. 2012-12-11 17:44:01 -07:00
Brian Webb
9f43e1151c RFM22B: Fixed status reporting and connection status for OPLink. 2012-12-11 17:44:00 -07:00
Brian Webb
bd42083376 RFM22B: Changed the way the frequencies and power settings are set for the rfm22b device. 2012-12-11 17:43:55 -07:00
Brian Webb
dae382564a RFM22B/RM: Added rfm22b com device, moved remaining functionality in the radio module to the rfm22 driver, and simplified configuration of the PipX/OPLink. The radio device now presents itself completely as a com device, both in RadioComBridge (OPLink devices) and Telemetry (RM). Also change the PipXStatus and PipXSettings UAVOs to OPLinkStatus/OPLinkSettings. 2012-12-11 17:43:53 -07:00
Brian Webb
4b90f81f6f RFM22B: Modified the method of tracking RX errors, and now reporting Good, Corrected, Error, and Missed packets to the GCS. Also removed some less useful fields from the PipXStatus. 2012-12-11 17:43:49 -07:00
Brian Webb
9ea572f4f7 RFM22B: Fixed the signedness of the return value of the RSSI function. 2012-10-04 21:23:44 -07:00
Brian Webb
5724fa083c RFM22B: Added link quality calculation based on number of dropped packets. Also added packet error correction, which apparently wasn't being done before. 2012-10-04 21:11:40 -07:00
Brian Webb
9b9d0c0d1e RFM22B: Added back configuration of the RF Power and RF Datarate. Also added setting of the destination ID in the rfm22b driver. 2012-10-03 20:03:35 -07:00
Brian Webb
3cdb9df05f RFM22B: Removed setting register 0x58 in the rfm22_setDatarate call, which was breaking all data rates < 100000 bps. Also temporatily fixed the datarate at 64kbps. 2012-10-02 20:59:43 -07:00
Brian Webb
a8590045a8 RFM22B: Moved radio status reporting from the radio module into the rfm22b driver task. 2012-10-02 19:52:21 -07:00
a*morale
be752b8075 Fixed some declaration to Exti functions to make it compile. 2012-09-30 17:04:36 +02:00
Brian Webb
6972c29813 RFM22B: Added check for timeout wating for sync on receive. This virtually eliminates the number of timeouts. 2012-09-25 18:10:15 -07:00
Brian Webb
88be2ddf1e RFM22B: Added a message timeout event to the RFM22B state machine that will fire if a packet takes too long to transmit / receive. 2012-09-24 20:51:34 -07:00
Brian Webb
a070e1cc3e RFM22B: Added PIOS_RFM22B_Receive_Packet function and removed rx buffer. 2012-09-23 08:36:38 -07:00
Brian Webb
a46e3cdec3 RFM22B: All outgoing data to the radio is now going through the PIOS_RFM22B_Send_Packet call. Also removed all global variables with the exception of the rx buffer. 2012-09-22 20:13:11 -07:00
Brian Webb
61200f01f5 RFM22B: Major refactoring of te RFM22B driver to implement a state machine for the driver. The state machine should now be complete, and the driver seems to be working pretty well on both the RM and the pipx. 2012-09-22 20:13:10 -07:00
Brian Webb
80509d264e RFM22B: Start at cleaning up the processing interrupt handling, and starting to make it more of a state machine. Also removed the supervisor, which was causing unnecessary resets. The supervisor functionality is not in the the driver thread. 2012-09-22 20:13:08 -07:00
Brian Webb
8ca2e85f4c RFM22B: Removed incorrect defaulting of tx power level. 2012-09-22 20:13:05 -07:00
Brian Webb
6623c55846 RFM22B: Moved ISR processing thread into the rfm22b driver. 2012-09-22 20:13:03 -07:00
James Cotton
527edcbee9 RFM22b: Get rid of the burst read commands and do a block transfer 2012-09-08 12:39:14 -05:00
James Cotton
1f0004e9db RFM22b: Abstract out the port into the driver initiation
Also use a separate function to claim the bus semaphore and
assert the CS line.
2012-09-08 12:38:54 -05:00
James Cotton
68fa464ccf RM: Make the direction of the TX/RX lines come from the configuration file 2012-09-04 23:22:56 -05:00
James Cotton
844d14e2f5 RM (NOT FOR PIPX) Properly select the GPIO->RX/TX mapping 2012-09-04 10:22:04 -05:00
James Cotton
0b947b243d Revert "RFM22b: More block claims for rfm22_txStart"
This reverts commit fa4ca426abf5671fc7d0b7206f85f14bcbf92c3d.
2012-09-02 22:44:58 -05:00
James Cotton
dce4f36328 RFM22b: More block claims for rfm22_txStart
Warning: This patch makes the modem work more poorly
2012-09-02 22:44:58 -05:00
James Cotton
311bbcb539 RFM22b: Block transfers for more large SPI transfers
Preallocated buffers with various preambles etc.  Used SPI_TransferBlock for
anything over a few bytes instead of burstWrite.  Also make more of the
communications wrappered in a large semaphore grab using a new rfm22_write_noclaim()

Still needs work - probably because most of the methods to repeated calls they should
all use the noclaim, or more specifically that function becomes rfm22_write/read.
2012-09-02 14:35:56 -05:00
James Cotton
588297806c RFM22b: Use SPI block transfers for filling the RFM22b FIFO
Also removed the disable irq line since that was introducing
flight glitches.
2012-09-01 21:24:42 -05:00
James Cotton
997319ae80 RFM22b: Begin doing blocks of transfers when possible between semaphore claims
The abstraction should probably be improved but ideally we start using
the DMA SPI transfers for PipX and grabbing/releasing the semaphore less
frequently (e.g. not for each 1-2 bytes).
2012-09-01 21:07:38 -05:00
James Cotton
042055b29a RFM22b: Call the pendingISR routine from all the user space tasks. Got a valid connection with this. 2012-08-26 04:18:17 -05:00
James Cotton
f7cda1c0c4 RFM22b: No need to initialize the SPI. Done already. 2012-08-26 02:42:18 -05:00
James Cotton
477385ca25 RFM22b: Start to move the ISR into userspace 2012-08-26 02:41:19 -05:00
James Cotton
b1bd6d8583 PIOS_RFM22b: No need to set the SPI clock speed in the RFM22b module - it can be set by the driver configuration. 2012-08-26 00:00:39 -05:00
James Cotton
84d327c46a RFM22b: Claim the bus semaphore before reading and writing. 2012-08-25 23:17:52 -05:00
Brian Webb
fad32dcc29 Split out the PipX radio interface from RadioComBridge module to a separate Radio module. Now the RadioComBridge module just routes messages between the com ports and handles sending/receiving the PipX UAVOs. 2012-08-25 11:41:32 -07:00
Brian Webb
861bcc46fe Fixed RSSI reporting on PipX. 2012-06-06 21:14:31 -07:00
Brian Webb
e9d0909a68 Further improvements in link reliability on the PipX. 2012-06-06 17:44:56 -07:00
Brian Webb
5876df250d Improved lockups on dropped packets. 2012-06-05 21:10:32 -07:00
Brian Webb
454144f46c Pairing and saving settings working. 2012-05-06 20:47:21 -07:00
Brian Webb
e83fec0463 Merged latest origin/next. 2012-05-05 09:40:44 -07:00
Brian Webb
f726cc6a9d Added a RTC supervisor timer to RFM22B driver. 2012-04-21 18:31:49 -07:00
Brian Webb
62c5036220 Added PipXStatus and PipXSetting UAVobjects and some initial support for them. 2012-04-17 17:36:05 -07:00
Brian Webb
4936cd8fd2 Added PipXStatus and PipXSettings UAVObjects and added support the sending/receiving UAVTalk objects on the PipX. 2012-04-10 20:22:53 -07:00
Brian Webb
7b49a6b820 Added watchdog to radio com bridge in PipXtreme. 2012-04-07 19:12:49 -07:00
Brian Webb
bc1adb2519 Some cleanup of rfm22 driver. 2012-04-06 17:36:35 -07:00
Brian Webb
fff93910e2 RFM22B device now fully interrupt driven. Packet handeling moved to RadioComBridge module. 2012-04-05 20:24:50 -07:00
Brian Webb
823b111d60 Added Reed-Solomon error correction to PipXtreme. The code is a slight modification of rsscode (http://rscode.sourceforge.net). Packet acking has also been turned on as the default, so each packet is error corrected, and if errors remain, the packet is NACKed, otherwise it is ACKed. Also temporarily turned off UAVTalk parsing. This was causing the CC to be identified as a PipX due to the PipX sending UAVObjects (I believe) from the system module. The system module is going to have to be modified/replaced for the PipX. 2012-03-18 17:43:29 -07:00