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

3687 Commits

Author SHA1 Message Date
Corvus Corax
f7dd5cc8ad Refactored Airspeed and FixedWingPathFollowermodule to use AirspeedActual, which hitl writes to, too. Cleaned up both PathFollower and Airspeed a bit. 2012-10-28 17:45:40 +01:00
lilvinz
3db04ea174 pios_jedec: fixed usage of uninitialized memory
When reading the jedec device id the code only transfered one byte via spi leaving
the expected input buffer uninitialized. This may lead to the problem that flash
initialization fails because the expected input may be whatever the stack was set
when entering the function. The impact of the bug is somewhat limited tough as the
initialization usually takes place before starting up the rtos and thus is pretty
deterministic. So if the code passed init while testing it should pass init in
production as well.
2012-10-28 14:34:20 +01:00
James Cotton
a5c743d738 Sanity Check: Cannot connect callback to TaskInfo now it isn't always used. 2012-10-27 14:00:57 -05:00
James Cotton
8864b545ae Revert "Sanity Checking: Regardless of DIAG_TASK always populate TaskInfo.Running"
This reverts commit 0b6fa7fe6f.
2012-10-27 13:43:59 -05:00
James Cotton
11630b7f7e SanityCheck: Directly query the task monitor 2012-10-27 13:43:41 -05:00
James Cotton
07a08c327c Sanity Check: Fix comment 2012-10-25 23:01:35 -05:00
James Cotton
93349e9a56 Sanity Check: uint32_t for loop indexes instead of int 2012-10-25 22:57:57 -05:00
James Cotton
32bf63c436 Sanity Check: Perform the initial check then attach the callbacks to avoid
a case where two threads do the same thing.
2012-10-25 22:51:14 -05:00
James Cotton
b28cdba46d SanityCheck: Trigger sanity check code on callbacks from the appropriate settings.
The only downside is that it needs to update on the TaskInfo object which means
since htat updates periodically this code runs more often that really needed since
the modules only start at first.  However, leaving that connection out means it
misses the initial set of modules.
2012-10-25 21:49:53 -05:00
Stacey Sheldon
bc3a90c6a9 Merge branch 'one-way-telemetry' into next 2012-10-25 22:48:43 -04:00
James Cotton
736f96b297 Sanity check: Add some initial checks for revo that make sure the needed optional modules are
running.
2012-10-25 20:37:21 -05:00
James Cotton
23422d3cd4 Sanity Check. Add the first set of checks:
1. If a flight mode switch allows autotune and autotune module not running
2. If airframe is a multirotor and either manual is available or a stabilization mode uses "none"
2012-10-25 20:37:17 -05:00
James Cotton
b9ebeb2c2e Sanity Check: For now force the sanity check to run once a second and always set an error 2012-10-25 12:43:56 -05:00
James Cotton
0b6fa7fe6f Sanity Checking: Regardless of DIAG_TASK always populate TaskInfo.Running
so we can verify certain modules are running.
2012-10-25 10:01:24 -05:00
Kenz Dale
1ab1ea5899 Save ~150 bytes by moving GPSDataProtocol to SystemSettings.
All credit to Anstron.
2012-10-22 16:47:22 +02:00
Stacey Sheldon
4892fdb33d telemetry: allow telemetry to flow when not connected to GCS
Previously, when unconnected, only the flighttelemetrystats
UAVO was Tx'd.  All other UAVOs were inhibited.  This led to
zero telemetry data when the connection to the GCS was gone.
This precluded getting useful telemetry from a receive-only
station.

This commit changes two main areas.

First, UAVO updates are now allowed regardless of the "connected"
state between the GCS/FC.

Second, it makes both the flighttelemetrystats and gcstelemetrystats
UAVOs un-acked.  This prevents these objects from blocking all
other UAVOs while they wait for their ack.  This is OK since the
real "connection" negotiation happens via the states exchanged in
the Status field of these UAVOs.
2012-10-21 22:51:17 -04:00
Stacey Sheldon
127ca1e7e1 Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	ground/openpilotgcs/src/plugins/hitl/plugin.pro
	ground/openpilotgcs/src/plugins/hitlnew/fgsimulator.cpp
	ground/openpilotgcs/src/plugins/hitlnew/hitlconfiguration.cpp
	ground/openpilotgcs/src/plugins/hitlnew/hitloptionspage.cpp
	ground/openpilotgcs/src/plugins/hitlnew/hitloptionspage.ui
	ground/openpilotgcs/src/plugins/hitlnew/il2simulator.cpp
	ground/openpilotgcs/src/plugins/hitlnew/simulator.cpp
	ground/openpilotgcs/src/plugins/hitlnew/simulator.h
	ground/openpilotgcs/src/plugins/hitlnew/xplanesimulator.cpp
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
2012-10-20 13:56:18 -04:00
Corvus Corax
1fe41c7a67 circular dependency on firmwareinfo due to checksum of firmware required to link firmware - fixed by creating checksum of uavobject inittialization object file instead 2012-10-20 16:07:16 +02:00
Corvus Corax
898292fcdb added (fake) firmware version information to simposix 2012-10-20 15:22:54 +02:00
James Cotton
96afe7cffd Merge remote-tracking branch 'origin/stac/add-debug-consoles' into next 2012-10-12 08:07:44 -05:00
Stacey Sheldon
f0e0c2e79e console: add debug console via USB CDC/VCP interface
The USB VCP Port has a new DebugConsole setting that
routes all output destined for PIOS_COM_DEBUG to the
emulated serial port.

To enable this in your build, you'll have to build like:
 - make fw_coptercontrol_clean
 - make fw_coptercontrol ENABLE_DEBUG_CONSOLE=YES

You can then output formatted text to the console
like this:
  #if defined(PIOS_INCLUDE_DEBUG_CONSOLE)
  PIOS_COM_SendFormattedString(PIOS_COM_DEBUG,
                               "foo is %u\r\n",
                               foo);
  #endif	/* PIOS_INCLUDE_DEBUG_CONSOLE */

Please ensure that all of your debug output is
wrapped with these macros so that your debug
code doesn't bloat the firmware image.
2012-10-11 00:51:09 -04:00
Stacey Sheldon
75170177df console: example usage of the debug console 2012-10-11 00:22:07 -04:00
Stacey Sheldon
6088c05946 console: add support for serial debug consoles
Serial ports now have a new HW setting called DebugConsole
which can be used to dump internal state to a serial port
for debug.

