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

3460 Commits

Author SHA1 Message Date
Alessio Morale
ad6d071e52 OP-815 Coptercontrol hang on startupd due to WDG timeout 2013-01-20 16:20:49 +01:00
Alessio Morale
f293298118 Merge remote-tracking branch 'origin/revo-fixes' into amorale/revo-merge
Conflicts:
	flight/Modules/ManualControl/manualcontrol.c
	make/scripts/version-info.py
	package/Makefile.linux
2013-01-19 20:23:48 +01:00
Alessio Morale
b317415556 OP-788 reenable transaction lock for pios_jedec_flash.c 2013-01-14 01:31:07 +01:00
Alessio Morale
fbced18aab Added missing test for TIM_IT_Update, cleanup 2013-01-05 18:52:15 +01:00
Alessio Morale
403a27de9e OP-783: Fix missing F4 timer handlers for TIM13 and TIM14 and check source for shared vectors 2013-01-05 18:52:02 +01:00
Alessio Morale
8a832fa8f6 OP-780 fix for comments 2012-12-30 15:01:25 +01:00
Alessio Morale
376467bf57 OP-782 OP-780 Cleanup of overosync module, fixing headers. Added(but not enabled) its boilerplate declarations on board_hw_defs.c/Makefile/pios_config. 2012-12-30 13:36:47 +01:00
Alessio Morale
b1360f8136 OP-782 move FirmwareIAPStart from firmwareiap.h to matching .c file. 2012-12-30 12:32:00 +01:00
Alessio Morale
657701348c OP-782 fixed duplicated entry for adc input. 2012-12-30 12:26:28 +01:00
Alessio Morale
f93a9affa9 Fixed comment on coptercontrol's pios_board.c OP-780 2012-12-29 17:20:50 +01:00
lilvinz
6daed46ecc pios_i2c: fixed a race condition with wrong bus locking when using FreeRTOS
When more than one task is concurrently trying to access
the same i2c bus and a timeout occurs on bus lock the
transfer would just continue and blow up the pios_i2c
driver. This has been fixed.
2012-12-29 17:20:50 +01:00
Corvus Corax
37df2bcbf4 OP-742: Merge branch 'corvuscorax/airspeed_fixes' into revo-fixes
Conflicts:
	flight/RevoMini/Makefile
2012-12-29 12:09:58 +01:00
Corvus Corax
d7319c21dc OP-700 temporarily disable VtolPathFollower until it has been fixed 2012-12-21 12:05:47 +01:00
Corvus Corax
7ac258352a OP-753 - prevent flying in wrong direction in FlyVector mode. 2012-12-04 16:18:24 +01:00
a*morale
3dc11b297b Enabled airspeed module on RevoMini target 2012-12-02 17:14:54 +01:00
Oleg Semyonov
9420a76820 [OP-724] Better name for dT according to OPReview-368 comment 2012-12-02 14:09:21 +02:00
Oleg Semyonov
41d56b282e [OP-724] Remove LPF from throttle input channel (not necessary) 2012-12-02 13:50:03 +02:00
Oleg Semyonov
cc98962c36 [OP-724] Provide generic gimbal type 2012-11-29 18:03:05 +02:00
Oleg Semyonov
8adc2abd77 [OP-724] Now most camera options can be set independently per each axis. 2012-11-29 17:39:10 +02:00
Oleg Semyonov
5784ea8b36 [OP-724] Provide Actuator option to disable selected channels and use it for 7s camera boot delay
Actuator did not provide an option to completely shutdown selected channels
(set PWM pulse = 0). It is useful for camera stabilization boot delay (we
want few seconds of gimbal servo inactivity to calibrate gyros). It also
might be useful for failsafe on some channels. This option is now available.

It is used to disable camera outputs during fixed 7s delay after boot
instead of setting them to minimum position.

As a side effect, few bugs are fixed (ticks should be multiplied by
portTICK_RATE_MS, not divided, to get time in ms). And few floating point
operations were optimized out as well.

ActuatorCommand.UpdateTime was promoted to uint16 because it is not unusual
to have it 20000ms during flash updates (was seen on the CC after UAV
settings import). So it should be 16bit as well.
2012-11-29 17:39:09 +02:00
Oleg Semyonov
8f5fb5aeb0 [OP-724] Add camera gimbal filtering and feed forward options
This is a partial rework of Cossacs' camera gimbal software.

This patch adds LPF to airframe attitude used for camera stabilisation
and feed forward for camera actuators. Either of options can be
disabled on the compilation level to save flash and RAM if not
required.

Original Cossacs' code was optimized and code flow shortcuts were
added where applicable.
2012-11-29 17:39:08 +02:00
Oleg Semyonov
ee333f1569 [OP-724] Add manual control input filtering (useful for camera gimbal)
This is a partial rework of Cossacs' camera gimbal software.

This patch adds LPF to some of manual control inputs. Mostly
useful are accessory channels (for camera gimbal control) and
yaw channel (for smooth filming). The code may be used for
stand-alone CC[3D]-based gimbal software, but also should work
for complete FC+camera system.
2012-11-29 17:39:07 +02:00
Oleg Semyonov
ea1199603b Merge remote-tracking branch 'origin/rel-12.10.2' into next
Conflicts:
	MILESTONES.txt
