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

224 Commits

Author SHA1 Message Date
James Cotton
07a08c327c Sanity Check: Fix comment 2012-10-25 23:01:35 -05:00
James Cotton
93349e9a56 Sanity Check: uint32_t for loop indexes instead of int 2012-10-25 22:57:57 -05:00
James Cotton
b28cdba46d SanityCheck: Trigger sanity check code on callbacks from the appropriate settings.
The only downside is that it needs to update on the TaskInfo object which means
since htat updates periodically this code runs more often that really needed since
the modules only start at first.  However, leaving that connection out means it
misses the initial set of modules.
2012-10-25 21:49:53 -05:00
James Cotton
736f96b297 Sanity check: Add some initial checks for revo that make sure the needed optional modules are
running.
2012-10-25 20:37:21 -05:00
James Cotton
23422d3cd4 Sanity Check. Add the first set of checks:
1. If a flight mode switch allows autotune and autotune module not running
2. If airframe is a multirotor and either manual is available or a stabilization mode uses "none"
2012-10-25 20:37:17 -05:00
James Cotton
b9ebeb2c2e Sanity Check: For now force the sanity check to run once a second and always set an error 2012-10-25 12:43:56 -05:00
James Cotton
0b6fa7fe6f Sanity Checking: Regardless of DIAG_TASK always populate TaskInfo.Running
so we can verify certain modules are running.
2012-10-25 10:01:24 -05:00
Brian Webb
5724fa083c RFM22B: Added link quality calculation based on number of dropped packets. Also added packet error correction, which apparently wasn't being done before. 2012-10-04 21:11:40 -07:00
Brian Webb
61200f01f5 RFM22B: Major refactoring of te RFM22B driver to implement a state machine for the driver. The state machine should now be complete, and the driver seems to be working pretty well on both the RM and the pipx. 2012-09-22 20:13:10 -07:00
Stacey Sheldon
754f58c33a Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	flight/Modules/ManualControl/inc/manualcontrol.h
	flight/Revolution/Makefile.osx
	ground/openpilotgcs/src/plugins/plugins.pro
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
	ground/openpilotgcs/src/plugins/uploader/uploadergadgetwidget.cpp
	shared/uavobjectdefinition/flightstatus.xml
	shared/uavobjectdefinition/hwsettings.xml
	shared/uavobjectdefinition/manualcontrolsettings.xml
	shared/uavobjectdefinition/taskinfo.xml
2012-09-16 09:56:35 -04:00
James Cotton
223a3473c2 Merge branch 'next' into revo-mini 2012-09-12 02:03:39 -05:00
James Cotton
595083c982 PID: Fix small bug in setpoint weighting that had really ugly consequences 2012-09-12 00:07:17 -05:00
James Cotton
e4a167dca1 PID: Add a pid_apply_setpoint which takes in the setpoint and feedback term
This version allows performing setpoint weighting, currently on the derivative
component.
2012-09-11 13:21:19 -05:00
James Cotton
42bbd52d68 PID: Add a function to set the cutoff for the derivative term
Also contains a term for setting the deriative setpoint in the future
2012-09-11 12:27:41 -05:00
James Cotton
38e9d105aa Merge branch 'pidt1' into test2
Conflicts:
	flight/Modules/ManualControl/inc/manualcontrol.h
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
	shared/uavobjectdefinition/flightstatus.xml
	shared/uavobjectdefinition/hwsettings.xml
	shared/uavobjectdefinition/manualcontrolsettings.xml
	shared/uavobjectdefinition/taskinfo.xml
2012-09-10 14:37:52 -05:00
James Cotton
fa9a616b4c PID: Add the 20 Hz low pass filter to the derivative term 2012-09-10 03:14:02 -05:00
Brian Webb
fad32dcc29 Split out the PipX radio interface from RadioComBridge module to a separate Radio module. Now the RadioComBridge module just routes messages between the com ports and handles sending/receiving the PipX UAVOs. 2012-08-25 11:41:32 -07:00
Brian Webb
b1c88628f6 Merge branch 'james/revo' of ssh://git.openpilot.org/revo into brian/revo_link 2012-08-24 19:35:40 -07:00
Brian Webb
7ce0004c47 Added include of stdint.h to aes.c 2012-08-24 19:26:06 -07:00
Brian Webb
88c8cba0ff Reduced size of temporaries to the correct size in rs.c 2012-08-22 06:46:51 -07:00
Brian Webb
2cd0733f7d Removed unecessary include of stm32f10x.h from aes.h 2012-08-22 06:45:44 -07:00
Stacey Sheldon
1f1b240b2a Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	shared/uavobjectdefinition/manualcontrolsettings.xml
	shared/uavobjectdefinition/taskinfo.xml
