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

279 Commits

Author SHA1 Message Date
Alessio Morale
ae9f30c729 OP-1477 - Fix mag exti config, set correct rate, set correct SPI speed for hmc5x83. Note: GPIO is disabled as it seems there is some issues with Exti on PB0 2014-10-01 02:07:46 +02:00
Alessio Morale
9e0596c2c5 Merge remote-tracking branch 'origin/amorale/OP-1379_ext_led_notification_module_new' into next
Conflicts:
	Makefile
	flight/targets/boards/discoveryf4bare/firmware/Makefile
	flight/targets/boards/revolution/firmware/Makefile
2014-09-29 21:26:31 +02:00
Alessio Morale
93cf6b457f OP-1507 - optimize com fifo usage when RX callback receives a single byte 2014-09-27 00:20:15 +02:00
Alessio Morale
3c6a8e0395 OP-1379 - Prevent loosing any update to background notification and notifications with priority higher than current 2014-09-21 23:32:52 +02:00
Alessio Morale
f2a0daac5c OP-1477 - Add pios_ubx_ddc driver to handle i2c comms with UBlox GPS 2014-09-16 22:40:52 +02:00
Alessio Morale
984a7a675c OP-1275 - add ChangeBaud to PIOS_COM_MSG 2014-09-16 00:42:51 +02:00
Alessio Morale
94c39caa50 OP-1275 - Fix PIOS_COM to be used with no PIOS_INCLUDE_FREERTOS defined 2014-09-16 00:42:51 +02:00
Alessio Morale
b4c1a856c7 OP-1274 Implement 4 bytes aligment for standard malloc (while keeping 8byte alignment for RTOS Stuctures) as done for M3 2014-09-16 00:42:48 +02:00
Fredrik Larrson
ebfdaf28b5 Merge remote-tracking branch 'origin/havyan/OP-1473_sbus_eof' into next 2014-09-08 01:35:39 +10:00
Karl Knutsson
ec0d44e1b0 OP-1473 Fix EOF handling for R7008SB 2014-09-04 18:15:36 +02:00
Alessio Morale
1f74977472 OP-1379 add base types for colour, Initial ext rgb led api definition 2014-08-12 09:44:44 +02:00
Alessio Morale
6a3cb7b808 OP-1403 - Add support for multiple hmc* devices 2014-08-02 20:48:41 +02:00
Alessio Morale
57a43a5587 OP-1403 - Migrate to new HMC5x83 driver and remove old HMC5883 one 2014-08-02 20:48:34 +02:00
Alessio Morale
2a8429320d OP-1403 - Support HMC5983 temperature sensor/compensation 2014-08-02 20:48:24 +02:00
Alessio Morale
3c1b689224 OP-1403 - Add generic I2C/SPI HMC5x83 mag driver 2014-08-02 20:48:16 +02:00
Alessio Morale
6c38eda192 OP-1395 - Reset log num when changing flight num. fix flight num update logic 2014-07-09 23:05:38 +02:00
Alessio Morale
61d26d7fd8 op-1395 - automatically increment flight number after disabling log. 2014-07-09 08:39:32 +02:00
Alessio Morale
711c3609b6 OP-1395 - Add support for Fast read, explicitly set SPI clock speed to maximum allowed by all parts used 2014-07-08 02:53:25 +02:00
Alessio Morale
55b325966a OP-1395 - Pack several objects on a single Debug Log "slot", after ten consecutive failures (log full) gives up trying to save to prevent wasting time. Use PIOS_Delay for timestamp 2014-07-08 02:47:09 +02:00
Alessio Morale
c6a773363f Merge branch 'amorale/OP-943_add_malloc_for_ccsram' into next
Conflicts:
	flight/pios/common/pios_adxl345.c
	make/apps-defs.mk
2014-06-22 19:31:03 +02:00
Alessio Morale
a03ad41bab Merge branch 'amorale/OP-1365_pios_instrumentation' into next
Conflicts:
	flight/modules/Attitude/attitude.c
