cardPoll

cardPoll — sets up or queries card polling parameters.

Synopsis

(cardPoll)
(cardPoll card_id)
(cardPoll card_id poll_ms [point_name [update_divisor]]])
  

Parameters

card_id

The target card ID (0..3). If no card ID is specified, the query form of the command is repeated for all initialized cards. If only the card ID is specified (no additional parameters) then that card is queried for its polling parameters, and no changes are made.

poll_ms

The polling period, in milliseconds, for the specified card. Values less than the QNX system ticksize will effectively be limited to the ticksize (i.e., for poll periods less than the default ticksize of 10ms, the ticksize must be changed).

point_name

The name of the point to count the number of polls. Default is task_name/cardcard_id/poll. If the Cascade DataHub is available (see the datahub command), then the value of this point is published to the datahub (see the update_divisor parameter).

update_divisor

Specifies how often to publish the poll count point to the Cascade DataHub. To reduce the impact on performance of unnecessarily frequent updates, the value is only published every update_divisor counts. If not specified, then it is calculated based on the poll_ms to produce an update of once per second.

Returns

In response to a query or successful setting of a card:

(cardPoll card_id poll_ms point_name update_divisor)

Otherwise, one of the following error messages:

(error "cardPoll DR_ERR_CARD_INVALID (time) invalid card: card_id")
(error "cardPoll DR_ERR_INTR_CMD (time) Card interrupt in use. Command ignored")

Description

This command sets or queries the polling parameters associated with a card. If a card does not use interrupts, then the driver must periodically poll the card to check for status and availability of new data from the fieldbus (and opportunity to write data to the fieldbus). The cardPoll command must be used to set the polling period, otherwise the interface to the fieldbus will not occur. The cardPoll command is normally specified in the configuration file, but may be subsequently modified or queried at any time. A count of the number of polls is kept in an associated point, which is published to the Cascade DataHub if available.

Example

In the following example, card 0 will be set to poll every 10 ms.

(cardPoll 0 10)

and returns

(cardPoll 0 10 dr/cif/card0/poll 100)