To enable this feature, you need to:
 - make fw_coptercontrol_clean
 - make fw_coptercontrol ENABLE_DEBUG_CONSOLE=YES
 - configure one of the serial ports as DebugConsole in the GCS
 - save settings
 - power-cycle your board

Things to note:
 - The console is at 57600,8N1.
 - This is not currently configurable via the GCS.
 - You can only have a single console enabled at a time.
2012-10-11 00:22:07 -04:00
James Cotton
c0b9d9015d Hack: The OSX sim includes modules slightly differently than the
main code so needs an implementation of FirmwareIAPStart() until
this is fixed.
2012-10-10 08:29:30 -05:00
James Cotton
715fb65df7 OSX Simulation: Start populating the board and fw information
This will allow testing the tablet to know what type of UAVOs to
expect.

Conflicts:

	flight/Revolution/Makefile.osx
2012-10-10 08:29:20 -05:00
James Cotton
aad1c3bd32 FreeRTOS: Make F1 targets use the FreeRTOS common code from PiOS/Common 2012-10-09 10:08:06 -05:00
James Cotton
17f3c4d4e0 Re-add our code for accessing the run time information in freertos. 2012-10-09 09:57:57 -05:00
James Cotton
72c84fc49c Upgrade to FreeRTOS 7.2.0 2012-10-09 09:48:02 -05:00
Laura Sebesta
c2b49b6ef3 Merge branch 'kenz/cc_hitl_merge' into next
Conflicts:
	ground/openpilotgcs/src/plugins/gcscontrol/gcscontrolgadgetoptionspage.ui
	ground/openpilotgcs/src/plugins/hitlnew/hitloptionspage.ui
	ground/openpilotgcs/src/plugins/hitlv2/hitlv2optionspage.ui
2012-10-08 15:30:27 +02:00
James Cotton
4b35cdf0ef OSX Simulation: Start populating the board and fw information
This will allow testing the tablet to know what type of UAVOs to
expect.
2012-10-07 13:53:19 -05:00
Stacey Sheldon
157aeac9fc Merge remote-tracking branch 'origin/stac/ppm-and-pwm-inputs' into next 2012-10-06 23:04:49 -04:00
sambas
9212bbeb20 DSMx bindmode delay was too long, satellite binding works again. 2012-10-07 12:09:42 +11:00
James Cotton
2191befe17 Merge remote-tracking branch 'revo/brian/rfm22_rf2' into revo
Conflicts:
	flight/PiOS/Common/pios_rfm22b.c
2012-10-05 08:20:35 -05:00
Brian Webb
9ea572f4f7 RFM22B: Fixed the signedness of the return value of the RSSI function. 2012-10-04 21:23:44 -07:00
Brian Webb
5724fa083c RFM22B: Added link quality calculation based on number of dropped packets. Also added packet error correction, which apparently wasn't being done before. 2012-10-04 21:11:40 -07:00
Brian Webb
2541affd80 RFM22B: Added back configuration of the RF Power and RF Datarate. Also added setting of the destination ID in the rfm22b driver. 2012-10-04 16:39:07 -05:00
James Cotton
13cabd2ea4 Merge branch 'next' into revo
Conflicts:
	flight/PiOS/Common/pios_rfm22b.c
2012-10-04 16:38:08 -05:00
Brian Webb
9b9d0c0d1e RFM22B: Added back configuration of the RF Power and RF Datarate. Also added setting of the destination ID in the rfm22b driver. 2012-10-03 20:03:35 -07:00
James Cotton
c8d9f89ea3 Default DIAG_TASK was on for PipX 2012-10-03 15:11:15 -05:00
James Cotton
5eed0db61b Hardcode rates to 64kbps 2012-10-03 15:10:12 -05:00
Brian Webb
36437f695f RFM22B: Moved radio status reporting from the radio module into the rfm22b driver task. 2012-10-03 11:35:02 -05:00
Brian Webb
2d4e0b397a RFM22B: Removed setting register 0x58 in the rfm22_setDatarate call, which was breaking all data rates < 100000 bps. Also temporatily fixed the datarate at 64kbps. 2012-10-03 11:32:33 -05:00
James Cotton
a39cbdbcb1 RadioBridge: Send data from UAVTalk non blocking, otherwise it can lock up the packet handler. 2012-10-03 10:43:18 -05:00
Brian Webb
3cdb9df05f RFM22B: Removed setting register 0x58 in the rfm22_setDatarate call, which was breaking all data rates < 100000 bps. Also temporatily fixed the datarate at 64kbps. 2012-10-02 20:59:43 -07:00
Brian Webb
a8590045a8 RFM22B: Moved radio status reporting from the radio module into the rfm22b driver task. 2012-10-02 19:52:21 -07:00
James Cotton
897b07da02 Merge remote-tracking branch 'origin/kenz/diag_stack_split' into next 2012-10-02 14:20:08 -05:00
James Cotton
0c8c148b51 PipX HW Def: Use PIOS_BOARD_HW_DEFS_GetRfm22Cfg since the radio module initializes the modem
and doesn't know teh difference between RM2 and PipX
2012-10-02 10:07:50 -05:00
James Cotton
879dfed288 RM2/RM1: Make the firmware and bootloader support the pin mappings between these two targets
for USB and radio

A side-effect of this is the pipxsettings are no longer populated into the rfm22b cfg structure
as that was made constant to be consistent with other drivers.
2012-10-02 09:31:15 -05:00
a*morale
c2910d0ce0 Receiver input working for both PPM/PWM mode for rm2 2012-09-30 20:54:10 +02:00
a*morale
227aa98ebc Added TIM12 to PIOS_TIM 2012-09-30 20:32:03 +02:00
a*morale
be752b8075 Fixed some declaration to Exti functions to make it compile. 2012-09-30 17:04:36 +02:00
a*morale
504d691487 Fixed declaration of PIOS_L3GD20_IRQHandler. 2012-09-30 15:44:31 +02:00
Stacey Sheldon
2f4b1e69dd rcvr: Support PPM and PWM at the same time on CC
Adds a new mode for the receiver port (PPM+PWM) which
will allow simultaneous use of 1 pin for PPM and the
rest of the pins for PWM inputs.
2012-09-29 19:11:48 -04:00
James Cotton
b0d8487e27 PIOS_RFM22: Make the irq return false for the exti changes 2012-09-28 02:14:15 -05:00
James Cotton
61f1140645 Merge branch 'revo' into rm2 2012-09-28 01:01:35 -05:00
James Cotton
5c13c31c08 Merge branch 'next' into revo
Conflicts:
	ground/openpilotgcs/src/libs/utils/homelocationutil.cpp
	ground/openpilotgcs/src/libs/utils/homelocationutil.h
	ground/openpilotgcs/src/plugins/opmap/opmapgadgetwidget.cpp
	ground/openpilotgcs/src/plugins/uavobjectutil/uavobjectutilmanager.cpp