2014-06-22 19:13:46 +02:00
Alessio Morale
263fd64ab5 Merge branch 'amorale/OP-1274_freertos_v8.0.0' into next 2014-06-22 16:06:21 +02:00
Alessio Morale
eb5deb3eca OP-1274 Remove unneeded cast from task name in xTaskCreate call 2014-06-18 01:47:43 +02:00
Alessio Morale
61f71add4c OP-943 add missing pios_mem.c from previous commit 2014-06-11 23:54:28 +02:00
Alessio Morale
6226aec2a7 OP-943 uses pios_mem API for heap allocation 2014-06-11 22:15:40 +02:00
Alessio Morale
d8f08a7916 OP-943 Add Malloc for "FastHeap" (ccsram)
- Use a separate mallocs for thread stack and RTOS structures heap
- Add a pios_mem API to be able to use fast ram (CCM) when available
2014-06-11 22:15:30 +02:00
Alessio Morale
622519b7c2 OP-1365 Flight code instrumentation API: add documentation to pios_instrumentation_helper, uncrustification 2014-06-10 22:13:20 +02:00
Alessio Morale
698d132f9c OP-1365 Flight code instrumentation API: Changed API to use handlers (opaque pointers) to counter struct instead of an index, fix Search function, create does check if coutner exists and return existing handler 2014-06-10 21:24:28 +02:00
Alessio Morale
07d2e27276 OP-1274: Update to FreeRTOS 8.0.1 2014-06-10 19:42:11 +02:00
Alessio Morale
ee8ffed465 OP-1274: Force 8 bytes alignment for RTOS structures while using 4 bytes alignment for the remaining memory allocation operations to save RAM 2014-06-10 19:10:37 +02:00
Alessio Morale
a0d68c6afb OP-1227 Fix high CPU usage: Reduce Accel rate to 1600Hz, optimize sample reading, explicitly set bus speed
Note: Counter 0xA3450001 is the time it takes to transfer the requested number of samples
2014-06-08 21:33:18 +02:00
Alessio Morale
9db264a457 OP-1365 Flight code instrumentation API: Add CopterControl support 2014-06-07 00:47:06 +02:00
Alessio Morale
1c92edb18b OP-1365 Flight code instrumentation API: Fix min/max handling 2014-06-06 22:38:49 +02:00
Alessio Morale
520e721bdd OP-1365 Flight code instrumentation API: PiOS Implementation 2014-06-06 22:15:18 +02:00
Alessio Morale
af8fe1f921 OP-1274 Fixes for Simposix 2014-05-18 22:56:57 +02:00
Alessio Morale
36e304f579 OP-1274 fixes for revolution 2014-05-18 22:56:48 +02:00
Alessio Morale
e9fff2b6fa OP-1274 fixes for OPLink 2014-05-18 22:56:44 +02:00
Alessio Morale
be5cc66bd3 OP-1274 fixes for Coptercontrol firmware 2014-05-18 22:56:29 +02:00
Alessio Morale
921abb5131 OP-1274 update freertos files. Architecture specific files are left into their original FreeRTOS folder structure 2014-05-18 22:53:23 +02:00
Alessio Morale
e5d6726bb6 Merge remote-tracking branch 'origin/next' into amorale/OP-1302_updated_led_behaviour 2014-05-08 22:27:08 +02:00
Alessio Morale
f01cf66095 Merge remote-tracking branch 'origin/andrecillo/OP-1273_OP-1282_OP-1283_Diverse_Airspeedsensor_improvements' into next
Conflicts:
	ground/openpilotgcs/src/plugins/systemhealth/systemhealthgadgetwidget.cpp
