Alessio Morale
0db9a9bf8d
OP-1058 Add xxxGet and xxxSet functions to handle multielement fields as struct
...
for example:
EKFStateVariancePSet(EKFStateVariancePData *NewP);
EKFStateVariancePGet(EKFStateVariancePData *NewP);
Also in this case array accessors are renamed as xxxArrayGet/Set:
EKFStateVariancePArraySet(float *NewP);
EKFStateVariancePArrayGet(float *NewP);
Nothing changes for anonymous items as default functions continues to deal with arrays
+review OPReview-552
2013-09-01 13:23:20 +02:00
Alessio Morale
e91bc28667
OP-1058 Get rid of Unions.
...
They caused stack usage increase with -fstrict-aliasing as stack slots are not reused when dealing with unions.
It has now been added the cast_struct_to_array macro in pios_struct_helper.h to handle such case where it is useful to access those homogeneous structs as arrays
+review OPReview-552
2013-09-01 12:10:55 +02:00
Alessio Morale
11b269f898
Merge remote-tracking branch 'origin/next' into amorale/OP-1058_uavo_named_accessors
2013-08-31 16:03:30 +02:00
Mathieu Rondonneau
e973740b8b
OP-1067 run uncrustify
2013-08-28 19:47:44 -07:00
Mathieu Rondonneau
fc6d544476
OP-1067 Force oplonk to report disabled if rfm22b is not initialized.
2013-08-28 19:45:50 -07:00
Erik Gustavsson
e39c3f897e
Use xTaskGetTickCount() to time long intervals rather than PIOS_DELAY_GetRaw(), because of wrap-around issues.
2013-08-26 19:14:47 +02:00
David
1a27b473d5
New CDC driver revsion
2013-08-17 04:04:22 +10:00
Corvus Corax
0db395b4a2
uncrustify
2013-08-11 15:33:59 +02:00
Corvus Corax
0f31368c64
Merge branch 'corvuscorax/OP-1036_fixed-wing-improvements' into next
2013-08-11 15:13:23 +02:00
Corvus Corax
0724fca32a
refactored pid_apply_scaled back into pid_apply (rename only)
2013-08-11 15:12:17 +02:00
Mathieu Rondonneau
114e353acb
OP-1067 Invalid value for "LinkState"
...
Do not retrieve status from rfm22b if not initialized.
2013-08-09 20:14:13 -07:00
Mathieu Rondonneau
40b0682048
OP-667: This is not an issue since the 2 callers already check for NULL pointer but for consistency, this should be done in the function itself.
2013-08-03 09:39:44 -07:00
Brian Webb
5ac1f33c47
Adds missing pios_gpio_priv.h
2013-08-02 22:01:44 -07:00
Brian Webb
831aa2e213
Merge remote-tracking branch 'origin/next' into brian/GPIO_update
2013-08-02 17:45:06 -07:00
Alessio Morale
99dbecdd7d
Merge remote-tracking branch 'origin/brian/OP-1050_Fix_OPLink_Erase_Settings' into rel-13.06.03
2013-08-01 21:28:37 +02:00
Alessio Morale
8dd3c45ccf
OP-1058 change some missing occurrencies to .field.XXX notation
...
+review OPReview-552
2013-08-01 11:44:12 +02:00
Alessio Morale
01d963affd
OP-1058 uncrustify
2013-08-01 01:28:50 +02:00
Alessio Morale
f226b23c24
OP-1058: fix needed for fw_osd code compilation
2013-08-01 01:19:02 +02:00
Alessio Morale
8351e97faa
OP-1058: fix needed for fw_revoproto code compilation
2013-08-01 01:18:53 +02:00
Alessio Morale
df90a13558
OP-1058: fix needed for fw_coptercontrol code compilation
2013-08-01 01:18:26 +02:00
Alessio Morale
9e1acc3165
OP-1058: fix needed for fw_revolution code compilation
2013-07-31 15:24:26 +02:00
Alessio Morale
d99790be71
OP-1058: Implement explicit item accessor for MultiElement fields.
...
This implementation uses a union containing the Array implementing the MultiElement field data and a struct made from element names.
it allow to replace the following sintax:
settings.PitchRatePID[STABILIZATIONSETTINGS_PITCHRATEPID_KP]
with a more concise and less error prone
settings.PitchRatePID.fields.Kp
while allowing the direct array access using the notation
settings.PitchRatePID.data[n]
2013-07-31 15:23:43 +02:00
Oleg Semyonov
77a6db3007
Merge remote-tracking branch 'origin/os/baro-offset-lpf' into next
2013-07-30 23:41:37 +02:00
Alessio Morale
b4d2423680
OP-1048 fix CF stateestimation bug using AccelTau.
...
move *_filtered to stateestimator data struct and initialize them at init.
they were previously used uninitialized thus causing estimation to fail validations, restarting the filter continously
+review OPReview
2013-07-30 23:41:21 +02:00
Corvus Corax
5206c1f195
uncrustification
2013-07-30 22:14:36 +02:00
Brian Webb
2340f4f0d9
OP-1050: Moves LED configuration above settings erase in OPLink pios_board.c to prevent crashing when settings are erased.
2013-07-29 20:37:00 -07:00
Corvus Corax
4d9f7a72db
Start CallbackScheduler last (after other modules) to reduce risk of race conditions during bootup
2013-07-28 20:31:31 +02:00
Corvus Corax
9537cac701
Merge branch 'next' into corvuscorax/callbackeventdispatcher2
2013-07-28 17:10:20 +02: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
Oleg Semyonov
1bfa66c2b6
Change settings for baro altitude offset correction
2013-07-26 21:14:44 +02:00
Corvus Corax
ae1db5058e
uncrustification
2013-07-20 16:59:00 +02:00
Corvus Corax
4f6c3c98e3
some small fixes to airspeed compensation in Stabilization
2013-07-20 14:52:22 +02:00
Corvus Corax
2ecbf4a846
add code to scale stabilization PID coefficients by 1/airspeed^2 if the user wishes to do so
2013-07-20 13:52:45 +02:00
Corvus Corax
b3cbb57a2b
made low pass filter alpha a setting
2013-07-20 10:40:29 +02:00
Corvus Corax
1049f483a5
added low pass filter and a few safety checks to gps airspeed estimation
2013-07-20 09:09:44 +02:00
Corvus Corax
72e33a11e4
uncrustification, changed ekf glitch recognition to warning, since its now benign
2013-07-19 15:40:57 +02:00
Corvus Corax
b9ae8844a1
return error if ekf has not inited to prevent arming without proper state estimation
2013-07-19 15:37:50 +02:00
Corvus Corax
be583dd8bf
fixes to gps airspeed sensor
2013-07-19 15:30:33 +02:00
Corvus Corax
842b4e361b
moved airspeed sensor code to correct location
2013-07-19 15:29:04 +02:00
Oleg Semyonov
aa560653d4
Make baro altitude offset (relative to GPS alt) filter configurable
2013-07-19 09:53:44 +03:00
Corvus Corax
ea8373b0f7
re-enabled wind estimation absed on groundspeed
2013-07-18 20:01:02 +02:00
Corvus Corax
2ab92f09a5
fix for the fix
2013-07-18 14:15:23 +02:00
Corvus Corax
9ba1fbdccc
fixed safety check for throttle low, needed for arming on switch, too, but not for disarming
2013-07-18 14:10:33 +02:00
Corvus Corax
7b5bf53200
fixed channel reversals
2013-07-18 13:46:58 +02:00
Corvus Corax
50561bfb5f
made arming/disarming sequence time configurable - useful for heli pilots that like almost-instant disarm
2013-07-18 13:13:23 +02:00
Corvus Corax
114e25ff5d
cleaned up code for armin/disarming and got rid of a bunch of assumptions
2013-07-18 13:05:37 +02:00
Corvus Corax
658b2fc804
cherry-pick of Sambas Arm-On-A-Switch capability implementation
2013-07-18 10:45:36 +02:00
Corvus Corax
6c88184b32
Merge branch 'corvuscorax/OP-1036_fixed-wing-improvements' into next
2013-07-18 09:46:23 +02:00
Corvus Corax
bffe119214
made safety checks in fixed wing path follower configurable
2013-07-17 14:50:23 +02:00
Alessio Morale
11bc7804d0
Merge branch 'amorale/OP-994_adc_cleanup' into next
2013-07-16 12:23:25 +00:00
Corvus Corax
81e691f2d6
fixed stack size for manualcontrol, fixed acking behaviour for waypoints
2013-07-16 10:12:16 +02:00
Alessio Morale
104bae01e8
OP-994 Exclude alarm for estimated flight time if Capacity setting is 0
...
+review OPReview-506
2013-07-15 20:35:26 +00:00
Corvus Corax
8b6510da4f
Made AltitudeOffset for ReturnToHome configurable, Made Failsafe-FlightMode configurable.
2013-07-15 09:14:09 +02:00
Alessio Morale
402c84c003
OP-994 Added zero calibration settings
...
+review OPReview-506
2013-07-14 20:26:07 +00:00
Corvus Corax
4d28052dd8
update configuration check prior to arming control, just in case. Allthough the configuration didn't change, other parameters like the list of running tasks can, which alters the alarms.
2013-07-14 06:20:22 +02:00
Corvus Corax
f3a96e5620
Bugfixed in fixed wing path follower, high wind situation now succesfully detected
2013-07-11 16:22:24 +02:00
Corvus Corax
0ffb2dee02
bugfix in pathplanner - 3d distance not calculated correctly
2013-07-11 14:35:37 +02:00
Corvus Corax
c1f32e9beb
OP-1036: rename some settings and move them in the right place
...
tags: de-kenzification
2013-07-10 15:55:12 +02:00
Corvus Corax
27eadc200b
Merge branch 'corvuscorax/lla2nedfilter' into next
...
Conflicts:
flight/modules/StateEstimation/stateestimation.c
2013-07-10 14:38:12 +02:00
Corvus Corax
551780c74b
Merge branch 'corvuscorax/complementary_altitude_filter' into next
...
Conflicts:
flight/targets/boards/revolution/firmware/UAVObjects.inc
2013-07-10 14:27:25 +02:00
Brian Webb
c2df59498b
Merge remote-tracking branch 'origin/master' into next
2013-07-06 07:08:30 -07:00
Brian Webb
0d02df4d02
Uncrustified OPLink code.
2013-07-05 18:49:26 -07:00
Brian Webb
6dbecca7a5
OP-932 Fixes erasing settings on OPLink and blocks OPLinkSettings objects from being transmitted over the radio.
2013-07-05 18:25:52 -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
Corvus Corax
0107432e45
Added a low pass filter for accels to the altitude filter
2013-07-02 23:17:08 +02:00
Alessio Morale
89cb294218
OP-994 Move pios_architecture,h include in pios,h
...
+review OPReview-506
2013-07-02 19:26:39 +02: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
Corvus Corax
ba87f32812
typo fix
2013-06-30 19:46:28 +02:00
Corvus Corax
51a4b16af5
New Filter to calculate NED from LLA as part of StateEstimation
2013-06-30 18:49:29 +02:00
Corvus Corax
2a16c0dbd7
removed GPS module ability to calculate NED coordinate (not its job)
2013-06-30 16:31:19 +02: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
Corvus Corax
7745f93935
changed default coefficients and exposed them to a settings uavobject as they should be
2013-06-29 01:16:02 +02:00
Corvus Corax
2621b087a2
fixed filter in first bench test tries, works surprisingly well...
2013-06-28 21:27:05 +02:00
Corvus Corax
2fb0c0a3ce
some uncrustification
2013-06-28 19:52:09 +02:00
Corvus Corax
b19a74613a
uncrustification
2013-06-28 19:20:39 +02:00
Corvus Corax
360e58abde
eventdispatcher, limit event callback count fired in one go
2013-06-28 19:04:11 +02:00
Corvus Corax
b9038e5ed6
new simple complementary filter to calculate current altitude and vertical speed
2013-06-28 17:22:16 +02:00
Brian Webb
bab69401b9
OP-932 Allows configuring the Revo as coordinator.
2013-06-27 19:55:01 -07:00
Brian Webb
6386b12026
OP-932 Fixes raw serial on UART and USB VCP.
2013-06-27 19:16:01 -07:00
Corvus Corax
f5b3318726
correct calculation of next scheduling
2013-06-27 20:37:37 +02:00
Corvus Corax
cd2cc821d6
made event dispatcher a callback
2013-06-27 18:51:35 +02: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
b25ba75fd9
OP-932 Removed obsolete include of pios_rfm22b_rcvr from pios.h.
2013-06-26 18:00:22 -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
f8d60e6dee
OP-932 Adds additional thread and UAVTalk connection to the telemetry module that reads from the uart/radio link on the Revo. This allows the Revo to read OAVObjects over both the uart/radio link and the USB link at the same time. Unfortunately, there's no way to know which link to send UAVObjects out on, so all UAVObjects go to the USB port if USB is connected. This allows UAVObjects to be received from the OPLink radio, even when USB is connected.
2013-06-26 17:58:02 -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
12c8ef2e3a
OP-932 Changes the UAVTalkRelayInputStream function to UAVTalkRelayPacket to allow for not relaying a packet on error, etc. Also adds a function to get the object ID out of the current packet (UAVTalkGetPacketObjId). These functions are used by the OPLink.
2013-06-26 17:56:40 -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
Brian Webb
ac75af55c1
OP-932 Moves the PIOS_PPM_OUT_Set function from pios_ppm_out_priv.h to pios_ppm_out.h
2013-06-26 17:55:56 -07:00
Corvus Corax
0c43346292
Merge branch 'corvuscorax/OP-947_stateestimator-module' into next
...
Thanks everyone for helping getting this together, especially Alessio
and DLite :-)
2013-06-25 23:48:12 +02:00
Corvus Corax
ed592bd6ab
Merge remote-tracking branch 'origin/rel-13.06.01' into next
2013-06-25 22:32:14 +02:00