Ejemplo n.º 1
0
//! Send a stream of data followed by checksum
static void ubx_cfg_send_checksummed(uintptr_t gps_port,
    const uint8_t *dat, uint16_t len)
{
    // Calculate checksum
    ubloxTxChecksumReset();
    for (uint16_t i = 0; i < len; i++) {
        ubloxTxChecksum(dat[i]);
    }

    // Send buffer followed by checksum
    PIOS_COM_SendChar(gps_port, UBLOX_SYNC1);
    PIOS_COM_SendChar(gps_port, UBLOX_SYNC2);
    PIOS_COM_SendBuffer(gps_port, dat, len);
    PIOS_COM_SendChar(gps_port, ubloxTxCK_A);
    PIOS_COM_SendChar(gps_port, ubloxTxCK_B);

    ubx_cfg_pause_parse(gps_port, UBLOX_WAIT_MS);
}
Ejemplo n.º 2
0
static void TaskHIDTest(void *pvParameters)
{
	uint8_t byte;
	uint8_t line_buffer[128];
	uint16_t line_ix = 0;

	for(;;)
	{
		/* HID Loopback Test */
#if 0
		if(PIOS_COM_ReceiveBufferUsed(COM_USB_HID) != 0) {
			byte = PIOS_COM_ReceiveBuffer(COM_USB_HID);
			if(byte == '\r' || byte == '\n' || byte == 0) {
				PIOS_COM_SendFormattedString(COM_USB_HID, "RX: %s\r", line_buffer);
				PIOS_COM_SendFormattedString(COM_DEBUG_USART, "RX: %s\r", line_buffer);
				line_ix = 0;
			} else if(line_ix < sizeof(line_buffer)) {
				line_buffer[line_ix++] = byte;
				line_buffer[line_ix] = 0;
			}
		}
#endif

		/* HID Loopback Test */
		if(PIOS_COM_ReceiveBufferUsed(COM_USART2) != 0) {
			byte = PIOS_COM_ReceiveBuffer(COM_USART2);
#if 0
			if(byte == '\r' || byte == '\n' || byte == 0) {
				PIOS_COM_SendFormattedString(COM_DEBUG_USART, "RX: %s\r", line_buffer);
				line_ix = 0;
			} else if(line_ix < sizeof(line_buffer)) {
				line_buffer[line_ix++] = byte;
				line_buffer[line_ix] = 0;
			}
#endif
			PIOS_COM_SendChar(COM_DEBUG_USART, (char)byte);
		}
	}
}
Ejemplo n.º 3
0
void SSP_SerialWrite(uint8_t value) {
	PIOS_COM_SendChar(PIOS_COM_TELEM_RF,value);
}