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

403 Commits

Author SHA1 Message Date
David Willis
2f046187ca OP-825 Fix null reference and race condition when shutting down service 2013-02-10 01:20:11 +00:00
David Willis
99a3708586 OP-825 Add code to track lifetime of service. Add task started intent to allow synchronising with telemetry task creation: makes testing a bit easier 2013-02-06 00:11:13 +00:00
David Willis
40a157fbad OP-825 Only attempt to unregister broadcast receivers if they have been registered 2013-02-06 00:09:03 +00:00
David Willis
3b5f3c8125 OP-825 set minimum and target api versions to 14 & 17 respectively. Tidy formatting. 2013-02-02 00:57:57 +00: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
8fb0d70f51 AndroidGCS Telemetry: Make the connected signal only occur after all objects
are downloaded

In the case of a flaky connection this will render telemetry mostly masked
from the activities.  However, it ensures that all the information is present
after a connection.

Some compromise is probably needed for using this in the field, such as a
tiered system:
1. Physical channel open (no idea about reception)
2. Link estabilished (at least some reception)
3. Full telemetry established (all objects synced up)
2012-10-16 12:33:06 -05:00
James Cotton
b0522a319f AndroidGCS Telemetry: Sending an update could interrupt a pending transaction
We allow sending objects that don't create a transaction while waiting for one
to complete.  However, this was overriding the pending transaction information
(when there wasn't a new transaction) and masking the transaction completed
message.

Note: I think this logical error can occur on the GCS side and might explain the
"transaction completed when not expected" messages.
2012-10-16 12:33:00 -05:00
James Cotton
5c55dc07b0 AndroidGCS: The leading 0 in each two bytes of the UAVO hash could get chewed up 2012-10-15 19:41:00 -05:00
James Cotton
f94f187528 AndroidGCS: Remove an unnecessary check that was triggering false positive telemetry errors 2012-10-14 19:54:44 -05:00
James Cotton
d975a65f65 AndroidGCS: Delete any existing jars before loading to make sure behavior is consistent 2012-10-14 19:54:38 -05:00
James Cotton
7eac1e2245 AndroidGCS Telemetry: Use more finely grained semaphores to fix a deadlock
between UAVTalk and Telemetry.

1. processInputStream -> updateObjReq (locks uavtalk) -> tranactionCompleted (locks transInfo)
2. transactionTimeout (locks transInfo) -> sendObjectRequest -> ? -> setupTransaction (locks uavtalk)
2012-10-14 16:03:23 -05:00
James Cotton
c142deaa9d When the UAVO collection is missing, list which are available. 2012-10-14 14:34:11 -05:00
James Cotton
16adf27082 AndroidGCS: Make the telemetry monitor deal with loading the UAVO set before
starting to retrieve all the objects.
2012-10-14 14:33:27 -05:00
James Cotton
11dbdf3a52 AndroidGCS: Only use a 16 character name for UAVOs. Was breaking before on hardware. 2012-10-11 12:38:16 -05:00
James Cotton
3110678321 Merge branch 'dynamic_uavo_next' into revo
Conflicts:
	androidgcs/src/org/openpilot/uavtalk/uavobjects/ActuatorSettings.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/AltitudeHoldSettings.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/PipXSettings.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/PipXStatus.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/PositionActual.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/RelayTuning.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
	androidgcs/src/org/openpilot/uavtalk/uavobjects/Waypoint.java
	ground/openpilotgcs/src/plugins/opmap/opmapgadgetwidget.cpp
2012-10-10 08:27:11 -05:00
James Cotton
0d42df9a02 AndroidGCS: Add a message when the UAVOs are loaded 2012-10-10 08:22:41 -05:00
James Cotton
fcaced59b5 AndroidGCS: Entire hash is now used to locate objects and they are pulled from
assets/uavos
2012-10-10 08:16:57 -05:00
James Cotton
557904fec9 AndroidGCS: Check in a uavobjects.jar into the assets directory and use that now
The previous hoops are still required to create that file.

Conflicts:

	androidgcs/assets/uavobjects.jar
2012-10-10 00:48:25 -05:00
James Cotton
80197f830c AndroidGCS: Remove the unit tests since they break the dynamic loading of UAVObjects 2012-10-10 00:29:22 -05:00
James Cotton
df6d7eb11d AndroidGCS: Make the tablet load the appropriate UAVO file based on the description
from the assets.

Rename the uavobjects.jar to match the uavo hash.

Conflicts:

	androidgcs/assets/875bbaadee717b2f.jar
2012-10-10 00:23:54 -05:00
James Cotton
76785cad57 AndroidGCS: Dynamic loading works. Currently won't work out of the box though.
From the build/uavobjects-synth/java:

1. mkdir -p src/org/openpilot/uavtalk/uavobjects
2. javac *.java ../../../androidgcs/src/org/openpilot/uavtalk/UAVDataObject.java \
   ../../../androidgcs/src/org/openpilot/uavtalk/UAVObject*.java \
   ../../../androidgcs/src/org/openpilot/uavtalk/UAVMetaObject.java \
   -d .
3. rm org/openpilot/uavtalk/*.class
4. jar cf tmp_org.openpilot.uavtalk.uavobjects.jar org
5. dx --dex --output org.openpilot.uavtalk.uavobjects.jar tmp_org.openpilot.uavtalk.uavobjects.jar
6. adb push org.openpilot.uavtalk.uavobjects.jar /data/org.openpilot.uavtalk.uavobjects.jar
2012-10-10 00:22:54 -05:00
James Cotton
c6341139c2 AndroidGCS: Dynamically load /data/uavobjects.jar for the objects 2012-10-10 00:22:45 -05:00
James Cotton
1a1aa85d1a AndroidGCS: Remove the old fake telemetry 2012-10-10 00:22:21 -05:00
James Cotton
11079a6dd7 AndroidGCS: Restore stripped down UAVObjectsInitialize which only registers
FlightTelementryStats GCSTelemetryStats and FirmwareIAPObj
2012-10-10 00:22:00 -05:00
James Cotton
51868437c6 Drop the old UAVObjects directory 2012-10-10 00:21:51 -05:00
James Cotton
4d0490dde9 Androidgcs: Symlink build/androidgcs/assets/uavo to the androidgcs directory to keep eclipse happy 2012-10-10 00:18:46 -05:00
Stacey Sheldon
5ffe555bae androidgcs: use symlink to autogenerated uavo java code 2012-10-05 20:54:01 -04:00
Stacey Sheldon
45fe7193af androidgcs: remove pre-built uavo code
The UAVO java code will be autogenerated.
2012-10-05 20:54:01 -04:00
Stacey Sheldon
6b4f60b263 makefile: add support for building androidgcs 2012-10-05 20:54:01 -04:00
Stacey Sheldon
94134b82f7 androidgcs: remove unicode chars to eliminate warnings 2012-10-05 19:48:08 -04:00
Stacey Sheldon
b0b1d9b681 androidgcs: dropped dependency on JUnit
Can't figure out how to get the build to find JUnit.
2012-10-05 19:48:08 -04:00
James Cotton
4284701b35 Update android objects 2012-10-05 08:48:12 -05:00
James Cotton
dae9cbc76d Merge branch 'android' into revo 2012-10-05 08:47:20 -05:00
James Cotton
9255785c31 Android HID: Check the interface is valid before trying to open it. 2012-10-03 00:16:18 -05:00
James Cotton
94c5b30e68 Android: Make the icon smaller so the USB permission dialog works. 2012-10-03 00:16:10 -05:00
James Cotton
955c030c0f Android Telemetry: Start the service explicitly before binding.
This ensures it continues running while the tablet rotates or changes activities.
2012-10-03 00:14:15 -05:00
James Cotton
ab291ae1e4 Android USB: Only attempt to open validate devices. 2012-10-03 00:14:07 -05:00
James Cotton
0f4a0526ac Merge branch 'next' into revo
Conflicts:
	androidgcs/src/org/openpilot/uavtalk/uavobjects/FlightStatus.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/HwSettings.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/ManualControlSettings.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/SystemAlarms.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/UAVObjectsInitialize.java
2012-09-12 02:44:04 -05:00
James Cotton
55a0f91da4 Update android objects 2012-09-12 02:36:33 -05:00
James Cotton
42a11788f9 AndroidGCS Controller: Make the default value mode 2
Previously typed "Mode 2" but it wants the integer value for the
default setting.  This stops a crash when no configuration.
2012-08-30 12:14:07 -05:00
James Cotton
6d16f4c0a9 AndroidGCS Map: Make sure to grab the correct uavLocation and homeLocation at startup 2012-08-30 12:14:03 -05:00
James Cotton
b34b806772 AndroidGCS Controller: Make the default value mode 2
Previously typed "Mode 2" but it wants the integer value for the
default setting.  This stops a crash when no configuration.
2012-08-30 12:13:29 -05:00
James Cotton
2bf8423ed6 AndroidGCS Map: Make sure to grab the correct uavLocation and homeLocation at startup 2012-08-30 12:10:17 -05:00
James Cotton
69328edd0d Merge branch 'android' 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
2012-08-30 12:10:12 -05:00
James Cotton
0f29f6e403 AndroidGCS Controller: Use the controller mode preference to select mode1 versus mode2 2012-08-30 11:00:50 -05:00
James Cotton
3488f0d2a2 AndroidGCS Controllre: Add an option for mode 1 or mode 2 2012-08-30 10:36:46 -05:00
James Cotton
e85d959bf5 AndroidGCS Bluetooth: Fix crash when no paired devices
Previously tried to make it list "No devices" but this triggered other
crashes.
2012-08-30 09:45:12 -05:00
James Cotton
0f28f65be6 AndroidGCS PFD: Update the graphics for the PFD 2012-08-30 01:01:53 -05:00
James Cotton
2ca353992c AndroidGCS PFD: Properly center image now so it works over multiple sizes.
However, it doesn't automatically fill the screen in normal PFD view yet.  Specifying the width in pfd.xml directly does fix that but is incorrect.
2012-08-30 00:10:20 -05:00
James Cotton
cffeb6c65a AndroidGCS Tuning: Improvements to the tablet layout. 2012-08-29 23:34:04 -05:00