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

2682 Commits

Author SHA1 Message Date
Corvus Corax
79b717b4f7 Fixes to PathFollowers 2012-05-24 23:28:13 +02: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
4aa1391dce updated SimPosix to test pathplanner and pathfollower functionality 2012-05-24 18:43:25 +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
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
7f334a9773 SimPosix: make use of compile time uavobjecto initialization function generation 2012-05-22 22:06:26 +02:00
Corvus Corax
31da29a24b Reenabled full UAVObject initialization for SimPosix 2012-05-22 21:22:59 +02:00
Corvus Corax
3e5741abea SimPosix: Remove unneeded modules from Makefile to allow test run 2012-05-22 18:45:23 +02:00
Corvus Corax
9aca773714 SimPosix: Reenabled File IO for UAVObject saving 2012-05-22 18:32:52 +02:00
Corvus Corax
0d23e78762 PiOS.posix: added missing header definition to use FreeRTOS tasks in udp driver if applicable 2012-05-22 18:32:47 +02:00
Corvus Corax
e16a42b672 SimPosix: Fixed Module Initialisation, added missing UAVObject Initialisations (cause segfaults if not initialised) 2012-05-22 18:32:41 +02:00
Corvus Corax
5727d5714e Created new "SimPosix" board and ported PiOS.posix to revolution API and more "standard like" configuration akin to other "boards" 2012-05-22 18:32:27 +02:00
Corvus Corax
414310fcba test add of SimPosix architecture - doesnt work yet 2012-05-22 18:28:42 +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
ea7d9b6610 Merge branch 'basenext' into corvuscorax/new_navigation 2012-05-22 13:11:04 +02:00
Stacey Sheldon
3b0508e753 bu: check compatibility btw BL and HW before installing
CC and CC3D boards share the same FW image.  This is accomplished
by checking the BOARD_REVISION field in the board_info_blob
that is stored in the BL partition in flash as we init the FW.

Make sure that the BU image only writes a BL image that has
the same BOARD_TYPE and BOARD_REVISION fields in the embedded
image as the ones currently in flash on the board.

This ensures that we never write a CC3D BL image onto a CC board
and vice versa.  This check should prevent "bricking" a board.
2012-05-22 00:33:40 -04:00
Stacey Sheldon
e063bb0490 bl: use new USB "cable connected" API to halt in BL
BL only cares about the physical cable being connected.
Use the newly provided API that matches this intent.
2012-05-22 00:24:16 -04:00
Stacey Sheldon
dab400c80d usb: decouple "available" from "cable connected"
The bootloader needs to understand whether the USB cable
is connected.  The HID and CDC drivers need to know if
the cable is connected _and_ the device has been enumerated
already.  Separate these two concepts in the API.

Combining these was resulting in the BL not properly
detecting that the cable was plugged in, and trying to boot
the firmware image immediately.  This effectively bricked
the board if you ever had an invalid firmware image.

It also happens to be the case that the BU images automatically
invalidate themselves after updating the BL so they don't run
again.  The cable detect bug + this intended behaviour of the
BU image resulted in a bricked board after upgrading the BL.
2012-05-22 00:21:24 -04:00
Corvus Corax
68fe938016 Implemented new programmable PathPlanner 2012-05-21 21:42:28 +02:00
Corvus Corax
992e189bcd added PathAction (again) 2012-05-21 12:10:01 +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
Corvus Corax
9dd94f98b6 New UAVObjects for programmable PathPlanner 2012-05-21 12:10:00 +02:00
Corvus Corax
73ccdd0e69 Merge remote branch 'baseorigin/next' into james/testing4 2012-05-21 11:57:02 +02:00
Stacey Sheldon
d7d670036b usb: make sure USB device is off limits until it has been init'ed
USB device was being accessed prior to being initialized.
This resulted in a hard-fault or NMI when using any endpoint
beyond 0 or 1 which are init'ed by the BL.  This broke VCP which
is on endpoint 2 (control) and 3 (data).

This bug was introduced in 5ad37e69 which stopped checking the
transfer_possible variable.
2012-05-20 13:28:16 -04:00
Stacey Sheldon
7e6a222a8e usb serial: refactor serial number construction
Use new PIOS_USB_UTIL_AsciiToUtf8() function to compose the
USB serial number rather than repeating that code for each
board.

All boards now append "+FW" or "+BL" to their USB serial numbers
to allow the descriptors to differ between FW and BL images.
2012-05-19 16:15:47 -04:00
Stacey Sheldon
698ea8e86e usb util: Add common utility functions for USB descriptors
Make a home for generic functions related to USB.
2012-05-19 16:14:10 -04:00
Stacey Sheldon
3e0a9bc47e usb: Change supported LANGID in USB descriptor to be English US
Some versions of Windows will ignore the USB device serial number
if the string is not delivered with LANGID = English US 0x0409.

This is true regardless of the configured locale of the machine.
2012-05-19 16:12:34 -04:00
Stacey Sheldon
19367730c0 usb: remove null termination on serial number string
The serial number string descriptor was incorrectly null
terminated.  The standard clearly states that there should
not be a null terminator.

Use new #defines to ensure that our strings are sized
properly.
2012-05-19 16:06:49 -04:00
Stacey Sheldon
b905607dc7 serial: use defines for serial number lengths
Use #defined sizes for returned serial number lengths instead
of hard-coded values.
2012-05-19 16:06:48 -04:00
Stacey Sheldon
ba8d60301c usb: remove run-time selectable device descriptors
BL images now always use hid-only.

FW images can use hid-only or hid+vcp but this is selected
ONLY at compile time based on whether PIOS_INCLUDE_USB_CDC
is defined.

CC uses HID+VCP by default now.
2012-05-19 16:06:48 -04:00
Stacey Sheldon
d4b0475f6a usb-descriptors: add +BL or +FW suffix to serial number string
This makes the BL and FW images distinct devices with unique
serial numbers.

Windows (and maybe Mac) remembers the device descriptors and
the associated drivers based on this serial number.  Providing
unique serial numbers for the BL and FW images allows us to
provide different sets of descriptors for the BL and FW images
without confusing these OSes.

BL version number is now also bumped to reflect the new
serial number generation algorithm.
2012-05-19 16:06:44 -04:00
Stacey Sheldon
461d4a2ddd hid+vcp: Add Windows INF file for CDC on OpenPilot boards 2012-05-19 16:06:43 -04:00
Stacey Sheldon
48cb20dc81 hid+vcp: change default USB descriptor to HID+VCP
Now that we have a USB descriptor for HID+VCP that works
on Ubuntu 11.10, MacOS 10.7.3, Win7-SP1-32bit,
WinXP-SP3-32bit, Win7-SP1-64bit.

VCP is known to not work on WinXP without service pack 3.
2012-05-19 16:06:30 -04:00
zedamota
eb83afdcf1 Working compliant VCP+HID descriptors for Windows. 2012-05-19 15:40:46 -04: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
65065f2588 Fix the ADC code on the BL for revolution 2012-05-12 13:12:56 -05:00
James Cotton
c660dd17f0 Correct comment in CC settings for MPU6000 and disable I2C support 2012-05-12 13:12:55 -05:00
James Cotton
848f1b0e29 For some reason the gyro needs 300 ms after reset in order to work after the
bootloader jumps to code.  Nothing in datasheet to imply what.
2012-05-12 13:00:51 -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
zedamota
817ce9327f flight - fix pipxtreme bootloader compile 2012-05-12 12:57:15 +01:00
James Cotton
406b5a00f5 Make OSX simulator more efficient 2012-05-08 03:12:35 -05: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