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

35 Commits

Author SHA1 Message Date
James Cotton
d75fef52ee Increase the overo event queue size to try and stop getting warnings. Only
allocate when using overosync.
2012-07-24 09:48:24 -05:00
James Cotton
ea5c3be026 Need to add hooks in sendObject and receiveObject to actually transmit _TS objects 2012-07-24 02:57:51 -05:00
James Cotton
858c2cd512 Increase the size of the overo queue 2012-07-24 01:54:04 -05:00
James Cotton
bcdd5a8bba Fixes to the overo module where it was thinking the fifo buffer writes failed 2012-07-20 13:45:31 -05:00
James Cotton
5091b16065 Needs work but it's sending data now 2012-07-20 11:36:49 -05:00
James Cotton
6a3c067c18 Zero out the packet counter when pios_over is initialized. 2012-07-20 10:45:20 -05:00
James Cotton
6b3e5573a0 The overosync module now uses pios_com interface. 2012-07-20 09:46:28 -05:00
James Cotton
4306afa841 Update the module and overosyncstats to track buffer underruns 2012-07-17 17:21:51 -05:00
James Cotton
9c91436428 Clean up some cruft from Overo module and add a packet counter 2012-07-17 16:17:56 -05:00
James Cotton
db27653859 Make the Overo module use the new driver 2012-07-17 16:11:23 -05:00
James Cotton
a6ba379af9 PIOS_OVERO driver which handles the communications to the overo and ensures the
data stays in frame.
2012-07-17 15:34:54 -05:00
James Cotton
bc075c5d2c Only schedule overo packets on the NSS line rising to avoid the frame sync
errors we were seeing previously
2012-07-17 11:45:45 -05:00
James Cotton
9eee4f1bc7 Made OverSynce an optional module.
Conflicts:

	shared/uavobjectdefinition/hwsettings.xml
2012-07-14 09:07:22 -05:00
James Cotton
f5b2575c88 Merge branch 'next' into revo
Conflicts:
	flight/PiOS/Boards/STM32F4xx_Revolution.h
	flight/Revolution/System/inc/pios_config.h
	package/Makefile
2012-06-07 12:45:06 -05:00
Mike LaBranche
bf591ebe45 Merge branch 'next' into MikeL
Conflicts:
	flight/Bootloaders/Revolution/inc/pios_config.h
	flight/Modules/OveroSync/inc/overosync.h
	flight/Modules/Sensors/inc/sensors.h
	flight/PiOS/Boards/STM32F4xx_Revolution.h
	flight/PiOS/STM32F4xx/pios_iap.c
	flight/Revolution/System/inc/pios_config.h
	ground/openpilotgcs/src/plugins/config/config.pro
	ground/openpilotgcs/src/plugins/config/configccattitudewidget.cpp
	ground/openpilotgcs/src/plugins/config/configvehicletypewidget.cpp
2012-06-04 15:38:57 -07:00
James Cotton
b71e9fc9dc Create simulated OveroSync module which simply drops updates to log file 2012-04-14 22:01:33 -05:00
James Cotton
aa6c8a451d Shrink some stack sizes 2012-04-07 00:58:36 -05:00
James Cotton
372f959c37 Refine some stack sizes 2012-04-03 03:42:30 -05:00
James Cotton
8c8224c122 Use a bigger event queue for overo logging to avoid event system warnings, and
add code to shortcircuit formatting a packet if it will not fit.
2012-04-03 03:42:19 -05:00
James Cotton
c957172f8f In the case of swapping in userspace due to the buffer being blocked during
ISR, make sure the latency is less than 50 us to avoid framesync errors.  Still
seeing a few nonsense packets on Overo side but fairly few.  Probably need to
add CRC to whole packet now and call it done.
2012-02-14 11:06:16 -06:00
James Cotton
1930d092eb In the case where the overo scheduler cannot swap buffers (userspace loading
it) then set a flag so as soon as the buffer is loaded then we schedule it.
2012-02-14 11:00:29 -06:00
James Cotton
f04c58b0f4 Make the overo transaction occur based on the rising edge of the NSS line.
This fixes most of the frame sync problems.  However, it's a bit hacky as
there is currently hardware information inside a module.
2012-02-14 10:37:30 -06:00
James Cotton
6ec0f06c80 Back to 1024 byte packets 2012-02-07 13:02:11 -06:00
James Cotton
2c60447200 Switch back to 512 byte packets and fix bug when writing the header size that
was smashing the crc
2012-02-07 11:32:04 -06:00
James Cotton
221a0c5e53 Add the number of dropped updates to the overosync stats 2012-02-07 09:13:26 -06:00
James Cotton
a89d425b23 Reset the received rate for overo sync object 2012-02-07 09:01:58 -06:00
James Cotton
ae01936808 Add the portTickTime into the OveroSync stream 2012-02-06 10:00:02 -06:00
James Cotton
dbcb499d7f Add object to monitor the overo link status. Current just records the bytes/s
being sent and the connected status (based on sending more than 500 bytes per
second)
2012-02-06 09:37:31 -06:00
James Cotton
5b2376dbee Remove the semaphore for buffer swapping and make this occur during the receive
ISR.  This leads to a possible condition where a copy is taking place in
userspace and then a buffer swap interrupts it.  However, the copy should
always finish before the SPI DMA slave catches up to that place in memory at 10
MHz.

This fixes a common condition where the userspace task (low priority) was not
swapping buffers in time from user space and logs were corrupted.
2012-02-06 08:21:24 -06:00
James Cotton
179e66b754 Refactor how new packets are scheduled to avoid trying to start a transaction
from an ISR.  This was causing lock ups.  It's a bit higher latency probably
(trivially slow) but if we aren't keeping up with the Overo transactions then
using a proper DMA double buffer will be required.
2012-02-04 20:11:31 -06:00
James Cotton
4e190f99e2 Improved the revo overosync code to put multiple uavobjects into a packet 2012-02-04 12:06:03 -06:00
James Cotton
c26154f303 Switch back to 256 byte packets and 0xFF pad the end 2012-02-02 11:40:49 -06:00
James Cotton
8b1137c6a0 Align the tx and rx SPI buffers from Overosync 2012-02-02 11:23:40 -06:00
James Cotton
0a71a48c57 Sending all FF finally again 2012-02-02 10:36:09 -06:00
James Cotton
95abb56d5e Added module to send updates out the SPI port 2012-02-02 09:19:25 -06:00