2012-09-28 01:00:10 -05:00
James Cotton
8979c00fba Merge branch 'exti_end_switching_isr' into next 2012-09-28 00:41:08 -05:00
James Cotton
519e3e2e3a PIOS_EXTI: Make the line task macro now take in the xHigherTaskPriority variable name 2012-09-28 00:40:36 -05:00
Stacey Sheldon
9896a0d416 Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	ground/openpilotgcs/src/libs/utils/homelocationutil.cpp
	ground/openpilotgcs/src/libs/utils/homelocationutil.h
	ground/openpilotgcs/src/plugins/uavobjectutil/uavobjectutilmanager.cpp
	shared/uavobjectdefinition/taskinfo.xml
2012-09-27 22:42:44 -04:00
James Cotton
f12d5c04fb Merge remote-tracking branch 'origin/lilvinz/mpu6000_masked_locals_fix' into next 2012-09-27 14:43:54 -05:00
James Cotton
1ba40ee9b0 PIOS_EXTI: Make sure to use pdTRUE instead of true where appropriate. 2012-09-27 14:41:38 -05:00
James Cotton
1721479a12 Fix for vinz' merge to pios_mpu6000 exti changes 2012-09-27 14:34:11 -05:00
James Cotton
a021659b75 Merge remote-tracking branch 'origin/lilvinz/exti_end_switching_isr' into next 2012-09-27 14:31:16 -05:00
James Cotton
303fe17969 Merge remote-tracking branch 'revo/brian/rfm22_refactor' into revo 2012-09-27 14:04:48 -05:00
James Cotton
6e114360f4 Merge branch 'next' into revo
Conflicts:
	shared/uavobjectdefinition/taskinfo.xml
2012-09-27 14:04:44 -05:00
Laura Sebesta
8997df2438 Merge branch 'next' into kenz/diag_stack_split
Conflicts:
	flight/Modules/Stabilization/stabilization.c
2012-09-27 19:29:23 +02:00
Laura Sebesta
4923655cd3 Added global flag for enabling all diagnostic tools. 2012-09-27 18:51:12 +02:00
James Cotton
d2842169ee Sensors: Need to support MPU6000 for revision 3 2012-09-26 04:04:48 -05:00
James Cotton
93c44f2a4e RM2 Temporary patch: Swap the GPIO pins and the VSense pins. This needs to be based on the hardware revision later. 2012-09-26 03:02:25 -05:00
James Cotton
333a96516c Merge remote-tracking branch 'revo/brian/rfm22_refactor' into rm2 2012-09-26 01:40:23 -05:00
James Cotton
dadc38d82d Revo Mini 2: Get basic LED working. Board revision is actually 3 since right now it masquerades as Revo. 2012-09-26 01:17:32 -05:00
James Cotton
0fa4b062a4 Merge branch 'next' into revo 2012-09-26 00:43:02 -05:00
Brian Webb
6972c29813 RFM22B: Added check for timeout wating for sync on receive. This virtually eliminates the number of timeouts. 2012-09-25 18:10:15 -07:00
Brian Webb
88be2ddf1e RFM22B: Added a message timeout event to the RFM22B state machine that will fire if a packet takes too long to transmit / receive. 2012-09-24 20:51:34 -07:00
Stacey Sheldon
215ff56fe8 usbcdc: fix handling of CDC SET_LINE_CODING request
The SET_LINE_CODING request contains data and must be
handled as such.

Previously, the only requests that had data were IN
requests.  SET_LINE_CODING is an OUT request so it
required additional changes to support a new type of
data request.
2012-09-24 00:56:25 -04:00
Stacey Sheldon
5e37448814 usb: correct enum for CDC SET_CONTROL_LINE_STATE request 2012-09-24 00:53:52 -04:00
Stacey Sheldon
c056ac5261 usbcdc: don't assert on calls when CDC is not initialized
The CDC interface is always advertised in the FW USB
descriptors.  It is NOT always enabled/initialized at
runtime.  Specifically, it can be Disabled in HwSettings.

Previously, any CDC-related query that the host would send
resulted in an assert and a watchdog.

