Example #1
0
void ntNodeGetVersionStrTest()
{
    std::cout << "ntNodeGetVersionStrTest\t";
    
    NtRingBuf buffer = NtRingBuf();
    NtNode ntNode = NtNode(NTBUS_ID_IMU1, "test", &buffer);
    
    buffer.push(NTBUS_STX | NTBUS_TRIGGER);
    buffer.push(NTBUS_STX | NTBUS_CMD | NTBUS_ID_IMU1);
    buffer.push(NTBUS_CMD_GETVERSIONSTR);
    
    uint8_t recv;
    while (ntNode.processBusData(&recv) >= 0);
    assert(!(UCSR0B & (1<<TXEN0)));
    assert(ntNode.getBusState() == NtNode::IDLE);
    
    const uint8_t reference[NTBUS_CMDGETVERSIONSTR_DATALEN] = STORM32NTBUS_VERSIONSTR;
    assert(memcmp(reference, usart0buf, NTBUS_CMDGETVERSIONSTR_DATALEN) == 0);
    
    usart0_reset();
    
    std::cout << "[PASS]" << std::endl;
}
Example #2
0
void ntNodeGetBoardStrTest()
{
    std::cout << "ntNodeGetBoardStrTest\t";
    
    const char boardName[] = "test board";
    char boardNameBuf[NTBUS_CMDGETBOARDSTR_DATALEN];
    memset(boardNameBuf, 0, sizeof(boardNameBuf));
    memcpy(boardNameBuf, boardName, sizeof(boardName));
    
    NtRingBuf buffer = NtRingBuf();
    NtNode ntNode = NtNode(NTBUS_ID_IMU1, boardNameBuf, &buffer);
    
    buffer.push(NTBUS_STX | NTBUS_TRIGGER);
    buffer.push(NTBUS_STX | NTBUS_CMD | NTBUS_ID_IMU1);
    buffer.push(NTBUS_CMD_GETBOARDSTR);
    
    uint8_t recv;
    while (ntNode.processBusData(&recv) >= 0);
    assert(!(UCSR0B & (1<<TXEN0)));
    assert(ntNode.getBusState() == NtNode::IDLE);
    
    tNTBusCmdGetBoardStrData referenceFrame;
    memset(&referenceFrame, 0, NTBUS_CMDGETBOARDSTR_DATALEN);
    memcpy(&referenceFrame, boardName, sizeof(boardName));
    
    uint8_t reference[NTBUS_CMDGETBOARDSTR_DATALEN+1];
    memcpy(reference, &referenceFrame, NTBUS_CMDGETBOARDSTR_DATALEN);
    reference[NTBUS_CMDGETBOARDSTR_DATALEN] =
        ntcrc((uint8_t*) &referenceFrame, NTBUS_CMDGETBOARDSTR_DATALEN);
    
    assert(memcmp(reference, usart0buf, sizeof(reference)) == 0);
    
    usart0_reset();
    
    std::cout << "[PASS]" << std::endl;
}
Example #3
0
static void usart0_shutdown(struct uart_dev_s *dev)
{
  /* Reset, disable interrupts, and disable Rx and Tx */

  usart0_reset();
}