Serial Example for hexiwear

Committer:
dewantkatare
Date:
Fri Nov 30 21:36:34 2018 +0000
Revision:
1:a758914c25d5
Parent:
0:79c0c4cd1ab3
Serial, Hexiwear

Who changed what in which revision?

UserRevisionLine numberNew contents of line
GregC 0:79c0c4cd1ab3 1 #include "mbed.h"
GregC 0:79c0c4cd1ab3 2
dewantkatare 1:a758914c25d5 3 Serial pc( USBTX, USBRX);
dewantkatare 1:a758914c25d5 4 Serial uart(PTD3,PTD2); //Tx, Rx (D1, D0)
dewantkatare 1:a758914c25d5 5
dewantkatare 1:a758914c25d5 6 typedef unsigned char byte;
dewantkatare 1:a758914c25d5 7
dewantkatare 1:a758914c25d5 8 uint8_t cmd_get_sensor[] = {0xff, 0x01, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79};
dewantkatare 1:a758914c25d5 9 int temperature;
dewantkatare 1:a758914c25d5 10 int Co2PPM;
dewantkatare 1:a758914c25d5 11
dewantkatare 1:a758914c25d5 12 bool Received_data()
dewantkatare 1:a758914c25d5 13 {
dewantkatare 1:a758914c25d5 14 return true;
dewantkatare 1:a758914c25d5 15 }
dewantkatare 1:a758914c25d5 16
dewantkatare 1:a758914c25d5 17 void init()
dewantkatare 1:a758914c25d5 18 {
dewantkatare 1:a758914c25d5 19 pc.printf("\r\nFirst Loop");
dewantkatare 1:a758914c25d5 20 uint8_t data[9];
dewantkatare 1:a758914c25d5 21 uint8_t cd[9];
dewantkatare 1:a758914c25d5 22 int i=0;
dewantkatare 1:a758914c25d5 23 for(i=0; i<sizeof(cmd_get_sensor); i++) {
dewantkatare 1:a758914c25d5 24 //cd[i] = uart.putc(cmd_get_sensor[i]);
dewantkatare 1:a758914c25d5 25 data[i] = uart.getc();
dewantkatare 1:a758914c25d5 26 pc.printf("\n\r val: ", data);
dewantkatare 1:a758914c25d5 27 }
dewantkatare 1:a758914c25d5 28
dewantkatare 1:a758914c25d5 29 /* pc.printf("\r\nHere in first loop:");
dewantkatare 1:a758914c25d5 30 for(int i=0; i<9; i++) {
dewantkatare 1:a758914c25d5 31 //Printing uart values to confirm
dewantkatare 1:a758914c25d5 32 pc.printf("\r\nwritten value[%d]: %u\n",i, cd[i]);
dewantkatare 1:a758914c25d5 33 }*/
dewantkatare 1:a758914c25d5 34
dewantkatare 1:a758914c25d5 35 pc.printf("\r\n");
dewantkatare 1:a758914c25d5 36
dewantkatare 1:a758914c25d5 37 pc.printf("\r\n********************************************\r\n");
dewantkatare 1:a758914c25d5 38 pc.printf("\r\nHere reading values:");
dewantkatare 1:a758914c25d5 39 for(int i=0; i<9; i++) {
dewantkatare 1:a758914c25d5 40 pc.printf("\r\nRead value[%d]: %u\n",i, data[i]);
dewantkatare 1:a758914c25d5 41 }
dewantkatare 1:a758914c25d5 42
dewantkatare 1:a758914c25d5 43 /* if((i !=9)||(1 + (0xff^(byte) (data[1] + data[2] + data[3] + data[4] + data[5] + data[6] + data[7]))) != data[8]) {
dewantkatare 1:a758914c25d5 44 return false;
dewantkatare 1:a758914c25d5 45 }*/
dewantkatare 1:a758914c25d5 46 Co2PPM = data[2] * 256 + data[3];
dewantkatare 1:a758914c25d5 47 temperature = data[4] - 40;
dewantkatare 1:a758914c25d5 48 pc.printf("\r\nSecond Loop");
dewantkatare 1:a758914c25d5 49 pc.printf("\r\nTemperature: %d\n", temperature);
dewantkatare 1:a758914c25d5 50 pc.printf("\r\nCo2: %d\n", Co2PPM);
dewantkatare 1:a758914c25d5 51 wait(1);
dewantkatare 1:a758914c25d5 52 }
GregC 0:79c0c4cd1ab3 53
GregC 0:79c0c4cd1ab3 54 int main()
GregC 0:79c0c4cd1ab3 55 {
dewantkatare 1:a758914c25d5 56 while(1) {
dewantkatare 1:a758914c25d5 57 uart.baud(9600);
dewantkatare 1:a758914c25d5 58 pc.baud(115200);
dewantkatare 1:a758914c25d5 59 pc.printf("\r\nReading data from Co2 Sensor:\n");
dewantkatare 1:a758914c25d5 60 pc.printf("\r\n************************************\n");
dewantkatare 1:a758914c25d5 61 init();
dewantkatare 1:a758914c25d5 62 pc.printf("\r\nend");
dewantkatare 1:a758914c25d5 63 }
GregC 0:79c0c4cd1ab3 64 }