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

634 Commits

Author SHA1 Message Date
Corvus Corax
dfdea16065 Modules/GPS: Make GPS COM unidirectional (rx only) and use smaller, runtime allocated heap buffers 2011-08-25 14:46:30 +02:00
Corvus Corax
697ac6067e OP-567 Modules/GPS: Block in PIOS_COM, not in TaskDelay - or we will miss updates! 2011-08-25 13:33:41 +02:00
Stacey Sheldon
edc0caf521 heap: set memory critical alarm on malloc failures
Activate the FreeRTOS malloc failed hook and use it
to set the memory critical alarm.
2011-08-21 23:14:32 -04:00
Corvus Corax
838149b53f GPS: homelocation init is optional, satellites must be initialized 2011-08-21 18:20:33 +02:00
James Cotton
b1c522def3 Merge remote-tracking branch 'origin/next' into ins 2011-08-21 01:34:40 -05:00
James Cotton
e1afc9a19a Merge branch 'next' into ins
Conflicts:
	flight/Libraries/inc/fifo_buffer.h
	flight/PiOS/STM32F10x/link_STM3210E_INS_sections.ld
	flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
2011-08-21 00:47:43 -05:00
James Cotton
368323fd59 Merge remote-tracking branch 'origin/james/erase_settings' into next 2011-08-20 13:07:01 -05:00
Corvus Corax
1ad65e0718 Fixed include in sysstemmod. pios_config.h should not be included explicitly. 2011-08-20 15:04:00 +02:00
Corvus Corax
53d0732fc6 Enable GPS module as "optional module" in CooterControl 2011-08-20 01:25:49 +02:00
Corvus Corax
dfd301571a HWSettings: Allow late Initialization and Start of Modules as defined in Makefile(available modules) and UAVObject(actually started modules) 2011-08-20 01:24:06 +02:00
Corvus Corax
b75890fcd4 Merge branch 'next' into CC_GPS 2011-08-19 21:34:38 +02:00
Corvus Corax
9bba1f7ae9 Posix: fix object initialization where necessary 2011-08-19 18:36:30 +02:00
James Cotton
ab7e57ad2b Initialize objects for guidance in the correct place. Init some objects in
pios_board_posix since AHRSComms not around.
2011-08-19 09:52:05 -05:00
James Cotton
482bec497b Revert "Fixed modules that didn't initialize used UAVObjects correctly"
Modules should initialize their settings and the objects they source.  Not just
everything.

This reverts commit 9ad85e9b7b.
2011-08-19 09:44:38 -05:00
Corvus Corax
9ad85e9b7b Fixed modules that didn't initialize used UAVObjects correctly 2011-08-19 13:20:15 +02:00
Corvus Corax
f86e53bf91 Merge branch 'OP-536_CorvusCorax_ObjectOrientedFirmwareUAVTalk' into next
Conflicts:
	flight/Modules/Telemetry/telemetry.c
2011-08-19 12:10:40 +02:00
Corvus Corax
6fe495c088 Merge remote branch 'origin/next' into OP-536_CorvusCorax_ObjectOrientedFirmwareUAVTalk
Conflicts:
	flight/Modules/Telemetry/telemetry.c
2011-08-17 08:30:32 +02:00
James Cotton
35eef66bfe OP-557: Add a UAVO access method to erase the entire flash chip. Normally not
needed by users because if too much changes I change the FS magic and trigger a
wipe.

Possibly the erase should require a particular "magic" object id value to
execute?  This would make it harder to do manually through UAVOs though.
2011-08-15 10:33:27 -05:00
James Cotton
86b652bbab Merge branch 'next' into camera_stabilization 2011-08-14 18:07:57 -05:00
zedamota
e736b17cc4 Merge remote-tracking branch 'remotes/origin/next' into GCS_ChangesToUI-RuntimeCFG
Conflicts:
	ground/openpilotgcs/src/plugins/config/config_cc_hw_widget.cpp
	ground/openpilotgcs/src/plugins/config/configgadgetwidget.h
	ground/openpilotgcs/src/plugins/config/configstabilizationwidget.cpp
