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

3091 Commits

Author SHA1 Message Date
Stacey Sheldon
9f8d22961f cc makefile: enable -ffunction-sections and -fdata-sections
These compiler options place each function and each global variable
into its own ELF section in each .o file.  This, combined with the
linker option --gc-sections allows the linker to evict unused functions
and variables from the final ELF file.

On CC, the firmware flash bank is only 118784 bytes in total.

This commit reduces the .text segment from 114120 to 83536 and .data
from 572 bytes to 560 bytes.  That frees up a grand total of 30596 bytes
of flash and 12 bytes of RAM.
2012-08-11 20:13:09 -04:00
Stacey Sheldon
b505602c15 Merge remote-tracking branch 'origin/stac/rc-tx-joystick-emulation' into next 2012-08-11 11:21:18 -04:00
Stacey Sheldon
49c153003c hid joystick: use linearly scaled channels
Scales each channel only based on max and min calibrated values.
The neutral value is now ignored so the joystick sees a linear
range between min and max.

This is particularly useful to allow the full range of values for
throttle to be passed through to the joystick.
2012-08-10 23:36:06 -04:00
Stacey Sheldon
07fde38887 hid joystick: factor out min/max range from report items 2012-08-10 23:29:34 -04:00
James Cotton
f530702ce9 Merge branch 'android' into sim_android
Conflicts:
	androidgcs/AndroidManifest.xml
	androidgcs/res/layout/gcs_home.xml
	androidgcs/res/layout/pfd.xml
	androidgcs/res/layout/system_alarms.xml
	androidgcs/src/org/openpilot/androidgcs/AttitudeView.java
	androidgcs/src/org/openpilot/androidgcs/BluetoothDevicePreference.java
	androidgcs/src/org/openpilot/androidgcs/CompassView.java
	androidgcs/src/org/openpilot/androidgcs/Controller.java
	androidgcs/src/org/openpilot/androidgcs/HomePage.java
	androidgcs/src/org/openpilot/androidgcs/Logger.java
	androidgcs/src/org/openpilot/androidgcs/ObjectBrowser.java
	androidgcs/src/org/openpilot/androidgcs/ObjectEditor.java
	androidgcs/src/org/openpilot/androidgcs/ObjectManagerActivity.java
	androidgcs/src/org/openpilot/androidgcs/Preferences.java
	androidgcs/src/org/openpilot/androidgcs/SystemAlarmActivity.java
	androidgcs/src/org/openpilot/androidgcs/TelemetryWidget.java
	androidgcs/src/org/openpilot/androidgcs/UAVLocation.java
	androidgcs/src/org/openpilot/uavtalk/Telemetry.java
	androidgcs/src/org/openpilot/uavtalk/TelemetryMonitor.java
	androidgcs/src/org/openpilot/uavtalk/UAVDataObject.java
	androidgcs/src/org/openpilot/uavtalk/UAVMetaObject.java
	androidgcs/src/org/openpilot/uavtalk/UAVObject.java
	androidgcs/src/org/openpilot/uavtalk/UAVObjectField.java
	androidgcs/src/org/openpilot/uavtalk/UAVObjectManager.java
	androidgcs/src/org/openpilot/uavtalk/UAVTalk.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/AltitudeHoldSettings.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/FirmwareIAPObj.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/FlightBatterySettings.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/FlightBatteryState.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/FlightStatus.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/HomeLocation.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/HwSettings.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/ManualControlSettings.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/OveroSyncStats.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/PositionActual.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/RevoCalibration.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/SystemAlarms.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/TaskInfo.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/UAVObjectsInitialize.java
	flight/Modules/GPS/GPS.c
2012-08-08 15:50:28 -05:00
James Cotton
06a6e367b0 Merge remote-tracking branch 'origin/hyper/OP-661' into next 2012-08-08 13:49:48 -05:00
Stacey Sheldon
5902c19cc3 hid joystick: compress local usages since they're all in the same page 2012-08-08 10:38:43 -04:00
Stacey Sheldon
030d9e84f9 hid joystick: remove unnecessary usage page definitions 2012-08-08 10:15:08 -04:00
Stacey Sheldon
449c7aab7a hid joystick: use 32-bits to represent max range 2012-08-08 00:50:03 -04:00
Stacey Sheldon
94f6344fc5 hid joystick: restructure joystick HID report to work on windows 2012-08-07 21:34:25 -04:00
James Cotton
097ae637bf Remove the TCHAIN_PREFIX flag from the OSX Makefile. No clue how that got
merged in.
2012-08-06 16:54:55 -05:00
James Cotton
f247443d64 Clean up the logging somewhat 2012-08-06 16:54:52 -05:00
Stacey Sheldon
017d8c79c9 hid joystick: add missing .c file
This time for sure...
2012-08-06 11:49:03 -04:00
Stacey Sheldon
d44e24a150 hid joystick: add missing .h files 2012-08-06 11:42:44 -04:00
Stacey Sheldon
ef0c12b1b6 hid joystick: emulate a USB HID joystick using RC Transmitter
Adds a new RCTransmitter setting for the USB HID interface which
emulates a USB HID joystick.  The scaled RC receiver channels
from any RCVR protocol are passed through to the various emulated
joystick controls.

