valeria toffoli
/
COG4050_analogSensor
fft+analohADXL100x
Fork of COG4050_blink by
Diff: main.cpp
- Revision:
- 1:f56db8105a6a
- Parent:
- 0:74a0756399ff
- Child:
- 2:dbe2cc9e3b23
--- a/main.cpp Tue Jun 05 13:03:07 2018 +0000 +++ b/main.cpp Mon Aug 06 11:31:46 2018 +0000 @@ -1,97 +1,15 @@ #include "mbed.h" -#define ADT7420 0x48 - -#define RESET_REG 0x2F -#define TEMP_REG 0x00 -#define ID_REG 0x0B - DigitalOut led1(LED1); -DigitalOut sensor(D8); - -I2C Myi2c(I2C_SDA, I2C_SCL); - -Serial pc(USBTX, USBRX); +DigitalOut led2(LED2); -void ADT7420_reset(void); -int ADT7420_GetID(void); -int ADT7420_GetTemp(void); - -// main() runs in its own thread in the OS int main() { - float status; - int res; - sensor=1; - //configure for UART - pc.baud(115200); - pc.printf("I2C ADT7420 Demo\n"); - - //configure for I2C @400KHz - Myi2c.frequency(100000); - - //configure for ADT7420 - - pc.printf("[RESET ] ADT7420\n"); - ADT7420_reset(); - wait(0.5); - - pc.printf("[CHECK ID] ADT7420\n"); - ADT7420_GetID(); - - while (true) { - led1 = 0; - - pc.printf("[Get Temp] ADT7420\n"); - res = ADT7420_GetTemp(); - - if(res & 0x1000) - { - status = (float)((res - 8192) / 16); - } - else - { - status = (float)(res / 16); - } - - pc.printf("Current Temp %.0f \n", status); - - wait(0.5); - led1 = 1; - wait(0.5); + double i; + led2 = !led2; + for(i=0.05; i<0.5; i=i+0.05){ + led1 = !led1; + wait(i);} } - -} - -void ADT7420_reset(void) -{ - char cmd_reset[1]; - cmd_reset[0] = RESET_REG; - Myi2c.write(ADT7420, cmd_reset, 1); -} - -int ADT7420_GetID(void) -{ - char cmd_id[1], read_val; - cmd_id[0]=ID_REG; - Myi2c.write(ADT7420, cmd_id, 1, 1); - Myi2c.read(ADT7420, &read_val, 1); - pc.printf("ID %02x\n", read_val); - return read_val; -} - -int ADT7420_GetTemp(void) -{ - char cmd_temp[1], read_val[2]; - int temp=0; - cmd_temp[0]=TEMP_REG; - Myi2c.write(ADT7420, cmd_temp, 1, 1); - Myi2c.read(ADT7420, read_val, 2); - pc.printf("Temp Upper %02x\n", read_val[0]); - pc.printf("Temp Lower %02x\n", read_val[1]); - - temp = (int)((read_val[0] << 8) | read_val[1]); - temp >>= 3; - return temp; -} +} \ No newline at end of file