Now, a suitable return code indicating that the request is
unsupported is returned in this scenario.
2012-09-24 00:53:12 -04:00
Brian Webb
a070e1cc3e RFM22B: Added PIOS_RFM22B_Receive_Packet function and removed rx buffer. 2012-09-23 08:36:38 -07:00
Brian Webb
a46e3cdec3 RFM22B: All outgoing data to the radio is now going through the PIOS_RFM22B_Send_Packet call. Also removed all global variables with the exception of the rx buffer. 2012-09-22 20:13:11 -07:00
Brian Webb
61200f01f5 RFM22B: Major refactoring of te RFM22B driver to implement a state machine for the driver. The state machine should now be complete, and the driver seems to be working pretty well on both the RM and the pipx. 2012-09-22 20:13:10 -07:00
Brian Webb
80509d264e RFM22B: Start at cleaning up the processing interrupt handling, and starting to make it more of a state machine. Also removed the supervisor, which was causing unnecessary resets. The supervisor functionality is not in the the driver thread. 2012-09-22 20:13:08 -07:00
Brian Webb
057227726b Radio: Make sure pios_packet_handler is set to 0 when radio module is not initialized. 2012-09-22 20:13:07 -07:00
Brian Webb
8ca2e85f4c RFM22B: Removed incorrect defaulting of tx power level. 2012-09-22 20:13:05 -07:00
Brian Webb
6623c55846 RFM22B: Moved ISR processing thread into the rfm22b driver. 2012-09-22 20:13:03 -07:00
Brian Webb
432a6dfd00 RM: Fixed crashing when radio module is disabled. 2012-09-22 20:13:02 -07:00
James Cotton
497683e571 Fix OSX simulator 2012-09-18 13:29:11 -05:00
Stacey Sheldon
14123069be gdb: add gdb config file for CC BU image 2012-09-16 21:13:42 -04:00
Stacey Sheldon
566f9d760e simposix: fix suplicate .c files in previous merge 2012-09-16 19:34:47 -04:00
Stacey Sheldon
ffe88eec5e Merge remote-tracking branch 'op-public/next' into revo-next 2012-09-16 17:14:20 -04:00
Stacey Sheldon
368d57bc92 Merge remote-tracking branch 'origin/lilvinz/OP-300' into next 2012-09-16 16:05:25 -04:00
lilvinz
a6a7ed8157 pios_exti: added returnvalues to exti handlers which allows to use portEND_SWITCHING_ISR 2012-09-16 21:44:09 +02:00
Stacey Sheldon
05483e2a74 simposix: adapt simposix to addition of relay tuning 2012-09-16 15:40:47 -04:00
lilvinz
524cff1c40 pios_mpu6000: fixed masked locals mistake 2012-09-16 21:25:06 +02:00
lilvinz
718062ed6e pios_led: added support for active_high connected leds 2012-09-16 18:19:27 +02:00
Stacey Sheldon
754f58c33a Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	flight/Modules/ManualControl/inc/manualcontrol.h
	flight/Revolution/Makefile.osx
	ground/openpilotgcs/src/plugins/plugins.pro
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
	ground/openpilotgcs/src/plugins/uploader/uploadergadgetwidget.cpp
	shared/uavobjectdefinition/flightstatus.xml
	shared/uavobjectdefinition/hwsettings.xml
	shared/uavobjectdefinition/manualcontrolsettings.xml
	shared/uavobjectdefinition/taskinfo.xml
2012-09-16 09:56:35 -04:00
Stacey Sheldon
9a5ba841cf Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	ground/openpilotgcs/src/libs/utils/coordinateconversions.cpp
	ground/openpilotgcs/src/plugins/hitlnew/il2simulator.cpp
	ground/openpilotgcs/src/plugins/hitlnew/xplanesimulator.cpp
	ground/openpilotgcs/src/plugins/opmap/opmapgadgetwidget.cpp
	ground/openpilotgcs/src/plugins/opmap/opmapgadgetwidget.h
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
	shared/uavobjectdefinition/pathaction.xml
	shared/uavobjectdefinition/waypointactive.xml
2012-09-15 19:55:47 -04:00
James Cotton
13e7733e5f Merge branch 'revo-mini' into revo 2012-09-12 02:30:10 -05:00
James Cotton
223a3473c2 Merge branch 'next' into revo-mini 2012-09-12 02:03:39 -05:00
James Cotton
595083c982 PID: Fix small bug in setpoint weighting that had really ugly consequences 2012-09-12 00:07:17 -05:00
James Cotton
4717c376c0 Stabilization: For the inner loop call the setpoint shaping version so that
the derivative term can weight the sticks and gyros independently.
2012-09-11 13:21:53 -05:00
James Cotton
e4a167dca1 PID: Add a pid_apply_setpoint which takes in the setpoint and feedback term
This version allows performing setpoint weighting, currently on the derivative
component.
2012-09-11 13:21:19 -05:00
James Cotton
11b099b1ef Stabilization: Add configuration terms for the derivative calculation to the UAVO and pass
them in to the PID system.
2012-09-11 12:29:38 -05:00
James Cotton
42bbd52d68 PID: Add a function to set the cutoff for the derivative term
Also contains a term for setting the deriative setpoint in the future
2012-09-11 12:27:41 -05:00
James Cotton
86422b8b9e VtolPathFollower: Make sure to clear the alarm when running so it doesn't show as
uninintialized
2012-09-11 02:34:31 -05:00
James Cotton
88b483f37d PIOS_MPU6000: Make the driver perform the rotation to bring it into the OP
coordinate system

Previously there were hacks spread throughout to deal with various ways of
positioning the chips.  Now the driver structure specifies the rotation
of the chip relative to the board layout and the output X/Y/Z are already
in OP convention.

This flag seems to do the right thing for Revolution, CC3D, and RevoMini
2012-09-11 01:46:22 -05:00
James Cotton
4cbaa6df88 Revolution: Misses some files for stabilization refactoring in Revolution 2012-09-11 01:44:40 -05:00
a*morale
cf7aea6499 Support for Led Outputs as actuator channels 9&10.
Added the ARMING LED  and INFO LED option for actuator channel
2012-09-10 20:14:24 -05:00
a*morale
316e02612e mapped LED1&2 ports to output 9&10 so that it is possible to use as accessory or pwm buzzer 2012-09-10 20:14:15 -05:00
James Cotton
aaaf23e64c ManualControl: Cover the case for PathPlanner to avoid setting an alarm. No functional change. 2012-09-10 20:12:58 -05:00
James Cotton
5211176f15 ManualControl: Cover the case for PathPlanner to avoid setting an alarm. No functional change. 2012-09-10 20:12:23 -05:00
James Cotton
38e9d105aa Merge branch 'pidt1' into test2
Conflicts:
	flight/Modules/ManualControl/inc/manualcontrol.h
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
	shared/uavobjectdefinition/flightstatus.xml
	shared/uavobjectdefinition/hwsettings.xml
	shared/uavobjectdefinition/manualcontrolsettings.xml
	shared/uavobjectdefinition/taskinfo.xml
2012-09-10 14:37:52 -05:00
James Cotton
386a9d41ef Merge branch 'next' into test2
Conflicts:
	ground/openpilotgcs/src/plugins/config/configrevowidget.cpp
	ground/openpilotgcs/src/plugins/opmap/opmapgadgetwidget.cpp
	ground/openpilotgcs/src/plugins/uavobjects/uavobjecttemplate.m
2012-09-10 14:29:26 -05:00
James Cotton
fa9a616b4c PID: Add the 20 Hz low pass filter to the derivative term 2012-09-10 03:14:02 -05:00
James Cotton
9763a70364 Merge remote-tracking branch 'origin/igor/pidt1' into relay_tuning
Conflicts:
	flight/Modules/Stabilization/stabilization.c
