*** empty log message ***

r1263 | dcl | 2006-11-09 11:07:17 +1100 (Thu, 09 Nov 2006) | 2 lines
This commit is contained in:
Douglas Clowes
2006-11-09 11:07:17 +11:00
parent f690e1d185
commit 4b54c82d27
5 changed files with 29 additions and 53 deletions

View File

@@ -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