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

3687 Commits

Author SHA1 Message Date
Brian Webb
7db7ab0e45 Switched to non-blocking I/O on radio port, which should prevent watchdog restarts when the radio link backs up. 2013-03-09 16:44:51 +00:00
Brian Webb
27c87e4b89 RFM22B: Fixed OPLink receiver output on RM. 2013-03-09 16:12:00 +00:00
Brian Webb
031b0073b1 RFM22B: Possible fix for the failure to connect at times. 2013-03-09 02:27:58 +00:00
Brian Webb
e70f0f2c21 Merge remote-tracking branch 'origin/next' into brian/rfm22_FHSS 2013-03-09 01:43:46 +00:00
Brian Webb
bf5ef5bd00 RFM22B/RM: Added GPIO debugging to revomini to test rfm22b. Fixed (apparently) the reset issues with the rfm22b frequency hopping. Periodic frequency hopping is working pretty well now. 2013-03-09 01:06:42 +00:00
Alessio Morale
ffbb0a5a8e Merge remote-tracking branch 'origin/amorale/op-848_mpu6000_configurability' into next 2013-03-08 00:08:15 +01:00
Brian Webb
3a8c5494ca Merge remote-tracking branch 'origin/next' into brian/rfm22_FHSS 2013-03-07 13:57:51 +00:00
sambas
99096ff936 Servo Out 6 fix 2013-03-06 23:17:57 +02:00
Brian Webb
31a3a66656 Mostly working periodic (as opposed to per message) channel hopping. This version should have less risk of getting hopelessly out of sync, but currently drops some packets. The dropped packets are likely around the channel hops. 2013-03-03 21:08:17 -07:00
Alessio Morale
2f3493f4b8 OP848 Fixes typos on header files comments 2013-03-03 21:45:29 +01:00
Alessio Morale
4791f690ad OP-848 Move the handling of the UAVO configuration outside of the PiOS layer
a configuration helper header has been added to eliminate a lot of boilerplate code in *pios_board.c
2013-03-03 21:17:02 +01:00
Oleg Semyonov
776ec4f3ea ut_logfs: do not pollute the source tree with temp files 2013-03-03 14:33:04 +01:00
Oleg Semyonov
c038f6b987 ut_logfs: fix fseek()/fread() problem on Windows 2013-03-03 14:33:04 +01:00
Stacey Sheldon
b3178c3966 flash_ut: fix forward declaration of init function 2013-03-03 14:33:04 +01:00
Stacey Sheldon
9b94eeb745 ut: convert logfs unit test to gtest
Conflicts:
	Makefile
	make/unittest.mk
2013-03-03 14:33:03 +01:00
Stacey Sheldon
842b275e13 logfs: fix bugs in handling full filesystem conditions
This was caught by the logfs unit tests.
2013-03-03 14:33:02 +01:00
Stacey Sheldon
b211840104 logfs: allow loading zero length files
This was found by the logfs unit tests.

This may be useful if we want to use empty files as existence
flags in the future.  Doesn't make any sense for UAVOs but
is valid in the general sense of a filesystem.
2013-03-03 14:33:02 +01:00
Stacey Sheldon
b6eeb59b26 flash: verify JEDEC ID during flash init
Verify that the flash component on the board matches exactly
what we're expecting.  This is a simple way to verify that we
are communicating properly with the JEDEC flash chip.

Conflicts:
	flight/targets/board_hw_defs/freedom/board_hw_defs.c
	flight/targets/board_hw_defs/quanton/board_hw_defs.c
2013-03-03 14:33:02 +01:00
Stacey Sheldon
17b8696261 flash: use uintptr_t to hold opaque pointers
When storing an opaque pointer value in a uint, the
appropriate type is uintptr_t which is guaranteed to
be wide enough to hold a pointer.

This is particularly important when the code can be
compiled in a sim or unit test environment which is
intended to run on a 64-bit machine.

Conflicts:
	flight/PiOS/Common/pios_flash_jedec.c
	flight/targets/DiscoveryF4/System/pios_board.c
	flight/targets/FlyingF4/System/pios_board.c
	flight/targets/Freedom/System/pios_board.c
	flight/targets/Quanton/System/pios_board.c
2013-03-03 14:33:02 +01:00
Stacey Sheldon
dd5f4b949c logfs: use uintptr_t to hold opaque pointers
When storing an opaque pointer value in a uint, the
appropriate type is uintptr_t which is guaranteed to
be wide enough to hold a pointer.

