Example #1
0
    RBAPI(bool) com_ServoTRX(int com, unsigned char* cmd, int csize, unsigned char* buf, int bsize) {
        com_ClearRFIFO(com);
    
        if (com_Send(com, cmd, csize) == false) return false;

        if (COM_duplex[com] == COM_HDUPLEX)  // discard the first-received csize bytes in case of TX/RX-short
        {
            int i; unsigned int tmpbyte;

            for (i=0; i<csize; i++)
            {
                if ((tmpbyte = com_Read(com)) == 0xffff) return false;
        
                if ((unsigned char)tmpbyte != cmd[i])
                {
                    err_SetMsg(ERROR_COM_FAIL, "receive a wrong self-feedback byte");
                    return false;
                }
            }
        } // end if (COM_duplex[com] ...
    
        if (buf != NULL) //&&
        if (com_Receive(com, buf, bsize) == false) return false;

        return true;
    }
Example #2
0
RBAPI(unsigned int) com_getch(int com) {
    int numbytes;
    
    while ((numbytes = check_rfifo(com)) <= 0)
        if (numbytes < 0) return 0xffff;

    return (int)com_Read(com);
}
Example #3
0
int readCommandChr(void)
{
  int c = com_Read(Serial);
  return (c == 0xFFFF) ? (-1) : (c);
}