/*$$$LICENCE_NORDIC_STANDARD<2016>$$$*/

#ifndef _SR3_CONFIG_IR_H
#define _SR3_CONFIG_IR_H

#if (!defined(__ASSEMBLER__) && !defined(__IAR_SYSTEMS_ASM__))
#include "app_util.h"

#define SR3_IR_SYMBOL(_command, _address)  { (_command), (_address) }

/** @brief IR (SIRC) symbol. */
typedef struct
{
    uint8_t ir_command;  /**< sirc_command_t 7 bit, nec command 8 bits. */
    uint8_t ir_address;  /**< sirc_address_t 5 bit or 8 bits, nec address 8 bits. */
} sr3_ir_symbol_t;

/** @brief IR (SIRC) keyboard map entry. */
typedef struct
{
    uint16_t        key_id;  /**< Key ID. */
    sr3_ir_symbol_t symbol;  /**< IR symbol. */
} sr3_ir_keymap_t;

extern const sr3_ir_keymap_t g_sr3_ir_keymap[];     /**< IR keyboard map. */
extern const size_t          g_sr3_ir_keymap_size;  /**< IR keyboard map size. */

#endif /* !defined(__ASSEMBLER__) && !defined(__IAR_SYSTEMS_ASM__) */
#endif /* _SR3_CONFIG_IR_H */
