Stacey Sheldon
e6ead85857
usb cdc: fix device descriptor to work on Mac
...
Apple is very particular about requiring the bDeviceClass
to be set to 2 (Commmunication Device) even for composite
devices which seems wrong.
Device is enumerated without error on Mac now. Not sure if it
works though.
2011-12-30 23:05:34 -05:00
Stacey Sheldon
617a30c07c
usb cdc: attach telemetry to CDC rather than HID
2011-12-30 23:05:34 -05:00
Stacey Sheldon
59cb489e01
usb: clean up pios hooks into stm32 usb_core
...
Reduced scope of many variables since they were being
exposed unnecessarily.
Renamed pios_usb_hid_prop code to pios_usbhook to reflect
the fact that it implements all of the callout functions
that are hooked into the stm32 usb library.
2011-12-30 23:05:33 -05:00
Stacey Sheldon
c0259dc616
usb cdc: USB composite device with HID + VCP
2011-12-30 23:05:33 -05:00
James Cotton
25dfb5463e
Add option to switch to using the MPU6000 accel instead of BMA180. Disabled by
...
default.
2011-12-29 02:08:13 -06:00
James Cotton
c080080810
Add ability to change the SPI bus runs at
2011-12-29 00:09:53 -06:00
James Cotton
bf98630851
Add streaming the sensor data out of the serial port
2011-12-26 17:52:45 -06:00
James Cotton
9bf06bbd3e
Force the loading of the sensor gains and biases at the beginning
2011-12-24 16:14:28 -06:00
James Cotton
1092ac3184
Use the scale and bias terms for hte mag and accel
2011-12-24 15:58:12 -06:00
James Cotton
05da41a79b
Get FirmwareIAP object working on revo
2011-12-24 13:15:56 -06:00
James Cotton
569b201b58
Move the bl_helper out of the common directory as it isn't
2011-12-24 13:10:23 -06:00
James Cotton
5d4da2213f
Accidentally used floating point when parsing NEMA. Lost resolution on
...
position.
2011-12-24 10:37:30 -06:00
James Cotton
0b00e748a9
OP-565: Added the ability to do a trim flight to compute the accels for level flight
2011-12-21 15:25:00 -06:00
James Cotton
dd89d232ba
Add a magnetometer bias term although currently hardcoded to my board
2011-12-15 00:57:19 -06:00
James Cotton
0432dd450e
Enable the mag to be used in the complimentary filter to stabilize the yaw
...
direction
2011-12-15 00:56:50 -06:00
James Cotton
2240ad924a
Fix the orientation of the magnetometer
2011-12-15 00:46:43 -06:00
James Cotton
43ed6cd89c
Need to initialize the HomeLocation object
2011-12-14 14:08:03 -06:00
James Cotton
9148bb2c65
Make sure the sensors module grabs the sesor biases initially.
2011-12-14 10:38:43 -06:00
James Cotton
6dbad243db
Convert the CoordinateConversion functions to all be float until I determine
...
how to use doubles safely on F4.
2011-12-14 02:08:14 -06:00
James Cotton
09864a8cf6
Get outdoor EKF running although need to add in the ability to swap modes
...
(probably).
2011-12-14 02:07:33 -06:00
James Cotton
fd8899018f
Get EKF running
2011-12-14 01:54:06 -06:00
James Cotton
ed7cbd5a6c
Have to initialize the BaroAltitude object ini the init section for it to show
...
up on telemetry
2011-12-13 23:27:26 -06:00
James Cotton
9f50391fc5
Merge branch 'next' into revolution_sensors
...
Conflicts:
ground/openpilotgcs/src/plugins/coreplugin/OpenPilotGCS.xml
2011-12-13 20:50:10 -06:00
James Cotton
a37a17a4fb
Created a separate Sensor module and Attitude module for revolution
2011-12-12 21:40:39 -06:00
James Cotton
53cb5b67d1
Make the revo attitude now use the separate gyro object. CopterControl
...
attitude still needs an update.
2011-12-12 13:28:35 -06:00
James Cotton
d22e0e66dd
Create separate UAVOs for the sensors.
2011-12-12 13:05:40 -06:00
James Cotton
7273f87f9b
Fix NMEA parsing for M4 FPU
2011-12-12 09:47:11 -06:00
James Cotton
a9c61845af
Create a separate task for sensors and attitude on revo.
2011-12-12 00:47:16 -06:00
James Cotton
33a12d829e
Merge branch 'next' into revolution
...
Conflicts:
flight/PiOS/Common/pios_flashfs_objlist.c
2011-12-11 22:55:54 -06:00
Oleg Semyonov
10287e3e29
CC: rename ReceiverPort PPM+Servo (Servo) options to PPM+Outputs (Outputs)
2011-12-11 22:52:51 +02:00
James Cotton
162b0d7f75
Because the UAVO field sorting required for revo changes all the object IDs,
...
trigger a flash wipe on all existing boards with this upgrade.
2011-12-10 14:13:28 -06:00
Corvus Corax
a0cd71abe6
UAVObjects ; Modules/ManualControl: Fixed metadata interface and segfault when retrieving it
2011-11-30 09:20:46 +01:00
James Cotton
44ca9736df
Fix floating point calculation in NMEA parser and delete duplicate of NMEA
...
functions
2011-11-28 09:36:31 -06:00
James Cotton
43fa9e702e
Move DSM to Flexiport and enable GPS on GPS port. Currently GPS module locks
...
up though.
2011-11-28 09:11:13 -06:00
James Cotton
c33816dd79
Force mode switch to be floating point so F4 works
2011-11-28 09:10:26 -06:00
James Cotton
671c7537a0
Reorganize the pios_config.c file for revolution
2011-11-28 08:29:14 -06:00
James Cotton
1af66fc3d2
Get rid of 500 ms delay in startup for the pios_sys so that servos start
...
properly but a delay is still needs to get MPU6000 up right. Fucking POS.
2011-11-27 18:05:20 -06:00
James Cotton
9357960268
Get rid of old bootloader code for revolution using the ahrs spi link
2011-11-27 18:04:31 -06:00
James Cotton
f7f94011ee
Damnit. For higher bus speeds MPU6000 chip must be initialized twice in a row.
...
WTF piece of shit.
2011-11-27 02:35:08 -06:00
James Cotton
deea7cde41
Speed up coms to MPU6000
2011-11-27 01:51:43 -06:00
James Cotton
57e7126979
Increase stack size for manualcontrol. This might need to be applied to main
...
code.
2011-11-27 01:51:23 -06:00
James Cotton
f7d13ebd57
Hack to tweak the gyro gain for now although its too far out at the moment so
...
something isn't configured properly. Possibly it is staying in 250 deg/s mode.
Also make sure if the MPU6000 fifo backs up to pull extra data.
2011-11-27 01:22:37 -06:00
James Cotton
8bbc767a4e
Get the pressure sensor working and reading into Revolution
2011-11-27 00:52:09 -06:00
James Cotton
cd65df013e
Merge branch 'next' into revolution
...
Conflicts:
flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
2011-11-26 22:52:32 -06:00
James Cotton
13729f854e
PiOS F4: Fix PWM timer interrupts and enable PWM input
2011-11-26 22:41:41 -06:00
James Cotton
21367d3a22
Spektrum support for Revolution
2011-11-26 22:19:42 -06:00
James Cotton
e24c905ff7
F4 PiOS: Reimplement the RTC logic for F4
2011-11-26 22:13:57 -06:00
James Cotton
b11a4f7405
Clean up the actuator module for floating point usage. Also there was a bug I
...
don't understand where the channels should be scaled AFTER all of them are
computed. It feels like a memory overwriting bug and needs followup.
2011-11-26 16:12:32 -06:00
James Cotton
07e3ad10af
Force some floating point units to be safe
2011-11-26 15:52:25 -06:00
James Cotton
04f4afce46
Set idle load for revo
2011-11-26 15:52:04 -06:00
James Cotton
8c0db424fa
Fix long subtle bug where failsafe didn't show the output values it was using
2011-11-26 15:51:24 -06:00
James Cotton
c70a9a5381
Sanitize the floating point math in systemmod.c to be consistently floating and
...
not double
2011-11-26 15:16:16 -06:00
Oleg Semyonov
1f60f80053
Bring back the ERASE_FLASH option support for SettingsEraseFirmware
2011-11-26 22:57:33 +02:00
James Cotton
d3314f041a
MPU6000: Bring SPI down to 5 Mhz - much closer to spec
2011-11-26 14:56:28 -06:00
James Cotton
99123372d0
TO BE REVERTED: Temporary patch to make the w25x driver work with the revo m25p
...
chip. Need to abstract out the erase commands into a general pios_spi_flash
driver.
2011-11-26 14:55:16 -06:00
James Cotton
8b7aca0dcd
Include the accel bias into revolution attitude function and also make sure
...
downsampling is correct.
2011-11-26 14:40:32 -06:00
James Cotton
11ad135b27
Some changes to MPU6000 driver to make it start more reliably on fresh powerup
2011-11-26 14:12:12 -06:00
James Cotton
1574c96c3a
Add all the pin remappings and pin sources for F4 timers
2011-11-26 03:36:36 -06:00
James Cotton
c57acf6459
F4 PiOS: Must use a different remap command on F4 for timer module to command
...
pin. Include the remap source in the config structure now.
2011-11-26 03:35:26 -06:00
James Cotton
57b381235e
Init the timers and PWM in the board file
2011-11-26 02:19:56 -06:00
James Cotton
de9a8453ef
Configure the board to use PWM input and servo output
2011-11-26 02:19:56 -06:00
James Cotton
3e01c84a15
Add pin mappings for PWM and receiver port
2011-11-26 02:19:56 -06:00
James Cotton
e71030c6ce
Remove testing code for pressure sensor
2011-11-26 02:19:56 -06:00
James Cotton
c118159a6f
Remove refence to deleted object
2011-11-26 02:19:55 -06:00
James Cotton
fae611a01f
Fix bug where clicking back at last screen of input wizard would go back to
...
main screen and then in future buttons hung around for no reason
2011-11-25 11:30:12 -06:00
Oleg Semyonov
6d78b97d92
dsm: update DSM protocol binding details in the comments (no code change)
2011-11-19 17:33:04 +02:00
James Cotton
7637e9f669
Get flash chip working and saving to memory. Also get the I2C working with
...
BMA180 driver.
2011-11-19 00:13:02 -06:00
James Cotton
da75e9fdaf
PiOS: Make I2C return an error code for NACK
2011-11-19 00:11:16 -06:00
James Cotton
a7ef5601e0
Update the MPU6000 FIFO code and also fix the temperature code
2011-11-18 00:24:55 -06:00
James Cotton
6d74e96c31
Got attitude working again. MPU6000 FIFO reading needs a bit of work.
2011-11-18 00:00:55 -06:00
James Cotton
79730d5afa
Try and get the MPU6000 buffer to run down. Staying high for some reason.
2011-11-17 11:23:31 -06:00
James Cotton
0efffef1fa
Work on bringing the Revolution board up
2011-11-17 10:13:34 -06:00
James Cotton
d97e5dbc59
Add SPI MPU6000 driver. Unfortunate hack in HMC5883 EXTI handler to call
...
MPU6000. Need to generalize EXTI ASAP.
2011-11-17 10:12:10 -06:00
James Cotton
8477c2229b
Using real prototype board now. Move telemetry to GPS port for easy-ness right
...
now.
2011-11-17 01:58:51 -06:00
James Cotton
1c7c85635d
Typo with renamed PI
2011-11-16 19:48:13 -06:00
James Cotton
1deb799b6f
Get simple attitude estimation working on F4 INS. Also make MPU6050 return
...
scaling that casts to degrees.
2011-11-16 11:36:04 -06:00
James Cotton
8e79f86716
Make the CoordinateConversions use a floating point PI
2011-11-16 11:35:52 -06:00
James Cotton
aa698f7b0a
Increase the CC IRQ stack to avoid some memory warnings
2011-11-16 09:20:30 -06:00
James Cotton
aeb42332d6
Get the MPU6050 fifo running and read by the attitude module
2011-11-14 11:23:14 -06:00
James Cotton
59507249e1
Hack in attitude to read directly from gyros instead of fifo. All sensors
...
reading now.
2011-11-14 11:12:10 -06:00
James Cotton
1086df5b21
Correctly configure MPU6050 interrupt. However currently not pushing data to
...
the buffer as that seems to fail.
2011-11-14 11:11:40 -06:00
James Cotton
2cc2e55248
Add attitude solution for revo
2011-11-14 10:49:37 -06:00
James Cotton
4c04d01be4
Dos2unix pios_config.h for revo
2011-11-14 10:25:57 -06:00
James Cotton
e32cc92002
For now act like revo is using init call system to fix compile errors.
2011-11-14 10:25:28 -06:00
James Cotton
da679441ec
Duplicate the spektrum (dsm) driver to F4 branch
2011-11-14 10:12:51 -06:00
James Cotton
684715930a
Merge branch 'next' into revolution
...
Conflicts:
flight/OpenPilot/Makefile
flight/Revolution/System/inc/openpilot.h
2011-11-14 10:11:53 -06:00
James Cotton
180d84e373
Update the MPU6050 code a bit more to use the right registers.
2011-11-14 10:09:49 -06:00
James Cotton
2eb89e9b81
No reason for the data read flag in pios_bmp085.c to be a semaphore
2011-11-14 10:07:19 -06:00
James Cotton
76a956416c
Switch revo over to MPU6050
2011-11-13 19:45:06 -06:00
James Cotton
96a098bf74
Add code for MPU6050 driver
2011-11-13 19:44:56 -06:00
James Cotton
1e2fe77e3f
Start migrating the attitude solution to FreeRTOS
2011-11-13 18:51:35 -06:00
James Cotton
0c103f7b2c
Delete F2 PiOS port since unused
2011-11-13 17:33:43 -06:00
James Cotton
fffb6449ac
Delete the old INS target
2011-11-13 17:31:34 -06:00
James Cotton
c44235494c
Update the Revolution board file a bit
2011-11-13 17:23:56 -06:00
James Cotton
938a577d11
Small change to pios_adc so it works when not enabled
2011-11-13 17:14:08 -06:00
James Cotton
ec84fc4058
Get the Revolution bootloader working
2011-11-13 17:13:42 -06:00
James Cotton
2b37d4bbb5
Enable telemetry on revo
2011-11-13 16:10:19 -06:00
Oleg Semyonov
4a99ec3298
code style: move variable into function and free 1 byte of RAM :-)
...
component free heap used
----------------------------
Nothing 2560 -
PWM 2432 128
PPM 2408 152
DSM 2464 96
S.Bus 2448 112
GPS (port only) 2368 192
GPS (port+module) 1312 1248
CameraStab 2096 464
Telemetry 1928 632
2011-11-13 18:27:52 +02:00
James Cotton
b110e9c549
Style suggestions to cleanup GPS from Stac
2011-11-12 21:31:01 -06:00
James Cotton
f0b22519be
Merge remote-tracking branch 'origin/corvuscorax/CC_GPS' into next
2011-11-12 21:30:53 -06:00
James Cotton
fdcc6c2d41
Fix a bug I made in programming the bootloaders via jtag
2011-11-12 21:29:46 -06:00
Corvus Corax
198c819943
some more makefile cleanup
2011-11-11 11:54:31 +01:00
Corvus Corax
cd473ed1fd
some makefile cleanup
2011-11-11 11:51:45 +01:00
Corvus Corax
aa69027cb2
Merge branch 'next' into CC_GPS
2011-11-11 11:44:11 +01:00
Corvus Corax
61ecc0d310
make optional modules check themselves if they should start or not
2011-11-11 11:39:57 +01:00
Corvus Corax
e03e3c2ed8
removed "special code" to start optional modules
2011-11-11 11:22:54 +01:00
Corvus Corax
5e14e69a08
Revert "OpenPilot: Initialize optional modules based on UAVObject"
...
This reverts commit 9f03ba178b
.
2011-11-11 11:08:49 +01:00
Corvus Corax
9679638244
Revert "Modules/GPS: removed comment line"
...
This reverts commit 109a58ef30
.
2011-11-11 11:07:02 +01:00
Corvus Corax
88f161dd42
Revert "Makefiles: fixed comment line"
...
This reverts commit 0065842de7
.
2011-11-11 11:06:32 +01:00
Oleg Semyonov
8f77d07119
System Module: fix stupid out of memory detection bug
2011-11-07 19:14:55 +02:00
Oleg Semyonov
f5e82b8242
spektrum: rename Spektrum to DSM (DSM2/DSMJ/DSMX used by Spektrum and JR radios)
...
No code changes, just file, variable and define names are changed.
First, it better describes the serial protocol used by DSMx satellite
receivers. Second, many people using Spektrum radio, assume Spektrum
protocol. This is the attempt to address those inaccuracies.
2011-11-04 21:40:34 +02:00
Oleg Semyonov
8ed23c76b7
spektrum: fix OpenPilot MB target (deprecated) after spektrum changes
2011-11-04 20:43:49 +02:00
James Cotton
c0f16d2f44
Revolution: Configure clocks correctly
2011-11-03 20:12:34 -05:00
James Cotton
a2015a4f8d
Compiled and flashing
2011-11-02 13:20:39 -05:00
James Cotton
0ce80e02f5
Compiles now
2011-11-02 02:51:20 -05:00
Oleg Semyonov
481bff2578
spektrum: code style fixes accoring to OPReview-122
2011-11-01 18:48:07 +02:00
James Cotton
0931a518d4
Bring F4 PiOS up to date with some of our timer conventions
2011-11-01 04:39:51 -05:00
James Cotton
48d2e038bb
More work to the revolution build
2011-11-01 04:39:20 -05:00
James Cotton
4d6f810984
Make ADC driver play properly when not included
2011-11-01 03:22:48 -05:00
James Cotton
7eee6bf85b
Create revolution board file
2011-11-01 03:22:19 -05:00
James Cotton
7ee4a0412c
Work on the build process and include FreeRTOS
2011-11-01 03:20:25 -05:00
James Cotton
9607da9c62
Add some drivers to the device specific library for now until the exti problems
...
are fixed
2011-11-01 03:19:58 -05:00
James Cotton
2cc0b301ce
Make some of the StdPeriph function calls const where appropriate
2011-11-01 03:18:59 -05:00
James Cotton
cdb6059752
Coyp over some of how the PH build system works
2011-11-01 01:36:52 -05:00
James Cotton
9bdd021b2e
Make new Revolution target
2011-11-01 01:17:59 -05:00
James Cotton
3388843fb5
Merge in PixHawk F4 work
2011-11-01 01:09:55 -05:00
Oleg Semyonov
a8b36ddd28
HwSettings: disable GPS and telemetry port speed updates at run-time
...
This is to be consistent across the HwSettings object fields which are
read on boot only by convention.
2011-10-31 23:04:17 +02:00
Oleg Semyonov
0116e6a007
spektrum: rework DSM2/DSMJ/DSMX driver for explicit DSMX resolution support
...
- both CC serial ports are now disabled by default (no telemetry);
- serial ports now have DSM2, DSMX (10bit) and DSMX (11bit) options;
- ReceiverGroups now have DSM (MainPort) and DSM (FlexiPort) options.
For DSM2 protocol there is an explicit resolution bit in the stream, so
the DSM2 should be selected. For DSMX there is no such bit, and user
should choose the resolution from the list configuring the spektrum port.
ReceiverGroups have single DSM option which is handled by the same driver.
Downside: this implementation saves received frame first, unrolls by the
end of frame. This should be ok, but may be improved by unrolling channels
on the fly in the rx callback.
Another minor difference is that a ChannelGroup is now bound to port:
DSM (MainPort) or DSM (FlexiPort). This was considered as acceptable
solution in order to not have 6 DSM options for each ChannelGroup and
even more in case of new DSM protocol variations.
Known problem: it is not possible to choose same protocols like
DSM2/DSM2 for two ports. It can be enabled by adding an exception to
common rule, though.
The DSMX throttle channel misbehavior (zero value) is not treated
specially yet. It should trigger the failsafe being out of bounds.
More info and data dumps are required to handle this properly.
2011-10-30 19:29:03 +02:00
James Cotton
f019412209
Various tweaks to get the F4 working
2011-10-26 21:56:00 -05:00
James Cotton
d786c152e3
Merge F4 files from PixHawk branch
2011-10-26 18:23:35 -05:00
James Cotton
0f8ae1e076
Merge branch 'next' into ins
...
Conflicts:
flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
2011-10-26 13:18:44 -05:00
Oleg Semyonov
a19bbba858
Merge branch 'next' into os/alternative_spektrum_driver
2011-10-25 11:55:05 +03:00
James Cotton
27bf2b383e
Merge remote-tracking branch 'origin/james/remap_outputs' into next
2011-10-23 18:35:25 -05:00
Oleg Semyonov
4ed23dd891
Output Remapping: renamed PPM_SERVO option to PPM+Servo
2011-10-24 00:34:01 +03:00
James Cotton
23150a48fe
Merge remote-tracking branch 'origin/os/sbus_dynamic_malloc' into next
2011-10-23 15:26:26 -05:00
James Cotton
24d6ae731b
Output Remapping: Added option to just use servo outputs on input lines but not
...
PPM. This saves resources. Good suggestion Os. In this configuration we
could allow 12 channels of output but for now I'll leave it capped at 10 to
lessen resources on the mixer table.
With spektrum and camera stab enabled there was
1632 bytes heap remaining
180 bytes irq stack remaining
2011-10-23 15:21:40 -05:00
Oleg Semyonov
2a98a52f4c
gps: include optional GPS module by default
2011-10-23 00:41:18 +03:00
Oleg Semyonov
f71361ca83
Merge branch 'next' into os/GPS-on-CopterControl_next_v2
...
Conflicts:
flight/Modules/System/systemmod.c
2011-10-22 23:00:47 +03:00
Oleg Semyonov
58d0812309
sbus: better frame syncronization, some cosmetic changes
...
In the previous version the decoder could in rare cases get synced from
the middle of data stream in case of data byte equal to the S.Bus start
of frame (SOF) byte (wrong data will be rejected but it was not perfect).
Now it waits for the real start of frame and then checks the SOF byte.
2011-10-22 00:44:09 +03:00
Oleg Semyonov
62bca651d5
spektrum: alternative DSMx (DSM2/DSMJ/DSMX) driver
...
- does not glitch when used in 2-frame mode (DM9, 9503, etc)
- does NOT provides yet DSMX stream decoding - do NOT merge
- uses a bit more time in the interrupt, but frees 16 bytes of RAM.
This is done to help decoding the weird DSMX stream which does not
contain explicit resolution/frame/lost frames info and needs special
processing (to be done yet).
2011-10-21 23:35:17 +03:00
Corvus Corax
167010e8a0
UAVTalk: Fixed bug in parser failing to handle length of multi-instanceobjects
...
UAVTalk (on GCS): Fixed a null pointer dereference when receiving in a NACK
2011-10-21 02:04:29 +02:00
Oleg Semyonov
92b81e3f88
sbus: refactor the code using unified PIOS RCVR driver structure
...
- allow more than one S.Bus receiver (needs hardware support)
- use dynamic memory allocation (frees around 72 bytes of RAM when unused)
2011-10-20 18:23:23 +03:00
James Cotton
e0cc289de0
Remapping inputs to outputs: Drop S2 so there are ten outputs
...
Output 7 = S3 input
Output 8 = S4 input
Output 9 = S5 input
Output 10 = S6 input
Also fix bug that prevented them outputting signal
2011-10-20 06:28:07 -05:00
Corvus Corax
cb8d9c791c
PiOS.posix: fixed missing defines in pios_config. removed platform specific inclde from Systemmod (pios_config.h gets included from pios.h)
2011-10-19 22:28:39 +02:00
Corvus Corax
b00751af91
Systemmod bugfix: UAVObject used without Initialization
2011-10-19 22:28:08 +02:00
Corvus Corax
e244581b18
PiOS.posix: bugfix in pios_udp com driver - data send loop
2011-10-19 13:37:35 +02:00
James Cotton
9312610f3b
Output: Enable two more channels to support octo + camera
2011-10-15 16:59:42 -05:00
James Cotton
ce7f424131
CC: When receiver port is set to PPM_SERVO use the spare pins as outputs
2011-10-15 16:59:42 -05:00
James Cotton
19c9528d80
CopterControl: Create structures to supply more output channels
2011-10-15 16:59:42 -05:00
Corvus Corax
425bc5abbe
PiOS.posix: PIOS_RCVR : fix posix port of pios_rcvr to allow compilation on 64bit systems
2011-10-11 18:07:04 +02:00
James Cotton
9cbb48417a
Merge branch 'long_erase_settings' into next
2011-10-08 14:18:56 -05:00
James Cotton
0f1a6264de
Fix jtag programming of bootloader
2011-10-08 14:14:11 -05:00
James Cotton
5dc0f397a6
OP-499 Erase settings bug: Make hte flash chip read a wrong value for 1 second
...
before wiping settings.
2011-10-07 14:08:56 -05:00
Oleg Semyonov
7800fbe6de
gps: initialize GPS UAVO and start GPS module only if port is configured
2011-09-29 00:41:51 +03:00
Oleg Semyonov
469feecb13
pios: remove some unused #defines
2011-09-28 23:40:12 +03:00
Oleg Semyonov
ed8cf89888
Initcall: fix compilation errors for firmware which does not use Initcalls
2011-09-28 22:57:18 +03:00
Oleg Semyonov
a38c569cd0
HwSettings: move Telemetry and add GPS port speed to the HwSettings object
...
TelemetrySettings object removed (saved 200+ bytes of RAM). Telemetry
port speed moved to the HwSettings object. Added GPS port speed setting.
GCS code updated to reflect changes and support both fields.
2011-09-28 22:11:42 +03:00
Oleg Semyonov
53c098dd08
Merge branch 'next' into os/GPS-on-CopterControl_next_v2
...
Conflicts:
flight/OpenPilot/System/pios_board.c
flight/OpenPilot/UAVObjects.inc
shared/uavobjectdefinition/hwsettings.xml
2011-09-28 22:02:02 +03:00
James Cotton
fef9570e4d
INS: Get bootloader working again
2011-09-27 01:17:14 -05:00
James Cotton
cf6a59468f
Merge branch 'next' into ins
...
Conflicts:
flight/INS/Makefile
flight/Project/OpenOCD/stm32f1x.cfg
flight/Project/OpenOCD/stm32f2x.cfg
make/firmware-defs.mk
2011-09-27 01:02:06 -05:00
James Cotton
f1e70d2ff5
Merge remote-tracking branch 'origin/msmith/OP-578' into next
2011-09-23 16:43:00 -05:00
James Cotton
a1aeab9393
Increase size of framing signal for logging
2011-09-15 10:19:59 -05:00
James Cotton
0d3d5ad094
INS: Get rid of old code that tried to detect when indoor mode wasn't called
...
for a while
2011-09-14 17:30:02 -05:00
James Cotton
acf2aa218b
Merge remote-tracking branch 'origin/stac/upgrade-to-openocd-0.5.0' into next
2011-09-14 11:49:01 -05:00
Oleg Semyonov
c92870d29e
Remove unused file (versionblob.py)
2011-09-13 16:10:10 +03:00
James Cotton
400ba3bd47
Merge branch 'next' into ins
2011-09-12 18:57:11 -05:00
James Cotton
c36297227d
Stabilization fix typo
2011-09-12 11:56:01 -05:00
James Cotton
63bb80649b
Merge branch 'max_rate_for_attitude' into next
2011-09-12 11:51:03 -05:00
James Cotton
00c9d62f6a
INS: Miscellaneous changes for debugging handling and also some stuff for GPS
...
signal loss.
2011-09-12 11:17:17 -05:00
James Cotton
5b836db54c
INS/Guidance: Convert distance to using m instead of cm. This is mainly to be
...
able to use NAN to indicate when values aren't valid from INS.
2011-09-11 23:02:05 -05:00
James Cotton
a682d5deb6
INS: In indoor mode if GPS is found use that to populate PositionActual
2011-09-11 22:53:07 -05:00
James Cotton
8f2fad6918
Fix for merging with the collective channel with the swashplate fix.
2011-09-11 18:53:10 -05:00
James Cotton
6457276438
Merge branch 'input_configuration' into next
2011-09-11 18:52:35 -05:00
Oleg Semyonov
f5369f9338
Input Configuration: support all 18 S.Bus input channels
2011-09-12 02:06:50 +03:00
Oleg Semyonov
7b3056d10f
Input Configuration: fix S.Bus receiver in multi-receiver code
2011-09-12 02:06:48 +03:00
James Cotton
b38081bb1b
Stabilization: When in none
mode zero the integral accumulators for rate and
...
attitude loops. When not using outer loop zero that accumulator.
2011-09-11 16:33:38 -05:00
Mike Smith
deade53c5d
OP-578 - check for CODE_SOURCERY before setting -fpromote-loop-indices
2011-09-11 10:49:09 -07:00
James Cotton
6945f17eba
Make the StabilizationSettings.MaxRate field only apply to the stabilized
...
modes. That way ManualRate can exceed MaxRate.
2011-09-11 12:27:17 -05:00
James Cotton
b8bb2dd2ca
Merge branch 'next' into ins
2011-09-10 17:02:15 -05:00
James Cotton
aad41ebb4f
Merge branch 'mainboard_receiver_fix' into next
2011-09-10 16:01:22 -05:00
James Cotton
01cd2ded57
Mainboard config: The rcvr port is used for PPM/PWM/Spektrum so make these one
...
setting that is mutually exclusive.
2011-09-10 14:20:51 -05:00
James Cotton
4847a04db8
Mainboard: Get PWM working again. Had to add extra timer IRQ handlers for
...
TIM5-8. Also TIM1 was not handled probably (for CC either) as the name of the
IRQ is TIM1_CC and TIM1_UP for the capture compare versus update. I haven't
checked the downstream code that the registers it uses to map from a context to
event is invariant under timer channel.
2011-09-10 14:20:40 -05:00
James Cotton
eb191d869a
Mainboard: Get spektrum working again.
2011-09-10 14:19:54 -05:00
James Cotton
c2a8cc3faa
Mainboard config: The rcvr port is used for PPM/PWM/Spektrum so make these one
...
setting that is mutually exclusive.
2011-09-10 14:19:12 -05:00
James Cotton
f725fbe128
CopterControl: Fix build due to changing the AttitudeRaw structure.
2011-09-10 13:56:00 -05:00
James Cotton
2871c75a79
Mainboard: Get PWM working again. Had to add extra timer IRQ handlers for
...
TIM5-8. Also TIM1 was not handled probably (for CC either) as the name of the
IRQ is TIM1_CC and TIM1_UP for the capture compare versus update. I haven't
checked the downstream code that the registers it uses to map from a context to
event is invariant under timer channel.
2011-09-10 13:53:38 -05:00
James Cotton
199db1362d
Actuator: Found a bug in actuator that affects how throttle and pitch curves
...
were used. Basically 80% was always 100%. This should make hovering better
and fix heli swash pitch.
2011-09-09 19:40:58 -05:00
James Cotton
1d2a424296
Mainboard: Get spektrum working again.
2011-09-09 09:42:13 -05:00
James Cotton
3239fdf21b
Merge branch 'next' into ins
...
Conflicts:
flight/CopterControl/Makefile
flight/OpenPilot/System/pios_board.c
flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
2011-09-09 08:33:34 -05:00
James Cotton
dfe91af686
UAVObjects: Space allocated in manualcontrolcommand did not match the number of
...
channels in settings. Fixed this and added assertion to catch in future.
2011-09-09 01:17:13 -05:00
James Cotton
22821e3c93
HMC5883: Missed a channel for HMC5883
2011-09-08 22:25:35 -05:00
James Cotton
552022250b
INS: Disable power up checks until these are made more reliable and remove some
...
debugging outputs.
2011-09-08 21:44:27 -05:00
James Cotton
e79e8cdbde
INS data output: Add the latency the logged messages
2011-09-08 03:39:39 -05:00
James Cotton
c87a042195
IMU3000: For now sample at 1k which allows us to bring down the I2C clock rate
...
to 400k
2011-09-08 03:37:51 -05:00
James Cotton
0eb4fd113b
PiOS BMA180: Increase the comms speed for BMA180 and perfom SPI without
...
callback. This takes less time.
2011-09-08 03:28:32 -05:00
James Cotton
d7ea1fc306
PiOS I2C: Swap the expected return value of the F2 pios i2c calls
2011-09-08 01:32:27 -05:00
James Cotton
1a5fd9f30e
Heli: Added an explicit collective channel. Also make the default channel
...
number 0 since that is not invalid.
2011-09-07 01:48:39 -05:00
James Cotton
72625d9971
PiOS RCVR: Make the public API use a 1 based indexing for channel numbers.
...
This may or may not get into next, but if so anyone following it MUST
reconfigure their inputs.
2011-09-06 16:39:08 -05:00
James Cotton
8f7712435f
Merge branch 'safer_failsafe' into next
2011-09-06 16:23:11 -05:00
James Cotton
627c931c79
PiOS I2C: Swap the convention of returned values for I2C
2011-09-06 03:27:20 -05:00
Sambas
a8ef57c6d6
Redo DX8 changes
2011-09-06 08:40:10 +03:00
Stacey Sheldon
1e9bcf8426
openpilot: fix merge of unidirectional gps feature branch
2011-09-04 23:22:29 -04:00
James Cotton
465527a980
INS: Enable GPS parsing. GPS data is processed on INS now. HomeLocation and
...
WMM are not currenly implemented.
2011-09-04 20:03:04 -05:00
James Cotton
7ff5cd7655
INS: Try and get load down on event system.
2011-09-04 16:21:04 -05:00
James Cotton
cd8ebdf427
INS: Store the gyro bias in the settings so it doesn't get overwritten
2011-09-04 15:21:53 -05:00
James Cotton
b1e0366525
Merge remote-tracking branch 'origin/CorvusCorax_unidirectional-GPS-com' into next
...
Conflicts:
flight/OpenPilot/System/pios_board.c
2011-09-04 13:33:52 -05:00
James Cotton
82c5f9f0f4
PIOS_RCVR: Document return values better and use enum for them
2011-09-04 12:37:39 -05:00
James Cotton
533ae9bb41
SBUS: Missed handling the S.Bus failsafe. Now returns PIOS_RVCR_TIMEOUT for
...
either SBus failsafe mode or when no data for 100 ms.
2011-09-04 12:15:34 -05:00
James Cotton
5e2a36aa03
Merge branch 'stac/allocate-device-instances-from-heap' into next
2011-09-04 12:03:42 -05:00
James Cotton
c326c0941d
INS: Work on initialization. Improve the zeroing of the gyros at powerup.
2011-09-04 11:49:15 -05:00
James Cotton
510a1760ca
When disconnected set any accessory channels to neutral. Otherwise the
...
actuator module could keep the pitch at high. However the "right" thing to do
seems very specific. For example negative pitch is probably preferable.
2011-09-04 03:45:36 -05:00
James Cotton
89e640ae7f
Make sure all receiver drivers return correct constants for invalid channels.
2011-09-04 01:24:16 -05:00
James Cotton
51967ae63f
OP-571 PIOS_PWM: Add back the PWM supervisor
2011-09-04 01:17:40 -05:00
James Cotton
20de046292
Force system to be disarmed when a bad configuration is present
2011-09-04 00:43:33 -05:00
James Cotton
d3de8ff0ef
OP-559: Process the arm status when disconnect and allow it to timeout and
...
disarm
2011-09-03 23:57:51 -05:00
James Cotton
697dbf4f5f
OP-568 PIOS_RCVR: Standardize the values that are returned from the PIOS_RCVR and make
...
them symbolic constants.
- A timeout is 0
- A missing driver is 65534
- An invalid channel is 65535
ManualControl: Make it deal with the values explicitly. A timed out value
should not be treated like a minimum duration signal. Instead it does not
updated the scaled value but marks the data window as invalid to trigger the
failsafe.
2011-09-03 23:50:56 -05:00
James Cotton
dae11cf877
INS Logging: Enable temperature reading from gyro and accel (may be removed in
...
future), push it into UAVO and introduced a logging mode for INS that outputs
all sensor data from aux port.
2011-09-03 15:10:47 -05:00
James Cotton
5eaebac8d8
INS: Get the aux uart working. All F2 GPIO pins need to be remapped to work. Good thing to remember.
2011-09-02 17:04:39 -05:00
James Cotton
63f64003e5
INS: Change how the initialization of algorithms is handled to ensure sensor
...
dat always good
2011-09-02 13:50:36 -05:00
James Cotton
c40e5800ab
BMA180: Enable the EEPROM writing on startup so settings take the first time.
2011-09-02 13:28:36 -05:00
James Cotton
e0ed82eef0
INS Settings: Use the calibration data on the sensors
2011-09-02 13:28:01 -05:00
James Cotton
1d04715476
INS: Rework how the sensor calibration behaves and clean up the interface a
...
bit.
2011-09-02 13:24:35 -05:00
Mathieu Rondonneau
ae1dd945b1
Fix win32 sim macro problem
...
This is to get the macro in pios.win32 in sync with sim posix and
real flight.
2011-09-01 21:50:13 -04:00
James Cotton
3b20df22d1
Updates to config gadget for new INS objects
...
Make scope gadget check if object exists before using it. Avoids segfaults
when scoped objects disappear.
2011-09-01 12:21:37 -05:00
James Cotton
612d3336b4
This patch breaks backward compatibility with AHRS solidly.
...
Move the configuration files for INS from AHRS* to INS*. Strip out unused
fields in settings and merge calibration and settings since settings has
basically no information.
2011-09-01 12:21:33 -05:00
James Cotton
37878ed4e8
Get the OpenPilot compiling again using a previvous pios_board until doing a
...
proper merge with next
2011-09-01 03:31:23 -05:00
Stacey Sheldon
eea011c53b
openpilot: fix compile error on OP
2011-09-01 03:31:23 -05:00
Stacey Sheldon
43b31efb76
pios: allocate driver instance data from heap
...
Allocate per-instance data for drivers from the heap
rather than as static variables from the .data segment.
This converts > 800 bytes of RAM from being always consumed
as static data into being allocated from the heap only when
a particular feature is enabled in the hwsettings object.
A minimal config (no receivers, flexi port disabled, main port
disabled) leaves 2448 bytes of free heap. That's our new baseline.
Approximate RAM (heap) costs of enabling various features:
+ 632 Serial Telemetry (includes 400 bytes of Rx/Tx buffers)
+ 108 PWM Rcvr
+ 152 PPM Rcvr
+ 112 Spektrum Rcvr
+ 24 S.Bus (Should be closer to 68 since driver is still using
static memory)
There are still some drivers that pre-allocate all of their memory
as static data. It'll take some work to convert those over to
dynamically allocating their instance data.
2011-08-31 22:35:03 -04:00
Stacey Sheldon
86ce79af1d
openpilot: fix compile error on OP
2011-08-31 21:43:57 -04:00
Stacey Sheldon
2f86e4dd4f
Make PWM/PPM and Servo drivers play nicely together
...
PWM and PPM can now coexist in the same load and be
selected at boot time via the hwsettings UAVObject.
This is basically a complete restructuring of the
way the drivers interact with the TIM peripheral in
the STM32.
As a side effect, the PWM and PPM drivers are now
ready to support multiple instances of each.
This also provides the first step toward being able
to reassign some of the PWM input pins to be servo
output pins. Still more work required, but this is
a good start.
2011-08-27 21:39:56 -04:00
Stacey Sheldon
b3c43da90a
stdperiph: Make TIM related APIs use const pointers
...
This allows the configuration parameters to be stored in
flash instead of copied to RAM.
2011-08-27 21:39:17 -04: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
c5746335c6
Initialize GCSReceiver object if it is being used
2011-08-27 15:57:09 -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
Stacey Sheldon
f29b99521e
openocd: collapse JTAG rules for STM32F1 and STM32F2
2011-08-27 10:43:02 -04:00
Stacey Sheldon
5a51077493
openocd: add support for RTOS autodetection
...
This allows things like 'info threads' to work in gdb when
combined with openocd 0.5.0+.
2011-08-27 10:38:50 -04:00
Stacey Sheldon
89d23df8cd
openocd: Add default config for stm32f2x
...
Pulled from origin/james/ins.
2011-08-27 10:37:20 -04:00
Stacey Sheldon
3d22258843
Merge remote branch 'origin/james/openocd' into upgrade-to-openocd-0.5.0
2011-08-27 09:19:46 -04:00
James Cotton
1d77d77832
Merge branch 'stac/use-malloc-failed-hook' into next
2011-08-27 00:24:13 -05:00
James Cotton
274333a9bf
Merge branch 'next' into stac/use-malloc-failed-hook
2011-08-27 00:12:45 -05:00
James Cotton
55f64802d1
Also enable malloc error catching on OpenPilot
2011-08-27 00:12:16 -05:00
Corvus Corax
0065842de7
Makefiles: fixed comment line
2011-08-25 16:28:34 +02: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
3690586f3a
Optional Modules: Forced re-generation of mod init.h when makefile has changed
2011-08-25 15:42:11 +02:00
Corvus Corax
1d797bf004
Fixed error introduced by merge
2011-08-25 15:40:45 +02:00
Corvus Corax
c63a10d05e
CopterControl: Fix GPS buffer sizes
2011-08-25 15:37:38 +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