mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2024-12-04 12:24:11 +01:00
Make port and bluetooth adapter be listed in the preferences. Using the BT
adapter not working yet.
This commit is contained in:
parent
45f4ae0701
commit
20b585383d
@ -11,5 +11,13 @@
|
|||||||
android:summary="Enter a TCP/IP address here"
|
android:summary="Enter a TCP/IP address here"
|
||||||
android:defaultValue="192.168.0.1" android:title="IP address:"
|
android:defaultValue="192.168.0.1" android:title="IP address:"
|
||||||
android:key="ip_address" />
|
android:key="ip_address" />
|
||||||
|
<EditTextPreference android:name="port"
|
||||||
|
android:summary="Enter a TCP/IP port here"
|
||||||
|
android:defaultValue="9001" android:title="Port:"
|
||||||
|
android:key="port" />
|
||||||
|
<org.openpilot.androidgcs.BluetoothDevicePreference android:name="bt_adapter"
|
||||||
|
android:key="bluetooth_mac"
|
||||||
|
android:title="Bluetooth Device"
|
||||||
|
android:dialogTitle="Choose Bluetooth Device" />
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
@ -7,6 +7,7 @@ import java.util.UUID;
|
|||||||
import org.openpilot.uavtalk.UAVObjectManager;
|
import org.openpilot.uavtalk.UAVObjectManager;
|
||||||
import org.openpilot.uavtalk.UAVTalk;
|
import org.openpilot.uavtalk.UAVTalk;
|
||||||
|
|
||||||
|
import android.annotation.TargetApi;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.bluetooth.BluetoothAdapter;
|
import android.bluetooth.BluetoothAdapter;
|
||||||
import android.bluetooth.BluetoothDevice;
|
import android.bluetooth.BluetoothDevice;
|
||||||
@ -14,16 +15,18 @@ import android.bluetooth.BluetoothSocket;
|
|||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.content.SharedPreferences;
|
||||||
|
import android.preference.PreferenceManager;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
public class BluetoothUAVTalk {
|
@TargetApi(10) public class BluetoothUAVTalk {
|
||||||
private final String TAG = "BluetoothUAVTalk";
|
private final String TAG = "BluetoothUAVTalk";
|
||||||
public static int LOGLEVEL = 2;
|
public static int LOGLEVEL = 2;
|
||||||
public static boolean WARN = LOGLEVEL > 1;
|
public static boolean WARN = LOGLEVEL > 1;
|
||||||
public static boolean DEBUG = LOGLEVEL > 0;
|
public static boolean DEBUG = LOGLEVEL > 0;
|
||||||
|
|
||||||
// Temporarily define fixed device name
|
// Temporarily define fixed device name
|
||||||
public final static String DEVICE_NAME = "RN42-222D";
|
private String device_name = "RN42-222D";
|
||||||
private final static UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
|
private final static UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
|
||||||
|
|
||||||
private BluetoothAdapter mBluetoothAdapter;
|
private BluetoothAdapter mBluetoothAdapter;
|
||||||
@ -32,8 +35,12 @@ public class BluetoothUAVTalk {
|
|||||||
private UAVTalk uavTalk;
|
private UAVTalk uavTalk;
|
||||||
private boolean connected;
|
private boolean connected;
|
||||||
|
|
||||||
public BluetoothUAVTalk(Context caller, String deviceName) {
|
public BluetoothUAVTalk(Context caller) {
|
||||||
if (DEBUG) Log.d(TAG, "Trying to open UAVTalk with " + deviceName);
|
|
||||||
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(caller);
|
||||||
|
device_name = prefs.getString("bluetooth_mac","");
|
||||||
|
|
||||||
|
if (DEBUG) Log.d(TAG, "Trying to open UAVTalk with " + device_name);
|
||||||
|
|
||||||
connected = false;
|
connected = false;
|
||||||
device = null;
|
device = null;
|
||||||
@ -93,7 +100,7 @@ public class BluetoothUAVTalk {
|
|||||||
// Add the name and address to an array adapter to show in a ListView
|
// Add the name and address to an array adapter to show in a ListView
|
||||||
//mArrayAdapter.add(device.getName() + "\n" + device.getAddress());
|
//mArrayAdapter.add(device.getName() + "\n" + device.getAddress());
|
||||||
Log.d(TAG, "Paired device: " + device.getName());
|
Log.d(TAG, "Paired device: " + device.getName());
|
||||||
if(device.getName().compareTo(DEVICE_NAME) == 0) {
|
if(device.getName().compareTo(device_name) == 0) {
|
||||||
this.device = device;
|
this.device = device;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -277,7 +277,7 @@ public class OPTelemetryService extends Service {
|
|||||||
|
|
||||||
Looper.prepare();
|
Looper.prepare();
|
||||||
|
|
||||||
BluetoothUAVTalk bt = new BluetoothUAVTalk(OPTelemetryService.this, BluetoothUAVTalk.DEVICE_NAME);
|
BluetoothUAVTalk bt = new BluetoothUAVTalk(OPTelemetryService.this);
|
||||||
for( int i = 0; i < 10; i++ ) {
|
for( int i = 0; i < 10; i++ ) {
|
||||||
if (DEBUG) Log.d(TAG, "Attempting Bluetooth Connection");
|
if (DEBUG) Log.d(TAG, "Attempting Bluetooth Connection");
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ public class TcpUAVTalk {
|
|||||||
|
|
||||||
// Temporarily define fixed device name
|
// Temporarily define fixed device name
|
||||||
private String ip_address = "1";
|
private String ip_address = "1";
|
||||||
public final static int PORT = 9001;
|
private int port = 9001;
|
||||||
|
|
||||||
private UAVTalk uavTalk;
|
private UAVTalk uavTalk;
|
||||||
private boolean connected;
|
private boolean connected;
|
||||||
@ -28,8 +28,12 @@ public class TcpUAVTalk {
|
|||||||
public TcpUAVTalk(Context caller) {
|
public TcpUAVTalk(Context caller) {
|
||||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(caller);
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(caller);
|
||||||
ip_address = prefs.getString("ip_address","127.0.0.1");
|
ip_address = prefs.getString("ip_address","127.0.0.1");
|
||||||
|
try {
|
||||||
|
port = Integer.decode(prefs.getString("port", ""));
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
}
|
||||||
|
|
||||||
if (DEBUG) Log.d(TAG, "Trying to open UAVTalk with " + ip_address);
|
if (DEBUG) Log.d(TAG, "Trying to open UAVTalk with " + ip_address);
|
||||||
|
|
||||||
connected = false;
|
connected = false;
|
||||||
}
|
}
|
||||||
@ -52,7 +56,7 @@ public class TcpUAVTalk {
|
|||||||
|
|
||||||
|
|
||||||
private boolean openTelemetryTcp(UAVObjectManager objMngr) {
|
private boolean openTelemetryTcp(UAVObjectManager objMngr) {
|
||||||
Log.d(TAG, "Opening connection to " + ip_address + " at address " + PORT);
|
Log.d(TAG, "Opening connection to " + ip_address + " at address " + port);
|
||||||
|
|
||||||
InetAddress serverAddr = null;
|
InetAddress serverAddr = null;
|
||||||
try {
|
try {
|
||||||
@ -65,7 +69,7 @@ public class TcpUAVTalk {
|
|||||||
|
|
||||||
Socket socket = null;
|
Socket socket = null;
|
||||||
try {
|
try {
|
||||||
socket = new Socket(serverAddr,PORT);
|
socket = new Socket(serverAddr,port);
|
||||||
} catch (IOException e1) {
|
} catch (IOException e1) {
|
||||||
// TODO Auto-generated catch block
|
// TODO Auto-generated catch block
|
||||||
e1.printStackTrace();
|
e1.printStackTrace();
|
||||||
|
Loading…
Reference in New Issue
Block a user