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
f1e70d2ff5
Merge remote-tracking branch 'origin/msmith/OP-578' into next
2011-09-23 16:43:00 -05:00
Oleg Semyonov
a9137e9db1
TxPID: add update mode option as a workaround for GCS interaction
2011-09-19 16:16:28 +03:00
Oleg Semyonov
aad263bdd8
TxPID: enable ramp-shaped throttle-dependent PIDs
...
Besides of knob PID tuning it is now possible to use throttle channel
to ramp-shape PID coefficients. This can be used to lower some PIDs on
VTOL while sinking to prevent wobble.
To use the feature select throttle as control input, choose throttle
range max and min values, assign the instance to particular PID
coefficient and define a range for it. When throttle is lower than
defined throttle range min value (or higher than max), then min and max
PID values will be used accordingly. Changing throttle from throttle
min to max will linearly scale PID value.
Note that it is possible to set MinPID > MaxPID. In that case increasing
control input value will decrease the PID coefficient.
Up to 3 independent instances can be configured. The number can be
increased changing the UAVO definition, but at the cost of extra RAM.
2011-09-18 14:38:50 +03:00
Oleg Semyonov
d923117c25
TxPID: optional module to tune PID settings using R/C transmitter
...
This module will periodically update values of stabilization PID settings
depending on configured input control channels. New values of stabilization
settings are not saved to flash, but updated in RAM. It is expected that the
module will be enabled only for tuning. When desired values are found, they
can be read via GCS and saved permanently. Then this module should be
disabled again.
2011-09-17 22:49:51 +03:00
James Cotton
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
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
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
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
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
dfe91af686
UAVObjects: Space allocated in manualcontrolcommand did not match the number of
...
channels in settings. Fixed this and added assertion to catch in future.
2011-09-09 01:17:13 -05:00
James Cotton
1a5fd9f30e
Heli: Added an explicit collective channel. Also make the default channel
...
number 0 since that is not invalid.
2011-09-07 01:48:39 -05:00
James Cotton
72625d9971
PiOS RCVR: Make the public API use a 1 based indexing for channel numbers.
...
This may or may not get into next, but if so anyone following it MUST
reconfigure their inputs.
2011-09-06 16:39:08 -05:00
James Cotton
8f7712435f
Merge branch 'safer_failsafe' into next
2011-09-06 16:23:11 -05:00
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
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
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
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
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
Corvus Corax
54ecf233f3
Modules/PS: typo fix
2011-08-25 15:13:50 +02:00
Corvus Corax
7e396efbbf
Modules/GPS: Assert buffer creation
2011-08-25 15:11:29 +02:00
Corvus Corax
dfdea16065
Modules/GPS: Make GPS COM unidirectional (rx only) and use smaller, runtime allocated heap buffers
2011-08-25 14:46:30 +02:00
Corvus Corax
8b7fea0d19
Merge branch 'OP-567 GPS com layer fix' into next
2011-08-25 13:35:49 +02:00
Corvus Corax
697ac6067e
OP-567 Modules/GPS: Block in PIOS_COM, not in TaskDelay - or we will miss updates!
2011-08-25 13:33:41 +02:00
James Cotton
5f7a9b513a
Merge branch 'sambas/dsmx_stuff' of ssh://git.openpilot.org/OpenPilot into next
...
Conflicts:
shared/uavobjectdefinition/hwsettings.xml
2011-08-24 11:37:30 -05:00
Stacey Sheldon
edc0caf521
heap: set memory critical alarm on malloc failures
...
Activate the FreeRTOS malloc failed hook and use it
to set the memory critical alarm.
2011-08-21 23:14:32 -04:00
Corvus Corax
838149b53f
GPS: homelocation init is optional, satellites must be initialized
2011-08-21 18:20:33 +02:00
Corvus Corax
0ce337b42d
UAVTalk: fix off by one error preventing the largest UAvObject (gpssatellites) from being sent.
2011-08-21 18:15:10 +02:00
James Cotton
e4e952f270
Manual control settings needs to be initialized in OpenPilot board file for
...
spektrum to work
2011-08-21 02:21:09 -05:00
James Cotton
368323fd59
Merge remote-tracking branch 'origin/james/erase_settings' into next
2011-08-20 13:07:01 -05:00
Corvus Corax
1ad65e0718
Fixed include in sysstemmod. pios_config.h should not be included explicitly.
2011-08-20 15:04:00 +02:00
Corvus Corax
9f03ba178b
OpenPilot: Initialize optional modules based on UAVObject
2011-08-20 15:03:31 +02:00
Corvus Corax
4f1f20e801
OpenPilot: Bugfix: For some reason Debugging information didn't work. Symbols are created now
2011-08-20 14:37:53 +02:00
Corvus Corax
d21f6705aa
Disabled double definition of pmlib compilation in openPilot/Makefile - target gencode
2011-08-20 13:11:15 +02:00
Corvus Corax
5ea35bb28c
Make Diagnostic UAVObjects optional in OP and Sim_Posix (but enabled by default)
2011-08-20 13:06:58 +02:00
Corvus Corax
7395a369a9
Optional Modules: Ported optional module concept to OpenPilot and Sim_Posix
2011-08-20 13:02:44 +02:00
Corvus Corax
53d0732fc6
Enable GPS module as "optional module" in CooterControl
2011-08-20 01:25:49 +02:00
Corvus Corax
dfd301571a
HWSettings: Allow late Initialization and Start of Modules as defined in Makefile(available modules) and UAVObject(actually started modules)
2011-08-20 01:24:06 +02:00
Corvus Corax
b75890fcd4
Merge branch 'next' into CC_GPS
2011-08-19 21:34:38 +02:00
Corvus Corax
85aef9c7b4
OpenPilot: bugfix: Add GPS tx buffer by default (needed until GPS has been refactored to not send or only send when configured so)
2011-08-19 20:22:05 +02:00
Corvus Corax
2062ec0aeb
AHRS_COM: Initialize transpherred objects before using them
2011-08-19 19:52:27 +02:00
Corvus Corax
5e4941f7cb
PiOS.posix: make PiOS.posix bail in case of a Panic with an error message
2011-08-19 18:41:59 +02:00
Corvus Corax
9bba1f7ae9
Posix: fix object initialization where necessary
2011-08-19 18:36:30 +02:00
James Cotton
03a8bd7674
Statically initialize object handles to null to make sure the uavobjectmanager
...
can catch it and return -1. Do NOT panic when they are null as this is
something that should be caugth at run time in some cases.
Ideally as a compromise in a task start it could have a set of
PIOS_Assert(ObjectNameHandle()) to make sure the minimal set of objects it
needs are there.
2011-08-19 10:12:39 -05:00
James Cotton
ab7e57ad2b
Initialize objects for guidance in the correct place. Init some objects in
...
pios_board_posix since AHRSComms not around.
2011-08-19 09:52:05 -05:00
James Cotton
ced29e221e
Revert "Debugging: Add PIOS_DEBUG_Panic() call wen an UAVObject handle is requested but object is uninitialized, make PiOS.posix bail in case of a Panic with an error message"
...
We do not want to panic in this case as we want the ability to detect if
objects exist at run time
This reverts commit 78e42470d4
.
2011-08-19 09:45:10 -05:00
James Cotton
482bec497b
Revert "Fixed modules that didn't initialize used UAVObjects correctly"
...
Modules should initialize their settings and the objects they source. Not just
everything.
This reverts commit 9ad85e9b7b
.
2011-08-19 09:44:38 -05:00
Corvus Corax
69f10cd6d0
PiOS.posix: bugfix in COM_UDP
2011-08-19 13:54:16 +02:00
Corvus Corax
adfb6eccc2
fixed usage of GPS buffer in sim_posix
2011-08-19 13:20:40 +02:00
Corvus Corax
9ad85e9b7b
Fixed modules that didn't initialize used UAVObjects correctly
2011-08-19 13:20:15 +02:00
Corvus Corax
78e42470d4
Debugging: Add PIOS_DEBUG_Panic() call wen an UAVObject handle is requested but object is uninitialized, make PiOS.posix bail in case of a Panic with an error message
2011-08-19 12:56:26 +02:00
Corvus Corax
01a844e0da
Fixed redefinition of configCHECK_FOR_STACK_OVERFLOW in OpenPilot/System/inc/FreeRTOSConfig.h
2011-08-19 12:11:05 +02:00
Corvus Corax
f86e53bf91
Merge branch 'OP-536_CorvusCorax_ObjectOrientedFirmwareUAVTalk' into next
...
Conflicts:
flight/Modules/Telemetry/telemetry.c
2011-08-19 12:10:40 +02:00
James Cotton
f85ae84ec3
Merge branch 'camera_stabilization' into next
...
Conflicts:
flight/OpenPilot/System/pios_board_posix.c
2011-08-19 01:48:24 -05:00
Corvus Corax
6fe495c088
Merge remote branch 'origin/next' into OP-536_CorvusCorax_ObjectOrientedFirmwareUAVTalk
...
Conflicts:
flight/Modules/Telemetry/telemetry.c
2011-08-17 08:30:32 +02:00
James Cotton
35eef66bfe
OP-557: Add a UAVO access method to erase the entire flash chip. Normally not
...
needed by users because if too much changes I change the FS magic and trigger a
wipe.
Possibly the erase should require a particular "magic" object id value to
execute? This would make it harder to do manually through UAVOs though.
2011-08-15 10:33:27 -05:00
James Cotton
86b652bbab
Merge branch 'next' into camera_stabilization
2011-08-14 18:07:57 -05:00
zedamota
e736b17cc4
Merge remote-tracking branch 'remotes/origin/next' into GCS_ChangesToUI-RuntimeCFG
...
Conflicts:
ground/openpilotgcs/src/plugins/config/config_cc_hw_widget.cpp
ground/openpilotgcs/src/plugins/config/configgadgetwidget.h
ground/openpilotgcs/src/plugins/config/configstabilizationwidget.cpp
2011-08-14 15:48:16 +01:00
Corvus Corax
b75653a226
PiOS.posix: small corrections and bugfixes to make pios_com_udp work correctly. Telemetry works now.
2011-08-14 14:21:54 +02:00
Corvus Corax
5b240a2675
PiOS.posix: port pios_udp and pios_com to "next"
2011-08-14 14:21:54 +02:00
Corvus Corax
8a47ade16b
flight/Libraries/fifo_buffer: Use platform independent <stdint.h> instead of "stm32xxx.h" to get definition of intX_t types
2011-08-14 14:21:54 +02:00
James Cotton
f766ba47aa
Increase the size of the eventdispatcher task and lower the maximum queue size.
2011-08-13 19:21:58 -05:00
James Cotton
a2b76adc33
Attitude: Do not start attitude estimation until accel data appears. This
...
fixes the NaN when AttitudeSettings not available.
2011-08-13 18:53:42 -05:00
James Cotton
ca413415a0
Code to make openocd 0.5.0 work. I'll keep this branch rebased on next.
2011-08-13 18:03:49 -05:00
James Cotton
ec4e23aff9
Camera Stabilization: Bound outputs to [-1,1] although this should be redundant
...
with checks in actuator.
2011-08-11 14:34:38 -05:00
James Cotton
9c7799dfe6
UAVObject Init: Get rid of deprecated linker init code
2011-08-10 22:48:42 -05:00
James Cotton
c8313d7b3e
Add the camera stabilization files to the Pro build. Not functional though.
2011-08-10 22:31:38 -05:00
James Cotton
bbe3c1533a
Merge branch 'next' into camera_stabilization
2011-08-10 21:57:45 -05:00
James Cotton
ab288e95ab
Stabilization: Small patch so that by default the integral is zeroed while
...
throttle is low (good for quads) but can be disabled (good for planes and also
testing helis).
2011-08-10 03:51:46 -05:00
James Cotton
f23eaa8273
Make the Actuator pull from the CameraDesired fields
2011-08-09 21:47:42 -05:00
James Cotton
f11aa80444
CameraStabilization: Make the CameraStabilization module put the desired
...
position into another object (will help with configuration).
2011-08-09 20:45:38 -05:00
James Cotton
c4e272b9ad
Merge branch 'next' into camera_stabilization
2011-08-09 20:16:45 -05:00
James Cotton
ec2121bca8
Attitude: Keep first element of quaternion positive
2011-08-08 21:16:04 -05:00
sambas
9f35b6939c
Bind IO fix
2011-08-07 10:10:52 +03:00
sambas
1e67b5e3b5
DSMx_binder, hw setting 0 disabled, 1-10 bind pulses. Manual disable after successful bind. Only for flexiport.
2011-08-06 22:16:47 +03:00
James Cotton
fd86c25b49
Make sure OP compiles with new object init structure.
2011-08-04 15:01:54 -05:00
sambas
a454cf844b
DX8 support, BIND3 only
2011-08-04 19:20:05 +03:00
James Cotton
a592e7d398
ManualControlSettings must be also initialized in pios_board.c
2011-08-04 07:47:50 -05:00
James Cotton
bac7836318
Revert "uavobj: shrink metadata struct to save RAM". I was premature merging
...
this to next as it changes the on-the-wire representation and thus doesn't
allow GCS to set the metadata.
This reverts commit a641cd7956
.
2011-08-04 07:17:36 -05:00
Stacey Sheldon
a641cd7956
uavobj: shrink metadata struct to save RAM
...
This update saves 448 bytes of RAM with the current
crop of UAVObjects. It reduces a 19 byte struct to
8 bytes.
Note: This also introduces a limit of 65.534s for the
update periods.
2011-08-03 00:00:50 -04:00
Stacey Sheldon
90b2625deb
rcvractivity: Add tracking of Rx channel activity
2011-08-02 01:27:37 -04:00
Stacey Sheldon
06cdeb7b61
rcvr: support multiple simultaneous receivers
...
Now also supports multiple instances of the Spektrum driver.
These are configured as Spektrum1 and Spektrum2.
2011-08-02 01:22:04 -04:00
Stacey Sheldon
829b8b83f6
rcvr: Add GCS receiver driver for rcvr via telemetry
...
This allows the GCS to emulate a receiver device via the
telemetry link.
Select "GCS" as your input type in the manualcontrol config
screen and calibrate it as normal.
Note: The expected values for the channels are in microseconds
just like a PWM or PPM input device. The channel values
are validated against minimum/maximum pulse lengths just
like normal receivers.
2011-08-02 01:22:04 -04:00
Stacey Sheldon
2f79e4fa76
Merge remote branch 'origin/stac/refactor-usart-com' into next
2011-07-31 09:41:06 -04:00
James Cotton
035b4103c4
Need to initialize the HwSettings before using them.
2011-07-31 09:42:15 +09:00
James Cotton
c5bf0ac657
Merge branch 'stac/refactor-usart-com' into camera_stabilization
2011-07-31 09:13:37 +09:00
James Cotton
568ea13471
Merge branch 'next' into stac/refactor-usart-com
2011-07-31 09:13:27 +09:00
Stacey Sheldon
6b1ec9a54e
bl: fix LED pwm computation with new stopwatch
2011-07-30 16:59:57 -04:00
James Cotton
3df730c64f
Merge branch 'stac/refactor-usart-com' into camera_stabilization
2011-07-30 13:38:43 +09:00
James Cotton
387a22398e
Make it possible to optionally enable the CameraStab module
2011-07-30 12:08:47 +09:00
Stacey Sheldon
8c0b60099f
rcvr: don't init spektrum and sbus rcvrs twice
2011-07-29 22:59:50 -04:00
James Cotton
cb9c6dfb5e
Change the sequencing of telemetry starting to make sure all the objects that
...
were registered in an initialize and then enumerated by telemetry
2011-07-30 11:31:45 +09:00
James Cotton
132e19d613
Change the makefiles - always compile the optional objects but the flag
...
indicates whether they are registered
2011-07-30 11:29:29 +09:00
James Cotton
ae67c51632
Register some missing objects with their modules
2011-07-30 11:28:21 +09:00
James Cotton
2e5a36a4db
Merge branch 'stac/refactor-usart-com' into camera_stabilization
2011-07-30 10:55:16 +09:00
James Cotton
b2d2114ede
Disable auto registration of all objects. Later the uavobj_init linker scripts
...
should be deleted to not carry around old code.
2011-07-30 10:24:46 +09:00
James Cotton
23e9b56839
Dos2unix flight/CopterControl/System/coptercontrol.c
2011-07-30 10:06:35 +09:00
James Cotton
96c2d24253
Merge branch 'next' into camera_stabilization
...
Conflicts:
flight/CopterControl/Makefile
flight/CopterControl/System/coptercontrol.c
flight/Modules/Actuator/actuator.c
flight/Modules/GPS/GPS.c
flight/Modules/ManualControl/manualcontrol.c
flight/Modules/Stabilization/stabilization.c
flight/Modules/System/systemmod.c
shared/uavobjectdefinition/manualcontrolsettings.xml
shared/uavobjectdefinition/stabilizationdesired.xml
2011-07-30 10:06:10 +09:00
James Cotton
333ab645ec
Dos2unix manualcontrol.c to facilitate merging
2011-07-30 09:55:02 +09:00
Stacey Sheldon
c2fb0d8b43
com: allow run-time allocation of buffers
2011-07-29 15:33:14 -04:00
Stacey Sheldon
8b0415d905
bl: alternate stopwatch for small bootloaders
...
The small bootloaders (CC and PipX) are out of flash space
so their stopwatch implementation has been swapped out for
one based on the DELAY clock that takes about 500 bytes less
of code space.
Identical functionality is preserved.
2011-07-29 15:33:01 -04:00
Stacey Sheldon
13f9b0e09d
Merge remote branch 'origin/OP-498_jwhitlock_add-ppm-to-cc' into next
2011-07-28 22:15:01 -04:00
Stacey Sheldon
a3888ecd48
usart: ensure callbacks are bound in the correct order
2011-07-27 23:21:39 -04:00
Stacey Sheldon
5f8760a55c
com: Move buffering out of USART/HID layer and into COM layer
...
This allows the spektrum and sbus receiver drivers to bind
directly to the usart layer using a properly exported API
rather than overriding the interrupt handler.
Bytes are now pushed directly from the usart layer into the
com layer without any buffering. The com layer performs all
of the buffering.
A further benefit from this approach is that we can put all
blocking/non-blocking behaviour into the COM layer and not
in the underlying drivers.
Misc related changes:
- Remove obsolete .handler field from irq configs
- Adapt all users of PIOS_COM_* functions to new API
- Fixup callers of PIOS_USB_HID_Init()
2011-07-27 19:45:38 -04:00
James
60136f0464
Add support for PPM transmitters up to 12 channels. Small array indexing issue in PIOS_PPM_Get.
2011-07-27 00:33:32 +01:00
Stacey Sheldon
b70d5ae148
Merge remote branch 'origin/msmith-delay-timer' into next
2011-07-26 09:04:06 -04:00
Mike Smith
df5569c758
Fix a stupid off-by-one that prevented this code from working.
...
Update to use 32-bit microsecond values.
Remove PIOS_DELAY_DiffuS per consensus (caller can do it easily themselves).
Update the core delay logic per Stac's suggestion to a version that is
resistant to various overflows.
2011-07-25 20:55:48 -07:00
James Cotton
056db1cdda
Merge branch 'bugfix-flight' into next
2011-07-24 07:09:42 +09:00
James Whitlock
6a6ec41809
Build fixes
2011-07-23 22:10:17 +01:00
Mike Smith
480f07a264
Typo fix.
2011-07-23 13:58:56 -07:00
Mike Smith
a89092e275
Update to use the delay API to get entropy rather than reading the timer directly.
2011-07-23 13:53:42 -07:00
Mike Smith
0df3bb2c37
Restore functions lost due to inept merging, and refactor to take advantage of them.
...
Address the following review feedback items:
- use stdint types
- avoid the use of magic numbers (define CYCCNTENA)
- remove expository comment about sneakiness and corresponding code, replace with something simpler based on the API
- remove commented/#if 0 code
2011-07-23 13:53:16 -07:00
Mike Smith
dae4b44100
Remove commented code that refers to the now-obsolete PIOS_DELAY_TIMER
2011-07-23 13:49:36 -07:00
Mike Smith
c3267a3b53
Remove PIOS_DELAY_TIMER definitions from configuration files, as there is no longer a delay timer to configure.
2011-07-23 13:48:40 -07:00
James Whitlock
11c568ec50
Add in a PPM input frame size tracker.
...
Move update of capture values to start of new frame.
Fix an issue with setting channels to invalid.
2011-07-23 01:38:51 +01:00
James Whitlock
7a58b4cceb
A quick clean of ppm code to remove white space and duplicated comments
2011-07-23 01:32:57 +01:00
James Cotton
abee34e551
Getting posix simulation compatible with init and receiver changes
2011-07-22 07:50:06 -05:00
Mike Smith
6bc5339015
Change the pios_delay implementation to use the CPU cycle counter rather than burning a timer.
2011-07-21 23:21:26 -07:00
Stacey Sheldon
a7cce25252
usart: fix lower usarts clobbering higher ones
...
The break statements are clearly missing from this
switch statement.
This would lead to problems when using more than one
USART on CC.
2011-07-22 00:30:49 -04:00
James Whitlock
7ce5daef8f
Clean up of PPM code in master.
2011-07-19 20:46:24 -04:00
Stacey Sheldon
8dbace5ee2
Merge branch 'rcvr_mem_reduction'
...
Conflicts:
flight/PiOS/STM32F10x/link_STM32103CB_CC_Rev1_sections.ld
2011-07-17 17:14:40 -04:00
James Cotton
2da65014c7
Fix typo in servo doxygen header
2011-07-16 03:25:33 -05:00
James Cotton
14370b5ac4
Reenable serial telemetry on OP main board
2011-07-15 19:10:00 -05:00
James Cotton
b83f731c03
Remove all references to vTaskDelay in the flash code as it can run before the
...
FreeRTOS scheduler
Also increaes init stack size from 0x80 to 0x100
2011-07-15 18:16:16 -05:00
James Cotton
01b62cf98f
Fix a typo
2011-07-15 15:30:10 -05:00
James Cotton
72e80d407c
Change the magic value in the object file table. Forces all objects to be
...
erased since all ids are changing - this frees up memory.
2011-07-15 11:11:29 -05:00
James Cotton
d41260d54c
Make the stabilization settings query correctly now by increasing the TX buffer
...
on the CC side to 256 bytes instead of 128 to support large objects (max object
size is 256 bytes)
2011-07-15 10:40:21 -05:00
James Cotton
3d35e249c8
Merge branch 'master' into bugfix-flight
2011-07-15 10:33:54 -05:00
Stacey Sheldon
6580462916
rcvr: specify drivers for groups of channels
...
Each channel was previously tracking a separate driver.
Now, channels are grouped within a channel group to save
RAM used for tracking and to better reflect how channels
are actually mapped.
2011-07-14 23:22:42 -04:00
Stacey Sheldon
442d56c1c5
linker: Add section to record unused RAM
...
Note that this section will be absorbed by the heap at runtime.
2011-07-14 23:22:42 -04:00
zedamota
b005346fab
Windows eclipse workspace. Sorry for the mess, all is good know...I think
2011-07-14 18:16:38 +01:00
zedamota
e559582bb8
Eclipse workspace update
2011-07-14 17:09:58 +01:00
zedamota
c22bc2a675
Merge branch 'bugfix-flight' of ssh://git.openpilot.org/OpenPilot into bugfix-flight
2011-07-14 14:07:28 +01:00
zedamota
16e28900d0
Created new eclipse workspace for windows
2011-07-14 13:34:34 +01:00
sambas
18a5465246
Bugfix: CC flexiport spektrum config
...
Working spektrum bind routine, depending your TX try BIND_PULSES 3,5,7,9 (5 works with DX7)
Boot process takes too long on MB so bind command misses the window (20-140ms).
2011-07-14 14:43:26 +03:00
Mathieu Rondonneau
612a439199
OP-423: simplify the MODULE_INITCALL macro and remove the ordering loops
2011-07-12 20:44:32 -07:00
James Cotton
0aec3b592c
Changing stabilization so that the PIDs are zeroed when not armed, but NOT when
...
the throttle is < 0. This will make things like axis-lock work while armed
without throttle. HOWEVER don't hold your stick in the arming position for a
long time or you can wind up the integrals now.
2011-07-12 14:35:32 -05:00
James Cotton
2c7cfe435f
Somehow this task runs quite a few times at the beginning so dT was going to
...
zero and making the attitude get NaN. Wrote recovery code for that condition
(should never occur) and also force minimum dT to 1 ms (also shouldn't occur)
2011-07-12 14:18:19 -05:00
James Cotton
53ca934b2b
Merge branch 'heli_stabilization'
...
Conflicts:
flight/CopterControl/System/inc/pios_config.h
flight/Modules/Attitude/attitude.c
flight/Modules/ManualControl/manualcontrol.c
flight/Modules/Stabilization/stabilization.c
2011-07-12 13:28:20 -05:00