xLAB - acutators / led-mrf-osc-legacy-code

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers OSCmsg.cpp Source File

OSCmsg.cpp

00001 #include "mbed.h"
00002 #include "OSCmsg.h"
00003 
00004 
00005 //CAN can1(p30, p29);
00006 
00007 
00008 OSCmsg::OSCmsg(){
00009     type=0;
00010     msg=0;
00011     length=0;
00012 
00013 }
00014 
00015 int OSCmsg::setAddr(char* addr){
00016 
00017         strncpy(address,addr,5);
00018         address[5]=0;
00019         return 1;
00020         
00021  }
00022  
00023  char* OSCmsg::getAddr(){
00024         return address;
00025  }
00026  
00027  int OSCmsg::setType(char mtype){
00028         type = mtype;
00029          return 1;
00030   }
00031   
00032   char OSCmsg::getType(){
00033         return type;
00034   }
00035   
00036   int OSCmsg::setArgs(char msgs){ 
00037   
00038         msg = msgs;
00039         return 1;
00040     
00041   }
00042   
00043   char OSCmsg::getArgs(){
00044         return msg;
00045   }
00046   
00047 
00048   /****************functions for OSC class***********************/
00049   
00050 OSCclass::OSCclass(){}
00051  
00052  void OSCclass::sendOSCmsg(OSCmsg *sendmsg){
00053   /*          
00054         can1.frequency(250000);
00055         
00056         if(sendmsg->getType() == 0)
00057             ttype = 'n';
00058          else ttype = sendmsg->getType();
00059          
00060          strncpy(addr,sendmsg->getAddr(),5);
00061         //int len = strlen(sendmsg->getArgs())
00062         //strncpy(msg,sendmsg->getArgs(),len);
00063         
00064         strncpy(packet,sendmsg->getAddr(),5);
00065         packet[5] = ',';
00066         packet[6]=ttype;
00067         packet[7] = sendmsg->getArgs();
00068         packet[8] = 0;
00069 
00070         printf("OSc mesage %s\r\n",packet);
00071         //Send this message on the can bus
00072        
00073        if(can1.write(CANMessage(1,packet,8))) {
00074             printf("sent %s %d \r\n",packet,strlen(packet));
00075         }*/
00076         
00077   }
00078   
00079   OSCmsg* OSCclass::getOSCmsg(char *recv){
00080 
00081                 
00082                 temp = new OSCmsg;
00083                 
00084                 //strncpy(addr,recv,5);
00085                 addr[0] = recv[0];
00086                 addr[1] = recv[1];
00087                 addr[2] = recv[2];
00088                 addr[3] = recv[3];
00089                 addr[4] = recv[4];
00090                 
00091                 temp->setAddr(addr);
00092                 temp->setType(recv[6]);
00093                 temp->setArgs(recv[7]);
00094 
00095         
00096                 return temp;
00097         
00098         
00099   
00100   
00101   }
00102         
00103   
00104   
00105   
00106   
00107