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

1046 Commits

Author SHA1 Message Date
Brian Webb
df8a5f8f27 Changed update period for PPM inputs on the PipX. Fixed LED code. 2012-05-31 18:56:07 -07:00
Corvus Corax
a786c6e6b9 Attitude: Fixed calculation for baro offset adjustment time 2012-05-31 18:21:20 +02:00
Corvus Corax
f7a2b95167 Revolution/Attitude: Added offset calculation for barometric altitude 2012-05-31 16:41:03 +02:00
Sambas
ed1a4dada6 Merge remote-tracking branch 'remotes/origin/sambas/osd_test_v1' into revo-next
Conflicts:
	flight/PiOS/STM32F4xx/pios_adc.c
2012-05-30 16:30:09 +03: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
Sambas
7f1e392e83 some graphic fixes and ntsc defines 2012-05-29 17:55:30 +03:00
Brian Webb
9a6fb60dd6 Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-05-28 20:18:59 -07:00
James Cotton
a89b880609 Fix compilation error on CopterControl because it doesn't support some of the
path functionality.  These configurations that could result in
updatePathDesired or altitudeHoldDesired being called should result in an error
on startup to block arming.
2012-05-28 20:33:49 -05:00
James Cotton
88cf100430 Merge remote-tracking branch 'revo/amorale/revo' into revo 2012-05-28 20:27:51 -05:00
a*morale
d071491265 removed include for positiondesired.h 2012-05-29 00:56:39 +02:00
a*morale
468e8732f5 Fix for FlightBattertData ConsumedEnergy calculation 2012-05-29 00:55:03 +02:00
James Cotton
1934752d50 Merge branch 'revo-next' into revo 2012-05-28 15:23:14 -05: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
Oleg Semyonov
5739dfbfc8 Merge remote-tracking branch 'origin/next' into os/aerosimrc
Conflicts:
	shared/uavobjectdefinition/gcsreceiver.xml
2012-05-28 21:46:43 +03:00
Oleg Semyonov
910b465ac6 AeroSimRC: do not update sensor and/or attitude data if read-only flag is set 2012-05-28 19:44:34 +03:00
James Cotton
4360d8adfd Merge branch 'next' into revo-next 2012-05-28 11:25:40 -05:00
Sambas
147100bc2f Merge remote-tracking branch 'remotes/origin/revo-next' into osd_test_v1
Conflicts:
	Makefile
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
2012-05-28 19:06:25 +03: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
089aa54a59 FixedWingpathFollower: Added debug output of error indicators 2012-05-28 14:46:03 +02:00
Corvus Corax
978ab5b96c Merge remote branch 'origin/stac/etasv3' into revo-next 2012-05-28 12:56:27 +02:00
Oleg Semyonov
f95d29a3b8 TxPID: add GyroTau to the list of parameters (OP-637) 2012-05-28 12:48:55 +03: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
634a190d4f FixedWingPathFollower: Redesigned and tested FixedWingpathFollower 2012-05-27 20:49:07 +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
Sambas
599e1b633f graphic bugfixes 2012-05-26 21:56:54 +03:00
Sambas
36ea394d84 More graphic fixes
setting to change screens
2012-05-26 18:39:42 +03:00
Sambas
dfcba097f2 Cleanup and graphical bugfixes 2012-05-26 18:00:36 +03: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
Sambas
bb40eca695 Big font fix
IRQs back to normal
2012-05-26 12:14:10 +03:00
James Cotton
5a6e02a688 Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into next 2012-05-25 20:37:23 -05:00
Sambas
a9cfc4a0af *float sprintf
*h/v deadbands
2012-05-25 21:12:03 +03:00
Brian Webb
b824c87056 Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-05-25 06:26:29 -07:00
Brian Webb
701a480f01 Tuning configutation of PipX. 2012-05-24 18:08:29 -07:00
Corvus Corax
79b717b4f7 Fixes to PathFollowers 2012-05-24 23:28:13 +02:00
Sambas
a3b9451bcd Merged some stuff to make original hardware work better 2012-05-24 20:14:15 +03:00
Corvus Corax
435b494b0c Merge remote branch 'origin/stac/etasv3' into corvuscorax/new_navigation
Conflicts:
	flight/Revolution/Makefile
	shared/uavobjectdefinition/hwsettings.xml
	shared/uavobjectdefinition/taskinfo.xml
