altosdroid: Add telemetry rate support
[fw/altos] / altosdroid / src / org / altusmetrum / AltosDroid / TelemetryService.java
index 0236b537a2271d41028e9ad7d6ab48238a49853a..4ec353e30e88ff2d298b8bea8cb7005607061699 100644 (file)
@@ -36,13 +36,15 @@ import android.os.Handler;
 import android.os.Message;
 import android.os.Messenger;
 import android.os.RemoteException;
+import android.os.Looper;
 import android.util.Log;
 import android.widget.Toast;
 import android.location.Location;
 import android.location.LocationManager;
 import android.location.LocationListener;
+import android.location.Criteria;
 
-import org.altusmetrum.altoslib_1.*;
+import org.altusmetrum.altoslib_5.*;
 
 
 public class TelemetryService extends Service implements LocationListener {
@@ -59,6 +61,7 @@ public class TelemetryService extends Service implements LocationListener {
        static final int MSG_TELEMETRY         = 7;
        static final int MSG_SETFREQUENCY      = 8;
        static final int MSG_CRC_ERROR         = 9;
+       static final int MSG_SETBAUD           = 10;
 
        public static final int STATE_NONE       = 0;
        public static final int STATE_READY      = 1;
@@ -160,6 +163,11 @@ public class TelemetryService extends Service implements LocationListener {
                                        }
                                }
                                break;
+                       case MSG_SETBAUD:
+                               if (s.state == STATE_CONNECTED) {
+                                       s.mAltosBluetooth.set_telemetry_rate((Integer) msg.obj);
+                               }
+                               break;
                        default:
                                super.handleMessage(msg);
                        }
@@ -280,8 +288,8 @@ public class TelemetryService extends Service implements LocationListener {
                // Listen for GPS and Network position updates
                LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
                
-               locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
-               locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this);
+               locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 1, this);
+//             locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this);
        }
 
        @Override