2012-08-20 21:22:02 -04:00
James Cotton
75db0fcb35 Merge branch 'next' into revo
Conflicts:
	flight/Modules/GPS/GPS.c
	shared/uavobjectdefinition/manualcontrolsettings.xml
	shared/uavobjectdefinition/systemalarms.xml
2012-08-12 14:38:38 -05:00
James Cotton
096f940fee Reenable the flash version now Stac's fix is tested. 2012-08-04 12:03:41 -05:00
James Cotton
d6c485459f Fix error Stac caught in sin_lookup 2012-08-04 00:33:20 -05:00
James Cotton
8eac518a9c If the sin table is empty don't attempt to use it and return 0. 2012-08-03 12:43:50 -05:00
James Cotton
f3dc2dc2ad Store 180 deg in flash now and even make the flash and ram version share a
lookup method.  Still don't get the same results.
2012-08-03 12:31:15 -05:00
James Cotton
9f3c8dddd3 Add a version of the sin lookup table that is in ram instead of flash 2012-08-03 12:15:57 -05:00
James Cotton
50c7641162 Move the PID methods into a standalone library 2012-08-03 09:37:46 -05:00
James Cotton
aae0e562c6 Create a sine lookup table that is cached in flash and make relay tuning start
ot use this.
2012-08-03 09:37:46 -05:00
Werner Backes
b8450d4a07 Fixed World Magnetic Model to accept altitude in meters instead of kilometers 2012-07-31 00:18:10 +02:00
Stacey Sheldon
f5db83bd20 Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	flight/Libraries/inc/NMEA.h
	flight/Modules/GPS/GPS.c
	flight/Modules/GPS/NMEA.c
	flight/Modules/GPS/UBX.c
	flight/Modules/GPS/inc/NMEA.h
	flight/Modules/GPS/inc/UBX.h
	flight/Modules/PathPlanner/inc/pathplanner.h
	flight/PiOS/STM32F10x/link_STM32103CB_PIPXTREME_sections.ld
	flight/Revolution/System/inc/pios_config.h
	flight/Revolution/UAVObjects.inc
	flight/SimPosix/UAVObjects.inc
	ground/openpilotgcs/src/plugins/hitlv2/aerosimrc/src/qdebughandler.h
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
	shared/uavobjectdefinition/gpsvelocity.xml
2012-07-22 23:39:37 -04:00
James Cotton
3e33bb49a2 EKF gyro bias into the object now working propely 2012-07-21 15:11:04 -05:00
Stacey Sheldon
eafd525323 Merge remote-tracking branch 'origin/D-Lite/ubx-parser-next' into next 2012-07-21 14:22:10 -04:00
James Cotton
6b101d71af Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into revo 2012-07-15 12:32:35 -05:00
Brian Webb
a252b78fea Fixed transparent comms on PipX. 2012-07-14 17:14:43 -07:00
Werner Backes
5776981436 Deleted obsolete Libraries/inc/NMEA.h that conflicts with Modules/GPS/inc/NMEA.h 2012-07-10 16:25:58 +02:00
Brian Webb
10e52b31c5 Added the ability on the PipX to specify if a comport is used to connect to the GCS (ground side), so it will receive status, etc, or UAVTalk (flight side). The data passing in RadioComBridge was also made more uniform, which allows for easier reconfiguration. 2012-06-30 10:06:28 -07:00
Stacey Sheldon
c73cffce59 Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	Makefile
	flight/PiOS/Boards/STM32F4xx_Revolution.h
	flight/Revolution/System/inc/pios_config.h
	package/Makefile

