dd
Dependencies: BufferedSerial FastAnalogIn FastPWM mbed SHT75
commandt.cpp
- Committer:
- sbh9428
- Date:
- 2016-02-19
- Revision:
- 0:9bfc4aea91e2
- Child:
- 1:5c42ec7f1aeb
File content as of revision 0:9bfc4aea91e2:
/* * commandt.cpp * * Created on: 2016. 2. 19. * Author: sbh9428 */ #include "commandt.h" command_t::command_t() { // TODO Auto-generated constructor stub } command_t::command_t(BufferedSerial* _pc, control_t* _control) { count=0; control=_control; pc=_pc; pc->baud(115200); } command_t::~command_t() { // TODO Auto-generated destructor stub } void command_t::clear_data() { for(int i=0;i<10;i++) { data[i]=0; } } void command_t::parse() { switch(data[0]) { case 's': switch(data[1]) { case 'm': control->set_mode(data[2]-'0'); break; case 'p': control->control_PWM(asci_to_bin(data+2)); printf("set WPM duty ratio %f\n", asci_to_bin(data+2)); break; case 't': break; } break; case 'g': break; dafault: pc->printf("command error"); } pc->printf("\n"); } void command_t::get_data() { data [count]=pc->getc(); if(data [count]=='f') parse(); else count++; if(count>9) { count=0; pc->printf("command error\n"); } } void command_t::refreshPWM() { printf("temperature is %f\n", control->get_temp()); } double command_t::asci_to_bin(int *start) { double _data=0; int current=0; double nth=1; //�ڸ��� int mode=0; int sign=1; if(*start=='-') { current++; sign=-1; } while(*(start+current)!='f'&&*(start+current)!='.') { _data*=10; _data+=*(start+current)-'0'; current++; } if(*(start+current)=='.') { current++; while(*(start+current)!='f') { nth/=10; _data+=nth*(*(start+current)-'0'); current++; } } return sign*_data; }