From 96b61dc9b0b68bff80f584d82e6696108d72f9bd Mon Sep 17 00:00:00 2001 From: Rolf Bork <rbork@caltech.edu> Date: Tue, 6 Oct 2020 09:52:10 -0500 Subject: [PATCH] Modified I/O mapping info pasing from IOP to user models for binary I/O cards. With previous change for ADC/DAC mapping to allow DAC models in any order, BIO mapping needed to change to same structure. --- src/fe/mapApp.c | 12 ++++++------ src/fe/moduleLoadCommon.c | 3 ++- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/fe/mapApp.c b/src/fe/mapApp.c index e9a470c8e..f3dc18535 100644 --- a/src/fe/mapApp.c +++ b/src/fe/mapApp.c @@ -95,7 +95,7 @@ mapPciModules( CDS_HARDWARE* pCds ) case CON_6464DIO: if ( ( pCds->cards_used[ jj ].type == CON_6464DIO ) && - ( pCds->cards_used[ jj ].instance == doCnt ) ) + ( pCds->cards_used[ jj ].instance == ioMemData->card[ ii ] ) ) { kk = pCds->doCount; pCds->doType[ kk ] = ioMemData->model[ ii ]; @@ -107,7 +107,7 @@ mapPciModules( CDS_HARDWARE* pCds ) status += 2; } if ( ( pCds->cards_used[ jj ].type == CDO64 ) && - ( pCds->cards_used[ jj ].instance == doCnt ) ) + ( pCds->cards_used[ jj ].instance == ioMemData->card[ ii ] ) ) { kk = pCds->doCount; pCds->doType[ kk ] = CDO64; @@ -119,7 +119,7 @@ mapPciModules( CDS_HARDWARE* pCds ) status++; } if ( ( pCds->cards_used[ jj ].type == CDI64 ) && - ( pCds->cards_used[ jj ].instance == doCnt ) ) + ( pCds->cards_used[ jj ].instance == ioMemData->card[ ii ] ) ) { kk = pCds->doCount; pCds->doType[ kk ] = CDI64; @@ -133,7 +133,7 @@ mapPciModules( CDS_HARDWARE* pCds ) break; case CON_32DO: if ( ( pCds->cards_used[ jj ].type == CON_32DO ) && - ( pCds->cards_used[ jj ].instance == do32Cnt ) ) + ( pCds->cards_used[ jj ].instance == ioMemData->card[ ii ] ) ) { kk = pCds->doCount; pCds->doType[ kk ] = ioMemData->model[ ii ]; @@ -146,7 +146,7 @@ mapPciModules( CDS_HARDWARE* pCds ) break; case ACS_16DIO: if ( ( pCds->cards_used[ jj ].type == ACS_16DIO ) && - ( pCds->cards_used[ jj ].instance == doIIRO16Cnt ) ) + ( pCds->cards_used[ jj ].instance == ioMemData->card[ ii ] ) ) { kk = pCds->doCount; pCds->doType[ kk ] = ioMemData->model[ ii ]; @@ -159,7 +159,7 @@ mapPciModules( CDS_HARDWARE* pCds ) break; case ACS_8DIO: if ( ( pCds->cards_used[ jj ].type == ACS_8DIO ) && - ( pCds->cards_used[ jj ].instance == doIIRO8Cnt ) ) + ( pCds->cards_used[ jj ].instance == ioMemData->card[ ii ] ) ) { kk = pCds->doCount; pCds->doType[ kk ] = ioMemData->model[ ii ]; diff --git a/src/fe/moduleLoadCommon.c b/src/fe/moduleLoadCommon.c index ecc512e48..2af4046e9 100644 --- a/src/fe/moduleLoadCommon.c +++ b/src/fe/moduleLoadCommon.c @@ -125,7 +125,7 @@ print_io_info( CDS_HARDWARE* cdsp , int iopmodel) } } } - kk += cdsp->dioCount; + kk += cdsp->doCount; printf( "******************************************************************" "*********\n" ); printf( "" SYSTEM_NAME_STRING_LOWER ":%d DIO cards found\n", @@ -423,6 +423,7 @@ send_io_info_to_mbuf( int totalcards, CDS_HARDWARE* pCds ) tdsCount++; } ioMemData->model[ kk ] = pCds->doType[ ii ]; + ioMemData->card[ kk ] = pCds->doInstance[ ii ]; // Unlike ADC and DAC, where a memory buffer number is passed, a PCIe // address is passed for DIO cards. ioMemData->ipc[ kk ] = pCds->pci_do[ ii ]; -- GitLab