Skip to content

Commit

Permalink
port fix for issue #15
Browse files Browse the repository at this point in the history
  • Loading branch information
Hubert Denkmair authored and Hubert Denkmair committed Oct 29, 2019
1 parent f38ddca commit 73dfc74
Showing 1 changed file with 21 additions and 18 deletions.
39 changes: 21 additions & 18 deletions src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,8 @@ int main(void)
struct gs_host_frame *frame = queue_pop_front(q_from_host);
if (frame != 0) { // send can message from host
if (can_send(&hCAN, frame)) {
// Echo sent frame back to host
frame->timestamp_us = timer_get();
// Echo sent frame back to host
frame->timestamp_us = timer_get();
send_to_host_or_enqueue(frame);

led_indicate_trx(&hLED, led_2);
Expand All @@ -117,23 +117,26 @@ int main(void)

if (can_is_rx_pending(&hCAN)) {
struct gs_host_frame *frame = queue_pop_front(q_frame_pool);
if ((frame != 0) && can_receive(&hCAN, frame)) {
received_count++;
if (frame != 0)
{
if (can_receive(&hCAN, frame)) {
received_count++;

frame->timestamp_us = timer_get();
frame->echo_id = 0xFFFFFFFF; // not a echo frame
frame->channel = 0;
frame->flags = 0;
frame->reserved = 0;
frame->timestamp_us = timer_get();
frame->echo_id = 0xFFFFFFFF; // not a echo frame
frame->channel = 0;
frame->flags = 0;
frame->reserved = 0;

send_to_host_or_enqueue(frame);

led_indicate_trx(&hLED, led_1);
send_to_host_or_enqueue(frame);

} else {
queue_push_back(q_frame_pool, frame);
led_indicate_trx(&hLED, led_1);
}
else
{
queue_push_back(q_frame_pool, frame);
}
}

}

uint32_t can_err = can_get_error_status(&hCAN);
Expand Down Expand Up @@ -227,15 +230,15 @@ bool send_to_host_or_enqueue(struct gs_host_frame *frame)

void send_to_host()
{
struct gs_host_frame *frame = queue_pop_front(q_to_host);
struct gs_host_frame *frame = queue_pop_front(q_to_host);

if(!frame)
return;

if (USBD_GS_CAN_SendFrame(&hUSB, frame) == USBD_OK) {
queue_push_back(q_frame_pool, frame);
queue_push_back(q_frame_pool, frame);
} else {
queue_push_front(q_to_host, frame);
queue_push_front(q_to_host, frame);
}
}

0 comments on commit 73dfc74

Please sign in to comment.