A class for using MU2.
Dependents: EM_Mission FM_integration_copy FM_integration_off FM_integration
MU2Class.cpp
- Committer:
- ATKINZ117
- Date:
- 2013-07-13
- Revision:
- 4:a7d413a2889d
- Parent:
- 2:2297b491e452
File content as of revision 4:a7d413a2889d:
#include "MU2Class.h" #include "mbed.h" MU2Class::MU2Class(PinName tx,PinName rx){ _tx=tx; _rx=rx; } /*MU2Class::MU2Class(PinName tx,PinName rx) : Serial(tx,rx){ }*/ uint8_t MU2Class::Store_Str(char data_str[], int index, char Message[]){ uint8_t j=0; while(Message[j]!='\0'&&Message[j]!='^') data_str[index++]=Message[j++];//store char in message into data_str and returns the last index. return index; } void MU2Class::send(char Send_Message[]){ Serial MyMu2(_tx,_rx); //Serial pc(USBTX,USBRX); int i=4, str_length=0,send_index=0; char send_data[255]; MyMu2.baud(19200); //pc.baud(19200); send_index=0;//initializing the variant. send_index=Store_Str(send_data, send_index, "@DT00^");//this variant is the last index of the string.The reason why char "^" here is that for the case of the data size 10,20,A0 or something . Store_Str copies the string of its last variant into its first variant . while(Send_Message[str_length]!='\0'){ send_data[send_index++]=Send_Message[str_length++];//storing the string we wanna send into the send_data until null terminater appers. } //send_data[send_index++]='\r';//insert carrige return at the last of send_data. //send_data[send_index++]='\n'; send_data[send_index++]='\0'; str_length-=2; //the code block below is for making data size proper. for(i=4; i>2; i--){ if(str_length%16<10){ send_data[i]='0'+str_length%16; }else{ switch(str_length%16){ case 10:send_data[i]='A'; break; case 11:send_data[i]='B'; break; case 12:send_data[i]='C'; break; case 13:send_data[i]='D'; break; case 14:send_data[i]='E'; break; case 15:send_data[i]='F'; break; } } str_length/=16; } MyMu2.printf(send_data); /*for(int j=0;j<=send_index;j++){ MyMu2.putc(send_data[j]); pc.putc(send_data[j]); //for debugging.Comment out when U use this in practice. }*/ }