2014-04-15 21:52:34 +02:00
Alessio Morale
82139a6e44 Merge remote-tracking branch 'origin/amorale/OP-1294_fix_stacks_heap_cc' into next 2014-04-15 21:46:26 +02:00
Alessio Morale
299f388245 OP-1302 Add a stub pios_notify API for user interaction/notifications
right now all notifications produces the same output, the DRAW_ATTENTION sequence
2014-04-13 17:42:57 +02:00
Philippe Renon
3b7b06aad0 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into next 2014-04-09 09:11:54 +02:00
Philippe Renon
1b356341c7 OP-1033 pios_rfm22b.c will not be messed up by uncrustify anymore :) 2014-04-09 09:06:18 +02:00
Alessio Morale
1aefc61bc4 OP-1294 Resize stack for CallbackScheduler. 2014-04-07 00:31:48 +02:00
Alessio Morale
6540c69698 Merge remote-tracking branch 'origin/andrecillo/OP-1273_PixHawk_airspeed_sensor_MS4525DO' into next 2014-04-01 22:05:12 +02:00
Andres
830f13596e OP-1273 OP-1282 OP-1283 uncrustify 2014-03-31 22:17:58 +02:00
Andres
5ed417323e OP-1273 OP-1282 OP-1283 bug fixes on I2C library: check for intialization and hot-plug robustness 2014-03-31 22:16:29 +02:00
Andres
7067f4f8ff Merge branch 'andrecillo/OP-1283_SystemHealthGadgetWidget_updateAlarms_coordinate_calculation_correction' into andrecillo/OP-1273_OP-1282_OP-1283_Diverse_Airspeedsensor_improvements
Merged correction on coordinate calculation in SystemHealth gadget for correct display of Airspeed-Alarm
2014-03-28 17:01:44 +01:00
Andres
c5dc556a43 OP-1273 Uncrustify 2014-03-27 16:19:22 +01:00
Andrés Chavarría Krauser
4dff86dc9c OP-1273 New files for the MS4525DO PixHawk speed sensor: PIOS files and module files 2014-03-25 10:37:10 +01:00
Alessio Morale
519d74ad1b OP-1026 fix review issues 2014-03-09 16:08:27 +01:00
Alessio Morale
73d0b93829 OP-1026 Add a task monitor api to calculate idle percentage 2014-02-22 00:29:02 +01:00
Corvus Corax
e97ce303b8 Merge branch 'corvuscorax/OP-942_task-diagnostics-for-callbacks' into next 2014-02-18 00:03:07 +01:00
Alessio Morale
3044185019 Merge remote-tracking branch 'origin/amorale/OP-1218_pios_com_thread_safe' into rel-14.01
Conflicts:
	flight/modules/RadioComBridge/RadioComBridge.c
2014-02-17 15:24:50 +01:00
Alessio Morale
da5ef3b3cc OP-1218 Raise time PIOS_COM_SendBuffer waits to acquire sendbuffer semaphore 2014-02-15 22:05:56 +01:00
Alessio Morale
8cd5cfe2eb OP-1218 format/consmetic/comments fixes 2014-02-15 22:05:56 +01:00
Alessio Morale
1ba5dbaca8 uncrustify 2014-02-10 22:57:24 +01:00
Alessio Morale
fd92e2a497 Merge remote-tracking branch 'origin/amorale/OP-1218_pios_com_thread_safe' into rel-14.01 2014-02-10 20:52:15 +01:00
Alessio Morale
79b68ae886 OP-1218 locks SendBuffer under the same mutex as SendBufferNonBlocking 2014-02-09 19:57:05 +01:00
Alessio Morale
67117d228d OP-1149 change POW2 as POW2(0) led to undefined results 2014-02-09 12:05:40 +01:00
Alessio Morale
1569881e94 OP-1149 Remove shifts as they can have bad behaviours for negative numbers.
Documents correction algorithms as described in ms5611 documentation
2014-02-09 12:05:32 +01:00
Alessio Morale
5fa390ec9d OP-1149 fix low temperature compensation formula 2014-02-09 12:05:28 +01:00
Alessio Morale
590c27af29 OP-1218 fix thread safety issue with pios_com PIOS_COM_SendBufferNonBlocking
(kudos @filnet for finding this)
2014-02-09 11:37:02 +01:00
Corvus Corax
c74790b823 OP-942 correct reporting of callback stack overflows 2014-02-07 22:57:31 +01:00
Corvus Corax
7ec21a8f36 OP-942 duplicated exact API of task_monitor to also monitor callbacks
This allows cleaner and fine grained handling of STACKOVERFLOW alarms
2014-02-07 22:39:16 +01:00
Corvus Corax
9a6072d58c Merge branch 'next' into corvuscorax/OP-942_task-diagnostics-for-callbacks
Conflicts:
	flight/targets/boards/simposix/firmware/Makefile
