Oleg Semyonov
2271b95816
Merge remote branch 'origin/next' into os/features/stick-deadband-next
...
Conflicts:
ground/openpilotgcs/src/plugins/config/configinputwidget.cpp
ground/openpilotgcs/src/plugins/config/configtaskwidget.cpp
ground/openpilotgcs/src/plugins/config/configtaskwidget.h
2012-02-23 08:32:27 +02:00
Oleg Semyonov
e62cc8914c
Merge remote branch 'origin/next' into os/features/pid-tuning-from-transmitter-next
...
Conflicts:
flight/CopterControl/Makefile
ground/openpilotgcs/src/plugins/config/config.pro
ground/openpilotgcs/src/plugins/config/configtaskwidget.cpp
ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
shared/uavobjectdefinition/hwsettings.xml
2012-02-22 23:03:17 +02:00
Oleg Semyonov
403e9cd220
TxPID module: add ILimit values to the list of settings
2012-02-21 19:57:10 +02:00
James Cotton
7b548eaa54
Fix bug in the integral for altitude hold where it was accumulating wrong variable.
2012-02-21 00:40:55 -06:00
Brian Webb
43f6458f86
Reduced the sizeof the UAVObject metadata by:
...
1) Combining all binary or mode values into a single byte
2) Adding accessor functions to read/write the flag bits
3) Reduced the size of the time values from 32 bits to 16 bits
2012-02-20 18:45:18 -07:00
James Cotton
900780e10c
Add bias estimation to the altitude fusion algorithm. Necessary to increase
...
the gains on acceleration and velocity feedback terms (they are a problem when
biased).
2012-02-19 11:38:09 -06:00
James Cotton
47fac7e31c
Move the throttle setting code for alt hold into the fast accel loop.
2012-02-18 18:16:15 -06:00
Sambas
4dd91d08c2
Settings, home arrow tests & other updates
2012-02-18 12:38:50 +02:00
Oleg Semyonov
c721d001c0
Subtract deadband offset from then input to still have fine control
2012-02-18 10:21:51 +02:00
James Cotton
7d4582e5f0
Update the altitude KF to use the updated measurements appropriately and check
...
in the relevant matlab code to check it and genererate it. Produces quite
smooth traces.
2012-02-16 05:33:47 -06:00
Sambas
8f45114b1f
Fixes & cleanup
2012-02-15 21:14:02 +02:00
Sambas
0bc08a48d8
cleanup 'n' updates
2012-02-14 21:42:09 +02:00
James Cotton
c957172f8f
In the case of swapping in userspace due to the buffer being blocked during
...
ISR, make sure the latency is less than 50 us to avoid framesync errors. Still
seeing a few nonsense packets on Overo side but fairly few. Probably need to
add CRC to whole packet now and call it done.
2012-02-14 11:06:16 -06:00
James Cotton
1930d092eb
In the case where the overo scheduler cannot swap buffers (userspace loading
...
it) then set a flag so as soon as the buffer is loaded then we schedule it.
2012-02-14 11:00:29 -06:00
James Cotton
f04c58b0f4
Make the overo transaction occur based on the rising edge of the NSS line.
...
This fixes most of the frame sync problems. However, it's a bit hacky as
there is currently hardware information inside a module.
2012-02-14 10:37:30 -06:00
James Cotton
d018d93e88
Clean up previous commit a bit and make the sampling rate a variable (and adapt
...
the sampling time accordingly).
2012-02-13 01:49:54 -06:00
James Cotton
3acbfbe96c
Convert the pressure sensor code to most of the calculations as int64 to retain
...
precision.
2012-02-13 01:22:48 -06:00
Sambas
8cc876d02a
OSD branch
2012-02-12 22:29:42 +02:00
James Cotton
f23f53dc4e
Add settings for the altitude kalman filter settings and init the state when
...
first measurement arrives
2012-02-12 09:07:27 -06:00
James Cotton
34ca5777dd
Kalman filter for altitude
2012-02-11 21:08:19 -06:00
James Cotton
d8f0494e57
Merge branch 'revolution' into revolution_overo
2012-02-11 20:02:20 -06:00
James Cotton
3026527801
Now the desired altitude is relative to when the switch was flipped so that the
...
baro altitude module can use a smoothed altitude estimate for the starting
point.
2012-02-08 23:02:29 -06:00
James Cotton
80d602ef7b
Switch order of some commands to make sure it loads the correct hover throttle
2012-02-08 20:47:10 -06:00
James Cotton
ab41bae071
Separately smooth the error estimate from the derivative
2012-02-08 11:15:33 -06:00
James Cotton
60c951843d
Use backtracking to limit integral in altitude hold and smooth the velocity
...
error. Initialize the throttle integral better.
2012-02-08 10:39:31 -06:00
James Cotton
c6b1d6b8df
Rework the altitude hold code a bit
2012-02-08 09:42:10 -06:00
James Cotton
49a03a868b
Merge branch 'altitudehold' into revolution_overo
...
Conflicts:
flight/OpenPilot/UAVObjects.inc
flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
flight/Revolution/Makefile
flight/Revolution/ins.c
2012-02-07 23:00:29 -06:00
James Cotton
6ec0f06c80
Back to 1024 byte packets
2012-02-07 13:02:11 -06:00
James Cotton
2c60447200
Switch back to 512 byte packets and fix bug when writing the header size that
...
was smashing the crc
2012-02-07 11:32:04 -06:00
James Cotton
221a0c5e53
Add the number of dropped updates to the overosync stats
2012-02-07 09:13:26 -06:00
James Cotton
a89d425b23
Reset the received rate for overo sync object
2012-02-07 09:01:58 -06:00
James Cotton
02bec750bd
In the attitude loop need to check all the queues even if unused or the event
...
system will have warnings
2012-02-07 08:46:34 -06:00
Stacey Sheldon
e2939dae2a
revo usb: Add support for USB to Revo
2012-02-07 02:25:31 -05:00
James Cotton
ae01936808
Add the portTickTime into the OveroSync stream
2012-02-06 10:00:02 -06:00
James Cotton
dbcb499d7f
Add object to monitor the overo link status. Current just records the bytes/s
...
being sent and the connected status (based on sending more than 500 bytes per
second)
2012-02-06 09:37:31 -06:00
James Cotton
5b2376dbee
Remove the semaphore for buffer swapping and make this occur during the receive
...
ISR. This leads to a possible condition where a copy is taking place in
userspace and then a buffer swap interrupts it. However, the copy should
always finish before the SPI DMA slave catches up to that place in memory at 10
MHz.
This fixes a common condition where the userspace task (low priority) was not
swapping buffers in time from user space and logs were corrupted.
2012-02-06 08:21:24 -06:00
James Cotton
179e66b754
Refactor how new packets are scheduled to avoid trying to start a transaction
...
from an ISR. This was causing lock ups. It's a bit higher latency probably
(trivially slow) but if we aren't keeping up with the Overo transactions then
using a proper DMA double buffer will be required.
2012-02-04 20:11:31 -06:00
James Cotton
665801662d
In cc3d update sensors add accelbias before scaling to allow more precision in
...
levelinIn cc3d update sensors add accelbias before scaling to allow more
precision in levelingg
2012-02-04 12:12:41 -06:00
James Cotton
4e190f99e2
Improved the revo overosync code to put multiple uavobjects into a packet
2012-02-04 12:06:03 -06:00
James Cotton
c26154f303
Switch back to 256 byte packets and 0xFF pad the end
2012-02-02 11:40:49 -06:00
James Cotton
8b1137c6a0
Align the tx and rx SPI buffers from Overosync
2012-02-02 11:23:40 -06:00
James Cotton
0a71a48c57
Sending all FF finally again
2012-02-02 10:36:09 -06:00
James Cotton
95abb56d5e
Added module to send updates out the SPI port
2012-02-02 09:19:25 -06:00
James Cotton
a778c45d6f
For L3GD20 sensor task run at the sensor speed
2012-01-28 10:11:30 -06:00
James Cotton
13447ac907
Fix the MPU6000 implementation
2012-01-28 00:21:58 -06:00
James Cotton
b4435d0b35
For L3GD20 sensor task on revo update gyro once per physical sample
2012-01-26 23:29:12 -06:00
James Cotton
84dd1dbc40
A bit more lenient settings for CC sensor timings
2012-01-26 13:00:06 -06:00
James Cotton
727f0befc5
Make the gyro go a bit more regularly to stabilization but needs updating
...
regular CC
2012-01-25 22:50:19 -06:00
James Cotton
e4df3202e0
L3GD20: Update sensor task for revo to use the new queue
2012-01-25 22:50:19 -06:00
James Cotton
205aabe895
L3GD20: Make this sensor push data onto a FreeRTOS queue so that the sensor
...
reading task can block according. Also now the gyro data is sent to
stabilization multiple times per update of the attitude loop.
2012-01-25 01:20:07 -06:00
James Cotton
1971ba30dc
No longer hardcode baudrate
2012-01-24 23:42:43 -06:00
James Cotton
104c091590
Correct the range constants for the L3GD20 driver
2012-01-24 19:48:14 -06:00
James Cotton
a25d52785b
Change the bus speed for the L3GD20 to 10MHz and some small cleanups
2012-01-24 19:17:49 -06:00
James Cotton
b6c056fef2
Use the updated L3GD20 format and make attitude.c use the gyro data from the
...
fifo
2012-01-24 15:52:17 -06:00
James Cotton
5efbfb02fa
Make the BMA180 sensor system acquire from the queue. Correct the orientation
...
and speed it up to 10 MHz communications.
2012-01-24 15:09:20 -06:00
James Cotton
8c208412c9
Give the BMA180 a dynamically allocated device structure and also make it
...
properly bind to a SPI and slave number. Temporarily reducing spi bus to
slowest possible speed.
2012-01-24 14:38:00 -06:00
James Cotton
8e79bc2ee2
Temporarily refactor attitude to directly read the sensors instead of pull from
...
their queues until the interrupts are working properly
2012-01-24 11:54:23 -06:00
James Cotton
e9552065a9
Reenable the CC3D sensors
2012-01-24 11:03:33 -06:00
James Cotton
c242ab8b86
Merge branch 'next' into revolution3
...
Conflicts:
flight/AHRS/ahrs.c
flight/AHRS/pios_board.c
flight/Bootloaders/Revolution/Makefile
flight/CopterControl/System/pios_board.c
flight/INS/pios_board.c
flight/OpenPilot/Makefile
flight/OpenPilot/System/openpilot.c
flight/OpenPilot/System/pios_board.c
flight/PiOS/Boards/STM32103CB_CC_Rev1.h
flight/PiOS/Boards/STM32F4xx_Revolution.h
flight/Revolution/Makefile
flight/Revolution/System/inc/pios_config.h
flight/Revolution/test.c
2012-01-24 10:46:35 -06:00
James Cotton
486cdb5dbb
Got CC running again although with altitude and bmp085 disabled as well as the
...
CC3D drivers.
2012-01-24 10:32:42 -06:00
James Cotton
4d3af7afbf
Add ID test to ADXL345
2012-01-24 09:23:12 -06:00
James Cotton
728c05f973
Crude implementation of sensor reading for CC3D
2012-01-24 09:23:12 -06:00
James Cotton
11471ff68b
Update drivers for CC to the new EXTI system and SPI calls
2012-01-24 09:23:12 -06:00
James Cotton
a20d654744
Update the attitude algorithm for CC to use the Gyros and Accels UAVObjects
...
instead of AttitudeRaw
2012-01-24 09:23:12 -06:00
James Cotton
d864b481a1
Fix a few more merge conflicts
2012-01-23 04:47:35 -06:00
Stacey Sheldon
6bb4f0c61d
leds: use boot-time config for PiOS LED layer
...
LEDs are now configured based on a board-specific initialization
in PIOS_BOARD_Init().
LEDs are now named:
PIOS_LED_HEARTBEAT
PIOS_LED_ALARM
2012-01-22 18:22:59 -05:00
James Cotton
bb0bfe0ae4
Merge branch 'next' into revolution3
...
Conflicts:
flight/Bootloaders/CopterControl/Makefile
flight/Bootloaders/PipXtreme/Makefile
flight/Bootloaders/Revolution/inc/pios_config.h
flight/CopterControl/Makefile
flight/INS/inc/pios_config.h
flight/Libraries/taskmonitor.c
flight/Modules/Altitude/altitude.c
flight/Modules/Attitude/attitude.c
flight/OpenPilot/Makefile
flight/OpenPilot/Makefile.posix
flight/OpenPilot/System/inc/pios_usb_board_data.h
flight/OpenPilot/System/inc/taskmonitor.h
flight/OpenPilot/System/pios_board.c
flight/OpenPilot/System/taskmonitor.c
flight/PiOS/Boards/STM32F4xx_Revolution.h
flight/PiOS/STM32F4xx/pios_bmp085.c
flight/PiOS/STM32F4xx/pios_iap.c
flight/PiOS/pios.h
flight/Revolution/System/inc/pios_config.h
flight/Revolution/System/inc/taskmonitor.h
flight/Revolution/System/taskmonitor.c
ground/openpilotgcs/src/plugins/serialconnection/serialplugin.cpp
shared/uavobjectdefinition/systemalarms.xml
shared/uavobjectdefinition/taskinfo.xml
2012-01-21 11:27:03 -06:00
James Cotton
f8e59443b8
If the BMA180 isn't read when an IRQ fires (because the flash chip has claimed
...
the bus) then it won't fire another interrupt until read. For now this is
dealt with in the sensor loop by forcing a read when the fifo is empty.
2012-01-21 10:13:46 -06:00
James Cotton
6d72678086
Add timeout in the sensor task for reading sensors to stop the watchdog firing.
...
All sensors should later be converted to use FreeRTOS queues.
2012-01-21 08:32:41 -06:00
Stacey Sheldon
64202ce092
Merge remote-tracking branch 'origin/stac/i2c_decoupling' into next
2012-01-17 22:35:36 -05:00
Stacey Sheldon
ad141c908a
Merge remote-tracking branch 'origin/stac/usb-composite-device-v2' into next
2012-01-17 22:26:38 -05:00
James Cotton
ce2d0fcbb1
L3GD20 data now running through IRQ -> FIFO
2012-01-17 19:36:32 -06:00
James Cotton
35025303cd
Getting data from gyro.
2012-01-17 19:29:38 -06:00
Stacey Sheldon
b05697c2cf
taskinfo: ensure usage of TaskInfo uavo is covered by DIAG_TASKS
...
OpenPilot platform (and thus sim too) was missed when the
DIAG_TASKS macro was broken out from the DIAGNOSTICS macro.
This allowed accesses to the TaskInfo UAVO even though it hadn't
been initialized.
2012-01-15 18:16:50 -05:00
Stacey Sheldon
0575b45378
usb: make USB usage depend on PiOS config
...
USB is not supported on sim platforms. Let PiOS
config determine when we use it.
2012-01-15 18:16:49 -05:00
Stacey Sheldon
c97b108a1f
bootfault: make IAP usage depend on PiOS config
...
The sim platforms don't support an IAP mechanism. Let
PiOS config control when we try to use it.
2012-01-15 18:16:49 -05:00
Oleg Semyonov
912bea559f
Add stick deadband option for Roll/Pitch/Yaw inputs to firmware
2012-01-15 21:13:22 +02:00
Stacey Sheldon
27ceb7ea92
modules: Allow optional modules to be used as built-in
...
Some modules are written such that they can be included
or excluded at runtime. These are added to the OPTMODULES
list in the makefile for a given board.
This change provides a mechanism to allow a build to force
a given module to be built-in (ie. always initialized)
regardless of the configuration in hwsettings.
The main use case for this is to handle a module being optional
on one platform but essential on another.
All modules added to the MODULES list in the Makefile will
automatically result in a matching #define in the form
MODULE_TheModuleName_BUILTIN
being defined in the CFLAGS for all compiled source.
Note that the capitalization of TheModuleName must match
exactly the capitalization used in the MODULES list.
2012-01-14 16:55:55 -05:00
Stacey Sheldon
53e9ef06b4
altitude: add optional altitude module
2012-01-14 15:38:56 -05:00
Stacey Sheldon
717c1311e6
altitude: allow altitude to be an optional module
2012-01-14 15:38:56 -05:00
Stacey Sheldon
4cb0c41338
bmp085: only use eoc and drdy gpios when available
...
When the bmp085 chip is on an external board, we don't
have access to the eoc and drdy gpio lines. Only use
them when available.
2012-01-14 15:38:56 -05:00
James Cotton
cc47520baa
Checking ID on ST gyro works
2012-01-04 23:23:42 -06:00
James Cotton
0fbcf7723d
Code to disable all gyros. All modules now running.
2012-01-04 22:37:15 -06:00
James Cotton
5ee9c8008e
Temporarily swap serial ports while debugging
2012-01-04 22:19:13 -06:00
James Cotton
0cc18e7dcf
Add files for new L3DG20 sensor
2012-01-04 20:33:54 -06:00
James Cotton
d2ce7761c5
Add derivative term
2012-01-03 12:37:18 -06:00
Stacey Sheldon
025ed0f43c
Merge remote-tracking branch 'origin/stac/usb-composite-device-v2' into next
...
Conflicts:
HISTORY.txt
2012-01-03 00:02:45 -05:00
Stacey Sheldon
8d8715c8c1
copyright: add/correct GPL + copyright boilerplate
...
I missed some of the boilerplate text on some of the
new files I've added recently. Fixed.
2012-01-02 23:28:53 -05:00
Stacey Sheldon
b94f4b49a4
usb: major refactoring of USB descriptors, CDC and HID
...
Summary of changes:
* USB CDC and HID drivers are completely split apart.
* This will allow different max buffer sizes for HID and CDC.
* USB descriptors have been overhauled:
* Proper structs/macros/enums declared for USB (see pios_usb_defs.h)
* Two common descriptor definitions. One for HID+CDC another for HID only.
See pios_usb_desc_{hid_cdc,hid_only}.c for details.
* Long standing bugs in OP USB descriptors became much more obvious with the
new struct definitions.
* Board specific USB initialization is now in pios_usb_board_data.h in each build target.
* Definition of USB descriptors is now entirely indpendent of STM32 libs.
Glue into STM32 libs is provided by pios_usbhook.c.
* Removed a lot of stale/irrelevant USB #defines throughout the tree.
* Improved naming consistency throughout USB code:
* PIOS_USB_HID_* now refers to the HID endpoint code.
* PIOS_USB_CDC_* now refers to the CDC endpoint code.
* PIOS_USB_* now refers to the low-level USB code.
* PIOS_USB_BOARD_* now refers to board-specific USB data
* PIOS_USBHOOK_* is glue between PIOS and STM32 USB libs.
* struct usb_* and enum usb_* and USB_* and HID_* are all types from the USB spec.
* Shrunk the buffer size on the CDC call mgmt endpoint to save some RAM.
* Made a few more USB related variables static to save some RAM.
2012-01-02 14:27:06 -05:00
Oleg Semyonov
77a459af5c
Merge remote branch 'origin/next' into os/TxPID-module
2012-01-02 14:49:54 +02:00
Oleg Semyonov
b01e332e03
CameraStab: rename UAVO field
2012-01-02 14:27:05 +02:00
Oleg Semyonov
65abb8f819
CameraStab: small optimization, freed 8 more heap bytes
2012-01-02 14:27:00 +02:00
Oleg Semyonov
406cff296d
CameraStab: bypass LPF calculation if ResponseTime is zero
2012-01-02 14:26:58 +02:00
Oleg Semyonov
e11904c42f
CameraStab: change ResponseTime type from float to int16
2012-01-02 14:26:56 +02:00
Oleg Semyonov
2eb5130a7c
CameraStab: new camera stabilization mode and low-pass stick input filtering
...
This patch is based on work of Crubier (LPF) and Cossacs (AxisLock mode).
I've just reworked it a bit by adding a dynamic memory allocation for
static module data.
2012-01-02 14:26:54 +02:00
James Cotton
ef05cafaca
Merge branch 'revolution' into altitudehold
...
Conflicts:
flight/Libraries/insgps13state.c
flight/OpenPilot/Makefile
ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
2012-01-01 10:50:35 -06:00
Stacey Sheldon
5c0921e92c
fault: add optional fault insertion module
...
This module and its associated settings uavo can be used
to test various fault conditions during initialization.
To enable the module, add the TEST_FAULTS=YES to your make
command line:
make fw_coptercontrol TEST_FAULTS=YES
Once this module is part of your firmware load, you can
enable it in the hwsettings uavo and then select the
type of fault to insert by editing the faultsettings uavo.
On the next reset, the configured fault will be inserted
into the init sequence to allow you to test the boot fault
recovery code.
With a fault inserted, you should see 3 failed boot attempts
followed by a successful (recovery) boot. You will see the
BootFault alarm set to Critical, and the RAM version of your
hwsettings will be reset to defaults. Since the defaults have
all optional modules disabled, the fault module will be out of
the way during the recovery boot.
You can then "Load" the flash version of the hwsettings uavo
in the object browser, disable the Fault module and then "Save"
the hwsettings module back to the board. The next reset will
boot normally without the fault inserted.
2011-12-30 23:05:39 -05:00
Stacey Sheldon
f886af186d
bootfault: add support for recovery from init failures
...
After 3 failed warm start attempts, the init sequence
will force the RAM version of the HWSettings object
to its defaults. This should allow a user to regain
connectivity to a board that is continually faulting
during init.
This is accomplished by:
- Incrementing a boot counter that is stored in the
STM32 BKP registers. These registers survive a
warm start but are cleared on a cold start (ie. powerup).
- On multiple failures, force hwsettings to defaults
and raise the (new) BootFault alarm to prevent arming.
- Resetting the boot counter whenever the system manages
to successfully run the System Module task.
NOTE: This does not actually change the hwsettings object in
flash. That's up to the user.
This is intended to catch ONLY faults during early initialization.
It should not be used to recover from faults after the application
is up and running.
2011-12-30 23:05:38 -05:00
Stacey Sheldon
1543a6dbd3
hwsettings: allow disabling of USB telemetry entirely
...
The GCS hwsettings config widget now disallows any
configuration that disables both HID and VCP telemetry
over the USB port.
The firmware will allow it if the UAVObj is set manually.
This allows a mechanism to reduce RAM usage by another
500 more bytes if USB telemetry can be sacrificed in
certain configurations.
2011-12-30 23:05:38 -05:00
Stacey Sheldon
7c03875013
diag-tasks: make taskinfo diagnostics a separate enable
...
This allows task stack analysis without turning on all
of the other diagnostics.
2011-12-30 23:05:37 -05:00
Stacey Sheldon
ab135aa00b
com-bridge: Make com-bridge an optional (and configurable) module
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
a68f5a4fc9
com-bridge: detect lost characters on transmit
2011-12-30 23:05:36 -05:00
Stacey Sheldon
64f498e48a
com-bridge: add usart to usb vcp bridge
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
617a30c07c
usb cdc: attach telemetry to CDC rather than HID
2011-12-30 23:05:34 -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
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
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
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
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
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
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
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
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
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
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
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
0efffef1fa
Work on bringing the Revolution board up
2011-11-17 10:13:34 -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
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
2cc2e55248
Add attitude solution for revo
2011-11-14 10:49:37 -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
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
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
9679638244
Revert "Modules/GPS: removed comment line"
...
This reverts commit 109a58ef30
.
2011-11-11 11:07:02 +01:00
Oleg Semyonov
8f77d07119
System Module: fix stupid out of memory detection bug
2011-11-07 19:14:55 +02: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
0f8ae1e076
Merge branch 'next' into ins
...
Conflicts:
flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
2011-10-26 13:18:44 -05: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
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
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
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
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
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
06190d1d95
Fix altitude hold dead band range
2011-09-13 10:34:56 -05: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
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
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
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
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
f725fbe128
CopterControl: Fix build due to changing the AttitudeRaw structure.
2011-09-10 13:56:00 -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
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
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
James Cotton
7ff5cd7655
INS: Try and get load down on event system.
2011-09-04 16:21:04 -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
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
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
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
Stacey Sheldon
a72c657e21
rcvr activity: Speed up activity acquisition
...
Activity detection logic can now move through
the active receivers more quickly.
2011-08-27 20:17:56 -04:00
James Cotton
6514fd95c7
Also initialize the ReceiverActivity object in manual control
2011-08-27 16:08:57 -05:00
James Cotton
dc340596f5
Merge branch 'next' into GCS_ChangesToUI-RuntimeCFG
...
Conflicts:
flight/CopterControl/Makefile
flight/OpenPilot/System/pios_board.c
flight/OpenPilot/UAVObjects.inc
flight/PiOS/STM32F10x/pios_spektrum.c
ground/openpilotgcs/src/plugins/config/config.pro
ground/openpilotgcs/src/plugins/config/configgadget.qrc
ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
shared/uavobjectdefinition/hwsettings.xml
2011-08-27 15:26:05 -05:00
James Cotton
1d77d77832
Merge branch 'stac/use-malloc-failed-hook' into next
2011-08-27 00:24:13 -05:00
Corvus Corax
658ae3f809
Modules/System: removed comment line
2011-08-25 16:26:46 +02:00
Corvus Corax
109a58ef30
Modules/GPS: removed comment line
2011-08-25 16:25:19 +02:00
Corvus Corax
8173c7b7c6
Refactor GPS_PURISTIC into GPS_MINIMAL
2011-08-25 15:44:49 +02:00
Corvus Corax
1d797bf004
Fixed error introduced by merge
2011-08-25 15:40:45 +02:00
Corvus Corax
4bd72923e5
Merge branch 'CorvusCorax_unidirectional-GPS-com' into CC_GPS
...
Conflicts:
flight/Modules/GPS/GPS.c
flight/Modules/GPS/GTOP_BIN.c
flight/Modules/GPS/NMEA.c
shared/uavobjectdefinition/hwsettings.xml
2011-08-25 15:33:23 +02:00
Corvus Corax
54ecf233f3
Modules/PS: typo fix
2011-08-25 15:13:50 +02:00
Corvus Corax
7e396efbbf
Modules/GPS: Assert buffer creation
2011-08-25 15:11:29 +02:00
Corvus Corax
dfdea16065
Modules/GPS: Make GPS COM unidirectional (rx only) and use smaller, runtime allocated heap buffers
2011-08-25 14:46:30 +02:00
Corvus Corax
697ac6067e
OP-567 Modules/GPS: Block in PIOS_COM, not in TaskDelay - or we will miss updates!
2011-08-25 13:33:41 +02:00
Stacey Sheldon
edc0caf521
heap: set memory critical alarm on malloc failures
...
Activate the FreeRTOS malloc failed hook and use it
to set the memory critical alarm.
2011-08-21 23:14:32 -04:00
Corvus Corax
838149b53f
GPS: homelocation init is optional, satellites must be initialized
2011-08-21 18:20:33 +02:00
James Cotton
b1c522def3
Merge remote-tracking branch 'origin/next' into ins
2011-08-21 01:34:40 -05:00
James Cotton
e1afc9a19a
Merge branch 'next' into ins
...
Conflicts:
flight/Libraries/inc/fifo_buffer.h
flight/PiOS/STM32F10x/link_STM3210E_INS_sections.ld
flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
2011-08-21 00:47:43 -05:00
James Cotton
368323fd59
Merge remote-tracking branch 'origin/james/erase_settings' into next
2011-08-20 13:07:01 -05:00
Corvus Corax
1ad65e0718
Fixed include in sysstemmod. pios_config.h should not be included explicitly.
2011-08-20 15:04:00 +02:00
Corvus Corax
53d0732fc6
Enable GPS module as "optional module" in CooterControl
2011-08-20 01:25:49 +02:00
Corvus Corax
dfd301571a
HWSettings: Allow late Initialization and Start of Modules as defined in Makefile(available modules) and UAVObject(actually started modules)
2011-08-20 01:24:06 +02:00
Corvus Corax
b75890fcd4
Merge branch 'next' into CC_GPS
2011-08-19 21:34:38 +02:00
Corvus Corax
9bba1f7ae9
Posix: fix object initialization where necessary
2011-08-19 18:36:30 +02:00
James Cotton
ab7e57ad2b
Initialize objects for guidance in the correct place. Init some objects in
...
pios_board_posix since AHRSComms not around.
2011-08-19 09:52:05 -05:00
James Cotton
482bec497b
Revert "Fixed modules that didn't initialize used UAVObjects correctly"
...
Modules should initialize their settings and the objects they source. Not just
everything.
This reverts commit 9ad85e9b7b
.
2011-08-19 09:44:38 -05:00
Corvus Corax
9ad85e9b7b
Fixed modules that didn't initialize used UAVObjects correctly
2011-08-19 13:20:15 +02:00
Corvus Corax
f86e53bf91
Merge branch 'OP-536_CorvusCorax_ObjectOrientedFirmwareUAVTalk' into next
...
Conflicts:
flight/Modules/Telemetry/telemetry.c
2011-08-19 12:10:40 +02:00
Corvus Corax
6fe495c088
Merge remote branch 'origin/next' into OP-536_CorvusCorax_ObjectOrientedFirmwareUAVTalk
...
Conflicts:
flight/Modules/Telemetry/telemetry.c
2011-08-17 08:30:32 +02:00
James Cotton
35eef66bfe
OP-557: Add a UAVO access method to erase the entire flash chip. Normally not
...
needed by users because if too much changes I change the FS magic and trigger a
wipe.
Possibly the erase should require a particular "magic" object id value to
execute? This would make it harder to do manually through UAVOs though.
2011-08-15 10:33:27 -05:00
James Cotton
86b652bbab
Merge branch 'next' into camera_stabilization
2011-08-14 18:07:57 -05:00
zedamota
e736b17cc4
Merge remote-tracking branch 'remotes/origin/next' into GCS_ChangesToUI-RuntimeCFG
...
Conflicts:
ground/openpilotgcs/src/plugins/config/config_cc_hw_widget.cpp
ground/openpilotgcs/src/plugins/config/configgadgetwidget.h
ground/openpilotgcs/src/plugins/config/configstabilizationwidget.cpp
2011-08-14 15:48:16 +01:00
James Cotton
a2b76adc33
Attitude: Do not start attitude estimation until accel data appears. This
...
fixes the NaN when AttitudeSettings not available.
2011-08-13 18:53:42 -05:00
James Cotton
784c7b2646
Merge branch 'next' into ins
2011-08-11 21:52:10 -05:00
James Cotton
ec4e23aff9
Camera Stabilization: Bound outputs to [-1,1] although this should be redundant
...
with checks in actuator.
2011-08-11 14:34:38 -05:00
James Cotton
bbe3c1533a
Merge branch 'next' into camera_stabilization
2011-08-10 21:57:45 -05:00
James Cotton
ab288e95ab
Stabilization: Small patch so that by default the integral is zeroed while
...
throttle is low (good for quads) but can be disabled (good for planes and also
testing helis).
2011-08-10 03:51:46 -05:00
James Cotton
f23eaa8273
Make the Actuator pull from the CameraDesired fields
2011-08-09 21:47:42 -05:00
James Cotton
f11aa80444
CameraStabilization: Make the CameraStabilization module put the desired
...
position into another object (will help with configuration).
2011-08-09 20:45:38 -05:00
James Cotton
c4e272b9ad
Merge branch 'next' into camera_stabilization
2011-08-09 20:16:45 -05:00
James Cotton
ec2121bca8
Attitude: Keep first element of quaternion positive
2011-08-08 21:16:04 -05:00
James Cotton
0bba13a0e9
Merge branch 'next' into ins
...
Conflicts:
flight/INS/Makefile
flight/INS/pios_board.c
flight/Modules/Altitude/altitude.c
flight/PiOS/Boards/STM3210E_INS.h
flight/PiOS/STM32F10x/link_STM3210E_INS_BL_sections.ld
flight/PiOS/STM32F10x/link_STM3210E_INS_HD_BL.ld
flight/PiOS/STM32F10x/link_STM3210E_INS_HD_NB.ld
flight/PiOS/STM32F10x/link_STM3210E_INS_memory.ld
flight/PiOS/STM32F10x/link_STM3210E_INS_sections.ld
flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
2011-08-06 17:25:56 -05:00
James Cotton
fd86c25b49
Make sure OP compiles with new object init structure.
2011-08-04 15:01:54 -05:00
James Cotton
a592e7d398
ManualControlSettings must be also initialized in pios_board.c
2011-08-04 07:47:50 -05:00
Stacey Sheldon
90b2625deb
rcvractivity: Add tracking of Rx channel activity
2011-08-02 01:27:37 -04:00
Stacey Sheldon
06cdeb7b61
rcvr: support multiple simultaneous receivers
...
Now also supports multiple instances of the Spektrum driver.
These are configured as Spektrum1 and Spektrum2.
2011-08-02 01:22:04 -04:00
James Cotton
cb9c6dfb5e
Change the sequencing of telemetry starting to make sure all the objects that
...
were registered in an initialize and then enumerated by telemetry
2011-07-30 11:31:45 +09:00
James Cotton
ae67c51632
Register some missing objects with their modules
2011-07-30 11:28:21 +09:00
James Cotton
2e5a36a4db
Merge branch 'stac/refactor-usart-com' into camera_stabilization
2011-07-30 10:55:16 +09:00
James Cotton
96c2d24253
Merge branch 'next' into camera_stabilization
...
Conflicts:
flight/CopterControl/Makefile
flight/CopterControl/System/coptercontrol.c
flight/Modules/Actuator/actuator.c
flight/Modules/GPS/GPS.c
flight/Modules/ManualControl/manualcontrol.c
flight/Modules/Stabilization/stabilization.c
flight/Modules/System/systemmod.c
shared/uavobjectdefinition/manualcontrolsettings.xml
shared/uavobjectdefinition/stabilizationdesired.xml
2011-07-30 10:06:10 +09:00
James Cotton
333ab645ec
Dos2unix manualcontrol.c to facilitate merging
2011-07-30 09:55:02 +09:00
Stacey Sheldon
c2fb0d8b43
com: allow run-time allocation of buffers
2011-07-29 15:33:14 -04:00
Stacey Sheldon
5f8760a55c
com: Move buffering out of USART/HID layer and into COM layer
...
This allows the spektrum and sbus receiver drivers to bind
directly to the usart layer using a properly exported API
rather than overriding the interrupt handler.
Bytes are now pushed directly from the usart layer into the
com layer without any buffering. The com layer performs all
of the buffering.
A further benefit from this approach is that we can put all
blocking/non-blocking behaviour into the COM layer and not
in the underlying drivers.
Misc related changes:
- Remove obsolete .handler field from irq configs
- Adapt all users of PIOS_COM_* functions to new API
- Fixup callers of PIOS_USB_HID_Init()
2011-07-27 19:45:38 -04:00
Stacey Sheldon
6580462916
rcvr: specify drivers for groups of channels
...
Each channel was previously tracking a separate driver.
Now, channels are grouped within a channel group to save
RAM used for tracking and to better reflect how channels
are actually mapped.
2011-07-14 23:22:42 -04:00
Mathieu Rondonneau
612a439199
OP-423: simplify the MODULE_INITCALL macro and remove the ordering loops
2011-07-12 20:44:32 -07:00
James Cotton
0aec3b592c
Changing stabilization so that the PIDs are zeroed when not armed, but NOT when
...
the throttle is < 0. This will make things like axis-lock work while armed
without throttle. HOWEVER don't hold your stick in the arming position for a
long time or you can wind up the integrals now.
2011-07-12 14:35:32 -05:00
James Cotton
2c7cfe435f
Somehow this task runs quite a few times at the beginning so dT was going to
...
zero and making the attitude get NaN. Wrote recovery code for that condition
(should never occur) and also force minimum dT to 1 ms (also shouldn't occur)
2011-07-12 14:18:19 -05:00
James Cotton
53ca934b2b
Merge branch 'heli_stabilization'
...
Conflicts:
flight/CopterControl/System/inc/pios_config.h
flight/Modules/Attitude/attitude.c
flight/Modules/ManualControl/manualcontrol.c
flight/Modules/Stabilization/stabilization.c
2011-07-12 13:28:20 -05:00
Mathieu Rondonneau
d38f6167e3
OP-423:
...
Also reduce heap has it does not fit in SRAM anymore (not with current compiler).
(that's ok since if there is more space available, it will be reclaimed).
Merge branch 'master' into OP-423_Mathieu_Change_Init_To_Reduce_Memory_Footprint
Conflicts:
flight/CopterControl/System/inc/pios_config.h
flight/Modules/ManualControl/manualcontrol.c
2011-07-08 06:29:34 -07:00
James Cotton
2d995dc2f7
OP-539: Don't call the gyro setting callback during init because it clears the
...
gyro bias estimation.
2011-07-05 22:27:03 -05:00
Mathieu Rondonneau
9b9b5a1367
OP-423: remove ';' at the end of macro
2011-07-05 19:44:54 -07:00
Stacey Sheldon
740b5f1584
rcvr: convert PWM, PPM, SBUS and Spektrum to use PIOS_RCVR
...
All receivers now fall under the same driver API provided
by pios_rcvr.c.
This is part of a larger sequence of commits that will
switch the receiver selection over to boot time dynamic
configuration via UAVObjects.
2011-07-05 22:03:25 -04:00
James Cotton
ad8876c62a
OP-193: Weak leveling variant on rate mode. Slowly will return to level.
2011-07-04 20:44:55 -05:00
James Cotton
46ae7eb17b
Merge remote-tracking branch 'origin/bugfix-ground' into heli_stabilization
2011-06-30 19:40:22 -05:00
James Cotton
39e646ae1d
Make the rates all work properly in axis lock
2011-06-30 19:38:52 -05:00
zedamota
567e3ffcad
OP-542 Board resets with new Uploader
...
IAP module now checks magic value
2011-06-30 12:17:27 +01:00
James Cotton
a7206361d2
Slightly different way to respond to sticks in axis lock that is much more
...
responsive and avoids overshoot.
2011-06-26 21:59:54 -05:00
Mathieu Rondonneau
6683ce8570
OP-423: Make it more obvious that MODULE_TASKCREATE_ALL and MODULE_INITIALIZE_ALL are macro (for now):
...
- remove the ;
- also encapsulate the macro by {} in his own scope.
2011-06-25 11:40:01 -07:00
James Cotton
4c0245281d
Now we store the gyro bias avoid quashing the initialization correction.
2011-06-25 12:32:06 -05:00
Mathieu Rondonneau
de55c56427
OP-423: Change capital on macro to be uppercase for consistency.
2011-06-24 22:03:03 -07:00
James Cotton
dedbcbfceb
Correct nasty bug on range checking for max rate and use the axis lock rate
...
desired when in that mode.
2011-06-24 11:30:28 -05:00
James Cotton
e6ad21d881
Make gyro bias in deg/s * 100 to calibrate more precisely.
2011-06-24 10:51:07 -05:00
James Cotton
038f955cb1
OP-410 OP-333: Axis lock (heading hold) implemented
2011-06-24 10:38:26 -05:00
James Cotton
ab7ff56d96
Compute initial gyro bias while calibrating to speed up convergence
2011-06-24 10:38:26 -05:00
James Cotton
c0eff41dc6
OP-410 OP-333: Created an Axis-lock setting for stabilization
2011-06-24 10:38:26 -05:00
James Cotton
0a4bbcc12e
Added a field for initial gyro bias to speed up initialization.
2011-06-24 10:38:26 -05:00
James Cotton
28501842c3
Expose the rate D term which in simulations seems to help damp oscillations for
...
high RateKp terms. However it might be sensitive to gyro noise (vibrations).
In addition it is mathematically similar to lead shapign so probably only use
one or the other.
2011-06-24 10:38:25 -05:00
James Cotton
a09642675c
Tweak the integral calculation so it is scaled in ms internally. This avoids a
...
loss of precision on the accumulation.
2011-06-24 10:38:25 -05:00
James Cotton
373689207a
Add a 1-tap IIR filter into the gyros in the feedback path. This will make the
...
stabilization output a bit more resilient to the high frequency noise from
gyros. However this value shouldn't be too high as it will increase the phase
delay of the feedback loop and decrease stability. Default is 5 ms.
Note: this resests the stabilizationsettings object. Sorry guys.
2011-06-24 10:38:25 -05:00
Mathieu Rondonneau
dcd2774103
OP-423 Fix some comment from code review:
...
- update example module
- use module init macro for POSIX and WIN to make code cleaner.
2011-06-24 06:59:51 -07:00
Corvus Corax
f52f6d30c6
VTalk (flight): Buffers allocated dynamically with size calculated by UAVObjGenerator. Support for tx packet sizes < object size.i
2011-06-24 02:08:20 +02:00
James Cotton
f6312c7798
OP-410 OP-333: Created an Axis-lock setting for stabilization
2011-06-23 14:51:18 -05:00
James Cotton
9aba787b02
OP-193: Check for instance read success was backwards
2011-06-23 03:01:37 -05:00
James Cotton
368d5b649a
OP-193: Output mixer should read from up to 6 accessory channels (may add more
...
in future).
2011-06-23 01:47:55 -05:00
James Cotton
493fcaef2a
OP-193 OP-511: Add settings to scale the camera input output range
2011-06-23 00:47:27 -05:00
Mathieu Rondonneau
0ff5e9a46f
Merge branch 'master' into OP-423_Mathieu_Change_Init_To_Reduce_Memory_Footprint
2011-06-21 22:02:13 -07:00
James Cotton
8976d22fad
Merge remote-tracking branch 'origin/OP-159_os_sbus'
2011-06-21 17:51:22 -05:00
Mathieu Rondonneau
fc1e3f574c
OP-423: Split task create and module init in order to postpone task creation once the full heap is available.
...
Also implement some ordering (quite ugly still) in the module init and task creation order so we can decide which module to start/init first
and which module to start/init last.
This will be replaced/adapter with the uavobject list later (once it's implemented).
reserving some space for module init and task create parameters to customize module/task creation (this will be usefull once we get the list and customization from customer).
Changes have been made for OP and CC. Tested comped with CC,OP, sim_posix.
Only ran on bench with CC for couple of minutes (code increase expected but no dropping of stack which is good).
This gives task creation at the time wherethe all heap is available.
2011-06-19 22:35:40 -07:00
James Cotton
17fa227d1f
Fixed typo, thanks Os
2011-06-19 16:51:54 -05:00
Mathieu Rondonneau
5e3e7cc4e3
OP-423 Fix issue with init not properly started in the right order endup up object thinking other where not init.
2011-06-18 17:28:37 -07:00
James Cotton
5044ea36de
Start initializing objects in the modules that consume them. Shouldn't affect
...
OP yet but not tested.
2011-06-18 14:20:51 -05:00
Mathieu Rondonneau
b67a38661e
OP-423: merge master into that branch, resolve conflicts and test with CC and bl_CC
...
heap reamining is low (about 500) but stacks can be ajusted (specially the 200 bytes from system) to give the level close to 1Ko if needed.
Merge branch 'master' into OP-423_Mathieu_Change_Init_To_Reduce_Memory_Footprint
Conflicts:
flight/CopterControl/System/inc/FreeRTOSConfig.h
flight/CopterControl/System/inc/pios_config.h
2011-06-17 19:04:09 -07:00
James Cotton
9720a8444f
Make a few things optional if they are mostly for diagnostics to keep memory
...
down
2011-06-17 21:00:21 -05:00
Mathieu Rondonneau
65cf467ca4
OP-423: move the module initialize funtion into a specific section for OP and CC.
...
- create linker section for those <module>Initialize()
- later this list will incorporate parameters as well. (this probably will be more a OP feature to swap/remove/delete module on the fly.
- this is not done at compile time anymore by Makefile.
- this will allow us to have control on the module start at run-time (not implemented but build the ground for it).
- this simplify the startup (Part of code re-org).
- this change does not affect sim_posix and win32 (since they don't need that)
- ensure it's compiling for PiOS.posix
- port to PiOS.win32 but not tested (not compiled)
- tested on CC
- compile on OP.
- this free ~200 bytes.
- current avalable bytes (is we keep the same remaining bytes on the stack than before) is easily passed the 1.2Ko mark on CC with new gcc (4.5.2)
- this does not include init-reorg for each module (I still think more can be freed)
2011-06-16 22:13:19 -07:00
Corvus Corax
926246b402
UAVTalk: Make UAVTalk object oriented, allowing multiple UAVTalk instances
2011-06-16 16:35:37 +02:00
Oleg Semyonov
d8201ec45b
sbus: provide a stub based on Spektrum driver (for CC only)
2011-06-15 22:35:21 +03:00
James Cotton
7d7d03cfd0
OP-193 OP-511: Basic code for camera stabilization. Currently tune range with
...
the servo endpoints and neutral.
2011-06-15 11:18:29 -05:00
Mathieu Rondonneau
7598e898fa
OP-423 Step-1: split system stack and implement water mark for IRQstack:
...
- use IRQStack for ISRs (at begening of SRAM) (let's call it the irq stack)
- use end of heap for stack needed during initialization (let's call it the init stack).
- the systemStats in GCS indicate the remaining bytes in the IRQ stack (this is realy usefull to monitor our (nested) IRQs.
This is the base ground to provide as much memory as possible available at task creation time.
Next step is to re-organize the initialization in order to move all the init out of the thread's stacks onto the init stack.
This will provide as much memory as possible available at task creation time.
Basically the stack during initialization will be destroyed once the scheduler starts and dynamic alloc are made (since the init stack is at the end of the heap). We will need to make sure we don't clobber the heap during initialization otherwise this will lead to stack corruption.
2011-06-12 20:23:00 -07:00
James Cotton
bdc9094975
OP-493 OP-505 OP-511: Make up to 6 accessory channels so some can go from
...
ManualCommand to a camera module and some could go from that camera module to
output (i.e. mixing of inputs to pan tilt with stabilization)
2011-06-06 10:56:31 -05:00
James Cotton
1ecd244aff
OP-493 OP-505 OP-511: Fixed bug with the direct mapping where it looked at throttle curve
...
source instead of directly bypassing
2011-06-06 10:53:55 -05:00
James Cotton
6c6906d61e
OP-493: Switch to using Accessory0:2 to match the InstId
2011-06-05 15:38:58 -05:00
James Cotton
99b3a629a8
OP-493: Force three AccessoryDesired objects to always exist. Routing to
...
Mixing channel now works. However Accessory desired instances do not show up
in GCS.
2011-06-05 15:38:58 -05:00
James Cotton
a1336e4d03
OP-493: Make sure accessory desired is not a single instance object
2011-06-05 15:38:57 -05:00
James Cotton
8ebd6a83d6
OP-493: Add support to bypass the mixer and route accessory data straight to
...
outputs. Warning: This has no failsafes like arming. We should discuss if
this is appropriate.
In addition accessory objects can be routed throught the mixer for collective
or flaperon.
2011-06-05 15:38:57 -05:00
James Cotton
a1d60cb77d
OP-493: Use multiple instances when using multiple accessory channels
2011-06-05 15:38:57 -05:00
James Cotton
1365542103
OP-493: Populate the Accessory Desired from TX
2011-06-05 15:38:57 -05:00
James Cotton
624baeda5c
Merge branch 'OP-423_Mathieu_GetSet_Uavobjects' into bugfix-flight
2011-06-05 09:48:22 -05:00
Mathieu Rondonneau
7b8d09371b
fixing minor compiler error/warnings when compiling OP with DEBUG=NO
2011-06-03 21:47:43 -07:00
Mathieu Rondonneau
31a06a5ae7
OP-423 add set/get uavobjects functions to access objects fields separately.
2011-06-02 21:18:34 -07:00
Stacey Sheldon
ac0eb3a5c7
Merge remote branch 'origin/stac_build-opf-image'
2011-05-26 21:29:53 -04:00
James Cotton
66b85acebd
Merge branch 'bugfix-flight'
2011-05-26 20:07:58 -05:00
James Cotton
d4a0f55cb7
Altitude.c: Indentation
2011-05-26 14:06:47 -05:00
James Cotton
6e186bab35
Merge branch 'bugfix-flight' into OP-378_James_INS
2011-05-26 12:19:35 -05:00
Oleg Semyonov
36d2a467e0
manualcontrol: fix copy/paste error
2011-05-26 00:16:36 +03:00
Stacey Sheldon
96827eecff
build: Make all flight sw use pios_board_info_blob
...
Now that every bootloader build has a board info blob,
make all fw and bl images use it.
The following MACROS are removed:
BOARD_TYPE, BOARD_REVISION, BOOTLOADER_VERSION,
START_OF_USER_CODE, HW_TYPE
These values are now ONLY available from the bootloader
flash via the pios_board_info_blob symbol. These values
must not be #defined or otherwise hard-coded into the
firmware in any way. The bootloader flash is the only
valid source for this information.
NOTE: To ensure that we have an upgrade path from an
old bootloader (without board_info_blob) to a
new bootloader (with board_info_blob), it is
essential that the bu_* targets do not depend
on (or validate) the board_info_blob being present
in the bootloader flash.
2011-05-24 00:58:10 -04:00
dankers
5f32803763
Changed accelKp = 1; in 3C filter when calibrating bias when arming. Increase default yaw by 0.005
2011-05-17 04:15:28 +10:00
dankers
71d582495e
On arm bias calibration terms now matches boot calibration terms
2011-05-16 00:16:19 +10:00
James Cotton
b01e897e36
Merge branch 'OP-488_NeverHaltWhileArmed_James'
2011-05-14 17:21:05 -05:00
dankers
84e09031a7
Faster attitude calc, be much more aggressive with working out bias.
...
Change AccelkP to 0.05 to give accels more influence, just balacing out the 3C filter.
Change stab setting to be a better default fopr most Quads.
2011-05-15 05:58:58 +10:00
James Cotton
dbf8a77a94
Now there are other attitude settings (like rotation angle) make sure these are
...
loaded right away at power up
2011-05-13 07:24:44 -05:00
James Cotton
3d5244c4b8
Fix small typo THRSHOLD to THRESHOLD in gps.c
2011-05-12 18:57:16 -05:00
Corvus Corax
bce51d4258
OP-435 Optionally allow building of GPS without support for GPSSatellites and GPSTime UAVObjects to save memory
2011-05-12 21:00:59 +02:00
James Cotton
338d363289
When a channel is disabled in the mixer force the channel to have a 0 us pulse
...
duration. The default before was neutral in failsafe.
2011-05-11 20:09:28 -05:00
James Cotton
5d28276c49
Reshuffle memory allocation on CC after FlightStatus object introduced
2011-05-11 17:35:52 -05:00
James Cotton
fdd591b700
OP-488: If the FirmwareIAP receives a halt signal but system is not disarmed
...
abort the halt.
2011-05-10 14:40:21 -05:00
James Cotton
163d41fb60
OP-466: Make the test output panel work when there is not a valid mixer
...
configured. However unlike previous patch keeps alarms showing so you will be
unable to arm normally.
2011-05-10 02:43:55 -05:00
James Cotton
808e3c8ea2
Fix bug I made where guidance didn't look at new flight status object
2011-05-09 11:37:06 -05:00
James Cotton
4ec0263dfc
OP-476: If AttitudeSettings.ZeroDuringArming is true, then while arming (1
...
second) it will speed up the estimate of gyro bias.
2011-05-07 15:29:21 -05:00
James Cotton
8e06eb3162
Get the "IDLE_NO_LOAD" level closer for CC with optimizations on, but it would
...
be great if someone actually calibrated this for me!
2011-05-07 15:07:14 -05:00
James Cotton
10e55c25bc
OP-475: More changes to get the FlightStatus object to work for Armed and
...
FlightMode
2011-05-07 15:06:04 -05:00
James Cotton
80c839d5bb
OP-475: Starting to use the new FlightStatus object
2011-05-07 13:17:21 -05:00
James Cotton
e2819c6815
Restructure the ManualControlCommand code to be much more readable. Also
...
facilitates the new FlightMode object.
2011-05-07 12:43:27 -05:00
James Cotton
d1fb254a41
Merge branch 'master' into bugfix-flight
2011-05-07 06:56:54 -05:00
James Cotton
fef1e2dc2e
Merge remote-tracking branch 'origin/OP-174_Sambas_BaroAlt_to_ETOSD'
2011-05-07 04:41:13 -05:00
Corvus Corax
5f749dda7e
Modules/ManualControl: bugfix GCS Control was broken due to connection state and arming being checked outside of the "object_writable()? {}" if clause
2011-05-06 01:26:34 +02:00
James Cotton
7e418866be
Update the AttitudeSetting object to make the board rotation more human
...
readable and update the GCS fields appropriately.
2011-05-05 13:04:56 -05:00
James Cotton
dd36192e37
Merge branch 'bugfix-flight'
2011-05-05 00:36:55 -05:00
James Cotton
93d8449814
OP-474: When throttle < 0 and "spin while armed" mode enabled don't take into
...
account stabilization or stick - stay at neutral
2011-05-05 00:32:15 -05:00
James Cotton
05684e966b
OP-470: Make arm/disarm threshold 50% instead of 90%
2011-05-04 22:53:00 -05:00
James Cotton
401a989c63
OP-474: Add option to ActuatorSettings to allow people to request their propellers always spin an neutral when armed (I don't recommend this).
2011-05-03 00:08:39 -05:00
James Cotton
9daca1ac41
OP-469: Wasn't paying attention and missed a line
2011-05-02 22:22:57 -05:00
Corvus Corax
8d8144f233
OP-441 Prevent double alarm set ( setFailsafe() already sets alarm to CRITICAL )
2011-05-02 18:00:12 +02:00
James Cotton
9afedc0139
OP-469: Fix a bug I wrote where MaximumRate instead of ManualRate was used to
...
scale sticks in rate mode.
2011-05-02 04:33:32 -05:00
James Cotton
d9221fac06
Merge remote-tracking branch 'origin/OP-452_InputConfiguration'
2011-05-02 03:40:59 -05:00
David Carlson
341dbd7ad9
Change blink rate to Hz rather than 1/2 Hz. As per comments in review OPReview-18.
2011-05-02 00:50:42 -07:00
David Buzz Carlson
edd5ad8a78
Update Stat LED blink rate when armed to 5 Hz from its current 1 Hz. This allows a more drastic change in LED behavior to highlight that the aircraft WILL NOW CUT YOUR FINGER OFF IF YOU DON'T RESPECT IT!!
2011-05-02 00:50:42 -07:00
James Cotton
62e3d35a97
OP-452 Read the channel times even if a bad mixer is configured
2011-04-29 17:57:04 -05:00
Sambas
2413fd451f
OP-174 ET OSD: barometric altitude works now, units must be set metric with E-Logger
2011-04-29 19:08:28 +03:00
Corvus Corax
8c7f3e2720
OP-435 #ifdef covered one command too many - bugfix
2011-04-25 18:37:28 +02:00
Corvus Corax
eb9ccc2f9b
OP-383 Review 11 : Removed commented out unused variables as directed by review
2011-04-25 16:36:23 +02:00
Corvus Corax
cdb6b65e64
Merge branch 'master' into OP-383_Edouard_CPUSerial_in_FirmwareIAP
2011-04-25 02:36:44 +02:00
Corvus Corax
5d952f81e3
PIOS: BL_HELPER: refactored function names
2011-04-23 21:11:17 +02:00
Corvus Corax
150464344d
BL_HELPER: call CRC_Ini() from within CRC check function
2011-04-23 20:55:21 +02:00
Corvus Corax
357bc369db
PIOS: Bootloader Helper functions should sit in HAL, not duplicated in every single architecture.
2011-04-23 19:40:41 +02:00
Corvus Corax
192e31986d
PIOS, Modules/FirmwareIAP: Use correct HAL for CPU serial
2011-04-23 18:30:32 +02:00
Corvus Corax
2bf7ea2271
Modules/GPS: Make code to deal with home location optional to allow a sleeker GPS module for RAM challenged systems
2011-04-23 16:49:07 +02:00
elafargue
e4112e210f
Reduce size of FirmwareIAPObj to 40 bytes: only takes the 40 first bytes of the firmware description, ignores the rest. Makes the FWIAP UAVObject more decent size-wise, and does not break USB TX anymore.
2011-04-19 20:45:49 +02:00
elafargue
45e92d654e
Implemented support for the Unique STM32 CPU serial number in the firmwareIAP object.
2011-04-19 00:31:20 +02:00
peabody124
3afdc7e41c
CC-24: Rotate the CC board at any angle relative to "flat and level" with GCS
...
config plugin updates. Has not been tested in flight yet although seems
sensible so please be careful when using this code.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3166 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-04-15 06:37:16 +00:00
pip
33d9d31082
Modified manual control input value checking to determine RC connection state - was previously checking only the throttle channel for semi-valid input range, it now checks the Throttle, Roll, Yaw and Pitch channels for full-valid values (manual value is within min and max values).
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3146 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-04-10 14:00:46 +00:00
corvus
da76192e47
Modules/Guidance: Bugfix in Position-Hold code
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3112 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-31 20:08:14 +00:00
peabody124
a57c289b3a
CC-24: Support mounting CC at any angle by applying a rotation. Now need to
...
rotate sensors to make sure stabilization behaves well so don't use till then.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3100 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-29 02:15:57 +00:00
peabody124
48c20d37a9
OP-349 CC-32: Added a Completed operation that is returned after successful
...
save or load
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3093 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-28 19:16:50 +00:00
peabody124
bd5925d526
CC-35: Separate term for CC yaw bias rate and others
...
Note: AttitudeSettings changed so you'll need to re-zero it
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3090 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-28 18:42:48 +00:00
peabody124
4120937391
OP-364 OP-191: Convert the OPMap setting of HomeLocation to mGau to match the
...
changes in flight code
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3083 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-28 10:40:26 +00:00
peabody124
3fc88f69e2
Covering a case that should not occur
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3081 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-26 21:02:43 +00:00
edouard
bce3d21a0f
Fix FirmwareIAP module, as it failed to reset the board if the object was queried before for other purposes.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3080 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-26 12:00:08 +00:00
peabody124
e262e3c220
Convert outer position controller to PI
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3077 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-26 11:40:33 +00:00
fredericg
662a3e5cc8
OP-361 Also parse ZDA message in order to get GPS time info with new GTOP FW
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3074 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-26 11:13:11 +00:00
peabody124
eafcf35fa6
Reenable position hold
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3072 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-25 20:17:31 +00:00
edouard
f19b0efc6f
CC-40 Implemented support for FirmwareIAP on Coptercontrol: you can now use the "Halt" command on the uploader gadget.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3070 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-25 13:50:13 +00:00
chebuzz
2e5863281c
CC/Stabilization - Fix attitude bias not being applied over all sampled quantities
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3065 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-24 17:12:04 +00:00
fredericg
b37dd770d2
Use attitudeActualData.Yaw for course
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3064 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-24 10:56:20 +00:00
jonathan
160695e546
OP-191: Merge from full-calibration branch. Add the local gravitational field strength to the home location.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3055 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-21 00:48:32 +00:00
fredericg
d270f7e987
Changes to FlightBatterySettings as discussed in forums
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3047 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-19 18:45:40 +00:00
FredericG
ea512a3da7
OP-322 Implement Audible alarm via PWM - Different tune for GPS and Battery Alarm
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3035 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-13 17:02:19 +00:00
peabody124
b76a235940
OP-317: Fixed the FirmwareIAP resetting the AHRS board. Sorry this took me so
...
long to do.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3029 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-12 09:08:12 +00:00
FredericG
c3732bad93
OP-322 Implement Audible alarm via PWM - handle new "PWM Alarm Buzzer" channel type
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3028 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-12 09:02:02 +00:00
FredericG
5bdf836027
OP-324 No code change; commented debug-code
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3026 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-12 08:55:45 +00:00
FredericG
baf0850690
OP-336 CPU usage calculation incorrect when armed - no measure the time between calculations
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2987 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-06 11:50:54 +00:00
FredericG
5554973cea
OP-174 ET OSD support - fix for writing configurations - temp workaround for what seems to be an issue with I2C driver OP-305
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2986 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-06 11:19:29 +00:00
osnwt
8d085552fb
CC: Modules/Attitude/attitude.c: unused headers removed (do we have another?)
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2967 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-04 21:12:37 +00:00
osnwt
e9d507dd3e
CC: Fixed compilation error after uavobject rename
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2966 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-04 20:56:58 +00:00
FredericG
32c7596636
OP-324 Make NMEA parser more resilient to corrupted messages - For the new GTOP GPS FW, parsing of the VTG message is needed to get Heading and GroundSpeed
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2960 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-04 07:57:18 +00:00
FredericG
c890f596e4
NMEA: minor change to debug-messages
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2953 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-03 19:53:10 +00:00
scott
f1ee47dcff
Added #include "pios_config.h" to make sim_posix build again. Some alarm constants were missing.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2945 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-03 05:09:11 +00:00
vassilis
b084ea7ea1
FlightPlan/Python: Updated object generator to create a Python file for each UAVObject. It is now possible to access all UAVObjects from the FlightPlan Python scripts.
...
Warning: The memory utilization when importing objects is unacceptably high making it unusable in the flight code at this point. It can be however used with the SITL simulator. Some more investigation is needed to understand why several kb of memory are used each time a module is imported (even before any functions are called or objects from the module are created).
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2938 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-03 02:22:50 +00:00
peabody124
3b13ad6859
OP-329: Enumerate more possible flight modes now like multiple stabilization
...
modes so that the FlightMode field is complete in terms of being informative
enough
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2935 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-02 01:25:44 +00:00
peabody124
915ae1ae3c
OP-313 Account for which axis are in rate and none to get the desired
...
quaternion
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2933 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-02 01:25:38 +00:00
peabody124
8930ec01de
OP-313 Quaternion based stabilization, gets rid of lots of checking angle
...
signs, should be stable for all orientations
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2932 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-02 01:25:34 +00:00
peabody124
3488d28a5b
Whitespace fixes
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2931 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-02 01:25:30 +00:00
peabody124
3e17c2ff55
OP-312: Create a StabilizationDesired object that is the generic input to
...
Stabilization, carries the desired rate or attitude as well as a flag on how to
intepret it.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2930 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-02 01:25:27 +00:00
peabody124
672b9ce961
Convert failure to mount SD card to an error so you can't arm with an
...
unconfigured quad
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2929 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-02 01:25:23 +00:00
pip
beedb7fdad
Added center stick deadband code - currently deadband is set to '0' so not used)
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2927 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-01 21:43:20 +00:00
FredericG
7d679e01f0
ET-174 Adapted ET OSD Drv to current GPS coordinate format
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2910 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-27 19:58:34 +00:00
FredericG
0124c42b8c
OP-324 Make NMEA parser more resilient to corrupted messages - WANRING: NMEA parser refactored - VTG and ZDA messages no longer interpreted
...
Sometimes corrupted NMEA messages can get passed the NMEA "CRC" check and this caused the NEMA parser to crash because it assumed that the correct amount of parameters are present.
Now the NMEA message is split into its different parameters before it is passed to the message-specific parser. Hence the function-signature of the parser functions has changed and the implementations of these functions has changed.
I also decided to no longer interpret the VTG and ZDA because they do not contain more data than the other messages that are being parsed.
Not tested in flight, and could not test the TOP message.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2904 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-27 13:45:19 +00:00
peabody124
ea390d0b90
CC-26: Add accel bias term. Note it's units are LSB, not m/s^s
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2895 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-26 22:21:44 +00:00
osnwt
899c1fe0bf
Moved CPU and heap alarm thresholds into pios_config.h.
...
Fixed heap thresholds for the CC (prevented arming).
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2886 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-26 11:46:39 +00:00
pip
4b4d9043fb
Set PDOP and VDOP to 99.99 in binary mode (theose values are not available in binary mode). A couple of cleanups too.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2874 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-24 10:55:45 +00:00
andrew
84c26f8905
OP-84
...
Battery module for Power Sensor version 2
made a few variable declarations static so things work again after changes to make this module not run in it's own thread.
Fixed the energy consumed calcs to scale correctly.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2870 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-24 05:05:17 +00:00
pip
bee704176b
Fixed a bug when scanning for start of packet.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2861 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-23 10:11:26 +00:00
pip
e9d7ab09be
Improved efficiency (a lot) when scanning for and locking onto the start of a GPS binary packet.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2858 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-23 09:24:17 +00:00
pip
e7850ab25e
Corrected scale for lat/lon - was out by a factor of 10
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2846 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-22 14:16:16 +00:00
pip
f6370a035d
'Slightly' more efficient binary packet handling.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2845 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-22 12:45:51 +00:00
pip
9da0fb47e2
Reduced GPS command resend to 2 second time-out, a few more white space corrections.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2844 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-22 12:32:08 +00:00
pip
3881c652c1
Simplified the binary code a little, added a 300ms delay after sending a FULL COLD RESTART to the GPS (IF we do that is), fixed some spelling mistakes.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2843 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-22 12:15:25 +00:00
pip
9d14723dcc
Commenting tidy upping
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2842 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-22 11:32:24 +00:00
pip
d1d165adff
More white space/tab corrections.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2841 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-22 11:19:12 +00:00
pip
0fd6170979
added another "#ifdef ENABLE_GPS_NMEA"
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2840 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-22 11:02:17 +00:00
pip
a2259201e5
removed tabs after spaces.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2839 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-22 10:55:01 +00:00
pip
414836a4c9
Added another parsing_errors++ line.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2838 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-22 10:36:27 +00:00
pip
4547013901
Added GTOP BINARY mode to the GPS module.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2837 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-22 10:16:50 +00:00
FredericG
42cf204dcd
correctly detect 100% load
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2836 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-21 21:50:10 +00:00
peabody124
5f2c502172
Arm checks: Simply don't check GPS because the dependence on AHRS Settings
...
breaks CC. This should be done by the GPS alarm being set only when
appropriate (i.e. by AHRS on OP when needed) and not by the GPS module.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2824 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-21 05:58:24 +00:00
pip
0c48fe258a
Changed alarm level checking from WARNING level to ERROR level before allowing arming.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2822 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-20 19:34:27 +00:00
pip
88cf1e276a
Ignore Telemetry alarm when arming (telemetry alarm no longer prevents arming).
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2821 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-20 17:53:03 +00:00
pip
df26016c64
Added alarm check when trying to change state to ARMED mode (from DISAMRED mode), if any warnings are set then it will not go into ARMED mode - unless the GPS is not required, in which case the GPS alarm will be ignored (if using Simple or Indoor AHRS modes). These checks are done in the okToArm() function.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2820 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-20 16:42:31 +00:00
sambas
8d6f320fca
Handle I2C defines better, needed in CC for now
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2815 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-20 07:14:02 +00:00
FredericG
c9060393e5
OP-302 Remove threads from modules that do not need them - Battery Module
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2812 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-19 18:56:52 +00:00
FredericG
374e822f79
OP-302 Remove threads from modules that do not need them - ET OSD module
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2811 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-19 13:25:27 +00:00
FredericG
c5f814a931
ET OSD, WIP, measure timing
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2810 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-19 10:18:00 +00:00
pip
9a2bdac49c
Reduced CC CPU usage from 57% to 46% by moving the floating point multiplies outside of the accelerometer downsample/averaging loop in the updateSensors() function.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2809 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-19 09:33:03 +00:00
corvus
435072cf4e
Modules/Stabilization, Modules/ManualControl:
...
Move channel StabilizationSettings from ManualControlCommand to
AttitudeDesired, unify channel normalization and put them all into ManualControl
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2797 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-15 14:55:00 +00:00
stac
3fda65c5d3
hwinit: Convert SPI drivers to dynamic init
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2772 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-12 22:19:50 +00:00
stac
841b0d3d6d
hwinit: Convert COM and USART to dynamic init
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2771 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-12 22:19:43 +00:00
peabody124
8498512855
CC-20 Attitude initialization: Make sure no divide by 0 condition possible
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2761 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-08 16:34:55 +00:00
peabody124
9f71f4121c
CC-18 Attitude: Change units to proper engineering ones. An accelKp=1 means
...
that it will completely follow the accel attitude each cycle and is way too
high. Ki=1 means the gyro bias wil be correct by accels each cycle (way too
high).
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2755 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-08 16:34:35 +00:00
peabody124
cfe295377c
CC-18: Normalize the gravity vector to unity gain
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2754 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-08 16:34:31 +00:00
peabody124
74cc7dbfc9
CC-20 Attitude: Jack up Kp and Ki values for first 5 seconds to force faster
...
convergence of gyro bias, then the normal values can be lower.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2753 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-08 16:34:28 +00:00
peabody124
03fb82ad0a
CC Attitude: Change when AttitudeRaw is set to end of attitude estimation,
...
because this is what is determines when the Stabilization code executes.
Because we aren't oversampling gyros relative to the PID in CC we should set
the attitude first (computational time to do so is negligible).
Also change update rate to 500 Hz.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2750 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-08 16:34:18 +00:00
FredericG
d7fc7646b0
OP-246 UAVOBJ CHANGE - Setting to disable arming/disarming
...
options="Always Disarmed,Always Armed,Roll Left,Roll Right,Pitch Forward,Pitch Aft,Yaw Left,Yaw Right" defaultvalue="Always Disarmed"
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2744 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-06 16:16:20 +00:00
peabody124
f97d853c80
Make the PriTx queue optional which saves 700 bytes
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2729 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-05 10:52:52 +00:00
peabody124
efca295ea0
Modules/Guidance: Fix a bug Corvus caught
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2727 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-05 01:14:55 +00:00
peabody124
04f54928d6
Modules/Guidance: Fix a bug Dale caught about not grabbing settings and also
...
correct a typo when NedAccel.Down wasn't used. Finally increase stack size of
guidance task.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2718 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-03 20:00:00 +00:00
peabody124
e5b26bc67d
More memory tweaks to keep CC flowing
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2709 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-03 02:42:49 +00:00
peabody124
fedadb1275
CC-8: Move the queue registration into the ADC PIOS driver to allow other
...
functions to use it easily
Conflicts:
flight/Modules/Attitude/attitude.c
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2707 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-03 02:42:43 +00:00
peabody124
810fa70856
UAVObjects: Remove the raw versus filtered fields in the sensor data. Save
...
some memory.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2706 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-03 02:42:39 +00:00
peabody124
c95a6447bf
CC-8 Whenever the gyro data is updated the callback now pushes the data onto a
...
queue, which update sensors waits for. This confirms one update per gyro
update. All available accel data will be pulled off each time.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2705 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-03 02:42:33 +00:00
peabody124
986e124202
CC-7 Reverse order of two lines so that yaw bias converges instead of diverges
...
:-)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2693 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-02 09:16:28 +00:00
peabody124
265737427b
CC-7: Make the gyro scale adjustable (for now at least, this was largely for
...
debugging, let's compare values).
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2692 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-02 08:57:42 +00:00
peabody124
1663a838ff
CC-7 Full complimentary filter ala Mahoney paper using quaternion
...
representation. Also improved gyro bias initialization.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2691 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-02 08:57:38 +00:00
peabody124
cf2e9fb349
Memory: Also allow overriding Stabilization stack size
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2690 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-02 08:57:34 +00:00
peabody124
77ce0d6391
Actuator: Fix bug I made a while ago that stops servos going negative values
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2677 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 21:05:00 +00:00
peabody124
f93ed5f01f
CC Module memory: Make it clean for CC to override the stack sizes of modules
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2668 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:18:35 +00:00
peabody124
b1e4b65f3d
CC-1 Bigger oversampling window for CC sensor data
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2667 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:18:31 +00:00
peabody124
1c6b51b704
UAVObjects/AttitudeSettinsg: Object for CC to tune the attitude estimation
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2666 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:18:26 +00:00
peabody124
15f3ada700
Get rid of ms * 10 units since the time resolution of FreeRTOS is in ms
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2665 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:18:22 +00:00
peabody124
3f088bed8d
CC-9 1. Improve the timings of the attitude estimation
...
2. Disable FirmareIAP module in CC (somehow causes lockups when also using vTaskDelayUntil in Attitude WTF)
3. Make the SPI bus run a little faster so we can handle the 3200 Hz from accel
while running the filter at 333 Hz
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2664 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:18:19 +00:00
peabody124
1d2ad6e9cb
Telemetry: Move the telem stack size to the board definition file since CC
...
needs less
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2659 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:17:59 +00:00
peabody124
c9207b3754
CC-14 PIOS/Servo: Set more than two bank speeds
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2658 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:17:55 +00:00
peabody124
200f9a7247
FirmwareIAP: Whitespace fix, spaces to tabs
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2657 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:17:51 +00:00
peabody124
1cf7555b7d
CC-10 Rename CCAttitude to Attitude. If there are alternative ones we will
...
just have nested subdirectories of Attitude
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2655 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:17:40 +00:00
peabody124
85d42868d6
CC-10 Rename the TaskInfo and Alarm field for CCAttitude to Attitude
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2654 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:17:36 +00:00
peabody124
063c58e7c0
CC-12 Enable Watchdog on CC
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2653 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:17:32 +00:00
peabody124
037a63ee1d
CC-1 CC-8 Cache the oversampled gyro value and use that to get rid of glitches.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2652 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:17:27 +00:00
peabody124
29ad7b3017
CC-13 Get FirmwareIAP reset working on CC
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2649 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 01:55:54 +00:00
peabody124
42b21a2697
OP-300 FirmwareIAP: Change to use event dispatcher callback to determine when
...
to reset OP (sends reset command to INS)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2648 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 01:55:43 +00:00
FredericG
a8bd4d28ad
OP-174 ET OSD, do not return from task, the system seems to crash when you do that; anyway the thread will be removed
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2625 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-29 17:47:40 +00:00
sambas
ba5ebb6b13
OP-303 PIOS/Sonar: preliminary support for HCSR04 ultrasound altimeter module, tested and working :)
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2610 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-28 19:21:22 +00:00
peabody124
3b0be12b67
OP-291 PIOS/Servo: Fix a few interrupt mappins for OP
...
Also keep the priority of actuator at idle+4, dropping it down slipped through
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2580 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:52:20 +00:00
peabody124
d2f3e0d379
CC-6 Initial code for the flash chip on CC
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2578 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:52:14 +00:00
peabody124
d4b4a6ca37
CC-3 Modules/CCAttitude: Add oversamplign to the accel data
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2576 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:52:08 +00:00
peabody124
cef46edafd
Manual Control: Drop the AHRSSettings dependency to bring task memory down
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2574 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:52:03 +00:00
peabody124
e16b1bffa9
CC-3 Remove unused code from CCAltitude
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2572 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:51:56 +00:00
peabody124
d5ccb59b5a
CC-3 CC Complimentary filter: Strip out some unused code and get the sampling
...
rate up
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2570 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:51:51 +00:00
peabody124
99fcd089d4
OP-291 PIOS/Servo: Make the remapping of timers a part of the driver structure
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2569 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:51:48 +00:00
peabody124
da96ce15b9
OP-256 PIOS/PWM: Converting PWM input to use standard driver structure.
...
Beginning of unifying the input types into PIOS_RECEIVER.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2568 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:51:45 +00:00
peabody124
108ea8c959
OP-295 Get CC pin mappings consistent for using the temperature sensor
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2565 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:51:34 +00:00
peabody124
edced9177c
OP-291 PiOS/Servo: Converting output to use driver system
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2564 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:51:32 +00:00
peabody124
80c97ddfd0
CC-2 CC-3 Modules/CCAttitude: Flip the up-down convention of the board
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2563 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:51:29 +00:00
peabody124
c55d40bdbc
CC-3 Setting up monolithic task template to keep code size down. Importantly
...
switch to heap_1.c which saves a lot of money.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2561 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:51:22 +00:00
FredericG
f7e6f998ca
OP-288 Slight simplification of the ManualControl module
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2548 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-23 18:38:00 +00:00
vassilis
b297ef0ae5
Flight/FlightPlanner: First release of openpilot.py library giving access to RTOS and debug fields. Implemented STOP command, this should be the normal way for stopping scripts. The KILL command should be only used as a last resort for misbehaving scripts. The KILL command will delete the VM thread.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2535 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-22 21:32:23 +00:00
peabody124
bcdd87689a
OP-295 Modules/SystemMod: Get the internal CPU temperature sensor and store in
...
system stats when available
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2511 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-21 17:18:24 +00:00
peabody124
2d9f7f32d1
OP-291 PiOS/Servo: Converting output to use driver system
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2499 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-21 03:40:21 +00:00
cwabbott
e73da04cc6
PiOS.win32: changes according to rev 2480, fix compile error in manualcontrol.c, add vTaskDelete() to win32 FreeRTOS.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2484 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-19 23:52:11 +00:00
vassilis
d7fd8a3bcd
Flight/FlightPlan: Enable Python VM and test flightplan execution. From now on a Python executable needs to be in the system path as it is used in the Makefile.
...
A test script is statically linked (will eventually be uploaded by the GCS and stored in the VM), it can be found under: Modules/FlightPlan/flightplans/test.py
To start the script send the FlightPlanControl object with the Start command, to stop send the Stop or Kill commands.
Next release will be the OpenPilot python libraries and access to UAVObjects from the script.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2480 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-19 03:34:01 +00:00
osnwt
780f441ae9
OP-289/Flight: do not use RC input if disconnected. Quick fix until better arming system is designed.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2479 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-19 00:01:33 +00:00
FredericG
76420d7972
OP-288 Simplification of ManualControl code
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2478 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-18 19:30:50 +00:00
peabody124
56dd0569b8
CC-2 Complimentary filter working on copter contol, nice attitude
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2475 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-17 08:45:43 +00:00
peabody124
cf17569de7
CC-1 Modules/CCAtttitude: Calling the ADXL345 library and getting the accel and
...
gyro data into attitude raw. Hardcoded calibration for now.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2474 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-17 08:45:40 +00:00
peabody124
211585c7d7
CC-1 Modules/CCAttitude: Initial reads from accelerometer
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2472 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-17 08:45:34 +00:00
andrew
ce87b8f05a
OP-274
...
Fixed Changing of Debug port baud rate only to occur when debug is enabled
Fixed brief in header file
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2470 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-17 04:02:37 +00:00
peabody124
8959007a38
Flight/Actuator: Log the longest update of motors in ms, not ms * 10
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2467 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-17 02:11:05 +00:00
cwabbott
7f8ea5e55a
PiOS.win32: updates to get it compiling again.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2462 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-17 00:00:41 +00:00
edouard
b3ca037308
OP-277 Update all files to use a BOARD_TYPE and BOARD_REVISION scheme through the whole codebase.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2458 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-16 20:41:55 +00:00
FredericG
c2613ffa88
Spaces->tab no code change
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2456 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-16 18:49:27 +00:00
FredericG
3f1ad074df
OP-246 Configuring arming/disarming; using field to ManualControlSetting to define which channel is used for arming or to disable arming
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2455 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-16 18:17:30 +00:00
peabody124
33f3500e64
CC-3: New module for copter control
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2441 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-16 02:45:27 +00:00
peabody124
9cf3ee9fb3
OP-267 Flight/UAVObjectManager: Make all references to DFS function depend on
...
PIOS_USD_SDCARD. However, this needs to be cleaned up and abstracted out of
the UAVObjectManager who shouldn't care about the storage layer.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2417 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-14 01:38:27 +00:00
peabody124
940792db5c
OP-265 CopterControl: Fork main OpenPilot directory
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2416 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-14 01:38:24 +00:00
peabody124
fc54159369
OP-265 Flight reorganization of UAVObjects and Modules up a directory
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2415 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-14 01:38:19 +00:00
gussy
ac1a73800b
Moving Modules into OpenPilot directory.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@236 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-04 05:58:03 +00:00
vassilis
94d3c1a3f1
Added support for event callbacks (as an alternative to task event queues)
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@234 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-03-04 03:04:39 +00:00
vassilis
93901e8754
Refactored UAVObjects and UAVTalk for reduced memory footprint, added support for multiple instances within objects (useful for array objects, e.g. waypoints). Still not fully tested.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@199 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-02-27 19:57:45 +00:00
vassilis
b1b8fe4b37
Creation of UAVObject ,UAVTalk and Telemetry modules (compiles but untested!)
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@196 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-02-22 02:18:23 +00:00