Fixed CRLF line end clobbering in:
	flight/Bootloaders/Revolution/inc/pios_config.h
	flight/Modules/OveroSync/inc/overosync.h
	flight/Modules/Sensors/inc/sensors.h
	flight/PiOS.posix/posix/Libraries/FreeRTOS/Source/tasks.c
	flight/PiOS/Boards/STM32F4xx_Revolution.h
	flight/PiOS/Common/pios_usb_util.c
	flight/PiOS/STM32F4xx/pios_iap.c
	flight/PiOS/inc/pios_rfm22b_priv.h
	flight/PiOS/inc/pios_usb_util.h
2012-06-10 19:01:11 -04:00
James Cotton
c689bcfb80 Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into revo 2012-06-07 09:49:18 -05:00
Brian Webb
861bcc46fe Fixed RSSI reporting on PipX. 2012-06-06 21:14:31 -07:00
Brian Webb
4e68f6543e Added tracking of dropped packets to PipX and turned off visible text on signal strength meters. 2012-06-04 21:18:13 -07:00
Corvus Corax
298b6233ed Merge branch 'revo-next' into corvuscorax/new_navigation
Conflicts:
	flight/Libraries/paths.c
	flight/Modules/ManualControl/manualcontrol.c
	flight/Revolution/Makefile
	shared/uavobjectdefinition/taskinfo.xml
2012-05-30 00:51:52 +02:00
Corvus Corax
1ad2b19d28 PathPlanner: fixed a few failsafes, changed waypointID to int16 - negative jump ids have special meaning 2012-05-28 20:50:09 +02:00
James Cotton
8a6073fbaf Merge remote-tracking branch 'revo/revo-next' into testing
Conflicts:
	Makefile
	flight/PiOS.osx/osx/Libraries/FreeRTOS/Source/portable/GCC/Posix/port.c
	flight/PiOS.osx/osx/Libraries/FreeRTOS/Source/task.c
	flight/PiOS.posix/posix/Libraries/FreeRTOS/Source/portable/GCC/Posix/port_posix.c
	flight/PiOS.posix/posix/Libraries/FreeRTOS/Source/tasks.c
	flight/Revolution/Makefile
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
	ground/openpilotgcs/src/plugins/uploader/devicewidget.cpp
	shared/uavobjectdefinition/taskinfo.xml
