Introduced configure switch --enable-regalias for enabling reading alias

addresses from registers. Disabled by default.
This commit is contained in:
Florian Pose 2010-05-25 14:12:02 +02:00
parent 9618b9dfe6
commit ca921529a2
2 changed files with 44 additions and 7 deletions

View File

@ -512,6 +512,30 @@ if test "x${hrtimer}" = "x1"; then
AC_DEFINE([EC_USE_HRTIMER], [1], [Use hrtimer for scheduling])
fi
#------------------------------------------------------------------------------
# Read alias address from register
#------------------------------------------------------------------------------
AC_ARG_ENABLE([regalias],
AS_HELP_STRING([--enable-regalias],
[Read alias adresses from register (default: no)]),
[
case "${enableval}" in
yes) regalias=1
;;
no) regalias=0
;;
*) AC_MSG_ERROR([Invalid value for --enable-regalias])
;;
esac
],
[regalias=0]
)
if test "x${regalias}" = "x1"; then
AC_DEFINE([EC_REGALIAS], [1], [Read alias adresses from register])
fi
#------------------------------------------------------------------------------
# Command-line tool
#-----------------------------------------------------------------------------

View File

@ -52,7 +52,9 @@ void ec_fsm_slave_scan_state_dc_times(ec_fsm_slave_scan_t *);
void ec_fsm_slave_scan_state_datalink(ec_fsm_slave_scan_t *);
void ec_fsm_slave_scan_state_sii_size(ec_fsm_slave_scan_t *);
void ec_fsm_slave_scan_state_sii_data(ec_fsm_slave_scan_t *);
#ifdef EC_REGALIAS
void ec_fsm_slave_scan_state_regalias(ec_fsm_slave_scan_t *);
#endif
void ec_fsm_slave_scan_state_preop(ec_fsm_slave_scan_t *);
void ec_fsm_slave_scan_state_sync(ec_fsm_slave_scan_t *);
void ec_fsm_slave_scan_state_pdos(ec_fsm_slave_scan_t *);
@ -61,7 +63,9 @@ void ec_fsm_slave_scan_state_end(ec_fsm_slave_scan_t *);
void ec_fsm_slave_scan_state_error(ec_fsm_slave_scan_t *);
void ec_fsm_slave_scan_enter_datalink(ec_fsm_slave_scan_t *);
#ifdef EC_REGALIAS
void ec_fsm_slave_scan_enter_regalias(ec_fsm_slave_scan_t *);
#endif
void ec_fsm_slave_scan_enter_preop(ec_fsm_slave_scan_t *);
void ec_fsm_slave_scan_enter_pdos(ec_fsm_slave_scan_t *);
@ -694,7 +698,15 @@ void ec_fsm_slave_scan_state_sii_data(ec_fsm_slave_scan_t *fsm /**< slave state
}
}
#ifdef EC_REGALIAS
ec_fsm_slave_scan_enter_regalias(fsm);
#else
if (slave->sii.mailbox_protocols & EC_MBOX_COE) {
ec_fsm_slave_scan_enter_preop(fsm);
} else {
fsm->state = ec_fsm_slave_scan_state_end;
}
#endif
return;
end:
@ -703,13 +715,12 @@ end:
fsm->state = ec_fsm_slave_scan_state_error;
}
/*****************************************************************************/
/**
Slave scan entry function: REGALIAS.
*/
#ifdef EC_REGALIAS
/** Slave scan entry function: REGALIAS.
*/
void ec_fsm_slave_scan_enter_regalias(
ec_fsm_slave_scan_t *fsm /**< slave state machine */
)
@ -727,9 +738,8 @@ void ec_fsm_slave_scan_enter_regalias(
/*****************************************************************************/
/**
Slave scan state: REGALIAS.
*/
/** Slave scan state: REGALIAS.
*/
void ec_fsm_slave_scan_state_regalias(
ec_fsm_slave_scan_t *fsm /**< slave state machine */
)
@ -754,6 +764,7 @@ void ec_fsm_slave_scan_state_regalias(
EC_SLAVE_DBG(slave, 1, "Read alias %u from register.\n",
slave->effective_alias);
}
if (slave->sii.mailbox_protocols & EC_MBOX_COE) {
ec_fsm_slave_scan_enter_preop(fsm);
} else {
@ -761,6 +772,8 @@ void ec_fsm_slave_scan_state_regalias(
}
}
#endif // defined EC_REGALIAS
/*****************************************************************************/
/** Enter slave scan state PREOP.