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

2791 Commits

Author SHA1 Message Date
Werner Backes
8c184ec8f2 Add additional UBX messages NAV-DOP, NAV-SOL, NAV-STATUS, NAV-SVINFO,
NAV-UTC
2012-07-10 10:36:56 +02:00
Werner Backes
a3e2513952 Increased stack size and com receive buffer to support SVINFO message.
Fix NOGPS condition for UBX.
2012-07-10 10:35:56 +02:00
Stacey Sheldon
2139dee574 uavobjectmanager: remove uavo name field and related functions
Saves a further 8 bytes of RAM per object.

Saves 1.5KB of flash by removing all of the const strings for
all of the object names and the corresponding meta object names.
This leaves room for more code.
2012-07-07 21:49:53 -04:00
Stacey Sheldon
2396eaef5a uavobjectmanager: simplify new embedded metadata objects
Simplifies some of the code that handles the
metadata objects which are now embedded within
the data UAVOs.
2012-07-07 21:49:53 -04:00
Stacey Sheldon
eef9b5f61e uavobjectmanager: drop typedefs and extra "Struct" in names
Readability improvements.
2012-07-07 10:36:37 -04:00
Stacey Sheldon
2a2eb47a2a uavobjectmanager: fixup indentation
No functional changes.
2012-07-07 10:36:37 -04:00
Corvus Corax
42041ef68c UavObjectmanager: Squeeze UAVObject instances closer together and eliminate unneeded id's and pointers - frees again >512 byte on next 2012-07-07 10:36:37 -04:00
Corvus Corax
da539b2b27 flight/UAVObjectManager: Represent Metadata as a property of each Object-type as opposed to separate UAVObjects - saves over 700 byte of RAM on next! 2012-07-07 10:36:37 -04:00
Stacey Sheldon
a7da3b14ba simposix: disable optimization for simposix build
Optimizing for size on simposix is meaningless, and
the code is easier to debug using gdb when optimization
is disabled.
2012-07-07 10:36:36 -04:00
Stacey Sheldon
22f4d30e27 gdb: add gdb setup file for simposix
The simposix target uses SIGUSR1 extensively as an
internal signal.  This setup file makes sure that
SIGUSR1 doesn't break into gdb every time it is used.
2012-07-07 10:36:36 -04:00
Stacey Sheldon
32373523d5 Merge remote-tracking branch 'origin/stac/simposix-warning-fixes' into next 2012-07-06 22:02:52 -04:00
James Cotton
58abe910d0 Merge remote-tracking branch 'origin/os/extended-flightmode-switch' into next 2012-07-04 11:52:38 +02:00
James Cotton
4afd9d110e Don't zero the PIDs when the settings are updated. Fixes some quirks from
using TxPID tuning.
2012-07-03 14:19:21 +02:00
Stacey Sheldon
1635c83df0 simposix: fix warnings 2012-07-01 23:22:55 -04:00
Brian Webb
54455d60df Read PPM outside of the output test. 2012-07-01 08:32:58 -07:00
Brian Webb
499e2ff989 Fixed PipX passthrough when connected via USB HID. 2012-06-30 18:27:15 -07:00
Brian Webb
3405bc3ebe Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-06-30 10:06:51 -07: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
Corvus Corax
4d06bdfc04 PiOS.posix: bugfix to POSIX pios_delay implementation 2012-06-29 15:06:50 +02:00
Corvus Corax
2540ee53dc Merge commit '80f53b185c67d475ead43df97c4a62bcc36d7d90' into gcsbitfields 2012-06-29 09:45:44 +02:00
a*morale
5a1efef3fe Merge branch 'amorale/fixoutputglitchonsave' into next 2012-06-26 01:09:18 +02:00
Oleg Semyonov
727e67d7fd Even more optimize FlightMode switch position calculation
This runs in a high frequency loop and should use as little of
floating point as possible. Thanks to Kenn for the idea.
2012-06-25 11:41:42 +03:00
Oleg Semyonov
2c896c9e91 Do not care about FlightMode channel if only one flight mode configured 2012-06-25 01:52:06 +03:00
Oleg Semyonov
02fa6fde09 Optimize FlightMode switch position calculation 2012-06-25 00:30:42 +03:00
Stacey Sheldon
154d971d4d flash: don't call vTaskDelay() before OS init
PIOS_Flash_Jedec_EraseChip is called during early
init when the table_magic has changed.  This call
happens on CC/CC3D prior to the OS being initialized
so it is not OK to call vTaskDelay() yet.

