How do I set up both channels on a dual channel board like the PCI-1553?
The PCI-1553-MM board has two independent 1553 interface channels. When you program the board using the BusTools/1553-API, you initialize each channel with a call to BusTool_API_InitExtended. This function has the following calling sequence:
wStatus = BusTools_API_InitExtended( wCardnum, dwAddress, wIOaddress, pwFlag, platform, cardType, carrier, slot, mapping);
Assuming you have only one PCI-1553 installed in your system, you initialize both 1553 interface channels using the following:
status = BusTools_API_InitExtended(0, 0, 0, ,PLATFORM_PC, PCI1553,NATIVE, SLOT_A, CARRIER_MAP_DEFAULT); /* Channel 1 */ status = BusTools_API_InitExtended(1, 0, 0, ,PLATFORM_PC, PCI1553,NATIVE, SLOT_B, CARRIER_MAP_DEFAULT); /* Channel 2 */
From this point on, all the calls to the API, use card number (wCardnum from the above calls) to identify the channel. Your call to BusTools_RT_ReadMessage would use card number 0 to identify channel 1 and card number 1 to identify channel 2 as in the following example:
API_RT_MBUF_READ *RT_1_Message, *RT_2_Message; status = BusTools_RT_MessageRead( 0, RT_1, wSubaddr, wTrans, wMessageid, ); status = BusTools_RT_MessageRead( 1, RT_2, wSubaddr, wTrans, wMessageid, );