2012-05-24 18:55:20 +02:00
Corvus Corax
1ecce5e23b Merge branch 'basenext' into corvuscorax/new_navigation
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
2012-05-24 18:38:53 +02:00
Corvus Corax
9bdfe68bf5 PathFollower: refactoring (especially fixed wing) 2012-05-24 18:19:52 +02:00
James Cotton
faf3532ad3 Closer on the fonts. Looks great! 2012-05-24 18:25:51 +03:00
James Cotton
b3150500d5 Change the buffers to byte buffers and update most of the drawing code to use
it accordingly.  Large fonts broken.
2012-05-24 18:25:09 +03:00
James Cotton
9d6dfee6cc Use memset to clear screen. 2012-05-24 18:20:24 +03:00
Corvus Corax
3a2ae24284 Refactored Guidance to FixedWingPathFollower 2012-05-24 11:13:21 +02:00
Corvus Corax
63cd7b063f Refactored Guidance to apropriate pathfollower in uavobjects 2012-05-24 11:09:53 +02:00
Corvus Corax
25e21fde73 Renamed Guidanceto FixedWingPathFollower 2012-05-24 10:56:41 +02:00
Corvus Corax
64c1ac3bd6 Stabilization: Bugfix: moved queue initialisation to TaskStart where it belongs 2012-05-22 22:19:31 +02:00
Corvus Corax
48fcf12ef9 ManualControl: fixed new PathPlanner interface to compile on CopterControl stub 2012-05-22 13:29:42 +02:00
Corvus Corax
68fe938016 Implemented new programmable PathPlanner 2012-05-21 21:42:28 +02:00
Corvus Corax
09f25ab11b Refactorted VTOLPathFollower to fit into new scheme: optional module, reports status and knows advanced FlightModes 2012-05-21 12:10:01 +02:00
Corvus Corax
84a0fd731f Added ReturnToBase flightmode and correct behaviour in ManualControl 2012-05-21 12:10:01 +02:00
Corvus Corax
6a6eace700 Added forced disarming via systemalarm 2012-05-21 12:10:01 +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
6a7179120d Fixed setting of PipX description, and changed gcs receiver object to be update on change on flight side so that it works on the PipX. 2012-05-19 09:25:11 -07:00
Brian Webb
c25884bcaf Cleanup on the PipX branch. 2012-05-18 17:42:25 -07:00
Brian Webb
68d66d4181 Fixed firmware description in PipX status. 2012-05-17 20:35:17 -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
44a1663eb9 Fixed transparent comm on PipX. 2012-05-16 19:02:53 -07:00
Brian Webb
7082eda175 Fixed returning status for currently paired modem. 2012-05-15 20:11:52 -07:00
Brian Webb
93ec7c11a6 Fixed race condition on getting packets. 2012-05-15 19:38:14 -07:00
James Cotton
af8d65616e Comment out some unused variables in the PIOS_ADC structure for now since they
were consuming lots of memory.  Probably should make a simple adc version that
just queries the line when needed since we are only using this data at 500 ms.
However, the accumulator scheme in place is quite good for averaging over time.
2012-05-15 03:48:32 -05:00
James Cotton
39ce3cea17 Clean up the battery module 2012-05-15 03:08:18 -05:00
James Cotton
0a7f5fd5d3 Enable battery code again 2012-05-15 00:38:11 -05:00
Brian Webb
a3269aaf2f Reverted some file permission changes. 2012-05-13 14:24:57 -07:00
Brian Webb
68d12b1b2f Fixed some bugs with setting PairIDs in GCS. 2012-05-13 14:24:00 -07:00
Brian Webb
dd03b0b159 Added reporting of stats from the remote modem. 2012-05-13 09:34:21 -07:00
Brian Webb
ec67742ff6 Added configuration of COM ports on PipX. 2012-05-12 13:16:36 -07:00
James Cotton
46fc5fa4fb Create a PathPlannerSettings object and move the PathMode setting to there.
Also add a (temporary) field to allow storing some custom paths to select on
the fly.  Later will be replaced with some code to fetch from the flash chip.
2012-05-12 13:12:57 -05:00
James Cotton
836e34a483 Change revo sensors to update at 500 Hz and make sure in all cases it waits for
the relevant queue to provide data.  Also disable the quaternion stabilization
flag.
2012-05-12 13:12:56 -05:00
James Cotton
2ca3cde83f Improve EKF initialization. For some reason we must read an extra mag sample
when power up value of attitude algorithm is EKF.  I don't understand why the
first mag value is bad.
2012-05-12 13:00:51 -05:00
James Cotton
98655aacc8 Fix initialization of the complimentary filter where it didn't get the right
initial dT
2012-05-12 13:00:50 -05:00
Brian Webb
1f5dbcf57c Mostly complete PipX configuration GUI. 2012-05-11 17:51:18 -07:00
James Cotton
4ec4edd15c When enabling position hold altitude mode take the throttle from before as the
"hover" throttle
2012-05-08 03:12:14 -05:00
James Cotton
2857b58f8e Migrate path planner from position desired to path desired 2012-05-08 03:04:44 -05:00
James Cotton
37bb2cfb77 Finish getting rid of PositionDesired in favor of PathDesired and add the
ability to move the magic waypoint with the transmitter
2012-05-08 02:42:58 -05:00
James Cotton
a8bdd4a44a Coalescene PositionDesired and PathDesired into PathDesired and add a mode
field to indicate how it should be interpreted.
2012-05-08 02:29:58 -05:00
James Cotton
27d1c4be93 Extend list of airframe types for VTOL guidance 2012-05-08 02:29:58 -05:00
James Cotton
cbedb5b53b Move Guidance to VtolPathFollower to make room for FWPathFollower 2012-05-08 02:29:50 -05:00
James Cotton
0f2c41ac5d Merge branch 'revolution' into navigation
Conflicts:
	flight/Modules/ManualControl/manualcontrol.c
	flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
2012-05-07 21:53:10 -05:00
James Cotton
6aa7142f5e When guidance finds an incorrect airframe, delay 100ms to avoid hammering the
alarms
2012-05-07 12:55:35 -05:00
Sambas
dedbbec8f0 Make guidance support my Y6, also caused telemetry/usb RXdatarate go thru the roof (Guidance Warning). Almost impossible to change dataframe type to supported one with clean board.
USB interrupt fix.
Heap warning critical sizes backwards.
2012-05-07 12:51:07 -05:00
Oleg Semyonov
a3906aa7ea Merge remote-tracking branch 'origin/hhrhhr/AeroSimRC_plugin' into os/aerosimrc 2012-05-07 16:09:35 +03:00
James Cotton
a40a0b0e31 Small fix to be able to build CC for Revo branch and to include revo in
package.
2012-05-07 01:55:52 -05:00
Brian Webb
454144f46c Pairing and saving settings working. 2012-05-06 20:47:21 -07:00
Brian Webb
352471857f Reverted USB configuration and switched all non-blocking COM calls to blocking, which appears to help prevent lockups now that all sends are in a different thread. 2012-05-06 15:07:07 -07:00
Brian Webb
ef4828032b Fixed failed merge with next. 2012-05-06 12:38:13 -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
James Cotton
6c0dc80978 Shuffle more stack sizes around 2012-05-05 11:33:47 -05:00
Werner Backes
22df8310c4 Fixed typo in comment 2012-05-05 11:10:53 -05:00
Werner Backes
f52f5b3d83 Don't process RMC sentences that are flaged as 'void' 2012-05-05 11:10:45 -05:00
Werner Backes
6b463e5c9e Check GGA NMEA sentence for no/invalid fix flag 2012-05-05 11:10:38 -05:00
Werner Backes
217860c187 Check for empty fields during lat/lon conversion (invalid GPS fix) 2012-05-05 11:10:32 -05:00
Brian Webb
44d95003f3 Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-05-03 17:56:08 -07:00
James Cotton
3155324384 Merge branch 'next' into cc3d
Conflicts:
	Makefile
	ground/openpilotgcs/src/plugins/config/configahrswidget.cpp
	shared/uavobjectdefinition/ahrscalibration.xml
	shared/uavobjectdefinition/ahrssettings.xml
	shared/uavobjectdefinition/attituderaw.xml