This was leading to boards locking up (no flashing blue
LED) immediately after jumping to the application when
the table_magic had changed or was being init'd for the
very first time.
2012-06-24 12:23:34 -04:00
a*morale
51678f24b4 Solve a bug that causes the motor spin on the first save for ActuatorSettings. 2012-06-24 14:06:51 +02:00
Brian Webb
43786c914d Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-06-23 15:01:53 -07:00
a*morale
688ae814fc Modifications to prevent glitches on servo output during save for ActuatorSettings
Refactored the updating of ChannelUpdateFreq so that it is done only when the actual update rates changes.
The actual update of the servo channel is moved inside the ActuatorTask.
Now the problem happen only in very few cases when modifying update rates.
2012-06-23 22:55:57 +02:00
Oleg Semyonov
cd6387d0a6 Add support for more than 3-pos FlightMode switches
It is now possible to have 1 to 6 flight mode switch positions
(usefull for guidance, position hold and similar use).

The input channel range is divided into N (1 to 6) zones and each
zone represents a flight mode. Default is 3 zones (backward compatible),
but more can be chosen.

How to use: configure Tx mixers in a way they provide required number
of different values for the same FlightMode channel. For instance,
using Turnigy 9X radio with ER9X firmware, one can create a mixer like
this:

     -100 MAX ID0   Manual
   R  -50 MAX ID1   Stabilized1 (Rate)
   R    0 MAX ID2   Stabilized2 (Attitude)
   R   50 MAX RUD   PositionHold
   R  100 MAX ELE   ReturnToBase

And set number of flight mode positions to 5. As a result, the 3-pos
switch (ID0, ID1, ID2) will provide first three flight modes, the rudder
D/R switch will override those and enable the 4th flight mode, and
elevator D/R switch will have highest precedence and activate the 5th
flight mode.

This will change the ManualControlSettings objectID.
2012-06-23 22:10:19 +03:00
Stacey Sheldon
384305d8ee makefile: add additional context to output when building all_* targets
When building the various all_* targets, it was hard to tell which
board/build-type that each line of output applied to.  Now, the
all_* target types will include something like:
 CC        [fw|cc  ]  flight/PiOS/STM32F10x/pios_gpio.c
which includes the necessary additional context.

This will help with identifying the context for warnings and errors
when building a group of targets.

Conflicts:

	Makefile
2012-06-20 23:38:21 -04:00
Brian Webb
005ba0f8c8 Added erase pipx settings to PipX firmware (no GCS support yet). 2012-06-16 19:19:23 -07:00
Brian Webb
33cae7645d Fixed calculation of retries on PipX. 2012-06-12 19:48:21 -07:00
James Cotton
93b77becc0 More the system task priority down and increase the timeout for erasing the
flash so it says completed.  However, it still blocks the system for a long
time.  During an erase the heartbeat will flash at 10 Hz to indicate what's
happening.

This still blocks telemetry even after lowering hte system priority (and there
is a vTaskDelay) which makes me think that the SPI bus being locked is blocking
Sensors or somethign else.  This should not be permited when the system is
armed.

The reason the system locks up during the erase is that the file system
operations occur within the event dispatcher thread.  It is very bad practice
for anything to block this (i.e. callbacks should never take very long).  We
should probably move the object persistence handling into the system thread or
something but that can be a separate issue.
2012-06-11 12:03:32 -05:00
James Cotton
7b8110a457 Merge branch 'MikeL' into next 2012-06-07 11:31:41 -05:00
Brian Webb
861bcc46fe Fixed RSSI reporting on PipX. 2012-06-06 21:14:31 -07:00
Brian Webb
e9d0909a68 Further improvements in link reliability on the PipX. 2012-06-06 17:44:56 -07:00
James Cotton
5e01617cbd Merge branch 'next' into MikeL
Conflicts:
	ground/openpilotgcs/src/plugins/config/airframe.ui
	ground/openpilotgcs/src/plugins/config/configoutputwidget.cpp
	ground/openpilotgcs/src/plugins/config/configoutputwidget.h
	ground/openpilotgcs/src/plugins/config/configvehicletypewidget.cpp
	ground/openpilotgcs/src/plugins/config/configvehicletypewidget.h
