James Cotton
1783817b96
INS: First pass at altitude hold code
2011-09-13 01:44:53 -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
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
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
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
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
Corvus Corax
9bba1f7ae9
Posix: fix object initialization where necessary
2011-08-19 18:36:30 +02: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
9ad85e9b7b
Fixed modules that didn't initialize used UAVObjects correctly
2011-08-19 13:20:15 +02:00
James Cotton
a592e7d398
ManualControlSettings must be also initialized in pios_board.c
2011-08-04 07:47:50 -05: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
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
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
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
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
Mathieu Rondonneau
d38f6167e3
OP-423:
...
Also reduce heap has it does not fit in SRAM anymore (not with current compiler).
(that's ok since if there is more space available, it will be reclaimed).
Merge branch 'master' into OP-423_Mathieu_Change_Init_To_Reduce_Memory_Footprint
Conflicts:
flight/CopterControl/System/inc/pios_config.h
flight/Modules/ManualControl/manualcontrol.c
2011-07-08 06:29:34 -07:00
Mathieu Rondonneau
9b9b5a1367
OP-423: remove ';' at the end of macro
2011-07-05 19:44:54 -07:00
Stacey Sheldon
740b5f1584
rcvr: convert PWM, PPM, SBUS and Spektrum to use PIOS_RCVR
...
All receivers now fall under the same driver API provided
by pios_rcvr.c.
This is part of a larger sequence of commits that will
switch the receiver selection over to boot time dynamic
configuration via UAVObjects.
2011-07-05 22:03:25 -04:00
James Cotton
ad8876c62a
OP-193: Weak leveling variant on rate mode. Slowly will return to level.
2011-07-04 20:44:55 -05:00
James Cotton
39e646ae1d
Make the rates all work properly in axis lock
2011-06-30 19:38:52 -05:00
Mathieu Rondonneau
de55c56427
OP-423: Change capital on macro to be uppercase for consistency.
2011-06-24 22:03:03 -07:00
James Cotton
c0eff41dc6
OP-410 OP-333: Created an Axis-lock setting for stabilization
2011-06-24 10:38:26 -05:00
James Cotton
f6312c7798
OP-410 OP-333: Created an Axis-lock setting for stabilization
2011-06-23 14:51:18 -05:00
Mathieu Rondonneau
0ff5e9a46f
Merge branch 'master' into OP-423_Mathieu_Change_Init_To_Reduce_Memory_Footprint
2011-06-21 22:02:13 -07:00
James Cotton
8976d22fad
Merge remote-tracking branch 'origin/OP-159_os_sbus'
2011-06-21 17:51:22 -05:00
Mathieu Rondonneau
fc1e3f574c
OP-423: Split task create and module init in order to postpone task creation once the full heap is available.
...
Also implement some ordering (quite ugly still) in the module init and task creation order so we can decide which module to start/init first
and which module to start/init last.
This will be replaced/adapter with the uavobject list later (once it's implemented).
reserving some space for module init and task create parameters to customize module/task creation (this will be usefull once we get the list and customization from customer).
Changes have been made for OP and CC. Tested comped with CC,OP, sim_posix.
Only ran on bench with CC for couple of minutes (code increase expected but no dropping of stack which is good).
This gives task creation at the time wherethe all heap is available.
2011-06-19 22:35:40 -07:00
James Cotton
5044ea36de
Start initializing objects in the modules that consume them. Shouldn't affect
...
OP yet but not tested.
2011-06-18 14:20:51 -05:00
Mathieu Rondonneau
b67a38661e
OP-423: merge master into that branch, resolve conflicts and test with CC and bl_CC
...
heap reamining is low (about 500) but stacks can be ajusted (specially the 200 bytes from system) to give the level close to 1Ko if needed.
Merge branch 'master' into OP-423_Mathieu_Change_Init_To_Reduce_Memory_Footprint
Conflicts:
flight/CopterControl/System/inc/FreeRTOSConfig.h
flight/CopterControl/System/inc/pios_config.h
2011-06-17 19:04:09 -07:00
Mathieu Rondonneau
65cf467ca4
OP-423: move the module initialize funtion into a specific section for OP and CC.
...
- create linker section for those <module>Initialize()
- later this list will incorporate parameters as well. (this probably will be more a OP feature to swap/remove/delete module on the fly.
- this is not done at compile time anymore by Makefile.
- this will allow us to have control on the module start at run-time (not implemented but build the ground for it).
- this simplify the startup (Part of code re-org).
- this change does not affect sim_posix and win32 (since they don't need that)
- ensure it's compiling for PiOS.posix
- port to PiOS.win32 but not tested (not compiled)
- tested on CC
- compile on OP.
- this free ~200 bytes.
- current avalable bytes (is we keep the same remaining bytes on the stack than before) is easily passed the 1.2Ko mark on CC with new gcc (4.5.2)
- this does not include init-reorg for each module (I still think more can be freed)
2011-06-16 22:13:19 -07:00
Oleg Semyonov
d8201ec45b
sbus: provide a stub based on Spektrum driver (for CC only)
2011-06-15 22:35:21 +03:00
James Cotton
99b3a629a8
OP-493: Force three AccessoryDesired objects to always exist. Routing to
...
Mixing channel now works. However Accessory desired instances do not show up
in GCS.
2011-06-05 15:38:58 -05:00
James Cotton
a1d60cb77d
OP-493: Use multiple instances when using multiple accessory channels
2011-06-05 15:38:57 -05:00
James Cotton
1365542103
OP-493: Populate the Accessory Desired from TX
2011-06-05 15:38:57 -05:00
Oleg Semyonov
36d2a467e0
manualcontrol: fix copy/paste error
2011-05-26 00:16:36 +03:00
James Cotton
80c839d5bb
OP-475: Starting to use the new FlightStatus object
2011-05-07 13:17:21 -05:00
James Cotton
e2819c6815
Restructure the ManualControlCommand code to be much more readable. Also
...
facilitates the new FlightMode object.
2011-05-07 12:43:27 -05:00
Corvus Corax
5f749dda7e
Modules/ManualControl: bugfix GCS Control was broken due to connection state and arming being checked outside of the "object_writable()? {}" if clause
2011-05-06 01:26:34 +02:00
James Cotton
05684e966b
OP-470: Make arm/disarm threshold 50% instead of 90%
2011-05-04 22:53:00 -05:00
James Cotton
9daca1ac41
OP-469: Wasn't paying attention and missed a line
2011-05-02 22:22:57 -05:00
James Cotton
9afedc0139
OP-469: Fix a bug I wrote where MaximumRate instead of ManualRate was used to
...
scale sticks in rate mode.
2011-05-02 04:33:32 -05:00
James Cotton
62e3d35a97
OP-452 Read the channel times even if a bad mixer is configured
2011-04-29 17:57:04 -05:00
pip
33d9d31082
Modified manual control input value checking to determine RC connection state - was previously checking only the throttle channel for semi-valid input range, it now checks the Throttle, Roll, Yaw and Pitch channels for full-valid values (manual value is within min and max values).
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3146 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-04-10 14:00:46 +00:00
peabody124
3fc88f69e2
Covering a case that should not occur
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3081 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-26 21:02:43 +00:00
peabody124
3b13ad6859
OP-329: Enumerate more possible flight modes now like multiple stabilization
...
modes so that the FlightMode field is complete in terms of being informative
enough
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2935 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-02 01:25:44 +00:00
peabody124
8930ec01de
OP-313 Quaternion based stabilization, gets rid of lots of checking angle
...
signs, should be stable for all orientations
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2932 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-02 01:25:34 +00:00
peabody124
3e17c2ff55
OP-312: Create a StabilizationDesired object that is the generic input to
...
Stabilization, carries the desired rate or attitude as well as a flag on how to
intepret it.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2930 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-02 01:25:27 +00:00
pip
beedb7fdad
Added center stick deadband code - currently deadband is set to '0' so not used)
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2927 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-01 21:43:20 +00:00
peabody124
5f2c502172
Arm checks: Simply don't check GPS because the dependence on AHRS Settings
...
breaks CC. This should be done by the GPS alarm being set only when
appropriate (i.e. by AHRS on OP when needed) and not by the GPS module.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2824 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-21 05:58:24 +00:00
pip
0c48fe258a
Changed alarm level checking from WARNING level to ERROR level before allowing arming.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2822 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-20 19:34:27 +00:00
pip
88cf1e276a
Ignore Telemetry alarm when arming (telemetry alarm no longer prevents arming).
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2821 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-20 17:53:03 +00:00
pip
df26016c64
Added alarm check when trying to change state to ARMED mode (from DISAMRED mode), if any warnings are set then it will not go into ARMED mode - unless the GPS is not required, in which case the GPS alarm will be ignored (if using Simple or Indoor AHRS modes). These checks are done in the okToArm() function.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2820 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-20 16:42:31 +00:00
corvus
435072cf4e
Modules/Stabilization, Modules/ManualControl:
...
Move channel StabilizationSettings from ManualControlCommand to
AttitudeDesired, unify channel normalization and put them all into ManualControl
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2797 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-15 14:55:00 +00:00
FredericG
d7fc7646b0
OP-246 UAVOBJ CHANGE - Setting to disable arming/disarming
...
options="Always Disarmed,Always Armed,Roll Left,Roll Right,Pitch Forward,Pitch Aft,Yaw Left,Yaw Right" defaultvalue="Always Disarmed"
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2744 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-06 16:16:20 +00:00
peabody124
f93ed5f01f
CC Module memory: Make it clean for CC to override the stack sizes of modules
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2668 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 02:18:35 +00:00
peabody124
cef46edafd
Manual Control: Drop the AHRSSettings dependency to bring task memory down
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2574 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-24 07:52:03 +00:00
FredericG
f7e6f998ca
OP-288 Slight simplification of the ManualControl module
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2548 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-23 18:38:00 +00:00
cwabbott
e73da04cc6
PiOS.win32: changes according to rev 2480, fix compile error in manualcontrol.c, add vTaskDelete() to win32 FreeRTOS.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2484 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-19 23:52:11 +00:00
osnwt
780f441ae9
OP-289/Flight: do not use RC input if disconnected. Quick fix until better arming system is designed.
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2479 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-19 00:01:33 +00:00
FredericG
76420d7972
OP-288 Simplification of ManualControl code
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2478 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-18 19:30:50 +00:00
FredericG
c2613ffa88
Spaces->tab no code change
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2456 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-16 18:49:27 +00:00
FredericG
3f1ad074df
OP-246 Configuring arming/disarming; using field to ManualControlSetting to define which channel is used for arming or to disable arming
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2455 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-16 18:17:30 +00:00
peabody124
fc54159369
OP-265 Flight reorganization of UAVObjects and Modules up a directory
...
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2415 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-14 01:38:19 +00:00