47 #include <iothinx/iothinxio.h> 50 int main(
int argc,
char **
const argv)
54 uint8_t do_channel = 0;
56 uint32_t do_values = 0;
59 while (-1 != (rc = getopt(argc, argv,
"c:hs:")))
64 do_slot = atoi(optarg);
67 do_channel = atoi(optarg);
71 printf(
"DO sample program.\n\n");
72 printf(
"Usage: ./do [OPTIONS]\n\n");
74 printf(
"\t%-8s Slot of DO module. Default slot = %d\n",
"-s", do_slot);
75 printf(
"\t%-8s DO channel. Default channel = %d\n",
"-c", do_channel);
81 printf(
"DO slot = %lu\n", do_slot);
82 printf(
"DO channel = %u\n", do_channel);
88 printf(
"ioThinx_IO_Client_Init() = %d\n", rc);
96 printf(
"ioThinx_DO_Config_SetModes() = %d\n", rc);
103 printf(
"ioThinx_IO_Config_Reload() = %d\n", rc);
109 printf(
"ioThinx_DO_GetValues() = %d\n", rc);
116 if (do_values & (0x1 << do_channel))
118 do_values &= ~(0x1 << do_channel);
122 do_values |= 0x1 << do_channel;
128 printf(
"ioThinx_DO_SetValues() = %d\n", rc);
131 printf(
"[%lu:%u] DO value = %x\n", do_slot, do_channel, (do_values >> do_channel) & 0x1);
int main(int argc, char **const argv)
IOTHINX_ERR ioThinx_DO_SetValues(uint32_t slot, uint32_t values)
IOTHINX_ERR ioThinx_DO_Config_SetModes(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_DO_GetValues(uint32_t slot, uint32_t *p_values)