2012-05-03 16:31:49 -05:00
Brian Webb
249ededcfd Added responding to OBJ_REQ and sending ACK/NACK on PipX. 2012-05-02 20:51:29 -07:00
Brian Webb
290acf0398 Fixed watchdog timeouts. 2012-05-01 20:48:35 -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
Brian Webb
25ffb99cee Added initialization of flash eeprom for saving settings to PipX. 2012-04-28 19:29:56 -07:00
James Cotton
fb53d5621a Change the magKp term (hardcoded still) for revo complimentary filter so it
tracks magnetic north when homelocation is set.
2012-04-22 19:01:41 -05:00
James Cotton
2890fcdc9f When in complimentary filter mode use GPSVelocity so event system doesn't have
warning.
2012-04-22 19:01:18 -05:00
Brian Webb
aab47d6ed4 Final updates to throttled mode and further memeory reduction in the object manager and event dispatcher to reflect smaller data sizes in metadata. 2012-04-22 14:56:26 -07:00
Brian Webb
ed1937958e Changed PipX UAVTalkProcessInputStream calls to UAVTalkProcessInputStreamQuiet. 2012-04-22 08:45:01 -07:00
Brian Webb
f726cc6a9d Added a RTC supervisor timer to RFM22B driver. 2012-04-21 18:31:49 -07:00
Brian Webb
eb6f175af4 Fixed metadata settings in object browswer, and removed update mode never from all uavobjects that used it (changed to manual). 2012-04-21 11:59:14 -07:00
Brian Webb
19166cc830 Added UPDATEMODE_THROTTLED to UAVObjects update modes. 2012-04-18 18:47:13 -07:00
Corvus Corax
1c3dc9c9e1 Airspeed: fixed calculation math - no more zero zone 2012-04-18 14:41:41 +02:00
Corvus Corax
d125abf335 Baro calibration 2012-04-18 10:48:31 +02:00
Brian Webb
62c5036220 Added PipXStatus and PipXSetting UAVobjects and some initial support for them. 2012-04-17 17:36:05 -07:00
Corvus Corax
3da88601a1 Airspeed module works, needs conversion 2012-04-17 20:32:56 +02:00
Corvus Corax
317cff10dd debug code added - revert this when no longer needed 2012-04-17 18:59:46 +02:00
Corvus Corax
edf26d15e6 Airspeed: some more fixes 2012-04-17 16:38:53 +02:00
Corvus Corax
5159d2029b new airspeed module - still needs matching PIOS driver from stac 2012-04-17 15:54:05 +02:00
James Cotton
ad074aee4b Fix nasty bug in guidance where I missed some breaks 2012-04-16 08:59:25 -05:00
James Cotton
a7ba6d96c1 Allow guidance to run purely off raw GPS data 2012-04-15 16:23:34 -05:00
James Cotton
050c756d54 Merge branch 'revolution_path' into testing 2012-04-15 12:34:31 -05: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
James Cotton
6a094ac326 Increase stack for the path planner 2012-04-15 12:31:50 -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
85852df00b Make simulation produce data asynchronously for testing and add random accel
bias
2012-04-15 11:51:42 -05:00
James Cotton
08fd08deb8 Fix some compiler warnings in guidance code 2012-04-15 11:51:26 -05:00
James Cotton
1559eeb2e1 Use GPSVelocity updates when they are available instead of timing based on
GPSPosition
2012-04-15 11:50:56 -05:00
James Cotton
b71e9fc9dc Create simulated OveroSync module which simply drops updates to log file 2012-04-14 22:01:33 -05:00
unknown
0b7538c3fe Constants changed to float for better portability. 2012-04-15 01:28:31 +02:00
James Cotton
9a2e0b071c Revert "Allow simulated quadcopter to include GyroBias in the artificial sensor data."
This reverts commit 212a10bcd4.
2012-04-14 17:20:01 -05:00
James Cotton
212a10bcd4 Allow simulated quadcopter to include GyroBias in the artificial sensor data. 2012-04-14 14:52:56 -05:00
James Cotton
af02eb6517 Merge branch 'sim' into testing
Conflicts:
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
2012-04-14 14:40:43 -05:00
James Cotton
267e9fa87c Merge branch 'revolution' into testing 2012-04-14 14:40:11 -05:00
James Cotton
a86e75bc99 Merge branch 'revolution' into sim 2012-04-14 14:12:03 -05:00
James Cotton
deb3336729 Make sure for revolution all the GPS objects are always initialized even if
there is no GPS port.  Otherwise connecting to relevant queues will fail.
2012-04-14 14:02:20 -05:00
James Cotton
b7c3b1fdd1 Make the simulation provide GPSVelocity object since this is critical for EKF
now
2012-04-14 14:01:42 -05:00
James Cotton
ce6def870b Add feedforward component to guidance 2012-04-14 13:38:10 -05:00
James Cotton
be21ec441e Add ability to run guidance based on raw GPS velocity instead 2012-04-14 13:34:30 -05:00
James Cotton
1a98a46606 Merge branch 'revolution_ubx' into sim 2012-04-14 12:10:23 -05:00
James Cotton
5d160860a3 Fix from Corvus for gyro bias from EKF 2012-04-14 12:09:12 -05:00
James Cotton
3e2feb64cf Fix bug limiting maximum velocity desired 2012-04-14 10:49:54 -05:00
Corvus Corax
84c3705390 use gyro scale and bias in sensor module 2012-04-14 14:01:28 +02:00
James Cotton
b0ef456ccb Kickstart MPU6000 if there is no data 2012-04-13 20:29:41 -05:00
James Cotton
a0d1b00ade Cover an edge condition for the MPU6000 IRQ not firing 2012-04-13 19:37:30 -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
a1351fcdbe Make the path velocity come from the waypoint. 2012-04-10 02:56:10 -05:00
James Cotton
a42d756b3e Add path navigation mode to the path planner module. I don't like how this is
done because the mode is in the settings so can't be command from path planner.
I.e. it would be nice to be able to say do these paths then go to position hold
mode.
2012-04-10 02:51:50 -05:00
James Cotton
1aec5b8deb Add altitude control to the path navigation 2012-04-10 01:59:26 -05:00
James Cotton
26b73e3c8b Add path navigation mode to guidance. Works well in simulation. 2012-04-10 01:48:03 -05:00
James Cotton
136bbe3814 Update the EKF code to use the GPSVelocity 2012-04-09 19:03:21 -05:00
James Cotton
dbcb47e249 Merge branch 'D-Lite/ubx-parser' into revolution_ubx 2012-04-09 17:34:34 -05:00
Werner Backes
4ede7a8af6 Experimental u-blox binary data format parser. See "u-blox 6
Receiver Description" for reference. Currently supports NAV-VELNED
message only and populates it to the GPSVelocity UAVObject.
2012-04-09 23:14:34 +02:00
Werner Backes
422944ce29 Experimental extension to the GPS stream parser to extract u-blox
binary data format. See "u-blox 6 Receiver Description" for
reference. GPS data stream may carry mixed NMEA and UBX data.
2012-04-09 23:12:24 +02:00
Brian Webb
7b49a6b820 Added watchdog to radio com bridge in PipXtreme. 2012-04-07 19:12:49 -07: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
Sambas
d399469b88 Last push before summit 2012-04-07 14:30:04 +03:00
James Cotton
414e62f14e Revert "Disable baro updates into INSGPS for now. Seems to cause issues."
This reverts commit 04591309770679e7b01c53a6cb54cac1c043f8b6.
2012-04-07 00:58:36 -05:00
James Cotton
fcb9193d25 Disable baro updates into INSGPS for now. Seems to cause issues. 2012-04-07 00:58:36 -05:00
James Cotton
aa6c8a451d Shrink some stack sizes 2012-04-07 00:58:36 -05: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
56a2006fd8 Reconfigured to run on the real PipX board. 2012-04-06 18:44:31 -07:00
Brian Webb
bc1adb2519 Some cleanup of rfm22 driver. 2012-04-06 17:36:35 -07:00
James Cotton
345b6578b1 Fix a possible race condition for complimentary filter on L3GD20 attitude
estimation where the accel queue wouldn't immediately have data available.
Added 1 ms timeout on queue.
2012-04-06 13:59:12 -05:00
James Cotton
e60c70251f Slow down update rate for the altitude hold smoothed EKF 2012-04-06 13:58:46 -05:00
James Cotton
ea13536da0 Take quidance settings from simulation and make the INSGPS pick up the GPS
noise from a setting.
2012-04-06 12:59:49 -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
3071f77d59 Add Baro offset to the simulation 2012-04-03 10:58:48 -05:00
James Cotton
c988685293 Simulate GPS noise drift 2012-04-03 09:17:55 -05:00
James Cotton
5d0e513678 Fix small deg/rad issue in generating gps data 2012-04-03 09:17:55 -05:00
James Cotton
df6bc4deff Enable guidance on simulation and add wind model 2012-04-03 09:16:31 -05:00
James Cotton
ca535c2632 Fix bugs in simulated sensor data. Now works well with INSGPS. 2012-04-03 09:16:31 -05:00
James Cotton
84040d25b4 Add attitudesimulated object to capture the simulated state 2012-04-03 09:16:30 -05:00
James Cotton
6df9691609 Bring back the original module files and remove comments from FreeRTOS
debugging
2012-04-03 09:16:30 -05:00
James Cotton
543500ed78 Improve the simulated sensors to produce (I think) consistent data now 2012-04-03 09:16:30 -05:00
James Cotton
fbd8695d7d Check in WIP for osx simulation 2012-04-03 09:16:30 -05:00
James Cotton
28cab678ce Simulate a more complete QC model. 2012-04-03 09:16:28 -05:00
James Cotton
f1aa3b658e Add a new sensor simulation mode that essentially has a gyro rate that is rate
desired and the accel based on the current attitude.
2012-04-03 09:16:28 -05:00
James Cotton
6adc74f6f9 Check in the fake sensor data module 2012-04-03 09:16:27 -05:00
James Cotton
e97c1bc016 Include the module include file before any uavo ones 2012-04-03 09:16:27 -05:00
James Cotton
cfd92de87a Add explicit casts in manualcontrol to avoid compiler warnings/errors 2012-04-03 09:16:24 -05:00
James Cotton
5827e3f565 Add box around logo path 2012-04-03 03:42:37 -05:00
James Cotton
bfb0c6935e Make pathplanner use callbacks on the waypoints and their index to pick up
changes from the GCS while flying
2012-04-03 03:42:37 -05:00
James Cotton
c26cceb47b If the waypoint index is changed then update teh position desired. This should
probably be done with change callbacks because currently changing the waypoints
themselves doesn't update position desired.
2012-04-03 03:42:36 -05:00
James Cotton
6d1c36680f Scale the max velocity as a magnitude on teh vector instead of independently on
each direction
2012-04-03 03:42:36 -05:00
James Cotton
5b3cc4876e In simulations a higher GPS noise is required for the INS 2012-04-03 03:42:35 -05:00
James Cotton
32f76db8ae Only update position desired when you change waypoints active 2012-04-03 03:42:35 -05:00
James Cotton
ba1ade33cb Get navigation working and program hardcoded flight path 2012-04-03 03:42:34 -05:00
James Cotton
62117430cf Flip the sign of throttle in the guidance altitude control 2012-04-03 03:42:34 -05:00
James Cotton
7f226867c6 Some bug fixes for revo attitude estimation. 2012-04-03 03:42:33 -05:00
James Cotton
d4488512c0 Add RTH waypoint action 2012-04-03 03:42:33 -05:00
James Cotton
3eac69e953 Create stub for waypoint navigation 2012-04-03 03:42:32 -05:00
James Cotton
af9f36d7df Improve the attitude initialization for all of the modes 2012-04-03 03:42:32 -05:00
James Cotton
3888d6ff69 Changed settings that makes updates smoother 2012-04-03 03:42:31 -05:00
James Cotton
319b53a342 Make sure full initialization routine for INSGPS occurs each time it is
restarted.
2012-04-03 03:42:31 -05:00
James Cotton
372f959c37 Refine some stack sizes 2012-04-03 03:42:30 -05:00
James Cotton
54880c83a0 Fix some task sizes and the memory limits 2012-04-03 03:42:30 -05:00
James Cotton
a83fb019f6 When in complimentary filter mode pass the GPS information straight
through to Position Actual
2012-04-03 03:42:29 -05:00
James Cotton
98b1a21921 Fixup: Shouldn't update gps until home location is set 2012-04-03 03:42:29 -05:00
James Cotton
7a3ec3e173 Some code cleanup to get rid of some warning messages 2012-04-03 03:42:29 -05:00
James Cotton
23625904c5 Remove the now unused ECEF and Rne fields from HomeLocation. Also reenable
calculation of the WMM and HomeLocation from the GPS code for revolution.
2012-04-03 03:42:28 -05:00
James Cotton
71d0180d45 Use the sensor variances from object 2012-04-03 03:42:28 -05:00
James Cotton
ce2d1f94f6 Better hardcoded constants for INS variances 2012-04-03 03:42:27 -05:00
James Cotton
de7fc81795 Fixes to the GPS LLA to NED translation 2012-04-03 03:42:27 -05:00
James Cotton
e32ab9342c Shuffle some stack sizes around 2012-04-03 03:42:26 -05:00
James Cotton
4cadb7ec0e Forgot to initialize revo settings object 2012-04-03 03:42:26 -05:00
James Cotton
337d5b7079 Enable guidance in revo. Update manual control to set the position desired
when the switch is flipped.
2012-04-03 03:42:25 -05:00
James Cotton
0eedaa1250 Change how we convert LLA to NED. Now it is done with a taylor expansion
around the home LLA coordinate to avoid the conversion into ECEF coordinates.
This has the benefit of not requiring double precision math and uses less
operations.

