YASA Motors
/
Yoko_CAN_converter1
Code to convert Yokogawa messages to CAN bus
Revision 0:1dc6b238aeb5, committed 2015-09-09
- Comitter:
- tomhillman
- Date:
- Wed Sep 09 12:48:29 2015 +0000
- Commit message:
- Basic version implemented on Converter for Makani Efficiency Testing
Changed in this revision
diff -r 000000000000 -r 1dc6b238aeb5 USBHost.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/USBHost.lib Wed Sep 09 12:48:29 2015 +0000 @@ -0,0 +1,1 @@ +https://developer.mbed.org/teams/YASA-Motors/code/USBHost/#10dc3db97a06
diff -r 000000000000 -r 1dc6b238aeb5 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed Sep 09 12:48:29 2015 +0000 @@ -0,0 +1,98 @@ +#include "mbed.h" +#include "USBHostSerial.h" + +DigitalOut led(LED1); +Serial pc(USBTX, USBRX); + + +long i; +long j; +long k; +long start; +int l; +long m; +int myArray[8] = { 46, 47, 48, 52, 61, 62, 63, 67}; +int8_t sendTest[8]; +int main() { + pc.printf("\nMain started \r\n"); + CAN can1(p30, p29); + can1.frequency(500000); + USBHostSerial serial; + + char buf2[1024]; + while(1) { + + pc.printf("Start\r\n"); + + + // try to connect a serial device + while(!serial.connect()) + { + pc.printf("Trying to connect \r\n"); + wait(1); + } + + pc.printf("Connected \r\n"); + wait(1); + LPC_UART0->FCR |= 0x06; + wait(1); + while (1) { + i = 0; + int test = 0; + led=!led; + serial.flush(); + wait(0.1); + + for(m=0;m<8;m++){ + i = 0; + serial.flush(); + wait(0.1); + serial.printf("NUM:NORM:VAL? %d\r\n", myArray[m]); // send SCPI command // just \n works + wait(0.1); + + test = 1; + while (i<=30) { + test = serial.available(); + buf2[i] = serial.getc(); + pc.printf("%c", buf2[i], test); + i++; + } + serial.flush(); + + j = 0; + + + for(j=0;j<i;j++){ + if(buf2[j]==0x23){ // look for "#" that marks start of data + break; + } + } + start = j+7; + i = start-1;k=1; + pc.printf("Item(%d): 0x%X.%X.%X.%X ",myArray[m],buf2[i],buf2[i+1],buf2[i+2],buf2[i+3]); + + for(l=0;l<4;l++){ + + sendTest[l] = (int8_t)buf2[i+l]; + } + + if(can1.write(CANMessage((1024+m+1), (const char *) &sendTest[0], 8))){pc.printf(" Can Sent..\r\n");} + //can1.write(CANMessage((1024+m+1), (const char *) &sendTest[0], 8)); + + + + } + + // if device disconnected, try to connect it again + if (!serial.connected()){ + pc.printf("Connection Lost!\r\n"); + break; + } + + wait(1); + } + } + + + +}
diff -r 000000000000 -r 1dc6b238aeb5 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Wed Sep 09 12:48:29 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/8ab26030e058 \ No newline at end of file