*** empty log message ***
r1263 | dcl | 2006-11-09 11:07:17 +1100 (Thu, 09 Nov 2006) | 2 lines
This commit is contained in:
@@ -89,7 +89,6 @@ static void initMite(iBus *bus);
|
||||
|
||||
static CARD* card[10];
|
||||
#else
|
||||
static int make_dout_task(pHWARE ptr);
|
||||
#endif
|
||||
|
||||
int hware_ctor(const char* device_name, pHWARE* ptr)
|
||||
@@ -101,6 +100,7 @@ int hware_ctor(const char* device_name, pHWARE* ptr)
|
||||
int error = 0;
|
||||
bool flag = false;
|
||||
char text_string[] = DEFAULT_DEVICE;
|
||||
char port_range[40];
|
||||
const char *name;
|
||||
const char *text;
|
||||
|
||||
@@ -119,8 +119,6 @@ int hware_ctor(const char* device_name, pHWARE* ptr)
|
||||
if (flag)
|
||||
{
|
||||
hware->channel_number = *name - '0';
|
||||
hware->sync_line_number = mapping[hware->channel_number].sync_num;
|
||||
hware->output_line_number = mapping[hware->channel_number].outp_num;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -141,6 +139,8 @@ int hware_ctor(const char* device_name, pHWARE* ptr)
|
||||
++text;
|
||||
}
|
||||
|
||||
hware->sync_line_number = mapping[hware->channel_number].sync_num;
|
||||
hware->output_line_number = mapping[hware->channel_number].outp_num;
|
||||
#ifdef REGISTER_LEVEL_PROGRAMMING
|
||||
if (card[hware->card_number] == NULL)
|
||||
{
|
||||
@@ -381,6 +381,7 @@ int hware_ctor(const char* device_name, pHWARE* ptr)
|
||||
// Create a DAQmx task
|
||||
/*********************************************/
|
||||
DAQmxErrChk (DAQmxCreateTask("",&hware->taskHandle));
|
||||
DAQmxErrChk (DAQmxCreateTask("",&hware->taskHandle_dout));
|
||||
|
||||
/*********************************************/
|
||||
// Create a DAQmx device within the task
|
||||
@@ -393,10 +394,22 @@ int hware_ctor(const char* device_name, pHWARE* ptr)
|
||||
hware->count32,
|
||||
DAQmx_Val_CountUp));
|
||||
|
||||
/*********************************************/
|
||||
// Create the digital channel within the task
|
||||
/*********************************************/
|
||||
snprintf(port_range, sizeof(port_range), "DEV%d/LINE%d",
|
||||
hware->card_number, hware->channel_number);
|
||||
DAQmxErrChk (DAQmxCreateDOChan(hware->taskHandle_dout,
|
||||
port_range,
|
||||
"",
|
||||
DAQmx_Val_ChanPerLine));
|
||||
|
||||
/*********************************************/
|
||||
// Start the DAQmx task
|
||||
/*********************************************/
|
||||
DAQmxErrChk (DAQmxStartTask(hware->taskHandle));
|
||||
DAQmxErrChk (DAQmxStartTask(hware->taskHandle_dout));
|
||||
hware_outp(hware, 0);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
@@ -582,7 +595,6 @@ int hware_outp(pHWARE hware, int value)
|
||||
if (value < 0)
|
||||
{
|
||||
// set the disabled line to logic low
|
||||
if (hware->taskHandle_dout != 0) {
|
||||
data = 0;
|
||||
DAQmxWriteDigitalLines(hware->taskHandle_dout,
|
||||
1,
|
||||
@@ -592,18 +604,9 @@ int hware_outp(pHWARE hware, int value)
|
||||
&data,
|
||||
NULL,
|
||||
NULL);
|
||||
/*********************************************/
|
||||
// DAQmx Stop Code
|
||||
/*********************************************/
|
||||
DAQmxStopTask(hware->taskHandle_dout);
|
||||
DAQmxClearTask(hware->taskHandle_dout);
|
||||
hware->taskHandle_dout = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (hware->taskHandle_dout == 0)
|
||||
DAQmxErrChk (make_dout_task(hware));
|
||||
if (value > 0)
|
||||
data = 1;
|
||||
else
|
||||
@@ -807,32 +810,4 @@ void initMite(iBus *bus)
|
||||
bus->destroyAddressSpace(Bar0);
|
||||
}
|
||||
#else
|
||||
int make_dout_task(pHWARE ptr)
|
||||
{
|
||||
int error = 0;
|
||||
char port_range[40];
|
||||
/*********************************************/
|
||||
// Create a DAQmx task to hold the counter
|
||||
/*********************************************/
|
||||
DAQmxErrChk (DAQmxCreateTask("",&ptr->taskHandle_dout));
|
||||
|
||||
/*********************************************/
|
||||
// Create the digital channel within the task
|
||||
/*********************************************/
|
||||
snprintf(port_range, sizeof(port_range), "DEV%d/LINE%d",
|
||||
ptr->card_number, ptr->channel_number);
|
||||
DAQmxErrChk (DAQmxCreateDOChan(ptr->taskHandle_dout,
|
||||
port_range,
|
||||
"",
|
||||
DAQmx_Val_ChanPerLine));
|
||||
|
||||
/*********************************************/
|
||||
// Start the DAQmx task
|
||||
/*********************************************/
|
||||
DAQmxErrChk (DAQmxStartTask(ptr->taskHandle_dout));
|
||||
return error;
|
||||
|
||||
Error:
|
||||
return error;
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user