Esempio n. 1
0
int16_t parse_cmd_lcd_char(char *cmd, char *output, uint16_t len)
{
  if (strlen(cmd) < 26) 
    return ECMD_ERR_PARSE_ERROR;
  uint8_t n_char, data[8];
  int ret = sscanf_P(cmd, PSTR("%hhu %hhx %hhx %hhx %hhx %hhx %hhx %hhx %hhx"), &n_char,
                     &data[0], &data[1], &data[2], &data[3],
                     &data[4], &data[5], &data[6], &data[7]);

  if (ret == 9) {
    hd44780_define_char(n_char, data,1);
#ifdef HD44780_MULTIENSUPPORT
    hd44780_define_char(n_char, data,2);
#endif
  return ECMD_FINAL_OK;
  } else
    return ECMD_ERR_PARSE_ERROR;
}
Esempio n. 2
0
int16_t parse_cmd_lcd_char(char *cmd, char *output, uint16_t len)
{
  if (strlen(cmd) < 26) 
    return ECMD_ERR_PARSE_ERROR;
  uint8_t n_char, data[8];
  int ret = sscanf_P(cmd, PSTR("%u %x %x %x %x %x %x %x %x"), &n_char,
                     &data[0], &data[1], &data[2], &data[3],
                     &data[4], &data[5], &data[6], &data[7]);

  if (ret == 9) {
    hd44780_define_char(n_char, data);
    return ECMD_FINAL_OK;
  } else
    return ECMD_ERR_PARSE_ERROR;
}