コード例 #1
0
ファイル: irmp_ecmd.c プロジェクト: 1234tester/ethersex
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;
}
コード例 #2
0
ファイル: irmp_ecmd.c プロジェクト: kiwi77/ethersex
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;
}