#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <iothinx/iothinxio.h>
int main(
int argc,
char **
const argv)
{
int32_t rc;
uint32_t ao_slot = 8;
uint8_t ao_channel_start = 0;
uint8_t ao_channel_count = 4;
uint8_t ao_ranges[4];
uint16_t ao_raws[4];
float ao_engs[4];
uint8_t ao_statuss[4];
int32_t i;
char ch;
while (-1 != (rc = getopt(argc, argv, "c:n:hs:")))
{
switch (rc)
{
case 's':
ao_slot = atoi(optarg);
break;
case 'c':
ao_channel_start = atoi(optarg);
break;
case 'n':
ao_channel_count = atoi(optarg);
break;
case 'h':
default:
printf("AO sample program.\n\n");
printf("Usage: ./ao [OPTIONS]\n\n");
printf("Options:\n");
printf("\t%-8s Slot of AO module. Default slot = %d\n", "-s", ao_slot);
printf("\t%-8s AO start channel. Default channel = %d\n", "-c", ao_channel_start);
printf("\t%-8s AO channel count. Default count = %d\n", "-n", ao_channel_count);
printf("\n");
return 0;
}
}
printf("AO slot = %lu\n", ao_slot);
printf("AO start channel = %u\n", ao_channel_start);
printf("AO channel count = %u\n", ao_channel_count);
{
printf("ioThinx_IO_Client_Init() = %d\n", rc);
return -1;
}
for (i = 0; i < ao_channel_count; i++)
{
}
{
printf("ioThinx_AO_Config_SetRanges() = %d\n", rc);
}
{
printf("ioThinx_IO_Config_Reload() = %d\n", rc);
}
for (i = 0; i < ao_channel_count; i++)
{
ao_raws[i] = 0x800;
}
{
printf("ioThinx_AO_Config_SetRanges() = %d\n", rc);
}
sleep(1);
do
{
{
printf("ioThinx_AO_GetEngs() = %d\n", rc);
break;
}
{
printf("ioThinx_AO_GetStatuss() = %d\n", rc);
break;
}
for (i = 0; i < ao_channel_count; i++)
{
printf("[%lu:%u] eng = %.3f, status = %d\n", ao_slot, ao_channel_start+i, ao_engs[i], ao_statuss[i]);
}
ch = getchar();
}
while (ch != 'q');
return 0;
}
56 uint8_t ao_channel_start = 0;
57 uint8_t ao_channel_count = 4;
61 uint8_t ao_statuss[4];
65 while (-1 != (rc = getopt(argc, argv,
"c:n:hs:")))
70 ao_slot = atoi(optarg);
73 ao_channel_start = atoi(optarg);
76 ao_channel_count = atoi(optarg);
80 printf(
"AO sample program.\n\n");
81 printf(
"Usage: ./ao [OPTIONS]\n\n");
83 printf(
"\t%-8s Slot of AO module. Default slot = %d\n",
"-s", ao_slot);
84 printf(
"\t%-8s AO start channel. Default channel = %d\n",
"-c", ao_channel_start);
85 printf(
"\t%-8s AO channel count. Default count = %d\n",
"-n", ao_channel_count);
91 printf(
"AO slot = %lu\n", ao_slot);
92 printf(
"AO start channel = %u\n", ao_channel_start);
93 printf(
"AO channel count = %u\n", ao_channel_count);
99 printf(
"ioThinx_IO_Client_Init() = %d\n", rc);
104 for (i = 0; i < ao_channel_count; i++)
111 printf(
"ioThinx_AO_Config_SetRanges() = %d\n", rc);
118 printf(
"ioThinx_IO_Config_Reload() = %d\n", rc);
122 for (i = 0; i < ao_channel_count; i++)
129 printf(
"ioThinx_AO_Config_SetRanges() = %d\n", rc);
141 printf(
"ioThinx_AO_GetEngs() = %d\n", rc);
147 printf(
"ioThinx_AO_GetStatuss() = %d\n", rc);
150 for (i = 0; i < ao_channel_count; i++)
152 printf(
"[%lu:%u] eng = %.3f, status = %d\n", ao_slot, ao_channel_start+i, ao_engs[i], ao_statuss[i]);
IOTHINX_ERR ioThinx_AO_SetRaws(uint32_t slot, uint8_t start, uint8_t count, uint16_t buf[])
IOTHINX_ERR ioThinx_AO_GetStatuss(uint32_t slot, uint8_t start, uint8_t count, uint8_t buf[])
IOTHINX_ERR ioThinx_AO_Config_SetRanges(uint32_t slot, uint8_t start, uint8_t count, uint8_t buf[])
IOTHINX_ERR ioThinx_IO_Config_Reload(void)
IOTHINX_ERR ioThinx_IO_Client_Init(void)
IOTHINX_ERR ioThinx_AO_GetEngs(uint32_t slot, uint8_t start, uint8_t count, float buf[])