Ejemplo n.º 1
0
void uartToRadioService()
{
    // Data
    while(!spi0MasterBusy() && radioComTxAvailable())
    {
        radioComTxSendByte(spi0MasterReceiveByte());
    }

    while(radioComRxAvailable() && !spi0MasterBusy())
    {
        spi0MasterSendByte(radioComRxReceiveByte());
    }

    // Control Signals.
    ioTxSignals(radioComRxControlSignals());
    radioComTxControlSignals(ioRxSignals());
}
Ejemplo n.º 2
0
void uartToRadioService()
{
    // Data
    while(uart1RxAvailable() && radioComTxAvailable())
    {
        radioComTxSendByte(uart1RxReceiveByte());
    }

    while(radioComRxAvailable() && uart1TxAvailable())
    {
        uart1TxSendByte(radioComRxReceiveByte());
    }

    // Control Signals.
    ioTxSignals(radioComRxControlSignals());
    radioComTxControlSignals(ioRxSignals());
}
Ejemplo n.º 3
0
void usbToUartService()
{
    uint8 signals;

    // Data
    while(usbComRxAvailable() && !spi0MasterBusy())
    {
        spi0MasterSendByte(usbComRxReceiveByte());
    }

    while(!spi0MasterBusy() && usbComTxAvailable())
    {
        usbComTxSendByte(spi0MasterReceiveByte());
    }

    ioTxSignals(usbComRxControlSignals());

    // Need to switch bits 0 and 1 so that DTR pairs up with DSR.
    signals = ioRxSignals();
    usbComTxControlSignals( ((signals & 1) ? 2 : 0) | ((signals & 2) ? 1 : 0));

    // TODO: report framing, parity, and overrun errors to the USB host here
}