2011-08-14 15:48:16 +01:00
James Cotton
a2b76adc33 Attitude: Do not start attitude estimation until accel data appears. This
fixes the NaN when AttitudeSettings not available.
2011-08-13 18:53:42 -05:00
James Cotton
784c7b2646 Merge branch 'next' into ins 2011-08-11 21:52:10 -05:00
James Cotton
ec4e23aff9 Camera Stabilization: Bound outputs to [-1,1] although this should be redundant
with checks in actuator.
2011-08-11 14:34:38 -05:00
James Cotton
bbe3c1533a Merge branch 'next' into camera_stabilization 2011-08-10 21:57:45 -05:00
James Cotton
ab288e95ab Stabilization: Small patch so that by default the integral is zeroed while
throttle is low (good for quads) but can be disabled (good for planes and also
testing helis).
2011-08-10 03:51:46 -05:00
James Cotton
f23eaa8273 Make the Actuator pull from the CameraDesired fields 2011-08-09 21:47:42 -05:00
James Cotton
f11aa80444 CameraStabilization: Make the CameraStabilization module put the desired
position into another object (will help with configuration).
2011-08-09 20:45:38 -05:00
James Cotton
c4e272b9ad Merge branch 'next' into camera_stabilization 2011-08-09 20:16:45 -05:00
James Cotton
ec2121bca8 Attitude: Keep first element of quaternion positive 2011-08-08 21:16:04 -05:00
James Cotton
0bba13a0e9 Merge branch 'next' into ins
Conflicts:
	flight/INS/Makefile
	flight/INS/pios_board.c
	flight/Modules/Altitude/altitude.c
	flight/PiOS/Boards/STM3210E_INS.h
	flight/PiOS/STM32F10x/link_STM3210E_INS_BL_sections.ld
	flight/PiOS/STM32F10x/link_STM3210E_INS_HD_BL.ld
	flight/PiOS/STM32F10x/link_STM3210E_INS_HD_NB.ld
	flight/PiOS/STM32F10x/link_STM3210E_INS_memory.ld
	flight/PiOS/STM32F10x/link_STM3210E_INS_sections.ld
	flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
2011-08-06 17:25:56 -05:00
James Cotton
fd86c25b49 Make sure OP compiles with new object init structure. 2011-08-04 15:01:54 -05:00
James Cotton
a592e7d398 ManualControlSettings must be also initialized in pios_board.c 2011-08-04 07:47:50 -05:00
Stacey Sheldon
90b2625deb rcvractivity: Add tracking of Rx channel activity 2011-08-02 01:27:37 -04:00
Stacey Sheldon
06cdeb7b61 rcvr: support multiple simultaneous receivers
Now also supports multiple instances of the Spektrum driver.
These are configured as Spektrum1 and Spektrum2.
2011-08-02 01:22:04 -04:00
James Cotton
cb9c6dfb5e Change the sequencing of telemetry starting to make sure all the objects that
were registered in an initialize and then enumerated by telemetry
2011-07-30 11:31:45 +09:00
James Cotton
ae67c51632 Register some missing objects with their modules 2011-07-30 11:28:21 +09:00
James Cotton
2e5a36a4db Merge branch 'stac/refactor-usart-com' into camera_stabilization 2011-07-30 10:55:16 +09:00
James Cotton
96c2d24253 Merge branch 'next' into camera_stabilization
Conflicts:
	flight/CopterControl/Makefile
	flight/CopterControl/System/coptercontrol.c
	flight/Modules/Actuator/actuator.c
	flight/Modules/GPS/GPS.c
	flight/Modules/ManualControl/manualcontrol.c
	flight/Modules/Stabilization/stabilization.c
	flight/Modules/System/systemmod.c
	shared/uavobjectdefinition/manualcontrolsettings.xml
	shared/uavobjectdefinition/stabilizationdesired.xml
2011-07-30 10:06:10 +09:00
James Cotton
333ab645ec Dos2unix manualcontrol.c to facilitate merging 2011-07-30 09:55:02 +09:00
Stacey Sheldon
c2fb0d8b43 com: allow run-time allocation of buffers 2011-07-29 15:33:14 -04:00
Stacey Sheldon
5f8760a55c com: Move buffering out of USART/HID layer and into COM layer
This allows the spektrum and sbus receiver drivers to bind
directly to the usart layer using a properly exported API
rather than overriding the interrupt handler.

Bytes are now pushed directly from the usart layer into the
com layer without any buffering.  The com layer performs all
of the buffering.

A further benefit from this approach is that we can put all
blocking/non-blocking behaviour into the COM layer and not
in the underlying drivers.