Now we should remove the Rne and ECEF fields from HomeLocation as they are
unused
2012-04-03 03:42:25 -05:00
James Cotton
e8cc7748af Clean up some unused variables in attitude code 2012-04-03 03:42:24 -05:00
James Cotton
a9aa6b696b Add object for setting the fusion algorithm 2012-04-03 03:42:24 -05:00
James Cotton
1911c7360d New NEDPosition object which is the transformed GPS location 2012-04-03 03:42:24 -05:00
James Cotton
e3c36ac99a Change requires for GSP updated to be set to true (wrong sign on PDOP check) 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
96edea9d4b Some fixes to GPS parsing 2012-04-03 03:42:21 -05:00
James Cotton
55ee568fe2 Work on the INS algorithm 2012-04-03 03:42:21 -05:00
James Cotton
8c8224c122 Use a bigger event queue for overo logging to avoid event system warnings, and
add code to shortcircuit formatting a packet if it will not fit.
2012-04-03 03:42:19 -05:00
James Cotton
e82323af32 Make revolution work with the FreeRTOS queue based MPU6000 driver 2012-04-03 03:41:52 -05:00
James Cotton
3346e848e0 Attitude error timeout was 2 ms when sensors at 500 Hz. Caused lots of errors
and overwhelmed event system.
2012-04-03 02:07:04 -05:00
James Cotton
8032130769 Slow down gyro a bit on CC to give the CPU some breathing room. Might need to
come down more.
2012-04-03 02:07:03 -05:00
James Cotton
a960f3d07e Switch the MPU6000 driver to using a FreeRTOS queue. Need to update Revo code
to take advantage of this.
2012-04-03 02:07:03 -05:00
James Cotton
1415728762 Get the MPU6000 CC3D working. Right now the ADC system is commented out, which
will break regular CC.
2012-04-03 02:07:03 -05:00
James Cotton
a0b7453580 Make the firmwareIAP variable not a global 2012-04-03 02:07:03 -05:00
Brian Webb
df0a1c2ac1 Upgraded Brian-Metadata-Mods to current next. 2012-04-01 12:25:13 -07:00
Sambas
93ad5d2660 stuff 2012-03-26 19:23:16 +03:00
Corvus Corax
0742c88a98 enabled optional rtation of Revolution board 2012-03-26 05:25:52 +02:00
Corvus Corax
d32dd0ccd4 Fixed fmod() versus fmodf() usage in flight/... 2012-03-26 04:16:54 +02:00
Sambas
4c6ee740e2 Merge remote-tracking branch 'remotes/origin/james/revolution' into osd_test_v1 2012-03-25 14:28:25 +03:00
Brian Webb
1669f00456 Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-03-24 15:21:16 -07:00
James Cotton
c7ff2a46c7 Merge remote-tracking branch 'origin/laurent/modelview' into revolution
Conflicts:
	flight/CopterControl/Makefile
	ground/openpilotgcs/src/plugins/config/config.pro
	ground/openpilotgcs/src/plugins/config/configgadgetwidget.h