This is particularly important when the code can be
compiled in a sim or unit test environment which is
intended to run on a 64-bit machine.

Conflicts:
	flight/targets/DiscoveryF4/System/pios_board.c
	flight/targets/FlyingF4/System/pios_board.c
	flight/targets/Freedom/System/pios_board.c
	flight/targets/Quanton/System/pios_board.c
2013-03-03 14:33:02 +01:00
Alessio Morale
cc2d5f8eae Fixes for missing openpilot.h include, previously coming from flashfs_objlist 2013-03-03 14:33:02 +01:00
Stacey Sheldon
7f53aa422a ut: add basic unit test for logfs
Build it with:
  make ut_logfs

Create a raw flash file like this:
  dd if=/dev/zero bs=1 count=2MiB | tr '\000' '\377' > theflash.bin

Run it with:
  ./build/unit_tests/logfs/logfs.elf && echo 'all good'

Conflicts:
	Makefile
2013-03-03 14:33:02 +01:00
Stacey Sheldon
7726b9e2a9 logfs: use f3-safe slot and arena states for all chips
Filesystem magic value has been updated to deal with the
format change.

Conflicts:
	flight/targets/board_hw_defs/discoveryf4/board_hw_defs.c
	flight/targets/board_hw_defs/flyingf4/board_hw_defs.c
	flight/targets/board_hw_defs/freedom/board_hw_defs.c
	flight/targets/board_hw_defs/quanton/board_hw_defs.c
2013-03-03 14:33:01 +01:00
lilvinz
d611207789 pios_flashfs_logfs: moved modified ARENA and SLOT enums to an F3 branch
also added a detailed comment
2013-03-03 14:33:01 +01:00
lilvinz
b242f8b88c pios_flashfs: adapted flashfs to work on f3 2013-03-03 14:33:01 +01:00
Stacey Sheldon
81059c41f7 flashfs: remove API dependency on uavobjmanager types
The flashfs layer is now entirely decoupled from the UAVO
data types.  All UAVO related calls are now properly
contained within uavobjectmanager.c.

This will make the flashfs layer more portable as well as
more testable in a standalone environment.  Eventually,
this layer could be used to store arbitrary files.

Also fixed all of the doxygen headers for the flashfs API.
2013-03-03 14:33:01 +01:00
Stacey Sheldon
d2a3f254bc stmflash: add flash driver for internal flash in STM32 2013-03-03 14:33:01 +01:00
Stacey Sheldon
d89a9b1b6c objlist: remove now unused objlist flash filesystem
Conflicts:
	flight/PiOS/inc/pios_flashfs_objlist.h
2013-03-03 14:33:01 +01:00
Stacey Sheldon
bcb66764e2 logfs: use logfs on all targets that have serial flash
Conflicts:
	flight/targets/FlyingF4/Makefile
	flight/targets/FlyingF4/System/pios_board.c
	flight/targets/Freedom/Makefile
	flight/targets/Freedom/System/pios_board.c
	flight/targets/Quanton/Makefile
	flight/targets/Quanton/System/pios_board.c
	flight/targets/board_hw_defs/flyingf4/board_hw_defs.c
	flight/targets/board_hw_defs/freedom/board_hw_defs.c
	flight/targets/board_hw_defs/quanton/board_hw_defs.c
2013-03-03 14:33:01 +01:00
Stacey Sheldon
5ef0988137 logfs+flash: add log structured filesystem for PiOS
A new flash driver abstraction is also provided to allow
for future support of other types of flash device under
the filesystem.

Conflicts:
	flight/PiOS/Common/pios_flash_jedec.c
