xLAB - acutators / led-mrf-osc_full_Latest_2

Dependencies:   addressable_leds

Dependents:   led-mrf-osc_full

Committer:
Jing_Qiu
Date:
Sat Mar 21 02:40:56 2015 +0000
Revision:
0:284274252007
111

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jing_Qiu 0:284274252007 1 #include "mbed.h"
Jing_Qiu 0:284274252007 2 #include "OSCmsg.h"
Jing_Qiu 0:284274252007 3
Jing_Qiu 0:284274252007 4
Jing_Qiu 0:284274252007 5 //CAN can1(p30, p29);
Jing_Qiu 0:284274252007 6
Jing_Qiu 0:284274252007 7
Jing_Qiu 0:284274252007 8 OSCmsg::OSCmsg(){
Jing_Qiu 0:284274252007 9 type=0;
Jing_Qiu 0:284274252007 10 msg=0;
Jing_Qiu 0:284274252007 11 length=0;
Jing_Qiu 0:284274252007 12
Jing_Qiu 0:284274252007 13 }
Jing_Qiu 0:284274252007 14
Jing_Qiu 0:284274252007 15 int OSCmsg::setAddr(char* addr){
Jing_Qiu 0:284274252007 16
Jing_Qiu 0:284274252007 17 strncpy(address,addr,5);
Jing_Qiu 0:284274252007 18 address[5]=0;
Jing_Qiu 0:284274252007 19 return 1;
Jing_Qiu 0:284274252007 20
Jing_Qiu 0:284274252007 21 }
Jing_Qiu 0:284274252007 22
Jing_Qiu 0:284274252007 23 char* OSCmsg::getAddr(){
Jing_Qiu 0:284274252007 24 return address;
Jing_Qiu 0:284274252007 25 }
Jing_Qiu 0:284274252007 26
Jing_Qiu 0:284274252007 27 int OSCmsg::setType(char mtype){
Jing_Qiu 0:284274252007 28 type = mtype;
Jing_Qiu 0:284274252007 29 return 1;
Jing_Qiu 0:284274252007 30 }
Jing_Qiu 0:284274252007 31
Jing_Qiu 0:284274252007 32 char OSCmsg::getType(){
Jing_Qiu 0:284274252007 33 return type;
Jing_Qiu 0:284274252007 34 }
Jing_Qiu 0:284274252007 35
Jing_Qiu 0:284274252007 36 int OSCmsg::setArgs(char msgs){
Jing_Qiu 0:284274252007 37
Jing_Qiu 0:284274252007 38 msg = msgs;
Jing_Qiu 0:284274252007 39 return 1;
Jing_Qiu 0:284274252007 40
Jing_Qiu 0:284274252007 41 }
Jing_Qiu 0:284274252007 42
Jing_Qiu 0:284274252007 43 char OSCmsg::getArgs(){
Jing_Qiu 0:284274252007 44 return msg;
Jing_Qiu 0:284274252007 45 }
Jing_Qiu 0:284274252007 46
Jing_Qiu 0:284274252007 47
Jing_Qiu 0:284274252007 48 /****************functions for OSC class***********************/
Jing_Qiu 0:284274252007 49
Jing_Qiu 0:284274252007 50 OSCclass::OSCclass(){}
Jing_Qiu 0:284274252007 51
Jing_Qiu 0:284274252007 52 void OSCclass::sendOSCmsg(OSCmsg *sendmsg){
Jing_Qiu 0:284274252007 53 /*
Jing_Qiu 0:284274252007 54 can1.frequency(250000);
Jing_Qiu 0:284274252007 55
Jing_Qiu 0:284274252007 56 if(sendmsg->getType() == 0)
Jing_Qiu 0:284274252007 57 ttype = 'n';
Jing_Qiu 0:284274252007 58 else ttype = sendmsg->getType();
Jing_Qiu 0:284274252007 59
Jing_Qiu 0:284274252007 60 strncpy(addr,sendmsg->getAddr(),5);
Jing_Qiu 0:284274252007 61 //int len = strlen(sendmsg->getArgs())
Jing_Qiu 0:284274252007 62 //strncpy(msg,sendmsg->getArgs(),len);
Jing_Qiu 0:284274252007 63
Jing_Qiu 0:284274252007 64 strncpy(packet,sendmsg->getAddr(),5);
Jing_Qiu 0:284274252007 65 packet[5] = ',';
Jing_Qiu 0:284274252007 66 packet[6]=ttype;
Jing_Qiu 0:284274252007 67 packet[7] = sendmsg->getArgs();
Jing_Qiu 0:284274252007 68 packet[8] = 0;
Jing_Qiu 0:284274252007 69
Jing_Qiu 0:284274252007 70 printf("OSc mesage %s\r\n",packet);
Jing_Qiu 0:284274252007 71 //Send this message on the can bus
Jing_Qiu 0:284274252007 72
Jing_Qiu 0:284274252007 73 if(can1.write(CANMessage(1,packet,8))) {
Jing_Qiu 0:284274252007 74 printf("sent %s %d \r\n",packet,strlen(packet));
Jing_Qiu 0:284274252007 75 }*/
Jing_Qiu 0:284274252007 76
Jing_Qiu 0:284274252007 77 }
Jing_Qiu 0:284274252007 78
Jing_Qiu 0:284274252007 79 OSCmsg* OSCclass::getOSCmsg(char *recv){
Jing_Qiu 0:284274252007 80
Jing_Qiu 0:284274252007 81
Jing_Qiu 0:284274252007 82 temp = new OSCmsg;
Jing_Qiu 0:284274252007 83
Jing_Qiu 0:284274252007 84 //strncpy(addr,recv,5);
Jing_Qiu 0:284274252007 85 addr[0] = recv[0];
Jing_Qiu 0:284274252007 86 addr[1] = recv[1];
Jing_Qiu 0:284274252007 87 addr[2] = recv[2];
Jing_Qiu 0:284274252007 88 addr[3] = recv[3];
Jing_Qiu 0:284274252007 89 addr[4] = recv[4];
Jing_Qiu 0:284274252007 90
Jing_Qiu 0:284274252007 91 temp->setAddr(addr);
Jing_Qiu 0:284274252007 92 temp->setType(recv[6]);
Jing_Qiu 0:284274252007 93 temp->setArgs(recv[7]);
Jing_Qiu 0:284274252007 94
Jing_Qiu 0:284274252007 95
Jing_Qiu 0:284274252007 96 return temp;
Jing_Qiu 0:284274252007 97
Jing_Qiu 0:284274252007 98
Jing_Qiu 0:284274252007 99
Jing_Qiu 0:284274252007 100
Jing_Qiu 0:284274252007 101 }
Jing_Qiu 0:284274252007 102
Jing_Qiu 0:284274252007 103
Jing_Qiu 0:284274252007 104
Jing_Qiu 0:284274252007 105
Jing_Qiu 0:284274252007 106
Jing_Qiu 0:284274252007 107