Exemple #1
0
ICACHE_FLASH_ATTR
void CMD_ProtoWriteBuf(uint8_t *data, uint32_t len)
{
	uint8_t* data_send = data;
	while(len--){
		CMD_ProtoWrite(*data_send++);
	}
}
Exemple #2
0
ICACHE_FLASH_ATTR
uint16 CMD_ResponseBody(uint16_t crc_in, uint8_t* data, uint16_t len)
{
  uint8_t temp = 0;
  uint16_t pad_len = len;
  while(pad_len % 4 != 0)
    pad_len++;

  CMD_ProtoWriteBuf((uint8_t*)&pad_len, 2);
  crc_in = crc16_data((uint8_t*)&pad_len, 2, crc_in);
  while(len --){
	  CMD_ProtoWrite(*data);
    crc_in = crc16_data((uint8_t*)data, 1, crc_in);
    data ++;
    if(pad_len > 0) pad_len --;
  }

  while(pad_len --){
	  CMD_ProtoWrite(temp);
    crc_in = crc16_data((uint8_t*)&temp, 1, crc_in);
  }
  return crc_in;
}
Exemple #3
0
static void ICACHE_FLASH_ATTR
CMD_ProtoWriteBuf(uint8_t *data, short len) {
  while (len--) CMD_ProtoWrite(*data++);
}