Flying Sea Glider / Mbed 2 deprecated 2019_13sep_jcw_nosd

Dependencies:   mbed MODSERIAL FATFileSystem

Revision:
9:d5fcdcb3c89d
Child:
10:085ab7328054
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/IMU/IMU.h	Fri Oct 20 11:41:22 2017 +0000
@@ -0,0 +1,36 @@
+#include "mbed.h"
+#include "MODSERIAL.h"
+
+#define _PI ((float) 3.14159265359)
+
+class IMU{
+public:
+    IMU();
+    void initialize();
+    void update();
+    void start();
+    void stop();
+   
+protected:
+    Ticker interval;
+    MODSERIAL _rs232;
+    unsigned char SYNC1;             // First sync byte will always be 'u' (0x75)
+    unsigned char SYNC2;             // Second sync byte will always be 'e' (0x65)
+    unsigned char descripter_set;    // Descriptor set byte for AHRS (0x80)
+    int payload_length;              // Payload length byte for CF Euler Angles (0x0E)
+    int field_length;                // Field length byte for CF Euler Angles (0x0E)
+    unsigned char data_descriptor;   // Data descriptor byte for CF Euler Angles (0x0C)
+    unsigned char data[30];          // Data sent CF euler angles rpy [radians]      
+    int data_offset;                 // Binary offset
+    int roll_offset;                 // Binary offset
+    int pitch_offset;                // Binary offset
+    int yaw_offset;                  // Binary offset
+    float euler[3];    
+    
+    int i;                       // set packet_length based on field_length (convert from hex to int)
+    unsigned char current;
+    unsigned char last;
+    
+    float float_from_char(unsigned char * value);
+};
+