2012-03-22 02:58:24 -05:00
James Cotton
2f8049e20a Update the bootloader hw version for the mpu6000 board and make the sensor code
and initialization respond appropriately.  Enable hte L3GD20 and BMA180.
Let the board type determine which is used.
2012-03-22 00:41:37 -05:00
James Cotton
6350ec575e Merge remote-tracking branch 'origin/os/features/stick-deadband-next' into next
Conflicts:
	ground/openpilotgcs/src/plugins/config/configinputwidget.cpp
2012-03-21 16:03:40 -05:00
James Cotton
a77a859e5c Using some config switches to get this board up and running 2012-03-21 00:48:31 -05:00
James Cotton
6b88a278b3 Disable overosync by default. It was triggering event system warnings due to
the extra updates from altholdsmoothed.  Increase queue size when reenabled.
Also AltHold is is trigger warnings because other tasks starve it during
startup.
2012-03-21 00:29:09 -05:00
James Cotton
f4663b98e4 When the event system or object manager has an error store the object ID in the
SystemStats.
2012-03-20 23:18:07 -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
aba3789d87 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into Brian-Metadata-Mods 2012-03-18 13:28:11 -07:00
Sambas
13094abc1c new splash screens and better handler for them 2012-03-16 18:00:16 +02:00
Brian Webb
b34b849453 Added start at a modified PipX packet handler. 2012-03-15 19:29:54 -07:00
Sambas
ef7758505a Mapping correct ports 2012-03-13 20:42:37 +02:00
James Cotton
0d42303d37 Fix some compilation errors/warnings in attitude.c 2012-03-11 16:30:18 -05:00
Sambas
addda5f29d USB and bootloader stuff, WORKS!! 2012-03-11 11:31:02 +02:00
Sambas
742f3ff24d Merge remote-tracking branch 'remotes/origin/james/revolution' into osd_test
Conflicts:
	ground/openpilotgcs/src/plugins/scope/scopegadgetwidget.cpp
2012-03-11 09:39:51 +02:00
Sambas
ccf5c310c9 Updates 2012-03-11 09:27:38 +02:00
James Cotton
820ca6a970 Initialize loop variable OUTSIDE loop so that baro is used still for altitude
hold.
2012-03-10 11:28:51 -06:00
James Cotton
f4705551b6 Update task info to cover the AltitudeHold module 2012-03-10 11:14:30 -06:00
Dmitry Zaitsev
d45e88515b firmware: disable Attitude module in simulation
this part should be rewritten to completely disable the polling of sensors.
i just do not know how to do it correctly.
2012-03-10 06:02:23 +04:00
Brian Webb
d73895de7d Working PipX com relay. 2012-03-07 18:05:42 -07:00
Brian Webb
444150269a Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into PipXtreme 2012-03-05 18:22:08 -07:00
Sambas
91a9e45888 Updates, first UAVtalk client test 2012-03-05 19:53:52 +02:00
James Cotton
61d59828dc Disable the new features if not revolution and set an error flag. Fixes
compilation errors.
2012-03-05 00:24:11 -06:00
James Cotton
7961aba83c Clean up a few more compiler warnings
Conflicts:

	flight/PiOS/Common/pios_ms5611.c
2012-03-03 13:32:56 -06:00
James Cotton
91a226fc12 Sometimes the mag stops updating so kickstart it 2012-03-03 13:31:46 -06:00
James Cotton
bc8b72623e Get rid of some unused variables 2012-03-03 11:54:09 -06:00
James Cotton
e3df261213 Merge branch 'stac/revo-usb' into revolution
Conflicts:
	flight/Revolution/System/pios_board.c
2012-03-02 13:00:13 -06:00
Brian Webb
e2cb750dc6 First cut on RadioComBridge module, which is intended to pass data from either a USART or a USB port to the PipX radio link. 2012-02-25 07:37:05 -07:00
Oleg Semyonov
2271b95816 Merge remote branch 'origin/next' into os/features/stick-deadband-next
Conflicts:
	ground/openpilotgcs/src/plugins/config/configinputwidget.cpp
	ground/openpilotgcs/src/plugins/config/configtaskwidget.cpp
	ground/openpilotgcs/src/plugins/config/configtaskwidget.h
2012-02-23 08:32:27 +02:00
Oleg Semyonov
e62cc8914c Merge remote branch 'origin/next' into os/features/pid-tuning-from-transmitter-next
Conflicts:
	flight/CopterControl/Makefile
	ground/openpilotgcs/src/plugins/config/config.pro
	ground/openpilotgcs/src/plugins/config/configtaskwidget.cpp
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
	shared/uavobjectdefinition/hwsettings.xml
