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

252 Commits

Author SHA1 Message Date
Alessio Morale
976ad90211 OP-901 Updated F4 CMSIS startup files, Moved USB OTG and USB Device library to common 2013-05-18 14:03:03 +02:00
Alessio Morale
67e41c34fc Merge remote-tracking branch 'origin/next' into amorale/usb_fixes 2013-05-17 22:46:42 +02:00
Alessio Morale
2735f8a620 OP-901 Updated common CMSIS files 2013-05-17 22:41:34 +02:00
Richard Flay (Hyper)
ae14c13195 Merge branch 'next' into hyper/OP-951_add--Wshadow-to-flight-CFLAGS
Conflicts:
	flight/modules/ManualControl/manualcontrol.c
2013-05-16 06:28:56 +09:30
Richard Flay (Hyper)
ef5bb6f6fe Merge branch 'next' into OP-950_spi_fixes_FreeRTOS 2013-05-16 05:41:09 +09:30
Alessio Morale
707e648457 OP-905: Fixes. Prevent LogFS from triggering watchdog 2013-05-14 18:43:39 +02:00
Richard Flay (Hyper)
ed68fbe68d OP-951: Adds -Wshadow to flight CFLAGS and fixes resulting compilation breakage.
+review OPReview
2013-05-14 07:01:45 +09:30
Oleg Semyonov
e5970ed25d logfs: fix unit tests (requires MIN declaration from pios_math.h) 2013-05-12 03:51:00 +03:00
Stacey Sheldon
0d8fe83dca usb cdc: advertise support for line coding and serial state
The CDC descriptor was not advertising support the the line
coding and serial state messages.  This was preventing Mac
from sending the SetControlLineState message to indicate
that a DTE (ie terminal program) was present and reading
from the serial port.

We support (and depend on) the DTE indication now so this
was making CDC not work on Mac.

Linux seems to provide the indication regardless of whether
it is advertised in the descriptor or not.
2013-05-11 22:41:03 +02:00
Stacey Sheldon
b56f5206bd com/usart/cdc: ensure that device structs are memset before use
CDC and USART device drivers were not all clearing their
device structs before using them.

This specifically caused crashes in the case where the upper
COM layer was binding only a Tx path.  The Rx path callback
in the lower driver was uninitialized random data and would
result in the lower driver faulting when it tried to call the
callback.

Conflicts:
	flight/PiOS/STM32F30x/pios_usart.c
	flight/PiOS/STM32F30x/pios_usb_cdc.c
	flight/PiOS/STM32F30x/pios_usb_hid.c
2013-05-11 22:40:59 +02:00
Stacey Sheldon
e16be98224 usb cdc: ensure com buffer is drained when no DTE is attached
The CDC layer on F1, F3 and F4 now always acts like an
infinte data sink whenever *either* there is no DTE present
(ie. no terminal program listening) *or* the USB cable is
disconnected.

F1 and F4 were previously checking the cable but not the DTE.
F3 didn't check anything.  The COM layer didn't even ask the
lower layers.

All of this used to mean that any time a caller did a blocking
send to a CDC device without a DTE, it would eventually block
for up to a 5s timeout waiting for space in the Tx buffer.

Conflicts:
	flight/PiOS/STM32F30x/pios_usb_cdc.c
2013-05-11 22:40:58 +02:00
Richard Flay (Hyper)
04f59d5910 OP-950: Adds "higher priority task woken" logic to SPI and SPI bus resident
sensor device drivers. Based partly on code contributed by lilvinz.

+review OPReview
2013-05-11 16:18:34 +09:30
Werner Backes
7c9d2ce9a5 Merge branch 'D-Lite/OP-934_rfm22b_rcvr_timeout_handling_next' into next 2013-05-10 09:59:30 +02:00
Stacey Sheldon
8ab50bca13 flashfs: use uintptr_t instead of uint32_t in flashfs API 2013-05-08 19:42:01 +02:00
Stacey Sheldon
99e61dd617 logfs: support multiple instances of logfs
Conflicts:
	flight/pios/common/pios_flashfs_logfs.c
	flight/pios/inc/pios_flashfs_logfs_priv.h
	flight/tests/logfs/pios.h
	flight/tests/logfs/pios_config.h
	flight/tests/logfs/unittest.cpp
2013-05-08 19:28:11 +02:00
Werner Backes
938ed58918 Corrected timout calculation formula. 2013-05-06 14:20:53 +02: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
Richard Flay (Hyper)
fbc8bc698f OP-936: Merges branch 'next' into hyper/OP-936_task-monitor-rework, fixes damage/conflicts,
and brings the callback scheduler into the fold.

+review OPReview-461
2013-05-06 19:11:14 +09:30
Werner Backes
0005d643ca Merge branch 'D-Lite/OP-934_rfm22b_rcvr_timeout_handling' into D-Lite/OP-934_rfm22b_rcvr_timeout_handling_next 2013-05-06 08:23:22 +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
33cb06b1b0 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into OP-932-Modularize_Radio_Driver 2013-05-04 01:30:01 +01:00
Oleg Semyonov
137ddbf73a Fix broken unit tests 2013-05-03 20:27:03 +02:00
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
84a0f981e0 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into OP-932-Modularize_Radio_Driver 2013-05-03 14:08:40 +01:00
Richard Flay (Hyper)
84e1a81f8b OP-936: Moves the task monitor code out of the flight library and into PiOS.
This move and rework also breaks the dependency of the task monitor on the UAVO subsystem,
and pushes the responsibility for updating the TaskInfo UAVO into the System module.

+review OPReview
2013-05-03 07:01:14 +09:30
Werner Backes
b48665e59b rfm22b receiver supervisor now properly indicates a timeout condition.
This allows upper layers to recognize control signal loss.
2013-05-02 12:57:00 +02:00
Sambas
f7b9223827 Merge remote-tracking branch 'remotes/origin/next' into sambas/diffnext
Conflicts:
	flight/modules/System/systemmod.c
	shared/uavobjectdefinition/taskinfo.xml
2013-05-02 09:00:12 +03: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
Richard Flay (Hyper)
80c917591e Cherry-pick and hand-merge of Sami's math cleanup commit from branch sambas/diffnext: 5f3e0c3e1d 2013-04-28 10:45:28 +09:30
sambas
5f3e0c3e1d Math cleanup 2013-04-27 16:30:02 +03:00
sambas
9fec3f5567 Merge remote-tracking branch 'remotes/origin/next' into sambas/diffnext 2013-04-27 13:39:58 +03:00
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
e2fd821e97 Merge remote-tracking branch 'origin/next' into sambas/diffnext
Conflicts:
	make/common-defs.mk
2013-04-26 16:31:19 +03:00
Oleg Semyonov
b6e1331e5d Rename flight/PiOS->flight/pios 2013-04-25 13:13:41 +03:00