diff --git a/androidgcs/AndroidManifest.xml b/androidgcs/AndroidManifest.xml
index d6d85d5e7..f6a728378 100644
--- a/androidgcs/AndroidManifest.xml
+++ b/androidgcs/AndroidManifest.xml
@@ -28,6 +28,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/androidgcs/src/org/openpilot/androidgcs/HomePage.java b/androidgcs/src/org/openpilot/androidgcs/HomePage.java
index c67605ee6..500afeec3 100644
--- a/androidgcs/src/org/openpilot/androidgcs/HomePage.java
+++ b/androidgcs/src/org/openpilot/androidgcs/HomePage.java
@@ -48,6 +48,12 @@ public class HomePage extends ObjectManagerActivity {
}
});
+ Button alarms = (Button) findViewById(R.id.launch_alarms);
+ alarms.setOnClickListener(new OnClickListener() {
+ public void onClick(View arg0) {
+ startActivity(new Intent(HomePage.this, SystemAlarmActivity.class));
+ }
+ });
}
}
diff --git a/androidgcs/src/org/openpilot/androidgcs/SystemAlarmActivity.java b/androidgcs/src/org/openpilot/androidgcs/SystemAlarmActivity.java
new file mode 100644
index 000000000..b69c2a297
--- /dev/null
+++ b/androidgcs/src/org/openpilot/androidgcs/SystemAlarmActivity.java
@@ -0,0 +1,45 @@
+package org.openpilot.androidgcs;
+
+import java.util.List;
+
+import org.openpilot.uavtalk.UAVObject;
+import org.openpilot.uavtalk.UAVObjectField;
+
+import android.os.Bundle;
+import android.widget.TextView;
+
+public class SystemAlarmActivity extends ObjectManagerActivity {
+ /**
+ * Update the UI whenever the attitude is updated
+ */
+ protected void objectUpdated(UAVObject obj) {
+ if (obj.getName().compareTo("SystemAlarms") != 0)
+ return;
+
+ TextView alarms = (TextView) findViewById(R.id.system_alarms_status);
+ UAVObjectField a = obj.getField("Alarm");
+ List names = a.getElementNames();
+ String contents = new String();
+ for (int i = 0; i < names.size(); i++) {
+ contents += names.get(i) + " : " + a.getValue(i).toString() + "\n";
+ }
+ alarms.setText(contents);
+ }
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.system_alarms);
+ }
+
+ @Override
+ void onOPConnected() {
+ super.onOPConnected();
+
+ // Connect the update method to AttitudeActual
+ UAVObject obj = objMngr.getObject("SystemAlarms");
+ if (obj != null)
+ registerObjectUpdates(obj);
+ objectUpdated(obj);
+ }
+}