2012-09-10 03:10:26 -05:00
Igor Van Airde
8ca99739ed Changed rate controller from PID to PIDT1 to improve flight stability.
Low pass on D-Term makes the D-Term usable to improve flight stability.
Affects rate and stabilize mode.
2012-09-09 13:07:25 +02:00
James Cotton
f3f07682ac RFM22b radio.c: Increase the stack side for the status task which runs the ISR 2012-09-08 12:43:01 -05:00
James Cotton
527edcbee9 RFM22b: Get rid of the burst read commands and do a block transfer 2012-09-08 12:39:14 -05:00
James Cotton
1f0004e9db RFM22b: Abstract out the port into the driver initiation
Also use a separate function to claim the bus semaphore and
assert the CS line.
2012-09-08 12:38:54 -05:00
Werner Backes
2a4e135c81 Merge branch 'D-Lite/fix_CC3D_yawBias_correction' into next 2012-09-06 13:47:03 +02:00
Werner Backes
4803dfe99c Fix: yaw bias correction wasn't applied on CC3D. 2012-09-06 13:13:58 +02:00
Stacey Sheldon
97882dbef9 pipx: ensure pipx BL image is padded to fill its bank
This padding is required in order to properly align all
of the sections in the EF images.
2012-09-05 22:17:04 -04:00
Stacey Sheldon
803e3c4d1e ef: Add fwinfo to entireflash (EF) images
EF images were missing the firmware info blob that describes
which firmware is installed on the board.  The EF image is now
padded out to fill the firmware bank and the info blob is
properly placed at the tail end of the firmware bank.
2012-09-05 21:45:59 -04:00
James Cotton
68fa464ccf RM: Make the direction of the TX/RX lines come from the configuration file 2012-09-04 23:22:56 -05:00
James Cotton
2f65fc1e8e Merge branch 'next' into relay_tuning
Conflicts:
	shared/uavobjectdefinition/manualcontrolsettings.xml
	shared/uavobjectdefinition/taskinfo.xml
2012-09-04 10:43:04 -05:00
James Cotton
844d14e2f5 RM (NOT FOR PIPX) Properly select the GPIO->RX/TX mapping 2012-09-04 10:22:04 -05:00
James Cotton
113c3d3b76 RM Telem: Make sure it properly tracks the outgoing rate of bytes 2012-09-04 10:20:51 -05:00
James Cotton
0b947b243d Revert "RFM22b: More block claims for rfm22_txStart"
This reverts commit fa4ca426abf5671fc7d0b7206f85f14bcbf92c3d.
2012-09-02 22:44:58 -05:00
James Cotton
dce4f36328 RFM22b: More block claims for rfm22_txStart
Warning: This patch makes the modem work more poorly
2012-09-02 22:44:58 -05:00
James Cotton
61ff335eaa RFM22: No need to poll the ISR from two tasks in radio.c 2012-09-02 22:44:58 -05:00
James Cotton
db083aa0e9 Merge branch 'android' into next 2012-09-02 19:19:23 -05:00
James Cotton
311bbcb539 RFM22b: Block transfers for more large SPI transfers
Preallocated buffers with various preambles etc.  Used SPI_TransferBlock for
anything over a few bytes instead of burstWrite.  Also make more of the
communications wrappered in a large semaphore grab using a new rfm22_write_noclaim()

Still needs work - probably because most of the methods to repeated calls they should
all use the noclaim, or more specifically that function becomes rfm22_write/read.
2012-09-02 14:35:56 -05:00
James Cotton
588297806c RFM22b: Use SPI block transfers for filling the RFM22b FIFO
Also removed the disable irq line since that was introducing
flight glitches.
2012-09-01 21:24:42 -05:00
James Cotton
997319ae80 RFM22b: Begin doing blocks of transfers when possible between semaphore claims
The abstraction should probably be improved but ideally we start using
the DMA SPI transfers for PipX and grabbing/releasing the semaphore less
frequently (e.g. not for each 1-2 bytes).
2012-09-01 21:07:38 -05:00
Brian Webb
27fedee3d3 Just return an initialization failure in the radio module when the RFM22B fails to initialize rather than asserting.
Signed-off-by: James Cotton <peabody124@gmail.com>
2012-09-01 19:15:13 -05:00
Brian Webb
fcbf01fa74 RFM22b: Added SPI initialization back into PipX pios_board.c.
Signed-off-by: James Cotton <peabody124@gmail.com>
2012-09-01 19:14:36 -05:00
James Cotton
d9ec6454c2 PipX: Since we are calling the PipX ISR from user space looks ensure the frequency stays correct.
Previously it was polling too fast and the PipXStatus was incorrect as a result.  Now make
sure the stats loop only runs at 500 ms.
2012-09-01 19:13:11 -05:00
James Cotton
c9f66f5145 Merge branch 'revo' into revo-mini
Conflicts:
	androidgcs/AndroidManifest.xml
	androidgcs/res/layout/gcs_home.xml
	androidgcs/res/values/strings.xml
	androidgcs/src/org/openpilot/androidgcs/AttitudeView.java
	androidgcs/src/org/openpilot/androidgcs/HomePage.java
	flight/PipXtreme/System/pios_board.c
	ground/openpilotgcs/src/plugins/uavobjectwidgetutils/configtaskwidget.cpp
	shared/uavobjectdefinition/taskinfo.xml
2012-09-01 16:57:27 -05:00
James Cotton
6bfb2a5e45 Merge branch 'next' into revo
Conflicts:
	ground/openpilotgcs/src/libs/opmapcontrol/src/mapwidget/mapgraphicitem.cpp
	ground/openpilotgcs/src/libs/opmapcontrol/src/mapwidget/mapripper.cpp
	ground/openpilotgcs/src/libs/opmapcontrol/src/mapwidget/waypointitem.cpp
	ground/openpilotgcs/src/libs/opmapcontrol/src/mapwidget/waypointitem.h
	ground/openpilotgcs/src/libs/utils/coordinateconversions.cpp
	ground/openpilotgcs/src/libs/utils/coordinateconversions.h
	ground/openpilotgcs/src/plugins/opmap/opmap.pro
	ground/openpilotgcs/src/plugins/opmap/opmapgadgetwidget.cpp
	ground/openpilotgcs/src/plugins/opmap/opmapgadgetwidget.h
	ground/openpilotgcs/src/plugins/uavobjectwidgetutils/configtaskwidget.cpp
	shared/uavobjectdefinition/taskinfo.xml
	shared/uavobjectdefinition/waypoint.xml
