#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 pwr_slot = 7;
uint8_t sys_channel = 0;
uint8_t field_channel = 0;
float alarm_voltage = 20.0f;
uint8_t sys_status = 0;
uint8_t field_status = 0;
char ch;
while (-1 != (rc = getopt(argc, argv, "a:hs:")))
{
switch (rc)
{
case 'a':
alarm_voltage = atof(optarg);
break;
case 's':
pwr_slot = atoi(optarg);
break;
case 'h':
default:
printf("Power diagnostic sample program.\n\n");
printf("Usage: ./pwr [OPTIONS]\n\n");
printf("Options:\n");
printf("\t%-8s Slot of power module. Default slot = %d\n", "-s", pwr_slot);
printf("\t%-8s Field power alarm setting (voltage). Default setting = %.1f\n", "-a", alarm_voltage);
printf("\n");
return 0;
}
}
printf("Power slot = %lu\n", pwr_slot);
printf("Alarm setting = %.1f\n", alarm_voltage);
{
printf("ioThinx_IO_Client_Init() = %d\n", rc);
return -1;
}
{
printf("ioThinx_PWR_Config_SetAlarms() = %d\n", rc);
}
{
printf("ioThinx_IO_Config_Reload() = %d\n", rc);
}
do
{
{
printf("ioThinx_PWR_GetSysStatus() = %d\n", rc);
break;
}
{
printf("ioThinx_PWR_GetFieldStatus() = %d\n", rc);
break;
}
printf("[%lu] system power status = %u\n", pwr_slot, sys_status);
printf("[%lu] field power status = %u\n", pwr_slot, field_status);
ch = getchar();
}
while (ch != 'q');
return 0;
}
53 uint32_t pwr_slot = 7;
54 uint8_t sys_channel = 0;
55 uint8_t field_channel = 0;
56 float alarm_voltage = 20.0f;
57 uint8_t sys_status = 0;
58 uint8_t field_status = 0;
61 while (-1 != (rc = getopt(argc, argv,
"a:hs:")))
66 alarm_voltage = atof(optarg);
69 pwr_slot = atoi(optarg);
73 printf(
"Power diagnostic sample program.\n\n");
74 printf(
"Usage: ./pwr [OPTIONS]\n\n");
76 printf(
"\t%-8s Slot of power module. Default slot = %d\n",
"-s", pwr_slot);
77 printf(
"\t%-8s Field power alarm setting (voltage). Default setting = %.1f\n",
"-a", alarm_voltage);
83 printf(
"Power slot = %lu\n", pwr_slot);
84 printf(
"Alarm setting = %.1f\n", alarm_voltage);
90 printf(
"ioThinx_IO_Client_Init() = %d\n", rc);
98 printf(
"ioThinx_PWR_Config_SetAlarms() = %d\n", rc);
105 printf(
"ioThinx_IO_Config_Reload() = %d\n", rc);
113 printf(
"ioThinx_PWR_GetSysStatus() = %d\n", rc);
119 printf(
"ioThinx_PWR_GetFieldStatus() = %d\n", rc);
122 printf(
"[%lu] system power status = %u\n", pwr_slot, sys_status);
123 printf(
"[%lu] field power status = %u\n", pwr_slot, field_status);
IOTHINX_ERR ioThinx_PWR_GetSysStatus(uint32_t slot, uint8_t start, uint8_t count, uint8_t buf[])
IOTHINX_ERR ioThinx_IO_Config_Reload(void)
IOTHINX_ERR ioThinx_PWR_Config_SetAlarms(uint32_t slot, uint8_t start, uint8_t count, float buf[])
IOTHINX_ERR ioThinx_IO_Client_Init(void)
IOTHINX_ERR ioThinx_PWR_GetFieldStatus(uint32_t slot, uint8_t start, uint8_t count, uint8_t buf[])