compass KRI 2018
CMPS_KRAI.h@0:595938ba3741, 2018-07-21 (annotated)
- Committer:
- calmantara186
- Date:
- Sat Jul 21 14:22:08 2018 +0000
- Revision:
- 0:595938ba3741
c
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
calmantara186 | 0:595938ba3741 | 1 | /** |
calmantara186 | 0:595938ba3741 | 2 | * adopted from |
calmantara186 | 0:595938ba3741 | 3 | * CMPS03 by: Aarom Berk |
calmantara186 | 0:595938ba3741 | 4 | * |
calmantara186 | 0:595938ba3741 | 5 | * Bismillahirahmanirrahim |
calmantara186 | 0:595938ba3741 | 6 | */ |
calmantara186 | 0:595938ba3741 | 7 | |
calmantara186 | 0:595938ba3741 | 8 | #ifndef CMPS_KRAI_H |
calmantara186 | 0:595938ba3741 | 9 | #define CMPS_KRAI_H |
calmantara186 | 0:595938ba3741 | 10 | |
calmantara186 | 0:595938ba3741 | 11 | /** |
calmantara186 | 0:595938ba3741 | 12 | * Includes |
calmantara186 | 0:595938ba3741 | 13 | */ |
calmantara186 | 0:595938ba3741 | 14 | #include "mbed.h" |
calmantara186 | 0:595938ba3741 | 15 | |
calmantara186 | 0:595938ba3741 | 16 | #define CMPS_DEFAULT_I2C_ADDRESS 0xC0 |
calmantara186 | 0:595938ba3741 | 17 | //set register kompas |
calmantara186 | 0:595938ba3741 | 18 | #define SOFTWARE_REVISION_REG 0x0 |
calmantara186 | 0:595938ba3741 | 19 | #define COMPASS_BEARING_WORD_REG 0x2 |
calmantara186 | 0:595938ba3741 | 20 | |
calmantara186 | 0:595938ba3741 | 21 | //Inisiasi I2C komunikasi dari kompas |
calmantara186 | 0:595938ba3741 | 22 | class CMPS_KRAI { |
calmantara186 | 0:595938ba3741 | 23 | |
calmantara186 | 0:595938ba3741 | 24 | I2C* i2c; |
calmantara186 | 0:595938ba3741 | 25 | int i2cAddress; |
calmantara186 | 0:595938ba3741 | 26 | |
calmantara186 | 0:595938ba3741 | 27 | public: |
calmantara186 | 0:595938ba3741 | 28 | |
calmantara186 | 0:595938ba3741 | 29 | /** |
calmantara186 | 0:595938ba3741 | 30 | * Constructor. |
calmantara186 | 0:595938ba3741 | 31 | * |
calmantara186 | 0:595938ba3741 | 32 | * @param sda mbed pin to use for I2C SDA |
calmantara186 | 0:595938ba3741 | 33 | * @param scl mbed pin to use for I2C SCL |
calmantara186 | 0:595938ba3741 | 34 | * @param address I2C address of this device. |
calmantara186 | 0:595938ba3741 | 35 | */ |
calmantara186 | 0:595938ba3741 | 36 | CMPS_KRAI(PinName sda, PinName scl, int address); |
calmantara186 | 0:595938ba3741 | 37 | |
calmantara186 | 0:595938ba3741 | 38 | /** |
calmantara186 | 0:595938ba3741 | 39 | * Membaca revisi dari kompas |
calmantara186 | 0:595938ba3741 | 40 | */ |
calmantara186 | 0:595938ba3741 | 41 | char readSoftwareRevision(void); |
calmantara186 | 0:595938ba3741 | 42 | |
calmantara186 | 0:595938ba3741 | 43 | /** |
calmantara186 | 0:595938ba3741 | 44 | * Membaca nilai dari kompas |
calmantara186 | 0:595938ba3741 | 45 | * Range nilai 0 - 3599 |
calmantara186 | 0:595938ba3741 | 46 | */ |
calmantara186 | 0:595938ba3741 | 47 | int readBearing(void); |
calmantara186 | 0:595938ba3741 | 48 | |
calmantara186 | 0:595938ba3741 | 49 | /** |
calmantara186 | 0:595938ba3741 | 50 | * Kalibrasi kompas |
calmantara186 | 0:595938ba3741 | 51 | */ |
calmantara186 | 0:595938ba3741 | 52 | void calibrate(void); |
calmantara186 | 0:595938ba3741 | 53 | |
calmantara186 | 0:595938ba3741 | 54 | /** |
calmantara186 | 0:595938ba3741 | 55 | * Stop calibrate |
calmantara186 | 0:595938ba3741 | 56 | */ |
calmantara186 | 0:595938ba3741 | 57 | void stopCalibrate(void); |
calmantara186 | 0:595938ba3741 | 58 | }; |
calmantara186 | 0:595938ba3741 | 59 | |
calmantara186 | 0:595938ba3741 | 60 | #endif /* CMPS_KRAI_H */ |