2013-03-03 14:33:01 +01:00
Stacey Sheldon
20921e48ca flashfs: define the API to the FLASHFS subsystem 2013-03-03 14:33:01 +01:00
Alessio Morale
d26aaa6f6d sim_posix Removed unused files 2013-03-03 09:50:20 +01:00
Alessio Morale
5fdaccc1fa sim_posix: unified inc files with the rest of PiOS .h, some dir moves/cleanup, fixed some compilation issues. 2013-03-03 09:50:20 +01:00
Brian Webb
4743404c47 RFM22B: Some more reliability improvements for frequency hopping. 2013-03-01 07:55:00 -07:00
Brian Webb
9fad194bb8 RevoMini: Added rfm22 com configure callback to set the speed of the radio link. 2013-02-25 09:20:08 -07:00
Brian Webb
4e92bed1df Added back missing PIOS_COM_TELEM_USB (needed by the bootloader). 2013-02-25 01:44:48 +00:00
Brian Webb
2f0498d8ad Was a little aggressive on the rfm22b device structure cleanup, and removed the PPM receiver elements. 2013-02-25 00:30:32 +00:00
Brian Webb
d9baa372c7 Added frequency hopping to the RFM22B driver. Currently it defaults to 128 channels between 430 and 440 MHz. 2013-02-24 23:05:51 +00:00
a*morale
a48395c7a0 Added the visualization of the error in BU
the error is shown as a number of slow flashes followed by 10 fast flashes.
The number of slow flashes indicate the error code:
1 - Self overwrite check failed;
2 - Board hardware revision mismatch;
3 - Flash erase failed;
4 - Flash programming failed;
The error code sequence will be shown indfinitely should a error occurs.
2013-02-19 00:48:05 +01:00
Brian Webb
1af58e510e Added optional output of GCSReceiver from the OPLink to the FC. This will happen automatically if a PPM packet is receive, and PPM output is disabled. 2013-02-18 02:55:58 +00:00
Brian Webb
cf7c929030 Added the ability to store bindings and configuration paramaters for multiple (up to 8) modems from an OPLink controller modem. 2013-02-18 01:49:13 +00:00
Alessio Morale
d1c5da6c24 Move PyMite makefile entries to Libraries/PyMyte/pymite.mk to simplify boards makefile. 2013-02-17 22:28:41 +01:00
Alessio Morale
3986f93e68 op-848 Splitted sample rate divider configuration for dlp and non_dlp settings (1kHz vs 8kHz sample rate).
Minor clean up, used constants in place of some hardcoded values
2013-02-17 12:20:25 +01:00
Brian Webb
46baec52ef Merge remote-tracking branch 'origin/next' into brian/rfm22_multibind 2013-02-17 01:21:12 +00:00
Alessio Morale
e27a07631e op-848 MPU6000 support user configurabe accel/gyro scales and filter bandwidth.
board definitions can override any of this settings for special applications.
Also include cleanup from "magic numbers" and fix for inverted ranges
2013-02-17 02:02:12 +01:00
Oleg Semyonov
aea1b4b544 Merge remote-tracking branch 'origin/os/OP-775_arm-dsplib' into next 2013-02-16 16:08:31 +02:00
Oleg Semyonov
c8ce31f7a9 Merge remote-tracking branch 'origin/next' into theothercliff/elevon_cam_stab 2013-02-11 01:03:33 +02:00
Brian Webb
9b6493eeca Set the binding on the OPLink after configuring the radio. 2013-02-08 01:56:23 +00:00
Brian Webb
57b4d8c720 RFM22: Added support for binding to multiple remove OPLinks. 2013-02-08 01:56:22 +00:00
Brian Webb
6de2252c23 OP-814: Added PPM input on the FlexiPort for CC/CC3D. 2013-02-08 01:06:41 +00:00
Cliff Geerdes
6d4e8e4657 OP-824 Feedforward fix, 0.0f, coding style, and var name changes. 2013-02-07 18:27:59 -05:00
Brian Webb
e50e645e7b Merge remote-tracking branch 'origin/next' into brian/oplink_ppm_out 2013-02-07 13:39:21 +00:00
Oleg Semyonov
97436166e3 Merge remote-tracking branch 'origin/next' into os/OP-775_arm-dsplib 2013-02-06 12:55:14 +02:00
Cliff Geerdes
8104ae25dd OP-824 Add CameraStab Elevon-type mixing. Redo servo reversing. 2013-02-03 19:02:34 -05:00
Corvus Corax
7642f44cad Merge remote branch 'origin/corvuscorax/sanity_additions' into corvus/directory_and_sanity
Conflicts:
	flight/Modules/FirmwareIAP/firmwareiap.c
	flight/Modules/ManualControl/manualcontrol.c
	flight/targets/SimPosix/Makefile
	shared/uavobjectdefinition/systemalarms.xml
2013-02-03 14:57:54 +01:00
Brian Webb
ca6aa9fcea Reformatted PPM output code to match coding standards. 2013-02-02 01:53:39 +00:00
Brian Webb
18c592a37a Reformatted PPM output code to match coding standards. 2013-02-02 01:50:02 +00:00
Alessio Morale
153db89663 OP-815 changed PIOS_WDG_RegisterFlag to reset the WDG to prevent timeouts during module initialization 2013-02-01 20:05:44 +01:00
Brian Webb
a4faa22c4b Merge remote-tracking branch 'origin/brian/rfm22_autoconf' into next
Conflicts:
	ground/openpilotgcs/src/plugins/config/configgadgetwidget.cpp
