X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lincan.git/blobdiff_plain/0789c67983b502e2b83f9a447e3f6b2d0eff2a54..89e3e5afa508bc4828123242efc8989d39f7cfe7:/embedded/app/usbcan/main.c diff --git a/embedded/app/usbcan/main.c b/embedded/app/usbcan/main.c index 657b9e3..0aff221 100644 --- a/embedded/app/usbcan/main.c +++ b/embedded/app/usbcan/main.c @@ -353,7 +353,6 @@ int main(void) chip->chipspecops->irq_handler(0,chip); if (usb_device.ep_events & MASK_EP1RX) { //EP1RX - data waiting to receive - uint8_t val; if (canque_get_inslot(qends, &qedge, &slot, 0)>=0){ //Free slot obtained size=usb_udev_read_endpoint(&eps[0],ep1_rx_buff,16); if (size==16){ @@ -393,16 +392,17 @@ int main(void) /* if (size==2){ - if (((*data)&CAN_OP_MASK)==CAN_OP_READ){ // Get data from CAN device and return to caller - can_read((*data) & 0x7F,&val); + uint8_t val; + if ((data[0]&CAN_OP_MASK)==CAN_OP_READ){ // Get data from CAN device and return to caller + val = can_read(data[0] & ~CAN_OP_MASK); *(data+1)=val; usb_udev_write_endpoint(&eps[1],(unsigned char *)data,size); timer_rx_off=50; //rosviceni diody pri prijmu CLR_OUT_PIN(LED_PORT,LED2_BIT); usb_can_send=0; } - if (((*data)&CAN_OP_MASK)==CAN_OP_WRITE){ // Save data to CAN device - can_write((*data)&(~CAN_OP_MASK),data+1); + if ((data[0]&CAN_OP_MASK)==CAN_OP_WRITE){ // Save data to CAN device + can_write(data[1], data[0] & ~CAN_OP_MASK); timer_tx_off=50; //rozsviceni diod pri vysilani CLR_OUT_PIN(LED_PORT,LED1_BIT); }