2012-06-06 11:58:06 -05:00
Brian Webb
5876df250d Improved lockups on dropped packets. 2012-06-05 21:10:32 -07:00
Brian Webb
0bc3c5061f Fixed PipX connection status reporting. 2012-06-05 19:34:19 -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
Brian Webb
25fe50e9b1 Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-06-04 18:26:05 -07:00
Mike LaBranche
0ba8345c51 Merge branch 'next' into MikeL
Conflicts:
	flight/Bootloaders/Revolution/inc/pios_config.h
	flight/Modules/OveroSync/inc/overosync.h
	flight/Modules/Sensors/inc/sensors.h
	flight/PiOS/Boards/STM32F4xx_Revolution.h
	flight/PiOS/STM32F4xx/pios_iap.c
	flight/Revolution/System/inc/pios_config.h
	ground/openpilotgcs/src/plugins/config/config.pro
	ground/openpilotgcs/src/plugins/config/configccattitudewidget.cpp
	ground/openpilotgcs/src/plugins/config/configvehicletypewidget.cpp
2012-06-04 16:59:31 -07:00
Mike LaBranche
bf591ebe45 Merge branch 'next' into MikeL
Conflicts:
	flight/Bootloaders/Revolution/inc/pios_config.h
	flight/Modules/OveroSync/inc/overosync.h
	flight/Modules/Sensors/inc/sensors.h
	flight/PiOS/Boards/STM32F4xx_Revolution.h
	flight/PiOS/STM32F4xx/pios_iap.c
	flight/Revolution/System/inc/pios_config.h
	ground/openpilotgcs/src/plugins/config/config.pro
	ground/openpilotgcs/src/plugins/config/configccattitudewidget.cpp
	ground/openpilotgcs/src/plugins/config/configvehicletypewidget.cpp
2012-06-04 15:38:57 -07:00
James Cotton
ff0a3a156e Merge remote-tracking branch 'origin/os/AeroSimRC' into next 2012-06-04 12:25:59 -05:00
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
Brian Webb
25ffb99cee Added initialization of flash eeprom for saving settings to PipX. 2012-04-28 19:29:56 -07:00
Brian Webb
1048eb7e2c Added pios_eeprom for saving settings. 2012-04-28 19:29:25 -07: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
fb6dedad2b Added UAVTalkProcessInputStreamQuiet function, which is a version of UAVTalkProcessInputStream that only processes (does not sens or receive). 2012-04-22 08:43:51 -07:00
Brian Webb
f726cc6a9d Added a RTC supervisor timer to RFM22B driver. 2012-04-21 18:31:49 -07:00
Brian Webb
5a2a3ad49b Fixed changes to UAVTalkProcessInputStream. 2012-04-21 16:54:35 -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
Laura Sebesta
6feb198437 Improved comment message, aimed at beginners. 2012-04-20 17:10:16 -04:00
Stacey Sheldon
b255e7caaa hid+vcp: Add Windows INF file for CDC on OpenPilot boards 2012-04-20 09:02:40 -04:00
Stacey Sheldon
41d4ba4b1a 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 will is known to not work on WinXP without service pack 3.
2012-04-20 08:39:04 -04:00
zedamota
4968df183a Working compliant VCP+HID descriptors for Windows. 2012-04-20 08:38:24 -04:00
Brian Webb
19166cc830 Added UPDATEMODE_THROTTLED to UAVObjects update modes. 2012-04-18 18:47:13 -07:00
Brian Webb
62c5036220 Added PipXStatus and PipXSetting UAVobjects and some initial support for them. 2012-04-17 17:36:05 -07:00
Brian Webb
78c7416bda Added returning of UAVTalk state from UAVTalkProcessInputStream 2012-04-16 20:21:00 -07:00
Stacey Sheldon
7f03a77492 bu: remove LED support from bootloader updaters
Bootloader updaters were all broken due to recent
changes in LED configuration handling.  Removing
LED support from the BU loads allows them to build
again, but they provide no feedback about when they're
finished writing flash.
2012-04-16 15:09:10 -04:00
Stacey Sheldon
62fb009acd gpio: stop enabling pull-ups on all GPIOs in bootloader
The bootloader has been enabling pull-ups on all GPIO
pins during early init.  These pull-ups are disabled
immediately before jumping to the firmware.  This transition
results in all servos seeing a wide pulse as the board
resets making them jerk sideways aggresively and then snap
back to neutral.
2012-04-16 14:41:25 -04:00
Stacey Sheldon
5ca4ec7934 ppm: adjust min frame pulse width for 8ch x 18ms frames
All channels at max when using the FrSKY 4ch D4FR in PPM
mode results in the frame pulse shrinking well below our
threshold of 3800us and we lose frame.

