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

331 Commits

Author SHA1 Message Date
James Cotton
b19a0947fb AndroidGCS: In the telemetry class use a thread safe queue for transations and
removed the synhronized blocks to prevent deadlocks.
2012-08-12 13:23:51 -05:00
James Cotton
e3ab372516 AndroidGCS: Cleanup of the HID telemetry code 2012-08-12 13:23:51 -05:00
James Cotton
75c7c167f0 AndrodGCS: Correctly check HID packet format 2012-08-12 00:32:09 -05:00
James Cotton
4199562534 AndroidGCS: Make sure not to try and get interface to expired telemetry 2012-08-12 00:32:09 -05:00
James Cotton
6fe2cb7738 Merge branch 'android_hid' into android_revo
Conflicts:
	androidgcs/src/org/openpilot/androidgcs/telemetry/OPTelemetryService.java
2012-08-11 14:53:04 -05:00
James Cotton
d0bb6c3813 AndroidGCS: Refactor TCP and HID onto a common TelemTask class which handles
most of the logic of setting up the UAVTalk, ObjectMangager, Telemetry and
TelemetryMonitor classes.  Provides a cleaner shutdown too.
2012-08-11 14:49:35 -05:00
James Cotton
5addc15f60 AndroidGCS: Get HID working properly for PipX 2012-08-11 02:29:26 -05:00
James Cotton
de2f6a64e2 AndroidGCS: Add support for HID to AndroidGCS 2012-08-10 23:19:47 -05:00
James Cotton
cab661e94b AndroidGCS: Update the controller gadget to the newer style updates 2012-08-10 16:16:39 -05:00
James Cotton
9985910969 AndroidGCS TelemetryMonitor: Now that transactions are working more reliably we
can emit the connected signal at the end of fetching all the objects.
2012-08-10 16:11:20 -05:00
James Cotton
38117f6e69 AndroidGCS Telemetry: Telemetry no longer enqueues identical object
transactions multiple times so only the most recent will occur.  Since it
doesn't enqueue the data the end behavior to the UAV should be identical.

Also renamed processObjectUpdates to enqueueObjectUpdates to make it more
intuitive.
2012-08-10 15:58:52 -05:00
James Cotton
1d361a53cd AndroidGCS Telemetry: Make sure when telemetry changes settings it removes it's
listeners before adding more
2012-08-10 15:27:43 -05:00
James Cotton
de26c3297e AndroidGCS Telemetry: Get rid of a tier of redirection through annoymous
classes that was legacy from the GCS port.
2012-08-10 15:22:56 -05:00
James Cotton
6ebf4fe87c AndroidGCS UAVTalk: Pretty thorough clean up focused on how transactions are
handled at the UAVTalk level where there can only be one pending transaction on
the wire.
2012-08-10 14:18:41 -05:00
James Cotton
6b9b49734e Check there is an active telemetry before trying to disconnect it 2012-08-10 10:21:28 -05:00
James Cotton
1bc8553658 Small typo in telemetry merge. 2012-08-10 10:20:45 -05:00
James Cotton
82637ff8ab Now the callbacks disconnect system alarms shouldn't need to check the fields
are not null
2012-08-10 10:20:21 -05:00
James Cotton
d14ad1c354 Check in some missing artwork 2012-08-10 10:15:32 -05:00
James Cotton
d429cc200c Merge branch 'sim_android_telemetry' into sim_android
Conflicts:
	androidgcs/src/org/openpilot/androidgcs/telemetry/OPTelemetryService.java
