Removed max-master timeout in NO TOKEN state as this was causing issues and didn't have any basis in the standard. Thank you, Michael Hall.
This commit is contained in:
@@ -589,7 +589,7 @@ bool MSTP_Master_Node_FSM(
|
|||||||
uint8_t next_poll_station = 0;
|
uint8_t next_poll_station = 0;
|
||||||
uint8_t next_this_station = 0;
|
uint8_t next_this_station = 0;
|
||||||
uint8_t next_next_station = 0;
|
uint8_t next_next_station = 0;
|
||||||
uint16_t my_timeout = 10, ns_timeout = 0, mm_timeout = 0;
|
uint16_t my_timeout = 10, ns_timeout = 0;
|
||||||
/* transition immediately to the next state */
|
/* transition immediately to the next state */
|
||||||
bool transition_now = false;
|
bool transition_now = false;
|
||||||
MSTP_MASTER_STATE master_state = mstp_port->master_state;
|
MSTP_MASTER_STATE master_state = mstp_port->master_state;
|
||||||
@@ -950,11 +950,7 @@ bool MSTP_Master_Node_FSM(
|
|||||||
} else {
|
} else {
|
||||||
ns_timeout =
|
ns_timeout =
|
||||||
Tno_token + (Tslot * (mstp_port->This_Station + 1));
|
Tno_token + (Tslot * (mstp_port->This_Station + 1));
|
||||||
mm_timeout =
|
if (mstp_port->SilenceTimer((void *) mstp_port) < ns_timeout) {
|
||||||
Tno_token + (Tslot * (mstp_port->Nmax_master + 1));
|
|
||||||
if ((mstp_port->SilenceTimer((void *) mstp_port) < ns_timeout)
|
|
||||||
|| (mstp_port->SilenceTimer((void *) mstp_port) >
|
|
||||||
mm_timeout)) {
|
|
||||||
/* GenerateToken */
|
/* GenerateToken */
|
||||||
/* Assume that this node is the lowest numerical address */
|
/* Assume that this node is the lowest numerical address */
|
||||||
/* on the network and is empowered to create a token. */
|
/* on the network and is empowered to create a token. */
|
||||||
|
|||||||
Reference in New Issue
Block a user