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

2647 Commits

Author SHA1 Message Date
James Cotton
46a52fc5ce Apply the virtual flybar stick scaling in stabilization.c because we need to
know the true stick position to dampen the gyros appropriately.
2012-06-04 12:22:39 -05:00
James Cotton
bda3f301cb Rename VBar mode to VirtualBar 2012-06-04 12:22:39 -05:00
James Cotton
4c562b88d1 Make the amount to suppress the gyros adjustable instead of binary 2012-06-04 12:22:39 -05:00
James Cotton
59972d5570 Limit the number of degrees the vbar can deflect. This is good for fast flips
etc.
2012-06-04 12:22:39 -05:00
James Cotton
42ac4018b8 Woops. Fix really nasty bug in vbar mode I introduced. Also fix small bug in
scoping of gyro gain that made it not work.
2012-06-04 12:22:39 -05:00
James Cotton
6719ee8639 Add piro compensation option to the vbar mode 2012-06-04 12:22:39 -05:00
James Cotton
3283b99d4e For hardcode flipping allow full stick to completely override the gyro
feedback.
2012-06-04 12:22:39 -05:00
James Cotton
fe978504bc Add friendly settings for the vbar mode including the VbarTau which acts like
the time constant.
2012-06-04 12:22:39 -05:00
James Cotton
ff1b1a93cf Implement a virtual flybar in a way inspired by behavior of Align 3G which
seems apply a leaky integrator to the swash angle.  This is the similar to what
is done by Phubar (http://code.google.com/p/phubar/) as well although we refer
to the gyro term as the proportional and the flybar angle as the integral
2012-06-04 12:22:38 -05:00
James Cotton
1b55df733d Create virtual flybar setting for stabilization modes 2012-06-04 12:22:38 -05:00
James Cotton
e341a37bd1 Need to add a small delay after save for the load to work correctly. Odd. 2012-06-03 17:26:10 -05:00
Brian Webb
36f62be3b9 Fixed packet error detection and improved RSSI reading. 2012-06-03 10:07:08 -07:00
James Cotton
e8cf606f16 Add the chip size to the flashfs configuration (should probably go in the chip
configuration)
2012-06-02 11:00:42 -05:00
James Cotton
25f85ee4fe Add an error flag to ObjectPersistence and when saving a setting make it verify
that the data reads successfully.
2012-06-02 10:23:27 -05:00
Brian Webb
df8a5f8f27 Changed update period for PPM inputs on the PipX. Fixed LED code. 2012-05-31 18:56:07 -07:00
Brian Webb
7287e2f725 Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-05-29 18:14:20 -07:00
Oleg Semyonov
b93674cf64 uavtalk: fix object access mode comments to be correct 2012-05-29 11:57:31 +03:00
Brian Webb
9a6fb60dd6 Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-05-28 20:18:59 -07: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
Oleg Semyonov
f95d29a3b8 TxPID: add GyroTau to the list of parameters (OP-637) 2012-05-28 12:48:55 +03:00
James Cotton
5a6e02a688 Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into next 2012-05-25 20:37:23 -05: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
Brian Webb
f48bb90cf6 Updated PipX bootloader USB configuration to match CC. 2012-05-24 18:06:19 -07:00
Brian Webb
a434688b42 Zero out watchdog register on init. 2012-05-24 18:04:42 -07:00
Stacey Sheldon
ac75dd7be1 Revert "bu: remove LED support from bootloader updaters"
This reverts commit 7f03a77492.
2012-05-23 00:46:19 -04:00
Stacey Sheldon
400e529703 bu: add back LED feedback
LED support was dropped from the BU images due to a lack
of proper abstraction for LED definitions between CC and
CC3D HW variants in the CopterControl board family.

Use the new LED abstraction to hide board revision details
from the BU image so it can once again flash some LEDs.
2012-05-23 00:31:08 -04:00
Stacey Sheldon
56dddee56c cc: use defines for board revisions instead of hard-coded numbers 2012-05-23 00:29:12 -04:00
Stacey Sheldon
d2615cac96 hw_defs: hide board-rev differences in LED definitions
Every board has at least one LED (HEARTBEAT).  Not all
users of LEDs need to be directly aware of which LED
configuration to choose when there may be more than one
possible configuration.

Hide the details of the differences between LEDs used in the
different HW revs for CC.  This will allow generic code to
run on CC and CC3D without being exposed to the details of
the different pins used for the LEDs.
2012-05-23 00:22:11 -04:00
Stacey Sheldon
b97aba834a cc3d leds: move pin remapping into led definition
The LED driver supports GPIO remapping.  No need to
do the remapping outside of the LED definition.
2012-05-23 00:12:51 -04:00
Stacey Sheldon
dff43d5156 board_info: add guard for multiple includes of .h file 2012-05-22 21:50:53 -04: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
Brian Webb
8b98d48fc4 Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-05-22 06:27:45 -07: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
Brian Webb
6e359c5933 Added PipX to Windows .inf file and updated ppm port definitions. 2012-05-21 19:22:46 -07:00
Brian Webb
e57543ec29 Updated USB on PipX to latest CDC changes. 2012-05-20 19:34:43 -07:00
Brian Webb
6cb13aa2ba Fixed failed merge with next. 2012-05-20 18:36:08 -07:00
Brian Webb
2f1a9e3e7d Added PPM input to the PipXtreme. Also added configurable GCSReceiver timeout. 2012-05-20 18:30:37 -07: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
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
00a83f3984 Reverted change to link_STM32103CB_PIPXTREME_memory.ld 2012-05-18 19:08:44 -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
Corvus Corax
badf509d1d UAVObjects: switched around order of update modes to give each bit semantic meaning - important to allow usage of a bitfield type later 2012-05-15 18:21:27 +02:00
Brian Webb
bb491b8a3f Fixed bootloader on PipX. 2012-05-14 06:57:16 -07:00
Brian Webb
31069d8858 Small mod to flash saving. 2012-05-13 20:20:17 -07:00
Brian Webb
563b454693 Fixed compiling of PipX bootloader. 2012-05-13 20:19:04 -07: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
zedamota
817ce9327f flight - fix pipxtreme bootloader compile 2012-05-12 12:57:15 +01:00
Brian Webb
1f5dbcf57c Mostly complete PipX configuration GUI. 2012-05-11 17:51:18 -07:00
Oleg Semyonov
a3906aa7ea Merge remote-tracking branch 'origin/hhrhhr/AeroSimRC_plugin' into os/aerosimrc 2012-05-07 16:09:35 +03: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
3cf4fe6512 Reverted some USB changes. 2012-05-05 10:10:40 -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
3ef01569b8 Merge remote-tracking branch 'origin/kenz/PT_UI_fixes' into next
Conflicts:
	flight/OpenPilot/System/openpilot.c
	shared/uavobjectdefinition/positionactual.xml
	shared/uavobjectdefinition/positiondesired.xml
	shared/uavobjectdefinition/velocityactual.xml
	shared/uavobjectdefinition/velocitydesired.xml
2012-05-04 13:21:23 -05:00
James Cotton
a9b8e74b0d Disable LEDs on the bootloader update as without knowing the particular
hardware revision it cannot know which pios_led_cfg_ structure to use.
Possibly this should be abstracted further into board_hw_defs to create
functions like board_init_led.

Also the BU should probably compare the hw_revision of the original and new
bootloader to make sure the user doesn't break their board.
2012-05-04 08:53:14 -05:00
James Cotton
d93bf5d2a2 Clean up the XCode project 2012-05-03 22:20:00 -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
James Cotton
07a5d98020 Merge remote-tracking branch 'origin/Brian-Metadata-Mods' into next 2012-05-03 08:50:24 -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
22f48ce8b0 Exposed the Send ACK/NACK function in UAVTalk. 2012-05-02 20:42:37 -07:00
Brian Webb
30d63b5b12 Merged USB CDC updates. 2012-05-02 06:45:24 -07:00
Brian Webb
8da4b9c745 Merge remote-tracking branch 'origin/stac/pt-win-vcp-fix' into Brian-PipXtreme-V2 2012-05-02 06:42:30 -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
James Cotton
3f63051df8 PiOS ADC: This could still use a lot of cleanup and needs to be implemented in
the non-FreeRTOS case but now the ADC device is allocated dynamically which
means CC3D won't waste heap on it.
2012-05-01 11:11:31 -05:00
James Cotton
311cbe37d2 Reenable PIOS_ADC for coptercontrol 2012-05-01 00:30:41 -05:00
Brian Webb
84a19ebeab Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-04-28 19:30:35 -07:00