2012-08-10 10:12:48 -05:00
James Cotton
a8fa1c6b0d Merge branch 'android' into sim_android 2012-08-10 10:10:47 -05:00
James Cotton
29d5365f0a AndroidGCS: More refactoring of ObjectManagerActivity. Now the updates are
disconnected on pause and reestabilished on resume.  This only happens within
an onConnected/onDisconnected life cycle.
2012-08-10 10:04:22 -05:00
James Cotton
176922f41c AndroidGCS: Also make the map disconnect its listeners. 2012-08-10 10:04:17 -05:00
James Cotton
749d695f4d AndroidGCS: ObjectManagerActivity maintains a list of objects it is getting
updates from and disconnects them on onStop().  This should probably move to
onPause / onResume
2012-08-10 10:04:11 -05:00
James Cotton
4bcb5437cd AndroidGCS: More refactoring of ObjectManagerActivity. Now the updates are
disconnected on pause and reestabilished on resume.  This only happens within
an onConnected/onDisconnected life cycle.
2012-08-10 09:48:10 -05:00
James Cotton
4594a59155 AndroidGCS: Also make the map disconnect its listeners. 2012-08-10 08:53:29 -05:00
James Cotton
56dfa62682 AndroidGCS: ObjectManagerActivity maintains a list of objects it is getting
updates from and disconnects them on onStop().  This should probably move to
onPause / onResume
2012-08-10 08:49:40 -05:00
James Cotton
1b8db4eeec AndroidGCS: When priority transmit queue is full this is not a reason to crash. 2012-08-10 02:18:30 -05:00
James Cotton
4bcac07c8c AndroidGCS: Because right now the object updated callbacks are not diconnected
when an activity goes away we need to check the view is valid when processing
the object callbacks.
2012-08-10 02:17:13 -05:00
James Cotton
92209f8e42 AndroidGCS bugfix: Missed a break in a case statement. 2012-08-10 02:17:13 -05:00
James Cotton
5eabb1777d AndroidGCS: Whitespace fixing for TelemetryMonitor 2012-08-10 02:17:12 -05:00
James Cotton
78469aa6a4 AndroidGCS: Use a WeakReference to stop the OPTelemetryService handle leaking. 2012-08-10 02:17:12 -05:00
James Cotton
37c4880fba AndroidGCS: Unregister the activity broadcast receiver onStop(). Create it
onStart() instead.
2012-08-10 02:15:38 -05:00
James Cotton
57b91b7763 AndroidGCS: UAVTalk no longer extends Observable since there is only one
listener anyway we use a setListener pattern.
2012-08-10 02:15:37 -05:00
James Cotton
f13f977177 Fix: Revert change to ObjectBrowser 2012-08-10 02:15:37 -05:00
James Cotton
7a42c7b10e AndroidGCS: Start supporting NAK and having uavTalk emit a transaction failed
and succeeded call.  Had to change the mask on the AndroidGCS side to match the
FC side.
2012-08-10 02:15:37 -05:00
James Cotton
fcff84007e Remove old OPTelemetryService 2012-08-10 02:14:44 -05:00
James Cotton
1c60d4b856 AndroidGCS: When priority transmit queue is full this is not a reason to crash. 2012-08-10 02:09:58 -05:00
James Cotton
7c6b81517e AndroidGCS: Somehow multiple disconnects were triggered. 2012-08-10 02:09:32 -05:00
James Cotton
91a8186e54 AndroidGCS: Because right now the object updated callbacks are not diconnected
when an activity goes away we need to check the view is valid when processing
the object callbacks.
2012-08-10 02:01:27 -05:00
James Cotton
dec044d0fa AndroidGCS bugfix: Missed a break in a case statement. 2012-08-10 02:00:55 -05:00
James Cotton
4313f1a3cc AndroidGCS: Whitespace fixing for TelemetryMonitor 2012-08-10 01:12:20 -05:00
James Cotton
0100b2a085 AndroidGCS: Use a WeakReference to stop the OPTelemetryService handle leaking. 2012-08-10 01:12:20 -05:00
James Cotton
54e239d6cb AndroidGCS: Unregister the activity broadcast receiver onStop(). Create it
onStart() instead.
2012-08-10 01:12:20 -05:00
James Cotton
d46a865229 AndroidGCS: UAVTalk no longer extends Observable since there is only one
listener anyway we use a setListener pattern.
2012-08-09 23:26:36 -05:00
James Cotton
3076a81347 Fix: Revert change to ObjectBrowser 2012-08-09 23:24:36 -05:00
James Cotton
5443dbb4ca AndroidGCS: Start supporting NAK and having uavTalk emit a transaction failed
and succeeded call.  Had to change the mask on the AndroidGCS side to match the
FC side.
2012-08-09 23:23:38 -05:00
James Cotton
c7abc42c5e Remove unused TelemetryManager file 2012-08-08 22:58:00 -05:00
James Cotton
fcb3e8c152 AndroidGCS: Check in a FragmentTester class and add it to the home page.
Use it to the beginnings of the MapPosition fragment.
2012-08-08 19:15:03 -05: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
41a46258be AndroidGCS: Change Sambas to not crash in AVD for bluetooth or if there are no
devices.
2012-08-08 13:43:09 -05:00
James Cotton
dd0a5b2cf2 AndroidGCS: Make home page buttons more vertical to work better on phones.
Maybe someone could make these automatically space out?
2012-08-08 13:17:30 -05:00
James Cotton
11a08c186c AndroidGCS: Refactor the Fragments into their own package to keep the UI
"components" segregated.  Is this good practice though?  It means making a lot
of functions for the API between ObjectManagerActivity and Fragment public.
2012-08-08 13:14:38 -05:00
James Cotton
95dfc88f95 AndroidGCS: Move the PFD functionality into a fragment and then
programmatically instantiate that from the test PFD activity
2012-08-08 13:14:01 -05:00
James Cotton
ce52b4d199 AndroidGCS: Get telemetry service working again properly when in multiple
packages.  Have to declare the full service name in AndroidManifest.xml which
seems not ideal.
2012-08-08 13:08:19 -05:00
James Cotton
ae36f39f1a AndroidGCS: Show some less shitty graphics for PFD 2012-08-08 12:20:29 -05:00
James Cotton
2e554ebf8e AndroidGCS: Move down some of the debugging output 2012-08-08 10:07:03 -05:00
James Cotton
ddb197a15d AndroidGCS: Move the telemetry functionality into its own package 2012-08-08 10:04:52 -05:00
James Cotton
07074ef41e AndroidGCS: Add copyright header of the other files 2012-08-08 09:22:09 -05:00
James Cotton
dc6b3af707 AndroidGCS: Add copyright headers to the UAVTalk/UAVObject/Telemetry implementations. 2012-08-08 09:06:31 -05:00
James Cotton
2008486922 AndroidGCS: Remove unused file 2012-08-08 09:00:31 -05:00
James Cotton
babe4d9f0e AndroidGCS: Make the fragment object updated callbacks register in the main
activity method and use the main activity handler to consolidate things into
one place.
2012-08-08 08:55:58 -05:00
James Cotton
6bed9fcb3c AndroidGCS: Create a fragment API.
The ObjectManagerFragment will automatically registers against the
activity to be notified when an onOPConnected or onOPDisconnected method
occurs.  The Fragment API also duplicates the registerObjectUpdates(UAVObject)
method from ObjectManagerActivity so that it's objectUpdated() method is called
whenever and using the appropriate UI thread.
2012-08-08 08:37:35 -05:00
James Cotton
0f0e5faba0 AndroidGCS: Update objects to match next 2012-08-06 17:01:59 -05:00
James Cotton
19b5cf4616 AndroidGCS: In the SystemAlarms display rank fields by alarm severity. Also
make hte fake telemetry object generate alarms.
2012-08-06 16:55:02 -05:00
James Cotton
a3038af4ad AndroidGCS: An ugly system alarms gadget that lists all the alarm values 2012-08-06 16:55:02 -05:00
James Cotton
3eb84e188e AndroidGCS: Revert a line of c24164d661 which will probably
bring back a memory leak but stops crashing when you reopen the same activity

