1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-01-10 20:52:11 +01:00

3177 Commits

Author SHA1 Message Date
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