2012-05-28 09:13:26 -05:00
Corvus Corax
51a4e82642 bugfix to path library 2012-05-28 14:48:08 +02:00
Corvus Corax
e6f4a40d3e path library: updated API and usage from pathfollowers, added new conditions and additional user feedback in pathstatus 2012-05-28 01:51:17 +02:00
Corvus Corax
ef8d7275a8 PathFollower and PathPlanner: fixes for fixed wing 2012-05-27 02:38:56 +02:00
Corvus Corax
922b3b7f1e Merge branch 'basenext' into corvuscorax/new_navigation
Conflicts:
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
2012-05-27 01:41:51 +02:00
James Cotton
bd8125e41e Catch from Corvus that the path error was being squared. However need to make
sure to take care of sign by removing one of those multiplcations.
2012-05-26 15:24:50 -05:00
Corvus Corax
9dfd34dd19 PathPlanner: added functions to allow circular paths and implement that feature in FixedWingPathFollower 2012-05-26 15:55:52 +02:00
Brian Webb
2f1a9e3e7d Added PPM input to the PipXtreme. Also added configurable GCSReceiver timeout. 2012-05-20 18:30:37 -07:00
Brian Webb
6fbc3339d5 Fixed processing of UAVTalk packets when in transparent com mode. 2012-05-17 18:37:45 -07:00
Brian Webb
93ec7c11a6 Fixed race condition on getting packets. 2012-05-15 19:38:14 -07:00
Brian Webb
dd03b0b159 Added reporting of stats from the remote modem. 2012-05-13 09:34:21 -07:00
Brian Webb
480371a43e Resolving merge with origin/next 2012-05-05 09:53:54 -07:00
Brian Webb
e83fec0463 Merged latest origin/next. 2012-05-05 09:40:44 -07:00
Brian Webb
217aad8c37 Now using read and write threads for both radio and com ports on PipX. Also cleaned up UAVTalk message handling. 2012-05-01 19:14:58 -07:00
Corvus Corax
b97b0617aa bugfix, use correct variance parameter on z velocity 2012-04-22 18:43:17 -05:00
Brian Webb
62c5036220 Added PipXStatus and PipXSetting UAVobjects and some initial support for them. 2012-04-17 17:36:05 -07:00
James Cotton
4928cbba44 Merge branch 'sim' into testing 2012-04-15 12:34:27 -05:00
James Cotton
59da9deffb Merge remote-tracking branch 'revo/D-Lite/ubx-parser' into sim 2012-04-15 12:33:54 -05:00
Corvus Corax
88f7567247 change to GPS: do not update UAVObject more than 1ce per cycle 2012-04-15 19:17:03 +02:00
James Cotton
6e215bd029 Updating INS Pos/Vel variance includes the vertical velocity 2012-04-15 11:50:11 -05:00
Brian Webb
4936cd8fd2 Added PipXStatus and PipXSettings UAVObjects and added support the sending/receiving UAVTalk objects on the PipX. 2012-04-10 20:22:53 -07:00
James Cotton
dfa18eaef1 Deal with the case where path start and endpoints are the same to avoid NAN. 2012-04-10 02:49:19 -05:00
James Cotton
26b73e3c8b Add path navigation mode to guidance. Works well in simulation. 2012-04-10 01:48:03 -05:00
Brian Webb
f4d886de75 Added support for determining when the radio->com link is between UAVTalk packets. This is required to inject UAVTalk messages into the message stream. 2012-04-07 18:17:57 -07:00
Brian Webb
0f9f897870 Added PPM packet to packet handler, created replacement system module for PipXtreme (PipXtreme module), removed all UAVObjects from PipXtreme, and added parsing of incoming (over USB/COM) UAVTalk stream. 2012-04-07 18:17:32 -07:00
James Cotton
81fcfd45c4 Some work on the code to initialize the INSGPS and allow setting the variance
of the baro
2012-04-07 00:37:42 -05:00
Brian Webb
fff93910e2 RFM22B device now fully interrupt driven. Packet handeling moved to RadioComBridge module. 2012-04-05 20:24:50 -07:00
James Cotton
dee17f8fd4 Enable task run time monitoring in osx simulation 2012-04-03 09:16:27 -05:00
James Cotton
3888d6ff69 Changed settings that makes updates smoother 2012-04-03 03:42:31 -05:00
James Cotton
1630267324 Some small updates to 16 state INS 2012-04-03 03:42:23 -05:00
James Cotton
9e4651ab80 INS working on Revo 2012-04-03 03:42:22 -05:00
James Cotton
7e36d086de More work on INS algorithm to force constants to single 2012-04-03 03:42:22 -05:00
James Cotton
55ee568fe2 Work on the INS algorithm 2012-04-03 03:42:21 -05:00
James Cotton
7034a45e44 Force more calculations to explicitly being float 2012-04-03 03:42:20 -05:00
Brian Webb
823b111d60 Added Reed-Solomon error correction to PipXtreme. The code is a slight modification of rsscode (http://rscode.sourceforge.net). Packet acking has also been turned on as the default, so each packet is error corrected, and if errors remain, the packet is NACKed, otherwise it is ACKed. Also temporarily turned off UAVTalk parsing. This was causing the CC to be identified as a PipX due to the PipX sending UAVObjects (I believe) from the system module. The system module is going to have to be modified/replaced for the PipX. 2012-03-18 17:43:29 -07:00
Brian Webb
346ae1bc6e Removed crc from PipXtreme build. 2012-03-18 10:29:28 -07:00
Brian Webb
620e862022 Moved unused crc.c/h back to PipXtreme directory. 2012-03-18 10:26:47 -07:00
Brian Webb
ecdf150946 Moved RFM22B code from PipXtreme to pios_rfm22b.c driver. The radio is now passing data. 2012-03-18 10:22:05 -07:00
Brian Webb
b34b849453 Added start at a modified PipX packet handler. 2012-03-15 19:29:54 -07:00
James Cotton
bb0bfe0ae4 Merge branch 'next' into revolution3
Conflicts:
	flight/Bootloaders/CopterControl/Makefile
	flight/Bootloaders/PipXtreme/Makefile
	flight/Bootloaders/Revolution/inc/pios_config.h
	flight/CopterControl/Makefile
	flight/INS/inc/pios_config.h
	flight/Libraries/taskmonitor.c
	flight/Modules/Altitude/altitude.c
	flight/Modules/Attitude/attitude.c
	flight/OpenPilot/Makefile
	flight/OpenPilot/Makefile.posix
	flight/OpenPilot/System/inc/pios_usb_board_data.h
	flight/OpenPilot/System/inc/taskmonitor.h
	flight/OpenPilot/System/pios_board.c
	flight/OpenPilot/System/taskmonitor.c
	flight/PiOS/Boards/STM32F4xx_Revolution.h
	flight/PiOS/STM32F4xx/pios_bmp085.c
	flight/PiOS/STM32F4xx/pios_iap.c
	flight/PiOS/pios.h
	flight/Revolution/System/inc/pios_config.h
	flight/Revolution/System/inc/taskmonitor.h
	flight/Revolution/System/taskmonitor.c
	ground/openpilotgcs/src/plugins/serialconnection/serialplugin.cpp
	shared/uavobjectdefinition/systemalarms.xml
	shared/uavobjectdefinition/taskinfo.xml
2012-01-21 11:27:03 -06:00
Stacey Sheldon
8cd4816d7b taskmonitor: move taskmonitor into flight/Libraries
taskmonitor.[ch] existed as (nearly) identical copies under
CC and OP directories.  Both builds now reference the common
version under Libraries.
2012-01-15 21:37:10 -05:00
James Cotton
6dbad243db Convert the CoordinateConversion functions to all be float until I determine
how to use doubles safely on F4.
2011-12-14 02:08:14 -06:00
James Cotton
fd8899018f Get EKF running 2011-12-14 01:54:06 -06:00
James Cotton
44ca9736df Fix floating point calculation in NMEA parser and delete duplicate of NMEA
functions
2011-11-28 09:36:31 -06:00
James Cotton
07e3ad10af Force some floating point units to be safe 2011-11-26 15:52:25 -06:00
James Cotton
1c7c85635d Typo with renamed PI 2011-11-16 19:48:13 -06:00
James Cotton
8e79f86716 Make the CoordinateConversions use a floating point PI 2011-11-16 11:35:52 -06:00
James Cotton
1e2fe77e3f Start migrating the attitude solution to FreeRTOS 2011-11-13 18:51:35 -06:00
James Cotton
3239fdf21b Merge branch 'next' into ins
Conflicts:
	flight/CopterControl/Makefile
	flight/OpenPilot/System/pios_board.c
	flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
2011-09-09 08:33:34 -05:00
James Cotton
465527a980 INS: Enable GPS parsing. GPS data is processed on INS now. HomeLocation and
WMM are not currenly implemented.
2011-09-04 20:03:04 -05:00
James Cotton
7ff5cd7655 INS: Try and get load down on event system. 2011-09-04 16:21:04 -05:00
James Cotton
612d3336b4 This patch breaks backward compatibility with AHRS solidly.
Move the configuration files for INS from AHRS* to INS*.  Strip out unused
fields in settings and merge calibration and settings since settings has
basically no information.
2011-09-01 12:21:33 -05:00
Stacey Sheldon
2f86e4dd4f Make PWM/PPM and Servo drivers play nicely together
PWM and PPM can now coexist in the same load and be
selected at boot time via the hwsettings UAVObject.

This is basically a complete restructuring of the
way the drivers interact with the TIM peripheral in
the STM32.

As a side effect, the PWM and PPM drivers are now
ready to support multiple instances of each.

This also provides the first step toward being able
to reassign some of the PWM input pins to be servo
output pins.  Still more work required, but this is
a good start.
2011-08-27 21:39:56 -04:00
James Cotton
b1c522def3 Merge remote-tracking branch 'origin/next' into ins 2011-08-21 01:34:40 -05:00
Corvus Corax
2062ec0aeb AHRS_COM: Initialize transpherred objects before using them 2011-08-19 19:52:27 +02:00
James Cotton
71a1cdff62 PiOS SPI: For F2 need to have the same receive and transmit length when using
CRC.  This wasn't the case on F1.  With CRC the last byte of the buffer passed
to PIOS_SPI_TransferBlock is NOT USED.  This is the case on both F1 and F2.

Also need to DeInit DMA before enabling or it doesn't enable successfully.

Finally added a timeout which sets a fail on the pios spi transfer in the case
that either of the dma channels fails to enable.
2011-08-16 11:29:15 -05:00