Brian Webb
0dce12e984
RFM22B: Finised handshacking on ACK and changed the link quality metric to use resent packets rather than missed packets.
2012-12-11 17:44:09 -07:00
Brian Webb
7aaa02268f
RFM22B: Added TX Resent to OPLink status. Also removed the need for the packet queue.
2012-12-11 17:44:08 -07:00
Brian Webb
fa5f7a8fdd
RFM22B: All packets are now ACKed, and added a formal connection request / accept that will be used or auto-configuring the remote modem.
2012-12-11 17:44:06 -07:00
Brian Webb
98026966f7
RFM22B: Added PPM packets to rfm22 driver.
2012-12-11 17:44:04 -07:00
Brian Webb
04da5d2377
USB/COM/RFM22B: Added a standard com callback to test for link availability. This replaces the PIOS_USB_CheckAvailable function with a generic PIOS_COM_Available function. This is now used by the RFM22B com driver to test if a good link is up. This was originally written by James, and Brian merged it into the latest RFM22B branch.
2012-12-11 17:44:03 -07:00
Brian Webb
e36bd678e1
RFM22B: Allow a receive to happen between transmitts.
2012-12-11 17:44:01 -07:00
Brian Webb
9f43e1151c
RFM22B: Fixed status reporting and connection status for OPLink.
2012-12-11 17:44:00 -07:00
Brian Webb
15fc29560a
RM: Remove configuration of the RFM22B from the RevoMini pios_board.c. This is in preparation for auto-configuration.
2012-12-11 17:43:58 -07:00
Brian Webb
bd42083376
RFM22B: Changed the way the frequencies and power settings are set for the rfm22b device.
2012-12-11 17:43:55 -07:00
Brian Webb
dae382564a
RFM22B/RM: Added rfm22b com device, moved remaining functionality in the radio module to the rfm22 driver, and simplified configuration of the PipX/OPLink. The radio device now presents itself completely as a com device, both in RadioComBridge (OPLink devices) and Telemetry (RM). Also change the PipXStatus and PipXSettings UAVOs to OPLinkStatus/OPLinkSettings.
2012-12-11 17:43:53 -07:00
Brian Webb
0113b6a748
Added UAVTalkRelayInputStream to the UAVTalk library that parses a UAVTalk packet and sends it when it is complete. This allows the interlieving of packets on an output UAVTalk stream, and is used by the OPLink device to relay packets from an input com port to a different output com port without sending one packet in the middle of another packet.
2012-12-11 17:43:50 -07:00
Brian Webb
4b90f81f6f
RFM22B: Modified the method of tracking RX errors, and now reporting Good, Corrected, Error, and Missed packets to the GCS. Also removed some less useful fields from the PipXStatus.
2012-12-11 17:43:49 -07:00
Corvus Corax
7ac258352a
OP-753 - prevent flying in wrong direction in FlyVector mode.
2012-12-04 16:18:24 +01:00
a*morale
3dc11b297b
Enabled airspeed module on RevoMini target
2012-12-02 17:14:54 +01:00
Oleg Semyonov
9420a76820
[OP-724] Better name for dT according to OPReview-368 comment
2012-12-02 14:09:21 +02:00
Oleg Semyonov
41d56b282e
[OP-724] Remove LPF from throttle input channel (not necessary)
2012-12-02 13:50:03 +02:00
Erik Gustavsson
5132448fe8
Decrease zeroing yawBiasRate to reduce noise-induced random yaw drift.
2012-11-29 18:56:33 +01:00
Oleg Semyonov
cc98962c36
[OP-724] Provide generic gimbal type
2012-11-29 18:03:05 +02:00
Oleg Semyonov
8adc2abd77
[OP-724] Now most camera options can be set independently per each axis.
2012-11-29 17:39:10 +02:00
Oleg Semyonov
5784ea8b36
[OP-724] Provide Actuator option to disable selected channels and use it for 7s camera boot delay
...
Actuator did not provide an option to completely shutdown selected channels
(set PWM pulse = 0). It is useful for camera stabilization boot delay (we
want few seconds of gimbal servo inactivity to calibrate gyros). It also
might be useful for failsafe on some channels. This option is now available.
It is used to disable camera outputs during fixed 7s delay after boot
instead of setting them to minimum position.
As a side effect, few bugs are fixed (ticks should be multiplied by
portTICK_RATE_MS, not divided, to get time in ms). And few floating point
operations were optimized out as well.
ActuatorCommand.UpdateTime was promoted to uint16 because it is not unusual
to have it 20000ms during flash updates (was seen on the CC after UAV
settings import). So it should be 16bit as well.
2012-11-29 17:39:09 +02:00
Oleg Semyonov
8f5fb5aeb0
[OP-724] Add camera gimbal filtering and feed forward options
...
This is a partial rework of Cossacs' camera gimbal software.
This patch adds LPF to airframe attitude used for camera stabilisation
and feed forward for camera actuators. Either of options can be
disabled on the compilation level to save flash and RAM if not
required.
Original Cossacs' code was optimized and code flow shortcuts were
added where applicable.
2012-11-29 17:39:08 +02:00
Oleg Semyonov
ee333f1569
[OP-724] Add manual control input filtering (useful for camera gimbal)
...
This is a partial rework of Cossacs' camera gimbal software.
This patch adds LPF to some of manual control inputs. Mostly
useful are accessory channels (for camera gimbal control) and
yaw channel (for smooth filming). The code may be used for
stand-alone CC[3D]-based gimbal software, but also should work
for complete FC+camera system.
2012-11-29 17:39:07 +02:00
Oleg Semyonov
ea1199603b
Merge remote-tracking branch 'origin/rel-12.10.2' into next
...
Conflicts:
MILESTONES.txt
2012-11-29 17:31:50 +02:00
Erik Gustavsson
4312652241
Use enum to index array.
...
Replace 0 with 0.0f in assignment.
2012-11-29 00:03:39 +02:00
Erik Gustavsson
5e14f5352f
Minor codestyle/whitespace cleanup
2012-11-29 00:03:38 +02:00
Erik Gustavsson
dc5394dcf3
Add setting to suppress axis output from Stabilization module until armed and throttle is applied. Useful to keep the tail prop out of the grass while arming a tri.
2012-11-29 00:03:37 +02:00
Oleg Semyonov
96c7ec37a9
Merge remote-tracking branch 'origin/hyper/flight_uavo_access_type_safety' into next
2012-11-24 16:33:19 +02:00
a*morale
20eb2d7b98
Fixed RTC clock
2012-11-23 19:43:31 +01:00
a*morale
2d83e8a779
Fixes for SBUS support on RM2.
...
Note: it needs the RTC timing to be fixed as it seems that it runs at half its nominal 625Hz value
2012-11-23 19:41:23 +01:00
Corvus Corax
c6effbbb0f
bugfix to pathplanner
2012-11-23 12:29:25 +01:00
Corvus Corax
55f0d41016
bugfix in fixed wing path follower
2012-11-23 11:49:17 +01:00
Richard Flay (Hyper)
5864219d27
Removed __attribute__((always_inline)) after review discussions.
2012-11-23 07:15:28 +10:30
Corvus Corax
7059d4f032
changed some details as to dschin's suggestions
2012-11-22 13:26:45 +01:00
Corvus Corax
264f631df6
Merge branch 'corvuscorax/baro_fixes' into revo-fixes
2012-11-22 11:51:36 +01:00
Corvus Corax
35509ee977
moved sanitycheck from system to manualcontrol to not break OSD and PipX
...
targets
Conflicts:
flight/Modules/ManualControl/manualcontrol.c
2012-11-22 10:11:18 +01:00
Oleg Semyonov
1fbaaddcd4
Merge branch 'stac/stop-wasting-ram' into next
2012-11-19 01:51:37 +02:00
Stacey Sheldon
f0fb22c090
uavobjectmanager: initialize new uavo_handles section
...
The uavo_handles section is not part of the .data segment so
it doesn't get automatically zeroed during the startup code.
This led to random data being stored in the table which resulted
in bus errors at runtime.
This change ensures that the table is zeroed before we start to
use it.
2012-11-18 16:48:13 -05:00
Stacey Sheldon
c1fc605696
uavobjectmanager: remove linked list for UAVOs
2012-11-14 23:38:24 -05:00
Richard Flay (Hyper)
6c0b91dee7
Minor tweak for coding standard compliance.
2012-11-15 07:45:35 +10:30
Oleg Semyonov
79f95983da
Merge remote-tracking branch 'origin/rel-12.10.2' into next
2012-11-14 17:26:18 +02:00
Oleg Semyonov
22173d96e5
Merge remote-tracking branch 'origin/cyr/accel_filter' into rel-12.10.2
2012-11-14 04:44:11 +02:00
Erik Gustavsson
f9f58f22d8
Take the magnitude of the correct gravity vector
2012-11-12 17:16:28 +01:00
Stacey Sheldon
e5c54cca00
freertos: change default alignment to 4-byte from 8-byte
...
There shouldn't be any reason to need 8-byte alignment on the
F1 platform. This allows better packing of all malloc'd data.
Reducing this below 4-byte alignment is not recommended and will
likely result in misaligned pointers being passed to peripherals.
RAM savings is another 300 bytes.
2012-11-11 22:16:00 -05:00
Erik Gustavsson
e38ba912cd
Clarify comment about gravity vector
2012-11-11 21:13:05 +01:00
Erik Gustavsson
04c194fa48
Coding style fixes
2012-11-11 21:10:52 +01:00
Corvus Corax
40381d98ae
compile sanitycheck into simposix
2012-11-11 18:22:01 +01:00
Corvus Corax
5862346d40
Merge remote-tracking branch 'baseorigin/corvuscorax/simposix_firmwareiap' into corvuscorax/sanity_additions
2012-11-11 18:06:16 +01:00
Corvus Corax
ec5f9d232f
Revert "do not do configuration check on SimPosix architecture, its not ported yet"
...
This reverts commit 112a3fe7e5
.
2012-11-11 18:05:46 +01:00
Corvus Corax
112a3fe7e5
do not do configuration check on SimPosix architecture, its not ported yet
2012-11-11 17:39:37 +01:00
Corvus Corax
d1447ca3f8
Rise Botfault error whenever hwsettings has been changed but no reboot took place yet
2012-11-11 17:23:07 +01:00
Corvus Corax
4e32413954
removed pathplannersettings from flight
2012-11-11 14:57:52 +01:00
Stacey Sheldon
e2b019edd9
telemetry: stop registering periodic events for non-periodic UAVOs
...
Telemetry module was iterating over all UAVOs including
meta UAVOs and creating a periodic event item for each
object. These items cost us about 32 bytes for each list
item.
This is wasteful for two main reasons. First, meta UAVOs can't
meaningfully have periodic updates so excluding them entirely
makes sense. That halves the number of objects in this list since
there is one meta object for every data object. This is worth
about 500 bytes of RAM on CC.
Second, about half of the remaining UAVOs are not periodic by
default so they're wasting memory unless someone happens to want
to make them periodic at runtime. This is worth another 450 bytes
of RAM on CC.
So, objects that are configured as periodic during board init will
support all of the periodic config at runtime. Objects that are
*not* periodic during board init can only be made periodic on the
next boot.
Each object that you make periodic during init will cost you an
extra 32 bytes of RAM.
With erased settings, free RAM comparison for CC is:
Before: 2736 bytes free
After: 4048 bytes free
Total RAM savings with this update is 1312 bytes!
2012-11-10 18:04:16 -05:00
Richard Flay (Hyper)
54ebcb1ea8
Removed a spurious call to AccelsSet() that was causing garbage data to be transiently written to the Accels UAVO. Props to cyr for kicking off the discussion that led to the discovery of this bug.
2012-11-11 00:31:08 +02:00
lilvinz
a7029baa32
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-11-11 00:31:07 +02:00
Richard Flay (Hyper)
eda6b6a24a
Improved type-safety. Replaced flight side UAVO access macros with inline functions to ensure that correct pointer types are always passed to UAVO access functions.
2012-11-10 20:47:10 +10:30
Corvus Corax
064ed4087c
set AirspeedActual from attitude module, feed true airspeed estimation into EKF to allow more accurate INS
2012-11-08 11:30:58 +01:00
Corvus Corax
8dd5d5a68b
type fix in header file
2012-11-08 11:12:05 +01:00
Corvus Corax
e9da78406a
Merge branch 'corvuscorax/baro_fixes' into corvuscorax/airspeed_fixes
2012-11-08 09:48:01 +01:00
Corvus Corax
b09027afe5
Completely refactored airspeed module, now a pure sensor input module without any complex sensor fusion features -- changed driver for mpxv analog airspeed to be more versatile
2012-11-08 01:31:21 +01:00
Erik Gustavsson
104c61a174
Move accel filter to separate function, for cleaner code and easier filter alteration.
...
Optimize for filter disabled case (AccelTau = 0.0).
2012-11-06 20:17:10 +01:00
Corvus Corax
5981d9acd6
removed surplus NEDposition uavobject
2012-11-06 10:13:09 +01:00
Corvus Corax
3c8ffa9773
Revert "When in indoor mode reset the baro offset to zero"
...
This reverts commit 9c512261e6
.
2012-11-06 09:42:14 +01:00
Corvus Corax
e8232ba825
Pathplanner: removed pathPlannersettings and preprogrammed (hardcoded) paths
2012-11-05 16:04:45 +01:00
Corvus Corax
cc8e56f170
OP699: changed update rate to use constant
2012-11-05 15:59:13 +01:00
Corvus Corax
ce595a06d9
Merge remote-tracking branch 'baseorigin/revo/corvuscorax/airspeed_fixes' into corvuscorax/airspeed_fixes
...
Conflicts:
flight/RevoMini/UAVObjects.inc
2012-11-05 15:16:03 +01:00
Corvus Corax
8f5b2954ac
Airspeed module: use stored calibration if available
2012-11-05 10:59:06 +01:00
Corvus Corax
5bf18780c1
do not calibrate if there is a pre-stored calibration value
2012-11-05 10:41:24 +01:00
Corvus Corax
4367bd62bf
OP-699 : removed unnecessary object queue in pathplanner
2012-11-05 10:34:44 +01:00
Corvus Corax
e5ab038a89
removed unnecessary comment
2012-11-05 10:33:51 +01:00
Corvus Corax
e2ca9cbb45
OP-699 - refacor ugly buzzer code actuaor module
2012-11-05 10:09:43 +01:00
a*morale
774dde3da5
Normalized the HW configuration to point to _RM_ configuration settins
2012-11-04 13:37:06 +01:00
a*morale
920c2682d2
Fixed UAVObjects.inc for RM to cope with airsped fixes
2012-11-04 11:37:41 +01:00
a*morale
75730e7260
Merge branch 'revo-next' of ssh://git.openpilot.org/revo into revo-next
2012-11-03 21:36:51 +01:00
a*morale
0df1c22933
Fixed channel group for DSM on flexyport
2012-11-03 20:41:33 +01:00
Corvus Corax
3f248915cb
Merge remote-tracking branch 'origin/revo-next' into corvuscorax/airspeed_fixes
2012-11-03 20:03:18 +01:00
a*morale
553b49cdbf
Fixed Flexy serial assingment and added case for telemetry on flexy port
2012-11-02 23:27:15 +01:00
a*morale
3affe846db
Added support for TxPID for RM
2012-11-02 18:06:26 +01:00
a*morale
cfbdaddc94
Fixed invalid value for MS5611 oversample configuration
2012-11-02 17:31:51 +01:00
Erik Gustavsson
677f921b15
Take magnitude of filtered gravity vector into account.
2012-11-02 09:22:18 +01:00
Erik Gustavsson
f63db712d0
Disable accel smoothing during init/arming so it does not interfere
2012-11-02 09:12:24 +01:00
Erik Gustavsson
b7bdf9861d
Run rotated gravity vector through smoothing filter to match phase with filtered accelerometer data.
2012-11-01 12:14:33 +01:00
Richard Flay (Hyper)
10865221b9
Removed a spurious call to AccelsSet() that was causing garbage data to be transiently written to the Accels UAVO. Props to cyr for kicking off the discussion that led to the discovery of this bug.
2012-11-01 18:15:47 +10:30
Corvus Corax
fbacf627ce
Added AirspeedActual to RevoMini
2012-11-01 05:04:55 +01:00
Corvus Corax
ffaab02479
Use Correct Airspeed object in PathPlanner, (and use CalibratedAirspeed, since its more relevant)
2012-11-01 03:46:29 +01:00
Corvus Corax
3458aec53e
Merge branch 'revo-next' into corvuscorax/airspeed_fixes
2012-11-01 03:40:20 +01:00
Erik Gustavsson
c207afbfef
Implement smoothing filter for accelerometer data.
2012-10-31 19:05:59 +01:00
Stacey Sheldon
492fbc88b0
revomini: remove references to POI UAVOs
2012-10-30 21:47:17 -04:00
Sambas
f189596b3d
bootfix, GPS module not included
2012-10-30 20:51:13 +01:00
Sambas
019691e49d
Compile fixes
2012-10-30 20:50:58 +01:00
Stacey Sheldon
5aa3777078
Merge remote-tracking branch 'op-public/next' into revo-next
...
Conflicts:
flight/Modules/Telemetry/telemetry.c
ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
2012-10-30 00:41:35 -04:00
Stacey Sheldon
2119067722
Merge remote-tracking branch 'op-revo/james/revo' into revo-next
...
Conflicts:
Makefile
flight/Modules/Attitude/revolution/attitude.c
flight/Modules/Battery/battery.c
flight/Modules/FixedWingPathFollower/fixedwingpathfollower.c
flight/Modules/GPS/GPS.c
flight/Modules/ManualControl/inc/manualcontrol.h
flight/Modules/ManualControl/manualcontrol.c
flight/Modules/OveroSync/overosync.c
flight/Modules/PathPlanner/inc/pathplanner.h
flight/Modules/PathPlanner/pathplanner.c
flight/Modules/Sensors/sensors.c
flight/Modules/VtolPathFollower/vtolpathfollower.c
flight/PiOS/Boards/STM32F4xx_Revolution.h
flight/PiOS/Boards/pios_board.h
flight/PiOS/STM32F4xx/library.mk
flight/PiOS/inc/pios_hmc5883.h
flight/PiOS/inc/pios_l3gd20.h
flight/PiOS/inc/pios_rfm22b_priv.h
flight/Revolution/Makefile
flight/Revolution/Makefile.osx
flight/Revolution/System/inc/pios_config.h
flight/Revolution/UAVObjects.inc
ground/openpilotgcs/src/libs/utils/coordinateconversions.cpp
ground/openpilotgcs/src/libs/utils/homelocationutil.cpp
ground/openpilotgcs/src/libs/utils/homelocationutil.h
ground/openpilotgcs/src/plugins/config/configrevowidget.cpp
ground/openpilotgcs/src/plugins/hitlnew/il2simulator.cpp
ground/openpilotgcs/src/plugins/opmap/opmapgadgetwidget.cpp
ground/openpilotgcs/src/plugins/plugins.pro
ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
package/Makefile
shared/uavobjectdefinition/fixedwingpathfollowersettings.xml
shared/uavobjectdefinition/fixedwingpathfollowerstatus.xml
shared/uavobjectdefinition/flightstatus.xml
shared/uavobjectdefinition/hwsettings.xml
shared/uavobjectdefinition/manualcontrolsettings.xml
shared/uavobjectdefinition/pathdesired.xml
shared/uavobjectdefinition/vtolpathfollowersettings.xml
shared/uavobjectdefinition/waypoint.xml
2012-10-30 00:08:43 -04:00
James Cotton
9151e5cded
Sanity Check: Fix indentation
2012-10-28 20:00:03 -05:00
Corvus Corax
6409dfb2df
Further cleanup in PathFollower. Should now be safe to fly again
2012-10-28 21:49:22 +01:00
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
lilvinz
ee146a89eb
updated comments
2012-09-22 10:32:46 +02:00
lilvinz
47cc6216ac
use constants for receivers and updated function description
2012-09-22 10:02:15 +02:00
lilvinz
1169fb5617
added channel data init to gcsreceiver
2012-09-22 09:45:47 +02:00
lilvinz
9b6b5bc729
changed receiver constants to be all negative in order to allow valid channel values of 0 for dsm
2012-09-21 23:51:21 +02: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
Kenz Dale
1d976b3095
dded support for multiple airspeed sources. Added GPS airspeed estimation. Extended BaroAirspeed UAVO. Added new AirspeedSettings UAVO.
2012-07-20 13:08:54 +02:00
Werner Backes
bcee75a270
Added comment to explain the gpsDataUpdated flag
2012-07-20 11:56:40 +02:00
James Cotton
1c4c373b86
Begin rewriting pios_overo to look like a standard com layer
2012-07-20 03:42:09 -05:00
James Cotton
3eb41d3ef2
When the systemmod callback happens exit if the operation is error or completed
2012-07-19 22:18:36 -05:00
James Cotton
27ad0fcf6f
Don't allow the system to save while armed
2012-07-19 21:51:31 -05:00
Werner Backes
6db2c949a3
Report GPS NO_FIX status only once per message set and not with every
...
single message.
2012-07-20 00:23:05 +02:00
Werner Backes
d3962f3303
Removed message counter from nmea_parsers structure and made it const to
...
save some RAM.
2012-07-19 23:37:11 +02:00
Werner Backes
15fa42058e
Unified statistics counters between UBX and NMEA parser and moved them
...
to GPS.c.
2012-07-19 22:00:24 +02:00
Werner Backes
307626d1de
Fixed typo
2012-07-19 20:46:44 +02:00
Werner Backes
926e3d93b7
Removed unused variables
2012-07-19 20:14:51 +02:00
Kenz Dale
bce7a04de8
Fixed typo.
2012-07-19 17:13:39 +02:00
James Cotton
7492d34d25
Merge branch 'overo_control' into revo
2012-07-19 08:35:39 -05:00
James Cotton
5ebd368b18
Merge branch 'next' into revo
...
Conflicts:
flight/PiOS/STM32F10x/link_STM32103CB_PIPXTREME_sections.ld
2012-07-19 08:35:30 -05:00
Werner Backes
a22a11d973
Cleanups:
...
- removed unused nav_status parser function
- enum coding style change
2012-07-19 13:05:55 +02:00
James Cotton
4306afa841
Update the module and overosyncstats to track buffer underruns
2012-07-17 17:21:51 -05:00
James Cotton
2f64124da8
Updates to the pios_overo driver to fully reinit the dma and spi device between
...
packets
2012-07-17 17:21:28 -05:00
James Cotton
9c91436428
Clean up some cruft from Overo module and add a packet counter
2012-07-17 16:17:56 -05:00
James Cotton
db27653859
Make the Overo module use the new driver
2012-07-17 16:11:23 -05:00
James Cotton
a6ba379af9
PIOS_OVERO driver which handles the communications to the overo and ensures the
...
data stays in frame.
2012-07-17 15:34:54 -05:00
James Cotton
92a0311b32
New pios_overo driver that handles the SPI communications to the overo
2012-07-17 13:31:00 -05:00
James Cotton
bc075c5d2c
Only schedule overo packets on the NSS line rising to avoid the frame sync
...
errors we were seeing previously
2012-07-17 11:45:45 -05:00
James Cotton
719772c98a
Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into next
2012-07-16 11:42:29 -05:00
James Cotton
6b101d71af
Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into revo
2012-07-15 12:32:35 -05:00
James Cotton
ce6bebceb6
Also strex needs to not clobber it's register to have predictable results.
...
OPReview-227
2012-07-14 19:47:03 -05:00
Michael Hope
fa3aa20e05
ld: make sure current pointer never goes backwards
...
Fixes linking on ld version 2.22. Identical to 3cbf4499
.
2012-07-14 19:47:03 -05:00
Michael Hope
0efb24a54b
The destination register of an exclusive store must be
...
different from both the value and address register. Fix building with
recent binutils by marking the result as early clobber.
2012-07-14 19:47:03 -05:00
Brian Webb
cc6b48754d
Reduced buffer sizes on PipX.
2012-07-14 17:17:01 -07:00
Brian Webb
a252b78fea
Fixed transparent comms on PipX.
2012-07-14 17:14:43 -07:00
Brian Webb
03beb0bad6
Fixes to PipX firmware to compile with non codesourcery compiler.
2012-07-14 08:18:21 -07:00
James Cotton
5f337afb36
Add a setting to determine when the overo module logs
2012-07-14 09:21:38 -05:00
James Cotton
9eee4f1bc7
Made OverSynce an optional module.
...
Conflicts:
shared/uavobjectdefinition/hwsettings.xml
2012-07-14 09:07:22 -05:00
James Cotton
8d4e221412
Remove the disable IRQ commands in PIOS_COM since they aren't needed.
2012-07-13 11:54:12 -05:00
James Cotton
d150fd5331
Merge branch 'next' into revo
...
Conflicts:
flight/Modules/ManualControl/manualcontrol.c
ground/openpilotgcs/src/plugins/config/input.ui
ground/openpilotgcs/src/plugins/uavtalk/telemetry.cpp
shared/uavobjectdefinition/manualcontrolsettings.xml
2012-07-13 10:40:14 -05:00
Werner Backes
bc7defe21f
Changed usage of UBX structures to follow changed structure
...
declarations. (see commit e6f62f)
2012-07-13 14:48:11 +02:00
Werner Backes
7207d2bb98
Fixed typos in comments.
2012-07-13 14:43:26 +02:00
Werner Backes
6ae9db8cb7
Removed typedefs for structures to be consistent with style guide.
2012-07-13 14:40:11 +02:00
Werner Backes
e6f62f5806
Deleted commented-out code
2012-07-13 13:22:27 +02:00
Brian Webb
3fabdb9963
Fixed conflicted merge with origin/next.
2012-07-11 19:25:05 -07:00
Werner Backes
57dc9e6d39
Removed ECEF calculation from SetHomeLocation.
2012-07-11 23:53:34 +02:00
Werner Backes
7ef7b621d7
Reenable PIOS_GPS_SETS_HOMELOCATION on Revo.
...
Change-Id: I5a5e2ec0deb4241faad23f6fead5036b039bfbf9
2012-07-11 23:37:03 +02:00
Werner Backes
19c0f6a88a
HomeLocation UAVOject on CC still has ECEF so make this part confitional.
2012-07-11 00:40:15 +02:00
Werner Backes
a77a367df2
Pass GPSPositionData as a function argument instead of using a global variable.
2012-07-10 17:35:35 +02:00
Werner Backes
d0b7dc0012
Added some pieces that had been lost during rebase
2012-07-10 16:38:00 +02:00
Werner Backes
5776981436
Deleted obsolete Libraries/inc/NMEA.h that conflicts with Modules/GPS/inc/NMEA.h
2012-07-10 16:25:58 +02:00
Werner Backes
19a9cd03c2
Introduced GPSVelocity UAVObject
...
Conflicts:
ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
2012-07-10 16:23:10 +02:00
Werner Backes
10351e61d4
Revert "Changed GPS port to be rx/tx instead of rx only"
...
This reverts commit e2a35d1f4c
.
2012-07-10 12:10:17 +02:00
Werner Backes
f1b846593f
Fixed line endings
2012-07-10 11:40:55 +02:00
Werner Backes
e2a35d1f4c
Changed GPS port to be rx/tx instead of rx only
2012-07-10 11:01:46 +02:00
Werner Backes
7a7b64c9cf
Report SVs even if sat position is unknown. This way, received
...
satellites are reported early during cold start which gives better
feedback to the user.
2012-07-10 11:01:43 +02:00
Werner Backes
0424172398
Better separation between UBX and NMEA parser
...
Make GPS protocol a user selectable option
Support for UBX protocol on CopterControl
2012-07-10 11:01:41 +02:00
Werner Backes
29fd85f0e2
Process additional UBX messages. All information needed to fill the GPS
...
UAVObjects can now come from UBX protocol alone. Mixture of NMEA and UBX
protocols still is possible but not recommended.
2012-07-10 10:37:15 +02:00
Werner Backes
8c184ec8f2
Add additional UBX messages NAV-DOP, NAV-SOL, NAV-STATUS, NAV-SVINFO,
...
NAV-UTC
2012-07-10 10:36:56 +02:00
Werner Backes
a3e2513952
Increased stack size and com receive buffer to support SVINFO message.
...
Fix NOGPS condition for UBX.
2012-07-10 10:35:56 +02:00
Stacey Sheldon
54a161a3d4
Merge remote-tracking branch 'op-public/next' into revo-next
...
Conflicts:
shared/uavobjectdefinition/manualcontrolsettings.xml
2012-07-08 18:14:09 -04:00
Laura Sebesta
cfb8e72679
Improved battery module to fully support regeneration. Fixed bug in builtin battery module. Improved ADC routing names.
2012-07-08 23:13:05 +02:00
Laura Sebesta
0a34b786a9
Modified pios_adc.c to remove race condition by which the ADC value was reset to 0.
2012-07-08 22:23:05 +02:00
Laura Sebesta
4f20a0f9a1
Added drivers for analog airspeed sensors: MPXV5004 and MPXV7002.
2012-07-08 21:46:59 +02:00
Laura Sebesta
bc5e428bfe
Several small changes to OSX simulator.
...
*Changed .gitignore to ignore OSXSIM build files
*Added SIMOSX define
*Changed tcp and udp ports to be consistent with SIMPOSIX.
2012-07-08 14:26:08 +02:00
Laura Sebesta
a98991d8a1
Created ADC routing UAVO. This allows to direct ADC inputs to various modules.
...
Tested and works on FlightBattery, currently the only module using the ADC.
2012-07-08 13:16:05 +02:00
Stacey Sheldon
2139dee574
uavobjectmanager: remove uavo name field and related functions
...
Saves a further 8 bytes of RAM per object.
Saves 1.5KB of flash by removing all of the const strings for
all of the object names and the corresponding meta object names.
This leaves room for more code.
2012-07-07 21:49:53 -04:00
Stacey Sheldon
2396eaef5a
uavobjectmanager: simplify new embedded metadata objects
...
Simplifies some of the code that handles the
metadata objects which are now embedded within
the data UAVOs.
2012-07-07 21:49:53 -04:00
Stacey Sheldon
eef9b5f61e
uavobjectmanager: drop typedefs and extra "Struct" in names
...
Readability improvements.
2012-07-07 10:36:37 -04:00
Stacey Sheldon
2a2eb47a2a
uavobjectmanager: fixup indentation
...
No functional changes.
2012-07-07 10:36:37 -04:00
Corvus Corax
42041ef68c
UavObjectmanager: Squeeze UAVObject instances closer together and eliminate unneeded id's and pointers - frees again >512 byte on next
2012-07-07 10:36:37 -04:00
Corvus Corax
da539b2b27
flight/UAVObjectManager: Represent Metadata as a property of each Object-type as opposed to separate UAVObjects - saves over 700 byte of RAM on next!
2012-07-07 10:36:37 -04:00
Stacey Sheldon
a7da3b14ba
simposix: disable optimization for simposix build
...
Optimizing for size on simposix is meaningless, and
the code is easier to debug using gdb when optimization
is disabled.
2012-07-07 10:36:36 -04:00
Stacey Sheldon
22f4d30e27
gdb: add gdb setup file for simposix
...
The simposix target uses SIGUSR1 extensively as an
internal signal. This setup file makes sure that
SIGUSR1 doesn't break into gdb every time it is used.
2012-07-07 10:36:36 -04:00
Laura Sebesta
54f3fbf226
Made OverSynce an optional module.
2012-07-07 11:53:58 +02:00
Stacey Sheldon
32373523d5
Merge remote-tracking branch 'origin/stac/simposix-warning-fixes' into next
2012-07-06 22:02:52 -04:00
James Cotton
58abe910d0
Merge remote-tracking branch 'origin/os/extended-flightmode-switch' into next
2012-07-04 11:52:38 +02:00
James Cotton
4afd9d110e
Don't zero the PIDs when the settings are updated. Fixes some quirks from
...
using TxPID tuning.
2012-07-03 14:19:21 +02:00
James Cotton
33beafed27
Remove outdated alarm for sdcard in systemmod. Only affected simulation.
2012-07-03 10:53:10 +02:00
Stacey Sheldon
1635c83df0
simposix: fix warnings
2012-07-01 23:22:55 -04:00
Brian Webb
54455d60df
Read PPM outside of the output test.
2012-07-01 08:32:58 -07:00
James Cotton
c9bf5f5d06
Merge branch 'next' into revo
2012-07-01 14:44:22 +02:00
Brian Webb
499e2ff989
Fixed PipX passthrough when connected via USB HID.
2012-06-30 18:27:15 -07:00
Brian Webb
3405bc3ebe
Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2
2012-06-30 10:06:51 -07:00
Brian Webb
10e52b31c5
Added the ability on the PipX to specify if a comport is used to connect to the GCS (ground side), so it will receive status, etc, or UAVTalk (flight side). The data passing in RadioComBridge was also made more uniform, which allows for easier reconfiguration.
2012-06-30 10:06:28 -07:00
Corvus Corax
4d06bdfc04
PiOS.posix: bugfix to POSIX pios_delay implementation
2012-06-29 15:06:50 +02:00
Corvus Corax
2540ee53dc
Merge commit '80f53b185c67d475ead43df97c4a62bcc36d7d90' into gcsbitfields
2012-06-29 09:45:44 +02:00
James Cotton
cd311642dd
Merge branch 'next' into revo
2012-06-28 10:35:47 +02:00
a*morale
5a1efef3fe
Merge branch 'amorale/fixoutputglitchonsave' into next
2012-06-26 01:09:18 +02:00
Oleg Semyonov
727e67d7fd
Even more optimize FlightMode switch position calculation
...
This runs in a high frequency loop and should use as little of
floating point as possible. Thanks to Kenn for the idea.
2012-06-25 11:41:42 +03:00
Oleg Semyonov
2c896c9e91
Do not care about FlightMode channel if only one flight mode configured
2012-06-25 01:52:06 +03:00
Oleg Semyonov
02fa6fde09
Optimize FlightMode switch position calculation
2012-06-25 00:30:42 +03:00
Stacey Sheldon
154d971d4d
flash: don't call vTaskDelay() before OS init
...
PIOS_Flash_Jedec_EraseChip is called during early
init when the table_magic has changed. This call
happens on CC/CC3D prior to the OS being initialized
so it is not OK to call vTaskDelay() yet.
This was leading to boards locking up (no flashing blue
LED) immediately after jumping to the application when
the table_magic had changed or was being init'd for the
very first time.
2012-06-24 12:23:34 -04:00
a*morale
51678f24b4
Solve a bug that causes the motor spin on the first save for ActuatorSettings.
2012-06-24 14:06:51 +02:00
Brian Webb
43786c914d
Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2
2012-06-23 15:01:53 -07:00
a*morale
688ae814fc
Modifications to prevent glitches on servo output during save for ActuatorSettings
...
Refactored the updating of ChannelUpdateFreq so that it is done only when the actual update rates changes.
The actual update of the servo channel is moved inside the ActuatorTask.
Now the problem happen only in very few cases when modifying update rates.
2012-06-23 22:55:57 +02:00
Oleg Semyonov
cd6387d0a6
Add support for more than 3-pos FlightMode switches
...
It is now possible to have 1 to 6 flight mode switch positions
(usefull for guidance, position hold and similar use).
The input channel range is divided into N (1 to 6) zones and each
zone represents a flight mode. Default is 3 zones (backward compatible),
but more can be chosen.
How to use: configure Tx mixers in a way they provide required number
of different values for the same FlightMode channel. For instance,
using Turnigy 9X radio with ER9X firmware, one can create a mixer like
this:
-100 MAX ID0 Manual
R -50 MAX ID1 Stabilized1 (Rate)
R 0 MAX ID2 Stabilized2 (Attitude)
R 50 MAX RUD PositionHold
R 100 MAX ELE ReturnToBase
And set number of flight mode positions to 5. As a result, the 3-pos
switch (ID0, ID1, ID2) will provide first three flight modes, the rudder
D/R switch will override those and enable the 4th flight mode, and
elevator D/R switch will have highest precedence and activate the 5th
flight mode.
This will change the ManualControlSettings objectID.
2012-06-23 22:10:19 +03:00
Stacey Sheldon
384305d8ee
makefile: add additional context to output when building all_* targets
...
When building the various all_* targets, it was hard to tell which
board/build-type that each line of output applied to. Now, the
all_* target types will include something like:
CC [fw|cc ] flight/PiOS/STM32F10x/pios_gpio.c
which includes the necessary additional context.
This will help with identifying the context for warnings and errors
when building a group of targets.
Conflicts:
Makefile
2012-06-20 23:38:21 -04:00
Stacey Sheldon
f475088585
Merge remote-tracking branch 'op-public/next' into revo-next
2012-06-20 22:45:41 -04:00
Laura Sebesta
87900043a4
Typo fix. Grammarians will be extreamely glad to complement the OP team now that these errors haved disappeared.
2012-06-17 10:21:58 +03:00
Brian Webb
005ba0f8c8
Added erase pipx settings to PipX firmware (no GCS support yet).
2012-06-16 19:19:23 -07:00
a*morale
9aa088fb98
battery module: prevent the initial ramp up of the power supply to be identified as a low voltage condition
2012-06-15 19:43:47 -05:00
James Cotton
f8d196ffe8
Added support for board voltage monitor to battery module.
...
The module can be configured to enable what's needed from board voltage, battery voltage and battery current measurement.
In GCS the POWER box in system healt will show alarm related to the supply voltage to the board.
If a power warning/critical alarm is raised, the warning condition is left even if the board voltage return to an acceptable value.
Conflicts:
ground/openpilotgcs/share/openpilotgcs/diagrams/default/system-health.svg
shared/uavobjectdefinition/systemalarms.xml
2012-06-15 19:43:34 -05:00
Laura Sebesta
0e201818f0
Refactored variable names for more clarity. Changed some integrals, alititude control
...
seem to work a little better.
2012-06-15 18:02:24 +03:00
James Cotton
70606a46a1
Include initial gyro bias calibration into the level calibration of revo like
...
it is with CC.
2012-06-13 23:07:23 -05:00
James Cotton
9218145aa9
Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into revo
2012-06-12 22:53:30 -05:00
Brian Webb
33cae7645d
Fixed calculation of retries on PipX.
2012-06-12 19:48:21 -07:00
James Cotton
9c1fa2dfc6
Revert "Get mag before gyros so that when gyro chip is acting up we still see mag data."
...
This reverts commit d2a3e39bbf
.
2012-06-12 13:10:24 -05:00
James Cotton
01d47d6373
Accidental semicolon led to MPU6000 always failing self test. Another bug
...
masked that behavior. I suck.
2012-06-11 12:22:24 -05:00
James Cotton
a029fc4656
Merge branch 'next' into revo
...
Conflicts:
Makefile
2012-06-11 12:05:38 -05:00
James Cotton
93b77becc0
More the system task priority down and increase the timeout for erasing the
...
flash so it says completed. However, it still blocks the system for a long
time. During an erase the heartbeat will flash at 10 Hz to indicate what's
happening.
This still blocks telemetry even after lowering hte system priority (and there
is a vTaskDelay) which makes me think that the SPI bus being locked is blocking
Sensors or somethign else. This should not be permited when the system is
armed.
The reason the system locks up during the erase is that the file system
operations occur within the event dispatcher thread. It is very bad practice
for anything to block this (i.e. callbacks should never take very long). We
should probably move the object persistence handling into the system thread or
something but that can be a separate issue.
2012-06-11 12:03:32 -05:00
James Cotton
821a25e419
For now make the F4 PIOS_ADC return an error code if there is no new data in
...
the ADC buffer. This should be handled appropriately by the caller.
2012-06-11 09:22:04 -05:00
Stacey Sheldon
c73cffce59
Merge remote-tracking branch 'op-public/next' into revo-next
...
Conflicts:
Makefile
flight/PiOS/Boards/STM32F4xx_Revolution.h
flight/Revolution/System/inc/pios_config.h
package/Makefile
Fixed CRLF line end clobbering in:
flight/Bootloaders/Revolution/inc/pios_config.h
flight/Modules/OveroSync/inc/overosync.h
flight/Modules/Sensors/inc/sensors.h
flight/PiOS.posix/posix/Libraries/FreeRTOS/Source/tasks.c
flight/PiOS/Boards/STM32F4xx_Revolution.h
flight/PiOS/Common/pios_usb_util.c
flight/PiOS/STM32F4xx/pios_iap.c
flight/PiOS/inc/pios_rfm22b_priv.h
flight/PiOS/inc/pios_usb_util.h
2012-06-10 19:01:11 -04:00
James Cotton
f5845cb037
Fix self test for MPU6000 so it returns negative values per our standard
2012-06-09 11:18:14 -05:00
James Cotton
d2a3e39bbf
Get mag before gyros so that when gyro chip is acting up we still see mag data.
...
Helpful for board diagnostics.
2012-06-09 11:06:41 -05:00
James Cotton
ac99176f73
Add a scale to the logo
2012-06-08 14:12:52 -05:00
James Cotton
6ca34d3d0c
Make lift model dependent on airspeed.
2012-06-08 13:58:18 -05:00
James Cotton
ac9adb0c94
Improve the airplane modeling a bit to the point navigation now keeps altitude
...
and speed correctly
2012-06-08 13:54:17 -05:00
James Cotton
ccee8e09f4
Cheat. For FW navigation when doing endpoint mode plot path from current
...
position to endpoint.
2012-06-08 11:44:22 -05:00
James Cotton
980111d246
Make RTH mode default to 2 m/s. This needs to be in a UAVO somewhere
...
(ManualControlSettings?)
2012-06-08 11:44:00 -05:00
James Cotton
53c9b4c8a4
Add simulated baro airspeed. PathFollower functionality tested and works.
2012-06-08 11:23:45 -05:00
James Cotton
bcaeda98f7
Fix bug in wind speed usage for simulation
2012-06-08 11:14:15 -05:00
James Cotton
6605d861dd
Add cross coupling between roll and heading to make simulator fly like a plane
...
:D
2012-06-08 11:08:11 -05:00
James Cotton
493864bdc4
Add a fixed wing simulator mode
2012-06-08 10:46:40 -05:00
James Cotton
463ad550e2
A few comments in my code and some simplication to the fixedwingfollower to get
...
it compiling against my path planner.
2012-06-08 10:46:40 -05:00
James Cotton
a28aac47b5
Strip down FW navigation to be supported by my simple scheme
2012-06-08 10:46:39 -05:00
James Cotton
4c3ca17e34
Backport the fixed wing path follower
2012-06-08 10:46:39 -05:00
James Cotton
574ab3fcaa
Make the VtolPathFollower an optional module
...
Note that RTH mode right now checks that throttle control is enabled, but this
should only occur if the system is a VTOL.
2012-06-08 10:46:38 -05:00
James Cotton
f5b2575c88
Merge branch 'next' into revo
...
Conflicts:
flight/PiOS/Boards/STM32F4xx_Revolution.h
flight/Revolution/System/inc/pios_config.h
package/Makefile
2012-06-07 12:45:06 -05:00
James Cotton
7b8110a457
Merge branch 'MikeL' into next
2012-06-07 11:31:41 -05:00
Corvus Corax
720ae43a5e
Modules/GPS: Fixed NMEA parser to still update GPSPosition in case of errors, but with error flagged.
2012-06-07 11:21:00 -05:00
James Cotton
1972470dcb
Manualcontrolcommand needs a bit more stack space now
2012-06-07 10:07:52 -05:00
James Cotton
c689bcfb80
Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into revo
2012-06-07 09:49:18 -05:00
Sambas
50ed363330
Axislock as default for VtolPathFollower
2012-06-07 17:42:51 +03:00
Brian Webb
861bcc46fe
Fixed RSSI reporting on PipX.
2012-06-06 21:14:31 -07:00
Brian Webb
e9d0909a68
Further improvements in link reliability on the PipX.
2012-06-06 17:44:56 -07:00
James Cotton
5e01617cbd
Merge branch 'next' into MikeL
...
Conflicts:
ground/openpilotgcs/src/plugins/config/airframe.ui
ground/openpilotgcs/src/plugins/config/configoutputwidget.cpp
ground/openpilotgcs/src/plugins/config/configoutputwidget.h
ground/openpilotgcs/src/plugins/config/configvehicletypewidget.cpp
ground/openpilotgcs/src/plugins/config/configvehicletypewidget.h
2012-06-06 11:58:06 -05:00
Brian Webb
5876df250d
Improved lockups on dropped packets.
2012-06-05 21:10:32 -07:00
Brian Webb
0bc3c5061f
Fixed PipX connection status reporting.
2012-06-05 19:34:19 -07:00
Brian Webb
4e68f6543e
Added tracking of dropped packets to PipX and turned off visible text on signal strength meters.
2012-06-04 21:18:13 -07:00
Brian Webb
25fe50e9b1
Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2
2012-06-04 18:26:05 -07:00
Mike LaBranche
0ba8345c51
Merge branch 'next' into MikeL
...
Conflicts:
flight/Bootloaders/Revolution/inc/pios_config.h
flight/Modules/OveroSync/inc/overosync.h
flight/Modules/Sensors/inc/sensors.h
flight/PiOS/Boards/STM32F4xx_Revolution.h
flight/PiOS/STM32F4xx/pios_iap.c
flight/Revolution/System/inc/pios_config.h
ground/openpilotgcs/src/plugins/config/config.pro
ground/openpilotgcs/src/plugins/config/configccattitudewidget.cpp
ground/openpilotgcs/src/plugins/config/configvehicletypewidget.cpp
2012-06-04 16:59:31 -07:00
Mike LaBranche
bf591ebe45
Merge branch 'next' into MikeL
...
Conflicts:
flight/Bootloaders/Revolution/inc/pios_config.h
flight/Modules/OveroSync/inc/overosync.h
flight/Modules/Sensors/inc/sensors.h
flight/PiOS/Boards/STM32F4xx_Revolution.h
flight/PiOS/STM32F4xx/pios_iap.c
flight/Revolution/System/inc/pios_config.h
ground/openpilotgcs/src/plugins/config/config.pro
ground/openpilotgcs/src/plugins/config/configccattitudewidget.cpp
ground/openpilotgcs/src/plugins/config/configvehicletypewidget.cpp
2012-06-04 15:38:57 -07:00
James Cotton
0b828fbdd0
Merge branch 'next' into revo
...
Conflicts:
Makefile
2012-06-04 14:12:19 -05:00
James Cotton
ff0a3a156e
Merge remote-tracking branch 'origin/os/AeroSimRC' into next
2012-06-04 12:25:59 -05:00
James Cotton
ed2fb5cb09
Merge branch 'next' into revo
2012-06-04 12:23:58 -05:00
James Cotton
46a52fc5ce
Apply the virtual flybar stick scaling in stabilization.c because we need to
...
know the true stick position to dampen the gyros appropriately.
2012-06-04 12:22:39 -05:00
James Cotton
bda3f301cb
Rename VBar mode to VirtualBar
2012-06-04 12:22:39 -05:00
James Cotton
4c562b88d1
Make the amount to suppress the gyros adjustable instead of binary
2012-06-04 12:22:39 -05:00
James Cotton
59972d5570
Limit the number of degrees the vbar can deflect. This is good for fast flips
...
etc.
2012-06-04 12:22:39 -05:00
James Cotton
42ac4018b8
Woops. Fix really nasty bug in vbar mode I introduced. Also fix small bug in
...
scoping of gyro gain that made it not work.
2012-06-04 12:22:39 -05:00
James Cotton
6719ee8639
Add piro compensation option to the vbar mode
2012-06-04 12:22:39 -05:00
James Cotton
3283b99d4e
For hardcode flipping allow full stick to completely override the gyro
...
feedback.
2012-06-04 12:22:39 -05:00
James Cotton
fe978504bc
Add friendly settings for the vbar mode including the VbarTau which acts like
...
the time constant.
2012-06-04 12:22:39 -05:00
James Cotton
ff1b1a93cf
Implement a virtual flybar in a way inspired by behavior of Align 3G which
...
seems apply a leaky integrator to the swash angle. This is the similar to what
is done by Phubar (http://code.google.com/p/phubar/ ) as well although we refer
to the gyro term as the proportional and the flybar angle as the integral
2012-06-04 12:22:38 -05:00
James Cotton
1b55df733d
Create virtual flybar setting for stabilization modes
2012-06-04 12:22:38 -05:00
James Cotton
daaa661080
Turned "Battery" into an optional module. It otherwise prevents flying if no voltage sensor is installed.
...
Conflicts:
shared/uavobjectdefinition/hwsettings.xml
2012-06-04 10:50:45 -05:00
Corvus Corax
78857cefaa
Turned "Battery" into an optional module. It otherwise prevents flying if no voltage sensor is installed.
2012-06-04 17:31:45 +02:00
James Cotton
70a6bf539b
Fix simulation implementation of pios_rcvr to match channel mappings in real
...
firmware
2012-06-04 10:30:44 -05:00
James Cotton
b11b606ddc
Fix RTH mode. Now works in simulation when GCSReceiver goes invalid.
...
There is a small issue that when it is in RTH failsafe mode and you regain
signal and your throttle is low you will disarm due to the timeout. That
means you'd suddenly get it back and plumet ouf of the sky. If you are
still holding throttle (which most people might do?) you will have control.
The timeout needs to probably start when you regain signal.
2012-06-04 10:25:43 -05:00
James Cotton
9f93c9cbec
Get PIOS_GCSRCVR working on revo
2012-06-04 09:48:05 -05:00
James Cotton
dc7fe1bdd8
Try and get pios_gcsrcvr working on simulation and revo for testing RTH. Had
...
to include uavobjectmanager.h manually which was weird
2012-06-04 09:48:05 -05:00
James Cotton
10aa31a57f
When ManualControlSettings.FailsafeBehavior is set to RTH and no valid input is
...
detected and the aircraft is armed enter RTH mode.
2012-06-04 09:48:05 -05:00
James Cotton
21eb48c58c
Add a RTH flight mode and remove it from the waypoint actions as that is
...
redundant with flying to (0,0,0)
2012-06-03 22:14:11 -05:00
James Cotton
9707c6152a
Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into revo
2012-06-03 19:13:01 -05:00
James Cotton
71e14a691e
Merge branch 'next' into revo
2012-06-03 19:00:51 -05:00
Stacey Sheldon
ec0889ea85
makefile: add additional context to output when building all_* targets
...
When building the various all_* targets, it was hard to tell which
board/build-type that each line of output applied to. Now, the
all_* target types will include something like:
CC [fw|cc ] flight/PiOS/STM32F10x/pios_gpio.c
which includes the necessary additional context.
This will help with identifying the context for warnings and errors
when building a group of targets.
2012-06-03 18:25:23 -05:00
James Cotton
e341a37bd1
Need to add a small delay after save for the load to work correctly. Odd.
2012-06-03 17:26:10 -05:00
James Cotton
a3df27ab65
Need to call FLASH_OB_Launch after setting the BOR bits
2012-06-03 16:45:18 -05:00
Stacey Sheldon
e3393bb255
makefile: add additional context to output when building all_* targets
...
When building the various all_* targets, it was hard to tell which
board/build-type that each line of output applied to. Now, the
all_* target types will include something like:
CC [fw|cc ] flight/PiOS/STM32F10x/pios_gpio.c
which includes the necessary additional context.
This will help with identifying the context for warnings and errors
when building a group of targets.
2012-06-03 17:43:14 -04:00
Brian Webb
36f62be3b9
Fixed packet error detection and improved RSSI reading.
2012-06-03 10:07:08 -07:00
Corvus Corax
be72d24c5f
Attitude: Fixed calculation for baro offset adjustment time
2012-06-03 09:52:24 -05:00
Corvus Corax
b06b51f1b2
Revolution/Attitude: Added offset calculation for barometric altitude
2012-06-03 09:52:14 -05:00
James Cotton
96bd5ba574
Merge branch 'navigation_map' into revo
2012-06-03 09:48:28 -05:00
James Cotton
c892a28970
Fix firmware to work with new usage of the action waypoint field
2012-06-03 09:36:21 -05:00
Corvus Corax
f75134c6d5
Merge branch 'corvuscorax/fix-baroaltitude-offset' into revo-next
2012-06-03 12:31:30 +02:00
James Cotton
4ad23864c8
Treat the waypoint action as something to do once you hit that location. (e.g.
...
PathToNext) and add a Stop value to indicate not to advance to the next
waypoint. This is essentially a perament loiter to the pathfollower (I think)
but it's really just to have the ability to "delete" waypoints.
2012-06-02 18:40:53 -05:00
Corvus Corax
88f69daf64
Merge remote branch 'origin/corvuscorax/portugal_backports' into revo-next
2012-06-02 22:44:13 +02:00
Corvus Corax
ab28686976
Merge branch 'corvuscorax/new_navigation' into revo-next
2012-06-02 22:30:44 +02:00
Sambas
e7155e279f
bugfix
2012-06-02 21:19:55 +03:00
James Cotton
e8cf606f16
Add the chip size to the flashfs configuration (should probably go in the chip
...
configuration)
2012-06-02 11:00:42 -05:00
James Cotton
25f85ee4fe
Add an error flag to ObjectPersistence and when saving a setting make it verify
...
that the data reads successfully.
2012-06-02 10:23:27 -05:00
Sambas
06a814c8a9
Fixing most warnings from osd fw
2012-06-02 15:52:38 +03:00
Sambas
d6216cf02b
Graphic features and cleanup
...
osdinput module back to irq based usart
2012-06-02 12:46:09 +03:00
Corvus Corax
2d3645cb0a
ManualControl: Do not process input channels at all if theres invalid values to prevent flightmode changes due to glitch
2012-06-02 08:41:35 +02:00
Corvus Corax
fed9d98824
Merge commit '84c3705390a072d92bf69b58ae4d72a09989290e' into portugal_backports
2012-06-01 13:06:44 +02:00
Corvus Corax
c9d41e2a23
fixes to INS backported from portugal flight branch
2012-06-01 13:02:26 +02:00
Brian Webb
df8a5f8f27
Changed update period for PPM inputs on the PipX. Fixed LED code.
2012-05-31 18:56:07 -07:00
Corvus Corax
a786c6e6b9
Attitude: Fixed calculation for baro offset adjustment time
2012-05-31 18:21:20 +02:00
Corvus Corax
f7a2b95167
Revolution/Attitude: Added offset calculation for barometric altitude
2012-05-31 16:41:03 +02:00
James Cotton
ed2b9f1f63
Make PIOS_LED init it's GPIO clocks so it doesn't rely on startup code
2012-05-30 10:12:40 -05:00
James Cotton
c76c71cfce
No reason to init the board a second time
2012-05-30 09:50:05 -05:00
James Cotton
7c8cc94f5e
In the revo bootloader check that the BOR bits are set to 2.7 volt threshold.
...
This addresses an issue where a slow power ramp (e.g. some BEC) will stop it
booting.
2012-05-30 09:43:04 -05:00
Sambas
ed1a4dada6
Merge remote-tracking branch 'remotes/origin/sambas/osd_test_v1' into revo-next
...
Conflicts:
flight/PiOS/STM32F4xx/pios_adc.c
2012-05-30 16:30:09 +03:00
Brian Webb
7287e2f725
Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2
2012-05-29 18:14:20 -07:00
Corvus Corax
298b6233ed
Merge branch 'revo-next' into corvuscorax/new_navigation
...
Conflicts:
flight/Libraries/paths.c
flight/Modules/ManualControl/manualcontrol.c
flight/Revolution/Makefile
shared/uavobjectdefinition/taskinfo.xml
2012-05-30 00:51:52 +02:00
Sambas
e72e913e02
F4 cpuid fix, RM says flash size comes from same base address. who knows?
2012-05-29 22:17:31 +03:00
Sambas
7f1e392e83
some graphic fixes and ntsc defines
2012-05-29 17:55:30 +03:00
Oleg Semyonov
b93674cf64
uavtalk: fix object access mode comments to be correct
2012-05-29 11:57:31 +03:00
Brian Webb
9a6fb60dd6
Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2
2012-05-28 20:18:59 -07:00
James Cotton
a89b880609
Fix compilation error on CopterControl because it doesn't support some of the
...
path functionality. These configurations that could result in
updatePathDesired or altitudeHoldDesired being called should result in an error
on startup to block arming.
2012-05-28 20:33:49 -05:00
James Cotton
564c442ac8
Remove some code from Zippe that used a timer to trigger the ADC. We might do
...
this again in the future but we need to generalize the configuration. For now
the ADC is fairly simple requirements on revo for battery monitoring.
2012-05-28 20:28:48 -05:00
James Cotton
88cf100430
Merge remote-tracking branch 'revo/amorale/revo' into revo
2012-05-28 20:27:51 -05:00
a*morale
d071491265
removed include for positiondesired.h
2012-05-29 00:56:39 +02:00
a*morale
468e8732f5
Fix for FlightBattertData ConsumedEnergy calculation
2012-05-29 00:55:03 +02:00
James Cotton
1934752d50
Merge branch 'revo-next' into revo
2012-05-28 15:23:14 -05:00
Corvus Corax
1ad2b19d28
PathPlanner: fixed a few failsafes, changed waypointID to int16 - negative jump ids have special meaning
2012-05-28 20:50:09 +02:00
Oleg Semyonov
5739dfbfc8
Merge remote-tracking branch 'origin/next' into os/aerosimrc
...
Conflicts:
shared/uavobjectdefinition/gcsreceiver.xml
2012-05-28 21:46:43 +03:00
Oleg Semyonov
910b465ac6
AeroSimRC: do not update sensor and/or attitude data if read-only flag is set
2012-05-28 19:44:34 +03:00
James Cotton
4360d8adfd
Merge branch 'next' into revo-next
2012-05-28 11:25:40 -05:00
Sambas
147100bc2f
Merge remote-tracking branch 'remotes/origin/revo-next' into osd_test_v1
...
Conflicts:
Makefile
ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
2012-05-28 19:06:25 +03:00
James Cotton
8a6073fbaf
Merge remote-tracking branch 'revo/revo-next' into testing
...
Conflicts:
Makefile
flight/PiOS.osx/osx/Libraries/FreeRTOS/Source/portable/GCC/Posix/port.c
flight/PiOS.osx/osx/Libraries/FreeRTOS/Source/task.c
flight/PiOS.posix/posix/Libraries/FreeRTOS/Source/portable/GCC/Posix/port_posix.c
flight/PiOS.posix/posix/Libraries/FreeRTOS/Source/tasks.c
flight/Revolution/Makefile
ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
ground/openpilotgcs/src/plugins/uploader/devicewidget.cpp
shared/uavobjectdefinition/taskinfo.xml
2012-05-28 09:13:26 -05:00
Corvus Corax
51a4e82642
bugfix to path library
2012-05-28 14:48:08 +02:00
Corvus Corax
089aa54a59
FixedWingpathFollower: Added debug output of error indicators
2012-05-28 14:46:03 +02:00
Corvus Corax
32fdfe5aa5
fixed UAVObj include list for revolution to allow new style pathfollowers
2012-05-28 13:40:12 +02:00
Corvus Corax
d50108ff53
Merge branch 'revo-next' into corvuscorax/new_navigation
2012-05-28 13:27:51 +02:00
Corvus Corax
978ab5b96c
Merge remote branch 'origin/stac/etasv3' into revo-next
2012-05-28 12:56:27 +02:00
Oleg Semyonov
f95d29a3b8
TxPID: add GyroTau to the list of parameters (OP-637)
2012-05-28 12:48:55 +03:00
Stacey Sheldon
5c114aedd5
pipx: apply fixes that allow pipx to build with new gcc
2012-05-27 21:38:33 -04:00
Stacey Sheldon
decd92f21d
pipx bu: apply recent LED changes so BU image builds again
2012-05-27 21:37:59 -04:00
Stacey Sheldon
c719d5b6cf
f4 adc: allow PIOS ADC to be properly excluded from the build
...
This was preventing the BL image from building
2012-05-27 21:36:56 -04:00
Stacey Sheldon
261e65a6f2
revo bu: apply recent LED changes to revo so BU builds again
2012-05-27 21:35:52 -04:00
Stacey Sheldon
8d47dc1fe4
revo usb: apply recent hid+vcp decscriptor changes to revo
2012-05-27 21:35:13 -04:00
Stacey Sheldon
33e7e775c7
Merge remote-tracking branch 'op-public/next' into revo-next
2012-05-27 20:39:58 -04:00
Corvus Corax
e6f4a40d3e
path library: updated API and usage from pathfollowers, added new conditions and additional user feedback in pathstatus
2012-05-28 01:51:17 +02:00
Corvus Corax
634a190d4f
FixedWingPathFollower: Redesigned and tested FixedWingpathFollower
2012-05-27 20:49:07 +02:00
Corvus Corax
ef8d7275a8
PathFollower and PathPlanner: fixes for fixed wing
2012-05-27 02:38:56 +02:00
Corvus Corax
922b3b7f1e
Merge branch 'basenext' into corvuscorax/new_navigation
...
Conflicts:
ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
2012-05-27 01:41:51 +02:00
James Cotton
1b53a9c4e6
Merge branch 'revo_battery' into testing
2012-05-26 17:06:27 -05:00
James Cotton
bd8125e41e
Catch from Corvus that the path error was being squared. However need to make
...
sure to take care of sign by removing one of those multiplcations.
2012-05-26 15:24:50 -05:00
Sambas
599e1b633f
graphic bugfixes
2012-05-26 21:56:54 +03:00
Sambas
36ea394d84
More graphic fixes
...
setting to change screens
2012-05-26 18:39:42 +03:00
Sambas
dfcba097f2
Cleanup and graphical bugfixes
2012-05-26 18:00:36 +03:00
Corvus Corax
9dfd34dd19
PathPlanner: added functions to allow circular paths and implement that feature in FixedWingPathFollower
2012-05-26 15:55:52 +02:00
Sambas
7eefe83335
Cleanup and fix
2012-05-26 13:38:01 +03:00
Sambas
bb40eca695
Big font fix
...
IRQs back to normal
2012-05-26 12:14:10 +03:00
James Cotton
5a6e02a688
Merge remote-tracking branch 'origin/Brian-PipXtreme-V2' into next
2012-05-25 20:37:23 -05:00
Sambas
a9cfc4a0af
*float sprintf
...
*h/v deadbands
2012-05-25 21:12:03 +03:00
Brian Webb
b824c87056
Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2
2012-05-25 06:26:29 -07:00
Brian Webb
701a480f01
Tuning configutation of PipX.
2012-05-24 18:08:29 -07:00
Brian Webb
f48bb90cf6
Updated PipX bootloader USB configuration to match CC.
2012-05-24 18:06:19 -07:00
Brian Webb
a434688b42
Zero out watchdog register on init.
2012-05-24 18:04:42 -07:00
Corvus Corax
79b717b4f7
Fixes to PathFollowers
2012-05-24 23:28:13 +02:00
Sambas
a3b9451bcd
Merged some stuff to make original hardware work better
2012-05-24 20:14:15 +03:00
Corvus Corax
435b494b0c
Merge remote branch 'origin/stac/etasv3' into corvuscorax/new_navigation
...
Conflicts:
flight/Revolution/Makefile
shared/uavobjectdefinition/hwsettings.xml
shared/uavobjectdefinition/taskinfo.xml
2012-05-24 18:55:20 +02:00
Corvus Corax
4aa1391dce
updated SimPosix to test pathplanner and pathfollower functionality
2012-05-24 18:43:25 +02:00
Corvus Corax
1ecce5e23b
Merge branch 'basenext' into corvuscorax/new_navigation
...
Conflicts:
Makefile
flight/PiOS.osx/osx/Libraries/FreeRTOS/Source/portable/GCC/Posix/port.c
flight/PiOS.osx/osx/Libraries/FreeRTOS/Source/task.c
flight/PiOS.posix/posix/Libraries/FreeRTOS/Source/portable/GCC/Posix/port_posix.c
flight/PiOS.posix/posix/Libraries/FreeRTOS/Source/tasks.c
2012-05-24 18:38:53 +02:00
Corvus Corax
9bdfe68bf5
PathFollower: refactoring (especially fixed wing)
2012-05-24 18:19:52 +02:00
James Cotton
faf3532ad3
Closer on the fonts. Looks great!
2012-05-24 18:25:51 +03:00
James Cotton
b3150500d5
Change the buffers to byte buffers and update most of the drawing code to use
...
it accordingly. Large fonts broken.
2012-05-24 18:25:09 +03:00
James Cotton
fef6567cff
Clock the SPI device with bytes. Image is now totally stable.
2012-05-24 18:23:05 +03:00
James Cotton
9d6dfee6cc
Use memset to clear screen.
2012-05-24 18:20:24 +03:00
James Cotton
8411b9cc98
Remove the disable IRQ commands in PIOS_COM since they aren't needed.
2012-05-24 18:04:49 +03:00
Corvus Corax
3a2ae24284
Refactored Guidance to FixedWingPathFollower
2012-05-24 11:13:21 +02:00
Corvus Corax
63cd7b063f
Refactored Guidance to apropriate pathfollower in uavobjects
2012-05-24 11:09:53 +02:00
Corvus Corax
25e21fde73
Renamed Guidanceto FixedWingPathFollower
2012-05-24 10:56:41 +02:00
Stacey Sheldon
ac75dd7be1
Revert "bu: remove LED support from bootloader updaters"
...
This reverts commit 7f03a77492
.
2012-05-23 00:46:19 -04:00
Stacey Sheldon
400e529703
bu: add back LED feedback
...
LED support was dropped from the BU images due to a lack
of proper abstraction for LED definitions between CC and
CC3D HW variants in the CopterControl board family.
Use the new LED abstraction to hide board revision details
from the BU image so it can once again flash some LEDs.
2012-05-23 00:31:08 -04:00
Stacey Sheldon
56dddee56c
cc: use defines for board revisions instead of hard-coded numbers
2012-05-23 00:29:12 -04:00
Stacey Sheldon
d2615cac96
hw_defs: hide board-rev differences in LED definitions
...
Every board has at least one LED (HEARTBEAT). Not all
users of LEDs need to be directly aware of which LED
configuration to choose when there may be more than one
possible configuration.
Hide the details of the differences between LEDs used in the
different HW revs for CC. This will allow generic code to
run on CC and CC3D without being exposed to the details of
the different pins used for the LEDs.
2012-05-23 00:22:11 -04:00
Stacey Sheldon
b97aba834a
cc3d leds: move pin remapping into led definition
...
The LED driver supports GPIO remapping. No need to
do the remapping outside of the LED definition.
2012-05-23 00:12:51 -04:00
Stacey Sheldon
dff43d5156
board_info: add guard for multiple includes of .h file
2012-05-22 21:50:53 -04:00
Corvus Corax
64c1ac3bd6
Stabilization: Bugfix: moved queue initialisation to TaskStart where it belongs
2012-05-22 22:19:31 +02:00
Corvus Corax
7f334a9773
SimPosix: make use of compile time uavobjecto initialization function generation
2012-05-22 22:06:26 +02:00
Corvus Corax
31da29a24b
Reenabled full UAVObject initialization for SimPosix
2012-05-22 21:22:59 +02:00
Corvus Corax
3e5741abea
SimPosix: Remove unneeded modules from Makefile to allow test run
2012-05-22 18:45:23 +02:00
Corvus Corax
9aca773714
SimPosix: Reenabled File IO for UAVObject saving
2012-05-22 18:32:52 +02:00
Corvus Corax
0d23e78762
PiOS.posix: added missing header definition to use FreeRTOS tasks in udp driver if applicable
2012-05-22 18:32:47 +02:00
Corvus Corax
e16a42b672
SimPosix: Fixed Module Initialisation, added missing UAVObject Initialisations (cause segfaults if not initialised)
2012-05-22 18:32:41 +02:00
Corvus Corax
5727d5714e
Created new "SimPosix" board and ported PiOS.posix to revolution API and more "standard like" configuration akin to other "boards"
2012-05-22 18:32:27 +02:00
Corvus Corax
414310fcba
test add of SimPosix architecture - doesnt work yet
2012-05-22 18:28:42 +02:00
Brian Webb
8b98d48fc4
Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2
2012-05-22 06:27:45 -07:00
Corvus Corax
48fcf12ef9
ManualControl: fixed new PathPlanner interface to compile on CopterControl stub
2012-05-22 13:29:42 +02:00
Corvus Corax
ea7d9b6610
Merge branch 'basenext' into corvuscorax/new_navigation
2012-05-22 13:11:04 +02:00
Stacey Sheldon
3b0508e753
bu: check compatibility btw BL and HW before installing
...
CC and CC3D boards share the same FW image. This is accomplished
by checking the BOARD_REVISION field in the board_info_blob
that is stored in the BL partition in flash as we init the FW.
Make sure that the BU image only writes a BL image that has
the same BOARD_TYPE and BOARD_REVISION fields in the embedded
image as the ones currently in flash on the board.
This ensures that we never write a CC3D BL image onto a CC board
and vice versa. This check should prevent "bricking" a board.
2012-05-22 00:33:40 -04:00
Stacey Sheldon
e063bb0490
bl: use new USB "cable connected" API to halt in BL
...
BL only cares about the physical cable being connected.
Use the newly provided API that matches this intent.
2012-05-22 00:24:16 -04:00
Stacey Sheldon
dab400c80d
usb: decouple "available" from "cable connected"
...
The bootloader needs to understand whether the USB cable
is connected. The HID and CDC drivers need to know if
the cable is connected _and_ the device has been enumerated
already. Separate these two concepts in the API.
Combining these was resulting in the BL not properly
detecting that the cable was plugged in, and trying to boot
the firmware image immediately. This effectively bricked
the board if you ever had an invalid firmware image.
It also happens to be the case that the BU images automatically
invalidate themselves after updating the BL so they don't run
again. The cable detect bug + this intended behaviour of the
BU image resulted in a bricked board after upgrading the BL.
2012-05-22 00:21:24 -04:00
Brian Webb
6e359c5933
Added PipX to Windows .inf file and updated ppm port definitions.
2012-05-21 19:22:46 -07:00
Corvus Corax
68fe938016
Implemented new programmable PathPlanner
2012-05-21 21:42:28 +02:00
Corvus Corax
992e189bcd
added PathAction (again)
2012-05-21 12:10:01 +02:00
Corvus Corax
09f25ab11b
Refactorted VTOLPathFollower to fit into new scheme: optional module, reports status and knows advanced FlightModes
2012-05-21 12:10:01 +02:00
Corvus Corax
84a0fd731f
Added ReturnToBase flightmode and correct behaviour in ManualControl
2012-05-21 12:10:01 +02:00
Corvus Corax
6a6eace700
Added forced disarming via systemalarm
2012-05-21 12:10:01 +02:00
Corvus Corax
9dd94f98b6
New UAVObjects for programmable PathPlanner
2012-05-21 12:10:00 +02:00
Corvus Corax
73ccdd0e69
Merge remote branch 'baseorigin/next' into james/testing4
2012-05-21 11:57:02 +02:00
Brian Webb
e57543ec29
Updated USB on PipX to latest CDC changes.
2012-05-20 19:34:43 -07:00
Brian Webb
6cb13aa2ba
Fixed failed merge with next.
2012-05-20 18:36:08 -07:00
Brian Webb
2f1a9e3e7d
Added PPM input to the PipXtreme. Also added configurable GCSReceiver timeout.
2012-05-20 18:30:37 -07:00
Stacey Sheldon
d7d670036b
usb: make sure USB device is off limits until it has been init'ed
...
USB device was being accessed prior to being initialized.
This resulted in a hard-fault or NMI when using any endpoint
beyond 0 or 1 which are init'ed by the BL. This broke VCP which
is on endpoint 2 (control) and 3 (data).
This bug was introduced in 5ad37e69
which stopped checking the
transfer_possible variable.
2012-05-20 13:28:16 -04:00
Stacey Sheldon
7e6a222a8e
usb serial: refactor serial number construction
...
Use new PIOS_USB_UTIL_AsciiToUtf8() function to compose the
USB serial number rather than repeating that code for each
board.
All boards now append "+FW" or "+BL" to their USB serial numbers
to allow the descriptors to differ between FW and BL images.
2012-05-19 16:15:47 -04:00
Stacey Sheldon
698ea8e86e
usb util: Add common utility functions for USB descriptors
...
Make a home for generic functions related to USB.
2012-05-19 16:14:10 -04:00
Stacey Sheldon
3e0a9bc47e
usb: Change supported LANGID in USB descriptor to be English US
...
Some versions of Windows will ignore the USB device serial number
if the string is not delivered with LANGID = English US 0x0409.
This is true regardless of the configured locale of the machine.
2012-05-19 16:12:34 -04:00
Stacey Sheldon
19367730c0
usb: remove null termination on serial number string
...
The serial number string descriptor was incorrectly null
terminated. The standard clearly states that there should
not be a null terminator.
Use new #defines to ensure that our strings are sized
properly.
2012-05-19 16:06:49 -04:00
Stacey Sheldon
b905607dc7
serial: use defines for serial number lengths
...
Use #defined sizes for returned serial number lengths instead
of hard-coded values.
2012-05-19 16:06:48 -04:00
Stacey Sheldon
ba8d60301c
usb: remove run-time selectable device descriptors
...
BL images now always use hid-only.
FW images can use hid-only or hid+vcp but this is selected
ONLY at compile time based on whether PIOS_INCLUDE_USB_CDC
is defined.
CC uses HID+VCP by default now.
2012-05-19 16:06:48 -04:00
Stacey Sheldon
d4b0475f6a
usb-descriptors: add +BL or +FW suffix to serial number string
...
This makes the BL and FW images distinct devices with unique
serial numbers.
Windows (and maybe Mac) remembers the device descriptors and
the associated drivers based on this serial number. Providing
unique serial numbers for the BL and FW images allows us to
provide different sets of descriptors for the BL and FW images
without confusing these OSes.
BL version number is now also bumped to reflect the new
serial number generation algorithm.
2012-05-19 16:06:44 -04:00
Stacey Sheldon
461d4a2ddd
hid+vcp: Add Windows INF file for CDC on OpenPilot boards
2012-05-19 16:06:43 -04:00
Stacey Sheldon
48cb20dc81
hid+vcp: change default USB descriptor to HID+VCP
...
Now that we have a USB descriptor for HID+VCP that works
on Ubuntu 11.10, MacOS 10.7.3, Win7-SP1-32bit,
WinXP-SP3-32bit, Win7-SP1-64bit.
VCP is known to not work on WinXP without service pack 3.
2012-05-19 16:06:30 -04:00
zedamota
eb83afdcf1
Working compliant VCP+HID descriptors for Windows.
2012-05-19 15:40:46 -04:00
Brian Webb
6a7179120d
Fixed setting of PipX description, and changed gcs receiver object to be update on change on flight side so that it works on the PipX.
2012-05-19 09:25:11 -07:00
Brian Webb
00a83f3984
Reverted change to link_STM32103CB_PIPXTREME_memory.ld
2012-05-18 19:08:44 -07:00
Brian Webb
c25884bcaf
Cleanup on the PipX branch.
2012-05-18 17:42:25 -07:00
Brian Webb
68d66d4181
Fixed firmware description in PipX status.
2012-05-17 20:35:17 -07:00
Brian Webb
6fbc3339d5
Fixed processing of UAVTalk packets when in transparent com mode.
2012-05-17 18:37:45 -07:00
Brian Webb
44a1663eb9
Fixed transparent comm on PipX.
2012-05-16 19:02:53 -07:00
Brian Webb
7082eda175
Fixed returning status for currently paired modem.
2012-05-15 20:11:52 -07:00
Brian Webb
93ec7c11a6
Fixed race condition on getting packets.
2012-05-15 19:38:14 -07:00
Corvus Corax
badf509d1d
UAVObjects: switched around order of update modes to give each bit semantic meaning - important to allow usage of a bitfield type later
2012-05-15 18:21:27 +02:00
James Cotton
af8d65616e
Comment out some unused variables in the PIOS_ADC structure for now since they
...
were consuming lots of memory. Probably should make a simple adc version that
just queries the line when needed since we are only using this data at 500 ms.
However, the accumulator scheme in place is quite good for averaging over time.
2012-05-15 03:48:32 -05:00
James Cotton
bbb14f5f14
Trying to get F4 PIOS_ADC working. Changed from previous implementation timed
...
by another timer to running continuously. May go back to the previous since no
need to get tons of data.
2012-05-15 03:19:44 -05:00
James Cotton
39ce3cea17
Clean up the battery module
2012-05-15 03:08:18 -05:00
James Cotton
0a7f5fd5d3
Enable battery code again
2012-05-15 00:38:11 -05:00
Brian Webb
bb491b8a3f
Fixed bootloader on PipX.
2012-05-14 06:57:16 -07:00
Brian Webb
31069d8858
Small mod to flash saving.
2012-05-13 20:20:17 -07:00
Brian Webb
563b454693
Fixed compiling of PipX bootloader.
2012-05-13 20:19:04 -07:00
Brian Webb
a3269aaf2f
Reverted some file permission changes.
2012-05-13 14:24:57 -07:00
Brian Webb
68d12b1b2f
Fixed some bugs with setting PairIDs in GCS.
2012-05-13 14:24:00 -07:00
Brian Webb
dd03b0b159
Added reporting of stats from the remote modem.
2012-05-13 09:34:21 -07:00
Brian Webb
ec67742ff6
Added configuration of COM ports on PipX.
2012-05-12 13:16:36 -07:00
James Cotton
46fc5fa4fb
Create a PathPlannerSettings object and move the PathMode setting to there.
...
Also add a (temporary) field to allow storing some custom paths to select on
the fly. Later will be replaced with some code to fetch from the flash chip.
2012-05-12 13:12:57 -05:00
James Cotton
836e34a483
Change revo sensors to update at 500 Hz and make sure in all cases it waits for
...
the relevant queue to provide data. Also disable the quaternion stabilization
flag.
2012-05-12 13:12:56 -05:00
James Cotton
65065f2588
Fix the ADC code on the BL for revolution
2012-05-12 13:12:56 -05:00
James Cotton
c660dd17f0
Correct comment in CC settings for MPU6000 and disable I2C support
2012-05-12 13:12:55 -05:00
James Cotton
848f1b0e29
For some reason the gyro needs 300 ms after reset in order to work after the
...
bootloader jumps to code. Nothing in datasheet to imply what.
2012-05-12 13:00:51 -05:00
James Cotton
2ca3cde83f
Improve EKF initialization. For some reason we must read an extra mag sample
...
when power up value of attitude algorithm is EKF. I don't understand why the
first mag value is bad.
2012-05-12 13:00:51 -05:00
James Cotton
98655aacc8
Fix initialization of the complimentary filter where it didn't get the right
...
initial dT
2012-05-12 13:00:50 -05:00
zedamota
817ce9327f
flight - fix pipxtreme bootloader compile
2012-05-12 12:57:15 +01:00
Brian Webb
1f5dbcf57c
Mostly complete PipX configuration GUI.
2012-05-11 17:51:18 -07:00
James Cotton
406b5a00f5
Make OSX simulator more efficient
2012-05-08 03:12:35 -05:00
James Cotton
4ec4edd15c
When enabling position hold altitude mode take the throttle from before as the
...
"hover" throttle
2012-05-08 03:12:14 -05:00
James Cotton
2857b58f8e
Migrate path planner from position desired to path desired
2012-05-08 03:04:44 -05:00
James Cotton
37bb2cfb77
Finish getting rid of PositionDesired in favor of PathDesired and add the
...
ability to move the magic waypoint with the transmitter
2012-05-08 02:42:58 -05:00
James Cotton
a8bdd4a44a
Coalescene PositionDesired and PathDesired into PathDesired and add a mode
...
field to indicate how it should be interpreted.
2012-05-08 02:29:58 -05:00
James Cotton
27d1c4be93
Extend list of airframe types for VTOL guidance
2012-05-08 02:29:58 -05:00
James Cotton
c723ae3720
Reduce the CPU usage of OSX simuluator
2012-05-08 02:29:58 -05:00
James Cotton
cbedb5b53b
Move Guidance to VtolPathFollower to make room for FWPathFollower
2012-05-08 02:29:50 -05:00
James Cotton
0f2c41ac5d
Merge branch 'revolution' into navigation
...
Conflicts:
flight/Modules/ManualControl/manualcontrol.c
flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
2012-05-07 21:53:10 -05:00
James Cotton
6aa7142f5e
When guidance finds an incorrect airframe, delay 100ms to avoid hammering the
...
alarms
2012-05-07 12:55:35 -05:00
Sambas
dedbbec8f0
Make guidance support my Y6, also caused telemetry/usb RXdatarate go thru the roof (Guidance Warning). Almost impossible to change dataframe type to supported one with clean board.
...
USB interrupt fix.
Heap warning critical sizes backwards.
2012-05-07 12:51:07 -05:00
Oleg Semyonov
a3906aa7ea
Merge remote-tracking branch 'origin/hhrhhr/AeroSimRC_plugin' into os/aerosimrc
2012-05-07 16:09:35 +03:00
James Cotton
d8c288f223
Disable LEDs on the bootloader update as without knowing the particular
...
hardware revision it cannot know which pios_led_cfg_ structure to use.
Possibly this should be abstracted further into board_hw_defs to create
functions like board_init_led.
Also the BU should probably compare the hw_revision of the original and new
bootloader to make sure the user doesn't break their board.
2012-05-07 01:59:38 -05:00
James Cotton
a40a0b0e31
Small fix to be able to build CC for Revo branch and to include revo in
...
package.
2012-05-07 01:55:52 -05:00
Brian Webb
454144f46c
Pairing and saving settings working.
2012-05-06 20:47:21 -07:00
Brian Webb
352471857f
Reverted USB configuration and switched all non-blocking COM calls to blocking, which appears to help prevent lockups now that all sends are in a different thread.
2012-05-06 15:07:07 -07:00
Brian Webb
ef4828032b
Fixed failed merge with next.
2012-05-06 12:38:13 -07:00
Brian Webb
3cf4fe6512
Reverted some USB changes.
2012-05-05 10:10:40 -07:00
Brian Webb
480371a43e
Resolving merge with origin/next
2012-05-05 09:53:54 -07:00
Brian Webb
e83fec0463
Merged latest origin/next.
2012-05-05 09:40:44 -07:00
James Cotton
6c0dc80978
Shuffle more stack sizes around
2012-05-05 11:33:47 -05:00
Werner Backes
22df8310c4
Fixed typo in comment
2012-05-05 11:10:53 -05:00
Werner Backes
f52f5b3d83
Don't process RMC sentences that are flaged as 'void'
2012-05-05 11:10:45 -05:00
Werner Backes
6b463e5c9e
Check GGA NMEA sentence for no/invalid fix flag
2012-05-05 11:10:38 -05:00
Werner Backes
217860c187
Check for empty fields during lat/lon conversion (invalid GPS fix)
2012-05-05 11:10:32 -05:00
James Cotton
513c36f19a
Update the F4 ADC to compile again. Still not fully compliant with API but
...
then again API is not great and unused currently so no rush.
2012-05-04 21:37:46 -05:00
James Cotton
3ef01569b8
Merge remote-tracking branch 'origin/kenz/PT_UI_fixes' into next
...
Conflicts:
flight/OpenPilot/System/openpilot.c
shared/uavobjectdefinition/positionactual.xml
shared/uavobjectdefinition/positiondesired.xml
shared/uavobjectdefinition/velocityactual.xml
shared/uavobjectdefinition/velocitydesired.xml
2012-05-04 13:21:23 -05:00
James Cotton
a9b8e74b0d
Disable LEDs on the bootloader update as without knowing the particular
...
hardware revision it cannot know which pios_led_cfg_ structure to use.
Possibly this should be abstracted further into board_hw_defs to create
functions like board_init_led.
Also the BU should probably compare the hw_revision of the original and new
bootloader to make sure the user doesn't break their board.
2012-05-04 08:53:14 -05:00
James Cotton
d93bf5d2a2
Clean up the XCode project
2012-05-03 22:20:00 -05:00
Brian Webb
44d95003f3
Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2
2012-05-03 17:56:08 -07:00
James Cotton
3155324384
Merge branch 'next' into cc3d
...
Conflicts:
Makefile
ground/openpilotgcs/src/plugins/config/configahrswidget.cpp
shared/uavobjectdefinition/ahrscalibration.xml
shared/uavobjectdefinition/ahrssettings.xml
shared/uavobjectdefinition/attituderaw.xml
2012-05-03 16:31:49 -05:00
James Cotton
07a5d98020
Merge remote-tracking branch 'origin/Brian-Metadata-Mods' into next
2012-05-03 08:50:24 -05:00
Brian Webb
249ededcfd
Added responding to OBJ_REQ and sending ACK/NACK on PipX.
2012-05-02 20:51:29 -07:00
Brian Webb
22f48ce8b0
Exposed the Send ACK/NACK function in UAVTalk.
2012-05-02 20:42:37 -07:00
Brian Webb
30d63b5b12
Merged USB CDC updates.
2012-05-02 06:45:24 -07:00
Brian Webb
8da4b9c745
Merge remote-tracking branch 'origin/stac/pt-win-vcp-fix' into Brian-PipXtreme-V2
2012-05-02 06:42:30 -07:00
Brian Webb
290acf0398
Fixed watchdog timeouts.
2012-05-01 20:48:35 -07:00
Brian Webb
217aad8c37
Now using read and write threads for both radio and com ports on PipX. Also cleaned up UAVTalk message handling.
2012-05-01 19:14:58 -07:00
James Cotton
3f63051df8
PiOS ADC: This could still use a lot of cleanup and needs to be implemented in
...
the non-FreeRTOS case but now the ADC device is allocated dynamically which
means CC3D won't waste heap on it.
2012-05-01 11:11:31 -05:00
James Cotton
311cbe37d2
Reenable PIOS_ADC for coptercontrol
2012-05-01 00:30:41 -05:00
Brian Webb
84a19ebeab
Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2
2012-04-28 19:30:35 -07:00
Brian Webb
25ffb99cee
Added initialization of flash eeprom for saving settings to PipX.
2012-04-28 19:29:56 -07:00
Brian Webb
1048eb7e2c
Added pios_eeprom for saving settings.
2012-04-28 19:29:25 -07:00
James Cotton
fb53d5621a
Change the magKp term (hardcoded still) for revo complimentary filter so it
...
tracks magnetic north when homelocation is set.
2012-04-22 19:01:41 -05:00
James Cotton
2890fcdc9f
When in complimentary filter mode use GPSVelocity so event system doesn't have
...
warning.
2012-04-22 19:01:18 -05:00
Corvus Corax
b97b0617aa
bugfix, use correct variance parameter on z velocity
2012-04-22 18:43:17 -05:00
James Cotton
f06439ecf5
Fix a bug in calculating air temperature in baro sensor when it goes below 20
...
deg C.
2012-04-22 18:43:07 -05:00
Stacey Sheldon
63285ea451
bu: remove LED support from bootloader updaters
...
Bootloader updaters were all broken due to recent
changes in LED configuration handling. Removing
LED support from the BU loads allows them to build
again, but they provide no feedback about when they're
finished writing flash.
2012-04-22 18:42:58 -05:00
Stacey Sheldon
2ec197298b
gpio: stop enabling pull-ups on all GPIOs in bootloader
...
The bootloader has been enabling pull-ups on all GPIO
pins during early init. These pull-ups are disabled
immediately before jumping to the firmware. This transition
results in all servos seeing a wide pulse as the board
resets making them jerk sideways aggresively and then snap
back to neutral.
2012-04-22 18:42:53 -05:00
Stacey Sheldon
14cc9ef57c
ppm: adjust min frame pulse width for 8ch x 18ms frames
...
All channels at max when using the FrSKY 4ch D4FR in PPM
mode results in the frame pulse shrinking well below our
threshold of 3800us and we lose frame.
With all 8 channels at max, the frame pulse becomes
indistinguishable from the other channels. Using all 8
channels with the FrSKY in PPM mode is NOT recommended
even after this change.
Recommend using at most 7 active channels in this mode so
we can still find the frame pulse.
2012-04-22 18:42:45 -05:00
Brian Webb
aab47d6ed4
Final updates to throttled mode and further memeory reduction in the object manager and event dispatcher to reflect smaller data sizes in metadata.
2012-04-22 14:56:26 -07:00
Brian Webb
ed1937958e
Changed PipX UAVTalkProcessInputStream calls to UAVTalkProcessInputStreamQuiet.
2012-04-22 08:45:01 -07:00
Brian Webb
fb6dedad2b
Added UAVTalkProcessInputStreamQuiet function, which is a version of UAVTalkProcessInputStream that only processes (does not sens or receive).
2012-04-22 08:43:51 -07:00
Brian Webb
f726cc6a9d
Added a RTC supervisor timer to RFM22B driver.
2012-04-21 18:31:49 -07:00
Brian Webb
5a2a3ad49b
Fixed changes to UAVTalkProcessInputStream.
2012-04-21 16:54:35 -07:00
Brian Webb
eb6f175af4
Fixed metadata settings in object browswer, and removed update mode never from all uavobjects that used it (changed to manual).
2012-04-21 11:59:14 -07:00
Laura Sebesta
6feb198437
Improved comment message, aimed at beginners.
2012-04-20 17:10:16 -04:00
Stacey Sheldon
b255e7caaa
hid+vcp: Add Windows INF file for CDC on OpenPilot boards
2012-04-20 09:02:40 -04:00
Stacey Sheldon
41d4ba4b1a
hid+vcp: change default USB descriptor to HID+VCP
...
Now that we have a USB descriptor for HID+VCP that works
on Ubuntu 11.10, MacOS 10.7.3, Win7-SP1-32bit,
WinXP-SP3-32bit, Win7-SP1-64bit.
VCP will is known to not work on WinXP without service pack 3.
2012-04-20 08:39:04 -04:00
zedamota
4968df183a
Working compliant VCP+HID descriptors for Windows.
2012-04-20 08:38:24 -04:00
Brian Webb
19166cc830
Added UPDATEMODE_THROTTLED to UAVObjects update modes.
2012-04-18 18:47:13 -07:00
Corvus Corax
1c3dc9c9e1
Airspeed: fixed calculation math - no more zero zone
2012-04-18 14:41:41 +02:00
Corvus Corax
d125abf335
Baro calibration
2012-04-18 10:48:31 +02:00
Brian Webb
62c5036220
Added PipXStatus and PipXSetting UAVobjects and some initial support for them.
2012-04-17 17:36:05 -07:00
Corvus Corax
3da88601a1
Airspeed module works, needs conversion
2012-04-17 20:32:56 +02:00
Corvus Corax
317cff10dd
debug code added - revert this when no longer needed
2012-04-17 18:59:46 +02:00
Corvus Corax
edf26d15e6
Airspeed: some more fixes
2012-04-17 16:38:53 +02:00
Corvus Corax
c5a6ed7486
add missing headers and makefile entries
2012-04-17 16:25:39 +02:00
Corvus Corax
cf3f0b4226
Merge branch 'james/revolution' into stac/etasv3
2012-04-17 15:57:37 +02:00
Corvus Corax
5159d2029b
new airspeed module - still needs matching PIOS driver from stac
2012-04-17 15:54:05 +02:00
Stacey Sheldon
ad75e354eb
etasv3: Add etasv3 driver to revolution
2012-04-17 09:39:47 -04:00
Stacey Sheldon
6a37e433b6
etasv3: Add driver for Eagle Tree Airspeed Sensor v3
2012-04-17 09:39:00 -04:00
Stacey Sheldon
853600a2ef
i2c: enable flexiport i2c on revolution
2012-04-17 09:38:27 -04:00
Brian Webb
78c7416bda
Added returning of UAVTalk state from UAVTalkProcessInputStream
2012-04-16 20:21:00 -07:00
Stacey Sheldon
7f03a77492
bu: remove LED support from bootloader updaters
...
Bootloader updaters were all broken due to recent
changes in LED configuration handling. Removing
LED support from the BU loads allows them to build
again, but they provide no feedback about when they're
finished writing flash.
2012-04-16 15:09:10 -04:00
Stacey Sheldon
62fb009acd
gpio: stop enabling pull-ups on all GPIOs in bootloader
...
The bootloader has been enabling pull-ups on all GPIO
pins during early init. These pull-ups are disabled
immediately before jumping to the firmware. This transition
results in all servos seeing a wide pulse as the board
resets making them jerk sideways aggresively and then snap
back to neutral.
2012-04-16 14:41:25 -04:00
Stacey Sheldon
5ca4ec7934
ppm: adjust min frame pulse width for 8ch x 18ms frames
...
All channels at max when using the FrSKY 4ch D4FR in PPM
mode results in the frame pulse shrinking well below our
threshold of 3800us and we lose frame.
With all 8 channels at max, the frame pulse becomes
indistinguishable from the other channels. Using all 8
channels with the FrSKY in PPM mode is NOT recommended
even after this change.
Recommend using at most 7 active channels in this mode so
we can still find the frame pulse.
2012-04-16 14:33:28 -04:00
James Cotton
ad074aee4b
Fix nasty bug in guidance where I missed some breaks
2012-04-16 08:59:25 -05:00
James Cotton
a7ba6d96c1
Allow guidance to run purely off raw GPS data
2012-04-15 16:23:34 -05:00
James Cotton
050c756d54
Merge branch 'revolution_path' into testing
2012-04-15 12:34:31 -05:00
James Cotton
4928cbba44
Merge branch 'sim' into testing
2012-04-15 12:34:27 -05:00
James Cotton
59da9deffb
Merge remote-tracking branch 'revo/D-Lite/ubx-parser' into sim
2012-04-15 12:33:54 -05:00
James Cotton
6a094ac326
Increase stack for the path planner
2012-04-15 12:31:50 -05:00
Corvus Corax
88f7567247
change to GPS: do not update UAVObject more than 1ce per cycle
2012-04-15 19:17:03 +02:00
James Cotton
85852df00b
Make simulation produce data asynchronously for testing and add random accel
...
bias
2012-04-15 11:51:42 -05:00
James Cotton
08fd08deb8
Fix some compiler warnings in guidance code
2012-04-15 11:51:26 -05:00
James Cotton
1559eeb2e1
Use GPSVelocity updates when they are available instead of timing based on
...
GPSPosition
2012-04-15 11:50:56 -05:00
James Cotton
6e215bd029
Updating INS Pos/Vel variance includes the vertical velocity
2012-04-15 11:50:11 -05:00
James Cotton
b71e9fc9dc
Create simulated OveroSync module which simply drops updates to log file
2012-04-14 22:01:33 -05:00
unknown
0b7538c3fe
Constants changed to float for better portability.
2012-04-15 01:28:31 +02:00
James Cotton
9a2e0b071c
Revert "Allow simulated quadcopter to include GyroBias in the artificial sensor data."
...
This reverts commit 212a10bcd4
.
2012-04-14 17:20:01 -05:00
James Cotton
212a10bcd4
Allow simulated quadcopter to include GyroBias in the artificial sensor data.
2012-04-14 14:52:56 -05:00
James Cotton
af02eb6517
Merge branch 'sim' into testing
...
Conflicts:
ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
2012-04-14 14:40:43 -05:00
James Cotton
267e9fa87c
Merge branch 'revolution' into testing
2012-04-14 14:40:11 -05:00
James Cotton
a86e75bc99
Merge branch 'revolution' into sim
2012-04-14 14:12:03 -05:00
James Cotton
deb3336729
Make sure for revolution all the GPS objects are always initialized even if
...
there is no GPS port. Otherwise connecting to relevant queues will fail.
2012-04-14 14:02:20 -05:00
James Cotton
b7c3b1fdd1
Make the simulation provide GPSVelocity object since this is critical for EKF
...
now
2012-04-14 14:01:42 -05:00
James Cotton
ce6def870b
Add feedforward component to guidance
2012-04-14 13:38:10 -05:00
James Cotton
be21ec441e
Add ability to run guidance based on raw GPS velocity instead
2012-04-14 13:34:30 -05:00
James Cotton
1a98a46606
Merge branch 'revolution_ubx' into sim
2012-04-14 12:10:23 -05:00
James Cotton
5d160860a3
Fix from Corvus for gyro bias from EKF
2012-04-14 12:09:12 -05:00
James Cotton
3e2feb64cf
Fix bug limiting maximum velocity desired
2012-04-14 10:49:54 -05:00
Corvus Corax
84c3705390
use gyro scale and bias in sensor module
2012-04-14 14:01:28 +02:00
James Cotton
b0ef456ccb
Kickstart MPU6000 if there is no data
2012-04-13 20:29:41 -05:00
James Cotton
a0d1b00ade
Cover an edge condition for the MPU6000 IRQ not firing
2012-04-13 19:37:30 -05:00
Brian Webb
4936cd8fd2
Added PipXStatus and PipXSettings UAVObjects and added support the sending/receiving UAVTalk objects on the PipX.
2012-04-10 20:22:53 -07:00
James Cotton
a1351fcdbe
Make the path velocity come from the waypoint.
2012-04-10 02:56:10 -05:00
James Cotton
a42d756b3e
Add path navigation mode to the path planner module. I don't like how this is
...
done because the mode is in the settings so can't be command from path planner.
I.e. it would be nice to be able to say do these paths then go to position hold
mode.
2012-04-10 02:51:50 -05:00
James Cotton
dfa18eaef1
Deal with the case where path start and endpoints are the same to avoid NAN.
2012-04-10 02:49:19 -05:00
James Cotton
1aec5b8deb
Add altitude control to the path navigation
2012-04-10 01:59:26 -05:00
James Cotton
26b73e3c8b
Add path navigation mode to guidance. Works well in simulation.
2012-04-10 01:48:03 -05:00
James Cotton
136bbe3814
Update the EKF code to use the GPSVelocity
2012-04-09 19:03:21 -05:00
James Cotton
dbcb47e249
Merge branch 'D-Lite/ubx-parser' into revolution_ubx
2012-04-09 17:34:34 -05:00
Werner Backes
4ede7a8af6
Experimental u-blox binary data format parser. See "u-blox 6
...
Receiver Description" for reference. Currently supports NAV-VELNED
message only and populates it to the GPSVelocity UAVObject.
2012-04-09 23:14:34 +02:00
Werner Backes
422944ce29
Experimental extension to the GPS stream parser to extract u-blox
...
binary data format. See "u-blox 6 Receiver Description" for
reference. GPS data stream may carry mixed NMEA and UBX data.
2012-04-09 23:12:24 +02:00
Werner Backes
56108b5381
Introduced GPSVelocity UAVObject
2012-04-09 22:59:38 +02:00
Brian Webb
3914d22b09
Turned off watchdog timer, which was crashing on real PipX.
2012-04-07 19:56:12 -07:00
Brian Webb
e639d173a0
Create ID from a hashed CPU serial number.
2012-04-07 19:41:23 -07:00
Brian Webb
7b49a6b820
Added watchdog to radio com bridge in PipXtreme.
2012-04-07 19:12:49 -07:00
Brian Webb
f4d886de75
Added support for determining when the radio->com link is between UAVTalk packets. This is required to inject UAVTalk messages into the message stream.
2012-04-07 18:17:57 -07:00
Brian Webb
0f9f897870
Added PPM packet to packet handler, created replacement system module for PipXtreme (PipXtreme module), removed all UAVObjects from PipXtreme, and added parsing of incoming (over USB/COM) UAVTalk stream.
2012-04-07 18:17:32 -07:00
Sambas
d399469b88
Last push before summit
2012-04-07 14:30:04 +03:00
James Cotton
414e62f14e
Revert "Disable baro updates into INSGPS for now. Seems to cause issues."
...
This reverts commit 04591309770679e7b01c53a6cb54cac1c043f8b6.
2012-04-07 00:58:36 -05:00
James Cotton
fcb9193d25
Disable baro updates into INSGPS for now. Seems to cause issues.
2012-04-07 00:58:36 -05:00
James Cotton
aa6c8a451d
Shrink some stack sizes
2012-04-07 00:58:36 -05:00
James Cotton
81fcfd45c4
Some work on the code to initialize the INSGPS and allow setting the variance
...
of the baro
2012-04-07 00:37:42 -05:00
Brian Webb
56a2006fd8
Reconfigured to run on the real PipX board.
2012-04-06 18:44:31 -07:00
Brian Webb
eeb96955f9
Fixed ADC configuration
2012-04-06 17:43:43 -07:00
Brian Webb
253de47967
Merge remote-tracking branch 'raid/Brian-PipXtreme-V2' into Brian-PipXtreme-V2
2012-04-06 17:37:31 -07:00
Brian Webb
bc1adb2519
Some cleanup of rfm22 driver.
2012-04-06 17:36:35 -07:00
James Cotton
345b6578b1
Fix a possible race condition for complimentary filter on L3GD20 attitude
...
estimation where the accel queue wouldn't immediately have data available.
Added 1 ms timeout on queue.
2012-04-06 13:59:12 -05:00
James Cotton
e60c70251f
Slow down update rate for the altitude hold smoothed EKF
2012-04-06 13:58:46 -05:00
James Cotton
6c004678d5
Need a really big telemetry queue size on revo for object manager not to choke.
...
Probably should slow down how quickly AltHoldSmoothed is set.
2012-04-06 13:22:30 -05:00
James Cotton
ea13536da0
Take quidance settings from simulation and make the INSGPS pick up the GPS
...
noise from a setting.
2012-04-06 12:59:49 -05:00
Brian Webb
fff93910e2
RFM22B device now fully interrupt driven. Packet handeling moved to RadioComBridge module.
2012-04-05 20:24:50 -07:00
James Cotton
3071f77d59
Add Baro offset to the simulation
2012-04-03 10:58:48 -05:00
James Cotton
c988685293
Simulate GPS noise drift
2012-04-03 09:17:55 -05:00
James Cotton
f491c924d6
Start updating the OSX UDP simulation to use a separate thread for receiving
...
but it needs two - one as a task (where the com callback occurs) and another
for the physical process stuff that doesn't need to suspend (like teh TCP
thread does)
2012-04-03 09:17:55 -05:00
James Cotton
5d0e513678
Fix small deg/rad issue in generating gps data
2012-04-03 09:17:55 -05:00
James Cotton
df6bc4deff
Enable guidance on simulation and add wind model
2012-04-03 09:16:31 -05:00
James Cotton
fdfaac6559
More tweaks to OSX simulator
2012-04-03 09:16:31 -05:00
James Cotton
ca535c2632
Fix bugs in simulated sensor data. Now works well with INSGPS.
2012-04-03 09:16:31 -05:00
James Cotton
84040d25b4
Add attitudesimulated object to capture the simulated state
2012-04-03 09:16:30 -05:00
James Cotton
09ce6e1ab4
Restore the original Revolution FreeRTOSConfig and make the osx simulation
...
scheduler not start high priority tasks when they are created because I can't
reliably get the starting task to stop (because currently in a swapping mutex I
think).
2012-04-03 09:16:30 -05:00
James Cotton
6df9691609
Bring back the original module files and remove comments from FreeRTOS
...
debugging
2012-04-03 09:16:30 -05:00
James Cotton
82a2987b2c
More improvements to the osx simulation FreeRTOS port. Only tick the tick
...
handler when we have confirmed the running thread has halted. This is more
like what would happen on a single core machine.
2012-04-03 09:16:30 -05:00
James Cotton
543500ed78
Improve the simulated sensors to produce (I think) consistent data now
2012-04-03 09:16:30 -05:00
James Cotton
0b342ea3d6
Changing the tick counter to only happen after current thread is suspended
...
seems to fix stability issues
2012-04-03 09:16:30 -05:00
James Cotton
fbd8695d7d
Check in WIP for osx simulation
2012-04-03 09:16:30 -05:00
James Cotton
c1726e30e5
Make pios_tcp uses two threads - one for the socket stuff and another within
...
FreeRTOS to receive the data.
2012-04-03 09:16:30 -05:00
James Cotton
75262b400a
More osx simulation work
2012-04-03 09:16:29 -05:00
James Cotton
da294384b6
Getting closer on osx simulation
2012-04-03 09:16:29 -05:00
James Cotton
a2bc7b8668
Osx Simulator Not running quickly but at least it's staying up
2012-04-03 09:16:29 -05:00
James Cotton
898a595d81
Delete old files
2012-04-03 09:16:29 -05:00
James Cotton
adad006530
More work on OSX simulation
2012-04-03 09:16:29 -05:00
James Cotton
99e246f151
More of the 7.0 files for OSX simulation
2012-04-03 09:16:29 -05:00
James Cotton
356802b5ac
Update to FreeRTOS 7 for OSX sim
2012-04-03 09:16:28 -05:00
James Cotton
0d3a6d94d8
Delete some old files
2012-04-03 09:16:28 -05:00
James Cotton
491df5d130
Small update to the osx wdg
2012-04-03 09:16:28 -05:00
James Cotton
51f0c3453b
More work on osx simulation engine
2012-04-03 09:16:28 -05:00
James Cotton
3c0b65fbf8
Implement a simulated watchdog to catch when the chip would have reboot
2012-04-03 09:16:28 -05:00
James Cotton
28cab678ce
Simulate a more complete QC model.
2012-04-03 09:16:28 -05:00
James Cotton
9d5dbe4bfe
Create stub for TCP connection of simulation
2012-04-03 09:16:28 -05:00
James Cotton
6aa1f1e344
Had some debugging outputs (logged to file) still enabled
2012-04-03 09:16:28 -05:00
James Cotton
f1aa3b658e
Add a new sensor simulation mode that essentially has a gyro rate that is rate
...
desired and the accel based on the current attitude.
2012-04-03 09:16:28 -05:00
James Cotton
ce54c4205d
Disable a print from the port that was causing rashes
2012-04-03 09:16:27 -05:00
James Cotton
6df2df6eec
Get rid of the mutex when enabling/disabling soft IRQs. This isn't ideal but
...
it seems to be triggering deadlocks.
2012-04-03 09:16:27 -05:00
James Cotton
6adc74f6f9
Check in the fake sensor data module
2012-04-03 09:16:27 -05:00
James Cotton
dee17f8fd4
Enable task run time monitoring in osx simulation
2012-04-03 09:16:27 -05:00
James Cotton
0e815540ff
Patch from Stac that processes module names without using sed. Also enable
...
diagnostic stuff for simulation.
2012-04-03 09:16:27 -05:00
James Cotton
2391385788
Remove the pauase in the idle task. Increases load but also stability.
2012-04-03 09:16:27 -05:00
James Cotton
e97c1bc016
Include the module include file before any uavo ones
2012-04-03 09:16:27 -05:00
James Cotton
dfa39b59bf
Rename the pios_config file for simulation
2012-04-03 09:16:26 -05:00
James Cotton
cb7b475d03
Remove the need ot have two ways of listing the modules for simulation
2012-04-03 09:16:26 -05:00
James Cotton
76bdd09795
Rename the pios_config file for simulation
2012-04-03 09:16:26 -05:00
James Cotton
e79a6e292b
Add watchdog flag for simulated sensor task
2012-04-03 09:16:26 -05:00
James Cotton
e0fbdaf9fe
Move the pios_board_posix file to something more general
2012-04-03 09:16:26 -05:00
James Cotton
c8a64ccbc7
Need to use slightly different code to generate the InitMods.c function for
...
simulation because of the Attitude/Revolution format.
2012-04-03 09:16:26 -05:00
James Cotton
1763d0c72c
Switch to conditional signaling. Seems more robust.
2012-04-03 09:16:26 -05:00
James Cotton
f0e84088c1
Simulated LED now flashing.
2012-04-03 09:16:26 -05:00
James Cotton
5589ca60db
Check in compilation files for OSX simulation. Update to work on revolution
...
tree.
2012-04-03 09:16:26 -05:00
James Cotton
ea5b733ac8
Fix the soft timing in pios_delay. Also disable LED printing messages.
2012-04-03 09:16:26 -05:00
James Cotton
dd5a71c48d
Add watchdog flag for simulated sensor task
2012-04-03 09:16:25 -05:00
James Cotton
ae2f1e95f6
Move the pios_board_posix file to something more general
2012-04-03 09:16:25 -05:00
James Cotton
5fd569829c
Need to use slightly different code to generate the InitMods.c function for
...
simulation because of the Attitude/Revolution format.
2012-04-03 09:16:25 -05:00
James Cotton
5901a07eb1
Switch to conditional signaling. Seems more robust.
2012-04-03 09:16:25 -05:00
James Cotton
99b81c7159
Simulated LED now flashing.
2012-04-03 09:16:25 -05:00
James Cotton
4e64b27034
Disable matlab simulation for now
2012-04-03 09:16:24 -05:00
James Cotton
cfd92de87a
Add explicit casts in manualcontrol to avoid compiler warnings/errors
2012-04-03 09:16:24 -05:00
James Cotton
7ba32f8735
Check in compilation files for OSX simulation. Update to work on revolution
...
tree.
2012-04-03 09:16:24 -05:00
James Cotton
5827e3f565
Add box around logo path
2012-04-03 03:42:37 -05:00
James Cotton
bfb0c6935e
Make pathplanner use callbacks on the waypoints and their index to pick up
...
changes from the GCS while flying
2012-04-03 03:42:37 -05:00
James Cotton
c26cceb47b
If the waypoint index is changed then update teh position desired. This should
...
probably be done with change callbacks because currently changing the waypoints
themselves doesn't update position desired.
2012-04-03 03:42:36 -05:00
James Cotton
6d1c36680f
Scale the max velocity as a magnitude on teh vector instead of independently on
...
each direction
2012-04-03 03:42:36 -05:00
James Cotton
5b3cc4876e
In simulations a higher GPS noise is required for the INS
2012-04-03 03:42:35 -05:00
James Cotton
32f76db8ae
Only update position desired when you change waypoints active
2012-04-03 03:42:35 -05:00
James Cotton
ba1ade33cb
Get navigation working and program hardcoded flight path
2012-04-03 03:42:34 -05:00
James Cotton
62117430cf
Flip the sign of throttle in the guidance altitude control
2012-04-03 03:42:34 -05:00
James Cotton
7f226867c6
Some bug fixes for revo attitude estimation.
2012-04-03 03:42:33 -05:00
James Cotton
d4488512c0
Add RTH waypoint action
2012-04-03 03:42:33 -05:00
James Cotton
3eac69e953
Create stub for waypoint navigation
2012-04-03 03:42:32 -05:00
James Cotton
c8ceea72e6
Increase the telemetry queue size from revolution
2012-04-03 03:42:32 -05:00
James Cotton
af9f36d7df
Improve the attitude initialization for all of the modes
2012-04-03 03:42:32 -05:00
James Cotton
3888d6ff69
Changed settings that makes updates smoother
2012-04-03 03:42:31 -05:00
James Cotton
319b53a342
Make sure full initialization routine for INSGPS occurs each time it is
...
restarted.
2012-04-03 03:42:31 -05:00
James Cotton
372f959c37
Refine some stack sizes
2012-04-03 03:42:30 -05:00
James Cotton
54880c83a0
Fix some task sizes and the memory limits
2012-04-03 03:42:30 -05:00
James Cotton
a83fb019f6
When in complimentary filter mode pass the GPS information straight
...
through to Position Actual
2012-04-03 03:42:29 -05:00
James Cotton
98b1a21921
Fixup: Shouldn't update gps until home location is set
2012-04-03 03:42:29 -05:00
James Cotton
7a3ec3e173
Some code cleanup to get rid of some warning messages
2012-04-03 03:42:29 -05:00
James Cotton
23625904c5
Remove the now unused ECEF and Rne fields from HomeLocation. Also reenable
...
calculation of the WMM and HomeLocation from the GPS code for revolution.
2012-04-03 03:42:28 -05:00
James Cotton
71d0180d45
Use the sensor variances from object
2012-04-03 03:42:28 -05:00
James Cotton
ce2d1f94f6
Better hardcoded constants for INS variances
2012-04-03 03:42:27 -05:00
James Cotton
de7fc81795
Fixes to the GPS LLA to NED translation
2012-04-03 03:42:27 -05:00
James Cotton
e32ab9342c
Shuffle some stack sizes around
2012-04-03 03:42:26 -05:00
James Cotton
4cadb7ec0e
Forgot to initialize revo settings object
2012-04-03 03:42:26 -05:00
James Cotton
337d5b7079
Enable guidance in revo. Update manual control to set the position desired
...
when the switch is flipped.
2012-04-03 03:42:25 -05:00
James Cotton
0eedaa1250
Change how we convert LLA to NED. Now it is done with a taylor expansion
...
around the home LLA coordinate to avoid the conversion into ECEF coordinates.
This has the benefit of not requiring double precision math and uses less
operations.
Now we should remove the Rne and ECEF fields from HomeLocation as they are
unused
2012-04-03 03:42:25 -05:00
James Cotton
e8cc7748af
Clean up some unused variables in attitude code
2012-04-03 03:42:24 -05:00
James Cotton
a9aa6b696b
Add object for setting the fusion algorithm
2012-04-03 03:42:24 -05:00
James Cotton
1911c7360d
New NEDPosition object which is the transformed GPS location
2012-04-03 03:42:24 -05:00
James Cotton
e3c36ac99a
Change requires for GSP updated to be set to true (wrong sign on PDOP check)
2012-04-03 03:42:23 -05:00
James Cotton
1630267324
Some small updates to 16 state INS
2012-04-03 03:42:23 -05:00
James Cotton
9e4651ab80
INS working on Revo
2012-04-03 03:42:22 -05:00
James Cotton
7e36d086de
More work on INS algorithm to force constants to single
2012-04-03 03:42:22 -05:00
James Cotton
137429d92d
More work for the simulation
2012-04-03 03:42:22 -05:00
James Cotton
96edea9d4b
Some fixes to GPS parsing
2012-04-03 03:42:21 -05:00
James Cotton
55ee568fe2
Work on the INS algorithm
2012-04-03 03:42:21 -05:00
James Cotton
7034a45e44
Force more calculations to explicitly being float
2012-04-03 03:42:20 -05:00
James Cotton
8c8224c122
Use a bigger event queue for overo logging to avoid event system warnings, and
...
add code to shortcircuit formatting a packet if it will not fit.
2012-04-03 03:42:19 -05:00
James Cotton
e82323af32
Make revolution work with the FreeRTOS queue based MPU6000 driver
2012-04-03 03:41:52 -05:00
James Cotton
bb41bc1472
Add no for DIAG_TASKS to make file to make it easier not to miss.
2012-04-03 02:07:04 -05:00
James Cotton
d7cb232315
Add MPU6000 accel range to config structure. Also put in correct values.
2012-04-03 02:07:04 -05:00
James Cotton
3346e848e0
Attitude error timeout was 2 ms when sensors at 500 Hz. Caused lots of errors
...
and overwhelmed event system.
2012-04-03 02:07:04 -05:00
James Cotton
3f22ef8c66
Slow MPU6000 on CC3D to 500 Hz
2012-04-03 02:07:04 -05:00
James Cotton
35854b35f6
MPU6000 accel value coming out twice as high as it should. Need to store scale
...
in cfg structure to fix this properly.
2012-04-03 02:07:04 -05:00
James Cotton
8032130769
Slow down gyro a bit on CC to give the CPU some breathing room. Might need to
...
come down more.
2012-04-03 02:07:03 -05:00
James Cotton
a960f3d07e
Switch the MPU6000 driver to using a FreeRTOS queue. Need to update Revo code
...
to take advantage of this.
2012-04-03 02:07:03 -05:00
James Cotton
1415728762
Get the MPU6000 CC3D working. Right now the ADC system is commented out, which
...
will break regular CC.
2012-04-03 02:07:03 -05:00
James Cotton
a0b7453580
Make the firmwareIAP variable not a global
2012-04-03 02:07:03 -05:00
Stacey Sheldon
9b33be5d65
ef: pad any gaps between the BL bank and the FW bank
...
The Entire Flash (EF) image for revo has a gap between
the end of the BL bank and the start of the FW bank.
This fills the gap with 0xFF and properly aligns the
FW image in flash.
2012-04-01 22:39:27 -04:00
Brian Webb
df0a1c2ac1
Upgraded Brian-Metadata-Mods to current next.
2012-04-01 12:25:13 -07:00
Brian Webb
496a323b7f
Fixed indentaion.
2012-03-31 07:59:44 -07:00
Stacey Sheldon
eab923fee0
revo: move fw image into 128KB sectors
...
This saves the more versatile 16KB and 64KB sectors
for other purposes.
2012-03-28 21:52:43 -04:00
Stacey Sheldon
f971fc14d5
openocd: update to latest git snapshot (f1c01333)
2012-03-27 00:53:27 -04:00
Stacey Sheldon
91cffb1809
f4 usb: don't skip yield from ISR
...
Function was returning prior to the code that might
need to yield from within the ISR.
2012-03-27 00:18:44 -04:00
Sambas
93ad5d2660
stuff
2012-03-26 19:23:16 +03:00
Corvus Corax
0742c88a98
enabled optional rtation of Revolution board
2012-03-26 05:25:52 +02:00
Corvus Corax
d32dd0ccd4
Fixed fmod() versus fmodf() usage in flight/...
2012-03-26 04:16:54 +02:00
Sambas
4c6ee740e2
Merge remote-tracking branch 'remotes/origin/james/revolution' into osd_test_v1
2012-03-25 14:28:25 +03:00
Brian Webb
1669f00456
Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2
2012-03-24 15:21:16 -07:00
Brian Webb
23f6c8af73
Merge remote-tracking branch 'origin/next' into Brian-PipXtreme-V2
2012-03-23 20:49:12 -07:00
Stacey Sheldon
730defb698
f4 flash: fix flash voltage range setting in bl_helper
...
F4 boards are powered by 3.3V which corresponds to
VoltageRange_3. Fix this to match actual VDD so we
get faster erase/write times.
2012-03-22 22:37:31 -04:00
James Cotton
8059004755
Make sure if an event has a null handle and the queue is full we don't try and
...
query UAVObjID
2012-03-22 10:46:30 -05:00
James Cotton
c7ff2a46c7
Merge remote-tracking branch 'origin/laurent/modelview' into revolution
...
Conflicts:
flight/CopterControl/Makefile
ground/openpilotgcs/src/plugins/config/config.pro
ground/openpilotgcs/src/plugins/config/configgadgetwidget.h
2012-03-22 02:58:24 -05:00
James Cotton
2f8049e20a
Update the bootloader hw version for the mpu6000 board and make the sensor code
...
and initialization respond appropriately. Enable hte L3GD20 and BMA180.
Let the board type determine which is used.
2012-03-22 00:41:37 -05:00
James Cotton
6350ec575e
Merge remote-tracking branch 'origin/os/features/stick-deadband-next' into next
...
Conflicts:
ground/openpilotgcs/src/plugins/config/configinputwidget.cpp
2012-03-21 16:03:40 -05:00
James Cotton
e7ca02c038
Initialize mag before mpu6000. Seems more reliable but I don't know why.
2012-03-21 03:42:15 -05:00
James Cotton
e4290d678b
Reenable the pressure sensor and other modules
2012-03-21 00:49:29 -05:00
James Cotton
720684c248
Flag to enable pressure/mag
2012-03-21 00:49:04 -05:00
James Cotton
a77a859e5c
Using some config switches to get this board up and running
2012-03-21 00:48:31 -05:00
James Cotton
6b88a278b3
Disable overosync by default. It was triggering event system warnings due to
...
the extra updates from altholdsmoothed. Increase queue size when reenabled.
Also AltHold is is trigger warnings because other tasks starve it during
startup.
2012-03-21 00:29:09 -05:00
James Cotton
f4663b98e4
When the event system or object manager has an error store the object ID in the
...
SystemStats.
2012-03-20 23:18:07 -05:00
Brian Webb
fc2d81cd8c
Added optional ADC initialization to PipXtreme (turned off).
2012-03-19 17:59:05 -07:00
Brian Webb
fdf853a2fe
Cleaned up the PipXtreme makefile.
2012-03-18 19:26:18 -07:00
Brian Webb
823b111d60
Added Reed-Solomon error correction to PipXtreme. The code is a slight modification of rsscode ( http://rscode.sourceforge.net ). Packet acking has also been turned on as the default, so each packet is error corrected, and if errors remain, the packet is NACKed, otherwise it is ACKed. Also temporarily turned off UAVTalk parsing. This was causing the CC to be identified as a PipX due to the PipX sending UAVObjects (I believe) from the system module. The system module is going to have to be modified/replaced for the PipX.
2012-03-18 17:43:29 -07:00
Brian Webb
aba3789d87
Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into Brian-Metadata-Mods
2012-03-18 13:28:11 -07:00
Brian Webb
346ae1bc6e
Removed crc from PipXtreme build.
2012-03-18 10:29:28 -07:00
Brian Webb
620e862022
Moved unused crc.c/h back to PipXtreme directory.
2012-03-18 10:26:47 -07:00
Brian Webb
ecdf150946
Moved RFM22B code from PipXtreme to pios_rfm22b.c driver. The radio is now passing data.
2012-03-18 10:22:05 -07:00
Sambas
13094abc1c
new splash screens and better handler for them
2012-03-16 18:00:16 +02:00
Brian Webb
41c68a6f6b
Updates to PipX configration.
2012-03-15 19:51:46 -07:00
Brian Webb
78b622a8d8
Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into PipXtreme
2012-03-15 19:31:18 -07:00
Brian Webb
b34b849453
Added start at a modified PipX packet handler.
2012-03-15 19:29:54 -07:00
James Cotton
a319a6b14c
Flags to disable mag/baro init
2012-03-14 22:35:09 -05:00
Sambas
ef7758505a
Mapping correct ports
2012-03-13 20:42:37 +02:00
Sambas
be6a4f2a1b
Merge remote-tracking branch 'remotes/origin/sambas/osd_test' into osd_test_v1
...
Conflicts:
flight/OSD/System/pios_board.c
flight/board_hw_defs/osd/board_hw_defs.c
2012-03-12 18:50:32 +02:00
Sambas
4afe0e7c92
usb interrupt fix
2012-03-12 18:26:23 +02:00
James Cotton
0d42303d37
Fix some compilation errors/warnings in attitude.c
2012-03-11 16:30:18 -05:00
James Cotton
c8d1534b87
Convert inline functions to static, let the compiler figure it out. Also some
...
formatting since code was probably written with tabstop = 2 :)
2012-03-11 13:18:08 -05:00
James Cotton
bbbca319d8
Merge commit 'c4df0c0ceff8ba985bb20d815f27910b9e59d992' into revolution
2012-03-11 13:14:06 -05:00
Alessio Morale
c4df0c0cef
Support for port remapping on serial ports
...
Support for receiver configuration (PPM, PWM and DSM)
There are still problems with Flexi port (not sure if related to a problem with my board) and Uart/SBUS that has the input always inverted.
2012-03-11 18:38:49 +01:00
Sambas
2ca27b0a27
USB and bootloader stuff, WORKS!!
2012-03-11 12:04:44 +02:00
Sambas
7c06c0ed93
Merge remote-tracking branch 'remotes/origin/sambas/osd_test' into osd_test_v1
...
Conflicts:
flight/Modules/Osd/osdgen/osdgen.c
flight/OSD/Makefile
flight/OSD/System/pios_board.c
flight/board_hw_defs/osd/board_hw_defs.c
make/boards/osd/board-info.mk
2012-03-11 11:58:06 +02:00
Sambas
cb442f0481
Merge remote-tracking branch 'remotes/origin/sambas/osd_test' into osd_test_v1
...
Conflicts:
flight/Modules/Osd/osdgen/osdgen.c
flight/OSD/Makefile
flight/PiOS/Common/pios_video.c
shared/uavobjectdefinition/osdsettings.xml
2012-03-11 11:39:29 +02:00
Sambas
addda5f29d
USB and bootloader stuff, WORKS!!
2012-03-11 11:31:02 +02:00
Sambas
742f3ff24d
Merge remote-tracking branch 'remotes/origin/james/revolution' into osd_test
...
Conflicts:
ground/openpilotgcs/src/plugins/scope/scopegadgetwidget.cpp
2012-03-11 09:39:51 +02:00
Sambas
ccf5c310c9
Updates
2012-03-11 09:27:38 +02:00
Stacey Sheldon
3782cdc58e
bu: drop CC and PipX from BU targets since they don't build
...
The CC and PipX bootloader updater (BU) builds don't currently
work due to some recent changes in how LEDs are handled.
Remove them from the default BU targets so that the all_flight
target can build clean again.
Also fix a linker warning in OP build.
2012-03-10 20:41:15 -05:00
Stacey Sheldon
6038bfcb40
revo servo: swap servo pins 3 and 4 definitions to match schematic
...
Note non-standard pin numbering on JP3 on the schematic.
2012-03-10 15:06:21 -05:00
James Cotton
820ca6a970
Initialize loop variable OUTSIDE loop so that baro is used still for altitude
...
hold.
2012-03-10 11:28:51 -06:00
James Cotton
f4705551b6
Update task info to cover the AltitudeHold module
2012-03-10 11:14:30 -06:00
Sambas
ee2b12b917
Updates
2012-03-10 09:40:37 +02:00
Dmitry Zaitsev
d45e88515b
firmware: disable Attitude module in simulation
...
this part should be rewritten to completely disable the polling of sensors.
i just do not know how to do it correctly.
2012-03-10 06:02:23 +04:00
James Cotton
690f1b5f29
Enable camera stabilization
2012-03-08 01:37:34 -06:00
Stacey Sheldon
3210bd3f9c
f4 usb_dcd: disable FIFO empty IRQ while waiting for tx completion
...
CPU was being hammered with FIFO empty IRQs if we queued data but
the host wasn't actively draining the FIFO.
This was entirely unexpected so this hack should probably be
removed once we can figure out why this was happening.
This is almost certainly hiding some other issue.
2012-03-07 20:36:37 -05:00
Stacey Sheldon
c4bd286739
f4 usb_hid: track whether we have buffers queued on endpoints
...
Make sure we don't clobber our endpoint configuration by
double configuring an Rx or Tx buffer against it. Wait for
the completion of the previous operation before allowing
endpoint configuration again.
2012-03-07 20:36:36 -05:00
Brian Webb
d73895de7d
Working PipX com relay.
2012-03-07 18:05:42 -07:00
Stacey Sheldon
65fc6104e6
f4 usb_hid: ignore upper layers if USB IF not yet enabled
...
Upper (COM) layer was calling down into the HID layer before
the HID interface had been enabled. This was leading to
interacting with the endpoint Rx and Tx FIFOs prior to init.
The FIFO config was then being clobbered when we the USB IF
was eventually enabled.
2012-03-07 20:01:35 -05:00
Stacey Sheldon
1f37806eab
f4 usb_hid: fix typo in EP IN registration call
...
Code was using the size of the Rx buffer instead of the Tx
buffer when registering. Buffers are currently the same
size so wasn't causing any issues.
2012-03-07 20:01:35 -05:00
Stacey Sheldon
bc3ee6209c
f4 usbhook: drop in/out bit from EP numbers before using as index
...
USBHOOK endpoint callback arrays should not be indexed with the
0x80 (in/out) bit set. Oops.
2012-03-07 20:01:35 -05:00
Stacey Sheldon
6832a62872
f4 bl_helper: clear all flash errors as we unlock the flash
...
Error flags being set were causing flash erase operations to
fail. Not sure why these flags were set though so this might
be hiding some other problem.
2012-03-07 19:53:18 -05:00
Stacey Sheldon
4ea1156e7b
f4 bl_helper: teach bl_helper about f4 flash sector map
2012-03-07 19:53:17 -05:00
Stacey Sheldon
d1d123e4f6
revo bl: turn on USB and add support for OP DFU protocol
2012-03-07 19:53:17 -05:00
Stacey Sheldon
b8fcbad297
revo bl: remove unneeded code from revo BL
...
Clean up BL source tree and makefile.
2012-03-07 19:53:17 -05:00
Stacey Sheldon
c854c3f4a4
usbhook: add support in API for deactivating USB
2012-03-07 19:53:17 -05:00
Stacey Sheldon
cb9c3a9b7e
usbhook: delete dead code
...
Remove old code left-over from porting from F1 to F4.
2012-03-07 19:53:17 -05:00
Stacey Sheldon
e2ab662b5d
sysclk: pass in correct definition for HSE_VALUE
...
The code in RCC_GetClocksFreq() uses HSE_VALUE to determine
the tick rate of the SYSCLK. This in turn is used by the
code in PIOS_DELAY_* to compute delays.
ST Library defaults this to 25MHz for the F4. Our board
actually has an 8MHz oscillator so delays were way off.
Mostly affects the bootloaders since most FW code uses RTOS
delays rather than busy-waiting using PIOS_DELAY_*.
2012-03-07 19:52:54 -05:00
Stacey Sheldon
fdf54ab86c
hid: fix response to HID descriptor
...
HID driver was incorrectly giving back the HID interface
descriptor when asked for the HID descriptor. This should
let OP boards interact better with generic HID layer drivers
and also gives us nicer output in lsusb once the HID descriptor
is read.
2012-03-07 19:52:54 -05:00
Brian Webb
444150269a
Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into PipXtreme
2012-03-05 18:22:08 -07:00
Sambas
91a9e45888
Updates, first UAVtalk client test
2012-03-05 19:53:52 +02:00
James Cotton
61d59828dc
Disable the new features if not revolution and set an error flag. Fixes
...
compilation errors.
2012-03-05 00:24:11 -06:00
Alessio Morale
637af911ef
Merge remote-tracking branch 'origin/james/revolution' into amorale/revolution
2012-03-04 12:31:13 +01:00
James Cotton
7961aba83c
Clean up a few more compiler warnings
...
Conflicts:
flight/PiOS/Common/pios_ms5611.c
2012-03-03 13:32:56 -06:00
James Cotton
91a226fc12
Sometimes the mag stops updating so kickstart it
2012-03-03 13:31:46 -06:00
James Cotton
bc8b72623e
Get rid of some unused variables
2012-03-03 11:54:09 -06:00
James Cotton
b3f620af7c
Merge remote-tracking branch 'revo/stac/openocd' into revolution
2012-03-03 11:52:09 -06:00
James Cotton
f20e5da9ed
Merge branch 'next' into revolution
...
Conflicts:
ground/openpilotgcs/src/plugins/config/config.pro
ground/openpilotgcs/src/plugins/config/configrevowidget.h
ground/openpilotgcs/src/plugins/scope/scopegadgetwidget.cpp
2012-03-03 11:41:41 -06:00
Stacey Sheldon
0684a42fac
build: use board-specific JTAG interface for openocd
...
Removes hard-coding of JTAG interface config in the
<board>_program make macros.
This allows the use of STLINKv2 for F4 boards while
continuing to use the FOSS JTAG revB on F1 boards.
2012-03-03 08:43:01 -05:00
Stacey Sheldon
d78c5d2a9a
openocd: reenable flash commands on f4 boards
2012-03-03 08:43:01 -05:00
Stacey Sheldon
c0c38609ec
openocd: move to newer openocd (dec6b913)
...
This update fixes flash writing on F4 chips
2012-03-03 08:43:01 -05:00
Alessio Morale
226cd09a13
Merge branch 'james/revolution' into amorale/revolution
2012-03-02 21:24:56 +01:00
James Cotton
e3df261213
Merge branch 'stac/revo-usb' into revolution
...
Conflicts:
flight/Revolution/System/pios_board.c
2012-03-02 13:00:13 -06:00
James Cotton
72a93dbae5
Fix from PT for OSX/Windows F4 USB HID to send the full report size even if not
...
all used.
2012-03-02 11:11:36 -06:00
Alessio Morale
e8880d7271
Removed duplicate InitClock for tim_4
2012-03-02 00:55:50 +01:00
Alessio Morale
691e8760bc
Updated OpenPilotOSX.xcodeproj to include Flight as a reference to the actual folder
2012-02-29 23:13:02 +01:00
Brian Webb
a0bdc58e5b
Added framework for rfm22b com device.
2012-02-28 21:30:06 -07:00
Sambas
8e31f84058
V1 beta
2012-02-28 20:32:44 +02:00
Brian Webb
992aa3bec6
Updated PipX branch to use CDC device with a VCP (not working yet).
2012-02-25 09:07:37 -07:00
Brian Webb
e2cb750dc6
First cut on RadioComBridge module, which is intended to pass data from either a USART or a USB port to the PipX radio link.
2012-02-25 07:37:05 -07:00
Brian Webb
01f314724b
Updates to USB configuration on the PipXtreme.
2012-02-24 15:54:26 -07:00
Brian Webb
483a96c31d
Some more cleanup to PipXtreme codebase.
2012-02-24 07:49:41 -07:00
Brian Webb
b69b285f58
Fixed PipXtreme bootloader.
2012-02-23 20:40:24 -07:00
Brian Webb
182f285e60
Added missing startup file for PipXtreme.
2012-02-23 20:06:34 -07:00
Brian Webb
cf34baec69
Some cleanup on PipXtreme codebase.
2012-02-23 19:58:23 -07:00
Oleg Semyonov
2271b95816
Merge remote branch 'origin/next' into os/features/stick-deadband-next
...
Conflicts:
ground/openpilotgcs/src/plugins/config/configinputwidget.cpp
ground/openpilotgcs/src/plugins/config/configtaskwidget.cpp
ground/openpilotgcs/src/plugins/config/configtaskwidget.h
2012-02-23 08:32:27 +02:00
Oleg Semyonov
e62cc8914c
Merge remote branch 'origin/next' into os/features/pid-tuning-from-transmitter-next
...
Conflicts:
flight/CopterControl/Makefile
ground/openpilotgcs/src/plugins/config/config.pro
ground/openpilotgcs/src/plugins/config/configtaskwidget.cpp
ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
shared/uavobjectdefinition/hwsettings.xml
2012-02-22 23:03:17 +02:00
Brian Webb
f0dfba6fc0
Re-baslined the PipX codebase using the experimental Transmitter codebase.
2012-02-21 20:29:06 -07:00
Oleg Semyonov
403e9cd220
TxPID module: add ILimit values to the list of settings
2012-02-21 19:57:10 +02:00
James Cotton
7b548eaa54
Fix bug in the integral for altitude hold where it was accumulating wrong variable.
2012-02-21 00:40:55 -06:00
Brian Webb
43f6458f86
Reduced the sizeof the UAVObject metadata by:
...
1) Combining all binary or mode values into a single byte
2) Adding accessor functions to read/write the flag bits
3) Reduced the size of the time values from 32 bits to 16 bits
2012-02-20 18:45:18 -07:00
James Cotton
900780e10c
Add bias estimation to the altitude fusion algorithm. Necessary to increase
...
the gains on acceleration and velocity feedback terms (they are a problem when
biased).
2012-02-19 11:38:09 -06:00
James Cotton
47fac7e31c
Move the throttle setting code for alt hold into the fast accel loop.
2012-02-18 18:16:15 -06:00
Sambas
ebd2ae7e59
Bootloader, copy from revo, not functional
2012-02-18 22:35:13 +02:00
Sambas
4dd91d08c2
Settings, home arrow tests & other updates
2012-02-18 12:38:50 +02:00
Oleg Semyonov
c721d001c0
Subtract deadband offset from then input to still have fine control
2012-02-18 10:21:51 +02:00
James Cotton
7d4582e5f0
Update the altitude KF to use the updated measurements appropriately and check
...
in the relevant matlab code to check it and genererate it. Produces quite
smooth traces.
2012-02-16 05:33:47 -06:00
Sambas
8f45114b1f
Fixes & cleanup
2012-02-15 21:14:02 +02:00
Sambas
0bc08a48d8
cleanup 'n' updates
2012-02-14 21:42:09 +02:00
James Cotton
c957172f8f
In the case of swapping in userspace due to the buffer being blocked during
...
ISR, make sure the latency is less than 50 us to avoid framesync errors. Still
seeing a few nonsense packets on Overo side but fairly few. Probably need to
add CRC to whole packet now and call it done.
2012-02-14 11:06:16 -06:00
James Cotton
1930d092eb
In the case where the overo scheduler cannot swap buffers (userspace loading
...
it) then set a flag so as soon as the buffer is loaded then we schedule it.
2012-02-14 11:00:29 -06:00
James Cotton
f04c58b0f4
Make the overo transaction occur based on the rising edge of the NSS line.
...
This fixes most of the frame sync problems. However, it's a bit hacky as
there is currently hardware information inside a module.
2012-02-14 10:37:30 -06:00
James Cotton
d018d93e88
Clean up previous commit a bit and make the sampling rate a variable (and adapt
...
the sampling time accordingly).
2012-02-13 01:49:54 -06:00
James Cotton
3acbfbe96c
Convert the pressure sensor code to most of the calculations as int64 to retain
...
precision.
2012-02-13 01:22:48 -06:00
Sambas
8cc876d02a
OSD branch
2012-02-12 22:29:42 +02:00
James Cotton
4717af1afd
Swap telemetry port and gps ports back
2012-02-12 13:55:52 -06:00
James Cotton
f23f53dc4e
Add settings for the altitude kalman filter settings and init the state when
...
first measurement arrives
2012-02-12 09:07:27 -06:00
James Cotton
34ca5777dd
Kalman filter for altitude
2012-02-11 21:08:19 -06:00
James Cotton
d8f0494e57
Merge branch 'revolution' into revolution_overo
2012-02-11 20:02:20 -06:00
Alessio Morale
22b211167c
Ported pios_iap.c to F4
...
restored failed boot count check on pios_board.c for revo
2012-02-11 13:49:32 +01:00
James Cotton
3026527801
Now the desired altitude is relative to when the switch was flipped so that the
...
baro altitude module can use a smoothed altitude estimate for the starting
point.
2012-02-08 23:02:29 -06:00
James Cotton
80d602ef7b
Switch order of some commands to make sure it loads the correct hover throttle
2012-02-08 20:47:10 -06:00
James Cotton
ab41bae071
Separately smooth the error estimate from the derivative
2012-02-08 11:15:33 -06:00
James Cotton
60c951843d
Use backtracking to limit integral in altitude hold and smooth the velocity
...
error. Initialize the throttle integral better.
2012-02-08 10:39:31 -06:00
James Cotton
c6b1d6b8df
Rework the altitude hold code a bit
2012-02-08 09:42:10 -06:00
James Cotton
49a03a868b
Merge branch 'altitudehold' into revolution_overo
...
Conflicts:
flight/OpenPilot/UAVObjects.inc
flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
flight/Revolution/Makefile
flight/Revolution/ins.c
2012-02-07 23:00:29 -06:00
James Cotton
6ec0f06c80
Back to 1024 byte packets
2012-02-07 13:02:11 -06:00
James Cotton
2c60447200
Switch back to 512 byte packets and fix bug when writing the header size that
...
was smashing the crc
2012-02-07 11:32:04 -06:00
James Cotton
221a0c5e53
Add the number of dropped updates to the overosync stats
2012-02-07 09:13:26 -06:00
James Cotton
a89d425b23
Reset the received rate for overo sync object
2012-02-07 09:01:58 -06:00
James Cotton
02bec750bd
In the attitude loop need to check all the queues even if unused or the event
...
system will have warnings
2012-02-07 08:46:34 -06:00
Stacey Sheldon
e2939dae2a
revo usb: Add support for USB to Revo
2012-02-07 02:25:31 -05:00
Stacey Sheldon
8b73ae7d16
remove trailing whitespace
2012-02-07 02:25:31 -05:00
Stacey Sheldon
b8c16fe7a5
hw defs: move misc defines and non-const data out of board_hw_defs.c
...
The board_hw_defs.c file should only contain static
const declarations that only describe the hardware.
All other non-const variables should be put into one
of the pios_board.c files.
2012-02-07 02:25:31 -05:00
Stacey Sheldon
3c1b1001f9
f4 usb: Allow USB descriptors to be const through ST APIs
2012-02-07 02:25:31 -05:00
Stacey Sheldon
56102013aa
f4 usb: correct function prototypes in bsp template
...
This file is not actually used but it should still be accurate.
2012-02-07 02:25:31 -05:00
Stacey Sheldon
57f9f6e3d1
f4 usb: configure and build ST USB OTG and USB DEV libraries
2012-02-07 02:25:31 -05:00
Stacey Sheldon
1e79ed6d54
f4 usb: fix invalid reference to stm32f4_discovery.h
2012-02-07 02:25:31 -05:00
Stacey Sheldon
04b81f13a7
f4 usb: fix invalid references to stm32f2xx.h
2012-02-07 02:25:31 -05:00
Stacey Sheldon
266b95561f
f4 usb: rename device template to real config file
2012-02-07 02:25:30 -05:00
Stacey Sheldon
a4ae844f2b
f4 usb: rename otg template to real config file
2012-02-07 02:25:30 -05:00
Stacey Sheldon
58bbe0870d
f4 usb: allow device->host data to be const
...
This allows the application code to pass const
descriptors to the Tx APIs in the STM32 USB
library.
2012-02-07 02:25:30 -05:00
Stacey Sheldon
4b911bb3be
f4 usb: remove unused device class examples
2012-02-07 02:25:30 -05:00
Stacey Sheldon
efbe8bbfdd
f4 usb: convert all line endings to LF-only
...
Line ending changes only. No functional changes.
2012-02-07 02:25:30 -05:00
Stacey Sheldon
6a43d1c7ed
f4 usb: Import pristine STM32F4 USB Library v1.1.0
...
Taken from version STM32F4-Discovery_FW_V1.1.0 of the
library from ST.
2012-02-07 02:25:30 -05:00
Stacey Sheldon
240425ff22
gdb: add config file for revo bl
2012-02-07 02:25:30 -05:00
Stacey Sheldon
1532338847
ef: fix dependencies in entire flash image build
...
ef_$(BOARD_NAME).bin files were not properly depending
on their fw and bl files resulting in the ef files not
being regenerated.
2012-02-07 02:25:30 -05:00
James Cotton
ae01936808
Add the portTickTime into the OveroSync stream
2012-02-06 10:00:02 -06:00
James Cotton
dbcb499d7f
Add object to monitor the overo link status. Current just records the bytes/s
...
being sent and the connected status (based on sending more than 500 bytes per
second)
2012-02-06 09:37:31 -06:00
James Cotton
5b2376dbee
Remove the semaphore for buffer swapping and make this occur during the receive
...
ISR. This leads to a possible condition where a copy is taking place in
userspace and then a buffer swap interrupts it. However, the copy should
always finish before the SPI DMA slave catches up to that place in memory at 10
MHz.
This fixes a common condition where the userspace task (low priority) was not
swapping buffers in time from user space and logs were corrupted.
2012-02-06 08:21:24 -06:00
James Cotton
179e66b754
Refactor how new packets are scheduled to avoid trying to start a transaction
...
from an ISR. This was causing lock ups. It's a bit higher latency probably
(trivially slow) but if we aren't keeping up with the Overo transactions then
using a proper DMA double buffer will be required.
2012-02-04 20:11:31 -06:00
James Cotton
665801662d
In cc3d update sensors add accelbias before scaling to allow more precision in
...
levelinIn cc3d update sensors add accelbias before scaling to allow more
precision in levelingg
2012-02-04 12:12:41 -06:00
James Cotton
4e190f99e2
Improved the revo overosync code to put multiple uavobjects into a packet
2012-02-04 12:06:03 -06:00
Stacey Sheldon
60a2af2e58
ef+dfu: Move EF image generation into separate makefile
...
A separate makefile for EF (Entire Flash) targets allows
the removal of board-specific hard-coded addresses. These
values can now be included from the board-info.mk files
for each board.
2012-02-04 12:03:42 -05:00
Brian Webb
3f66afd74a
Removed emacs mode header from pios_gcsrcvr.c
2012-02-04 08:42:16 -07:00
Stacey Sheldon
4fafbb13ed
makefile: Add EF (Entire Flash) targets for all boards
...
These new build targets will construct a flash image that
includes both a bootloader as well as a firmware image all
in one. Examples:
make ef_coptercontrol
make ef_revolution
This also adds support for a new target for writing this EF
image to boards that support a DFU interface (only F4-based
boards). This can be done by running:
make dfuutil_install
# Boot board with SBL asserted to activate STM32 DFU ROM
# Attach USB cable
make ef_revolution_dfu
Bootloader images are also now padded out to occupy the full
BL flash region.
2012-02-03 00:59:36 -05:00
Stacey Sheldon
ce544cf4ab
gdb: remove cortex_m3 remnants from revo gdb init file
2012-02-03 00:59:31 -05:00
Stacey Sheldon
99f5f20cb2
openocd: add support for stlink on stm32f4 targets
2012-02-03 00:51:31 -05:00
Brian Webb
a314604f9b
Added failsafe to GCS Receiver device.
2012-02-02 19:59:42 -07:00
James Cotton
18a64e261f
Going a bit overkill with this - deinit who SPI block between transactions.
2012-02-02 12:32:57 -06:00
James Cotton
c26154f303
Switch back to 256 byte packets and 0xFF pad the end
2012-02-02 11:40:49 -06:00
James Cotton
03cfb1453a
DeInit SPI DMA between transactions. Somehow if this doesn't happen the next
...
transaction doesn't start at the beginning again. Something is still not quite
right because first few bytes aren't getting across. Need logic analyzer.
2012-02-02 11:37:35 -06:00
James Cotton
77a6abb341
For PIOS_SPI F4 do not enable the TX irq. Also do not wait for the
...
transmission to finish either.
2012-02-02 11:24:14 -06:00
James Cotton
8b1137c6a0
Align the tx and rx SPI buffers from Overosync
2012-02-02 11:23:40 -06:00
James Cotton
0a71a48c57
Sending all FF finally again
2012-02-02 10:36:09 -06:00
James Cotton
80b839d145
The SPI3 TX DMA channel was wrong
2012-02-02 10:13:09 -06:00
James Cotton
29237f97ae
For SPI slave devices we need to handle the interrupt differently since
...
transactions should already be completed. Also reset the callback so in the
case of noise on the IRQ line it will not keep firing interrupts.
I suspect we should probably disable interrupts in this handler to prevent
refiring.
2012-02-02 10:13:09 -06:00
James Cotton
88b9f20cda
Fix nasty bug in the DMA stream configuration
2012-02-02 10:13:09 -06:00
James Cotton
95abb56d5e
Added module to send updates out the SPI port
2012-02-02 09:19:25 -06:00
James Cotton
e434ab94a9
Enable SPI port for revolution to overo communications
2012-02-02 01:42:38 -06:00
Alessio Morale
5449408763
Merge branch 'amorale/timerprescaler' into inoutch8
2012-02-01 00:23:53 +01:00
Alessio Morale
cb2dadd0ea
fix Motor 8 out not working
2012-02-01 00:20:50 +01:00
Alessio Morale
322ced44a1
Solve PWM Input 8 not working
2012-02-01 00:16:48 +01:00
Alessio Morale
820e8ac062
Handle different prescaler values for timers on APB1 and APB2.
...
The PIOS_MASTER_CLOCK has been removed in favor of
PIOS_SYSCLK (the master clock value,168000000 for revolution)
PIOS_PERIPHERAL_APB1_CLOCK and
PIOS_PERIPHERAL_APB2_CLOCK
Look at STM32F4xx_Revolution.h for the list of timer/peripheral and APB them belongs.
2012-01-28 20:04:55 +01:00
James Cotton
a778c45d6f
For L3GD20 sensor task run at the sensor speed
2012-01-28 10:11:30 -06:00
James Cotton
13447ac907
Fix the MPU6000 implementation
2012-01-28 00:21:58 -06:00
James Cotton
e07fca0465
Commit the revolution board_hw_defs.c file
2012-01-26 23:32:36 -06:00
James Cotton
b4435d0b35
For L3GD20 sensor task on revo update gyro once per physical sample
2012-01-26 23:29:12 -06:00
James Cotton
f311700804
Flashfs: Whenever failing out of a transaction unlock the semaphore
2012-01-26 14:14:50 -06:00
James Cotton
85bfa7dcf9
Flashfs: Missed calculation of the header crc for monolitihic write
2012-01-26 13:32:53 -06:00
James Cotton
84dd1dbc40
A bit more lenient settings for CC sensor timings
2012-01-26 13:00:06 -06:00
James Cotton
ad3d470f40
Flashfs and Flash: Add new function to write a series of blocks in one flash
...
write transaction to improve efficieny.
2012-01-26 12:39:35 -06:00
James Cotton
80705cdba1
Flash: Because on CC/CC3D the flash is initialized before FreeRTOS is started
...
we cannot use the transaction lock or the delay while saving.
2012-01-26 11:50:05 -06:00
James Cotton
4fc907ad0d
Add a transaction semaphore to flash and flashfs to make sure multiple saves
...
or loads can't be attempted between threads
2012-01-26 11:36:07 -06:00
James Cotton
8b15fdd88b
Flash: Add a vTaskDelay when waiting for flash operations to complete to
...
prevent blocking the bus from accels
2012-01-26 11:26:19 -06:00
James Cotton
7f38d113eb
Delete more old target stuff
2012-01-26 11:21:34 -06:00
James Cotton
e69a0937bc
Flash: Wrote status instead of read it
2012-01-26 11:17:00 -06:00
James Cotton
69dc5abf0c
Flash: Get rid of some defines and directly reference the cfg structure
2012-01-26 10:56:26 -06:00
James Cotton
6d572986e5
Flashfs: Clean up some of the JEDEC commands and also format whole chip when FS
...
is wrong.
2012-01-26 10:04:49 -06:00
James Cotton
fe7b9a909a
LED: Update the LEDs on revo
2012-01-26 09:11:27 -06:00
James Cotton
7eab883d5c
Fix some small revolution typos
2012-01-25 22:50:19 -06:00
James Cotton
20670d049b
Update pios_led for F4 targets to match the new F1 implementation. Also fix
...
type for F1 in GPIO labels.
2012-01-25 22:50:19 -06:00
James Cotton
727f0befc5
Make the gyro go a bit more regularly to stabilization but needs updating
...
regular CC
2012-01-25 22:50:19 -06:00
James Cotton
e4df3202e0
L3GD20: Update sensor task for revo to use the new queue
2012-01-25 22:50:19 -06:00
James Cotton
205aabe895
L3GD20: Make this sensor push data onto a FreeRTOS queue so that the sensor
...
reading task can block according. Also now the gyro data is sent to
stabilization multiple times per update of the attitude loop.
2012-01-25 01:20:07 -06:00
James Cotton
0da20bb846
Flash: Because most of the commands are a JEDEC standard rename this file
...
pios_flash_jedec and abstract out the methods that can vary between chips.
2012-01-25 00:23:24 -06:00
James Cotton
a02cad6f52
Flashfs: Separate out the sector sizes and magic values into a runtime
...
configurable structure. This makes it easier to deal with different chip
layouts.
2012-01-24 23:56:59 -06:00
James Cotton
1971ba30dc
No longer hardcode baudrate
2012-01-24 23:42:43 -06:00
James Cotton
5ad37e691c
USB: Update the USB configuration structure to include the GPIO that is used
...
for sensing and then load different config for CC and CC3D. Updated the
bootloader as well. Also changed the PIOS_USB_CheckAvailability function to
only return the sense signal and not the transfer_possible flag as this is not
set in time for the bootloader on CC3D for some reason.
2012-01-24 22:15:43 -06:00
James Cotton
bc3703ce33
Need more irq stack for CC3D
2012-01-24 19:48:52 -06:00
James Cotton
104c091590
Correct the range constants for the L3GD20 driver
2012-01-24 19:48:14 -06:00
James Cotton
a25d52785b
Change the bus speed for the L3GD20 to 10MHz and some small cleanups
2012-01-24 19:17:49 -06:00
James Cotton
3880b0ddc3
CC3D and CC use different CS lines for the flash chip. Add a second cfg
...
structure for each SPI interface.
2012-01-24 16:21:48 -06:00
James Cotton
587ec5a615
Revert earlier patch on filesystem for Revolution. Need to make erase command
...
and positioning of filesystem dependent on board type.
Reverted 99123372d0
2012-01-24 16:14:41 -06:00
James Cotton
b6c056fef2
Use the updated L3GD20 format and make attitude.c use the gyro data from the
...
fifo
2012-01-24 15:52:17 -06:00
James Cotton
c9263cb8c0
L3GD20: Dynamically allocate buffer structure when used
2012-01-24 15:51:38 -06:00
James Cotton
5efbfb02fa
Make the BMA180 sensor system acquire from the queue. Correct the orientation
...
and speed it up to 10 MHz communications.
2012-01-24 15:09:20 -06:00
James Cotton
8c208412c9
Give the BMA180 a dynamically allocated device structure and also make it
...
properly bind to a SPI and slave number. Temporarily reducing spi bus to
slowest possible speed.
2012-01-24 14:38:00 -06:00
James Cotton
aec7dd0b00
Initialize the LEDs early in the bootup process
2012-01-24 14:37:04 -06:00
James Cotton
8e79bc2ee2
Temporarily refactor attitude to directly read the sensors instead of pull from
...
their queues until the interrupts are working properly
2012-01-24 11:54:23 -06:00
James Cotton
e9552065a9
Reenable the CC3D sensors
2012-01-24 11:03:33 -06:00
James Cotton
466992a907
Migrate some of the CC board settings to the new board_hw_defs
2012-01-24 10:58:40 -06:00
James Cotton
c242ab8b86
Merge branch 'next' into revolution3
...
Conflicts:
flight/AHRS/ahrs.c
flight/AHRS/pios_board.c
flight/Bootloaders/Revolution/Makefile
flight/CopterControl/System/pios_board.c
flight/INS/pios_board.c
flight/OpenPilot/Makefile
flight/OpenPilot/System/openpilot.c
flight/OpenPilot/System/pios_board.c
flight/PiOS/Boards/STM32103CB_CC_Rev1.h
flight/PiOS/Boards/STM32F4xx_Revolution.h
flight/Revolution/Makefile
flight/Revolution/System/inc/pios_config.h
flight/Revolution/test.c
2012-01-24 10:46:35 -06:00
James Cotton
f029567e66
Remove meaningless settings from CC config file
2012-01-24 10:39:35 -06:00
James Cotton
66293a9788
Merge remote-tracking branch 'origin/stac/led-boottime-config' into next
2012-01-24 10:38:33 -06:00
James Cotton
7c22215e0b
Patch from Sambas to fix F4 on windows
2012-01-24 10:33:07 -06:00
James Cotton
486cdb5dbb
Got CC running again although with altitude and bmp085 disabled as well as the
...
CC3D drivers.
2012-01-24 10:32:42 -06:00
James Cotton
be50c00b7c
Make sure BMA180/L3GD20 can be disabled
2012-01-24 09:23:13 -06:00
James Cotton
4d3af7afbf
Add ID test to ADXL345
2012-01-24 09:23:12 -06:00
James Cotton
946c6a7f1d
Fix small bugs in pios_board.c relating to adxl345 spi configuration
2012-01-24 09:23:12 -06:00
James Cotton
728c05f973
Crude implementation of sensor reading for CC3D
2012-01-24 09:23:12 -06:00
James Cotton
0cb6b13d33
Add BMA180 to CopterControl 3D. Had to reduce the stack space by 256 bytes.
...
Some can be reclaimed by making the BMA180 allocate its fifo dynamically but
I'll do that later when it uses FreeRTOS queues for the FIFO.
2012-01-24 09:23:12 -06:00
James Cotton
11471ff68b
Update drivers for CC to the new EXTI system and SPI calls
2012-01-24 09:23:12 -06:00
James Cotton
a20d654744
Update the attitude algorithm for CC to use the Gyros and Accels UAVObjects
...
instead of AttitudeRaw
2012-01-24 09:23:12 -06:00
James Cotton
4cf82815ce
Get the right pios_iap.c from next
2012-01-24 09:23:07 -06:00
James Cotton
aaf1c5dfdd
Update the F1 SPI library to support multiple NSS lines
2012-01-23 23:27:02 -06:00
James Cotton
5fd458426a
Merge branch 'cc3d' into revolution3
...
Conflicts:
flight/PiOS/inc/pios_l3gd20.h
flight/PiOS/pios.h
flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
2012-01-23 22:09:45 -06:00
Stacey Sheldon
5907022b6d
Merge remote-tracking branch 'origin/stac/ld-2.22-fix' into next
2012-01-23 23:05:52 -05:00
James Cotton
bcb49cbd33
Merge branch 'next' into cc3d
...
Conflicts:
flight/PiOS/STM32F10x/pios_exti.c
2012-01-23 17:09:47 -06:00
James Cotton
2524662475
Copy the BMP085 back from next
2012-01-23 16:58:07 -06:00
James Cotton
b01d5c6b87
Include the drivers from the common directory
2012-01-23 16:58:07 -06:00
James Cotton
886d5456ac
Update pios_exti for F4
2012-01-23 16:55:54 -06:00
James Cotton
9a12299074
Update the driver cfg structures for the EXTI changes. Make the drivers call
...
the pios_exti_init instead of their individual implementations.
2012-01-23 16:55:52 -06:00
James Cotton
b2a292e9c4
Move all the drivers to the PiOS/Common directory to prepare for refactoring
...
the EXTI calls they make to the portable version
2012-01-23 10:11:46 -06:00
James Cotton
c84240e485
Merge branch 'next' into revolution3
...
Conflicts:
flight/PiOS/STM32F10x/pios_bmp085.c
flight/PiOS/STM32F10x/pios_exti.c
2012-01-23 06:51:30 -06:00
James Cotton
21ae37b3de
Remove BMP085 driver from F4 target
2012-01-23 06:44:25 -06:00
James Cotton
d864b481a1
Fix a few more merge conflicts
2012-01-23 04:47:35 -06:00
Stacey Sheldon
bfe6676eed
exti: rewrite exti layer to improve portability
...
The exti layer now allows drivers to register interrupt callbacks
during board initialization. All details of the driver using a
particular EXTI pin have been removed from the EXTI layer so it
can now be used on any board without board-specific modification.
This includes some nice refinements provided by Mike Smith during
initial review. His original commits have been squashed into this
one.
2012-01-22 23:23:41 -05:00
Stacey Sheldon
dc4aa07a32
board_hw_defs: factor out board-specific hw config definitions
...
Board specific HW configuration is now collected in a single .c
file for each board. This HW configuration is #include'd into
the FW, BL and BU builds for each board.
These new .c files are found in:
flight/board_hw_defs/<board_name>/board_hw_defs.c
Parts of this information were previously duplicated between
the BL and FW builds. This commit cleans up the duplication.
Using a #include on a .c file is a bit ugly but it allows us
to ensure that all of the symbols in the board_hw_defs.c file
are *ONLY* used in the PIOS_Board_Init() function for each
software build.
2012-01-22 19:41:41 -05:00
Stacey Sheldon
6bb4f0c61d
leds: use boot-time config for PiOS LED layer
...
LEDs are now configured based on a board-specific initialization
in PIOS_BOARD_Init().
LEDs are now named:
PIOS_LED_HEARTBEAT
PIOS_LED_ALARM
2012-01-22 18:22:59 -05:00
Stacey Sheldon
3cbf4499e1
ld: make sure current pointer never goes backwards
...
Fixes linking on ld version 2.22.
2012-01-21 21:18:06 -05:00
James Cotton
cc0cbf0381
Enable IAP code on revolution now
2012-01-21 13:22:39 -06:00
James Cotton
fe44a3d37a
Reference correct taskmonitor file compiled in to revolution
2012-01-21 13:22:17 -06:00
James Cotton
e505de7ba0
Remove redundant remap field from merge
2012-01-21 13:22:00 -06:00
James Cotton
838370b3a4
Fix calls to backup registers on F4
2012-01-21 13:21:37 -06:00
James Cotton
bb0bfe0ae4
Merge branch 'next' into revolution3
...
Conflicts:
flight/Bootloaders/CopterControl/Makefile
flight/Bootloaders/PipXtreme/Makefile
flight/Bootloaders/Revolution/inc/pios_config.h
flight/CopterControl/Makefile
flight/INS/inc/pios_config.h
flight/Libraries/taskmonitor.c
flight/Modules/Altitude/altitude.c
flight/Modules/Attitude/attitude.c
flight/OpenPilot/Makefile
flight/OpenPilot/Makefile.posix
flight/OpenPilot/System/inc/pios_usb_board_data.h
flight/OpenPilot/System/inc/taskmonitor.h
flight/OpenPilot/System/pios_board.c
flight/OpenPilot/System/taskmonitor.c
flight/PiOS/Boards/STM32F4xx_Revolution.h
flight/PiOS/STM32F4xx/pios_bmp085.c
flight/PiOS/STM32F4xx/pios_iap.c
flight/PiOS/pios.h
flight/Revolution/System/inc/pios_config.h
flight/Revolution/System/inc/taskmonitor.h
flight/Revolution/System/taskmonitor.c
ground/openpilotgcs/src/plugins/serialconnection/serialplugin.cpp
shared/uavobjectdefinition/systemalarms.xml
shared/uavobjectdefinition/taskinfo.xml
2012-01-21 11:27:03 -06:00
James Cotton
f8e59443b8
If the BMA180 isn't read when an IRQ fires (because the flash chip has claimed
...
the bus) then it won't fire another interrupt until read. For now this is
dealt with in the sensor loop by forcing a read when the fifo is empty.
2012-01-21 10:13:46 -06:00
James Cotton
f6db859e4f
Fix bug in flash driver where it could assert CS line after failing to claim
...
the bus. Also added a "claimed" flag to the device structure.
2012-01-21 09:57:12 -06:00
James Cotton
5dbbfec8a9
Make the BMA180 driver use the appropriate claim method from the ISR. Also
...
slow down this bus to 10 MHz.
2012-01-21 09:57:02 -06:00
James Cotton
ff0bd87f4e
PIOS SPI: Add a second claim bus method for use in ISR. This has no timeout
...
and uses an ISR safe queue claiming method. This avoids deadlocks when ISR
blocks other tasks from freeing the bus.
2012-01-21 09:07:06 -06:00
James Cotton
ec903449cd
Remove line that bypassed the BMA180 startup test
2012-01-21 08:46:32 -06:00
James Cotton
6d72678086
Add timeout in the sensor task for reading sensors to stop the watchdog firing.
...
All sensors should later be converted to use FreeRTOS queues.
2012-01-21 08:32:41 -06:00
James Cotton
476cb4d9c2
Unfortunately for now hardcoding new LED configuration. Need to generalize LED
...
out to a proper run-time configuration. This unfortunately breaks a general
firmware for now.
2012-01-20 15:45:51 -06:00
James Cotton
8935614a3f
Switch the gyro driver loaded based on the board revision flag from the
...
bootloader
2012-01-20 14:52:05 -06:00
James Cotton
a252ee134a
Fix the l3gd20 initialization in pios_board.c and also change the (ugly)
...
hardcoded exti system to use line3 on F1xx for L3GD20
2012-01-20 14:39:05 -06:00
James Cotton
c76e9f2d7a
Updates to the l3gd20 driver for stm32f1xx. Need to eventually merge these
...
drivers with F4 drivers.
2012-01-20 14:36:16 -06:00
James Cotton
4f28c8d48e
Change the init structures to be const in the std periph library for exti
2012-01-20 14:35:27 -06:00
James Cotton
a5d006d1a9
Set up the SPI interface to the l3gd20
2012-01-20 14:20:37 -06:00
James Cotton
8f535bd28c
Import of l3gd20 driver from revo branch
2012-01-20 13:42:58 -06:00
James Cotton
7f284596f2
Attempting to get flash and BMA180 to coexist
2012-01-20 13:33:21 -06:00
James Cotton
1e8811362e
On revolution attach the flash chip to the accel bus now. Also extended the
...
flash chip driver to take in the slave number during initialization so this is
no longer a hardcoded option.
2012-01-20 07:37:47 -06:00
Stacey Sheldon
64202ce092
Merge remote-tracking branch 'origin/stac/i2c_decoupling' into next
2012-01-17 22:35:36 -05:00
Stacey Sheldon
ad141c908a
Merge remote-tracking branch 'origin/stac/usb-composite-device-v2' into next
2012-01-17 22:26:38 -05:00
James Cotton
1b5e776dc5
Hardcoded scale for now since it isn't picking up from the cfg structure.
2012-01-17 19:53:20 -06:00
James Cotton
ce2d0fcbb1
L3GD20 data now running through IRQ -> FIFO
2012-01-17 19:36:32 -06:00
James Cotton
35025303cd
Getting data from gyro.
2012-01-17 19:29:38 -06:00
Stacey Sheldon
bffb184b7a
usb: add standard boilerplate to new files
2012-01-16 21:32:52 -05:00
Stacey Sheldon
ee0895aa77
usb hid: remove stale files from pipx
...
These files are no longer relevent for USB configuration.
2012-01-16 21:31:07 -05:00
Stacey Sheldon
3bda0f450d
bootfault: force fault when no telemetry available on OP too
...
If no telemetry link is configured, this will force the board
to reset before finishing init. The BootFault logic will
catch this after 3 resets and will boot with default hwsettings
on the next reset.
This won't currently ever fire on OP though since we always
configure the serial telemetry interface. This just makes sure
the pattern is present in case anyone decides to compile without
serial telemetry.
2012-01-15 23:04:31 -05:00
Stacey Sheldon
8cd4816d7b
taskmonitor: move taskmonitor into flight/Libraries
...
taskmonitor.[ch] existed as (nearly) identical copies under
CC and OP directories. Both builds now reference the common
version under Libraries.
2012-01-15 21:37:10 -05:00
Stacey Sheldon
387ea77d30
diagnostics: enable DIAG_TASKS on OP board by default
2012-01-15 18:16:50 -05:00
Stacey Sheldon
b05697c2cf
taskinfo: ensure usage of TaskInfo uavo is covered by DIAG_TASKS
...
OpenPilot platform (and thus sim too) was missed when the
DIAG_TASKS macro was broken out from the DIAGNOSTICS macro.
This allowed accesses to the TaskInfo UAVO even though it hadn't
been initialized.
2012-01-15 18:16:50 -05:00
Stacey Sheldon
0575b45378
usb: make USB usage depend on PiOS config
...
USB is not supported on sim platforms. Let PiOS
config determine when we use it.
2012-01-15 18:16:49 -05:00
Stacey Sheldon
c97b108a1f
bootfault: make IAP usage depend on PiOS config
...
The sim platforms don't support an IAP mechanism. Let
PiOS config control when we try to use it.
2012-01-15 18:16:49 -05:00
Oleg Semyonov
912bea559f
Add stick deadband option for Roll/Pitch/Yaw inputs to firmware
2012-01-15 21:13:22 +02:00
Stacey Sheldon
27ceb7ea92
modules: Allow optional modules to be used as built-in
...
Some modules are written such that they can be included
or excluded at runtime. These are added to the OPTMODULES
list in the makefile for a given board.
This change provides a mechanism to allow a build to force
a given module to be built-in (ie. always initialized)
regardless of the configuration in hwsettings.
The main use case for this is to handle a module being optional
on one platform but essential on another.
All modules added to the MODULES list in the Makefile will
automatically result in a matching #define in the form
MODULE_TheModuleName_BUILTIN
being defined in the CFLAGS for all compiled source.
Note that the capitalization of TheModuleName must match
exactly the capitalization used in the MODULES list.
2012-01-14 16:55:55 -05:00
Stacey Sheldon
53e9ef06b4
altitude: add optional altitude module
2012-01-14 15:38:56 -05:00
Stacey Sheldon
717c1311e6
altitude: allow altitude to be an optional module
2012-01-14 15:38:56 -05:00
Stacey Sheldon
bae08fcad0
bmp085: decouple i2c adapter
...
Let the bmp085 be attached to different adapters for different
boards.
2012-01-14 15:38:56 -05:00
Stacey Sheldon
4cb0c41338
bmp085: only use eoc and drdy gpios when available
...
When the bmp085 chip is on an external board, we don't
have access to the eoc and drdy gpio lines. Only use
them when available.
2012-01-14 15:38:56 -05:00
Stacey Sheldon
a0089f072a
i2c: rename main adapter to flexi adapter on CC
2012-01-14 15:38:56 -05:00
Stacey Sheldon
feacec468d
i2c: compile-time decoupling of i2c devices from adapters
...
This allows each device to be moved (at compile time) to a
different adapter. This is the first step to allowing devices
to be attached to different i2c adapters.
2012-01-14 15:38:56 -05:00
Stacey Sheldon
ec6d550225
i2c: allow i2c adapters to remap pin functions
...
Allows us to support more complex pin configurations
for i2c.
2012-01-14 15:38:55 -05:00
Stacey Sheldon
a51bf72bc7
usb: allow runtime selection of USB descriptors via hwsettings
2012-01-14 14:28:15 -05:00
Stacey Sheldon
1d14ab00e1
safeboot: add safe boot support to OP and PIPX bootloaders
...
Application support for OP and PIPX will show up in future
commits.
2012-01-14 14:28:11 -05:00
Stacey Sheldon
2d27c54d48
com_msg: Create new message based COM layer for bootloaders
...
The main purpose of this new COM implementation is that it is
much simpler, and requires less code space. This takes a bit
of the pressure off of the CC bootloader which was right at
the limit of available code space in the bootloader partition.
This is not intended to ever be used by the application.
This driver also formalizes the assumptions in the bootloader's
usage of the COM layer. All messages are assumed to arrive
in atomic chunks from the HID layer.
2012-01-14 14:23:18 -05:00
James Cotton
147cd7eede
Fix correct library.mk file
2012-01-08 09:27:32 +01:00
James Cotton
8b42fbeafc
Revert "Fix case in library.mk to stop Brian bitching :)"
...
This reverts commit d39e818ca6
.
2012-01-08 09:27:13 +01:00
James Cotton
d39e818ca6
Fix case in library.mk to stop Brian bitching :)
2012-01-08 09:10:56 +01:00
James Cotton
ebbe1bd497
Some beginning work on the l3gd20 driver
2012-01-08 09:07:07 +01:00
Stacey Sheldon
b0d1551cc2
Merge remote-tracking branch 'origin/stac/usb-composite-device-v2' into next
2012-01-07 13:35:42 -05:00
Stacey Sheldon
a86abcd140
usb cdc: fix index of first interface in IAD
...
This error resulted in the HID interface being non
functional on windows platforms.
2012-01-07 09:46:12 -05:00
James Cotton
cc47520baa
Checking ID on ST gyro works
2012-01-04 23:23:42 -06:00
James Cotton
0fbcf7723d
Code to disable all gyros. All modules now running.
2012-01-04 22:37:15 -06:00
James Cotton
5ee9c8008e
Temporarily swap serial ports while debugging
2012-01-04 22:19:13 -06:00
James Cotton
0cc18e7dcf
Add files for new L3DG20 sensor
2012-01-04 20:33:54 -06:00
James Cotton
e1c21462b0
Delete another unused file
2012-01-04 19:47:06 -06:00
James Cotton
d5eb38a065
Remove references to deprecated targets
2012-01-04 19:42:45 -06:00
James Cotton
cce351bb9a
Delete references to unused objects
2012-01-04 19:37:38 -06:00
James Cotton
0da6109871
Update the F4 copyright headers to 2012
2012-01-04 19:29:29 -06:00
Stacey Sheldon
3bc45b0036
usb cdc: use proper macro for CDC mgmt endpoint packet size
...
The hard-coded value (16) in the descriptor differed from the
macro (32) which was used to configure the low-level USB HW
block in the STM32.
2012-01-04 00:38:19 -05:00
James Cotton
d2ce7761c5
Add derivative term
2012-01-03 12:37:18 -06:00
Stacey Sheldon
025ed0f43c
Merge remote-tracking branch 'origin/stac/usb-composite-device-v2' into next
...
Conflicts:
HISTORY.txt
2012-01-03 00:02:45 -05:00
Stacey Sheldon
e22bc0c51b
copyright: remove incorrect attribution in boilerplate text
...
These files do not contain content from the ID in the header.
This name seems to have been cut/pasted all over throughout
the openpilot source tree and should be removed from any files
that should not rightfully be attributed to this person.
2012-01-02 23:33:07 -05:00
Stacey Sheldon
8d8715c8c1
copyright: add/correct GPL + copyright boilerplate
...
I missed some of the boilerplate text on some of the
new files I've added recently. Fixed.
2012-01-02 23:28:53 -05:00
Stacey Sheldon
4d2760f11d
cc bl: allow bootloader to force safe-boot into firmware
...
This can be used by the GCS firmware uploader widget to boot
the firmware with a (temporarily) defaulted hwsettings uavo
so that a user can easily recover from a bad/incompatible
hwsettings configuration without wiping all settings.
This uses the same mechanism that the BootFault auto-recovery
code already uses in the CC firmware. The auto-recovery is
triggered by setting the failed-boot counter to a maximum
value forcing recovery on the next FW init.
2012-01-02 14:27:06 -05:00
Stacey Sheldon
481a13609e
com: remove all references to PIOS_COM_ReceiveBufferUsed()
...
The PIOS_COM_ReceiveBufferUsed() function call is no longer
necessary since the same semantics can be achieved using calls
to PIOS_COM_ReceiveBuffer().
2012-01-02 14:27:06 -05:00
Stacey Sheldon
b94f4b49a4
usb: major refactoring of USB descriptors, CDC and HID
...
Summary of changes:
* USB CDC and HID drivers are completely split apart.
* This will allow different max buffer sizes for HID and CDC.
* USB descriptors have been overhauled:
* Proper structs/macros/enums declared for USB (see pios_usb_defs.h)
* Two common descriptor definitions. One for HID+CDC another for HID only.
See pios_usb_desc_{hid_cdc,hid_only}.c for details.
* Long standing bugs in OP USB descriptors became much more obvious with the
new struct definitions.
* Board specific USB initialization is now in pios_usb_board_data.h in each build target.
* Definition of USB descriptors is now entirely indpendent of STM32 libs.
Glue into STM32 libs is provided by pios_usbhook.c.
* Removed a lot of stale/irrelevant USB #defines throughout the tree.
* Improved naming consistency throughout USB code:
* PIOS_USB_HID_* now refers to the HID endpoint code.
* PIOS_USB_CDC_* now refers to the CDC endpoint code.
* PIOS_USB_* now refers to the low-level USB code.
* PIOS_USB_BOARD_* now refers to board-specific USB data
* PIOS_USBHOOK_* is glue between PIOS and STM32 USB libs.
* struct usb_* and enum usb_* and USB_* and HID_* are all types from the USB spec.
* Shrunk the buffer size on the CDC call mgmt endpoint to save some RAM.
* Made a few more USB related variables static to save some RAM.
2012-01-02 14:27:06 -05:00
Stacey Sheldon
7f03195aba
stm32 usb: allow descriptor data to be const through API
...
This allows a few more data structures to be const to save
some RAM.
2012-01-02 14:27:06 -05:00
Oleg Semyonov
77a459af5c
Merge remote branch 'origin/next' into os/TxPID-module
2012-01-02 14:49:54 +02:00
Oleg Semyonov
b01e332e03
CameraStab: rename UAVO field
2012-01-02 14:27:05 +02:00
Oleg Semyonov
65abb8f819
CameraStab: small optimization, freed 8 more heap bytes
2012-01-02 14:27:00 +02:00
Oleg Semyonov
406cff296d
CameraStab: bypass LPF calculation if ResponseTime is zero
2012-01-02 14:26:58 +02:00
Oleg Semyonov
e11904c42f
CameraStab: change ResponseTime type from float to int16
2012-01-02 14:26:56 +02:00
Oleg Semyonov
2eb5130a7c
CameraStab: new camera stabilization mode and low-pass stick input filtering
...
This patch is based on work of Crubier (LPF) and Cossacs (AxisLock mode).
I've just reworked it a bit by adding a dynamic memory allocation for
static module data.
2012-01-02 14:26:54 +02:00
James Cotton
ef05cafaca
Merge branch 'revolution' into altitudehold
...
Conflicts:
flight/Libraries/insgps13state.c
flight/OpenPilot/Makefile
ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
2012-01-01 10:50:35 -06:00
Stacey Sheldon
075eb65603
bootfault: fail initialization if no telemetry link is configured
...
This detects a locked out state and fails the init. The new
bootfault detection code will automatically drop to default
hwsettings after 3 consecutive boot failures. That will put
the board back into an unlocked state where the user can now
enable a telemetry link using the GCS and everything will be
OK.
NOTE: Any configured telemetry link will be considered enough
to boot up. If you only configure a serial telemetry
link but don't know how to hook anything up to it, this
will not save you.
As the ultimate recovery, you can always load firmware on the
board that wipes the settings entirely and start over.
2011-12-31 13:08:30 -05:00
Stacey Sheldon
6c192f67ee
gasp: delete clutter
2011-12-31 13:03:49 -05:00
Stacey Sheldon
e7053c77f0
usb config: remove unused macro for number of endpoints
...
This is no longer referenced and is confusing.
2011-12-31 13:02:43 -05:00
Stacey Sheldon
5c0921e92c
fault: add optional fault insertion module
...
This module and its associated settings uavo can be used
to test various fault conditions during initialization.
To enable the module, add the TEST_FAULTS=YES to your make
command line:
make fw_coptercontrol TEST_FAULTS=YES
Once this module is part of your firmware load, you can
enable it in the hwsettings uavo and then select the
type of fault to insert by editing the faultsettings uavo.
On the next reset, the configured fault will be inserted
into the init sequence to allow you to test the boot fault
recovery code.
With a fault inserted, you should see 3 failed boot attempts
followed by a successful (recovery) boot. You will see the
BootFault alarm set to Critical, and the RAM version of your
hwsettings will be reset to defaults. Since the defaults have
all optional modules disabled, the fault module will be out of
the way during the recovery boot.
You can then "Load" the flash version of the hwsettings uavo
in the object browser, disable the Fault module and then "Save"
the hwsettings module back to the board. The next reset will
boot normally without the fault inserted.
2011-12-30 23:05:39 -05:00
Stacey Sheldon
f4f0dab764
fixup make combridge an optional module
2011-12-30 23:05:39 -05:00
Stacey Sheldon
f886af186d
bootfault: add support for recovery from init failures
...
After 3 failed warm start attempts, the init sequence
will force the RAM version of the HWSettings object
to its defaults. This should allow a user to regain
connectivity to a board that is continually faulting
during init.
This is accomplished by:
- Incrementing a boot counter that is stored in the
STM32 BKP registers. These registers survive a
warm start but are cleared on a cold start (ie. powerup).
- On multiple failures, force hwsettings to defaults
and raise the (new) BootFault alarm to prevent arming.
- Resetting the boot counter whenever the system manages
to successfully run the System Module task.
NOTE: This does not actually change the hwsettings object in
flash. That's up to the user.
This is intended to catch ONLY faults during early initialization.
It should not be used to recover from faults after the application
is up and running.
2011-12-30 23:05:38 -05:00
Stacey Sheldon
b91f40eb94
iap: extend API to support read/write of boot counter
...
Also clean up unused/obsolete definitions.
2011-12-30 23:05:38 -05:00
Stacey Sheldon
1543a6dbd3
hwsettings: allow disabling of USB telemetry entirely
...
The GCS hwsettings config widget now disallows any
configuration that disables both HID and VCP telemetry
over the USB port.
The firmware will allow it if the UAVObj is set manually.
This allows a mechanism to reduce RAM usage by another
500 more bytes if USB telemetry can be sacrificed in
certain configurations.
2011-12-30 23:05:38 -05:00
Stacey Sheldon
45615b5812
com: reduce buffer sizes on com interfaces on CC
...
Now that the COM layer fragments to the underlying
buffer sizes, the COM layer buffers can shrink below
single message sizes.
2011-12-30 23:05:38 -05:00
Stacey Sheldon
2cf1fe93c6
com: don't block forever waiting for a transmitter
...
Not all transmitters will continue to run when disconnected.
USB is one example of this. When the USB cable was disconnected,
any transmitter blocked here would wait forever.
This was particularly noticeable when the telemetry Tx task
blocked forever on USB disconnect. This also resulted in
the telemetry Rx task blocking forever waiting on the UAVTalk
connection lock.
We now block for a max of 5s waiting for space in the transmit
buffer.
2011-12-30 23:05:37 -05:00
Stacey Sheldon
7c03875013
diag-tasks: make taskinfo diagnostics a separate enable
...
This allows task stack analysis without turning on all
of the other diagnostics.
2011-12-30 23:05:37 -05:00
Stacey Sheldon
56c4ff8f40
com-bridge: add support for bridging to flexiport
2011-12-30 23:05:37 -05:00
Stacey Sheldon
60969b57d8
usb-hid: split apart hwsettings for HID and VCP ports
...
This allows the HID and VCP functions to be configured
separately so that additional functions can be more easily
bound to the VCP port.
This change also provides a safety net that forces either
the HID or VCP to be configured for USB Telemetry. This
safety net may vanish in the future once the GCS can check
it. Disabling USB Telemetry entirely would save more than
400 bytes of RAM.
2011-12-30 23:05:37 -05:00
Stacey Sheldon
ab135aa00b
com-bridge: Make com-bridge an optional (and configurable) module
2011-12-30 23:05:36 -05:00
Stacey Sheldon
5b3227d1ff
com: reduce buffer sizes for com layer
...
This saves a few hundred bytes of RAM in a typical
configuration.
2011-12-30 23:05:36 -05:00
Stacey Sheldon
785a7ccd88
uavtalk: convert tx to use blocking send routines
...
The uavtalk layer was previously implementing a poor
version of packet fragmentation based on a hard-coded
max packet size. Since this was hard-coded, there was
no guarantee that it would match the underlying devices.
Now that the COM layer sending routines support fragmentation,
remove fragmentation and use the COM layer directly.
This will support future buffer size reductions in the COM
layer.
2011-12-30 23:05:36 -05:00
Stacey Sheldon
16619584e4
usb cdc: return valid data in response to SetLineCoding
2011-12-30 23:05:36 -05:00
Stacey Sheldon
a68f5a4fc9
com-bridge: detect lost characters on transmit
2011-12-30 23:05:36 -05:00
Stacey Sheldon
80e0be3cec
com: fragment transmitted buffers to match underlying device
...
PIOS_COM_SendBufferNonBlocking() will now fragment its buffer
to match the max size of the underlying device.
This allows the buffer size of the underlying device to shrink
below the maximum message size, thus allowing us to use smaller
buffers on memory-constrained platforms.
2011-12-30 23:05:36 -05:00
Stacey Sheldon
407bec0c95
usb cdc: track oversized rx buffers
2011-12-30 23:05:35 -05:00
Stacey Sheldon
b858cf387e
com: track dropped bytes on rx for usart and usb com
2011-12-30 23:05:35 -05:00
Stacey Sheldon
2040645171
com: Use all bytes in Tx buffer
...
Code would previously fail Tx if we happen to send data
that happened to be exactly the size of the available space
in the tx buffer.
2011-12-30 23:05:35 -05:00
Stacey Sheldon
34af9ac92d
usb_com: NAK rather than STALL on buffer full
...
STALL should only be used to indicate an error has occurred.
NAK is the correct mechanism to provide backpressure.
2011-12-30 23:05:35 -05:00
Stacey Sheldon
e2bb7140fe
usb cdc: allow use of entire rx buffer
...
Previously, the code only allowed n-1 bytes of the
available space to be used.
2011-12-30 23:05:35 -05:00
Stacey Sheldon
86aead52ce
usb cdc: only pass valid bytes from USB rx up to com layer
...
Previously, up to 63 random bytes would be passed to the COM
layer and would be delivered to the application as though
the far end had sent them.
2011-12-30 23:05:35 -05:00
Stacey Sheldon
f54c0552ce
com: make sure we know when a higher prio task is woken
2011-12-30 23:05:34 -05:00
Stacey Sheldon
202b1bd428
com: Always kick rx_start if we got zero bytes
...
This will ensure that we kick rx_start at least once every
time that a user tries to receive bytes from the underlying
device.
2011-12-30 23:05:34 -05:00
Stacey Sheldon
64f498e48a
com-bridge: add usart to usb vcp bridge
2011-12-30 23:05:34 -05:00
Stacey Sheldon
504cf3417f
init: collapse usart definitions for generic usage
...
Telemetry and GPS usarts are generic users of the uart
devices. This collapses the duplicated usart configuration
structs into a single generic one.
2011-12-30 23:05:34 -05:00
Stacey Sheldon
eebdda6276
usb cdc: make HID/CDC configurable in hwsettings
2011-12-30 23:05:34 -05:00
Stacey Sheldon
e6ead85857
usb cdc: fix device descriptor to work on Mac
...
Apple is very particular about requiring the bDeviceClass
to be set to 2 (Commmunication Device) even for composite
devices which seems wrong.
Device is enumerated without error on Mac now. Not sure if it
works though.
2011-12-30 23:05:34 -05:00
Stacey Sheldon
617a30c07c
usb cdc: attach telemetry to CDC rather than HID
2011-12-30 23:05:34 -05:00
Stacey Sheldon
59cb489e01
usb: clean up pios hooks into stm32 usb_core
...
Reduced scope of many variables since they were being
exposed unnecessarily.
Renamed pios_usb_hid_prop code to pios_usbhook to reflect
the fact that it implements all of the callout functions
that are hooked into the stm32 usb library.
2011-12-30 23:05:33 -05:00
Stacey Sheldon
c0259dc616
usb cdc: USB composite device with HID + VCP
2011-12-30 23:05:33 -05:00
James Cotton
25dfb5463e
Add option to switch to using the MPU6000 accel instead of BMA180. Disabled by
...
default.
2011-12-29 02:08:13 -06:00
James Cotton
c080080810
Add ability to change the SPI bus runs at
2011-12-29 00:09:53 -06:00
James Cotton
bf98630851
Add streaming the sensor data out of the serial port
2011-12-26 17:52:45 -06:00
James Cotton
9bf06bbd3e
Force the loading of the sensor gains and biases at the beginning
2011-12-24 16:14:28 -06:00
James Cotton
1092ac3184
Use the scale and bias terms for hte mag and accel
2011-12-24 15:58:12 -06:00
James Cotton
05da41a79b
Get FirmwareIAP object working on revo
2011-12-24 13:15:56 -06:00
James Cotton
569b201b58
Move the bl_helper out of the common directory as it isn't
2011-12-24 13:10:23 -06:00
James Cotton
5d4da2213f
Accidentally used floating point when parsing NEMA. Lost resolution on
...
position.
2011-12-24 10:37:30 -06:00
Oleg Semyonov
7fbbb0e6af
Merge remote branch 'origin/next' into os/TxPID-module
2011-12-24 15:44:16 +02:00
Oleg Semyonov
495a8f2836
TxPID: initialize the AccessoryDesired object before use its handle
...
Also save few bytes of static RAM and add PIOS_Assert(0) for unhandled cases.
2011-12-24 15:37:14 +02:00
James Cotton
0b00e748a9
OP-565: Added the ability to do a trim flight to compute the accels for level flight
2011-12-21 15:25:00 -06:00
James Cotton
dd89d232ba
Add a magnetometer bias term although currently hardcoded to my board
2011-12-15 00:57:19 -06:00
James Cotton
0432dd450e
Enable the mag to be used in the complimentary filter to stabilize the yaw
...
direction
2011-12-15 00:56:50 -06:00
James Cotton
2240ad924a
Fix the orientation of the magnetometer
2011-12-15 00:46:43 -06:00
James Cotton
43ed6cd89c
Need to initialize the HomeLocation object
2011-12-14 14:08:03 -06:00
James Cotton
9148bb2c65
Make sure the sensors module grabs the sesor biases initially.
2011-12-14 10:38:43 -06:00
James Cotton
6dbad243db
Convert the CoordinateConversion functions to all be float until I determine
...
how to use doubles safely on F4.
2011-12-14 02:08:14 -06:00
James Cotton
09864a8cf6
Get outdoor EKF running although need to add in the ability to swap modes
...
(probably).
2011-12-14 02:07:33 -06:00
James Cotton
fd8899018f
Get EKF running
2011-12-14 01:54:06 -06:00
James Cotton
ed7cbd5a6c
Have to initialize the BaroAltitude object ini the init section for it to show
...
up on telemetry
2011-12-13 23:27:26 -06:00
James Cotton
9f50391fc5
Merge branch 'next' into revolution_sensors
...
Conflicts:
ground/openpilotgcs/src/plugins/coreplugin/OpenPilotGCS.xml
2011-12-13 20:50:10 -06:00
James Cotton
a37a17a4fb
Created a separate Sensor module and Attitude module for revolution
2011-12-12 21:40:39 -06:00
James Cotton
53cb5b67d1
Make the revo attitude now use the separate gyro object. CopterControl
...
attitude still needs an update.
2011-12-12 13:28:35 -06:00
James Cotton
d22e0e66dd
Create separate UAVOs for the sensors.
2011-12-12 13:05:40 -06:00
James Cotton
7273f87f9b
Fix NMEA parsing for M4 FPU
2011-12-12 09:47:11 -06:00
James Cotton
a9c61845af
Create a separate task for sensors and attitude on revo.
2011-12-12 00:47:16 -06:00
James Cotton
33a12d829e
Merge branch 'next' into revolution
...
Conflicts:
flight/PiOS/Common/pios_flashfs_objlist.c
2011-12-11 22:55:54 -06:00
Oleg Semyonov
10287e3e29
CC: rename ReceiverPort PPM+Servo (Servo) options to PPM+Outputs (Outputs)
2011-12-11 22:52:51 +02:00
James Cotton
162b0d7f75
Because the UAVO field sorting required for revo changes all the object IDs,
...
trigger a flash wipe on all existing boards with this upgrade.
2011-12-10 14:13:28 -06:00
Corvus Corax
a0cd71abe6
UAVObjects ; Modules/ManualControl: Fixed metadata interface and segfault when retrieving it
2011-11-30 09:20:46 +01:00
James Cotton
44ca9736df
Fix floating point calculation in NMEA parser and delete duplicate of NMEA
...
functions
2011-11-28 09:36:31 -06:00
James Cotton
43fa9e702e
Move DSM to Flexiport and enable GPS on GPS port. Currently GPS module locks
...
up though.
2011-11-28 09:11:13 -06:00
James Cotton
c33816dd79
Force mode switch to be floating point so F4 works
2011-11-28 09:10:26 -06:00
James Cotton
671c7537a0
Reorganize the pios_config.c file for revolution
2011-11-28 08:29:14 -06:00
James Cotton
1af66fc3d2
Get rid of 500 ms delay in startup for the pios_sys so that servos start
...
properly but a delay is still needs to get MPU6000 up right. Fucking POS.
2011-11-27 18:05:20 -06:00
James Cotton
9357960268
Get rid of old bootloader code for revolution using the ahrs spi link
2011-11-27 18:04:31 -06:00
James Cotton
f7f94011ee
Damnit. For higher bus speeds MPU6000 chip must be initialized twice in a row.
...
WTF piece of shit.
2011-11-27 02:35:08 -06:00
James Cotton
deea7cde41
Speed up coms to MPU6000
2011-11-27 01:51:43 -06:00
James Cotton
57e7126979
Increase stack size for manualcontrol. This might need to be applied to main
...
code.
2011-11-27 01:51:23 -06:00
James Cotton
f7d13ebd57
Hack to tweak the gyro gain for now although its too far out at the moment so
...
something isn't configured properly. Possibly it is staying in 250 deg/s mode.
Also make sure if the MPU6000 fifo backs up to pull extra data.
2011-11-27 01:22:37 -06:00
James Cotton
8bbc767a4e
Get the pressure sensor working and reading into Revolution
2011-11-27 00:52:09 -06:00
James Cotton
cd65df013e
Merge branch 'next' into revolution
...
Conflicts:
flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
2011-11-26 22:52:32 -06:00
James Cotton
13729f854e
PiOS F4: Fix PWM timer interrupts and enable PWM input
2011-11-26 22:41:41 -06:00
James Cotton
21367d3a22
Spektrum support for Revolution
2011-11-26 22:19:42 -06:00
James Cotton
e24c905ff7
F4 PiOS: Reimplement the RTC logic for F4
2011-11-26 22:13:57 -06:00
James Cotton
b11a4f7405
Clean up the actuator module for floating point usage. Also there was a bug I
...
don't understand where the channels should be scaled AFTER all of them are
computed. It feels like a memory overwriting bug and needs followup.
2011-11-26 16:12:32 -06:00
James Cotton
07e3ad10af
Force some floating point units to be safe
2011-11-26 15:52:25 -06:00
James Cotton
04f4afce46
Set idle load for revo
2011-11-26 15:52:04 -06:00
James Cotton
8c0db424fa
Fix long subtle bug where failsafe didn't show the output values it was using
2011-11-26 15:51:24 -06:00
James Cotton
c70a9a5381
Sanitize the floating point math in systemmod.c to be consistently floating and
...
not double
2011-11-26 15:16:16 -06:00
Oleg Semyonov
1f60f80053
Bring back the ERASE_FLASH option support for SettingsEraseFirmware
2011-11-26 22:57:33 +02:00
James Cotton
d3314f041a
MPU6000: Bring SPI down to 5 Mhz - much closer to spec
2011-11-26 14:56:28 -06:00
James Cotton
99123372d0
TO BE REVERTED: Temporary patch to make the w25x driver work with the revo m25p
...
chip. Need to abstract out the erase commands into a general pios_spi_flash
driver.
2011-11-26 14:55:16 -06:00
James Cotton
8b7aca0dcd
Include the accel bias into revolution attitude function and also make sure
...
downsampling is correct.
2011-11-26 14:40:32 -06:00
James Cotton
11ad135b27
Some changes to MPU6000 driver to make it start more reliably on fresh powerup
2011-11-26 14:12:12 -06:00
James Cotton
1574c96c3a
Add all the pin remappings and pin sources for F4 timers
2011-11-26 03:36:36 -06:00
James Cotton
c57acf6459
F4 PiOS: Must use a different remap command on F4 for timer module to command
...
pin. Include the remap source in the config structure now.
2011-11-26 03:35:26 -06:00
James Cotton
57b381235e
Init the timers and PWM in the board file
2011-11-26 02:19:56 -06:00
James Cotton
de9a8453ef
Configure the board to use PWM input and servo output
2011-11-26 02:19:56 -06:00
James Cotton
3e01c84a15
Add pin mappings for PWM and receiver port
2011-11-26 02:19:56 -06:00
James Cotton
e71030c6ce
Remove testing code for pressure sensor
2011-11-26 02:19:56 -06:00
James Cotton
c118159a6f
Remove refence to deleted object
2011-11-26 02:19:55 -06:00
James Cotton
fae611a01f
Fix bug where clicking back at last screen of input wizard would go back to
...
main screen and then in future buttons hung around for no reason
2011-11-25 11:30:12 -06:00
Oleg Semyonov
6d78b97d92
dsm: update DSM protocol binding details in the comments (no code change)
2011-11-19 17:33:04 +02:00
James Cotton
7637e9f669
Get flash chip working and saving to memory. Also get the I2C working with
...
BMA180 driver.
2011-11-19 00:13:02 -06:00
James Cotton
da75e9fdaf
PiOS: Make I2C return an error code for NACK
2011-11-19 00:11:16 -06:00
James Cotton
a7ef5601e0
Update the MPU6000 FIFO code and also fix the temperature code
2011-11-18 00:24:55 -06:00
James Cotton
6d74e96c31
Got attitude working again. MPU6000 FIFO reading needs a bit of work.
2011-11-18 00:00:55 -06:00
James Cotton
79730d5afa
Try and get the MPU6000 buffer to run down. Staying high for some reason.
2011-11-17 11:23:31 -06:00
James Cotton
0efffef1fa
Work on bringing the Revolution board up
2011-11-17 10:13:34 -06:00
James Cotton
d97e5dbc59
Add SPI MPU6000 driver. Unfortunate hack in HMC5883 EXTI handler to call
...
MPU6000. Need to generalize EXTI ASAP.
2011-11-17 10:12:10 -06:00
James Cotton
8477c2229b
Using real prototype board now. Move telemetry to GPS port for easy-ness right
...
now.
2011-11-17 01:58:51 -06:00
James Cotton
1c7c85635d
Typo with renamed PI
2011-11-16 19:48:13 -06:00
James Cotton
1deb799b6f
Get simple attitude estimation working on F4 INS. Also make MPU6050 return
...
scaling that casts to degrees.
2011-11-16 11:36:04 -06:00
James Cotton
8e79f86716
Make the CoordinateConversions use a floating point PI
2011-11-16 11:35:52 -06:00
James Cotton
aa698f7b0a
Increase the CC IRQ stack to avoid some memory warnings
2011-11-16 09:20:30 -06:00
James Cotton
aeb42332d6
Get the MPU6050 fifo running and read by the attitude module
2011-11-14 11:23:14 -06:00
James Cotton
59507249e1
Hack in attitude to read directly from gyros instead of fifo. All sensors
...
reading now.
2011-11-14 11:12:10 -06:00
James Cotton
1086df5b21
Correctly configure MPU6050 interrupt. However currently not pushing data to
...
the buffer as that seems to fail.
2011-11-14 11:11:40 -06:00
James Cotton
2cc2e55248
Add attitude solution for revo
2011-11-14 10:49:37 -06:00
James Cotton
4c04d01be4
Dos2unix pios_config.h for revo
2011-11-14 10:25:57 -06:00
James Cotton
e32cc92002
For now act like revo is using init call system to fix compile errors.
2011-11-14 10:25:28 -06:00
James Cotton
da679441ec
Duplicate the spektrum (dsm) driver to F4 branch
2011-11-14 10:12:51 -06:00
James Cotton
684715930a
Merge branch 'next' into revolution
...
Conflicts:
flight/OpenPilot/Makefile
flight/Revolution/System/inc/openpilot.h
2011-11-14 10:11:53 -06:00
James Cotton
180d84e373
Update the MPU6050 code a bit more to use the right registers.
2011-11-14 10:09:49 -06:00
James Cotton
2eb89e9b81
No reason for the data read flag in pios_bmp085.c to be a semaphore
2011-11-14 10:07:19 -06:00
James Cotton
76a956416c
Switch revo over to MPU6050
2011-11-13 19:45:06 -06:00
James Cotton
96a098bf74
Add code for MPU6050 driver
2011-11-13 19:44:56 -06:00
James Cotton
1e2fe77e3f
Start migrating the attitude solution to FreeRTOS
2011-11-13 18:51:35 -06:00
James Cotton
0c103f7b2c
Delete F2 PiOS port since unused
2011-11-13 17:33:43 -06:00
James Cotton
fffb6449ac
Delete the old INS target
2011-11-13 17:31:34 -06:00
James Cotton
c44235494c
Update the Revolution board file a bit
2011-11-13 17:23:56 -06:00
James Cotton
938a577d11
Small change to pios_adc so it works when not enabled
2011-11-13 17:14:08 -06:00
James Cotton
ec84fc4058
Get the Revolution bootloader working
2011-11-13 17:13:42 -06:00
James Cotton
2b37d4bbb5
Enable telemetry on revo
2011-11-13 16:10:19 -06:00
Oleg Semyonov
4a99ec3298
code style: move variable into function and free 1 byte of RAM :-)
...
component free heap used
----------------------------
Nothing 2560 -
PWM 2432 128
PPM 2408 152
DSM 2464 96
S.Bus 2448 112
GPS (port only) 2368 192
GPS (port+module) 1312 1248
CameraStab 2096 464
Telemetry 1928 632
2011-11-13 18:27:52 +02:00
Oleg Semyonov
de6e450b5f
Merge branch 'next' into os/TxPID-module
...
Conflicts:
flight/CopterControl/Makefile
flight/CopterControl/System/coptercontrol.c
ground/uavobjgenerator/generators/generator_common.h
shared/uavobjectdefinition/hwsettings.xml
component free heap used
----------------------------
Nothing 2544 -
PWM 2416 128
PPM 2392 152
DSM 2448 96
S.Bus 2432 112
GPS (port only) 2352 192
GPS (port+module) 1296 1248
CameraStab 2080 464
Telemetry 1912 632
TxPID 2272 272
2011-11-13 16:25:58 +02:00
James Cotton
b110e9c549
Style suggestions to cleanup GPS from Stac
2011-11-12 21:31:01 -06:00
James Cotton
f0b22519be
Merge remote-tracking branch 'origin/corvuscorax/CC_GPS' into next
2011-11-12 21:30:53 -06:00
James Cotton
fdcc6c2d41
Fix a bug I made in programming the bootloaders via jtag
2011-11-12 21:29:46 -06:00
Corvus Corax
198c819943
some more makefile cleanup
2011-11-11 11:54:31 +01:00
Corvus Corax
cd473ed1fd
some makefile cleanup
2011-11-11 11:51:45 +01:00
Corvus Corax
aa69027cb2
Merge branch 'next' into CC_GPS
2011-11-11 11:44:11 +01:00
Corvus Corax
61ecc0d310
make optional modules check themselves if they should start or not
2011-11-11 11:39:57 +01:00
Corvus Corax
e03e3c2ed8
removed "special code" to start optional modules
2011-11-11 11:22:54 +01:00
Corvus Corax
5e14e69a08
Revert "OpenPilot: Initialize optional modules based on UAVObject"
...
This reverts commit 9f03ba178b
.
2011-11-11 11:08:49 +01:00
Corvus Corax
9679638244
Revert "Modules/GPS: removed comment line"
...
This reverts commit 109a58ef30
.
2011-11-11 11:07:02 +01:00
Corvus Corax
88f161dd42
Revert "Makefiles: fixed comment line"
...
This reverts commit 0065842de7
.
2011-11-11 11:06:32 +01:00
Oleg Semyonov
8f77d07119
System Module: fix stupid out of memory detection bug
2011-11-07 19:14:55 +02:00
Oleg Semyonov
f5e82b8242
spektrum: rename Spektrum to DSM (DSM2/DSMJ/DSMX used by Spektrum and JR radios)
...
No code changes, just file, variable and define names are changed.
First, it better describes the serial protocol used by DSMx satellite
receivers. Second, many people using Spektrum radio, assume Spektrum
protocol. This is the attempt to address those inaccuracies.
2011-11-04 21:40:34 +02:00
Oleg Semyonov
8ed23c76b7
spektrum: fix OpenPilot MB target (deprecated) after spektrum changes
2011-11-04 20:43:49 +02:00
James Cotton
c0f16d2f44
Revolution: Configure clocks correctly
2011-11-03 20:12:34 -05:00
James Cotton
a2015a4f8d
Compiled and flashing
2011-11-02 13:20:39 -05:00
James Cotton
0ce80e02f5
Compiles now
2011-11-02 02:51:20 -05:00
Oleg Semyonov
481bff2578
spektrum: code style fixes accoring to OPReview-122
2011-11-01 18:48:07 +02:00
James Cotton
0931a518d4
Bring F4 PiOS up to date with some of our timer conventions
2011-11-01 04:39:51 -05:00
James Cotton
48d2e038bb
More work to the revolution build
2011-11-01 04:39:20 -05:00
James Cotton
4d6f810984
Make ADC driver play properly when not included
2011-11-01 03:22:48 -05:00
James Cotton
7eee6bf85b
Create revolution board file
2011-11-01 03:22:19 -05:00
James Cotton
7ee4a0412c
Work on the build process and include FreeRTOS
2011-11-01 03:20:25 -05:00
James Cotton
9607da9c62
Add some drivers to the device specific library for now until the exti problems
...
are fixed
2011-11-01 03:19:58 -05:00
James Cotton
2cc0b301ce
Make some of the StdPeriph function calls const where appropriate
2011-11-01 03:18:59 -05:00
James Cotton
cdb6059752
Coyp over some of how the PH build system works
2011-11-01 01:36:52 -05:00
James Cotton
9bdd021b2e
Make new Revolution target
2011-11-01 01:17:59 -05:00
James Cotton
3388843fb5
Merge in PixHawk F4 work
2011-11-01 01:09:55 -05:00
Oleg Semyonov
a8b36ddd28
HwSettings: disable GPS and telemetry port speed updates at run-time
...
This is to be consistent across the HwSettings object fields which are
read on boot only by convention.
2011-10-31 23:04:17 +02:00
Oleg Semyonov
0116e6a007
spektrum: rework DSM2/DSMJ/DSMX driver for explicit DSMX resolution support
...
- both CC serial ports are now disabled by default (no telemetry);
- serial ports now have DSM2, DSMX (10bit) and DSMX (11bit) options;
- ReceiverGroups now have DSM (MainPort) and DSM (FlexiPort) options.
For DSM2 protocol there is an explicit resolution bit in the stream, so
the DSM2 should be selected. For DSMX there is no such bit, and user
should choose the resolution from the list configuring the spektrum port.
ReceiverGroups have single DSM option which is handled by the same driver.
Downside: this implementation saves received frame first, unrolls by the
end of frame. This should be ok, but may be improved by unrolling channels
on the fly in the rx callback.
Another minor difference is that a ChannelGroup is now bound to port:
DSM (MainPort) or DSM (FlexiPort). This was considered as acceptable
solution in order to not have 6 DSM options for each ChannelGroup and
even more in case of new DSM protocol variations.
Known problem: it is not possible to choose same protocols like
DSM2/DSM2 for two ports. It can be enabled by adding an exception to
common rule, though.
The DSMX throttle channel misbehavior (zero value) is not treated
specially yet. It should trigger the failsafe being out of bounds.
More info and data dumps are required to handle this properly.
2011-10-30 19:29:03 +02:00
James Cotton
f019412209
Various tweaks to get the F4 working
2011-10-26 21:56:00 -05:00
James Cotton
d786c152e3
Merge F4 files from PixHawk branch
2011-10-26 18:23:35 -05:00
James Cotton
0f8ae1e076
Merge branch 'next' into ins
...
Conflicts:
flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
2011-10-26 13:18:44 -05:00
Oleg Semyonov
a19bbba858
Merge branch 'next' into os/alternative_spektrum_driver
2011-10-25 11:55:05 +03:00
James Cotton
27bf2b383e
Merge remote-tracking branch 'origin/james/remap_outputs' into next
2011-10-23 18:35:25 -05:00
Oleg Semyonov
4ed23dd891
Output Remapping: renamed PPM_SERVO option to PPM+Servo
2011-10-24 00:34:01 +03:00
James Cotton
23150a48fe
Merge remote-tracking branch 'origin/os/sbus_dynamic_malloc' into next
2011-10-23 15:26:26 -05:00
James Cotton
24d6ae731b
Output Remapping: Added option to just use servo outputs on input lines but not
...
PPM. This saves resources. Good suggestion Os. In this configuration we
could allow 12 channels of output but for now I'll leave it capped at 10 to
lessen resources on the mixer table.
With spektrum and camera stab enabled there was
1632 bytes heap remaining
180 bytes irq stack remaining
2011-10-23 15:21:40 -05:00
Oleg Semyonov
2a98a52f4c
gps: include optional GPS module by default
2011-10-23 00:41:18 +03:00
Oleg Semyonov
6a9208e8c3
Merge branch 'next' into os/TxPID-module
2011-10-22 23:34:58 +03:00
Oleg Semyonov
f71361ca83
Merge branch 'next' into os/GPS-on-CopterControl_next_v2
...
Conflicts:
flight/Modules/System/systemmod.c
2011-10-22 23:00:47 +03:00
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
fef9570e4d
INS: Get bootloader working again
2011-09-27 01:17:14 -05:00
James Cotton
cf6a59468f
Merge branch 'next' into ins
...
Conflicts:
flight/INS/Makefile
flight/Project/OpenOCD/stm32f1x.cfg
flight/Project/OpenOCD/stm32f2x.cfg
make/firmware-defs.mk
2011-09-27 01:02:06 -05: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
a1aeab9393
Increase size of framing signal for logging
2011-09-15 10:19:59 -05:00
James Cotton
0d3d5ad094
INS: Get rid of old code that tried to detect when indoor mode wasn't called
...
for a while
2011-09-14 17:30:02 -05: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
James Cotton
06190d1d95
Fix altitude hold dead band range
2011-09-13 10:34:56 -05:00
James Cotton
3b399ad44c
Increase gyro bias rate again
2011-09-13 08:30:50 -05:00
Oleg Semyonov
c92870d29e
Remove unused file (versionblob.py)
2011-09-13 16:10:10 +03:00
James Cotton
1783817b96
INS: First pass at altitude hold code
2011-09-13 01:44:53 -05:00
James Cotton
400ba3bd47
Merge branch 'next' into ins
2011-09-12 18:57:11 -05: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
00c9d62f6a
INS: Miscellaneous changes for debugging handling and also some stuff for GPS
...
signal loss.
2011-09-12 11:17:17 -05:00
James Cotton
5b836db54c
INS/Guidance: Convert distance to using m instead of cm. This is mainly to be
...
able to use NAN to indicate when values aren't valid from INS.
2011-09-11 23:02:05 -05:00
James Cotton
a682d5deb6
INS: In indoor mode if GPS is found use that to populate PositionActual
2011-09-11 22:53:07 -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
b8bb2dd2ca
Merge branch 'next' into ins
2011-09-10 17:02:15 -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
c2a8cc3faa
Mainboard config: The rcvr port is used for PPM/PWM/Spektrum so make these one
...
setting that is mutually exclusive.
2011-09-10 14:19:12 -05:00
James Cotton
f725fbe128
CopterControl: Fix build due to changing the AttitudeRaw structure.
2011-09-10 13:56:00 -05:00
James Cotton
2871c75a79
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 13:53:38 -05:00