Misc related changes:
 - Remove obsolete .handler field from irq configs
 - Adapt all users of PIOS_COM_* functions to new API
 - Fixup callers of PIOS_USB_HID_Init()
2011-07-27 19:45:38 -04:00
Stacey Sheldon
6580462916 rcvr: specify drivers for groups of channels
Each channel was previously tracking a separate driver.
Now, channels are grouped within a channel group to save
RAM used for tracking and to better reflect how channels
are actually mapped.
2011-07-14 23:22:42 -04:00
Mathieu Rondonneau
612a439199 OP-423: simplify the MODULE_INITCALL macro and remove the ordering loops 2011-07-12 20:44:32 -07:00
James Cotton
0aec3b592c Changing stabilization so that the PIDs are zeroed when not armed, but NOT when
the throttle is < 0.  This will make things like axis-lock work while armed
without throttle.  HOWEVER don't hold your stick in the arming position for a
long time or you can wind up the integrals now.
2011-07-12 14:35:32 -05:00
James Cotton
2c7cfe435f Somehow this task runs quite a few times at the beginning so dT was going to
zero and making the attitude get NaN.  Wrote recovery code for that condition
(should never occur) and also force minimum dT to 1 ms (also shouldn't occur)
2011-07-12 14:18:19 -05:00
James Cotton
53ca934b2b Merge branch 'heli_stabilization'
Conflicts:
	flight/CopterControl/System/inc/pios_config.h
	flight/Modules/Attitude/attitude.c
	flight/Modules/ManualControl/manualcontrol.c
	flight/Modules/Stabilization/stabilization.c
2011-07-12 13:28:20 -05:00
Mathieu Rondonneau
d38f6167e3 OP-423:
Also reduce heap has it does not fit in SRAM anymore (not with current compiler).
(that's ok since if there is more space available, it will be reclaimed).

Merge branch 'master' into OP-423_Mathieu_Change_Init_To_Reduce_Memory_Footprint

Conflicts:
	flight/CopterControl/System/inc/pios_config.h
	flight/Modules/ManualControl/manualcontrol.c
2011-07-08 06:29:34 -07:00
James Cotton
2d995dc2f7 OP-539: Don't call the gyro setting callback during init because it clears the
gyro bias estimation.
2011-07-05 22:27:03 -05:00
Mathieu Rondonneau
9b9b5a1367 OP-423: remove ';' at the end of macro 2011-07-05 19:44:54 -07:00
Stacey Sheldon
740b5f1584 rcvr: convert PWM, PPM, SBUS and Spektrum to use PIOS_RCVR
All receivers now fall under the same driver API provided
by pios_rcvr.c.

This is part of a larger sequence of commits that will
switch the receiver selection over to boot time dynamic
configuration via UAVObjects.
2011-07-05 22:03:25 -04:00
James Cotton
ad8876c62a OP-193: Weak leveling variant on rate mode. Slowly will return to level. 2011-07-04 20:44:55 -05:00
James Cotton
46ae7eb17b Merge remote-tracking branch 'origin/bugfix-ground' into heli_stabilization 2011-06-30 19:40:22 -05:00
James Cotton
39e646ae1d Make the rates all work properly in axis lock 2011-06-30 19:38:52 -05:00
zedamota
567e3ffcad OP-542 Board resets with new Uploader
IAP module now checks magic value
2011-06-30 12:17:27 +01:00
James Cotton
a7206361d2 Slightly different way to respond to sticks in axis lock that is much more
responsive and avoids overshoot.
2011-06-26 21:59:54 -05:00
Mathieu Rondonneau
6683ce8570 OP-423: Make it more obvious that MODULE_TASKCREATE_ALL and MODULE_INITIALIZE_ALL are macro (for now):
- remove the ;
  - also encapsulate the macro by {} in his own scope.
2011-06-25 11:40:01 -07:00
James Cotton
4c0245281d Now we store the gyro bias avoid quashing the initialization correction. 2011-06-25 12:32:06 -05:00
Mathieu Rondonneau
de55c56427 OP-423: Change capital on macro to be uppercase for consistency. 2011-06-24 22:03:03 -07:00
James Cotton
dedbcbfceb Correct nasty bug on range checking for max rate and use the axis lock rate
desired when in that mode.
2011-06-24 11:30:28 -05:00
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
Corvus Corax
bce51d4258 OP-435 Optionally allow building of GPS without support for GPSSatellites and GPSTime UAVObjects to save memory 2011-05-12 21:00:59 +02: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
fredericg
b37dd770d2 Use attitudeActualData.Yaw for course
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3064 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-24 10:56:20 +00:00
jonathan
160695e546 OP-191: Merge from full-calibration branch. Add the local gravitational field strength to the home location.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3055 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-21 00:48:32 +00:00
fredericg
d270f7e987 Changes to FlightBatterySettings as discussed in forums
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3047 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-19 18:45:40 +00:00
FredericG
ea512a3da7 OP-322 Implement Audible alarm via PWM - Different tune for GPS and Battery Alarm
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3035 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-13 17:02:19 +00:00
peabody124
b76a235940 OP-317: Fixed the FirmwareIAP resetting the AHRS board. Sorry this took me so
long to do.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3029 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-12 09:08:12 +00:00
FredericG
c3732bad93 OP-322 Implement Audible alarm via PWM - handle new "PWM Alarm Buzzer" channel type
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3028 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-12 09:02:02 +00:00
FredericG
5bdf836027 OP-324 No code change; commented debug-code
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3026 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-12 08:55:45 +00:00
FredericG
baf0850690 OP-336 CPU usage calculation incorrect when armed - no measure the time between calculations
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2987 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-06 11:50:54 +00:00
FredericG
5554973cea OP-174 ET OSD support - fix for writing configurations - temp workaround for what seems to be an issue with I2C driver OP-305
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2986 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-06 11:19:29 +00:00
osnwt
8d085552fb CC: Modules/Attitude/attitude.c: unused headers removed (do we have another?)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2967 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-04 21:12:37 +00:00
osnwt
e9d507dd3e CC: Fixed compilation error after uavobject rename
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2966 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-04 20:56:58 +00:00
FredericG
32c7596636 OP-324 Make NMEA parser more resilient to corrupted messages - For the new GTOP GPS FW, parsing of the VTG message is needed to get Heading and GroundSpeed
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2960 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-04 07:57:18 +00:00
FredericG
c890f596e4 NMEA: minor change to debug-messages
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2953 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-03 19:53:10 +00:00
scott
f1ee47dcff Added #include "pios_config.h" to make sim_posix build again. Some alarm constants were missing.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2945 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-03 05:09:11 +00:00
vassilis
b084ea7ea1 FlightPlan/Python: Updated object generator to create a Python file for each UAVObject. It is now possible to access all UAVObjects from the FlightPlan Python scripts.
Warning: The memory utilization when importing objects is unacceptably high making it unusable in the flight code at this point. It can be however used with the SITL simulator. Some more investigation is needed to understand why several kb of memory are used each time a module is imported (even before any functions are called or objects from the module are created). 


git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2938 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-03 02:22:50 +00:00
peabody124
3b13ad6859 OP-329: Enumerate more possible flight modes now like multiple stabilization
modes so that the FlightMode field is complete in terms of being informative
enough

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2935 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-02 01:25:44 +00:00
peabody124
915ae1ae3c OP-313 Account for which axis are in rate and none to get the desired
quaternion

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2933 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-02 01:25:38 +00:00
peabody124
8930ec01de OP-313 Quaternion based stabilization, gets rid of lots of checking angle
signs, should be stable for all orientations

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2932 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-02 01:25:34 +00:00
peabody124
3488d28a5b Whitespace fixes
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2931 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-02 01:25:30 +00:00
peabody124
3e17c2ff55 OP-312: Create a StabilizationDesired object that is the generic input to
Stabilization, carries the desired rate or attitude as well as a flag on how to
intepret it.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2930 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-02 01:25:27 +00:00
peabody124
672b9ce961 Convert failure to mount SD card to an error so you can't arm with an
unconfigured quad

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2929 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-02 01:25:23 +00:00
pip
beedb7fdad Added center stick deadband code - currently deadband is set to '0' so not used)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2927 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-01 21:43:20 +00:00
FredericG
7d679e01f0 ET-174 Adapted ET OSD Drv to current GPS coordinate format
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2910 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-27 19:58:34 +00:00
FredericG
0124c42b8c OP-324 Make NMEA parser more resilient to corrupted messages - WANRING: NMEA parser refactored - VTG and ZDA messages no longer interpreted
Sometimes corrupted NMEA messages can get passed the NMEA "CRC" check and this caused the NEMA parser to crash because it assumed that the correct amount of parameters are present.
Now the NMEA message is split into its different parameters before it is passed to the message-specific parser. Hence the function-signature of the parser functions has changed and the implementations of these functions has changed. 
I also decided to no longer interpret the VTG and ZDA because they do not contain more data than the other messages that are being parsed.
Not tested in flight, and could not test the TOP message.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2904 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-27 13:45:19 +00:00
peabody124
ea390d0b90 CC-26: Add accel bias term. Note it's units are LSB, not m/s^s
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2895 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-26 22:21:44 +00:00
osnwt
899c1fe0bf Moved CPU and heap alarm thresholds into pios_config.h.
Fixed heap thresholds for the CC (prevented arming).

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2886 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-26 11:46:39 +00:00
pip
4b4d9043fb Set PDOP and VDOP to 99.99 in binary mode (theose values are not available in binary mode). A couple of cleanups too.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2874 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-24 10:55:45 +00:00
andrew
84c26f8905 OP-84
Battery module for Power Sensor version 2
made a few variable declarations static so things work again after changes to make this module not run in it's own thread.

Fixed the energy consumed calcs to scale correctly.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2870 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-24 05:05:17 +00:00
pip
bee704176b Fixed a bug when scanning for start of packet.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2861 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-23 10:11:26 +00:00
pip
e9d7ab09be Improved efficiency (a lot) when scanning for and locking onto the start of a GPS binary packet.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2858 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-23 09:24:17 +00:00
pip
e7850ab25e Corrected scale for lat/lon - was out by a factor of 10
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2846 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-22 14:16:16 +00:00
pip
f6370a035d 'Slightly' more efficient binary packet handling.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2845 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-22 12:45:51 +00:00
pip
9da0fb47e2 Reduced GPS command resend to 2 second time-out, a few more white space corrections.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2844 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-22 12:32:08 +00:00
pip
3881c652c1 Simplified the binary code a little, added a 300ms delay after sending a FULL COLD RESTART to the GPS (IF we do that is), fixed some spelling mistakes.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2843 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-22 12:15:25 +00:00
pip
9d14723dcc Commenting tidy upping
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2842 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-22 11:32:24 +00:00
pip
d1d165adff More white space/tab corrections.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2841 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-22 11:19:12 +00:00
pip
0fd6170979 added another "#ifdef ENABLE_GPS_NMEA"
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2840 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-22 11:02:17 +00:00
pip
a2259201e5 removed tabs after spaces.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2839 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-22 10:55:01 +00:00
pip
414836a4c9 Added another parsing_errors++ line.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2838 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-22 10:36:27 +00:00
pip
4547013901 Added GTOP BINARY mode to the GPS module.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2837 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-22 10:16:50 +00:00
FredericG
42cf204dcd correctly detect 100% load
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2836 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-21 21:50:10 +00:00
peabody124
5f2c502172 Arm checks: Simply don't check GPS because the dependence on AHRS Settings
breaks CC.  This should be done by the GPS alarm being set only when
appropriate (i.e. by AHRS on OP when needed) and not by the GPS module.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2824 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-21 05:58:24 +00:00
pip
0c48fe258a Changed alarm level checking from WARNING level to ERROR level before allowing arming.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2822 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-20 19:34:27 +00:00
pip
88cf1e276a Ignore Telemetry alarm when arming (telemetry alarm no longer prevents arming).
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2821 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-20 17:53:03 +00:00
pip
df26016c64 Added alarm check when trying to change state to ARMED mode (from DISAMRED mode), if any warnings are set then it will not go into ARMED mode - unless the GPS is not required, in which case the GPS alarm will be ignored (if using Simple or Indoor AHRS modes). These checks are done in the okToArm() function.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2820 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-20 16:42:31 +00:00
sambas
8d6f320fca Handle I2C defines better, needed in CC for now
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2815 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-20 07:14:02 +00:00
FredericG
c9060393e5 OP-302 Remove threads from modules that do not need them - Battery Module
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2812 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-19 18:56:52 +00:00
FredericG
374e822f79 OP-302 Remove threads from modules that do not need them - ET OSD module
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2811 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-19 13:25:27 +00:00
FredericG
c5f814a931 ET OSD, WIP, measure timing
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2810 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-19 10:18:00 +00:00
pip
9a2bdac49c Reduced CC CPU usage from 57% to 46% by moving the floating point multiplies outside of the accelerometer downsample/averaging loop in the updateSensors() function.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2809 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-19 09:33:03 +00:00
corvus
435072cf4e Modules/Stabilization, Modules/ManualControl:
Move channel StabilizationSettings from ManualControlCommand to
AttitudeDesired, unify channel normalization and put them all into ManualControl

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2797 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-15 14:55:00 +00:00
stac
3fda65c5d3 hwinit: Convert SPI drivers to dynamic init
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2772 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-12 22:19:50 +00:00
stac
841b0d3d6d hwinit: Convert COM and USART to dynamic init
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2771 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-12 22:19:43 +00:00
peabody124
8498512855 CC-20 Attitude initialization: Make sure no divide by 0 condition possible
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2761 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-08 16:34:55 +00:00
peabody124
9f71f4121c CC-18 Attitude: Change units to proper engineering ones. An accelKp=1 means
that it will completely follow the accel attitude each cycle and is way too
high.  Ki=1 means the gyro bias wil be correct by accels each cycle (way too
high).

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2755 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-08 16:34:35 +00:00
peabody124
cfe295377c CC-18: Normalize the gravity vector to unity gain
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2754 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-08 16:34:31 +00:00
peabody124
74cc7dbfc9 CC-20 Attitude: Jack up Kp and Ki values for first 5 seconds to force faster
convergence of gyro bias, then the normal values can be lower.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2753 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-08 16:34:28 +00:00
peabody124
03fb82ad0a CC Attitude: Change when AttitudeRaw is set to end of attitude estimation,
because this is what is determines when the Stabilization code executes.
Because we aren't oversampling gyros relative to the PID in CC we should set
the attitude first (computational time to do so is negligible).

Also change update rate to 500 Hz.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2750 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-08 16:34:18 +00:00
FredericG
d7fc7646b0 OP-246 UAVOBJ CHANGE - Setting to disable arming/disarming
options="Always Disarmed,Always Armed,Roll Left,Roll Right,Pitch Forward,Pitch Aft,Yaw Left,Yaw Right" defaultvalue="Always Disarmed"

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2744 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-06 16:16:20 +00:00
peabody124
f97d853c80 Make the PriTx queue optional which saves 700 bytes
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2729 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-05 10:52:52 +00:00
peabody124
efca295ea0 Modules/Guidance: Fix a bug Corvus caught
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2727 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-05 01:14:55 +00:00
peabody124
04f54928d6 Modules/Guidance: Fix a bug Dale caught about not grabbing settings and also
correct a typo when NedAccel.Down wasn't used.  Finally increase stack size of
guidance task.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2718 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-03 20:00:00 +00:00
peabody124
e5b26bc67d More memory tweaks to keep CC flowing
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2709 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-03 02:42:49 +00:00
peabody124
fedadb1275 CC-8: Move the queue registration into the ADC PIOS driver to allow other
functions to use it easily

Conflicts:

	flight/Modules/Attitude/attitude.c

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2707 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-03 02:42:43 +00:00
peabody124
810fa70856 UAVObjects: Remove the raw versus filtered fields in the sensor data. Save
some memory.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2706 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-03 02:42:39 +00:00
peabody124
c95a6447bf CC-8 Whenever the gyro data is updated the callback now pushes the data onto a
queue, which update sensors waits for.  This confirms one update per gyro
update.  All available accel data will be pulled off each time.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2705 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-03 02:42:33 +00:00
peabody124
986e124202 CC-7 Reverse order of two lines so that yaw bias converges instead of diverges
:-)

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2693 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-02 09:16:28 +00:00
peabody124
265737427b CC-7: Make the gyro scale adjustable (for now at least, this was largely for
debugging, let's compare values).

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2692 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-02 08:57:42 +00:00
peabody124
1663a838ff CC-7 Full complimentary filter ala Mahoney paper using quaternion
representation.  Also improved gyro bias initialization.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2691 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-02 08:57:38 +00:00
peabody124
cf2e9fb349 Memory: Also allow overriding Stabilization stack size
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2690 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-02 08:57:34 +00:00
peabody124
77ce0d6391 Actuator: Fix bug I made a while ago that stops servos going negative values
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2677 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 21:05:00 +00:00
peabody124
f93ed5f01f CC Module memory: Make it clean for CC to override the stack sizes of modules
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2668 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:18:35 +00:00
peabody124
b1e4b65f3d CC-1 Bigger oversampling window for CC sensor data
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2667 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:18:31 +00:00
peabody124
1c6b51b704 UAVObjects/AttitudeSettinsg: Object for CC to tune the attitude estimation
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2666 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:18:26 +00:00
peabody124
15f3ada700 Get rid of ms * 10 units since the time resolution of FreeRTOS is in ms
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2665 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:18:22 +00:00
peabody124
3f088bed8d CC-9 1. Improve the timings of the attitude estimation
2. Disable FirmareIAP module in CC (somehow causes lockups when also using vTaskDelayUntil in Attitude WTF)
3. Make the SPI bus run a little faster so we can handle the 3200 Hz from accel
while running the filter at 333 Hz

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2664 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:18:19 +00:00
peabody124
1d2ad6e9cb Telemetry: Move the telem stack size to the board definition file since CC
needs less

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2659 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:17:59 +00:00
peabody124
c9207b3754 CC-14 PIOS/Servo: Set more than two bank speeds
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2658 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:17:55 +00:00
peabody124
200f9a7247 FirmwareIAP: Whitespace fix, spaces to tabs
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2657 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:17:51 +00:00
peabody124
1cf7555b7d CC-10 Rename CCAttitude to Attitude. If there are alternative ones we will
just have nested subdirectories of Attitude

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2655 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:17:40 +00:00
peabody124
85d42868d6 CC-10 Rename the TaskInfo and Alarm field for CCAttitude to Attitude
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2654 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:17:36 +00:00
peabody124
063c58e7c0 CC-12 Enable Watchdog on CC
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2653 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:17:32 +00:00
peabody124
037a63ee1d CC-1 CC-8 Cache the oversampled gyro value and use that to get rid of glitches.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2652 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:17:27 +00:00
peabody124
29ad7b3017 CC-13 Get FirmwareIAP reset working on CC
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2649 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 01:55:54 +00:00
peabody124
42b21a2697 OP-300 FirmwareIAP: Change to use event dispatcher callback to determine when
to reset OP (sends reset command to INS)

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2648 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 01:55:43 +00:00
FredericG
a8bd4d28ad OP-174 ET OSD, do not return from task, the system seems to crash when you do that; anyway the thread will be removed
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2625 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-29 17:47:40 +00:00
sambas
ba5ebb6b13 OP-303 PIOS/Sonar: preliminary support for HCSR04 ultrasound altimeter module, tested and working :)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2610 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-28 19:21:22 +00:00
peabody124
3b0be12b67 OP-291 PIOS/Servo: Fix a few interrupt mappins for OP
Also keep the priority of actuator at idle+4, dropping it down slipped through

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2580 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:52:20 +00:00
peabody124
d2f3e0d379 CC-6 Initial code for the flash chip on CC
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2578 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:52:14 +00:00
peabody124
d4b4a6ca37 CC-3 Modules/CCAttitude: Add oversamplign to the accel data
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2576 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:52:08 +00:00
peabody124
cef46edafd Manual Control: Drop the AHRSSettings dependency to bring task memory down
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2574 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:52:03 +00:00
peabody124
e16b1bffa9 CC-3 Remove unused code from CCAltitude
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2572 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:51:56 +00:00
peabody124
d5ccb59b5a CC-3 CC Complimentary filter: Strip out some unused code and get the sampling
rate up

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2570 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:51:51 +00:00
peabody124
99fcd089d4 OP-291 PIOS/Servo: Make the remapping of timers a part of the driver structure
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2569 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:51:48 +00:00
peabody124
da96ce15b9 OP-256 PIOS/PWM: Converting PWM input to use standard driver structure.
Beginning of unifying the input types into PIOS_RECEIVER.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2568 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:51:45 +00:00
peabody124
108ea8c959 OP-295 Get CC pin mappings consistent for using the temperature sensor
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2565 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:51:34 +00:00
peabody124
edced9177c OP-291 PiOS/Servo: Converting output to use driver system
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2564 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:51:32 +00:00
peabody124
80c97ddfd0 CC-2 CC-3 Modules/CCAttitude: Flip the up-down convention of the board
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2563 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:51:29 +00:00
peabody124
c55d40bdbc CC-3 Setting up monolithic task template to keep code size down. Importantly
switch to heap_1.c which saves a lot of money.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2561 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:51:22 +00:00
FredericG
f7e6f998ca OP-288 Slight simplification of the ManualControl module
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2548 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-23 18:38:00 +00:00
vassilis
b297ef0ae5 Flight/FlightPlanner: First release of openpilot.py library giving access to RTOS and debug fields. Implemented STOP command, this should be the normal way for stopping scripts. The KILL command should be only used as a last resort for misbehaving scripts. The KILL command will delete the VM thread.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2535 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-22 21:32:23 +00:00
peabody124
bcdd87689a OP-295 Modules/SystemMod: Get the internal CPU temperature sensor and store in
system stats when available

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2511 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-21 17:18:24 +00:00
peabody124
2d9f7f32d1 OP-291 PiOS/Servo: Converting output to use driver system
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2499 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-21 03:40:21 +00:00
cwabbott
e73da04cc6 PiOS.win32: changes according to rev 2480, fix compile error in manualcontrol.c, add vTaskDelete() to win32 FreeRTOS.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2484 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-19 23:52:11 +00:00
vassilis
d7fd8a3bcd Flight/FlightPlan: Enable Python VM and test flightplan execution. From now on a Python executable needs to be in the system path as it is used in the Makefile.
A test script is statically linked (will eventually be uploaded by the GCS and stored in the VM), it can be found under: Modules/FlightPlan/flightplans/test.py

