- Timestamp:
- Apr 30, 2016, 11:29:25 PM (8 years ago)
- Location:
- rtos_arduino/trunk/arduino_lib/libraries/LuckyShield/src/lib
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
rtos_arduino/trunk/arduino_lib/libraries/LuckyShield/src/lib/Adafruit_SSD1306.cpp
r175 r224 32 32 #include "Adafruit_SSD1306.h" 33 33 34 #ifdef __SAM3X8E__ 35 #define Wire Wire1 36 #endif 34 37 // the memory buffer for the LCD 35 38 -
rtos_arduino/trunk/arduino_lib/libraries/LuckyShield/src/lib/Adafruit_SSD1306.h
r175 r224 164 164 int8_t _i2caddr, _vccstate, sid, sclk, dc, rst, cs; 165 165 166 boolean hwSPI;167 PortReg *mosiport, *clkport, *csport, *dcport;168 PortMask mosipinmask, clkpinmask, cspinmask, dcpinmask;166 //boolean hwSPI; 167 //PortReg *mosiport, *clkport, *csport, *dcport; 168 //PortMask mosipinmask, clkpinmask, cspinmask, dcpinmask; 169 169 170 170 inline void drawFastVLineInternal(int16_t x, int16_t y, int16_t h, uint16_t color) __attribute__((always_inline)); -
rtos_arduino/trunk/arduino_lib/libraries/LuckyShield/src/lib/BME280.cpp
r175 r224 19 19 #include "BME280.h" 20 20 21 #ifdef __SAM3X8E__ 22 #define Wire Wire1 23 #endif 21 24 22 25 /*************************************************************************** -
rtos_arduino/trunk/arduino_lib/libraries/LuckyShield/src/lib/CAT9555.cpp
r175 r224 28 28 #include "CAT9555.h" 29 29 #include <Wire.h> 30 31 #ifdef __SAM3X8E__ 32 #define Wire Wire1 33 #endif 30 34 31 35 // CONSTRUCTUR -
rtos_arduino/trunk/arduino_lib/libraries/LuckyShield/src/lib/MAG3110.cpp
r175 r224 16 16 17 17 //Constructor 18 MAG3110::MAG3110() 19 { 20 21 } 22 23 18 // MAG3110::MAG3110() 19 // { 20 // } 24 21 25 22 // Configure magnetometer 26 23 void MAG3110::begin(void) { 27 //CTRL_REG1 28 //DR2|DR1|DR0|OS1|OS0|FastRead|Trigger|ActiveMode| 29 // 0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |=dec121 24 30 25 Wire.beginTransmission(MAG_ADDR);// transmit to device 0x0E 31 Wire.write(0x1 0); // cntrl register132 Wire.write(0x 79); // Active Mode, 1.25 Hz datarate, 8x oversampling33 Wire.endTransmission(); 26 Wire.write(0x11); // cntrl register2 27 Wire.write(0x80); // send 0x80, enable auto resets 28 Wire.endTransmission(); // stop transmitting 34 29 35 30 delay(15); 36 31 37 //CTRL_REG2:38 //AutoMagRst|---|Raw|Mag_Rst|---|---|---|---|39 // 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |40 32 Wire.beginTransmission(MAG_ADDR);// transmit to device 0x0E 41 Wire.write(0x1 1); // cntrl register242 Wire.write( 0x80); // Auto resets before each measurement43 Wire.endTransmission(); 33 Wire.write(0x10); // cntrl register1 34 Wire.write(1); // send 0x01, active mode 35 Wire.endTransmission(); // stop transmitting 44 36 } 45 37 38 void MAG3110::read() 39 { 40 mag_x =read16Data(0x01,0x02); 41 mag_y =read16Data(0x03,0x04); 42 mag_z =read16Data(0x05,0x06); 43 } 44 // read X value 46 45 47 // read X value 48 int MAG3110::readx(void) 46 int MAG3110::read16Data(byte MSB, byte LSB) 49 47 { 50 48 int xl, xh; //define the MSB and LSB 51 49 52 50 Wire.beginTransmission(MAG_ADDR); // transmit to device 0x0E 53 Wire.write( 0x01); // x MSB reg51 Wire.write(MSB); // x MSB reg 54 52 Wire.endTransmission(); // stop transmitting 55 53 … … 65 63 66 64 Wire.beginTransmission(MAG_ADDR); // transmit to device 0x0E 67 Wire.write( 0x02); // x LSB reg65 Wire.write(LSB); // x LSB reg 68 66 Wire.endTransmission(); // stop transmitting 69 67 … … 76 74 } 77 75 78 int xout = (xl|(xh << 8)); //concatenate the MSB and LSB 79 return xout; 76 int out = (xl|(xh << 8)); //concatenate the MSB and LSB 77 if (out & 0b1000000000000000){ 78 //float yout1 = ((~yout & 0b0111111111111111)+ 1)*(-1) ; 79 return float ((~out & 0b0111111111111111)+ 1)*(-1) ; 80 } 81 return float (out); 80 82 } 81 83 82 //read Y value83 int MAG3110::ready(void)84 {85 int yl, yh; //define the MSB and LSB86 87 Wire.beginTransmission(MAG_ADDR); // transmit to device 0x0E88 Wire.write(0x03); // y MSB reg89 Wire.endTransmission(); // stop transmitting90 91 delayMicroseconds(2); //needs at least 1.3us free time between start and stop92 93 Wire.requestFrom(MAG_ADDR, 1); // request 1 byte94 while(Wire.available()) // slave may send less than requested95 {96 yh = Wire.read(); // receive the byte97 }98 99 delayMicroseconds(2); //needs at least 1.3us free time between start and stop100 101 Wire.beginTransmission(MAG_ADDR); // transmit to device 0x0E102 Wire.write(0x04); // y LSB reg103 Wire.endTransmission(); // stop transmitting104 105 delayMicroseconds(2); //needs at least 1.3us free time between start and stop106 107 Wire.requestFrom(MAG_ADDR, 1); // request 1 byte108 while(Wire.available()) // slave may send less than requested109 {110 yl = Wire.read(); // receive the byte111 }112 113 int yout = (yl|(yh << 8)); //concatenate the MSB and LSB114 return yout;115 }116 117 // read Z value118 int MAG3110::readz(void)119 {120 int zl, zh; //define the MSB and LSB121 122 Wire.beginTransmission(MAG_ADDR); // transmit to device 0x0E123 Wire.write(0x05); // z MSB reg124 Wire.endTransmission(); // stop transmitting125 126 delayMicroseconds(2); //needs at least 1.3us free time between start and stop127 128 Wire.requestFrom(MAG_ADDR, 1); // request 1 byte129 while(Wire.available()) // slave may send less than requested130 {131 zh = Wire.read(); // receive the byte132 }133 134 delayMicroseconds(2); //needs at least 1.3us free time between start and stop135 136 Wire.beginTransmission(MAG_ADDR); // transmit to device 0x0E137 Wire.write(0x06); // z LSB reg138 Wire.endTransmission(); // stop transmitting139 140 delayMicroseconds(2); //needs at least 1.3us free time between start and stop141 142 Wire.requestFrom(MAG_ADDR, 1); // request 1 byte143 while(Wire.available()) // slave may send less than requested144 {145 zl = Wire.read(); // receive the byte146 }147 148 int zout = (zl|(zh << 8)); //concatenate the MSB and LSB149 return zout;150 }151 84 152 85 MAG3110 mag3110; -
rtos_arduino/trunk/arduino_lib/libraries/LuckyShield/src/lib/MAG3110.h
r175 r224 25 25 { 26 26 public: 27 MAG3110(); 27 //constructor 28 //MAG3110(); 29 30 //public methods 28 31 void begin(); 29 int readx(); 30 int ready(); 31 int readz(); 32 33 int x(){return readx();}; 34 int y(){return ready();}; 35 int z(){return readz();}; 32 void read(); 33 int x(){return mag_x;}; 34 int y(){return mag_y;}; 35 int z(){return mag_z;}; 36 36 37 private: 38 //class-only methods: 39 int read16Data(byte MSB, byte LSB); 40 41 //global variables 42 int mag_x; 43 int mag_y; 44 int mag_z; 45 37 46 }; 38 47 -
rtos_arduino/trunk/arduino_lib/libraries/LuckyShield/src/lib/MMA8491Q.cpp
r175 r224 30 30 #include "MMA8491Q.h" 31 31 #include <Wire.h> 32 33 #ifdef __SAM3X8E__ 34 #define Wire Wire1 35 #endif 32 36 33 37 // CONSTRUCTUR
Note:
See TracChangeset
for help on using the changeset viewer.