The main use for this feature is to allow you to use your own RC
transmitter with any RC simulator on a PC.

This is known to work with CRRCsim but should work with any simulator
that supports joystick input.
2012-08-05 21:45:27 -04:00
James Cotton
c1a0f176eb Merge branch 'master' into next 2012-08-03 09:37:22 -05:00
James Cotton
dafc455bfa Increase the manualcontrol stack size based on Stac's comments 2012-08-03 09:36:59 -05:00
James Cotton
6948f1dc41 Merge remote-tracking branch 'origin/master' into next
Conflicts:
	package/winx86/translations/strings_de.nsh
2012-08-03 09:35:18 -05:00
James Cotton
beb75f22cf Remove the TCHAIN_PREFIX flag from the OSX Makefile. No clue how that got
merged in.
2012-08-02 10:40:40 -05:00
James Cotton
5e2c2a0ec3 Clean up the logging somewhat 2012-08-02 10:40:38 -05:00
Richard Flay (Hyper)
6d34795494 Re-enabled simposix SDCard support, and removed obsolete SDCard alarm usage from System module 2012-08-01 19:53:59 +09:30
Werner Backes
e32152386a Increased stack for PIOS_SETS_HOMELOCATION case to avoid running into low stack warnings when settings the home location from GPS was actually used. 2012-07-31 11:10:23 +02:00
Richard Flay (Hyper)
56647f5409 Fix for OP-661: error messages in GCS log due to obsolete AHRSComms and SDCard related alarms. Change also disables obsolete SDCard support on the flight side of CC and PipX 2012-07-31 11:07:07 +09:30
Werner Backes
b8450d4a07 Fixed World Magnetic Model to accept altitude in meters instead of kilometers 2012-07-31 00:18:10 +02:00
James Cotton
dde9de080e Need to increase the GPS stack size when I include the GPZDA message 2012-07-29 12:41:20 -05:00
James Cotton
24636eb5f4 Add a waypoint above home for the box pattern. 2012-07-28 22:55:59 -05:00
James Cotton
9bd49ded4f OSX Simulator - get model type correctly 2012-07-28 13:35:31 -05:00
James Cotton
f02aacfeb6 Change the constant so LED flashing works properly on Revo 2012-07-28 11:22:24 -05:00
James Cotton
f5af60af3e Increase the stack size for the system module now the saving occurs within that
thread.
2012-07-27 17:43:47 -05:00
James Cotton
221ae05ef6 Perform the update every cycle. Mag rate of 0.001 seems to work well. 2012-07-27 13:20:30 -05:00
James Cotton
abb0caa6bd Try a different mag nulling algorithm. 2012-07-27 13:14:18 -05:00
James Cotton
9f00eda1b4 Add the mag offset compensation into into the simulated sensor code 2012-07-26 21:00:30 -05:00
James Cotton
880d58e4d9 Changes to mag nulling from D-Lite. Perform update only when we have a new
vector sufficiently different from the previous one.
2012-07-26 20:38:16 -05:00
James Cotton
6867068b9e Merge branch 'saving_queue' into next 2012-07-25 13:28:17 -05:00
James Cotton
f9eb82478b Make sure to create the system queue BEFORE calling task start. Systemmod
initializes differently than other threads and I missed htat.  Huge thanks to
Hyper for making me realize that despite the fact I didn't see it :D.
2012-07-25 13:27:39 -05:00
James Cotton
c0c5da69aa Should check that the queue allocates and initialize shoudl return -1 if not 2012-07-25 13:27:38 -05:00
James Cotton
66191c4d01 Make saving occur within the system thread instead of the event system thread 2012-07-25 13:27:38 -05:00
James Cotton
735c009843 Disable writing to the overo driver for every pios_com write again. It drives
up system consumption too much, although now data will get lost :(.
2012-07-25 13:15:47 -05:00
James Cotton
c587ceebfd Make the mag offset nulling convergence rate come from the UAVO. When it is
set to zero nulling does not occur to allow us to still calibrate the sensors.
2012-07-25 11:23:27 -05:00
James Cotton
3b57b492d0 Mag bias tracking seems to work 2012-07-25 11:19:39 -05:00
James Cotton
1a5af9dafb Remove some old debugging code 2012-07-25 11:10:10 -05:00
James Cotton
d1e6dcc2f0 First pass implementation of William Premerlani's magnetometer bias correction 2012-07-25 11:07:40 -05:00
James Cotton
36fcdcc107 Make PH use axis lock by default 2012-07-24 14:10:05 -05:00
James Cotton
30085d23ff Reenable sending from the overo tx method but no longer yield since we aren't
using a blocking write anyway.
2012-07-24 11:29:24 -05:00
James Cotton
6561b9b164 For now make it an error when GPS is enabled but missing. However, no warnings
when it's present.
2012-07-24 11:28:31 -05:00
James Cotton
a90dd1ef5c For now do not call PIOS_OVERO_WriteData from the Tx method because this is too
slow (task yield?) and results in a lot of event system errors.
2012-07-24 11:18:58 -05:00
James Cotton
e006ae2b4d Fix a really stupid bug where I ordered two cases together; 2012-07-24 11:07:40 -05:00
James Cotton
9865466da9 Make sure to create the system queue BEFORE calling task start. Systemmod
initializes differently than other threads and I missed htat.  Huge thanks to
Hyper for making me realize that despite the fact I didn't see it :D.
2012-07-24 09:51:03 -05:00
James Cotton
d75fef52ee Increase the overo event queue size to try and stop getting warnings. Only
allocate when using overosync.
2012-07-24 09:48:24 -05:00
James Cotton
92d975e668 Reduce the UAVTalk type mask to allow the top byte flag to indicate if there is
a timestamp
2012-07-24 03:44:35 -05:00
James Cotton
4809d569c0 Need to tell UAVTalk to expect a longer packet when it includes a timestamp 2012-07-24 03:44:03 -05:00
James Cotton
ea5c3be026 Need to add hooks in sendObject and receiveObject to actually transmit _TS objects 2012-07-24 02:57:51 -05:00
James Cotton
858c2cd512 Increase the size of the overo queue 2012-07-24 01:54:04 -05:00
James Cotton
617de9c68b Revert "Disable the FLASH_FREERTOS flag for revolution so that it doesn't try and use"
This reverts commit 7522bd07ba.
2012-07-24 01:49:53 -05:00
James Cotton
1f7345ef77 Dos2unix uavtalk files 2012-07-23 19:59:01 -05:00
James Cotton
13ff0dbb36 Add accessor method to get the time of the last timestamp to avoid breaking the
API
2012-07-23 19:44:07 -05:00
James Cotton
3137d5288b Add a message type flag (0x80) to UAVTalk which inserts a timestamp after the
previous header and the decoding to read this out.
2012-07-23 19:39:17 -05:00
James Cotton
26f07c21f6 Fix the pios_overo driver for compiling against the bootloader 2012-07-23 10:07:42 -05:00
James Cotton
8f8ae5bacb For revolution we MUST initialize teh GPS objects all the time or attitude will
fail
2012-07-23 10:01:32 -05:00
James Cotton
7522bd07ba Disable the FLASH_FREERTOS flag for revolution so that it doesn't try and use
vTaskDelay while erasing flash.
2012-07-23 09:42:53 -05:00
James Cotton
cf6b49535a Add pios_struct_helper to PiOS.osx 2012-07-23 09:19:28 -05:00
James Cotton
e38325c745 Should check that the queue allocates and initialize shoudl return -1 if not 2012-07-23 08:47:43 -05:00
James Cotton
545018244c Make saving occur within the system thread instead of the event system thread 2012-07-22 23:03:27 -05:00
Oleg Semyonov
4e42fb564e AeroSimRC: fix CC3D virtual sensor readings in simulation mode 2012-07-22 14:19:29 +03:00
Oleg Semyonov
f3f34e8f9f AeroSimRC: fix CC3D virtual sensor readings in simulation mode 2012-07-22 14:18:49 +03:00
James Cotton
d8e0cbc78f Make inadequate lock a warning instead of error/critical from GPS. This allows
flying indoors.
2012-07-22 02:17:58 -05:00
James Cotton
42501d6312 Merge branch 'nosave_while_armed' into revo 2012-07-22 02:13:25 -05:00
James Cotton
bcebced609 Merge branch 'revo_gps_merge' into revo 2012-07-22 01:21:50 -05:00
James Cotton
a559286d0b A few of the UBX types were missing a struct for the type. 2012-07-22 01:21:12 -05:00
James Cotton
57a554f7ea Enable the GPS UBX/NMEA support 2012-07-22 01:17:29 -05:00
James Cotton
fa4adf1630 A few of the UBX types were missing a struct for the type. 2012-07-22 01:17:06 -05:00
James Cotton
9c512261e6 When in indoor mode reset the baro offset to zero 2012-07-22 01:02:14 -05:00
James Cotton
93faf131b0 Merge branch 'next' into revo
Conflicts:
	flight/Modules/GPS/GPS.c
	flight/Modules/GPS/NMEA.c
	flight/Modules/GPS/UBX.c
	flight/Modules/GPS/inc/NMEA.h
	flight/Modules/GPS/inc/UBX.h
	flight/Revolution/System/inc/pios_config.h
	flight/Revolution/UAVObjects.inc
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
	ground/openpilotgcs/src/plugins/waypointeditor/waypointeditorplugin.h
	shared/uavobjectdefinition/gpsvelocity.xml
2012-07-22 00:43:19 -05:00
James Cotton
0c054a1e62 Speed up attitude loop on Revo to 666 Hz 2012-07-21 17:25:06 -05:00
James Cotton
5649813c2b Make sure to always compare BiasCorrectedRaw against its enum. Also reversed
the order of TRUE,FALSE in the definition to make it safer anyway.
2012-07-21 17:24:58 -05:00
James Cotton
d36663dbbd Treat the GyroBias UAVO like a state estimate of the actual gyro bias so now we
subtract that from the raw sensor readings to get the Gyros UAVO value
2012-07-21 15:14:45 -05:00
James Cotton
3e33bb49a2 EKF gyro bias into the object now working propely 2012-07-21 15:11:04 -05:00
James Cotton
02dfa7bd82 Change how the updated settings in attitude are changed to make it easier to
initialize them all
2012-07-21 14:31:14 -05:00
James Cotton
3f4706ad4c Make it a critical error when an invalid attitude algorithm is selected 2012-07-21 14:00:52 -05:00
James Cotton
69057a1373 No reason to get homeLocation every cycle 2012-07-21 13:57:25 -05:00
James Cotton
7cdf47c1d4 Make the sensors code only apply the GyroBias from the UAVO which is now coming
consistently only from the attitude module
2012-07-21 13:51:20 -05:00
James Cotton
e5bd999975 Process the settings updates more discretely in revo attitude 2012-07-21 13:50:16 -05:00
Stacey Sheldon
922c9b3519 simposix: include new GPS UAVOs for GPS module 2012-07-21 14:42:34 -04:00
Stacey Sheldon
123f199160 gps: fix case on GPS.h file 2012-07-21 14:42:04 -04:00
Stacey Sheldon
fc78d9f7d8 nmea: fix typo in DEBUG macro name 2012-07-21 14:23:14 -04:00
Stacey Sheldon
eafd525323 Merge remote-tracking branch 'origin/D-Lite/ubx-parser-next' into next 2012-07-21 14:22:10 -04:00
James Cotton
797a4def6a Do not use the data from the magnetometer if it contains NAN 2012-07-21 11:43:31 -05:00
Werner Backes
d4a401ce30 Removed Revolution specific code 2012-07-21 07:58:00 +02:00
James Cotton
c5904b4667 Clean up the pios_overo driver. Working well now. 2012-07-20 13:57:47 -05:00
James Cotton
bcdd5a8bba Fixes to the overo module where it was thinking the fifo buffer writes failed 2012-07-20 13:45:31 -05:00
James Cotton
5091b16065 Needs work but it's sending data now 2012-07-20 11:36:49 -05:00
James Cotton
88bb73f508 Fix the PIOS_OVERO dma IRQ configuration 2012-07-20 11:14:27 -05:00
James Cotton
337f0e8bfa Properly enable circular buffering on the overo spi 2012-07-20 10:59:18 -05:00
James Cotton
6a3c067c18 Zero out the packet counter when pios_over is initialized. 2012-07-20 10:45:20 -05:00
James Cotton
fb215fd095 PiOS overo driver wasn't setting it's id and also clearing the DMA IRQ flags 2012-07-20 10:17:57 -05:00
James Cotton
6b3e5573a0 The overosync module now uses pios_com interface. 2012-07-20 09:46:28 -05:00
James Cotton
8fc2d10ea6 Get the pios_overo driver for pios_com compiling 2012-07-20 09:32:22 -05:00
Werner Backes
bcee75a270 Added comment to explain the gpsDataUpdated flag 2012-07-20 11:56:40 +02:00
James Cotton
1c4c373b86 Begin rewriting pios_overo to look like a standard com layer 2012-07-20 03:42:09 -05:00
James Cotton
3eb41d3ef2 When the systemmod callback happens exit if the operation is error or completed 2012-07-19 22:18:36 -05:00