2012-02-22 23:03:17 +02:00
Oleg Semyonov
403e9cd220 TxPID module: add ILimit values to the list of settings 2012-02-21 19:57:10 +02:00
James Cotton
7b548eaa54 Fix bug in the integral for altitude hold where it was accumulating wrong variable. 2012-02-21 00:40:55 -06:00
Brian Webb
43f6458f86 Reduced the sizeof the UAVObject metadata by:
1) Combining all binary or mode values into a single byte
  2) Adding accessor functions to read/write the flag bits
  3) Reduced the size of the time values from 32 bits to 16 bits
2012-02-20 18:45:18 -07:00
James Cotton
900780e10c Add bias estimation to the altitude fusion algorithm. Necessary to increase
the gains on acceleration and velocity feedback terms (they are a problem when
biased).
2012-02-19 11:38:09 -06:00
James Cotton
47fac7e31c Move the throttle setting code for alt hold into the fast accel loop. 2012-02-18 18:16:15 -06:00
Sambas
4dd91d08c2 Settings, home arrow tests & other updates 2012-02-18 12:38:50 +02:00
Oleg Semyonov
c721d001c0 Subtract deadband offset from then input to still have fine control 2012-02-18 10:21:51 +02:00
James Cotton
7d4582e5f0 Update the altitude KF to use the updated measurements appropriately and check
in the relevant matlab code to check it and genererate it.  Produces quite
smooth traces.
2012-02-16 05:33:47 -06:00
Sambas
8f45114b1f Fixes & cleanup 2012-02-15 21:14:02 +02:00
Sambas
0bc08a48d8 cleanup 'n' updates 2012-02-14 21:42:09 +02:00
James Cotton
c957172f8f In the case of swapping in userspace due to the buffer being blocked during
ISR, make sure the latency is less than 50 us to avoid framesync errors.  Still
seeing a few nonsense packets on Overo side but fairly few.  Probably need to
add CRC to whole packet now and call it done.
2012-02-14 11:06:16 -06:00
James Cotton
1930d092eb In the case where the overo scheduler cannot swap buffers (userspace loading
it) then set a flag so as soon as the buffer is loaded then we schedule it.
2012-02-14 11:00:29 -06:00
James Cotton
f04c58b0f4 Make the overo transaction occur based on the rising edge of the NSS line.
This fixes most of the frame sync problems.  However, it's a bit hacky as
there is currently hardware information inside a module.
2012-02-14 10:37:30 -06:00
James Cotton
d018d93e88 Clean up previous commit a bit and make the sampling rate a variable (and adapt
the sampling time accordingly).
2012-02-13 01:49:54 -06:00
James Cotton
3acbfbe96c Convert the pressure sensor code to most of the calculations as int64 to retain
precision.
2012-02-13 01:22:48 -06:00
Sambas
8cc876d02a OSD branch 2012-02-12 22:29:42 +02:00
James Cotton
f23f53dc4e Add settings for the altitude kalman filter settings and init the state when
first measurement arrives
2012-02-12 09:07:27 -06:00
James Cotton
34ca5777dd Kalman filter for altitude 2012-02-11 21:08:19 -06:00
James Cotton
d8f0494e57 Merge branch 'revolution' into revolution_overo 2012-02-11 20:02:20 -06:00
James Cotton
3026527801 Now the desired altitude is relative to when the switch was flipped so that the
baro altitude module can use a smoothed altitude estimate for the starting
point.
2012-02-08 23:02:29 -06:00
James Cotton
80d602ef7b Switch order of some commands to make sure it loads the correct hover throttle 2012-02-08 20:47:10 -06:00
James Cotton
ab41bae071 Separately smooth the error estimate from the derivative 2012-02-08 11:15:33 -06:00
James Cotton
60c951843d Use backtracking to limit integral in altitude hold and smooth the velocity
error.  Initialize the throttle integral better.
2012-02-08 10:39:31 -06:00
James Cotton
c6b1d6b8df Rework the altitude hold code a bit 2012-02-08 09:42:10 -06:00
James Cotton
49a03a868b Merge branch 'altitudehold' into revolution_overo
Conflicts:
	flight/OpenPilot/UAVObjects.inc
	flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
	flight/Revolution/Makefile
	flight/Revolution/ins.c
2012-02-07 23:00:29 -06:00
James Cotton
6ec0f06c80 Back to 1024 byte packets 2012-02-07 13:02:11 -06:00
James Cotton
2c60447200 Switch back to 512 byte packets and fix bug when writing the header size that
was smashing the crc
2012-02-07 11:32:04 -06:00
James Cotton
221a0c5e53 Add the number of dropped updates to the overosync stats 2012-02-07 09:13:26 -06:00
James Cotton
a89d425b23 Reset the received rate for overo sync object 2012-02-07 09:01:58 -06:00
James Cotton
02bec750bd In the attitude loop need to check all the queues even if unused or the event
system will have warnings
2012-02-07 08:46:34 -06:00
Stacey Sheldon
e2939dae2a revo usb: Add support for USB to Revo 2012-02-07 02:25:31 -05:00
James Cotton
ae01936808 Add the portTickTime into the OveroSync stream 2012-02-06 10:00:02 -06:00
James Cotton
dbcb499d7f Add object to monitor the overo link status. Current just records the bytes/s
being sent and the connected status (based on sending more than 500 bytes per
second)
2012-02-06 09:37:31 -06:00
James Cotton
5b2376dbee Remove the semaphore for buffer swapping and make this occur during the receive
ISR.  This leads to a possible condition where a copy is taking place in
userspace and then a buffer swap interrupts it.  However, the copy should
always finish before the SPI DMA slave catches up to that place in memory at 10
MHz.

