nRF51822 serves as the bridge between BLE central and MCU, which makes cental able to fetch photos from serial camera.
Dependencies: BLE_API mbed nRF51822
Fork of nRF51822_blinky by
application.cpp
00001 #include "application.h" 00002 #include "mbed.h" 00003 00004 extern Serial pc; 00005 00006 float readTMP102Temperature(I2C& i2c, char* reg) { 00007 const char regAddr = TMP102_TEMP_REG_ADDR; 00008 i2c.write(TMP102_ADDR, ®Addr, 1); 00009 int result = i2c.read(TMP102_ADDR, reg, 2); 00010 if (result != 0) 00011 return -1; 00012 00013 int TemperatureSum = (reg[0] << 8 | reg[1]) >> 4; 00014 return (float)TemperatureSum*0.0625; 00015 } 00016 00017 /* AT24C64D */ 00018 bool writeAT24EEPROMBuffer(I2C& i2c, uint8_t dataAddr, char* buf, uint16_t length){ 00019 uint8_t tmpBuf[10] = {0,}; 00020 tmpBuf[0] = dataAddr; 00021 if(length > 9) 00022 length = 9; 00023 00024 for(int i = 1; i < (length+1); i++) 00025 tmpBuf[i] = buf[i-1]; 00026 00027 int result = i2c.write(EEPROM_ADDR, (char*)tmpBuf, length+1); 00028 if (result != 0) 00029 return false; 00030 else 00031 return true; 00032 } 00033 00034 bool readAT24EEPROMBuffer(I2C& i2c, uint8_t dataAddr, char* buf, uint16_t length){ 00035 int result = i2c.write(EEPROM_ADDR, (char*)&dataAddr, 1); 00036 if (result != 0) 00037 return false; 00038 00039 result = i2c.read(EEPROM_ADDR, buf, length); 00040 if (result != 0) 00041 return false; 00042 00043 return true; 00044 }
Generated on Sun Jul 24 2022 10:29:02 by 1.7.2