2013-01-31 13:40:32 +00:00
Cliff Geerdes
5e2aeeea76 Fixed tab stops in two c files. 2013-01-31 05:38:10 -05:00
Cliff Geerdes
6806e895cc First version. Passes simple tests. 2013-01-30 18:57:32 -05:00
Oleg Semyonov
396f210d07 Remove stray file in RemoteSystemsTempFiles 2013-01-28 03:02:04 +02:00
Stacey Sheldon
f500ac1e23 rename: move UAVObjects and UAVTalk directories under targets 2013-01-28 02:33:06 +02:00
Stacey Sheldon
0fda8035c2 makefile: update to released openocd 0.6.1 2013-01-28 02:13:17 +02:00
Stacey Sheldon
dbcf440bb9 makefile: factor out paths for major flight components
Conflicts:

	flight/targets/CopterControl/Makefile
2013-01-28 02:01:39 +02:00
Stacey Sheldon
69a2691bc2 rename: move board-specific dirs into flight/targets
Conflicts:

	flight/targets/Bootloaders/Revolution/Makefile
	flight/targets/CopterControl/Makefile
2013-01-28 01:52:44 +02:00
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
Brian Webb
be444db7f8 Added PPM output to OPLink firmware 2013-01-04 06:51:27 -07:00
Brian Webb
7d86ddc6f7 Added 8 channel PPM output to PIOS. 2013-01-04 06:50:24 -07:00
Oleg Semyonov
c18cba4dda [OP-775] Provide options to enable DSP library when needed 2012-12-30 21:53:37 +02:00
Oleg Semyonov
95f16e25c4 [OP-775] Provide rules to build DSP library 2012-12-30 21:53:35 +02:00
Oleg Semyonov
89cb49733e [OP-775] Use new core_cm3.h 2012-12-30 21:53:34 +02:00
Oleg Semyonov
333d0fe8c9 [OP-775] Consistently use PIOSCOMMONLIB 2012-12-30 21:53:32 +02:00
Oleg Semyonov
79a949e1ca [OP-775] Fix Makefile variables (CDEFS, EXTRAINCDIRS, EXTRA_LIBDIRS, EXTRA_LIBS, PYTHON) 2012-12-30 21:53:31 +02:00
Oleg Semyonov
aee2613384 [OP-775] Import CMSIS2 ARM DSP_Lib sources (imported by Alessio) 2012-12-30 21:53:29 +02:00
Oleg Semyonov
2328469e71 [OP-775] Update link template and makefiles to include optional $(ALLLIB) depenencies 2012-12-30 21:53:24 +02:00
Brian Webb
9f3d7a24f8 Merge branch 'revo-fixes' of ssh://git.openpilot.org/OpenPilot into brian/rfm22_autoconf
Conflicts:
	flight/RevoMini/Makefile
