interface class for an inertial measurement unit that uses a serial protocol.

Dependencies:   mbed

Committer:
Blaze513
Date:
Tue Aug 31 04:38:14 2010 +0000
Revision:
0:fd1fce2347d9

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Blaze513 0:fd1fce2347d9 1 #ifndef MS3DMGX2Library
Blaze513 0:fd1fce2347d9 2 #define MS3DMGX2Library
Blaze513 0:fd1fce2347d9 3
Blaze513 0:fd1fce2347d9 4 #include "stdint.h"
Blaze513 0:fd1fce2347d9 5 #include "mbed.h"
Blaze513 0:fd1fce2347d9 6
Blaze513 0:fd1fce2347d9 7 class MS3DMGX2
Blaze513 0:fd1fce2347d9 8 {
Blaze513 0:fd1fce2347d9 9 private:
Blaze513 0:fd1fce2347d9 10 Serial DataLines;
Blaze513 0:fd1fce2347d9 11
Blaze513 0:fd1fce2347d9 12 unsigned char ModeCommand;
Blaze513 0:fd1fce2347d9 13 unsigned char ModeLength;
Blaze513 0:fd1fce2347d9 14 unsigned char ModeSync;
Blaze513 0:fd1fce2347d9 15 unsigned char Workspace[72];
Blaze513 0:fd1fce2347d9 16 float* InterruptBuffer;
Blaze513 0:fd1fce2347d9 17
Blaze513 0:fd1fce2347d9 18 void Interrupt();
Blaze513 0:fd1fce2347d9 19 void CheckSum(unsigned char Header, unsigned char Length,
Blaze513 0:fd1fce2347d9 20 unsigned char* Data, unsigned char* Timer, unsigned char* Result);
Blaze513 0:fd1fce2347d9 21
Blaze513 0:fd1fce2347d9 22 public:
Blaze513 0:fd1fce2347d9 23 MS3DMGX2(PinName tx, PinName rx);
Blaze513 0:fd1fce2347d9 24 unsigned char Mode(unsigned char Selection);
Blaze513 0:fd1fce2347d9 25 void AttachInterruptBuffer(float* Buffer);
Blaze513 0:fd1fce2347d9 26 void RequestSyncRead();
Blaze513 0:fd1fce2347d9 27 void DiscardSerialBuffer();
Blaze513 0:fd1fce2347d9 28 unsigned char Read(float* Data);
Blaze513 0:fd1fce2347d9 29 };
Blaze513 0:fd1fce2347d9 30
Blaze513 0:fd1fce2347d9 31 #endif