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

274 Commits

Author SHA1 Message Date
James Cotton
e6ad21d881 Make gyro bias in deg/s * 100 to calibrate more precisely. 2011-06-24 10:51:07 -05:00
James Cotton
038f955cb1 OP-410 OP-333: Axis lock (heading hold) implemented 2011-06-24 10:38:26 -05:00
James Cotton
ab7ff56d96 Compute initial gyro bias while calibrating to speed up convergence 2011-06-24 10:38:26 -05:00
James Cotton
c0eff41dc6 OP-410 OP-333: Created an Axis-lock setting for stabilization 2011-06-24 10:38:26 -05:00
James Cotton
0a4bbcc12e Added a field for initial gyro bias to speed up initialization. 2011-06-24 10:38:26 -05:00
James Cotton
28501842c3 Expose the rate D term which in simulations seems to help damp oscillations for
high RateKp terms.  However it might be sensitive to gyro noise (vibrations).
In addition it is mathematically similar to lead shapign so probably only use
one or the other.
2011-06-24 10:38:25 -05:00
James Cotton
a09642675c Tweak the integral calculation so it is scaled in ms internally. This avoids a
loss of precision on the accumulation.
2011-06-24 10:38:25 -05:00
James Cotton
373689207a Add a 1-tap IIR filter into the gyros in the feedback path. This will make the
stabilization output a bit more resilient to the high frequency noise from
gyros.  However this value shouldn't be too high as it will increase the phase
delay of the feedback loop and decrease stability.  Default is 5 ms.

