예제 #1
0
void xSerialPrintf_P(PGM_P format, ...)
{
	va_list arg;

	va_start(arg, format);
	vsnprintf_P((char *)serialWorkBuffer, portSERIAL_BUFFER, format, arg);
	xSerialPrint((uint8_t *)serialWorkBuffer);
	va_end(arg);
}
예제 #2
0
void hid_put_dump(const uint8_t *buffer, uint16_t cnt)
{
	uint8_t i;

	for(i = 0; i < cnt; ++i)
		xSerialPrintf_P(PSTR(" %02X"), buffer[i]);

	xSerialPutChar( &xSerialPort, ' ' );
	for(i = 0; i < cnt; ++i)
	{
		xSerialPutChar( &xSerialPort, (buffer[i] >= ' ' && buffer[i] <= '~') ? buffer[i] : '.' );
	}
	xSerialPrint((uint8_t *)"\r\n");
	vTaskDelay( 8 / portTICK_PERIOD_MS ); // Whoa... too fast.
}
예제 #3
0
void xSerialPrintf_P(PGM_P format, ...)
{
    va_list arg;

    va_start(arg, format);

    while(xSerialPort.serialWorkBufferInUse == ENGAGED ) taskYIELD();
    xSerialPort.serialWorkBufferInUse = ENGAGED;

    vsnprintf_P((char *)(xSerialPort.serialWorkBuffer), xSerialPort.serialWorkBufferSize, format, arg);
    xSerialPrint((uint8_t *)(xSerialPort.serialWorkBuffer));

    xSerialPort.serialWorkBufferInUse = VACANT;

    va_end(arg);
}