Honeywell PML:

Bus Resolution Code

-- Notes Page --


This slide shows a small portion of the Honeywell PML bus resolution function.

In this code, s is a vector of tokens passed to the BRF. If there are no drivers on the bus, the BRF returns an init_token (with a status of idle).

If there is only one token on the bus, the BRF returns that token.

If there is more than one token being driven, the BRF reads the protocol of the first token in the token vector s. Note that since all drivers on a bus must have the same protocol, only the first token needs to be checked. Multiple protocols on the same bus are supported through the use of the "CASE current_protocol" block and looping through all of the tokens in the vector.

To determine which token is to be returned, the BRF loops through all the tokens in the s token vector to determine the driver with the highest priority and state, and that token is returned.

[Honeywell95]

Copyright Honeywell, Inc. Reprinted with permission.