2012-12-30 07:59:09 -07: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
Brian Webb
076a3fa715 Merge remote-tracking branch 'origin/brian/rfm22_autoconf' into brian/rfm22_autoconf 2012-12-17 19:41:47 -07:00
Brian Webb
9225debdc1 Added initialization of the ECC, which was removed with the removal of the packet handler. Removed a couple of test functions from RadioComBridge module. Turned on watchdog timers in RadioComBridge (and RFM22B driver). 2012-12-17 19:33:42 -07:00
James Cotton
4c2de5a140 PiOS simulation: Implement pios_com->available for simulators 2012-12-16 16:24:16 -07:00
Brian Webb
9765244753 Removed (now unused) packet_handler.c 2012-12-16 09:31:21 -07:00
Brian Webb
c4c58331e5 RM: Now doesn't crash when the radio is disabled. 2012-12-16 09:16:19 -07:00
Brian Webb
0dd8caeec0 Removed oplink UAVObjects from the RevoMini target. 2012-12-15 15:39:11 -07:00
Brian Webb
e0acb41379 Removed some unintended changes to RevoMini. 2012-12-15 10:35:51 -07:00
Brian Webb
43f6b4150f RFM22: Don't send status until the link is connected. 2012-12-15 09:56:27 -07:00
Brian Webb
3a1803b7a1 Added RFM22B (OPLink) receiver. 2012-12-13 21:07:19 -07:00
Brian Webb
6e929d7a92 Fixed configuration of PPM input. 2012-12-12 20:27:08 -07:00
Brian Webb
90e0746ade RFM22B: Changed default (initial) air baud rate to 9600. Also some code cleanup. 2012-12-11 19:23:59 -07:00
Brian Webb
1d7e4e0fc2 Reduced length of transmit window period to 8 ms from 16 ms. 2012-12-11 17:44:22 -07:00
Brian Webb
8ead1200b9 RFM22B: Added timing synchronization on transmit to try to eliminate both sides transmitting at the same time. This now achieves virtually 0 re-transmissions for close range transmission while transmitting both full telemety and PPM at 64k. 2012-12-11 17:44:20 -07:00
Brian Webb
7f6a718354 RFM22B: Added optional debug signals on the telemetry port of the PipX. Also fixed a couple of bugs that were causing excessive re-transmissions (found using the debug signals). 2012-12-11 17:44:19 -07:00
Brian Webb
fecc23eb49 RFM22B/OPLink: Auto-configuration of remote com port now working. 2012-12-11 17:44:17 -07:00
Brian Webb
6ffe518509 RFM22B: Improved link stability, and added tracking of error encountered in the processes of transmitting and receiving. 2012-12-11 17:44:15 -07:00
Brian Webb
4cb311538a RFM22B: Improved reliability, especially with reconnection after a timeout, although there is still too many resent packets. 2012-12-11 17:44:14 -07:00
Brian Webb
7a930807aa RM: Fixed initialization of the debug console. 2012-12-11 17:44:12 -07:00
Brian Webb
6ed9b63da9 RFM22B: Changing configuration parameters over-the-air working. Added tracking of Tx/Rx sequence number. Still seeing too many resent packets. 2012-12-11 17:44:11 -07:00
Brian Webb
0dce12e984 RFM22B: Finised handshacking on ACK and changed the link quality metric to use resent packets rather than missed packets. 2012-12-11 17:44:09 -07:00
Brian Webb
7aaa02268f RFM22B: Added TX Resent to OPLink status. Also removed the need for the packet queue. 2012-12-11 17:44:08 -07:00
Brian Webb
fa5f7a8fdd RFM22B: All packets are now ACKed, and added a formal connection request / accept that will be used or auto-configuring the remote modem. 2012-12-11 17:44:06 -07:00
Brian Webb
98026966f7 RFM22B: Added PPM packets to rfm22 driver. 2012-12-11 17:44:04 -07:00
Brian Webb
04da5d2377 USB/COM/RFM22B: Added a standard com callback to test for link availability. This replaces the PIOS_USB_CheckAvailable function with a generic PIOS_COM_Available function. This is now used by the RFM22B com driver to test if a good link is up. This was originally written by James, and Brian merged it into the latest RFM22B branch. 2012-12-11 17:44:03 -07:00
Brian Webb
e36bd678e1 RFM22B: Allow a receive to happen between transmitts. 2012-12-11 17:44:01 -07:00
Brian Webb
9f43e1151c RFM22B: Fixed status reporting and connection status for OPLink. 2012-12-11 17:44:00 -07:00
Brian Webb
15fc29560a RM: Remove configuration of the RFM22B from the RevoMini pios_board.c. This is in preparation for auto-configuration. 2012-12-11 17:43:58 -07:00
Brian Webb
bd42083376 RFM22B: Changed the way the frequencies and power settings are set for the rfm22b device. 2012-12-11 17:43:55 -07:00
Brian Webb
dae382564a RFM22B/RM: Added rfm22b com device, moved remaining functionality in the radio module to the rfm22 driver, and simplified configuration of the PipX/OPLink. The radio device now presents itself completely as a com device, both in RadioComBridge (OPLink devices) and Telemetry (RM). Also change the PipXStatus and PipXSettings UAVOs to OPLinkStatus/OPLinkSettings. 2012-12-11 17:43:53 -07:00
Brian Webb
0113b6a748 Added UAVTalkRelayInputStream to the UAVTalk library that parses a UAVTalk packet and sends it when it is complete. This allows the interlieving of packets on an output UAVTalk stream, and is used by the OPLink device to relay packets from an input com port to a different output com port without sending one packet in the middle of another packet. 2012-12-11 17:43:50 -07:00
Brian Webb
4b90f81f6f RFM22B: Modified the method of tracking RX errors, and now reporting Good, Corrected, Error, and Missed packets to the GCS. Also removed some less useful fields from the PipXStatus. 2012-12-11 17:43:49 -07: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
Corvus Corax
35509ee977 moved sanitycheck from system to manualcontrol to not break OSD and PipX
targets

Conflicts:

	flight/Modules/ManualControl/manualcontrol.c
2012-11-22 10:11:18 +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