Stacey Sheldon
859734af98
f4 usb: fix tracking of OUT requests with data stages
...
This code was mistakenly tracking the IN (device-to-host)
requests with data stages. It should have been tracking
the OUT (host-to-device) requests with data stages.
This tracking data is important now that CDC is supported.
CDC actually uses OUT requests with data stages whereas HID
does not. This bug only triggered once CDC was enabled.
2013-05-11 22:41:00 +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
Stacey Sheldon
c702ca0f1b
usbhook: fix up indentation
...
No functional changes.
2013-05-11 22:40:57 +02:00
Stacey Sheldon
cb6f4a474e
f4 usb: ensure data buffers are 4-byte aligned
...
4-byte alignment is required for DMA.
2013-05-11 22:40:56 +02:00
Stacey Sheldon
9cc70695d7
f4 usb cdc: add support for USB CDC to RevoMini
...
Conflicts:
flight/targets/RevoMini/System/inc/pios_config.h
flight/targets/RevoMini/System/pios_board.c
2013-05-11 22:40:56 +02:00
Stacey Sheldon
c6e893e1e5
usb: fix interfaces in USB HW defs for OSD
2013-05-11 22:38:28 +02:00
Stacey Sheldon
207bd671ac
usb: fix interfaces in USB HW defs for RevoMini
2013-05-11 22:38:27 +02:00
Stacey Sheldon
f4bed187f4
f4 usb cdc: implement CDC class driver for STM32 F4 SoCs
2013-05-11 22:38:26 +02:00
Stacey Sheldon
19714d2316
f4 usb: allocate TX FIFO RAM for endpoints 2 and 3
...
This is required to support USB CDC mgmt and data
endpoints.
2013-05-11 22:38:25 +02:00
Stacey Sheldon
02addaf4a0
usbhook: make ctrl endpoint OUT treat request as const
...
The req parameter is passed to the OUT stage as a convenience.
Since the OUT callback is called *after* the transfer has occurred,
modifying the req would have absolutely no effect. Marking this
as const makes this expectation clear.
2013-05-11 22:38:25 +02:00
Stacey Sheldon
590feefd9b
f1 usb cdc: ensure uart state is transmitted on control endpoint
...
Previously, the IN stage on the CTRL interface would write (and
send) its data via the buffer owned by the DATA endpoint. This
would probably have overwritten any data being sent at that
moment. This may have caused data corruption from FC -> GCS.
2013-05-11 22:35:19 +02:00
Fredrik Arvidsson
c7d42c876e
Merge remote-tracking branch 'origin/next' into thread/OP-935_Changes_Basic_Stab
2013-05-11 11:41:15 +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
Corvus Corax
336a50f7e4
dynamic is better than static
2013-05-11 02:02:04 +02:00
Corvus Corax
92d73e0e73
keep on stack for now
2013-05-11 01:56:57 +02:00
Corvus Corax
e3147eed1a
some changes as suggested in review
2013-05-11 01:33:56 +02:00
Corvus Corax
0a3b59ddea
ManualControl: Initialize scaledChannel to 0, - required to not fail compilation with -O3 (GCC claims about potentially uninitialized use)
2013-05-10 20:23:16 +02:00
Corvus Corax
b76df471ee
bugfix on revo proto. STM32F4 A revision has a hardware bug and cannot do flash prefetching properly
2013-05-10 19:53:51 +02:00
Werner Backes
7c9d2ce9a5
Merge branch 'D-Lite/OP-934_rfm22b_rcvr_timeout_handling_next' into next
2013-05-10 09:59:30 +02:00
Corvus Corax
c5cbbf1c19
OP-944 : Improve Extended Kalman Filter generic formula to work roughly as fast as the auto generated code, remove autogenerated code.
2013-05-09 21:26:35 +02:00
Richard Flay (Hyper)
cf14608ebe
Merge branch 'next' into hyper/OP-936_task-monitor-rework
2013-05-09 19:25:02 +09:30
Fredrik Arvidsson
ec27296b1b
Merge remote-tracking branch 'origin/next' into thread/OP-935_Changes_Basic_Stab
2013-05-08 13:42:30 +02:00
Alessio Morale
93bad2e8c2
Merge branch 'amorale/OP-917_f4_bootloader_updater' into next
...
***** PLEASE NOTE ***** From this revision all F4 based boards (Revolution/OSD) needs bootloader version 5 to boot properly
Conflicts:
flight/pios/stm32f4xx/libraries/CMSIS2/Device/ST/STM32F4xx/Source/osd/system_stm32f4xx.c
flight/targets/boards/osd/board-info.mk
make/boot-defs.mk
make/common-defs.mk
2013-05-07 21:02:41 +02:00
Fredrik Arvidsson
7a727f5496
OP-935 Changes order of setting groups on Advanced tab in Stabilization settings page.
2013-05-07 20:56:02 +02:00
Fredrik Arvidsson
914724d8c8
OP-935 Adds limits to Responsiveness settings.
2013-05-07 20:39:58 +02:00
Fredrik Arvidsson
23bc774a03
Merge remote-tracking branch 'origin/next' into thread/OP-935_Changes_Basic_Stab
2013-05-06 22:48:57 +02:00
Werner Backes
cc38ba0bdb
Revert 8fa793 because it's obsoleted by 938ed5.
2013-05-06 14:26:25 +02:00
Werner Backes
938ed58918
Corrected timout calculation formula.
2013-05-06 14:20:53 +02:00
David Ankers
417a0befd3
Change MaxAxisLock (angle) to be 30 deg.
2013-05-06 20:38:25 +10: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
Corvus Corax
39fe6beb4b
Merge branch 'corvuscorax/Attitude-fixes' into next
...
Conflicts:
flight/libraries/insgps13state.c
flight/modules/Attitude/revolution/attitude.c
2013-05-05 23:09:07 +02:00
Richard Flay (Hyper)
5e87448e8a
Merge branch 'next' into hyper/OP-931_extra_compiler_warnings
2013-05-06 06:03:23 +09:30
Fredrik Arvidsson
18798470f8
OP-935 Adds a 'Instant Update' check box on Advanced tab of Stabilization configuration.
2013-05-05 22:20:48 +02:00
Fredrik Arvidsson
daee2de918
OP-935 Fixes Default settings button for Responsiveness on Basic page.
2013-05-05 21:28:34 +02:00
Fredrik Arvidsson
25fa8746e4
Merge remote-tracking branch 'origin/OP-596_GCSController_output_fix' into next
2013-05-05 18:59:49 +02:00
Fredrik Arvidsson
a334c49151
OP-935 Fixes the Instant Update functionality on the Stabilization settings pages in the configuration plugin.
2013-05-05 18:48:48 +02:00
Corvus Corax
e0a6dae46a
made "fake" variances set in indoor mode and used for airspeed hack come from UAvObject
2013-05-05 18:19:43 +02:00
Corvus Corax
946105cbe3
Merge branch 'next' into corvuscorax/Attitude-fixes
2013-05-05 17:44:59 +02:00
Alessio Morale
5a2c53804f
OP-917 Make reboot over telemetry link works. UserDFU timeouts to the user application when no USB connection is found.
...
+review OPReview-456
2013-05-05 15:15:44 +02:00
Fredrik Arvidsson
176bd3c4f7
OP-935 Adds Responsiveness sliders to basic stabilization screen.
2013-05-05 12:45:35 +02: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
Alessio Morale
1e5ce7a5fb
OP-938 Add programmable EXP and max full throttle climb/descent rate
2013-05-04 18:50:19 +02:00
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
d7ca77b996
Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into OP-932-Modularize_Radio_Driver
2013-05-04 16:50:20 +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)
5b61466259
OP-931: Adds -Wdouble-promotion compiler option and fixes problems that the compiler then identifies.
...
+review OPReview-459
2013-05-04 19:24:01 +09:30