*/
#define RPP_IRC_2 2U
-extern boolean_t rpp_irc1_enabled; /**< Flag for indicating the state of IRC1. */
-extern boolean_t rpp_irc2_enabled; /**< Flag for indicating the state of IRC2. */
-
/**
* IRC module initialization.
*
static boolean_t check_pin_busy(uint8_t pin)
{
- if (rpp_irc1_enabled && (pin == 10 || pin == 11))
+ if (rpp_irc_status(RPP_IRC_1) == 1 && (pin == 10 || pin == 11))
return TRUE;
- if (rpp_irc2_enabled && (pin == 14 || pin == 15))
+ if (rpp_irc_status(RPP_IRC_2) == 1 && (pin == 14 || pin == 15))
return TRUE;
return FALSE;
}
static boolean_t initialized = FALSE;
-boolean_t rpp_irc1_enabled = FALSE;
-boolean_t rpp_irc2_enabled = FALSE;
+static boolean_t rpp_irc_enabled[2] = {FALSE, FALSE};
int8_t rpp_irc_init()
{
if (irc < 1 || irc > 2)
return -RPP_EINVAL;
- switch (irc) {
- case 1:
- rpp_irc1_enabled = TRUE;
- break;
- case 2:
- rpp_irc2_enabled = TRUE;
- break;
- }
+ rpp_irc_enabled[irc-1] = TRUE;
setMuxForIRC(irc, TRUE);
ircEnable(irc);
if (irc < 1 || irc > 2)
return -RPP_EINVAL;
- switch (irc) {
- case 1:
- return rpp_irc1_enabled ? 1 : 0;
- case 2:
- return rpp_irc2_enabled ? 1 : 0;
- }
- return FAILURE;
+ return rpp_irc_enabled[irc-1];
}
int32_t rpp_irc_get(uint8_t irc)
ircDisable(irc);
setMuxForIRC(irc, FALSE);
- switch (irc) {
- case 1:
- rpp_irc1_enabled = FALSE;
- break;
- case 2:
- rpp_irc2_enabled = FALSE;
- break;
- }
- return FAILURE;
+ rpp_irc_enabled[irc-1] = FALSE;
+ return SUCCESS;
}