Tony YI
/
ESDC2014
123123123123123123123123123
compass.h@3:4306d042af6f, 2014-07-03 (annotated)
- Committer:
- TonyYI
- Date:
- Thu Jul 03 14:52:44 2014 +0000
- Revision:
- 3:4306d042af6f
- Parent:
- 2:442902ec3aa1
123123
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
terryLAI | 1:cbec1283a16a | 1 | #ifndef COMPASS_H |
terryLAI | 1:cbec1283a16a | 2 | #define COMPASS_H |
TonyYI | 0:3417ca0a36c0 | 3 | |
TonyYI | 0:3417ca0a36c0 | 4 | #include "mbed.h" |
terryLAI | 1:cbec1283a16a | 5 | #include "define.h" |
TonyYI | 0:3417ca0a36c0 | 6 | |
terryLAI | 1:cbec1283a16a | 7 | #define RUN_MSB 0xC7 |
terryLAI | 1:cbec1283a16a | 8 | #define RUN_LSB 0x10 |
terryLAI | 1:cbec1283a16a | 9 | |
terryLAI | 1:cbec1283a16a | 10 | #define STOP_MSB 0xC6 |
terryLAI | 1:cbec1283a16a | 11 | #define STOP_LSB 0x10 |
terryLAI | 1:cbec1283a16a | 12 | |
terryLAI | 1:cbec1283a16a | 13 | #define RESUME_MSB 0xD1 |
terryLAI | 1:cbec1283a16a | 14 | #define RESUME_LSB 0x10 |
TonyYI | 0:3417ca0a36c0 | 15 | |
terryLAI | 1:cbec1283a16a | 16 | #define RST_MSB 0xC2 |
terryLAI | 1:cbec1283a16a | 17 | #define RST_LSB 0x10 |
TonyYI | 0:3417ca0a36c0 | 18 | |
terryLAI | 1:cbec1283a16a | 19 | #define RESUME_MSB 0xD1 |
terryLAI | 1:cbec1283a16a | 20 | #define RESUME_LSB 0x10 |
terryLAI | 1:cbec1283a16a | 21 | |
terryLAI | 1:cbec1283a16a | 22 | #define COMPASS_TX p9 |
terryLAI | 1:cbec1283a16a | 23 | #define COMPASS_RX p10 |
terryLAI | 1:cbec1283a16a | 24 | |
TonyYI | 3:4306d042af6f | 25 | #define _BUFFER_SIZE 512 |
TonyYI | 0:3417ca0a36c0 | 26 | |
TonyYI | 0:3417ca0a36c0 | 27 | #define DECLINATIONANGLE -0.0457 |
TonyYI | 0:3417ca0a36c0 | 28 | #define OFFSET 0 |
TonyYI | 0:3417ca0a36c0 | 29 | |
TonyYI | 0:3417ca0a36c0 | 30 | #include <math.h> |
TonyYI | 0:3417ca0a36c0 | 31 | |
terryLAI | 1:cbec1283a16a | 32 | class COMPASS |
TonyYI | 0:3417ca0a36c0 | 33 | { |
TonyYI | 0:3417ca0a36c0 | 34 | public: |
TonyYI | 3:4306d042af6f | 35 | COMPASS(MySerial* serial); |
TonyYI | 3:4306d042af6f | 36 | uint16_t read(); |
TonyYI | 3:4306d042af6f | 37 | void putToBuffer(uint8_t data); |
TonyYI | 0:3417ca0a36c0 | 38 | |
TonyYI | 0:3417ca0a36c0 | 39 | |
terryLAI | 1:cbec1283a16a | 40 | private: |
TonyYI | 3:4306d042af6f | 41 | MySerial* _serial; |
TonyYI | 3:4306d042af6f | 42 | uint16_t _degree; |
TonyYI | 3:4306d042af6f | 43 | uint8_t flag; |
TonyYI | 3:4306d042af6f | 44 | uint8_t count; |
TonyYI | 3:4306d042af6f | 45 | float declinationAngle; |
TonyYI | 3:4306d042af6f | 46 | int offset; |
TonyYI | 3:4306d042af6f | 47 | uint16_t buffer_count; |
TonyYI | 3:4306d042af6f | 48 | char temp[2]; |
TonyYI | 3:4306d042af6f | 49 | char buffer[_BUFFER_SIZE]; |
TonyYI | 3:4306d042af6f | 50 | uint16_t twobytes; |
TonyYI | 3:4306d042af6f | 51 | uint8_t hundreds,tens,digits; |
TonyYI | 0:3417ca0a36c0 | 52 | |
terryLAI | 1:cbec1283a16a | 53 | void init(); |
TonyYI | 3:4306d042af6f | 54 | void write2Bytes(char msb, char lsb); |
TonyYI | 3:4306d042af6f | 55 | |
terryLAI | 1:cbec1283a16a | 56 | void run(); |
terryLAI | 1:cbec1283a16a | 57 | void stop(); |
terryLAI | 1:cbec1283a16a | 58 | void resume(); |
terryLAI | 1:cbec1283a16a | 59 | void reset(); |
terryLAI | 1:cbec1283a16a | 60 | |
TonyYI | 3:4306d042af6f | 61 | // void check_time_out(); |
TonyYI | 3:4306d042af6f | 62 | // void time_out_init(); |
TonyYI | 0:3417ca0a36c0 | 63 | }; |
TonyYI | 0:3417ca0a36c0 | 64 | |
terryLAI | 1:cbec1283a16a | 65 | #endif /* COMPASS_H */ |