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

362 Commits

Author SHA1 Message Date
Alessio Morale
621c1e8679 OP-1658 - MPU6000 & HMC5x83 make driver struct const 2015-02-03 00:00:05 +01:00
Alessio Morale
84f577029e OP-1658 - HMC5x83 sensor device model implementation 2015-02-03 00:00:05 +01:00
Alessio Morale
6341fa7eca OP-1658 - MPU6000 sensor device model implementation 2015-02-03 00:00:05 +01:00
Alessio Morale
4d8b36adad OP-1658 - Remove sensors includes from pios.h to prevent cross dependencies 2015-02-03 00:00:05 +01:00
Alessio Morale
49b8b1f93e OP-1658 - Add PIOS_SENSORS and Sensor framework API 2015-02-03 00:00:05 +01:00
Karl Knutsson
d161ebbc74 OP-1522 address review comments 2015-02-02 21:25:38 +01:00
Karl Knutsson
137c183ec2 OP-1522 Remove unused channel set cfg
Remove unused channel set configuration option.
With the new channel allocation the old channel set
configuration isn't needed.
2015-02-02 21:25:38 +01:00
Karl Knutsson
a3715598c7 OP-1522 New channel allocation
Generate a pseudo random list of channels from hmac_sha1 with the
coordid as key.

Enforce channel spacing based on the frequency deviation derived
from the configured data rate.
2015-02-02 21:25:38 +01:00
Karl Knutsson
9bf18490b1 OP-1522: Channel timeout logic
Use real time rather than missed pickets when deciding if we are
disconneted. Makes the link less sensitive at higher rates since
higher rates means more chances to get a packet through within the
given time.
2015-02-02 21:25:38 +01:00
Karl Knutsson
b0491da115 OP-1576: Remove unused tx_resent counter
Remove unused tx_resent counter and replace it with
rx_failure in link quality calculations.
2015-02-02 21:25:38 +01:00
Karl Knutsson
52c1080ffe OP-1522 Robustness of OPLink radio
Increase number of channels to 32 for all bit rates.
Synchronize clock on all channels.
Go into failsafe after 4 or 8 (one_way_link) missed packets.
Don't stay on channel 0 if we dropped a packet.
2015-02-02 21:25:38 +01:00
Erik Gustavsson
966ef5ce75 OP-1680 Increase the range and resolution of OPLink PPM values
Encode 511 steps plus a single "invalid" value, rather than 256 steps
plus a dedicated valid flag bit. This gives a range of 990 - 2010 us in
steps of 2 us.
2015-02-02 21:25:37 +01:00
Erik Gustavsson
1b94f178e8 OP-1691 Remove busy-wait and add yeild points in rfm22_init() 2015-01-28 20:55:36 +01:00
Laurent Lalanne
c506fc93d6 OP-1674 Revert changes from previous commit in flight side, keep comments changes 2015-01-22 19:49:06 +01:00
Laurent Lalanne
4c27a78072 OP-1674 Allow channel 250 2015-01-12 12:57:01 +01:00
Werner Backes
d9a3fac502 Disable the "preamble invalid" interrupt for the RFM22b module. It causes
high CPU load and isn't used anyway.
2014-11-15 11:37:06 +01:00
Corvus Corax
c21d3d8a67 uncrustification! 2014-11-08 12:59:16 +01:00
Alex Beck
e2b38d0d7d Yaffs or dosfs now conditional linkage for simposix yaffs testing 2014-10-28 08:48:38 +11:00
abeck70
942945850b Merge branch 'next' into abeck/OP_1503v3-yaffs 2014-10-23 21:25:54 +11:00
Karl Knutsson
5ab924c07e Revert "OP-1522 Robustness of OPLink radio"
This reverts commit 00d9c66867.
2014-10-16 08:23:10 +02:00
Karl Knutsson
5ef8d3803d Revert "OP-1530 Use rfm22b_dev->num_channels"
This reverts commit 4e365f6dff.
2014-10-16 08:23:10 +02:00
Karl Knutsson
b69e222456 Revert "OP-1532 fix non-ppm mode"
This reverts commit 9fd4fb26b9.
2014-10-16 08:23:10 +02:00
abeck70
de68e0179f First round review comments 2014-10-14 17:17:59 +11:00
Alessio Morale
4a8cfe3f86 OP-1535 - Refactor MPU6k driver to allow direct and fifo access based on configuration 2014-10-10 22:33:50 +02:00
Alessio Morale
9350bd65d9 OP-1535 - change sensor rate to 1KHz with software downsample to 500Hz
Allow per board SPI prescaler settings
2014-10-10 22:33:49 +02:00
abeck70
948d6546af yaffs simposix ready for review
All yaffs changes for library inclusion, arm compilation, and simposix integration.
2014-10-10 13:21:06 +11:00
Karl Knutsson
9fd4fb26b9 OP-1532 fix non-ppm mode
Always send packets from the coordinator.
Previously the coordinator only always sent packets
on channel 0. This scheme doesn't work with
with the change to use 32 channel.
2014-10-08 20:59:51 +02:00
Fredrik Larsson
cb6e9fda6d Merge remote-tracking branch 'origin/havyan/oplink-0' into next 2014-10-08 08:02:48 +11:00
Karl Knutsson
4e365f6dff OP-1530 Use rfm22b_dev->num_channels
Use the number of allocated channel from the num_channels field
in the pios_rfm22b_dev struct rather than from the maximum number
of possible of channels given the configured speed.
2014-10-07 22:50:52 +02:00
Karl Knutsson
00d9c66867 OP-1522 Robustness of OPLink radio
Increase number of channels to 32 for all bit rates.
Synchronize clock on all channels.
Go into failsafe after 4 or 8 (one_way_link) missed packets.
Don't stay on channel 0 if we dropped a packet.
2014-10-03 22:20:11 +02:00
Karl Knutsson
1c6e9b3cc4 OP-1510 don't hard code tx_power to 100mW 2014-10-03 22:20:11 +02:00
Alessio Morale
e553014596 Merge branch 'amorale/OP-1476_1477_1275_GPSV9_pios_firmware_bootloader' into next 2014-10-03 00:37:55 +02:00
Alessio Morale
9cfd55d006 Merge branch 'amorale/OP-1507_gps_module_cpu_optimization' into next 2014-10-03 00:37:39 +02:00
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
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