This fixes a common condition where the userspace task (low priority) was not
swapping buffers in time from user space and logs were corrupted.
2012-02-06 08:21:24 -06:00
James Cotton
179e66b754 Refactor how new packets are scheduled to avoid trying to start a transaction
from an ISR.  This was causing lock ups.  It's a bit higher latency probably
(trivially slow) but if we aren't keeping up with the Overo transactions then
using a proper DMA double buffer will be required.
2012-02-04 20:11:31 -06:00
James Cotton
665801662d In cc3d update sensors add accelbias before scaling to allow more precision in
levelinIn cc3d update sensors add accelbias before scaling to allow more
precision in levelingg
2012-02-04 12:12:41 -06:00
James Cotton
4e190f99e2 Improved the revo overosync code to put multiple uavobjects into a packet 2012-02-04 12:06:03 -06:00
James Cotton
c26154f303 Switch back to 256 byte packets and 0xFF pad the end 2012-02-02 11:40:49 -06:00
James Cotton
8b1137c6a0 Align the tx and rx SPI buffers from Overosync 2012-02-02 11:23:40 -06:00
James Cotton
0a71a48c57 Sending all FF finally again 2012-02-02 10:36:09 -06:00
James Cotton
95abb56d5e Added module to send updates out the SPI port 2012-02-02 09:19:25 -06:00
James Cotton
a778c45d6f For L3GD20 sensor task run at the sensor speed 2012-01-28 10:11:30 -06:00
James Cotton
13447ac907 Fix the MPU6000 implementation 2012-01-28 00:21:58 -06:00
James Cotton
b4435d0b35 For L3GD20 sensor task on revo update gyro once per physical sample 2012-01-26 23:29:12 -06:00
James Cotton
84dd1dbc40 A bit more lenient settings for CC sensor timings 2012-01-26 13:00:06 -06:00
James Cotton
727f0befc5 Make the gyro go a bit more regularly to stabilization but needs updating
regular CC
2012-01-25 22:50:19 -06:00
James Cotton
e4df3202e0 L3GD20: Update sensor task for revo to use the new queue 2012-01-25 22:50:19 -06:00
James Cotton
205aabe895 L3GD20: Make this sensor push data onto a FreeRTOS queue so that the sensor
reading task can block according.  Also now the gyro data is sent to
stabilization multiple times per update of the attitude loop.
2012-01-25 01:20:07 -06:00
James Cotton
1971ba30dc No longer hardcode baudrate 2012-01-24 23:42:43 -06:00
James Cotton
104c091590 Correct the range constants for the L3GD20 driver 2012-01-24 19:48:14 -06:00
James Cotton
a25d52785b Change the bus speed for the L3GD20 to 10MHz and some small cleanups 2012-01-24 19:17:49 -06:00
James Cotton
b6c056fef2 Use the updated L3GD20 format and make attitude.c use the gyro data from the
fifo
2012-01-24 15:52:17 -06:00
James Cotton
5efbfb02fa Make the BMA180 sensor system acquire from the queue. Correct the orientation
and speed it up to 10 MHz communications.
2012-01-24 15:09:20 -06:00
James Cotton
8c208412c9 Give the BMA180 a dynamically allocated device structure and also make it
properly bind to a SPI and slave number.  Temporarily reducing spi bus to
slowest possible speed.
2012-01-24 14:38:00 -06:00
James Cotton
8e79bc2ee2 Temporarily refactor attitude to directly read the sensors instead of pull from
their queues until the interrupts are working properly
2012-01-24 11:54:23 -06:00
James Cotton
e9552065a9 Reenable the CC3D sensors 2012-01-24 11:03:33 -06:00
James Cotton
c242ab8b86 Merge branch 'next' into revolution3
Conflicts:
	flight/AHRS/ahrs.c
	flight/AHRS/pios_board.c
	flight/Bootloaders/Revolution/Makefile
	flight/CopterControl/System/pios_board.c
	flight/INS/pios_board.c
	flight/OpenPilot/Makefile
	flight/OpenPilot/System/openpilot.c
	flight/OpenPilot/System/pios_board.c
	flight/PiOS/Boards/STM32103CB_CC_Rev1.h
	flight/PiOS/Boards/STM32F4xx_Revolution.h
	flight/Revolution/Makefile
	flight/Revolution/System/inc/pios_config.h
	flight/Revolution/test.c
2012-01-24 10:46:35 -06:00
James Cotton
486cdb5dbb Got CC running again although with altitude and bmp085 disabled as well as the
CC3D drivers.
2012-01-24 10:32:42 -06:00
James Cotton
4d3af7afbf Add ID test to ADXL345 2012-01-24 09:23:12 -06:00
James Cotton
728c05f973 Crude implementation of sensor reading for CC3D 2012-01-24 09:23:12 -06:00
James Cotton
11471ff68b Update drivers for CC to the new EXTI system and SPI calls 2012-01-24 09:23:12 -06:00
James Cotton
a20d654744 Update the attitude algorithm for CC to use the Gyros and Accels UAVObjects
instead of AttitudeRaw
2012-01-24 09:23:12 -06:00
James Cotton
d864b481a1 Fix a few more merge conflicts 2012-01-23 04:47:35 -06:00
Stacey Sheldon
6bb4f0c61d leds: use boot-time config for PiOS LED layer
LEDs are now configured based on a board-specific initialization
in PIOS_BOARD_Init().

LEDs are now named:
  PIOS_LED_HEARTBEAT
  PIOS_LED_ALARM
2012-01-22 18:22:59 -05: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
James Cotton
f8e59443b8 If the BMA180 isn't read when an IRQ fires (because the flash chip has claimed
the bus) then it won't fire another interrupt until read.  For now this is
dealt with in the sensor loop by forcing a read when the fifo is empty.
2012-01-21 10:13:46 -06:00
James Cotton
6d72678086 Add timeout in the sensor task for reading sensors to stop the watchdog firing.
All sensors should later be converted to use FreeRTOS queues.
2012-01-21 08:32:41 -06:00
Stacey Sheldon
64202ce092 Merge remote-tracking branch 'origin/stac/i2c_decoupling' into next 2012-01-17 22:35:36 -05:00
Stacey Sheldon
ad141c908a Merge remote-tracking branch 'origin/stac/usb-composite-device-v2' into next 2012-01-17 22:26:38 -05:00
James Cotton
ce2d0fcbb1 L3GD20 data now running through IRQ -> FIFO 2012-01-17 19:36:32 -06:00
James Cotton
35025303cd Getting data from gyro. 2012-01-17 19:29:38 -06:00
Stacey Sheldon
b05697c2cf taskinfo: ensure usage of TaskInfo uavo is covered by DIAG_TASKS
OpenPilot platform (and thus sim too) was missed when the
DIAG_TASKS macro was broken out from the DIAGNOSTICS macro.

This allowed accesses to the TaskInfo UAVO even though it hadn't
been initialized.
2012-01-15 18:16:50 -05:00
Stacey Sheldon
0575b45378 usb: make USB usage depend on PiOS config
USB is not supported on sim platforms.  Let PiOS
config determine when we use it.
2012-01-15 18:16:49 -05:00
Stacey Sheldon
c97b108a1f bootfault: make IAP usage depend on PiOS config
The sim platforms don't support an IAP mechanism.  Let
PiOS config control when we try to use it.
2012-01-15 18:16:49 -05:00
Oleg Semyonov
912bea559f Add stick deadband option for Roll/Pitch/Yaw inputs to firmware 2012-01-15 21:13:22 +02:00
Stacey Sheldon
27ceb7ea92 modules: Allow optional modules to be used as built-in
Some modules are written such that they can be included
or excluded at runtime.  These are added to the OPTMODULES
list in the makefile for a given board.

This change provides a mechanism to allow a build to force
a given module to be built-in (ie. always initialized)
regardless of the configuration in hwsettings.

The main use case for this is to handle a module being optional
on one platform but essential on another.

All modules added to the MODULES list in the Makefile will
automatically result in a matching #define in the form
  MODULE_TheModuleName_BUILTIN
being defined in the CFLAGS for all compiled source.

