X-Git-Url: http://pileus.org/git/?p=~andy%2Fcsm213a-hw;a=blobdiff_plain;f=hw2%2Fmain_comm.c;fp=hw2%2Fmain_comm.c;h=380fc87f0535830935b5c5ae79a72d61179a90a2;hp=6afe80d27c1550dfffa208b78ea51355ee127161;hb=af693a35ec651f1264e5332d30eca558e07a188f;hpb=a8fb9b5f585f2cd1d163e37269b6b44ad937c1b2 diff --git a/hw2/main_comm.c b/hw2/main_comm.c index 6afe80d..380fc87 100644 --- a/hw2/main_comm.c +++ b/hw2/main_comm.c @@ -101,7 +101,6 @@ void comm_init(sirq_t *dbg, sirq_t *bbb, sirq_t *mbed, comm_tdma_xmt = xmt; } - /** * Output time sync message */ @@ -120,10 +119,13 @@ void comm_send_sync(uint64_t local) head.length = sizeof(body); head.cksum = 0; // todo + sirq_write(comm_sirq_mbed, &head, sizeof(head)); + + // Capture transmit time tdma_stop(comm_tdma_rcv, 0); tdma_start(comm_tdma_xmt); - sirq_write(comm_sirq_mbed, &head, sizeof(head)); + sirq_transmit(comm_sirq_mbed); tdma_stop(comm_tdma_xmt, 100); tdma_start(comm_tdma_rcv); @@ -143,6 +145,8 @@ void comm_send_sync(uint64_t local) sirq_write(comm_sirq_mbed, &body, sizeof(body)); + sirq_transmit(comm_sirq_mbed); + // Queue next transmit time comm_sync_due = 0; } @@ -180,9 +184,11 @@ void comm_send_event(uint16_t event, uint64_t local) if (comm_device_id == 1) { sirq_write(comm_sirq_bbb, &head, sizeof(head)); sirq_write(comm_sirq_bbb, &body, sizeof(body)); - } else { + } else if (comm_device_id > 1) { sirq_write(comm_sirq_mbed, &head, sizeof(head)); sirq_write(comm_sirq_mbed, &body, sizeof(body)); + } else { + sirq_printf("no device id, skipping event\r\n"); } }