Note: this resests the stabilizationsettings object.  Sorry guys.
2011-06-24 10:38:25 -05:00
Mathieu Rondonneau
dcd2774103 OP-423 Fix some comment from code review:
- update example module
- use module init macro for POSIX and WIN to make code cleaner.
2011-06-24 06:59:51 -07:00
Corvus Corax
f52f6d30c6 VTalk (flight): Buffers allocated dynamically with size calculated by UAVObjGenerator. Support for tx packet sizes < object size.i 2011-06-24 02:08:20 +02:00
James Cotton
f6312c7798 OP-410 OP-333: Created an Axis-lock setting for stabilization 2011-06-23 14:51:18 -05:00
James Cotton
9aba787b02 OP-193: Check for instance read success was backwards 2011-06-23 03:01:37 -05:00
James Cotton
368d5b649a OP-193: Output mixer should read from up to 6 accessory channels (may add more
in future).
2011-06-23 01:47:55 -05:00
James Cotton
493fcaef2a OP-193 OP-511: Add settings to scale the camera input output range 2011-06-23 00:47:27 -05:00
Mathieu Rondonneau
0ff5e9a46f Merge branch 'master' into OP-423_Mathieu_Change_Init_To_Reduce_Memory_Footprint 2011-06-21 22:02:13 -07:00
James Cotton
8976d22fad Merge remote-tracking branch 'origin/OP-159_os_sbus' 2011-06-21 17:51:22 -05:00
Mathieu Rondonneau
fc1e3f574c OP-423: Split task create and module init in order to postpone task creation once the full heap is available.
Also implement some ordering (quite ugly still) in the module init and task creation order so we can decide which module to start/init first
and which module to start/init last.
This will be replaced/adapter with the uavobject list later (once it's implemented).
reserving some space for module init and task create parameters to customize module/task creation (this will be usefull once we get the list and customization from customer).

Changes have been made for OP and CC. Tested comped with CC,OP, sim_posix.
Only ran on bench with CC for couple of minutes (code increase expected but no dropping of stack which is good).

This gives task creation at the time wherethe all heap is available.
2011-06-19 22:35:40 -07:00
James Cotton
17fa227d1f Fixed typo, thanks Os 2011-06-19 16:51:54 -05:00
Mathieu Rondonneau
5e3e7cc4e3 OP-423 Fix issue with init not properly started in the right order endup up object thinking other where not init. 2011-06-18 17:28:37 -07:00
James Cotton
5044ea36de Start initializing objects in the modules that consume them. Shouldn't affect
OP yet but not tested.
2011-06-18 14:20:51 -05:00
Mathieu Rondonneau
b67a38661e OP-423: merge master into that branch, resolve conflicts and test with CC and bl_CC
heap reamining is low (about 500) but stacks can be ajusted (specially the 200 bytes from system) to give the level close to 1Ko if needed.

Merge branch 'master' into OP-423_Mathieu_Change_Init_To_Reduce_Memory_Footprint

Conflicts:
	flight/CopterControl/System/inc/FreeRTOSConfig.h
	flight/CopterControl/System/inc/pios_config.h
2011-06-17 19:04:09 -07:00
James Cotton
9720a8444f Make a few things optional if they are mostly for diagnostics to keep memory
down
2011-06-17 21:00:21 -05:00
Mathieu Rondonneau
65cf467ca4 OP-423: move the module initialize funtion into a specific section for OP and CC.
- create linker section for those <module>Initialize()
- later this list will incorporate parameters as well. (this probably will be more a OP feature to swap/remove/delete module on the fly.
- this is not done at compile time anymore by Makefile.
- this will allow us to have control on the module start at run-time (not implemented but build the ground for it).
- this simplify the startup (Part of code re-org).
- this change does not affect sim_posix and win32 (since they don't need that)
- ensure it's compiling for PiOS.posix
- port to PiOS.win32 but not tested (not compiled)
- tested on CC
- compile on OP.
- this free ~200 bytes.
- current avalable bytes (is we keep the same remaining bytes on the stack than before) is easily passed the 1.2Ko mark on CC with new gcc (4.5.2)
- this does not include init-reorg for each module (I still think more can be freed)
2011-06-16 22:13:19 -07:00
Corvus Corax
926246b402 UAVTalk: Make UAVTalk object oriented, allowing multiple UAVTalk instances 2011-06-16 16:35:37 +02:00
Oleg Semyonov
d8201ec45b sbus: provide a stub based on Spektrum driver (for CC only) 2011-06-15 22:35:21 +03:00
James Cotton
7d7d03cfd0 OP-193 OP-511: Basic code for camera stabilization. Currently tune range with
the servo endpoints and neutral.
2011-06-15 11:18:29 -05:00
Mathieu Rondonneau
7598e898fa OP-423 Step-1: split system stack and implement water mark for IRQstack:
- use IRQStack for ISRs (at begening of SRAM) (let's call it the irq stack)
- use end of heap for stack needed during initialization (let's call it the init stack).
- the systemStats in GCS indicate the remaining bytes in the IRQ stack (this is realy usefull to monitor our (nested) IRQs.

This is the base ground to provide as much memory as possible available at task creation time.

Next step is to re-organize the initialization in order to move all the init out of the thread's stacks onto the init stack.
This will provide as much memory as possible available at task creation time.
Basically the stack during initialization will be destroyed once the scheduler starts and dynamic alloc are made (since the init stack is at the end of the heap). We will need to make sure we don't clobber the heap during initialization otherwise this will lead to stack corruption.
2011-06-12 20:23:00 -07:00
James Cotton
bdc9094975 OP-493 OP-505 OP-511: Make up to 6 accessory channels so some can go from
ManualCommand to a camera module and some could go from that camera module to
output (i.e. mixing of inputs to pan tilt with stabilization)
2011-06-06 10:56:31 -05:00
James Cotton
1ecd244aff OP-493 OP-505 OP-511: Fixed bug with the direct mapping where it looked at throttle curve
source instead of directly bypassing
2011-06-06 10:53:55 -05:00
James Cotton
6c6906d61e OP-493: Switch to using Accessory0:2 to match the InstId 2011-06-05 15:38:58 -05:00
James Cotton
99b3a629a8 OP-493: Force three AccessoryDesired objects to always exist. Routing to
Mixing channel now works.  However Accessory desired instances do not show up
in GCS.
2011-06-05 15:38:58 -05:00
James Cotton
a1336e4d03 OP-493: Make sure accessory desired is not a single instance object 2011-06-05 15:38:57 -05:00
James Cotton
8ebd6a83d6 OP-493: Add support to bypass the mixer and route accessory data straight to
outputs.  Warning: This has no failsafes like arming.  We should discuss if
this is appropriate.

In addition accessory objects can be routed throught the mixer for collective
or flaperon.
2011-06-05 15:38:57 -05:00
James Cotton
a1d60cb77d OP-493: Use multiple instances when using multiple accessory channels 2011-06-05 15:38:57 -05:00
James Cotton
1365542103 OP-493: Populate the Accessory Desired from TX 2011-06-05 15:38:57 -05:00
James Cotton
624baeda5c Merge branch 'OP-423_Mathieu_GetSet_Uavobjects' into bugfix-flight 2011-06-05 09:48:22 -05:00
Mathieu Rondonneau
7b8d09371b fixing minor compiler error/warnings when compiling OP with DEBUG=NO 2011-06-03 21:47:43 -07:00
Mathieu Rondonneau
31a06a5ae7 OP-423 add set/get uavobjects functions to access objects fields separately. 2011-06-02 21:18:34 -07:00
Stacey Sheldon
ac0eb3a5c7 Merge remote branch 'origin/stac_build-opf-image' 2011-05-26 21:29:53 -04:00
James Cotton
66b85acebd Merge branch 'bugfix-flight' 2011-05-26 20:07:58 -05:00
James Cotton
d4a0f55cb7 Altitude.c: Indentation 2011-05-26 14:06:47 -05:00
James Cotton
6e186bab35 Merge branch 'bugfix-flight' into OP-378_James_INS 2011-05-26 12:19:35 -05:00
Oleg Semyonov
36d2a467e0 manualcontrol: fix copy/paste error 2011-05-26 00:16:36 +03:00
Stacey Sheldon
96827eecff build: Make all flight sw use pios_board_info_blob
Now that every bootloader build has a board info blob,
make all fw and bl images use it.

The following MACROS are removed:
  BOARD_TYPE, BOARD_REVISION, BOOTLOADER_VERSION,
  START_OF_USER_CODE, HW_TYPE

These values are now ONLY available from the bootloader
flash via the pios_board_info_blob symbol.  These values
must not be #defined or otherwise hard-coded into the
firmware in any way.  The bootloader flash is the only
valid source for this information.

NOTE: To ensure that we have an upgrade path from an
      old bootloader (without board_info_blob) to a
      new bootloader (with board_info_blob), it is
      essential that the bu_* targets do not depend
      on (or validate) the board_info_blob being present
      in the bootloader flash.
2011-05-24 00:58:10 -04:00
dankers
5f32803763 Changed accelKp = 1; in 3C filter when calibrating bias when arming. Increase default yaw by 0.005 2011-05-17 04:15:28 +10:00
dankers
71d582495e On arm bias calibration terms now matches boot calibration terms 2011-05-16 00:16:19 +10:00
James Cotton
b01e897e36 Merge branch 'OP-488_NeverHaltWhileArmed_James' 2011-05-14 17:21:05 -05:00
dankers
84e09031a7 Faster attitude calc, be much more aggressive with working out bias.
Change AccelkP to 0.05 to give accels more influence, just balacing out the 3C filter.

Change stab setting to be a better default fopr most Quads.
2011-05-15 05:58:58 +10:00
James Cotton
dbf8a77a94 Now there are other attitude settings (like rotation angle) make sure these are
loaded right away at power up
2011-05-13 07:24:44 -05:00
James Cotton
3d5244c4b8 Fix small typo THRSHOLD to THRESHOLD in gps.c 2011-05-12 18:57:16 -05:00
James Cotton
338d363289 When a channel is disabled in the mixer force the channel to have a 0 us pulse
duration.  The default before was neutral in failsafe.
2011-05-11 20:09:28 -05:00
James Cotton
5d28276c49 Reshuffle memory allocation on CC after FlightStatus object introduced 2011-05-11 17:35:52 -05:00
James Cotton
fdd591b700 OP-488: If the FirmwareIAP receives a halt signal but system is not disarmed
abort the halt.
2011-05-10 14:40:21 -05:00
James Cotton
163d41fb60 OP-466: Make the test output panel work when there is not a valid mixer
configured.  However unlike previous patch keeps alarms showing so you will be
unable to arm normally.
2011-05-10 02:43:55 -05:00
James Cotton
808e3c8ea2 Fix bug I made where guidance didn't look at new flight status object 2011-05-09 11:37:06 -05:00
James Cotton
4ec0263dfc OP-476: If AttitudeSettings.ZeroDuringArming is true, then while arming (1
second) it will speed up the estimate of gyro bias.
2011-05-07 15:29:21 -05:00
James Cotton
8e06eb3162 Get the "IDLE_NO_LOAD" level closer for CC with optimizations on, but it would
be great if someone actually calibrated this for me!
2011-05-07 15:07:14 -05:00
James Cotton
10e55c25bc OP-475: More changes to get the FlightStatus object to work for Armed and
FlightMode
2011-05-07 15:06:04 -05:00
James Cotton
80c839d5bb OP-475: Starting to use the new FlightStatus object 2011-05-07 13:17:21 -05:00
James Cotton
e2819c6815 Restructure the ManualControlCommand code to be much more readable. Also
facilitates the new FlightMode object.
2011-05-07 12:43:27 -05:00
James Cotton
d1fb254a41 Merge branch 'master' into bugfix-flight 2011-05-07 06:56:54 -05:00
James Cotton
fef1e2dc2e Merge remote-tracking branch 'origin/OP-174_Sambas_BaroAlt_to_ETOSD' 2011-05-07 04:41:13 -05:00
Corvus Corax
5f749dda7e Modules/ManualControl: bugfix GCS Control was broken due to connection state and arming being checked outside of the "object_writable()? {}" if clause 2011-05-06 01:26:34 +02:00
James Cotton
7e418866be Update the AttitudeSetting object to make the board rotation more human
readable and update the GCS fields appropriately.
2011-05-05 13:04:56 -05:00
James Cotton
dd36192e37 Merge branch 'bugfix-flight' 2011-05-05 00:36:55 -05:00
James Cotton
93d8449814 OP-474: When throttle < 0 and "spin while armed" mode enabled don't take into
account stabilization or stick - stay at neutral
2011-05-05 00:32:15 -05:00
James Cotton
05684e966b OP-470: Make arm/disarm threshold 50% instead of 90% 2011-05-04 22:53:00 -05:00
James Cotton
401a989c63 OP-474: Add option to ActuatorSettings to allow people to request their propellers always spin an neutral when armed (I don't recommend this). 2011-05-03 00:08:39 -05:00
James Cotton
9daca1ac41 OP-469: Wasn't paying attention and missed a line 2011-05-02 22:22:57 -05:00
Corvus Corax
8d8144f233 OP-441 Prevent double alarm set ( setFailsafe() already sets alarm to CRITICAL ) 2011-05-02 18:00:12 +02:00
James Cotton
9afedc0139 OP-469: Fix a bug I wrote where MaximumRate instead of ManualRate was used to
scale sticks in rate mode.
2011-05-02 04:33:32 -05:00
James Cotton
d9221fac06 Merge remote-tracking branch 'origin/OP-452_InputConfiguration' 2011-05-02 03:40:59 -05:00
David Carlson
341dbd7ad9 Change blink rate to Hz rather than 1/2 Hz. As per comments in review OPReview-18. 2011-05-02 00:50:42 -07:00
David Buzz Carlson
edd5ad8a78 Update Stat LED blink rate when armed to 5 Hz from its current 1 Hz. This allows a more drastic change in LED behavior to highlight that the aircraft WILL NOW CUT YOUR FINGER OFF IF YOU DON'T RESPECT IT!! 2011-05-02 00:50:42 -07:00
James Cotton
62e3d35a97 OP-452 Read the channel times even if a bad mixer is configured 2011-04-29 17:57:04 -05:00
Sambas
2413fd451f OP-174 ET OSD: barometric altitude works now, units must be set metric with E-Logger 2011-04-29 19:08:28 +03:00
Corvus Corax
8c7f3e2720 OP-435 #ifdef covered one command too many - bugfix 2011-04-25 18:37:28 +02:00
Corvus Corax
eb9ccc2f9b OP-383 Review 11 : Removed commented out unused variables as directed by review 2011-04-25 16:36:23 +02:00
Corvus Corax
cdb6b65e64 Merge branch 'master' into OP-383_Edouard_CPUSerial_in_FirmwareIAP 2011-04-25 02:36:44 +02:00
Corvus Corax
5d952f81e3 PIOS: BL_HELPER: refactored function names 2011-04-23 21:11:17 +02:00
Corvus Corax
150464344d BL_HELPER: call CRC_Ini() from within CRC check function 2011-04-23 20:55:21 +02:00
Corvus Corax
357bc369db PIOS: Bootloader Helper functions should sit in HAL, not duplicated in every single architecture. 2011-04-23 19:40:41 +02:00
Corvus Corax
192e31986d PIOS, Modules/FirmwareIAP: Use correct HAL for CPU serial 2011-04-23 18:30:32 +02:00
Corvus Corax
2bf7ea2271 Modules/GPS: Make code to deal with home location optional to allow a sleeker GPS module for RAM challenged systems 2011-04-23 16:49:07 +02:00
elafargue
e4112e210f Reduce size of FirmwareIAPObj to 40 bytes: only takes the 40 first bytes of the firmware description, ignores the rest. Makes the FWIAP UAVObject more decent size-wise, and does not break USB TX anymore. 2011-04-19 20:45:49 +02:00
elafargue
45e92d654e Implemented support for the Unique STM32 CPU serial number in the firmwareIAP object. 2011-04-19 00:31:20 +02:00
peabody124
3afdc7e41c CC-24: Rotate the CC board at any angle relative to "flat and level" with GCS
config plugin updates.  Has not been tested in flight yet although seems
sensible so please be careful when using this code.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3166 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-04-15 06:37:16 +00:00
pip
33d9d31082 Modified manual control input value checking to determine RC connection state - was previously checking only the throttle channel for semi-valid input range, it now checks the Throttle, Roll, Yaw and Pitch channels for full-valid values (manual value is within min and max values).
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3146 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-04-10 14:00:46 +00:00
corvus
da76192e47 Modules/Guidance: Bugfix in Position-Hold code
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3112 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-31 20:08:14 +00:00
peabody124
a57c289b3a CC-24: Support mounting CC at any angle by applying a rotation. Now need to
rotate sensors to make sure stabilization behaves well so don't use till then.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3100 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-29 02:15:57 +00:00
peabody124
48c20d37a9 OP-349 CC-32: Added a Completed operation that is returned after successful
save or load

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3093 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-28 19:16:50 +00:00
peabody124
bd5925d526 CC-35: Separate term for CC yaw bias rate and others
Note: AttitudeSettings changed so you'll need to re-zero it

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3090 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-28 18:42:48 +00:00
peabody124
4120937391 OP-364 OP-191: Convert the OPMap setting of HomeLocation to mGau to match the
changes in flight code

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3083 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-28 10:40:26 +00:00
peabody124
3fc88f69e2 Covering a case that should not occur
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3081 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-26 21:02:43 +00:00
edouard
bce3d21a0f Fix FirmwareIAP module, as it failed to reset the board if the object was queried before for other purposes.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3080 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-26 12:00:08 +00:00
peabody124
e262e3c220 Convert outer position controller to PI
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3077 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-26 11:40:33 +00:00
fredericg
662a3e5cc8 OP-361 Also parse ZDA message in order to get GPS time info with new GTOP FW
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3074 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-26 11:13:11 +00:00
peabody124
eafcf35fa6 Reenable position hold
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3072 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-25 20:17:31 +00:00
edouard
f19b0efc6f CC-40 Implemented support for FirmwareIAP on Coptercontrol: you can now use the "Halt" command on the uploader gadget.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3070 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-25 13:50:13 +00:00
chebuzz
2e5863281c CC/Stabilization - Fix attitude bias not being applied over all sampled quantities
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3065 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-24 17:12:04 +00:00