To start the script send the FlightPlanControl object with the Start command, to stop send the Stop or Kill commands.

Next release will be the OpenPilot python libraries and access to UAVObjects from the script.



git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2480 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-19 03:34:01 +00:00
osnwt
780f441ae9 OP-289/Flight: do not use RC input if disconnected. Quick fix until better arming system is designed.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2479 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-19 00:01:33 +00:00
FredericG
76420d7972 OP-288 Simplification of ManualControl code
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2478 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-18 19:30:50 +00:00
peabody124
56dd0569b8 CC-2 Complimentary filter working on copter contol, nice attitude
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2475 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-17 08:45:43 +00:00
peabody124
cf17569de7 CC-1 Modules/CCAtttitude: Calling the ADXL345 library and getting the accel and
gyro data into attitude raw.  Hardcoded calibration for now.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2474 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-17 08:45:40 +00:00
peabody124
211585c7d7 CC-1 Modules/CCAttitude: Initial reads from accelerometer
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2472 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-17 08:45:34 +00:00
andrew
ce87b8f05a OP-274
Fixed Changing of Debug port baud rate only to occur when debug is enabled
Fixed brief in header file

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2470 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-17 04:02:37 +00:00
peabody124
8959007a38 Flight/Actuator: Log the longest update of motors in ms, not ms * 10
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2467 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-17 02:11:05 +00:00
cwabbott
7f8ea5e55a PiOS.win32: updates to get it compiling again.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2462 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-17 00:00:41 +00:00
edouard
b3ca037308 OP-277 Update all files to use a BOARD_TYPE and BOARD_REVISION scheme through the whole codebase.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2458 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-16 20:41:55 +00:00
FredericG
c2613ffa88 Spaces->tab no code change
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2456 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-16 18:49:27 +00:00
FredericG
3f1ad074df OP-246 Configuring arming/disarming; using field to ManualControlSetting to define which channel is used for arming or to disable arming
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2455 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-16 18:17:30 +00:00
peabody124
33f3500e64 CC-3: New module for copter control
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2441 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-16 02:45:27 +00:00
peabody124
9cf3ee9fb3 OP-267 Flight/UAVObjectManager: Make all references to DFS function depend on
PIOS_USD_SDCARD.  However, this needs to be cleaned up and abstracted out of
the UAVObjectManager who shouldn't care about the storage layer.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2417 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-14 01:38:27 +00:00
peabody124
940792db5c OP-265 CopterControl: Fork main OpenPilot directory
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2416 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-14 01:38:24 +00:00
peabody124
fc54159369 OP-265 Flight reorganization of UAVObjects and Modules up a directory
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2415 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-14 01:38:19 +00:00
gussy
ac1a73800b Moving Modules into OpenPilot directory.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@236 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-04 05:58:03 +00:00
vassilis
94d3c1a3f1 Added support for event callbacks (as an alternative to task event queues)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@234 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-04 03:04:39 +00:00
vassilis
93901e8754 Refactored UAVObjects and UAVTalk for reduced memory footprint, added support for multiple instances within objects (useful for array objects, e.g. waypoints). Still not fully tested.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@199 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-02-27 19:57:45 +00:00
vassilis
b1b8fe4b37 Creation of UAVObject ,UAVTalk and Telemetry modules (compiles but untested!)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@196 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-02-22 02:18:23 +00:00