Note that the capitalization of TheModuleName must match
exactly the capitalization used in the MODULES list.
2012-01-14 16:55:55 -05:00
Stacey Sheldon
53e9ef06b4 altitude: add optional altitude module 2012-01-14 15:38:56 -05:00
Stacey Sheldon
717c1311e6 altitude: allow altitude to be an optional module 2012-01-14 15:38:56 -05:00
Stacey Sheldon
4cb0c41338 bmp085: only use eoc and drdy gpios when available
When the bmp085 chip is on an external board, we don't
have access to the eoc and drdy gpio lines.  Only use
them when available.
2012-01-14 15:38:56 -05:00
James Cotton
cc47520baa Checking ID on ST gyro works 2012-01-04 23:23:42 -06:00
James Cotton
0fbcf7723d Code to disable all gyros. All modules now running. 2012-01-04 22:37:15 -06:00
James Cotton
5ee9c8008e Temporarily swap serial ports while debugging 2012-01-04 22:19:13 -06:00
James Cotton
0cc18e7dcf Add files for new L3DG20 sensor 2012-01-04 20:33:54 -06:00
James Cotton
d2ce7761c5 Add derivative term 2012-01-03 12:37:18 -06:00
Stacey Sheldon
025ed0f43c Merge remote-tracking branch 'origin/stac/usb-composite-device-v2' into next
Conflicts:
	HISTORY.txt
2012-01-03 00:02:45 -05:00
Stacey Sheldon
8d8715c8c1 copyright: add/correct GPL + copyright boilerplate
I missed some of the boilerplate text on some of the
new files I've added recently.  Fixed.
2012-01-02 23:28:53 -05:00
Stacey Sheldon
b94f4b49a4 usb: major refactoring of USB descriptors, CDC and HID
Summary of changes:
 * USB CDC and HID drivers are completely split apart.
   * This will allow different max buffer sizes for HID and CDC.
 * USB descriptors have been overhauled:
   * Proper structs/macros/enums declared for USB (see pios_usb_defs.h)
   * Two common descriptor definitions.  One for HID+CDC another for HID only.
     See pios_usb_desc_{hid_cdc,hid_only}.c for details.
   * Long standing bugs in OP USB descriptors became much more obvious with the
     new struct definitions.
   * Board specific USB initialization is now in pios_usb_board_data.h in each build target.
   * Definition of USB descriptors is now entirely indpendent of STM32 libs.
     Glue into STM32 libs is provided by pios_usbhook.c.
 * Removed a lot of stale/irrelevant USB #defines throughout the tree.
 * Improved naming consistency throughout USB code:
   * PIOS_USB_HID_* now refers to the HID endpoint code.
   * PIOS_USB_CDC_* now refers to the CDC endpoint code.
   * PIOS_USB_* now refers to the low-level USB code.
   * PIOS_USB_BOARD_* now refers to board-specific USB data
   * PIOS_USBHOOK_* is glue between PIOS and STM32 USB libs.
   * struct usb_* and enum usb_* and USB_* and HID_* are all types from the USB spec.
 * Shrunk the buffer size on the CDC call mgmt endpoint to save some RAM.
 * Made a few more USB related variables static to save some RAM.
2012-01-02 14:27:06 -05:00
Oleg Semyonov
77a459af5c Merge remote branch 'origin/next' into os/TxPID-module 2012-01-02 14:49:54 +02:00
Oleg Semyonov
b01e332e03 CameraStab: rename UAVO field 2012-01-02 14:27:05 +02:00
Oleg Semyonov
65abb8f819 CameraStab: small optimization, freed 8 more heap bytes 2012-01-02 14:27:00 +02:00
Oleg Semyonov
406cff296d CameraStab: bypass LPF calculation if ResponseTime is zero 2012-01-02 14:26:58 +02:00
Oleg Semyonov
e11904c42f CameraStab: change ResponseTime type from float to int16 2012-01-02 14:26:56 +02:00
Oleg Semyonov
2eb5130a7c CameraStab: new camera stabilization mode and low-pass stick input filtering
This patch is based on work of Crubier (LPF) and Cossacs (AxisLock mode).
I've just reworked it a bit by adding a dynamic memory allocation for
static module data.
2012-01-02 14:26:54 +02:00
James Cotton
ef05cafaca Merge branch 'revolution' into altitudehold
Conflicts:
	flight/Libraries/insgps13state.c
	flight/OpenPilot/Makefile
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
2012-01-01 10:50:35 -06:00
Stacey Sheldon
5c0921e92c fault: add optional fault insertion module
This module and its associated settings uavo can be used
to test various fault conditions during initialization.

To enable the module, add the TEST_FAULTS=YES to your make
command line:
  make fw_coptercontrol TEST_FAULTS=YES

Once this module is part of your firmware load, you can
enable it in the hwsettings uavo and then select the
type of fault to insert by editing the faultsettings uavo.
On the next reset, the configured fault will be inserted
into the init sequence to allow you to test the boot fault
recovery code.

With a fault inserted, you should see 3 failed boot attempts
followed by a successful (recovery) boot.  You will see the
BootFault alarm set to Critical, and the RAM version of your
hwsettings will be reset to defaults.  Since the defaults have
all optional modules disabled, the fault module will be out of
the way during the recovery boot.

You can then "Load" the flash version of the hwsettings uavo
in the object browser, disable the Fault module and then "Save"
the hwsettings module back to the board.  The next reset will
boot normally without the fault inserted.
2011-12-30 23:05:39 -05:00
Stacey Sheldon
f886af186d bootfault: add support for recovery from init failures
After 3 failed warm start attempts, the init sequence
will force the RAM version of the HWSettings object
to its defaults.  This should allow a user to regain
connectivity to a board that is continually faulting
during init.

This is accomplished by:
 - Incrementing a boot counter that is stored in the
   STM32 BKP registers.  These registers survive a
   warm start but are cleared on a cold start (ie. powerup).
 - On multiple failures, force hwsettings to defaults
   and raise the (new) BootFault alarm to prevent arming.
 - Resetting the boot counter whenever the system manages
   to successfully run the System Module task.

NOTE: This does not actually change the hwsettings object in
      flash.  That's up to the user.

This is intended to catch ONLY faults during early initialization.
It should not be used to recover from faults after the application
is up and running.
2011-12-30 23:05:38 -05:00
Stacey Sheldon
1543a6dbd3 hwsettings: allow disabling of USB telemetry entirely
The GCS hwsettings config widget now disallows any
configuration that disables both HID and VCP telemetry
over the USB port.

The firmware will allow it if the UAVObj is set manually.

This allows a mechanism to reduce RAM usage by another
500 more bytes if USB telemetry can be sacrificed in
certain configurations.
2011-12-30 23:05:38 -05:00
Stacey Sheldon
7c03875013 diag-tasks: make taskinfo diagnostics a separate enable
This allows task stack analysis without turning on all
of the other diagnostics.
2011-12-30 23:05:37 -05:00