2012-09-01 16:18:03 -05:00
James Cotton
878def305f RM: Make radio an optional module 2012-09-01 11:11:52 -05:00
James Cotton
0d3b0d4e5b Fixup: Disable binding on mainport for DSM 2012-09-01 11:11:28 -05:00
James Cotton
f3327e3993 RM: Enabled optional modules and got the battery module working again.
Changed the hardcoded (ick) battery lines for RM.  Also removed the reference
to PIOS_ADC_GetPin(4) as that pin is no longer available.  Finally
changed the default FlightBatterySettings to work out of the box
for the standard recommended sensors.
2012-09-01 11:03:32 -05:00
James Cotton
a33f415866 RM DSM: Get DSM working on the mainport
Because of the inverter this does not support binding on this port.
2012-08-31 11:08:43 -05:00
James Cotton
300cee44b4 RM SBUS: There is no pull down on the inverter direction so when not SBUS must explicitly set to off. 2012-08-31 11:01:34 -05:00
James Cotton
d333e24a43 RM: Swap to using the CC_ flags for the flexi port too. 2012-08-31 10:30:00 -05:00
James Cotton
73c7190077 RM GPS: Use the CC_MainPort instead of a RV flag and enable GPS support 2012-08-31 10:17:10 -05:00
Kenz Dale
e123a88262 Added UAVO for airspeeds. 2012-08-29 16:04:47 +02:00
Brian Webb
6b3934576a Fixed configuration of PipX com port as UAVTalk. 2012-08-26 11:18:23 -05:00
James Cotton
bdd50ce66b Reenable the flash system 2012-08-26 05:03:05 -05:00
James Cotton
b888a137f0 TOFIX: Temporarily remove the transaction lock from the settings as it was causing a deadlock with the radio coms. 2012-08-26 05:02:14 -05:00
James Cotton
042055b29a RFM22b: Call the pendingISR routine from all the user space tasks. Got a valid connection with this. 2012-08-26 04:18:17 -05:00
James Cotton
f7cda1c0c4 RFM22b: No need to initialize the SPI. Done already. 2012-08-26 02:42:18 -05:00
James Cotton
477385ca25 RFM22b: Start to move the ISR into userspace 2012-08-26 02:41:19 -05:00
James Cotton
b1bd6d8583 PIOS_RFM22b: No need to set the SPI clock speed in the RFM22b module - it can be set by the driver configuration. 2012-08-26 00:00:39 -05:00
James Cotton
27c46c78b2 Increase the RFM22b/Flash rate to 10MHz which is within tolerance for both. 2012-08-25 23:17:53 -05:00
James Cotton
84d327c46a RFM22b: Claim the bus semaphore before reading and writing. 2012-08-25 23:17:52 -05:00
James Cotton
2bb4f860e1 Shuffle around the PACKET_HANDLER definition so we can more easily disable the Radio module. 2012-08-25 22:58:11 -05:00
James Cotton
06154836c6 Define the RADIO_BUILTIN in config file 2012-08-25 19:31:48 -05:00
James Cotton
4014445cc9 Fix the IRQ line for the RFM22b 2012-08-25 19:10:16 -05:00
James Cotton
3a3fc3d124 Make the radio module builtin 2012-08-25 18:48:41 -05:00
James Cotton
a7b5fcd77c Monitor the radio threads 2012-08-25 18:48:30 -05:00
James Cotton
9e25e887c2 Temporarily disable flash chip and configure SPI for modem. 2012-08-25 18:43:13 -05:00
James Cotton
ad7a9b9cc3 Switch the order of the SET_RC pins for flash and rfm22b 2012-08-25 17:49:15 -05:00
James Cotton
b95a78cde5 Roll back changes on the revo target 2012-08-25 17:33:14 -05:00
James Cotton
81ddbda972 Sensors: Scope some variables to suppress warnings 2012-08-25 17:30:04 -05:00
James Cotton
76bdb190d8 Link in the rfm module to the target 2012-08-25 17:27:17 -05:00
James Cotton
daad1d6f8f Sensors: Scope some variables to suppress warnings 2012-08-25 17:12:37 -05:00
James Cotton
982750a58f Merge remote-tracking branch 'revo/brian/revo_link' into revo-mini
Conflicts:
	ground/openpilotgcs/src/plugins/plugins.pro
2012-08-25 15:05:47 -05:00
James Cotton
a9b48cf1ca Merge remote-tracking branch 'revo/amorale/revolution_baro_fixes' into revo 2012-08-25 14:55:23 -05:00
James Cotton
5c34412200 Merge remote-tracking branch 'revo/amorale/revolution_baro_fixes' into revo-mini 2012-08-25 14:55:10 -05:00
Brian Webb
b3dc617702 Fixed PPM output from updated RadioComBridge module. 2012-08-25 12:52:06 -07:00
James Cotton
c5fda8208b TOFIX: For now hardcode a reversed orientation of MPU6000 for RevoMini 2012-08-25 14:41:03 -05:00
Brian Webb
e602b73a6f Split out the PipX radio interface from RadioComBridge module to a separate Radio module. Now the RadioComBridge module just routes messages between the com ports and handles sending/receiving the PipX UAVOs.
Conflicts:

	flight/Modules/RadioComBridge/RadioComBridge.c
	flight/PipXtreme/System/pios_board.c

Conflicts:

	flight/Modules/RadioComBridge/RadioComBridge.c
