Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: addressable_leds
OSCcan/OSCmsg.cpp@0:284274252007, 2015-03-21 (annotated)
- Committer:
- Jing_Qiu
- Date:
- Sat Mar 21 02:40:56 2015 +0000
- Revision:
- 0:284274252007
111
Who changed what in which revision?
User | Revision | Line number | New 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 |