2012-11-29 17:31:50 +02:00
Erik Gustavsson
4312652241 Use enum to index array.
Replace 0 with 0.0f in assignment.
2012-11-29 00:03:39 +02:00
Erik Gustavsson
5e14f5352f Minor codestyle/whitespace cleanup 2012-11-29 00:03:38 +02:00
Erik Gustavsson
dc5394dcf3 Add setting to suppress axis output from Stabilization module until armed and throttle is applied. Useful to keep the tail prop out of the grass while arming a tri. 2012-11-29 00:03:37 +02:00
Oleg Semyonov
96c7ec37a9 Merge remote-tracking branch 'origin/hyper/flight_uavo_access_type_safety' into next 2012-11-24 16:33:19 +02:00
a*morale
20eb2d7b98 Fixed RTC clock 2012-11-23 19:43:31 +01:00
a*morale
2d83e8a779 Fixes for SBUS support on RM2.
Note: it needs the RTC timing to be fixed as it seems that it runs at half its nominal 625Hz value
2012-11-23 19:41:23 +01:00
Corvus Corax
c6effbbb0f bugfix to pathplanner 2012-11-23 12:29:25 +01:00
Corvus Corax
55f0d41016 bugfix in fixed wing path follower 2012-11-23 11:49:17 +01:00
Richard Flay (Hyper)
5864219d27 Removed __attribute__((always_inline)) after review discussions. 2012-11-23 07:15:28 +10:30
Corvus Corax
7059d4f032 changed some details as to dschin's suggestions 2012-11-22 13:26:45 +01:00
Corvus Corax
264f631df6 Merge branch 'corvuscorax/baro_fixes' into revo-fixes 2012-11-22 11:51:36 +01:00
Oleg Semyonov
1fbaaddcd4 Merge branch 'stac/stop-wasting-ram' into next 2012-11-19 01:51:37 +02:00
Stacey Sheldon
f0fb22c090 uavobjectmanager: initialize new uavo_handles section
The uavo_handles section is not part of the .data segment so
it doesn't get automatically zeroed during the startup code.

This led to random data being stored in the table which resulted
in bus errors at runtime.

This change ensures that the table is zeroed before we start to
use it.
2012-11-18 16:48:13 -05:00
Stacey Sheldon
c1fc605696 uavobjectmanager: remove linked list for UAVOs 2012-11-14 23:38:24 -05:00
Richard Flay (Hyper)
6c0b91dee7 Minor tweak for coding standard compliance. 2012-11-15 07:45:35 +10:30
Oleg Semyonov
79f95983da Merge remote-tracking branch 'origin/rel-12.10.2' into next 2012-11-14 17:26:18 +02:00
Oleg Semyonov
22173d96e5 Merge remote-tracking branch 'origin/cyr/accel_filter' into rel-12.10.2 2012-11-14 04:44:11 +02:00
Erik Gustavsson
f9f58f22d8 Take the magnitude of the correct gravity vector 2012-11-12 17:16:28 +01:00
Stacey Sheldon
e5c54cca00 freertos: change default alignment to 4-byte from 8-byte
There shouldn't be any reason to need 8-byte alignment on the
F1 platform.  This allows better packing of all malloc'd data.

Reducing this below 4-byte alignment is not recommended and will
likely result in misaligned pointers being passed to peripherals.

RAM savings is another 300 bytes.
2012-11-11 22:16:00 -05:00
Erik Gustavsson
e38ba912cd Clarify comment about gravity vector 2012-11-11 21:13:05 +01:00
Erik Gustavsson
04c194fa48 Coding style fixes 2012-11-11 21:10:52 +01:00
Corvus Corax
4e32413954 removed pathplannersettings from flight 2012-11-11 14:57:52 +01:00
Stacey Sheldon
e2b019edd9 telemetry: stop registering periodic events for non-periodic UAVOs
Telemetry module was iterating over all UAVOs including
meta UAVOs and creating a periodic event item for each
object.  These items cost us about 32 bytes for each list
item.

This is wasteful for two main reasons.  First, meta UAVOs can't
meaningfully have periodic updates so excluding them entirely
makes sense.  That halves the number of objects in this list since
there is one meta object for every data object.  This is worth
about 500 bytes of RAM on CC.

Second, about half of the remaining UAVOs are not periodic by
default so they're wasting memory unless someone happens to want
to make them periodic at runtime.  This is worth another 450 bytes
of RAM on CC.

So, objects that are configured as periodic during board init will
support all of the periodic config at runtime.  Objects that are
*not* periodic during board init can only be made periodic on the
next boot.

Each object that you make periodic during init will cost you an
extra 32 bytes of RAM.

With erased settings, free RAM comparison for CC is:
  Before: 2736 bytes free
  After:  4048 bytes free

Total RAM savings with this update is 1312 bytes!
2012-11-10 18:04:16 -05:00
Richard Flay (Hyper)
54ebcb1ea8 Removed a spurious call to AccelsSet() that was causing garbage data to be transiently written to the Accels UAVO. Props to cyr for kicking off the discussion that led to the discovery of this bug. 2012-11-11 00:31:08 +02:00
lilvinz
a7029baa32 pios_jedec: fixed usage of uninitialized memory
When reading the jedec device id the code only transfered one byte via spi leaving
the expected input buffer uninitialized. This may lead to the problem that flash
initialization fails because the expected input may be whatever the stack was set
when entering the function. The impact of the bug is somewhat limited tough as the
initialization usually takes place before starting up the rtos and thus is pretty
deterministic. So if the code passed init while testing it should pass init in
production as well.
2012-11-11 00:31:07 +02:00
Richard Flay (Hyper)
eda6b6a24a Improved type-safety. Replaced flight side UAVO access macros with inline functions to ensure that correct pointer types are always passed to UAVO access functions. 2012-11-10 20:47:10 +10:30
Corvus Corax
064ed4087c set AirspeedActual from attitude module, feed true airspeed estimation into EKF to allow more accurate INS 2012-11-08 11:30:58 +01:00