Bug introduced here again!
2012-08-06 16:55:02 -05:00
James Cotton
f3dd96ed1d AndroidGCS: Add a telemetry monitor to the action bar that shows the TX/RX data
rate.  Right now seem to have a bug when going into the same widget twice it
crashes teh second time.
2012-08-06 16:55:02 -05:00
James Cotton
578689748b AndroidGCS: Artwork for a telemetry monitor in the action bar 2012-08-06 16:55:02 -05:00
James Cotton
0601fd8b33 AndroidGCS: Add a launcher icon for the SystemAlarms gadget 2012-08-06 16:55:01 -05:00
James Cotton
a5933b7af5 AndroidGCS: Logger now displays the number of bytes and objects logged. 2012-08-06 16:55:01 -05:00
James Cotton
01a8c4a7e1 AndroidGCS: Write logging in the format consistent with how we record on the
ground station and can parse from matlab.
2012-08-06 16:55:01 -05:00
James Cotton
eb13db4126 AndroidGCS: Get the logger writing a list of updated objects 2012-08-06 16:55:01 -05:00
James Cotton
f986a83ef6 AndroidGCS: Unregister from the broadcast receiver when destroying
ObjectManagerActivity.
2012-08-06 16:55:01 -05:00
James Cotton
c9124d5676 AndroidGCS: Class to facilitate selecting a bluetooth device in the preferences
pane
2012-08-06 16:55:01 -05:00
James Cotton
0274c8c860 AndroidGCS: Check in the stubs for a logging activity which will eventually
move into the service and this will become the control interface.
2012-08-06 16:55:01 -05:00
James Cotton
51765f4033 AndroidGCS: Missed some map icons 2012-08-06 16:55:01 -05:00
James Cotton
13392d0f20 AndroidGCS: Get rid of remaining warnings 2012-08-06 16:55:00 -05:00
James Cotton
7a214dc6cb AndroidGCS: Clean up some warnings in UAVO templates 2012-08-06 16:55:00 -05:00
James Cotton
3f881454da AndroidGCS: Update preferences to the new Fragment API 2012-08-06 16:55:00 -05:00
James Cotton
e80aad99c0 AndroidGCS: Correct the equation for converting PositionActual (NED) to world
coordinates
2012-08-06 16:55:00 -05:00
James Cotton
d18b3bbbf6 AndroidGCS: Add the device location to the map overlay. Improve the icons for
the UAV and home location.
2012-08-06 16:55:00 -05:00
James Cotton
bebeb78a06 AndroidGCS: Update the API key for my debugging key. I guess everyone testing
will need to merge in their own key for hte location engine.
2012-08-06 16:55:00 -05:00
James Cotton
4997f1198c AndroidGCS: As soon as the controller is released set the throttle to -1 2012-08-06 16:55:00 -05:00
James Cotton
b1780701d7 AndroidGCS: Use a timer when computing the update time for GCSTelemetryStats 2012-08-06 16:54:59 -05:00
James Cotton
e359b96b09 AndroidGCS: After terminating the telemetry connection make sure to close the
TCP socket or the android system will keep it active and block reconnections.
2012-08-06 16:54:59 -05:00
James Cotton
5670a958a8 AndroidGCS: Propagate the exceptions from the low level UAVTalk methods up to
the high level monitoring so it knows when the connection has been terminated.
2012-08-06 16:54:59 -05:00
James Cotton
4c1171e1fb AndroidGCS: Joystick can now control UAV 2012-08-06 16:54:59 -05:00
James Cotton
6ff3378dbe AndroidGCS: Add load button to the object browser. 2012-08-06 16:54:59 -05:00
James Cotton
87f6700d74 AndroidGCS: Respond to the virtual pad movements and stop transmitting updates
when they are released.
2012-08-06 16:54:59 -05:00
James Cotton
8b26696e77 Fixup: Correct typo in controller 2012-08-06 16:54:59 -05:00
James Cotton
48701f3252 Fixup: Make browser use a smaller column width for the list of objects than
their contents
2012-08-06 16:54:59 -05:00
James Cotton
cc1d44b49b Fixup: Typo in disconnected 2012-08-06 16:54:58 -05:00
James Cotton
91bd93798d AndroidGCS: UAVO browser requests an update when it displays objects to make
sure they are current.  For some reason some settings aren't properly getting
initialized on connection.
2012-08-06 16:54:58 -05:00
James Cotton
eb98baa6cd AndroidGCS: Cleanup for some debugging output in telemetry. Make
uppdateRequested() a public method so anything can request a UAVO update.
2012-08-06 16:54:58 -05:00
James Cotton
410aec8c94 AndroidGCS: Controller gadget that uses virtual joypad to control UAV 2012-08-06 16:54:58 -05:00
James Cotton
8982765307 AndroidGCS: Clean up start page and improve the icons. 2012-08-06 16:54:58 -05:00
James Cotton
ee54ca47f4 AndroidGCS: Fix the getDouble() method for enum fields and make the UAVO
browser properly initialize enums in editing mode
2012-08-06 16:54:58 -05:00
James Cotton
f04930b8cf AndroidGCS: Clean up messaging from TelemetryService 2012-08-06 16:54:58 -05:00
James Cotton
91b2d667c1 AndroidGCS: Hardcode some dimensions on the editor dialog so the keyboard fits
more nicely with it.
2012-08-06 16:54:58 -05:00
James Cotton
bfdb5749b3 Fixup: Lower the debugging output for uavtalk 2012-08-06 16:54:57 -05:00