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

68 Commits

Author SHA1 Message Date
Brian Webb
9225debdc1 Added initialization of the ECC, which was removed with the removal of the packet handler. Removed a couple of test functions from RadioComBridge module. Turned on watchdog timers in RadioComBridge (and RFM22B driver). 2012-12-17 19:33:42 -07:00
Brian Webb
c4c58331e5 RM: Now doesn't crash when the radio is disabled. 2012-12-16 09:16:19 -07:00
Brian Webb
43f6b4150f RFM22: Don't send status until the link is connected. 2012-12-15 09:56:27 -07:00
Brian Webb
3a1803b7a1 Added RFM22B (OPLink) receiver. 2012-12-13 21:07:19 -07:00
Brian Webb
6e929d7a92 Fixed configuration of PPM input. 2012-12-12 20:27:08 -07:00
Brian Webb
90e0746ade RFM22B: Changed default (initial) air baud rate to 9600. Also some code cleanup. 2012-12-11 19:23:59 -07:00
Brian Webb
1d7e4e0fc2 Reduced length of transmit window period to 8 ms from 16 ms. 2012-12-11 17:44:22 -07:00
Brian Webb
8ead1200b9 RFM22B: Added timing synchronization on transmit to try to eliminate both sides transmitting at the same time. This now achieves virtually 0 re-transmissions for close range transmission while transmitting both full telemety and PPM at 64k. 2012-12-11 17:44:20 -07:00
Brian Webb
7f6a718354 RFM22B: Added optional debug signals on the telemetry port of the PipX. Also fixed a couple of bugs that were causing excessive re-transmissions (found using the debug signals). 2012-12-11 17:44:19 -07:00
Brian Webb
fecc23eb49 RFM22B/OPLink: Auto-configuration of remote com port now working. 2012-12-11 17:44:17 -07:00
Brian Webb
6ffe518509 RFM22B: Improved link stability, and added tracking of error encountered in the processes of transmitting and receiving. 2012-12-11 17:44:15 -07:00
Brian Webb
4cb311538a RFM22B: Improved reliability, especially with reconnection after a timeout, although there is still too many resent packets. 2012-12-11 17:44:14 -07:00
Brian Webb
6ed9b63da9 RFM22B: Changing configuration parameters over-the-air working. Added tracking of Tx/Rx sequence number. Still seeing too many resent packets. 2012-12-11 17:44:11 -07:00
Brian Webb
0dce12e984 RFM22B: Finised handshacking on ACK and changed the link quality metric to use resent packets rather than missed packets. 2012-12-11 17:44:09 -07:00
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