With all 8 channels at max, the frame pulse becomes
indistinguishable from the other channels.  Using all 8
channels with the FrSKY in PPM mode is NOT recommended
even after this change.

Recommend using at most 7 active channels in this mode so
we can still find the frame pulse.
2012-04-16 14:33:28 -04: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
Brian Webb
3914d22b09 Turned off watchdog timer, which was crashing on real PipX. 2012-04-07 19:56:12 -07:00
Brian Webb
e639d173a0 Create ID from a hashed CPU serial number. 2012-04-07 19:41:23 -07: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
Brian Webb
56a2006fd8 Reconfigured to run on the real PipX board. 2012-04-06 18:44:31 -07:00
Brian Webb
eeb96955f9 Fixed ADC configuration 2012-04-06 17:43:43 -07:00
Brian Webb
253de47967 Merge remote-tracking branch 'raid/Brian-PipXtreme-V2' into Brian-PipXtreme-V2 2012-04-06 17:37:31 -07:00
Brian Webb
bc1adb2519 Some cleanup of rfm22 driver. 2012-04-06 17:36:35 -07: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
e82323af32 Make revolution work with the FreeRTOS queue based MPU6000 driver 2012-04-03 03:41:52 -05:00
James Cotton
bb41bc1472 Add no for DIAG_TASKS to make file to make it easier not to miss. 2012-04-03 02:07:04 -05:00
James Cotton
d7cb232315 Add MPU6000 accel range to config structure. Also put in correct values. 2012-04-03 02:07:04 -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
3f22ef8c66 Slow MPU6000 on CC3D to 500 Hz 2012-04-03 02:07:04 -05:00
James Cotton
35854b35f6 MPU6000 accel value coming out twice as high as it should. Need to store scale
in cfg structure to fix this properly.
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
Stacey Sheldon
9b33be5d65 ef: pad any gaps between the BL bank and the FW bank
The Entire Flash (EF) image for revo has a gap between
the end of the BL bank and the start of the FW bank.
This fills the gap with 0xFF and properly aligns the
FW image in flash.
2012-04-01 22:39:27 -04:00
Brian Webb
df0a1c2ac1 Upgraded Brian-Metadata-Mods to current next. 2012-04-01 12:25:13 -07:00
Brian Webb
496a323b7f Fixed indentaion. 2012-03-31 07:59:44 -07:00
Stacey Sheldon
eab923fee0 revo: move fw image into 128KB sectors
This saves the more versatile 16KB and 64KB sectors
for other purposes.
2012-03-28 21:52:43 -04:00
Stacey Sheldon
f971fc14d5 openocd: update to latest git snapshot (f1c01333) 2012-03-27 00:53:27 -04:00
Stacey Sheldon
91cffb1809 f4 usb: don't skip yield from ISR
Function was returning prior to the code that might
need to yield from within the ISR.
2012-03-27 00:18:44 -04: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
Brian Webb
1669f00456 Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-03-24 15:21:16 -07:00
Brian Webb
23f6c8af73 Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2 2012-03-23 20:49:12 -07:00
Stacey Sheldon
730defb698 f4 flash: fix flash voltage range setting in bl_helper
F4 boards are powered by 3.3V which corresponds to
VoltageRange_3.  Fix this to match actual VDD so we
get faster erase/write times.
2012-03-22 22:37:31 -04:00
James Cotton
8059004755 Make sure if an event has a null handle and the queue is full we don't try and
query UAVObjID
2012-03-22 10:46:30 -05: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