Sends out data over serial in such a format that it can be collected in packets by an esp8266.
Dependencies: MCP32082Two mbed
main.cpp
- Committer:
- mmellor
- Date:
- 2016-07-25
- Revision:
- 0:09958db7e6fb
File content as of revision 0:09958db7e6fb:
#include "mbed.h" #include "mcp3208.h" //Packet Strategy One for UDP //Send out data at 1ms as normal //after specified numReads send out data with //terminated character //On UDP/ESP8266 side read until you see the termination character int readCounter = 1; int numReads = 45; //This value is numDataSetsInPacket in matlab and arduino code int counterNum = 0; MCP3208 input1(dp2, dp1, dp6, dp9); Serial pc(dp16,dp15); Ticker datalog; //Create the timer object char datastr0[5]; char datastr1[5]; char datastr2[5]; char datastr3[5]; char datastr4[5]; char datastr5[5]; // Credit: Erik Olieman void intToString(char *buffer, int value) { int temp; temp = value / 1000; buffer[0] = temp + '0'; value = value - temp * 1000; temp = value / 100; buffer[1] = temp + '0'; value = value - temp * 100; temp = value / 10; buffer[2] = temp + '0'; value = value - temp * 10; temp = value / 1; buffer[3] = temp + '0'; value = value - temp * 1; buffer[4] = '\0'; } bool tickerActivated = false; void log_data(){ tickerActivated = true; } int main(){ pc.baud(921600); //Set baud rate pc.printf("Working!!\n\r"); datalog.attach_us(&log_data,1000); // 1000us = 1ms while(1) { intToString(datastr0,input1.binary(0)); intToString(datastr1,input1.binary(1)); intToString(datastr2,input1.binary(2)); intToString(datastr3,input1.binary(3)); intToString(datastr4,input1.binary(4)); intToString(datastr5,input1.binary(5)); if(tickerActivated == true) { //This is true every 1ms tickerActivated = false; if(readCounter == numReads){ readCounter = 1; counterNum = counterNum + 1; if(counterNum >= 9999) counterNum = 0; pc.printf("%s,%s,%s,%s,%s,%s\n\r",datastr0,datastr1,datastr2,datastr3,datastr4,datastr5); } else{ readCounter++; counterNum = counterNum + 1; if(counterNum >= 9999) counterNum = 0; pc.printf("%s,%s,%s,%s,%s,%s,",datastr0,datastr1,datastr2,datastr3,datastr4,datastr5); } } } }