Code for an autonomous plane I'm building. Includes process scheduling, process communication, and hardware sensor interfacing (via I2C). NOTE: currently in development, source code will be updated frequently.

Dependencies:   mbed

Revision:
0:0c627ff4c5ed
Child:
2:452dd766d212
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sensor.h	Wed Oct 30 02:31:43 2013 +0000
@@ -0,0 +1,55 @@
+#ifndef SENSOR_H
+#define SENSOR_H
+
+#include "mbed.h"
+
+
+
+#define accel_w 0x3A
+#define accel_r 0x3B
+#define ACCEL_X 0x32 // x: 0x32,0x33 y: 0x34,0x35 z: 0x36,0x37 Little Endian!!! (x = 0x33<<8|0x22), etc...
+#define ACCEL_Z
+#define gyro_w 0xD0
+#define gyro_r 0xD1
+#define compass_w 0x3C
+#define compass_r 0x3D
+#define barometer_w 0xEE
+#define barometer_r 0xEF
+
+struct accel
+{
+    int ax, ay, az;
+    char raw_data[6];
+};
+
+struct gyro
+{
+    int gy, gx, gz;
+};
+
+struct config
+{
+    int frequency;
+};
+
+
+char set_i2c_pointer(char addr, char reg);   
+
+int read(char addr, char reg, char *buf, int n);
+
+int write(char addr, char reg, char *buf, int n);
+
+int read_accelerometer(struct accel* s);
+
+void read_gyro(struct gyro* s);
+int read_compass(void);
+int read_barometer(void);
+
+void config_accelerometer(void);
+void config_gyro(void);
+void config_compass(void);
+void config_barometer(void);
+
+void config_gy80(struct config *c);
+
+#endif //SENSOR_H
\ No newline at end of file