Cayenne demo

Dependencies:   Cayenne-MQTT-mbed NetworkSocketAPI X_NUCLEO_IDW01M1v2 mbed Servo

Fork of Cayenne-X-NUCLEO-IDW01M1-TMP36 by myDevicesIoT

Committer:
rozendhyan
Date:
Tue Aug 29 17:11:37 2017 +0000
Revision:
9:668337c0fb8a
Parent:
6:cec678bb15ef
remove not used argument & define

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rozendhyan 6:cec678bb15ef 1 #include "mbed.h"
rozendhyan 6:cec678bb15ef 2 #define size 14
rozendhyan 6:cec678bb15ef 3 Serial sensor(PA_11,PA_12);
rozendhyan 6:cec678bb15ef 4 Serial pc(USBTX,USBRX);
rozendhyan 6:cec678bb15ef 5 int AT[3] = {0xA5,0x52,0xF7};
rozendhyan 6:cec678bb15ef 6 class BME280{
rozendhyan 6:cec678bb15ef 7 public:
rozendhyan 6:cec678bb15ef 8 void judgement_data(char buf[]);
rozendhyan 6:cec678bb15ef 9 int Temp_read();
rozendhyan 6:cec678bb15ef 10
rozendhyan 6:cec678bb15ef 11 private:
rozendhyan 6:cec678bb15ef 12 void receive();
rozendhyan 6:cec678bb15ef 13 void send_AT();
rozendhyan 6:cec678bb15ef 14 char buf[size];
rozendhyan 6:cec678bb15ef 15 int Lux,Temp,Preesure,Hum,Height;
rozendhyan 6:cec678bb15ef 16
rozendhyan 6:cec678bb15ef 17 };
rozendhyan 6:cec678bb15ef 18 void BME280::judgement_data(char buf[]){
rozendhyan 6:cec678bb15ef 19 int i=0;
rozendhyan 6:cec678bb15ef 20 if(buf[i++]== 0x5A){
rozendhyan 6:cec678bb15ef 21 //pc.printf("first_step\n");
rozendhyan 6:cec678bb15ef 22 if(buf[i++]== 0x5A){
rozendhyan 6:cec678bb15ef 23 //pc.printf("second_step\n");
rozendhyan 6:cec678bb15ef 24 //i++;//go to data type
rozendhyan 6:cec678bb15ef 25 if(buf[i] == 0x15){
rozendhyan 6:cec678bb15ef 26 //pc.printf("Lux type\n");
rozendhyan 6:cec678bb15ef 27 i++;//04
rozendhyan 6:cec678bb15ef 28 Lux = ((buf[i+1]<<24) | (buf[i+2]<<16) | (buf[i+3]<<8) | buf[i+4])/100;
rozendhyan 6:cec678bb15ef 29 //Lux = (0x00<<24) | (0x00<<16) | (0xFE<<8) | 0x40;//test
rozendhyan 6:cec678bb15ef 30 //pc.printf("Lux = %d\n", Lux);
rozendhyan 6:cec678bb15ef 31 }else if(buf[i] == 0x45){
rozendhyan 6:cec678bb15ef 32 //pc.printf("temp type\n");
rozendhyan 6:cec678bb15ef 33 i++;//0A
rozendhyan 6:cec678bb15ef 34 Temp = ((buf[i+1]<<8)|(buf[i+2]))/100;
rozendhyan 6:cec678bb15ef 35 Preesure = ((buf[i+3]<<24)|(buf[i+4]<<16)|(buf[i+5]<<8)|(buf[i+6]))/100;
rozendhyan 6:cec678bb15ef 36 Hum = ((buf[i+7]<<8)|(buf[i+8]))/100;
rozendhyan 6:cec678bb15ef 37 Height = ((buf[i+9]<<8)|(buf[i+10]));
rozendhyan 6:cec678bb15ef 38 //pc.printf("Temp = %d\n", Temp);
rozendhyan 6:cec678bb15ef 39 //pc.printf("Preesure = %d\n", Preesure);
rozendhyan 6:cec678bb15ef 40 //pc.printf("Hum = %d\n", Hum);
rozendhyan 6:cec678bb15ef 41 //pc.printf("Height = %d\n", Height);
rozendhyan 6:cec678bb15ef 42 }
rozendhyan 6:cec678bb15ef 43 }
rozendhyan 6:cec678bb15ef 44 }
rozendhyan 6:cec678bb15ef 45 }
rozendhyan 6:cec678bb15ef 46 void BME280::receive(){
rozendhyan 6:cec678bb15ef 47 for(int i=0;i<size;i++){
rozendhyan 6:cec678bb15ef 48 buf[i] = sensor.getc();
rozendhyan 6:cec678bb15ef 49 //pc.putc(buf[i]);
rozendhyan 6:cec678bb15ef 50 }
rozendhyan 6:cec678bb15ef 51
rozendhyan 6:cec678bb15ef 52 }
rozendhyan 6:cec678bb15ef 53 void BME280::send_AT(){
rozendhyan 6:cec678bb15ef 54 for(int i=0;i<3;i++){
rozendhyan 6:cec678bb15ef 55 sensor.putc(AT[i]);
rozendhyan 6:cec678bb15ef 56 //pc.putc(AT[i]);
rozendhyan 6:cec678bb15ef 57 }
rozendhyan 6:cec678bb15ef 58 }
rozendhyan 6:cec678bb15ef 59 int BME280::Temp_read(){
rozendhyan 6:cec678bb15ef 60 send_AT();
rozendhyan 6:cec678bb15ef 61 //wait(0.2);
rozendhyan 6:cec678bb15ef 62 receive();
rozendhyan 6:cec678bb15ef 63 //wait(0.2);
rozendhyan 6:cec678bb15ef 64 judgement_data(this->buf);
rozendhyan 6:cec678bb15ef 65
rozendhyan 6:cec678bb15ef 66 return Temp;
rozendhyan 6:cec678bb15ef 67 }