29unsigned short crc16(
const unsigned char* buf,
unsigned long count)
31 unsigned short crc = 0;
35 crc = crc ^ *buf++ << 8;
37 for (i = 0; i < 8; i++) {
39 crc = crc << 1 ^ 0x1021;
50 int len = uart_read_bytes(
EX_UART_NUM, &ch, 1, timeout / portTICK_RATE_MS);
61 while (uart_read_bytes(
EX_UART_NUM, ch, 64, 100 / portTICK_RATE_MS) > 0)
103 int count, packet_size, i;
136 vTaskDelay(100 / portTICK_RATE_MS);
142 uint8_t* dptr = data + 1;
145 for (i = 0; i < count; i++) {
149 *dptr++ = (uint8_t)ch;
162 *length = packet_size;
#define PACKET_SEQNO_COMP_INDEX
#define PACKET_SEQNO_INDEX
void IRAM_ATTR LED_toggle()
Toggles the state of an LED.
void send_CRC16()
Sends the CRC16 checksum.
void send_ACKCRC16()
Sends an acknowledgment with CRC16.
unsigned short crc16(const unsigned char *buf, unsigned long count)
Computes the CRC-16 checksum for a given buffer.
int32_t Receive_Packet(uint8_t *data, int *length, uint32_t timeout)
Receives a packet of data.
void send_CA()
Sends the CA (Cancel) signal.
uint32_t Send_Byte(char c)
Sends a single byte of data.
void send_ACK()
Sends an acknowledgment (ACK) signal.
int32_t Receive_Byte(unsigned char *c, uint32_t timeout)
Receives a byte from a communication interface.
void send_NAK()
Sends a Negative Acknowledgement (NAK) signal.
void uart_consume()
Consumes data from the UART buffer.
Ymodem utility functions.