2014-02-07 00:31:32 +01:00
Corvus Corax
6566a29054 OP-942 reliable and fast free stack test algorithm - will always 'see' overflows 2014-02-06 23:54:30 +01:00
Corvus Corax
c7ada40c2e Merge branch 'corvuscorax/OP-1211_time_measurement_helper' into rel-14.01 2014-02-06 19:56:47 +01:00
Corvus Corax
216ec095e4 OP-1211 removed unneeded define 2014-02-06 19:34:34 +01:00
Corvus Corax
723e22aa1a OP-1211 time_measurement_helper 2014-02-04 19:05:17 +01:00
Corvus Corax
cc04b780c5 OP-942 one possible but not well working implementation of stack end check 2014-02-04 17:53:51 +01:00
Corvus Corax
418f7e3d0f OP-942 task diagnostics for callback scheduler 2014-02-03 01:00:07 +01:00
Corvus Corax
49a1c4c28f OP-942 refactored callback scheduler to fit into PiOS naming scheme 2014-02-02 22:08:16 +01:00
Corvus Corax
5b9a17f630 OP-942 moved DelayedCallbackScheduler into pios/common 2014-02-02 20:31:37 +01:00
Corvus Corax
597ac4db2a OP-1195 increase priority for pios radio link driver task 2014-02-02 14:09:50 +01:00
Alessio Morale
745a9e8853 Merge remote-tracking branch 'origin/fnurgel/OP-1148_r7008sb_sbus_protocol_fix' into next 2014-01-18 14:21:57 +01:00
Corvus Corax
41202a0227 Merge branch 'corvuscorax/OP-1022_AH_improvements_amorale' into next 2014-01-15 22:47:42 +01:00
Philippe Renon
c8a81f88a4 OP-1122 OP-1158 added facility to update a CRC with uavobject data (flight side) 2014-01-12 15:12:41 +01:00
Mikael Blomqvist
b1d2c1b83e Adding R7008SB end byte as a possible end of frame check for S.Bus 2014-01-03 18:25:44 +01:00
Philippe Renon
d668153b6d OP-1122 OP-1125 fixed copy/paste error in rfm22b flight code 2013-12-14 16:03:42 +01:00
Alessio Morale
29df9d6dad OP-1139: Add some more descriptive names and comments for compensation variables 2013-12-13 17:10:11 +01:00
Alessio Morale
13b45b2b78 OP.1139: uncrustify 2013-12-10 01:44:13 +01:00
Alessio Morale
75842cb648 OP-1139: perform second order low temperature compensation.
It follows the procedure described in MS5611 datasheet(http://www.meas-spec.com/downloads/MS5611-01BA03.pdf, page 8)
to perform low(20°) and very low(-15°C) temperature compensation.
2013-12-10 01:21:05 +01:00
Corvus Corax
25fd3d5740 Just uncrustification 2013-11-26 00:43:02 +01:00
Fredrik Arvidsson
2fc34910e0 OP-1119 Fix in pios function for debuglogging uavo. 2013-11-26 00:36:59 +01:00
Corvus Corax
be9faabe92 Merge branch 'next' into corvuscorax/onboardlogging 2013-11-26 00:34:01 +01:00
Alessio Morale
bacc4d3d79 Merge branch 'master' into next
Conflicts:
	flight/targets/boards/oplinkmini/firmware/pios_board.c
	ground/openpilotgcs/copydata.pro
2013-11-25 01:12:10 +01:00
Corvus Corax
89afbde58a initialized log packages with 0xff instead of 0x0 to reduce flash wear 2013-11-24 15:36:26 +01:00
Corvus Corax
fcc479f5cb more intelligent log interfacing, including flash formatting option 2013-11-17 20:14:50 +01:00
Corvus Corax
6031200aea Some fixes in debuglog to compile and run on all firmware platforms 2013-11-17 18:04:47 +01:00
Corvus Corax
adfbdfae38 Make use of (now supported) standard snprintf in stdarg-printf when used in logfs 2013-11-17 02:49:53 +01:00
Corvus Corax
314d526e94 corrected instance id encoding in filename to not conflict with metadata uavobject ids 2013-11-16 18:55:54 +01:00
Corvus Corax
00321b09dc Modified uavobjectmanager to only use logfs calls for UAVObject flash transactions, abstracted dosfs calls to use logfs wrapper class for simpiosix and SD-card access 2013-11-16 17:30:40 +01:00
Mathieu Rondonneau
03b243fe31 OP-1079 - Update to FreeRTOS v7.5.2 2013-09-04 20:26:23 -07:00
Brian Webb
e246ecf536 Moves pios_led functionality to pios_gpio and makes pios_led a thin layer over pios_gpio. Supports configuring multiple sets of GPIOs. 2013-07-28 07:01:08 -07:00
Richard Flay (Hyper)
c3e3521001 OP-1049: Hotfix to 13.06.02 for MPU6000 FIFO overflow on CC3D when board initialisation takes
longer than 150ms.
2013-07-28 01:16:22 +09:30
Brian Webb
0d02df4d02 Uncrustified OPLink code. 2013-07-05 18:49:26 -07:00
Brian Webb
d0d8a0aadd OP-932 Adds PWM outputs to OPLinkMini. Both gpio pins on the main and/or flexi port can be configured to output PWM for a total of up to 4 PWM outputs. 2013-07-03 18:58:34 -07:00
Brian Webb
c76ee7de9d OP-932 Fixes the failsafe that detects when the Rx modem loses sync with the Tx modem. This was not working on one-way mode. 2013-06-30 16:08:50 -07:00
Brian Webb
491e5fe685 Adds a failsafe on PPM output on OPLink that kicks in when the link goes down. Also updates all air datarate settings and adds new 64 and 100 kbps modes. 2013-06-29 15:00:38 -07:00
Brian Webb
d5f16faaec OP-932 Fixes the datarate used on PPM only mode, and fixes failsafe on PPM output on OPLM. 2013-06-26 20:11:39 -07:00
Brian Webb
caa8d3e70e OP-932 Forces one-way to be set when PPM only is configured. 2013-06-26 18:02:08 -07:00
Brian Webb
2aea2342ab OP-932 Adds a direct PPM channel on each Tx packet when in PPM mode, and adds a PPM only mode that uses a 9600 bps air datarate. Also updates the OPLink configuration tab and moves all OPLink configuration to the OPLink configuration tab on the Revo, and customizes the OPLink configuration tab for the Revo. 2013-06-26 18:01:54 -07:00
Brian Webb
44a0266e41 OP-932 Adds claiming of the SPI bus in the OPLink channel change function. 2013-06-26 18:00:02 -07:00
Brian Webb
56a60f2983 OP-932 Updates the 19.2 kbps datarate using the spreadsheet. 2013-06-26 17:59:49 -07:00
Brian Webb
61c453f6ff Removes several of the air datarate settings, and fine tunes the calculation of the max packet length from the datarate and packet time. 9600, 19200, 36400, and 57600 modes tested. Tested 19200 in one-way mode for PPM only. 2013-06-26 17:59:33 -07:00
Brian Webb
cdd51537f1 Fixes the 9600 bps air datarate for the RFM33B modem. 2013-06-26 17:57:46 -07:00
Brian Webb
fc0328a3cd OP-932 Adds working one-way mode to the OPLink radio connection. In this mode, packets will only flow from the ground side (coordinator modem) to the flight side modem. 2013-06-26 17:57:32 -07:00
Brian Webb
774a74884a OP-932 Replaces the RFM22B PPM/receiver code with an OPLinkReceiver UAVObject. This object is generated on a coordinator OPLink, and is used by both the OPLink to generate PPM output, and the OPLinkReceiver on the Revo. 2013-06-26 17:57:11 -07:00
Brian Webb
8c370df319 OP-932 A significant re-work of the OPLink and configuration of the OPLink. Auto-configuration is removed, and remote modems are bound the coordinator, rather than the other way around. Timing of the radio link is also significantly changed. The rfm22b code is also simplified so that it only sends packet, and has no notion about what those packets are, so the rfm22b is converteded to simply a com type device. 2013-06-26 17:56:56 -07:00
Brian Webb
08efc8d152 OP-932: Adds an oplink receiver device, which is based on the gcs receiver device, but uses the OPLinkReceiver UAVObject. The OPLinkReceiver packets are generated on the OPLink modem. 2013-06-26 17:56:20 -07:00
Brian Webb
7c10623615 OP-932 Adds a semaphore to PPM input to signal when a new frame has been received. This can be used to process a new frame with as low a latency as possible. 2013-06-26 17:56:10 -07:00
Alessio Morale
5cc3645b96 Uncrustify 2013-06-18 20:23:46 +02:00
Alessio Morale
e9b3ee52f3 OP-997: add fields to SystemStatsUavo to monitor storage status 2013-06-09 19:20:00 +02:00
Brian Webb
e9f83bcc80 Fixes a bug in the rfm22b driver that was reading past the end of the bindings list when receiving a status message. Also adds some formatting changes that came about after doing a make uncrustify_all. 2013-05-26 08:36:38 -07:00
Brian Webb
ac4847c8ac OP-932 Moves the configuration of the com ports on the coordinator OPLink to startup. 2013-05-21 19:48:21 -07:00
Brian Webb
dbce08a151 OP-932 Changes the radio task loop to loop every 1ms, and reduces the tx transmit period back down to 8ms. Also reduces the Tx windows to 1ms for each modem, and reserves the latter half of the Tx window for channel changing. 2013-05-21 17:40:05 -07:00
Brian Webb
d4a4588011 OP-932 Changes the RFM22 frequency hopping to change channels every Tx period. Also increases the Tx clock period from 8ms to 16ms, and adds a check on calculation the the time delta that it doesn't change the previous estimated time delta by too much. If the delta between the current time delta and the previously estimated time delta is too large it could indicate that there was a delay somewhere that makes the calculated time delta inaccurate.
Rearanges the packet send priority in the rfm22b driver so that PPM packets are top priority.
2013-05-20 20:49:24 -07:00
Sexy Pony
900f643bbd Reformat source code with 'make uncrustify_all' run twice. NO CODE CHANGES 2013-05-19 17:37:30 +03:00
Alessio Morale
ab7af16be3 Merge branch 'amorale/OP-901_lib_udates-usb_fixes' into HEAD
Conflicts:
	flight/pios/stm32f10x/library.mk
	flight/targets/boards/revoproto/firmware/pios_board.c
2013-05-19 15:01:08 +02:00
Alessio Morale
37eabb0931 Pointed type is explicitly used with sizeof when dealing with struct pointers.
+review OPReview-474
2013-05-19 12:00:16 +02:00
Alessio Morale
2e458b5652 OP-901 USB OTG/Device Drivers are not targeted for f103 (they are targeted at f105) so move again to F4 library folder instead of common 2013-05-18 20:53:28 +02:00
Alessio Morale
3ec9447fdc OP-901 Update CMSIS to r3p2-00rel1 2013-05-18 20:29:06 +02:00
Alessio Morale
c1f767b12d Merge remote-tracking branch 'origin/amorale/OP-954_logfs_settings_in_internal_flash' into next
Conflicts:
	flight/pios/common/pios_flashfs_logfs.c
2013-05-18 15:53:25 +02:00
Alessio Morale
66da2796e0 Merge remote-tracking branch 'origin/amorale/OP-905_revolution_watchdog_next' into next 2013-05-18 15:00:50 +02:00
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