2012-08-25 12:29:02 -07:00
James Cotton
c3906cfe90 Reenable the other main modules 2012-08-25 14:22:06 -05:00
James Cotton
0decce582b Got all the sensors reading 2012-08-25 14:19:15 -05:00
Stacey Sheldon
e7bf1db165 Revert "Removed Revolution specific code"
This reverts commit d4a401ce30.
2012-08-25 14:57:16 -04:00
James Cotton
31ebb7bbd8 Remove the old BMA180 and L3GD20 code and fix the irq lines for the sensors. 2012-08-25 13:51:52 -05:00
James Cotton
2edc976168 Fix the VBUS sense pin 2012-08-25 13:46:55 -05:00
Brian Webb
415b86879c Added the RFM22B driver to the Revo to support an RFM22B radio on the external SPI port. 2012-08-25 11:45:43 -07:00
Brian Webb
fad32dcc29 Split out the PipX radio interface from RadioComBridge module to a separate Radio module. Now the RadioComBridge module just routes messages between the com ports and handles sending/receiving the PipX UAVOs. 2012-08-25 11:41:32 -07:00
James Cotton
ce5ef7edf3 Update the serial ports and receiver and servo ports 2012-08-25 13:19:23 -05:00
James Cotton
b9050809cc Add a board info file for revo mini. However it was to remap the define MAINADAPTER for the HMC5883 driver which needs rewriting not to need this. 2012-08-25 12:57:50 -05:00
James Cotton
05e2e24bcb Reconfigure the SPI ports. 2012-08-25 12:38:44 -05:00
James Cotton
60160001c6 Copy the revo project to revo mini 2012-08-25 12:23:54 -05:00
a*morale
c696cccff8 Added an option to be able to change the interleave between Pressure and Temperature conversion for the MS5611
To enable this option define the PIOS_MS5611_SLOW_TEMP_RATE with the number of Pressure conversion for each Temperature conversion.
2012-08-25 13:04:41 +02:00
a*morale
257b00a400 Fixed a typo on I2C speed for the MS5611 2012-08-25 12:28:25 +02:00
a*morale
789746151a Fixes the selection of the oversample settings from the pios_ms5611_cfg.oversapling configuration 2012-08-25 11:29:01 +02:00
James Cotton
59d1367d37 Autotuning: Make the output also follow the hysteresis output 2012-08-24 22:45:45 -05:00
Brian Webb
34b433e074 Added UAVTalkSendBuf function and added locking in UAVTalkSendAck and UAVTalkSendNack. 2012-08-24 19:42:10 -07:00
Brian Webb
b1c88628f6 Merge branch 'james/revo' of ssh://git.openpilot.org/revo into brian/revo_link 2012-08-24 19:35:40 -07:00
James Cotton
a3f1894cd7 Autotuning: Make the estimator require the value to toggle above and below the hysteresis level. 2012-08-24 21:33:08 -05:00
James Cotton
8babe5d8a4 Autotuning: Increase the measurement time to 30 seconds. 2012-08-24 21:32:11 -05:00
Brian Webb
7ce0004c47 Added include of stdint.h to aes.c 2012-08-24 19:26:06 -07:00
Laura Sebesta
929bf73504 Missed adding a diagnostics refactor to the commit. 2012-08-24 12:04:55 +02:00
Laura Sebesta
f2ffd1fb99 Changed DIAGNOSTICS flag to be individual to each module instead of global.
The upshot is the stack usage monitor can be turned on at a lower RAM threshold.
2012-08-24 12:04:05 +02:00
Brian Webb
88c8cba0ff Reduced size of temporaries to the correct size in rs.c 2012-08-22 06:46:51 -07:00
Brian Webb
2cd0733f7d Removed unecessary include of stm32f10x.h from aes.h 2012-08-22 06:45:44 -07:00
a*morale
d8ea84cdf1 Fix output power selection from the configured value at startup 2012-08-21 18:51:45 +02:00
Stacey Sheldon
431863b0c2 sdcard: build fixes for revo due to sdcard removal
Related to commit: 56647f5409
merged from op-public.
2012-08-20 21:32:19 -04:00
Stacey Sheldon
1f1b240b2a Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	shared/uavobjectdefinition/manualcontrolsettings.xml
	shared/uavobjectdefinition/taskinfo.xml
2012-08-20 21:22:02 -04:00
Stacey Sheldon
2d0e4944d3 Merge remote-tracking branch 'origin/stac/actuator-task-cpu-optimization' into next 2012-08-20 19:13:39 -04:00
James Cotton
113a759cd9 Merge branch 'next' into revo 2012-08-19 21:22:02 -05:00
Brian Webb
171f91336c Removed assert that was no longer needef form PipX pios_board.c 2012-08-18 08:40:19 -07:00
James Cotton
c4b82fa1fd Disable transmitter updating PH location while using a tablet. 2012-08-12 17:51:52 -05:00
James Cotton
44dc01126e Merge branch 'next' into revo 2012-08-12 16:12:54 -05:00
James Cotton
3d1a6cbcba Attitude: Make sure the EKF can init if HomeLocation is not set but the
magnetic field is.  Good for switching between indoor and outdoor mode.
2012-08-12 16:11:04 -05:00
James Cotton
880eb5eb11 Fix revo for the removal of SDCard supprot 2012-08-12 14:45:06 -05:00
James Cotton
18d63f7e9c Merge commit 'b19a0947fb72dc069540561ffeb6983ee318fcb9' into revo 2012-08-12 14:39:30 -05:00
James Cotton
75db0fcb35 Merge branch 'next' into revo
Conflicts:
	flight/Modules/GPS/GPS.c
	shared/uavobjectdefinition/manualcontrolsettings.xml
	shared/uavobjectdefinition/systemalarms.xml
