int16_t parse_cmd_irmp_send(char *cmd, char *output, uint16_t len) { int16_t ret; irmp_data_t irmp_data; /* FIXME: avrlibc/inttypes.h: __avr_libc_does_not_implement_hh_in_scanf ??? */ ret = sscanf_P(cmd, PSTR("%hhd %" SCNx16 " %" SCNx16 " %hhx"), &irmp_data.protocol, &irmp_data.address, &irmp_data.command, &irmp_data.flags); /* check if two values have been given */ if (ret != 4) return ECMD_ERR_PARSE_ERROR; irmp_write(&irmp_data); return ECMD_FINAL_OK; }
int16_t parse_cmd_irmp_send (char *cmd, char *output, uint16_t len) { int16_t ret; irmp_data_t irmp_data; ret = sscanf_P (cmd, PSTR ("%hhd %x %x %hhd"), &irmp_data.protocol, &irmp_data.address, &irmp_data.command, &irmp_data.flags); /* check if two values have been given */ if (ret != 4) return ECMD_ERR_PARSE_ERROR; irmp_write (&irmp_data); return ECMD_FINAL_OK; }