Beispiel #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;
    }
Beispiel #2
0
int writeFloat(double val)
{
  char str[32];
  
  sprintf(str, "%.2f", val);
  return com_Send(Serial, (unsigned char*)str, strlen(str));
}
Beispiel #3
0
int writeLong(long val)
{
  char str[32];
  
  sprintf(str, "%ld", val);
  return com_Send(Serial, (unsigned char*)str, strlen(str));
}
Beispiel #4
0
RBAPI(bool) com_Write(int com, unsigned char val) {
    #if defined(RB_MSVC_WIN32) || defined(RB_MSVC_WINCE) || defined(RB_LINUX)
        return com_Send(com, &val, 1);
    #else
        // TODO ...
        err_SetMsg(ERROR_COM_INVALID, "unsupported platform");
        return false;
    #endif
}
Beispiel #5
0
_RBAPI_C(bool) com_printf(int com, char* fmt, ...) {
    char buf[512];
    va_list args;

	va_start(args, fmt);
	vsprintf(buf, fmt, args);
	va_end(args);
	
	return com_Send(com, (unsigned char*)buf, (int)strlen(buf));
}
Beispiel #6
0
int writeString(const char *str)
{
  return com_Send(Serial, (unsigned char*)str, strlen(str));
}