2012-08-12 14:38:38 -05:00
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
29ab1d8cf3 actuator: factor out settings updates from main loop 2012-08-11 19:46:00 -04:00
Stacey Sheldon
63c167c183 taskinfo: also track Event thread's stack usage and CPU utilization
The event dispatcher thread is started differently than most other
threads so it was missed in the taskinfo tracking information.  Now
it's also included.
2012-08-11 18:47:03 -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
096f940fee Reenable the flash version now Stac's fix is tested. 2012-08-04 12:03:41 -05:00
James Cotton
d6c485459f Fix error Stac caught in sin_lookup 2012-08-04 00:33:20 -05:00
James Cotton
8eac518a9c If the sin table is empty don't attempt to use it and return 0. 2012-08-03 12:43:50 -05:00
James Cotton
f3dc2dc2ad Store 180 deg in flash now and even make the flash and ram version share a
lookup method.  Still don't get the same results.
2012-08-03 12:31:15 -05:00
James Cotton
9f3c8dddd3 Add a version of the sin lookup table that is in ram instead of flash 2012-08-03 12:15:57 -05:00
James Cotton
490955dbea Use cos_lookup instead of sin_looup(x+90) 2012-08-03 11:34:05 -05:00
James Cotton
3982ad0046 Enable AUTOTUNE by default for CC 2012-08-03 09:37:47 -05:00
James Cotton
fc2f8376bc Prevent an alarm from ManualControlCommand when using autotuning mode. 2012-08-03 09:37:47 -05:00
James Cotton
50c7641162 Move the PID methods into a standalone library 2012-08-03 09:37:46 -05:00
James Cotton
2723ff4be3 Factor the virtual flybar code out of the stabilization module 2012-08-03 09:37:46 -05:00
James Cotton
aae0e562c6 Create a sine lookup table that is cached in flash and make relay tuning start
ot use this.
2012-08-03 09:37:46 -05:00
James Cotton
924c91ce1e Fix mistake from previous merge with duplicate the STABILIZATIONOMDE_ATTITUDE
case
2012-08-03 09:37:46 -05:00
James Cotton
8565dfbcc3 Factor the relay tuning out of the main stabilization.c file into it's own
tool.
2012-08-03 09:37:46 -05:00
James Cotton
ee4bb84e36 Fix: Increase teh memory for autotune back to 1024 which leaves 100 free. 2012-08-03 09:37:46 -05:00
James Cotton
561cf994b0 Reduce the memory footprint of the sin lookup table by using sin(x+pi) =
-sin(x).  Still just needs to move into flash and have some options about
precision when in its own library function.
2012-08-03 09:37:46 -05:00
James Cotton
652647fc87 Make autotuning module optional 2012-08-03 09:37:46 -05:00
James Cotton
d0ef95ff9a Fix idiotic bug in the stab_refactor 2012-08-03 09:37:46 -05:00
James Cotton
2ccd6605a4 Now the stabilization refactor is in we can make swapping between tuning the
system in rate or attitude mode software configurable.
2012-08-03 09:37:45 -05:00
James Cotton
24d9e50c08 Based on the selected behavior either apply or save the stabilization settings 2012-08-03 09:37:45 -05:00
James Cotton
7ea14ecc22 Track the output gain instead of amplitude so the measured values are
consistent if the settings are changed afterwards.
2012-08-03 09:37:45 -05:00
James Cotton
17878b32f3 Make autotune run within an attitude loop instead of direct rate mode. Easier
for beginners.
2012-08-03 09:37:44 -05:00
James Cotton
48362f56f6 Enable autotune as an optional CC module 2012-08-03 09:37:44 -05:00
James Cotton
a9af53b4f3 Create new autotuning module which rotates through the axes for autotuning and
then computes new stabilization settings.
2012-08-03 09:37:44 -05:00
James Cotton
44e72d0a70 A big refactoring of stabilization.c to get rid of the two separate loops and
move them into one big structure.  This makes it easier to implement other
modes.
2012-08-03 09:37:44 -05:00
James Cotton
e01c5d5f87 Get online estimation of period and amplitude working 2012-08-03 09:37:44 -05:00
James Cotton
4ac8df6aa8 Make the system perform an online estimate of the period and amplitude of the
oscillation during relay tuning
2012-08-03 09:37:44 -05:00
James Cotton
17a0d3ebb4 Add a relay stabilization mode 2012-08-03 09:37:44 -05:00
James Cotton
9ce7d9b4ac Add UAVOs for relay tuning 2012-08-03 09:37:44 -05: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
Sambas
2c8929525d Optional modules for Revolution, compiles but not flight tested. 2012-07-30 12:20:18 +03:00
Sambas
b8d33a8aab Just some tests/fixes 2012-07-30 11:47:34 +03:00
Sambas
a934063070 reworked AH gauge 2012-07-30 11:45:46 +03:00
Sambas
e59f99bc8e Wave audio player test app. 2012-07-30 11:45:36 +03:00
Sambas
52c3627bb2 OSD uSDcard support, settings save/load works (tested on 128MB card). booting takes some time for some reason. 2012-07-30 11:45:22 +03:00
Sambas
ad0473e646 proper use of i2c transfer, return 0 is all ok, original code locked the transfer when all ok. 2012-07-30 11:41:25 +03:00
Sambas
79be7613b5 CC mag&baro for OSD, bmp needed some black magic hacking 2012-07-30 11:40:16 +03: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
Kenz Dale
8a5f4d40c5 Fix filtering rate for case where we have a baro sensor and a gps, but
have no current gps data.

Also fixed minor timing bug that allowed the GPS to be used too often
when our primary instrument is the baro airspeed sensor.
2012-07-24 15:16:52 +02:00
James Cotton
e2887ca7fe Add pios_struct_helper to PiOS.osx 2012-07-24 15:15:37 +02:00
Kenz Dale
a77a012586 Eliminated attitude sensor timeout warnings when in simulation mode. 2012-07-24 15:15:37 +02:00
Kenz Dale
aa5e5a9b01 Removed "airspeed" field from Airspeed UAVO. Now everything is done either with true airspeed or calibrated airspeed 2012-07-24 15:15:21 +02: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
Kenz Dale
21527544f9 Fixed compile-time bugs in the case where airspeed module is compiled, but no drivers are present in pios_config. 2012-07-23 14:06:44 +02: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
Stacey Sheldon
f5db83bd20 Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	flight/Libraries/inc/NMEA.h
	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/Modules/PathPlanner/inc/pathplanner.h
	flight/PiOS/STM32F10x/link_STM32103CB_PIPXTREME_sections.ld
	flight/Revolution/System/inc/pios_config.h
	flight/Revolution/UAVObjects.inc
	flight/SimPosix/UAVObjects.inc
	ground/openpilotgcs/src/plugins/hitlv2/aerosimrc/src/qdebughandler.h
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
	shared/uavobjectdefinition/gpsvelocity.xml
2012-07-22 23:39:37 -04: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
Kenz Dale
54b429e8ce Removed functionality in manualcontrol.c that changed path endpoints based on TX input.
This feature needs to be rethought, as there are many situations in which it does not work as intended and has unexpected behavior.
2012-07-20 14:21:02 +02:00
Kenz Dale
7a28c6e4de Merge branch 'revo-next' of ssh://git.openpilot.org/revo into revo-next 2012-07-20 13:10:57 +02:00