Stacey Sheldon
a51bf72bc7
usb: allow runtime selection of USB descriptors via hwsettings
2012-01-14 14:28:15 -05:00
Stacey Sheldon
1d14ab00e1
safeboot: add safe boot support to OP and PIPX bootloaders
...
Application support for OP and PIPX will show up in future
commits.
2012-01-14 14:28:11 -05:00
Stacey Sheldon
2d27c54d48
com_msg: Create new message based COM layer for bootloaders
...
The main purpose of this new COM implementation is that it is
much simpler, and requires less code space. This takes a bit
of the pressure off of the CC bootloader which was right at
the limit of available code space in the bootloader partition.
This is not intended to ever be used by the application.
This driver also formalizes the assumptions in the bootloader's
usage of the COM layer. All messages are assumed to arrive
in atomic chunks from the HID layer.
2012-01-14 14:23:18 -05:00
James Cotton
147cd7eede
Fix correct library.mk file
2012-01-08 09:27:32 +01:00
James Cotton
8b42fbeafc
Revert "Fix case in library.mk to stop Brian bitching :)"
...
This reverts commit d39e818ca6
.
2012-01-08 09:27:13 +01:00
James Cotton
d39e818ca6
Fix case in library.mk to stop Brian bitching :)
2012-01-08 09:10:56 +01:00
James Cotton
ebbe1bd497
Some beginning work on the l3gd20 driver
2012-01-08 09:07:07 +01:00
Stacey Sheldon
b0d1551cc2
Merge remote-tracking branch 'origin/stac/usb-composite-device-v2' into next
2012-01-07 13:35:42 -05:00
Stacey Sheldon
a86abcd140
usb cdc: fix index of first interface in IAD
...
This error resulted in the HID interface being non
functional on windows platforms.
2012-01-07 09:46:12 -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
e1c21462b0
Delete another unused file
2012-01-04 19:47:06 -06:00
James Cotton
d5eb38a065
Remove references to deprecated targets
2012-01-04 19:42:45 -06:00
James Cotton
cce351bb9a
Delete references to unused objects
2012-01-04 19:37:38 -06:00
James Cotton
0da6109871
Update the F4 copyright headers to 2012
2012-01-04 19:29:29 -06:00
Stacey Sheldon
3bc45b0036
usb cdc: use proper macro for CDC mgmt endpoint packet size
...
The hard-coded value (16) in the descriptor differed from the
macro (32) which was used to configure the low-level USB HW
block in the STM32.
2012-01-04 00:38:19 -05: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
e22bc0c51b
copyright: remove incorrect attribution in boilerplate text
...
These files do not contain content from the ID in the header.
This name seems to have been cut/pasted all over throughout
the openpilot source tree and should be removed from any files
that should not rightfully be attributed to this person.
2012-01-02 23:33:07 -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
4d2760f11d
cc bl: allow bootloader to force safe-boot into firmware
...
This can be used by the GCS firmware uploader widget to boot
the firmware with a (temporarily) defaulted hwsettings uavo
so that a user can easily recover from a bad/incompatible
hwsettings configuration without wiping all settings.
This uses the same mechanism that the BootFault auto-recovery
code already uses in the CC firmware. The auto-recovery is
triggered by setting the failed-boot counter to a maximum
value forcing recovery on the next FW init.
2012-01-02 14:27:06 -05:00
Stacey Sheldon
481a13609e
com: remove all references to PIOS_COM_ReceiveBufferUsed()
...
The PIOS_COM_ReceiveBufferUsed() function call is no longer
necessary since the same semantics can be achieved using calls
to PIOS_COM_ReceiveBuffer().
2012-01-02 14:27:06 -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
Stacey Sheldon
7f03195aba
stm32 usb: allow descriptor data to be const through API
...
This allows a few more data structures to be const 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
075eb65603
bootfault: fail initialization if no telemetry link is configured
...
This detects a locked out state and fails the init. The new
bootfault detection code will automatically drop to default
hwsettings after 3 consecutive boot failures. That will put
the board back into an unlocked state where the user can now
enable a telemetry link using the GCS and everything will be
OK.
NOTE: Any configured telemetry link will be considered enough
to boot up. If you only configure a serial telemetry
link but don't know how to hook anything up to it, this
will not save you.
As the ultimate recovery, you can always load firmware on the
board that wipes the settings entirely and start over.
2011-12-31 13:08:30 -05:00
Stacey Sheldon
6c192f67ee
gasp: delete clutter
2011-12-31 13:03:49 -05:00
Stacey Sheldon
e7053c77f0
usb config: remove unused macro for number of endpoints
...
This is no longer referenced and is confusing.
2011-12-31 13:02:43 -05: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
f4f0dab764
fixup make combridge an optional module
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
b91f40eb94
iap: extend API to support read/write of boot counter
...
Also clean up unused/obsolete definitions.
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
45615b5812
com: reduce buffer sizes on com interfaces on CC
...
Now that the COM layer fragments to the underlying
buffer sizes, the COM layer buffers can shrink below
single message sizes.
2011-12-30 23:05:38 -05:00
Stacey Sheldon
2cf1fe93c6
com: don't block forever waiting for a transmitter
...
Not all transmitters will continue to run when disconnected.
USB is one example of this. When the USB cable was disconnected,
any transmitter blocked here would wait forever.
This was particularly noticeable when the telemetry Tx task
blocked forever on USB disconnect. This also resulted in
the telemetry Rx task blocking forever waiting on the UAVTalk
connection lock.
We now block for a max of 5s waiting for space in the transmit
buffer.
2011-12-30 23:05:37 -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
Stacey Sheldon
56c4ff8f40
com-bridge: add support for bridging to flexiport
2011-12-30 23:05:37 -05:00
Stacey Sheldon
60969b57d8
usb-hid: split apart hwsettings for HID and VCP ports
...
This allows the HID and VCP functions to be configured
separately so that additional functions can be more easily
bound to the VCP port.
This change also provides a safety net that forces either
the HID or VCP to be configured for USB Telemetry. This
safety net may vanish in the future once the GCS can check
it. Disabling USB Telemetry entirely would save more than
400 bytes of RAM.
2011-12-30 23:05:37 -05:00
Stacey Sheldon
ab135aa00b
com-bridge: Make com-bridge an optional (and configurable) module
2011-12-30 23:05:36 -05:00
Stacey Sheldon
5b3227d1ff
com: reduce buffer sizes for com layer
...
This saves a few hundred bytes of RAM in a typical
configuration.
2011-12-30 23:05:36 -05:00
Stacey Sheldon
785a7ccd88
uavtalk: convert tx to use blocking send routines
...
The uavtalk layer was previously implementing a poor
version of packet fragmentation based on a hard-coded
max packet size. Since this was hard-coded, there was
no guarantee that it would match the underlying devices.
Now that the COM layer sending routines support fragmentation,
remove fragmentation and use the COM layer directly.
This will support future buffer size reductions in the COM
layer.
2011-12-30 23:05:36 -05:00
Stacey Sheldon
16619584e4
usb cdc: return valid data in response to SetLineCoding
2011-12-30 23:05:36 -05:00
Stacey Sheldon
a68f5a4fc9
com-bridge: detect lost characters on transmit
2011-12-30 23:05:36 -05:00
Stacey Sheldon
80e0be3cec
com: fragment transmitted buffers to match underlying device
...
PIOS_COM_SendBufferNonBlocking() will now fragment its buffer
to match the max size of the underlying device.
This allows the buffer size of the underlying device to shrink
below the maximum message size, thus allowing us to use smaller
buffers on memory-constrained platforms.
2011-12-30 23:05:36 -05:00
Stacey Sheldon
407bec0c95
usb cdc: track oversized rx buffers
2011-12-30 23:05:35 -05:00
Stacey Sheldon
b858cf387e
com: track dropped bytes on rx for usart and usb com
2011-12-30 23:05:35 -05:00
Stacey Sheldon
2040645171
com: Use all bytes in Tx buffer
...
Code would previously fail Tx if we happen to send data
that happened to be exactly the size of the available space
in the tx buffer.
2011-12-30 23:05:35 -05:00
Stacey Sheldon
34af9ac92d
usb_com: NAK rather than STALL on buffer full
...
STALL should only be used to indicate an error has occurred.
NAK is the correct mechanism to provide backpressure.
2011-12-30 23:05:35 -05:00
Stacey Sheldon
e2bb7140fe
usb cdc: allow use of entire rx buffer
...
Previously, the code only allowed n-1 bytes of the
available space to be used.
2011-12-30 23:05:35 -05:00
Stacey Sheldon
86aead52ce
usb cdc: only pass valid bytes from USB rx up to com layer
...
Previously, up to 63 random bytes would be passed to the COM
layer and would be delivered to the application as though
the far end had sent them.
2011-12-30 23:05:35 -05:00
Stacey Sheldon
f54c0552ce
com: make sure we know when a higher prio task is woken
2011-12-30 23:05:34 -05:00
Stacey Sheldon
202b1bd428
com: Always kick rx_start if we got zero bytes
...
This will ensure that we kick rx_start at least once every
time that a user tries to receive bytes from the underlying
device.
2011-12-30 23:05:34 -05:00
Stacey Sheldon
64f498e48a
com-bridge: add usart to usb vcp bridge
2011-12-30 23:05:34 -05:00
Stacey Sheldon
504cf3417f
init: collapse usart definitions for generic usage
...
Telemetry and GPS usarts are generic users of the uart
devices. This collapses the duplicated usart configuration
structs into a single generic one.
2011-12-30 23:05:34 -05:00
Stacey Sheldon
eebdda6276
usb cdc: make HID/CDC configurable in hwsettings
2011-12-30 23:05:34 -05:00
Stacey Sheldon
e6ead85857
usb cdc: fix device descriptor to work on Mac
...
Apple is very particular about requiring the bDeviceClass
to be set to 2 (Commmunication Device) even for composite
devices which seems wrong.
Device is enumerated without error on Mac now. Not sure if it
works though.
2011-12-30 23:05:34 -05:00
Stacey Sheldon
617a30c07c
usb cdc: attach telemetry to CDC rather than HID
2011-12-30 23:05:34 -05:00
Stacey Sheldon
59cb489e01
usb: clean up pios hooks into stm32 usb_core
...
Reduced scope of many variables since they were being
exposed unnecessarily.
Renamed pios_usb_hid_prop code to pios_usbhook to reflect
the fact that it implements all of the callout functions
that are hooked into the stm32 usb library.
2011-12-30 23:05:33 -05:00
Stacey Sheldon
c0259dc616
usb cdc: USB composite device with HID + VCP
2011-12-30 23:05:33 -05:00
James Cotton
25dfb5463e
Add option to switch to using the MPU6000 accel instead of BMA180. Disabled by
...
default.
2011-12-29 02:08:13 -06:00
James Cotton
c080080810
Add ability to change the SPI bus runs at
2011-12-29 00:09:53 -06:00
James Cotton
bf98630851
Add streaming the sensor data out of the serial port
2011-12-26 17:52:45 -06:00
James Cotton
9bf06bbd3e
Force the loading of the sensor gains and biases at the beginning
2011-12-24 16:14:28 -06:00
James Cotton
1092ac3184
Use the scale and bias terms for hte mag and accel
2011-12-24 15:58:12 -06:00
James Cotton
05da41a79b
Get FirmwareIAP object working on revo
2011-12-24 13:15:56 -06:00
James Cotton
569b201b58
Move the bl_helper out of the common directory as it isn't
2011-12-24 13:10:23 -06:00
James Cotton
5d4da2213f
Accidentally used floating point when parsing NEMA. Lost resolution on
...
position.
2011-12-24 10:37:30 -06:00
Oleg Semyonov
7fbbb0e6af
Merge remote branch 'origin/next' into os/TxPID-module
2011-12-24 15:44:16 +02:00
Oleg Semyonov
495a8f2836
TxPID: initialize the AccessoryDesired object before use its handle
...
Also save few bytes of static RAM and add PIOS_Assert(0) for unhandled cases.
2011-12-24 15:37:14 +02:00
James Cotton
0b00e748a9
OP-565: Added the ability to do a trim flight to compute the accels for level flight
2011-12-21 15:25:00 -06:00
James Cotton
dd89d232ba
Add a magnetometer bias term although currently hardcoded to my board
2011-12-15 00:57:19 -06:00
James Cotton
0432dd450e
Enable the mag to be used in the complimentary filter to stabilize the yaw
...
direction
2011-12-15 00:56:50 -06:00
James Cotton
2240ad924a
Fix the orientation of the magnetometer
2011-12-15 00:46:43 -06:00
James Cotton
43ed6cd89c
Need to initialize the HomeLocation object
2011-12-14 14:08:03 -06:00
James Cotton
9148bb2c65
Make sure the sensors module grabs the sesor biases initially.
2011-12-14 10:38:43 -06:00
James Cotton
6dbad243db
Convert the CoordinateConversion functions to all be float until I determine
...
how to use doubles safely on F4.
2011-12-14 02:08:14 -06:00
James Cotton
09864a8cf6
Get outdoor EKF running although need to add in the ability to swap modes
...
(probably).
2011-12-14 02:07:33 -06:00
James Cotton
fd8899018f
Get EKF running
2011-12-14 01:54:06 -06:00
James Cotton
ed7cbd5a6c
Have to initialize the BaroAltitude object ini the init section for it to show
...
up on telemetry
2011-12-13 23:27:26 -06:00
James Cotton
9f50391fc5
Merge branch 'next' into revolution_sensors
...
Conflicts:
ground/openpilotgcs/src/plugins/coreplugin/OpenPilotGCS.xml
2011-12-13 20:50:10 -06:00
James Cotton
a37a17a4fb
Created a separate Sensor module and Attitude module for revolution
2011-12-12 21:40:39 -06:00
James Cotton
53cb5b67d1
Make the revo attitude now use the separate gyro object. CopterControl
...
attitude still needs an update.
2011-12-12 13:28:35 -06:00
James Cotton
d22e0e66dd
Create separate UAVOs for the sensors.
2011-12-12 13:05:40 -06:00
James Cotton
7273f87f9b
Fix NMEA parsing for M4 FPU
2011-12-12 09:47:11 -06:00
James Cotton
a9c61845af
Create a separate task for sensors and attitude on revo.
2011-12-12 00:47:16 -06:00
James Cotton
33a12d829e
Merge branch 'next' into revolution
...
Conflicts:
flight/PiOS/Common/pios_flashfs_objlist.c
2011-12-11 22:55:54 -06:00
Oleg Semyonov
10287e3e29
CC: rename ReceiverPort PPM+Servo (Servo) options to PPM+Outputs (Outputs)
2011-12-11 22:52:51 +02:00
James Cotton
162b0d7f75
Because the UAVO field sorting required for revo changes all the object IDs,
...
trigger a flash wipe on all existing boards with this upgrade.
2011-12-10 14:13:28 -06:00
Corvus Corax
a0cd71abe6
UAVObjects ; Modules/ManualControl: Fixed metadata interface and segfault when retrieving it
2011-11-30 09:20:46 +01:00
James Cotton
44ca9736df
Fix floating point calculation in NMEA parser and delete duplicate of NMEA
...
functions
2011-11-28 09:36:31 -06:00
James Cotton
43fa9e702e
Move DSM to Flexiport and enable GPS on GPS port. Currently GPS module locks
...
up though.
2011-11-28 09:11:13 -06:00
James Cotton
c33816dd79
Force mode switch to be floating point so F4 works
2011-11-28 09:10:26 -06:00
James Cotton
671c7537a0
Reorganize the pios_config.c file for revolution
2011-11-28 08:29:14 -06:00
James Cotton
1af66fc3d2
Get rid of 500 ms delay in startup for the pios_sys so that servos start
...
properly but a delay is still needs to get MPU6000 up right. Fucking POS.
2011-11-27 18:05:20 -06:00
James Cotton
9357960268
Get rid of old bootloader code for revolution using the ahrs spi link
2011-11-27 18:04:31 -06:00
James Cotton
f7f94011ee
Damnit. For higher bus speeds MPU6000 chip must be initialized twice in a row.
...
WTF piece of shit.
2011-11-27 02:35:08 -06:00
James Cotton
deea7cde41
Speed up coms to MPU6000
2011-11-27 01:51:43 -06:00
James Cotton
57e7126979
Increase stack size for manualcontrol. This might need to be applied to main
...
code.
2011-11-27 01:51:23 -06:00
James Cotton
f7d13ebd57
Hack to tweak the gyro gain for now although its too far out at the moment so
...
something isn't configured properly. Possibly it is staying in 250 deg/s mode.
Also make sure if the MPU6000 fifo backs up to pull extra data.
2011-11-27 01:22:37 -06:00
James Cotton
8bbc767a4e
Get the pressure sensor working and reading into Revolution
2011-11-27 00:52:09 -06:00
James Cotton
cd65df013e
Merge branch 'next' into revolution
...
Conflicts:
flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
2011-11-26 22:52:32 -06:00
James Cotton
13729f854e
PiOS F4: Fix PWM timer interrupts and enable PWM input
2011-11-26 22:41:41 -06:00
James Cotton
21367d3a22
Spektrum support for Revolution
2011-11-26 22:19:42 -06:00
James Cotton
e24c905ff7
F4 PiOS: Reimplement the RTC logic for F4
2011-11-26 22:13:57 -06:00
James Cotton
b11a4f7405
Clean up the actuator module for floating point usage. Also there was a bug I
...
don't understand where the channels should be scaled AFTER all of them are
computed. It feels like a memory overwriting bug and needs followup.
2011-11-26 16:12:32 -06:00
James Cotton
07e3ad10af
Force some floating point units to be safe
2011-11-26 15:52:25 -06:00
James Cotton
04f4afce46
Set idle load for revo
2011-11-26 15:52:04 -06:00
James Cotton
8c0db424fa
Fix long subtle bug where failsafe didn't show the output values it was using
2011-11-26 15:51:24 -06:00
James Cotton
c70a9a5381
Sanitize the floating point math in systemmod.c to be consistently floating and
...
not double
2011-11-26 15:16:16 -06:00
Oleg Semyonov
1f60f80053
Bring back the ERASE_FLASH option support for SettingsEraseFirmware
2011-11-26 22:57:33 +02:00
James Cotton
d3314f041a
MPU6000: Bring SPI down to 5 Mhz - much closer to spec
2011-11-26 14:56:28 -06:00
James Cotton
99123372d0
TO BE REVERTED: Temporary patch to make the w25x driver work with the revo m25p
...
chip. Need to abstract out the erase commands into a general pios_spi_flash
driver.
2011-11-26 14:55:16 -06:00
James Cotton
8b7aca0dcd
Include the accel bias into revolution attitude function and also make sure
...
downsampling is correct.
2011-11-26 14:40:32 -06:00
James Cotton
11ad135b27
Some changes to MPU6000 driver to make it start more reliably on fresh powerup
2011-11-26 14:12:12 -06:00
James Cotton
1574c96c3a
Add all the pin remappings and pin sources for F4 timers
2011-11-26 03:36:36 -06:00
James Cotton
c57acf6459
F4 PiOS: Must use a different remap command on F4 for timer module to command
...
pin. Include the remap source in the config structure now.
2011-11-26 03:35:26 -06:00
James Cotton
57b381235e
Init the timers and PWM in the board file
2011-11-26 02:19:56 -06:00
James Cotton
de9a8453ef
Configure the board to use PWM input and servo output
2011-11-26 02:19:56 -06:00
James Cotton
3e01c84a15
Add pin mappings for PWM and receiver port
2011-11-26 02:19:56 -06:00
James Cotton
e71030c6ce
Remove testing code for pressure sensor
2011-11-26 02:19:56 -06:00
James Cotton
c118159a6f
Remove refence to deleted object
2011-11-26 02:19:55 -06:00
James Cotton
fae611a01f
Fix bug where clicking back at last screen of input wizard would go back to
...
main screen and then in future buttons hung around for no reason
2011-11-25 11:30:12 -06:00
Oleg Semyonov
6d78b97d92
dsm: update DSM protocol binding details in the comments (no code change)
2011-11-19 17:33:04 +02:00
James Cotton
7637e9f669
Get flash chip working and saving to memory. Also get the I2C working with
...
BMA180 driver.
2011-11-19 00:13:02 -06:00
James Cotton
da75e9fdaf
PiOS: Make I2C return an error code for NACK
2011-11-19 00:11:16 -06:00
James Cotton
a7ef5601e0
Update the MPU6000 FIFO code and also fix the temperature code
2011-11-18 00:24:55 -06:00
James Cotton
6d74e96c31
Got attitude working again. MPU6000 FIFO reading needs a bit of work.
2011-11-18 00:00:55 -06:00
James Cotton
79730d5afa
Try and get the MPU6000 buffer to run down. Staying high for some reason.
2011-11-17 11:23:31 -06:00
James Cotton
0efffef1fa
Work on bringing the Revolution board up
2011-11-17 10:13:34 -06:00
James Cotton
d97e5dbc59
Add SPI MPU6000 driver. Unfortunate hack in HMC5883 EXTI handler to call
...
MPU6000. Need to generalize EXTI ASAP.
2011-11-17 10:12:10 -06:00
James Cotton
8477c2229b
Using real prototype board now. Move telemetry to GPS port for easy-ness right
...
now.
2011-11-17 01:58:51 -06:00
James Cotton
1c7c85635d
Typo with renamed PI
2011-11-16 19:48:13 -06:00
James Cotton
1deb799b6f
Get simple attitude estimation working on F4 INS. Also make MPU6050 return
...
scaling that casts to degrees.
2011-11-16 11:36:04 -06:00
James Cotton
8e79f86716
Make the CoordinateConversions use a floating point PI
2011-11-16 11:35:52 -06:00
James Cotton
aa698f7b0a
Increase the CC IRQ stack to avoid some memory warnings
2011-11-16 09:20:30 -06:00
James Cotton
aeb42332d6
Get the MPU6050 fifo running and read by the attitude module
2011-11-14 11:23:14 -06:00
James Cotton
59507249e1
Hack in attitude to read directly from gyros instead of fifo. All sensors
...
reading now.
2011-11-14 11:12:10 -06:00
James Cotton
1086df5b21
Correctly configure MPU6050 interrupt. However currently not pushing data to
...
the buffer as that seems to fail.
2011-11-14 11:11:40 -06:00
James Cotton
2cc2e55248
Add attitude solution for revo
2011-11-14 10:49:37 -06:00
James Cotton
4c04d01be4
Dos2unix pios_config.h for revo
2011-11-14 10:25:57 -06:00
James Cotton
e32cc92002
For now act like revo is using init call system to fix compile errors.
2011-11-14 10:25:28 -06:00
James Cotton
da679441ec
Duplicate the spektrum (dsm) driver to F4 branch
2011-11-14 10:12:51 -06:00
James Cotton
684715930a
Merge branch 'next' into revolution
...
Conflicts:
flight/OpenPilot/Makefile
flight/Revolution/System/inc/openpilot.h
2011-11-14 10:11:53 -06:00
James Cotton
180d84e373
Update the MPU6050 code a bit more to use the right registers.
2011-11-14 10:09:49 -06:00
James Cotton
2eb89e9b81
No reason for the data read flag in pios_bmp085.c to be a semaphore
2011-11-14 10:07:19 -06:00
James Cotton
76a956416c
Switch revo over to MPU6050
2011-11-13 19:45:06 -06:00
James Cotton
96a098bf74
Add code for MPU6050 driver
2011-11-13 19:44:56 -06:00
James Cotton
1e2fe77e3f
Start migrating the attitude solution to FreeRTOS
2011-11-13 18:51:35 -06:00
James Cotton
0c103f7b2c
Delete F2 PiOS port since unused
2011-11-13 17:33:43 -06:00
James Cotton
fffb6449ac
Delete the old INS target
2011-11-13 17:31:34 -06:00
James Cotton
c44235494c
Update the Revolution board file a bit
2011-11-13 17:23:56 -06:00
James Cotton
938a577d11
Small change to pios_adc so it works when not enabled
2011-11-13 17:14:08 -06:00
James Cotton
ec84fc4058
Get the Revolution bootloader working
2011-11-13 17:13:42 -06:00
James Cotton
2b37d4bbb5
Enable telemetry on revo
2011-11-13 16:10:19 -06:00
Oleg Semyonov
4a99ec3298
code style: move variable into function and free 1 byte of RAM :-)
...
component free heap used
----------------------------
Nothing 2560 -
PWM 2432 128
PPM 2408 152
DSM 2464 96
S.Bus 2448 112
GPS (port only) 2368 192
GPS (port+module) 1312 1248
CameraStab 2096 464
Telemetry 1928 632
2011-11-13 18:27:52 +02:00
Oleg Semyonov
de6e450b5f
Merge branch 'next' into os/TxPID-module
...
Conflicts:
flight/CopterControl/Makefile
flight/CopterControl/System/coptercontrol.c
ground/uavobjgenerator/generators/generator_common.h
shared/uavobjectdefinition/hwsettings.xml
component free heap used
----------------------------
Nothing 2544 -
PWM 2416 128
PPM 2392 152
DSM 2448 96
S.Bus 2432 112
GPS (port only) 2352 192
GPS (port+module) 1296 1248
CameraStab 2080 464
Telemetry 1912 632
TxPID 2272 272
2011-11-13 16:25:58 +02:00
James Cotton
b110e9c549
Style suggestions to cleanup GPS from Stac
2011-11-12 21:31:01 -06:00
James Cotton
f0b22519be
Merge remote-tracking branch 'origin/corvuscorax/CC_GPS' into next
2011-11-12 21:30:53 -06:00
James Cotton
fdcc6c2d41
Fix a bug I made in programming the bootloaders via jtag
2011-11-12 21:29:46 -06:00
Corvus Corax
198c819943
some more makefile cleanup
2011-11-11 11:54:31 +01:00
Corvus Corax
cd473ed1fd
some makefile cleanup
2011-11-11 11:51:45 +01:00
Corvus Corax
aa69027cb2
Merge branch 'next' into CC_GPS
2011-11-11 11:44:11 +01:00
Corvus Corax
61ecc0d310
make optional modules check themselves if they should start or not
2011-11-11 11:39:57 +01:00
Corvus Corax
e03e3c2ed8
removed "special code" to start optional modules
2011-11-11 11:22:54 +01:00
Corvus Corax
5e14e69a08
Revert "OpenPilot: Initialize optional modules based on UAVObject"
...
This reverts commit 9f03ba178b
.
2011-11-11 11:08:49 +01:00
Corvus Corax
9679638244
Revert "Modules/GPS: removed comment line"
...
This reverts commit 109a58ef30
.
2011-11-11 11:07:02 +01:00
Corvus Corax
88f161dd42
Revert "Makefiles: fixed comment line"
...
This reverts commit 0065842de7
.
2011-11-11 11:06:32 +01:00
Oleg Semyonov
8f77d07119
System Module: fix stupid out of memory detection bug
2011-11-07 19:14:55 +02:00
Oleg Semyonov
f5e82b8242
spektrum: rename Spektrum to DSM (DSM2/DSMJ/DSMX used by Spektrum and JR radios)
...
No code changes, just file, variable and define names are changed.
First, it better describes the serial protocol used by DSMx satellite
receivers. Second, many people using Spektrum radio, assume Spektrum
protocol. This is the attempt to address those inaccuracies.
2011-11-04 21:40:34 +02:00
Oleg Semyonov
8ed23c76b7
spektrum: fix OpenPilot MB target (deprecated) after spektrum changes
2011-11-04 20:43:49 +02:00
James Cotton
c0f16d2f44
Revolution: Configure clocks correctly
2011-11-03 20:12:34 -05:00
James Cotton
a2015a4f8d
Compiled and flashing
2011-11-02 13:20:39 -05:00
James Cotton
0ce80e02f5
Compiles now
2011-11-02 02:51:20 -05:00
Oleg Semyonov
481bff2578
spektrum: code style fixes accoring to OPReview-122
2011-11-01 18:48:07 +02:00
James Cotton
0931a518d4
Bring F4 PiOS up to date with some of our timer conventions
2011-11-01 04:39:51 -05:00
James Cotton
48d2e038bb
More work to the revolution build
2011-11-01 04:39:20 -05:00
James Cotton
4d6f810984
Make ADC driver play properly when not included
2011-11-01 03:22:48 -05:00
James Cotton
7eee6bf85b
Create revolution board file
2011-11-01 03:22:19 -05:00
James Cotton
7ee4a0412c
Work on the build process and include FreeRTOS
2011-11-01 03:20:25 -05:00
James Cotton
9607da9c62
Add some drivers to the device specific library for now until the exti problems
...
are fixed
2011-11-01 03:19:58 -05:00
James Cotton
2cc0b301ce
Make some of the StdPeriph function calls const where appropriate
2011-11-01 03:18:59 -05:00
James Cotton
cdb6059752
Coyp over some of how the PH build system works
2011-11-01 01:36:52 -05:00
James Cotton
9bdd021b2e
Make new Revolution target
2011-11-01 01:17:59 -05:00
James Cotton
3388843fb5
Merge in PixHawk F4 work
2011-11-01 01:09:55 -05:00
Oleg Semyonov
a8b36ddd28
HwSettings: disable GPS and telemetry port speed updates at run-time
...
This is to be consistent across the HwSettings object fields which are
read on boot only by convention.
2011-10-31 23:04:17 +02:00
Oleg Semyonov
0116e6a007
spektrum: rework DSM2/DSMJ/DSMX driver for explicit DSMX resolution support
...
- both CC serial ports are now disabled by default (no telemetry);
- serial ports now have DSM2, DSMX (10bit) and DSMX (11bit) options;
- ReceiverGroups now have DSM (MainPort) and DSM (FlexiPort) options.
For DSM2 protocol there is an explicit resolution bit in the stream, so
the DSM2 should be selected. For DSMX there is no such bit, and user
should choose the resolution from the list configuring the spektrum port.
ReceiverGroups have single DSM option which is handled by the same driver.
Downside: this implementation saves received frame first, unrolls by the
end of frame. This should be ok, but may be improved by unrolling channels
on the fly in the rx callback.
Another minor difference is that a ChannelGroup is now bound to port:
DSM (MainPort) or DSM (FlexiPort). This was considered as acceptable
solution in order to not have 6 DSM options for each ChannelGroup and
even more in case of new DSM protocol variations.
Known problem: it is not possible to choose same protocols like
DSM2/DSM2 for two ports. It can be enabled by adding an exception to
common rule, though.
The DSMX throttle channel misbehavior (zero value) is not treated
specially yet. It should trigger the failsafe being out of bounds.
More info and data dumps are required to handle this properly.
2011-10-30 19:29:03 +02:00
James Cotton
f019412209
Various tweaks to get the F4 working
2011-10-26 21:56:00 -05:00
James Cotton
d786c152e3
Merge F4 files from PixHawk branch
2011-10-26 18:23:35 -05:00
James Cotton
0f8ae1e076
Merge branch 'next' into ins
...
Conflicts:
flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
2011-10-26 13:18:44 -05:00
Oleg Semyonov
a19bbba858
Merge branch 'next' into os/alternative_spektrum_driver
2011-10-25 11:55:05 +03:00
James Cotton
27bf2b383e
Merge remote-tracking branch 'origin/james/remap_outputs' into next
2011-10-23 18:35:25 -05:00
Oleg Semyonov
4ed23dd891
Output Remapping: renamed PPM_SERVO option to PPM+Servo
2011-10-24 00:34:01 +03:00
James Cotton
23150a48fe
Merge remote-tracking branch 'origin/os/sbus_dynamic_malloc' into next
2011-10-23 15:26:26 -05:00
James Cotton
24d6ae731b
Output Remapping: Added option to just use servo outputs on input lines but not
...
PPM. This saves resources. Good suggestion Os. In this configuration we
could allow 12 channels of output but for now I'll leave it capped at 10 to
lessen resources on the mixer table.
With spektrum and camera stab enabled there was
1632 bytes heap remaining
180 bytes irq stack remaining
2011-10-23 15:21:40 -05:00
Oleg Semyonov
2a98a52f4c
gps: include optional GPS module by default
2011-10-23 00:41:18 +03:00
Oleg Semyonov
6a9208e8c3
Merge branch 'next' into os/TxPID-module
2011-10-22 23:34:58 +03:00
Oleg Semyonov
f71361ca83
Merge branch 'next' into os/GPS-on-CopterControl_next_v2
...
Conflicts:
flight/Modules/System/systemmod.c
2011-10-22 23:00:47 +03:00
Oleg Semyonov
58d0812309
sbus: better frame syncronization, some cosmetic changes
...
In the previous version the decoder could in rare cases get synced from
the middle of data stream in case of data byte equal to the S.Bus start
of frame (SOF) byte (wrong data will be rejected but it was not perfect).
Now it waits for the real start of frame and then checks the SOF byte.
2011-10-22 00:44:09 +03:00
Oleg Semyonov
62bca651d5
spektrum: alternative DSMx (DSM2/DSMJ/DSMX) driver
...
- does not glitch when used in 2-frame mode (DM9, 9503, etc)
- does NOT provides yet DSMX stream decoding - do NOT merge
- uses a bit more time in the interrupt, but frees 16 bytes of RAM.
This is done to help decoding the weird DSMX stream which does not
contain explicit resolution/frame/lost frames info and needs special
processing (to be done yet).
2011-10-21 23:35:17 +03:00
Corvus Corax
167010e8a0
UAVTalk: Fixed bug in parser failing to handle length of multi-instanceobjects
...
UAVTalk (on GCS): Fixed a null pointer dereference when receiving in a NACK
2011-10-21 02:04:29 +02:00
Oleg Semyonov
92b81e3f88
sbus: refactor the code using unified PIOS RCVR driver structure
...
- allow more than one S.Bus receiver (needs hardware support)
- use dynamic memory allocation (frees around 72 bytes of RAM when unused)
2011-10-20 18:23:23 +03:00
James Cotton
e0cc289de0
Remapping inputs to outputs: Drop S2 so there are ten outputs
...
Output 7 = S3 input
Output 8 = S4 input
Output 9 = S5 input
Output 10 = S6 input
Also fix bug that prevented them outputting signal
2011-10-20 06:28:07 -05:00
Corvus Corax
cb8d9c791c
PiOS.posix: fixed missing defines in pios_config. removed platform specific inclde from Systemmod (pios_config.h gets included from pios.h)
2011-10-19 22:28:39 +02:00
Corvus Corax
b00751af91
Systemmod bugfix: UAVObject used without Initialization
2011-10-19 22:28:08 +02:00
Corvus Corax
e244581b18
PiOS.posix: bugfix in pios_udp com driver - data send loop
2011-10-19 13:37:35 +02:00
James Cotton
9312610f3b
Output: Enable two more channels to support octo + camera
2011-10-15 16:59:42 -05:00
James Cotton
ce7f424131
CC: When receiver port is set to PPM_SERVO use the spare pins as outputs
2011-10-15 16:59:42 -05:00
James Cotton
19c9528d80
CopterControl: Create structures to supply more output channels
2011-10-15 16:59:42 -05:00
Corvus Corax
425bc5abbe
PiOS.posix: PIOS_RCVR : fix posix port of pios_rcvr to allow compilation on 64bit systems
2011-10-11 18:07:04 +02:00
James Cotton
9cbb48417a
Merge branch 'long_erase_settings' into next
2011-10-08 14:18:56 -05:00
James Cotton
0f1a6264de
Fix jtag programming of bootloader
2011-10-08 14:14:11 -05:00
James Cotton
5dc0f397a6
OP-499 Erase settings bug: Make hte flash chip read a wrong value for 1 second
...
before wiping settings.
2011-10-07 14:08:56 -05:00
Oleg Semyonov
7800fbe6de
gps: initialize GPS UAVO and start GPS module only if port is configured
2011-09-29 00:41:51 +03:00
Oleg Semyonov
469feecb13
pios: remove some unused #defines
2011-09-28 23:40:12 +03:00
Oleg Semyonov
ed8cf89888
Initcall: fix compilation errors for firmware which does not use Initcalls
2011-09-28 22:57:18 +03:00
Oleg Semyonov
a38c569cd0
HwSettings: move Telemetry and add GPS port speed to the HwSettings object
...
TelemetrySettings object removed (saved 200+ bytes of RAM). Telemetry
port speed moved to the HwSettings object. Added GPS port speed setting.
GCS code updated to reflect changes and support both fields.
2011-09-28 22:11:42 +03:00
Oleg Semyonov
53c098dd08
Merge branch 'next' into os/GPS-on-CopterControl_next_v2
...
Conflicts:
flight/OpenPilot/System/pios_board.c
flight/OpenPilot/UAVObjects.inc
shared/uavobjectdefinition/hwsettings.xml
2011-09-28 22:02:02 +03:00
James Cotton
fef9570e4d
INS: Get bootloader working again
2011-09-27 01:17:14 -05:00
James Cotton
cf6a59468f
Merge branch 'next' into ins
...
Conflicts:
flight/INS/Makefile
flight/Project/OpenOCD/stm32f1x.cfg
flight/Project/OpenOCD/stm32f2x.cfg
make/firmware-defs.mk
2011-09-27 01:02:06 -05:00
James Cotton
f1e70d2ff5
Merge remote-tracking branch 'origin/msmith/OP-578' into next
2011-09-23 16:43:00 -05:00
Oleg Semyonov
a9137e9db1
TxPID: add update mode option as a workaround for GCS interaction
2011-09-19 16:16:28 +03:00
Oleg Semyonov
aad263bdd8
TxPID: enable ramp-shaped throttle-dependent PIDs
...
Besides of knob PID tuning it is now possible to use throttle channel
to ramp-shape PID coefficients. This can be used to lower some PIDs on
VTOL while sinking to prevent wobble.
To use the feature select throttle as control input, choose throttle
range max and min values, assign the instance to particular PID
coefficient and define a range for it. When throttle is lower than
defined throttle range min value (or higher than max), then min and max
PID values will be used accordingly. Changing throttle from throttle
min to max will linearly scale PID value.
Note that it is possible to set MinPID > MaxPID. In that case increasing
control input value will decrease the PID coefficient.
Up to 3 independent instances can be configured. The number can be
increased changing the UAVO definition, but at the cost of extra RAM.
2011-09-18 14:38:50 +03:00
Oleg Semyonov
d923117c25
TxPID: optional module to tune PID settings using R/C transmitter
...
This module will periodically update values of stabilization PID settings
depending on configured input control channels. New values of stabilization
settings are not saved to flash, but updated in RAM. It is expected that the
module will be enabled only for tuning. When desired values are found, they
can be read via GCS and saved permanently. Then this module should be
disabled again.
2011-09-17 22:49:51 +03:00
James Cotton
a1aeab9393
Increase size of framing signal for logging
2011-09-15 10:19:59 -05:00
James Cotton
0d3d5ad094
INS: Get rid of old code that tried to detect when indoor mode wasn't called
...
for a while
2011-09-14 17:30:02 -05:00
James Cotton
acf2aa218b
Merge remote-tracking branch 'origin/stac/upgrade-to-openocd-0.5.0' into next
2011-09-14 11:49:01 -05:00
James Cotton
06190d1d95
Fix altitude hold dead band range
2011-09-13 10:34:56 -05:00
James Cotton
3b399ad44c
Increase gyro bias rate again
2011-09-13 08:30:50 -05:00
Oleg Semyonov
c92870d29e
Remove unused file (versionblob.py)
2011-09-13 16:10:10 +03:00
James Cotton
1783817b96
INS: First pass at altitude hold code
2011-09-13 01:44:53 -05:00
James Cotton
400ba3bd47
Merge branch 'next' into ins
2011-09-12 18:57:11 -05:00
James Cotton
c36297227d
Stabilization fix typo
2011-09-12 11:56:01 -05:00
James Cotton
63bb80649b
Merge branch 'max_rate_for_attitude' into next
2011-09-12 11:51:03 -05:00
James Cotton
00c9d62f6a
INS: Miscellaneous changes for debugging handling and also some stuff for GPS
...
signal loss.
2011-09-12 11:17:17 -05:00
James Cotton
5b836db54c
INS/Guidance: Convert distance to using m instead of cm. This is mainly to be
...
able to use NAN to indicate when values aren't valid from INS.
2011-09-11 23:02:05 -05:00
James Cotton
a682d5deb6
INS: In indoor mode if GPS is found use that to populate PositionActual
2011-09-11 22:53:07 -05:00
James Cotton
8f2fad6918
Fix for merging with the collective channel with the swashplate fix.
2011-09-11 18:53:10 -05:00
James Cotton
6457276438
Merge branch 'input_configuration' into next
2011-09-11 18:52:35 -05:00
Oleg Semyonov
f5369f9338
Input Configuration: support all 18 S.Bus input channels
2011-09-12 02:06:50 +03:00
Oleg Semyonov
7b3056d10f
Input Configuration: fix S.Bus receiver in multi-receiver code
2011-09-12 02:06:48 +03:00
James Cotton
b38081bb1b
Stabilization: When in none
mode zero the integral accumulators for rate and
...
attitude loops. When not using outer loop zero that accumulator.
2011-09-11 16:33:38 -05:00
Mike Smith
deade53c5d
OP-578 - check for CODE_SOURCERY before setting -fpromote-loop-indices
2011-09-11 10:49:09 -07:00
James Cotton
6945f17eba
Make the StabilizationSettings.MaxRate field only apply to the stabilized
...
modes. That way ManualRate can exceed MaxRate.
2011-09-11 12:27:17 -05:00
James Cotton
b8bb2dd2ca
Merge branch 'next' into ins
2011-09-10 17:02:15 -05:00
James Cotton
aad41ebb4f
Merge branch 'mainboard_receiver_fix' into next
2011-09-10 16:01:22 -05:00
James Cotton
01cd2ded57
Mainboard config: The rcvr port is used for PPM/PWM/Spektrum so make these one
...
setting that is mutually exclusive.
2011-09-10 14:20:51 -05:00
James Cotton
4847a04db8
Mainboard: Get PWM working again. Had to add extra timer IRQ handlers for
...
TIM5-8. Also TIM1 was not handled probably (for CC either) as the name of the
IRQ is TIM1_CC and TIM1_UP for the capture compare versus update. I haven't
checked the downstream code that the registers it uses to map from a context to
event is invariant under timer channel.
2011-09-10 14:20:40 -05:00
James Cotton
eb191d869a
Mainboard: Get spektrum working again.
2011-09-10 14:19:54 -05:00
James Cotton
c2a8cc3faa
Mainboard config: The rcvr port is used for PPM/PWM/Spektrum so make these one
...
setting that is mutually exclusive.
2011-09-10 14:19:12 -05:00
James Cotton
f725fbe128
CopterControl: Fix build due to changing the AttitudeRaw structure.
2011-09-10 13:56:00 -05:00
James Cotton
2871c75a79
Mainboard: Get PWM working again. Had to add extra timer IRQ handlers for
...
TIM5-8. Also TIM1 was not handled probably (for CC either) as the name of the
IRQ is TIM1_CC and TIM1_UP for the capture compare versus update. I haven't
checked the downstream code that the registers it uses to map from a context to
event is invariant under timer channel.
2011-09-10 13:53:38 -05:00
James Cotton
199db1362d
Actuator: Found a bug in actuator that affects how throttle and pitch curves
...
were used. Basically 80% was always 100%. This should make hovering better
and fix heli swash pitch.
2011-09-09 19:40:58 -05:00
James Cotton
1d2a424296
Mainboard: Get spektrum working again.
2011-09-09 09:42:13 -05:00
James Cotton
3239fdf21b
Merge branch 'next' into ins
...
Conflicts:
flight/CopterControl/Makefile
flight/OpenPilot/System/pios_board.c
flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
2011-09-09 08:33:34 -05:00
James Cotton
dfe91af686
UAVObjects: Space allocated in manualcontrolcommand did not match the number of
...
channels in settings. Fixed this and added assertion to catch in future.
2011-09-09 01:17:13 -05:00
James Cotton
22821e3c93
HMC5883: Missed a channel for HMC5883
2011-09-08 22:25:35 -05:00
James Cotton
552022250b
INS: Disable power up checks until these are made more reliable and remove some
...
debugging outputs.
2011-09-08 21:44:27 -05:00
James Cotton
e79e8cdbde
INS data output: Add the latency the logged messages
2011-09-08 03:39:39 -05:00
James Cotton
c87a042195
IMU3000: For now sample at 1k which allows us to bring down the I2C clock rate
...
to 400k
2011-09-08 03:37:51 -05:00
James Cotton
0eb4fd113b
PiOS BMA180: Increase the comms speed for BMA180 and perfom SPI without
...
callback. This takes less time.
2011-09-08 03:28:32 -05:00
James Cotton
d7ea1fc306
PiOS I2C: Swap the expected return value of the F2 pios i2c calls
2011-09-08 01:32:27 -05:00
James Cotton
1a5fd9f30e
Heli: Added an explicit collective channel. Also make the default channel
...
number 0 since that is not invalid.
2011-09-07 01:48:39 -05:00
James Cotton
72625d9971
PiOS RCVR: Make the public API use a 1 based indexing for channel numbers.
...
This may or may not get into next, but if so anyone following it MUST
reconfigure their inputs.
2011-09-06 16:39:08 -05:00
James Cotton
8f7712435f
Merge branch 'safer_failsafe' into next
2011-09-06 16:23:11 -05:00
James Cotton
627c931c79
PiOS I2C: Swap the convention of returned values for I2C
2011-09-06 03:27:20 -05:00
Sambas
a8ef57c6d6
Redo DX8 changes
2011-09-06 08:40:10 +03:00
Stacey Sheldon
1e9bcf8426
openpilot: fix merge of unidirectional gps feature branch
2011-09-04 23:22:29 -04:00
James Cotton
465527a980
INS: Enable GPS parsing. GPS data is processed on INS now. HomeLocation and
...
WMM are not currenly implemented.
2011-09-04 20:03:04 -05:00
James Cotton
7ff5cd7655
INS: Try and get load down on event system.
2011-09-04 16:21:04 -05:00
James Cotton
cd8ebdf427
INS: Store the gyro bias in the settings so it doesn't get overwritten
2011-09-04 15:21:53 -05:00
James Cotton
b1e0366525
Merge remote-tracking branch 'origin/CorvusCorax_unidirectional-GPS-com' into next
...
Conflicts:
flight/OpenPilot/System/pios_board.c
2011-09-04 13:33:52 -05:00
James Cotton
82c5f9f0f4
PIOS_RCVR: Document return values better and use enum for them
2011-09-04 12:37:39 -05:00
James Cotton
533ae9bb41
SBUS: Missed handling the S.Bus failsafe. Now returns PIOS_RVCR_TIMEOUT for
...
either SBus failsafe mode or when no data for 100 ms.
2011-09-04 12:15:34 -05:00
James Cotton
5e2a36aa03
Merge branch 'stac/allocate-device-instances-from-heap' into next
2011-09-04 12:03:42 -05:00
James Cotton
c326c0941d
INS: Work on initialization. Improve the zeroing of the gyros at powerup.
2011-09-04 11:49:15 -05:00
James Cotton
510a1760ca
When disconnected set any accessory channels to neutral. Otherwise the
...
actuator module could keep the pitch at high. However the "right" thing to do
seems very specific. For example negative pitch is probably preferable.
2011-09-04 03:45:36 -05:00
James Cotton
89e640ae7f
Make sure all receiver drivers return correct constants for invalid channels.
2011-09-04 01:24:16 -05:00
James Cotton
51967ae63f
OP-571 PIOS_PWM: Add back the PWM supervisor
2011-09-04 01:17:40 -05:00
James Cotton
20de046292
Force system to be disarmed when a bad configuration is present
2011-09-04 00:43:33 -05:00
James Cotton
d3de8ff0ef
OP-559: Process the arm status when disconnect and allow it to timeout and
...
disarm
2011-09-03 23:57:51 -05:00
James Cotton
697dbf4f5f
OP-568 PIOS_RCVR: Standardize the values that are returned from the PIOS_RCVR and make
...
them symbolic constants.
- A timeout is 0
- A missing driver is 65534
- An invalid channel is 65535
ManualControl: Make it deal with the values explicitly. A timed out value
should not be treated like a minimum duration signal. Instead it does not
updated the scaled value but marks the data window as invalid to trigger the
failsafe.
2011-09-03 23:50:56 -05:00
James Cotton
dae11cf877
INS Logging: Enable temperature reading from gyro and accel (may be removed in
...
future), push it into UAVO and introduced a logging mode for INS that outputs
all sensor data from aux port.
2011-09-03 15:10:47 -05:00
James Cotton
5eaebac8d8
INS: Get the aux uart working. All F2 GPIO pins need to be remapped to work. Good thing to remember.
2011-09-02 17:04:39 -05:00
James Cotton
63f64003e5
INS: Change how the initialization of algorithms is handled to ensure sensor
...
dat always good
2011-09-02 13:50:36 -05:00
James Cotton
c40e5800ab
BMA180: Enable the EEPROM writing on startup so settings take the first time.
2011-09-02 13:28:36 -05:00
James Cotton
e0ed82eef0
INS Settings: Use the calibration data on the sensors
2011-09-02 13:28:01 -05:00
James Cotton
1d04715476
INS: Rework how the sensor calibration behaves and clean up the interface a
...
bit.
2011-09-02 13:24:35 -05:00
Mathieu Rondonneau
ae1dd945b1
Fix win32 sim macro problem
...
This is to get the macro in pios.win32 in sync with sim posix and
real flight.
2011-09-01 21:50:13 -04:00
James Cotton
3b20df22d1
Updates to config gadget for new INS objects
...
Make scope gadget check if object exists before using it. Avoids segfaults
when scoped objects disappear.
2011-09-01 12:21:37 -05:00
James Cotton
612d3336b4
This patch breaks backward compatibility with AHRS solidly.
...
Move the configuration files for INS from AHRS* to INS*. Strip out unused
fields in settings and merge calibration and settings since settings has
basically no information.
2011-09-01 12:21:33 -05:00
James Cotton
37878ed4e8
Get the OpenPilot compiling again using a previvous pios_board until doing a
...
proper merge with next
2011-09-01 03:31:23 -05:00
Stacey Sheldon
eea011c53b
openpilot: fix compile error on OP
2011-09-01 03:31:23 -05:00