| ioPAC RTU Controllers C/C++ Sample Code Programming Guide

- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
libmoxa_rtu.h File Reference

Moxa Library More...

`#include <stdio.h>`
`#include <stdlib.h>`
`#include <string.h>`
`#include <stdarg.h>`
`#include <unistd.h>`
`#include <fcntl.h>`
`#include <errno.h>`
`#include <termios.h>`
`#include <time.h>`
`#include <pthread.h>`
`#include <arpa/inet.h>`
`#include <asm/ioctls.h>`
`#include <linux/rtc.h>`
`#include <linux/tty.h>`
`#include <linux/can.h>`
`#include <linux/watchdog.h>`
`#include <netinet/in.h>`
`#include <net/if.h>`
`#include <semaphore.h>`
`#include <mqueue.h>`
`#include <dirent.h>`
`#include <sys/socket.h>`
`#include <sys/stat.h>`
`#include <sys/ioctl.h>`
`#include <sys/types.h>`
`#include <sys/ipc.h>`
`#include <sys/sem.h>`
`#include <sys/time.h>`
`#include <sys/wait.h>`

Go to the source code of this file.

## Data Structures
struct | IO_Info
struct | Module_Info
struct | Timestamp
struct | swtd_setting
struct | Check_Info
struct | Gps_Time
struct | Gps_Data
struct | CAN_Emcy_Message
struct | TTY_PARAM
struct | Modbus_TCP_Master_Connection_Info
struct | TagInfo
struct | TAG_INFO_T
struct | TAG_EVENT_CONDITION_T

## Macros
#define | USB_VID_MOXA 0x110a
#define | USB_PID_RTU_85M_1602 0x5200
#define | USB_PID_RTU_85M_2600 0x5240
#define | USB_PID_RTU_85M_3800 0x52c0
#define | USB_PID_RTU_85M_3800_CRRC 0x5402
#define | USB_PID_RTU_85M_3810 0x52c1
#define | USB_PID_RTU_85M_3801 0x5300
#define | USB_PID_RTU_85M_3811 0x5301
#define | USB_PID_RTU_85M_6810 0x5340
#define | USB_PID_RTU_85M_6600 0x5380
#define | USB_PID_RTU_AIO_8di_8dio_8ai 0x50e0
#define | USB_PID_RTU_86M_5870D 0x52c2
#define | USB_PID_RTU_86M_4420 0x53a0
#define | USB_PID_RTU_86M_2604D 0x5243
#define | USB_PID_RTU_86M_1832D 0x5201
#define | USB_PID_RTU_86M_2830D 0x5241
#define | USB_PID_RTU_86M_1620D 0x5202
#define | USB_PID_RTU_86M_2821D 0x5242
#define | USB_PID_RTU_85M_5401 0x53e0
#define | USB_PID_RTU_85M_5220 0x53e1
#define | USB_PID_RTU_85M_5142 0x53e2
#define | USB_PID_RTU_85M_5130 0x53e3
#define | USB_PID_RTU_86M_5212U 0x53e5
#define | USB_PID_RTU_86M_5811M 0x53e6
#define | USB_PID_RTU_86M_5814U 0x53e7
#define | USB_PID_RTU_86M_5250 0x53e8
#define | USB_PID_RTU_PW10_15W 0x5400
#define | USB_PID_RTU_PW10_30W 0x5401
#define | USB_PID_RTU_PW20_50W 0x5403
#define | MAX_SLOT 12
#define | MAX_CHANNEL 24
#define | MODULE_SLOT_CPU_POWER 0
#define | MODULE_SLOT_CPU 0
#define | ETHERNET_ADAPTER_RJ45 0
#define | ETHERNET_ADAPTER_M12 1
#define | SWITCH_DUMP_MODE 0
#define | SWITCH_VLAN_MODE 1
#define | SRAM_START_ADDRESS 0x0
#define | SRAM_END_ADDRESS 0x20000
#define | FRAM_START_ADDRESS 0x0
#define | FRAM_END_ADDRESS 0x10000
#define | IO_EVENT_QUEUE_MAX 100
#define | DI_EVENT_TOGGLE_L2H 0
#define | DI_EVENT_TOGGLE_H2L 1
#define | DI_EVENT_TOGGLE_BOTH 2
#define | AI_TC_RTD_EVENT_GREATER 0
#define | AI_TC_RTD_EVENT_SMALLER 1
#define | AI_TC_RTD_EVENT_EQUAL 2
#define | DI_MODE_DI 0
#define | DI_MODE_COUNTER 1
#define | DI_MODE_FREQUENCY 2
#define | DI_TOGGLE_L2H 0
#define | DI_TOGGLE_H2L 1
#define | DI_TOGGLE_BOTH 2
#define | DO_MODE_DO 0
#define | DO_MODE_PWM 1
#define | DO_DIAGNOSTIC_STATUS_NORMAL 0x00
#define | DO_DIAGNOSTIC_STATUS_ERROR 0x01
#define | RELAY_MODE_RELAY 0
#define | RELAY_MODE_PWM 1
#define | AI_RANGE_10V 1
#define | AI_RANGE_0_10V 2
#define | AI_RANGE_0_20mA 3
#define | AI_RANGE_4_20mA 4
#define | AI_RANGE_0_50mA 5
#define | AI_STATUS_BURNOUT 0
#define | AI_STATUS_UNDER_RANGE 1
#define | AI_STATUS_NORMAL_RANGE 2
#define | AI_STATUS_OVER_RANGE 3
#define | AI_ENABLE_MODE_1ch 0
#define | AI_ENABLE_MODE_2ch 1
#define | AI_ENABLE_MODE_4ch 2
#define | AI_ENABLE_MODE_8ch 3
#define | FAST_AI_BATCH_DATA_SIZE 60*1000
#define | ENG_UNIT_CELSIUS 0
#define | ENG_UNIT_FAHRENHEIT 1
#define | ENG_UNIT_MILLIVOLT 2
#define | ENG_UNIT_OHM 3
#define | BURNOUT_STATUS_NORMAL 0
#define | BURNOUT_STATUS_BURNOUT 1
#define | TC_TYPE_78_126mV 0
#define | TC_TYPE_39_062mV 1
#define | TC_TYPE_19_532mV 2
#define | TC_TYPE_J 3
#define | TC_TYPE_K 4
#define | TC_TYPE_T 5
#define | TC_TYPE_E 6
#define | TC_TYPE_R 7
#define | TC_TYPE_S 8
#define | TC_TYPE_B 9
#define | TC_TYPE_N 10
#define | RTD_TYPE_2200ohm 0
#define | RTD_TYPE_1250ohm 1
#define | RTD_TYPE_620ohm 2
#define | RTD_TYPE_310ohm 3
#define | RTD_TYPE_PT50 4
#define | RTD_TYPE_PT100 5
#define | RTD_TYPE_PT200 6
#define | RTD_TYPE_PT500 7
#define | RTD_TYPE_PT1000 8
#define | RTD_TYPE_JPT100 9
#define | RTD_TYPE_JPT200 10
#define | RTD_TYPE_JPT500 11
#define | RTD_TYPE_JPT1000 12
#define | RTD_TYPE_NI100 13
#define | RTD_TYPE_NI200 14
#define | RTD_TYPE_NI500 15
#define | RTD_TYPE_NI1000 16
#define | RTD_TYPE_NI120 17
#define | AO_RANGE_10V 1
#define | AO_RANGE_0_10V 2
#define | AO_RANGE_0_20mA 3
#define | AO_RANGE_4_20mA 4
#define | AO_STATUS_NORMAL 0x00
#define | AO_STATUS_OVER_TEMPERATURE 0x01
#define | AO_STATUS_CURRENT_OPEN_CIRCUIT 0x04
#define | AO_WAVEFORM_TYPE_SINE 0
#define | AO_WAVEFORM_TYPE_TRIANGLE 1
#define | AO_WAVEFORM_TYPE_SQUARE 2
#define | LED_DARK 0
#define | LED_GREEN 1
#define | LED_RED 2
#define | SOFTWARE_WATCHDOG_MIN_TIME 1
#define | SOFTWARE_WATCHDOG_MAX_TIME 60
#define | RS232_MODE 0
#define | RS485_2WIRE_MODE 1
#define | RS422_MODE 2
#define | RS485_4WIRE_MODE 3
#define | BAUD_RATE_921600 921600
#define | BAUD_RATE_460800 460800
#define | BAUD_RATE_230400 230400
#define | BAUD_RATE_115200 115200
#define | BAUD_RATE_57600 57600
#define | BAUD_RATE_38400 38400
#define | BAUD_RATE_19200 19200
#define | BAUD_RATE_9600 9600
#define | BAUD_RATE_4800 4800
#define | BAUD_RATE_2400 2400
#define | BAUD_RATE_1800 1800
#define | BAUD_RATE_1200 1200
#define | BAUD_RATE_600 600
#define | BAUD_RATE_300 300
#define | SERIAL_DATA_BITS_5 5
#define | SERIAL_DATA_BITS_6 6
#define | SERIAL_DATA_BITS_7 7
#define | SERIAL_DATA_BITS_8 8
#define | SERIAL_PARITY_NONE 0
#define | SERIAL_PARITY_ODD 1
#define | SERIAL_PARITY_EVEN 2
#define | SERIAL_STOP_BIT_1 1
#define | SERIAL_STOP_BIT_2 2
#define | NO_FLOW_CONTROL 0
#define | HW_FLOW_CONTROL 1
#define | SW_FLOW_CONTROL 2
#define | MX_RTU_SerialRead MX_RTU_SerialBlockRead
#define | SERIAL_MAX_OQUEUE_LENGTH 4095
#define | MODEM_BRAND_PH8 1
#define | SIZE_PIN 4
#define | SIZE_APN 32
#define | SIZE_USERNAME 128
#define | SIZE_PASSWORD 128
#define | SIZE_HOSTNAME 128
#define | SIZE_IMEI 17
#define | SIZE_IP_ADDR 16
#define | MODEM_BAND_PH8_GSM900 1
#define | MODEM_BAND_PH8_GSM1800 2
#define | MODEM_BAND_PH8_GSM850 4
#define | MODEM_BAND_PH8_GSM1900 8
#define | MODEM_BAND_PH8_WCDMA2100 16
#define | MODEM_BAND_PH8_WCDMA1900 32
#define | MODEM_BAND_PH8_WCDMA850 64
#define | MODEM_BAND_PH8_WCDMA800 256
#define | MODEM_BAND_PH8_WCDMA1700 512
#define | MODEM_BAND_PH8_AUTO 895
#define | MODEM_STATE_INIT 0
#define | MODEM_STATE_READY 1
#define | MODEM_STATE_CONNECTING 2
#define | MODEM_STATE_CONNECTED 3
#define | MODEM_STATE_DISCONNECT 4
#define | RTU_MAX_CAN_BUS_PORT 2
#define | CAN_MAX_PAYLOAD_LEN 8
#define | CAN_MAX_PDO_DATA_LEN CAN_MAX_PAYLOAD_LEN
#define | CAN_MAX_SDO_DATA_LEN 4
#define | CAN_MAX_PDO 4
#define | CANOPEN_SLAVE_MAX_SDO 1000
#define | CANOPEN_SLAVE_MAX_PDO CAN_MAX_PDO
#define | CAN_STATUS_BUS_OFF 0x00000080
#define | CAN_STATUS_EWARN 0x00000040
#define | CAN_STATUS_EPASS 0x00000020
#define | CAN_STATUS_RXOK 0x00000010
#define | CAN_STATUS_TXOK 0x00000008
#define | CAN_STATUS_LEC_MASK 0x00000007
#define | CAN_STATUS_LEC_NONE 0x00000000
#define | CAN_STATUS_LEC_STUFF 0x00000001
#define | CAN_STATUS_LEC_FORM 0x00000002
#define | CAN_STATUS_LEC_ACK 0x00000003
#define | CAN_STATUS_LEC_BIT1 0x00000004
#define | CAN_STATUS_LEC_BIT0 0x00000005
#define | CAN_STATUS_LEC_CRC 0x00000006
#define | CAN_BAUD_RATE_1000K 1000000
#define | CAN_BAUD_RATE_800K 800000
#define | CAN_BAUD_RATE_500K 500000
#define | CAN_BAUD_RATE_250K 250000
#define | CAN_BAUD_RATE_125K 125000
#define | CAN_BAUD_RATE_100K 100000
#define | CAN_BAUD_RATE_50K 50000
#define | CAN_BAUD_RATE_20K 20000
#define | CAN_BAUD_RATE_10K 10000
#define | MODBUS_EXCEPTION_CODE_NONE 0x00
#define | MODBUS_EXCEPTION_CODE_ILLEGAL_FUNCTION 0x01
#define | MODBUS_EXCEPTION_CODE_ILLEGAL_DATA_ADDRESS 0x02
#define | MODBUS_EXCEPTION_CODE_ILLEGAL_DATA_VALUE 0x03
#define | MODBUS_EXCEPTION_CODE_SLAVE_DEVICE_FAILURE 0x04
#define | MODBUS_EXCEPTION_CODE_ACKNOWLEDGE 0x05
#define | MODBUS_EXCEPTION_CODE_SLAVE_DEVICE_BUSY 0x06
#define | MODBUS_EXCEPTION_CODE_MEMORY_PARITY_ERROR 0x08
#define | MODBUS_EXCEPTION_CODE_GATEWAY_PATH_UNAVAILABLE 0x0A
#define | MODBUS_EXCEPTION_CODE_GATEWAY_TARGET_DEVICE_FAILED_TO_RESPOND 0x0B
#define | MAKE_WORD(a, b) (((UINT16)a<<8) +(UINT16)b)
#define | pfnModbusRead int (*pfnModRead)(UINT8 *pData, UINT16 nth, void *pUserData)
#define | pfnModbusWrite int (*pfnModWrite)(UINT8 *pData, UINT16 nth, void *pUserData)
#define | MODBUS_LISTEN_PORTS 1
#define | MODBUS_MAX_CONNECTION 10
#define | MODBUS_MAX_MAP_SIZE 3000
#define | MODBUS_MIN_IDLE_TIMEOUT_SECOND 10
#define | ILLEGAL_FUNCTION 0x01
#define | ILLEGAL_DATA_ADDRESS 0x02
#define | ILLEGAL_DATA_VALUE 0x03
#define | SLAVE_DEVICE_FAILURE 0x04
#define | SLAVE_DEVICE_BUSY 0x06
#define | RETURN_OK 0
#define | RETURN_ERROR_ADDRESS 1
#define | RETURN_ERROR_FUNCTION 2
#define | RETURN_ERROR_VALUE 3
#define | MODBUS_READ_COILS 0x01
#define | MODBUS_READ_DISCRETE 0x02
#define | MODBUS_READ_HOLDINGREGISTERS 0x03
#define | MODBUS_READ_INPUTREGISTERS 0x04
#define | MODBUS_WRITE_COIL 0x05
#define | MODBUS_WRITE_REGISTER 0x06
#define | MODBUS_WRITE_COILS 0x0F
#define | MODBUS_WRITE_REGISTERS 0x10
#define | MODBUS_COIL 0x01
#define | MODBUS_INPUT_COIL 0x02
#define | MODBUS_HOLDING_REGISTER 0x03
#define | MODBUS_INPUT_REGISTER 0x04
#define | AOPC_DEFAULT_PORT 9900
#define | AOPC_MAX_DEV_NAME 59
#define | AOPC_MAX_TAG_NAME 30
#define | AOPC_MAX_TAG_DESC 16
#define | AOPC_MAX_TAG_UNIT 16
#define | AOPC_MAX_MULTIVALUES_UPDATE 256
#define | TAG_TYPE_BOOL 1
#define | TAG_TYPE_WORD 2
#define | TAG_TYPE_INT 3
#define | TAG_TYPE_DWORD 4
#define | TAG_TYPE_FLOAT 5
#define | TAG_TYPE_STRING 6
#define | TAG_TYPE_SHORT 7
#define | TAG_ACC_READ 0
#define | TAG_ACC_READ_WRITE 2
#define | TAG_QUALITY_GOOD 0x0000
#define | TAG_QUALITY_BAD 0x8000
#define | TAG_MAX_NAME_SIZE 64
#define | TAG_DATA_TYPE_COIL 0
#define | TAG_DATA_TYPE_INT8 1
#define | TAG_DATA_TYPE_INT16 2
#define | TAG_DATA_TYPE_INT32 3
#define | TAG_DATA_TYPE_UINT8 4
#define | TAG_DATA_TYPE_UINT16 5
#define | TAG_DATA_TYPE_UINT32 6
#define | TAG_DATA_TYPE_FLOAT 7
#define | TAG_DATA_TYPE_STR 8
#define | TAG_EVENT_CONDITION_CHANGE 0
#define | TAG_EVENT_CONDITION_EDGE 1
#define | TAG_EVENT_CONDITION_RAISING_EDGE 2
#define | TAG_EVENT_CONDITION_FALLING_EDGE 3
#define | TAG_EVENT_CONDITION_GREATER 4
#define | TAG_EVENT_CONDITION_SMALLER 5

## Typedefs
typedef unsigned long | UINT32
typedef long | INT32
typedef unsigned short | UINT16
typedef short | INT16
typedef unsigned char | UINT8
typedef char | INT8
typedef struct Check_Info | CheckInfo
typedef struct Gps_Time | GPS_TIME
typedef struct Gps_Data | GPS_DATA
typedef struct TagInfo | TAG
typedef struct TAG_INFO_T | TAG_INFO
typedef struct TAG_EVENT_CONDITION_T | TAG_EVENT_CONDITION

## Enumerations
enum | IO_ERR_CODE { IO_ERR_OK = 0, IO_ERR_DEVICE, IO_ERR_CMD, IO_ERR_TYPE, IO_ERR_ITEM, IO_ERR_COPY, IO_ERR_SLOT, IO_ERR_CHANNEL, IO_ERR_ARGUMENT, IO_ERR_RW, IO_ERR_ACTION, IO_ERR_UPDATE, IO_ERR_FAST_AI_BUF_EMPTY, IO_ERR_FAST_AI_BUF_OVERFLOW, IO_ERR_FAST_AI_NO_BUF, IO_ERR_IO_MODULE_REQUEST, IO_ERR_COMMUNICATION_MODULE_REQUEST, IO_ERR_SEMAPHORE_LOCK, IO_ERR_TIMEOUT, IO_ERR_SYSTEM_INFO, IO_ERR_MODULE_INFO, IO_ERR_HOT_PLUG, IO_ERR_DUPLICATE_REGISTER, IO_ERR_IO_EVENT_QUEUE_EMPTY, IO_ERR_CELLULAR_POWER_INDICATOR, IO_ERR_CELLULAR_EMERGENCY_OFF, IO_ERR_CELLULAR_IGT_ON, IO_ERR_POWER, IO_ERR_COMMUNICATION_MODULE_SUPPORT, IO_ERR_AMOUNT }
enum | MODULE_RW_ERR_CODE { MODULE_RW_ERR_OK = 0, MODULE_RW_ERR_DEVICE, MODULE_RW_ERR_SLOT, MODULE_RW_ERR_CMD, MODULE_RW_ERR_ARGUMENT, MODULE_RW_ERR_SYSTEM_INFO, MODULE_RW_ERR_RW, MODULE_RW_ERR_VERSION, MODULE_RW_ERR_TIMEOUT, MODULE_RW_ERR_PACKET, MODULE_RW_ERR_INSUFFICIENT_BUFFER, MODULE_RW_ERR_REQUEST_FAIL, MODULE_RW_ERR_REQUEST_EXCEPTION, MODULE_RW_ERR_BUSY, MODULE_RW_ERR_COMMUNICATION_MODULE_REQUEST, MODULE_RW_ERR_SEMAPHORE_LOCK, MODULE_RW_ERR_HOT_PLUG, MODULE_RW_ERR_TIMESTAMP, MODULE_RW_ERR_TIMESTAMP_NOT_SYNC, MODULE_RW_ERR_IO_PARAM, MODULE_RW_ERR_IO_TYPE, MODULE_RW_ERR_IO_CH, MODULE_RW_ERR_IO_MODE, MODULE_RW_ERR_IO_FILTER, MODULE_RW_ERR_IO_TRIGGER, MODULE_RW_ERR_IO_SIG_WIDTH, MODULE_RW_ERR_IO_PWM, MODULE_RW_ERR_IO_BURNOUT, MODULE_RW_ERR_IO_CALIBRATION, MODULE_RW_ERR_IO_BUF, MODULE_RW_ERR_IO_FAST_AI_BUF_EMPTY, MODULE_RW_ERR_IO_FAST_AI_BUF_OVERFLOW, MODULE_RW_ERR_IO_FAST_AI_NOT_READY, MODULE_RW_ERR_POWER, MODULE_RW_ERR_NO_EXTERNAL_POWER, MODULE_RW_ERR_IO_FPGA, MODULE_RW_ERR_AMOUNT }
enum | AI_TRANSFORM_ERR_CODE { AI_TRANSFORM_ERR_OK = 0, AI_TRANSFORM_ERR_RANGE, AI_TRANSFORM_ERR_VALUE, AI_TRANSFORM_ERR_ARGUMENT, AI_TRANSFORM_ERR_AMOUNT }
enum | AIO_TRANSFORM_ERR_CODE { AIO_TRANSFORM_ERR_OK = 0, AIO_TRANSFORM_ERR_RANGE, AIO_TRANSFORM_ERR_BITSRESOLUTION, AIO_TRANSFORM_ERR_VALUE, AIO_TRANSFORM_ERR_ARGUMENT, AIO_TRANSFORM_ERR_AMOUNT }
enum | MISC_ERR_CODE { MISC_ERR_OK = 0, MISC_ERR_DEVICE, MISC_ERR_ARGUMENT, MISC_ERR_RW, MISC_ERR_ACTION, MISC_ERR_COPY, MISC_ERR_TYPE, MISC_ERR_SEMAPHORE_LOCK, MISC_ERR_SYSTEM_INFO, MISC_ERR_NOT_SUPPORT_PRODUCT, MISC_ERR_AMOUNT }
enum | SERIAL_PORT { PORT1 = 0, PORT2, PORT3, PORT4, PORT5, PORT6, PORT7, PORT8, PORT_AMOUNT }
enum | SERIAL_ERR_CODE { SERIAL_ERR_OK = 0, SERIAL_ERR_FD, SERIAL_ERR_OPEN, SERIAL_ERR_CLOSE, SERIAL_ERR_PARAMETER, SERIAL_ERR_SLOT, SERIAL_ERR_PORT, SERIAL_ERR_READ, SERIAL_ERR_WRITE, SERIAL_ERR_IOCTL, SERIAL_ERR_MODE, SERIAL_ERR_ttyUSB, SERIAL_ERR_NOT_SUPPORT_PRODUCT, SERIAL_ERR_SYSTEM_INFO, SERIAL_ERR_HOT_PLUG, SERIAL_ERR_FLUSH, SERIAL_ERR_AMOUNT }
enum | MODEM_ERR_CODE { MODEM_ERR_OK = 0, MODEM_ERR_INIT, MODEM_ERR_PARAM, MODEM_ERR_OPEN, MODEM_ERR_SIM, MODEM_ERR_PIN, MODEM_ERR_BAND, MODEM_ERR_ECHO_OFF, MODEM_ERR_CELLULAR_DENIED, MODEM_ERR_RESET, MODEM_ERR_THREAD, MODEM_ERR_APN, MODEM_ERR_CREDENTIAL, MODEM_ERR_ATTACH, MODEM_ERR_IF, MODEM_ERR_CMD, MODEM_ERR_TIMEOUT, MODEM_ERR_STATE, MODEM_ERR_BREAK, MODEM_ERR_SEM, MODEM_ERR_ttyUSB, MODEM_ERR_SYSTEM_INFO, MODEM_ERR_NOT_SUPPORT_PRODUCT, MODEM_ERR_GPS_SWITCH, MODEM_ERR_QUERY_REG, MODEM_ERR_AMOUNT }
enum | SMS_ERR_CODE { SMS_ERR_OK = 0, SMS_ERR_OPEN, SMS_ERR_ERR, SMS_ERR_PIN, SMS_ERR_PDU, SMS_ERR_MODEM, SMS_ERR_LENGTH, SMS_ERR_SYSTEM_INFO, SMS_ERR_NOT_SUPPORT_PRODUCT, SMS_ERR_ISP, SMS_ERR_AMOUNT }
enum | CAN_ERR_CODE { CAN_ERR_OK = 0, CAN_ERR_SLOT, CAN_ERR_PORT, CAN_ERR_PARAM, CAN_ERR_GET, CAN_ERR_SET, CAN_ERR_NOT_SUPPORT_PRODUCT, CAN_ERR_SYSTEM_INFO, CAN_ERR_HOT_PLUG, CAN_ERR_TTYACM_PORT, CAN_ERR_SOCKETCAN_INDEX, CAN_ERR_SOCKETCAN_INIT, CAN_ERR_SOCKET, CAN_ERR_IOCTL, CAN_ERR_BIND, CAN_ERR_NMT_NODE_STATE, CAN_ERR_HANDLE, CAN_ERR_DUPLICATE_OPEN, CAN_ERR_WRITE, CAN_ERR_READ, CAN_ERR_SLAVE_NODE_ID, CAN_ERR_EITHER_NODEGUARDING_OR_HEARTBEAT, CAN_ERR_NEITHER_NODEGUARDING_NOR_HEARTBEAT, CAN_ERR_THREAD, CAN_ERR_RW_TIMEOUT, CAN_ERR_SDO_RW_ABORT, CAN_ERR_FNCTL, CAN_ERR_NO_DATA_RECEIVE, CAN_ERR_DATA_LENGTH, CAN_ERR_TAG, CAN_ERR_SLAVE_NODE_ID_IS_NOT_SET, CAN_ERR_SLAVE_IS_NOT_LISTENING, CAN_ERR_SLAVE_SDO_REGISTER_FULL, CAN_ERR_SLAVE_SDO_DUPLICATE_REGISTER, CAN_ERR_SLAVE_PDO_REGISTER_FULL, CAN_ERR_SLAVE_PDO_DUPLICATE_REGISTER, CAN_ERR_SLAVE_BOTH_SDO_AND_PDO_ARE_NOT_REGISTERED, CAN_ERR_AMOUNT }
enum | CAN_NODE_STATE { CAN_NODE_START = 0x1, CAN_NODE_STOP = 0x2, CAN_NODE_PRE_OPERATIONAL = 0x80, CAN_NODE_RESET_NODE = 0x81, CAN_NODE_RESET_COMMUNICATION = 0x82, CAN_NODE_AMOUNT }
enum | CAN_NMT_ERROR_STATUS { CAN_NMT_ERROR_OK = 0, CAN_NMT_ERROR_NODE_GUARDING, CAN_NMT_ERROR_HEARTBEAT, CAN_NMT_ERROR_AMOUNT }
enum | CAN_NMT_NODE_GUARDING_STATE { CAN_NMT_NODE_GUARDING_INITIALISING = 0, CAN_NMT_NODE_GUARDING_DISCONNECTED, CAN_NMT_NODE_GUARDING_CONNECTING, CAN_NMT_NODE_GUARDING_PREPARING, CAN_NMT_NODE_GUARDING_STOPPED, CAN_NMT_NODE_GUARDING_OPERATIONAL, CAN_NMT_NODE_GUARDING_PREOPERATIONAL = 127, CAN_NMT_NODE_GUARDING_AMOUNT }
enum | CAN_NMT_HEARTBEAT_STATE { CAN_NMT_HEARTBEAT_BOOTUP = 0, CAN_NMT_HEARTBEAT_STOPPED = 4, CAN_NMT_HEARTBEAT_OPERATIONAL = 5, CAN_NMT_HEARTBEAT_PREOPERATIONAL = 127, CAN_NMT_HEARTBEAT_AMOUNT }
enum | MODBUS_MASTER_ERR_CODE { MODBUS_MASTER_ERR_OK = 0, MODBUS_MASTER_ERR_PARAM, MODBUS_MASTER_ERR_PORT, MODBUS_MASTER_ERR_OPENED, MODBUS_MASTER_ERR_NOT_OPENED, MODBUS_MASTER_ERR_UART_OPEN, MODBUS_MASTER_ERR_UART_CLOSE, MODBUS_MASTER_ERR_UART_BAUDRATE, MODBUS_MASTER_ERR_UART_MODE, MODBUS_MASTER_ERR_UART_FORMAT, MODBUS_MASTER_ERR_UART_FLOW, MODBUS_MASTER_ERR_UART_WRITE, MODBUS_MASTER_ERR_RESP, MODBUS_MASTER_ERR_CRC, MODBUS_MASTER_ERR_TIMEOUT, MODBUS_MASTER_ERR_SOCKET, MODBUS_MASTER_ERR_CONNECT, MODBUS_MASTER_ERR_HANDLE, MODBUS_MASTER_ERR_EXCEPTION, MODBUS_MASTER_ERR_LIB_INIT, MODBUS_MASTER_ERR_SYSTEM_INFO, MODBUS_MASTER_ERR_HOT_PLUG, MODBUS_MASTER_ERR_KEEPALIVE, MODBUS_MASTER_ERR_AMOUNT }
enum | MODBUS_SLAVE_ERR_CODE { MODBUS_SLAVE_ERR_OK = 0, MODBUS_SLAVE_ERR_ADDRESS, MODBUS_SLAVE_ERR_ADDRESS_COLLISION, MODBUS_SLAVE_ERR_BIND, MODBUS_SLAVE_ERR_CREATE_SOCKET, MODBUS_SLAVE_ERR_CREATE_THREAD, MODBUS_SLAVE_ERR_EXCEPTION, MODBUS_SLAVE_ERR_EXCEED_MAP_SIZE, MODBUS_SLAVE_ERR_FUNCTION, MODBUS_SLAVE_ERR_ILLEGAL_HANDLE, MODBUS_SLAVE_ERR_IDLE_TIMEOUT, MODBUS_SLAVE_ERR_ILLEGAL_ACTION, MODBUS_SLAVE_ERR_LISTEN, MODBUS_SLAVE_ERR_LISTEN_PORT_OVERFLOW, MODBUS_SLAVE_ERR_MAP_TYPE, MODBUS_SLAVE_ERR_MAP_EMPTY, MODBUS_SLAVE_ERR_MEMORY_LEAK, MODBUS_SLAVE_ERR_NO_START, MODBUS_SLAVE_ERR_NO_REGISTER, MODBUS_SLAVE_ERR_PORT_LISTENING, MODBUS_SLAVE_ERR_REGISTERED_PORT, MODBUS_SLAVE_ERR_SIZE, MODBUS_SLAVE_ERR_SYSTEM_TIMEOUT, MODBUS_SLAVE_ERR_SET_SOCKET_MODE, MODBUS_SLAVE_ERR_SET_SOCKET_OPTION, MODBUS_SLAVE_ERR_NO_CONNECTIONS, MODBUS_SLAVE_ERR_SYSTEM_INFO, MODBUS_SLAVE_ERR_AMOUNT }
enum | AOPC_ERR_CODE { AOPC_ERR_OK = 0, AOPC_ERR_LIB_INIT, AOPC_ERR_PARAM, AOPC_ERR_SOCKET, AOPC_ERR_TIMEOUT, AOPC_ERR_CONNECT, AOPC_ERR_CREATE_THREAD, AOPC_ERR_NO_MEMORY, AOPC_ERR_NO_QUEUE, AOPC_ERR_INTR, AOPC_ERR_FRAME_PENDING, AOPC_ERR_FRAME_ERROR, AOPC_ERR_SERVER_ERROR, AOPC_ERR_CLOSE, AOPC_ERR_NO_TAG, AOPC_ERR_EXIST_TAG, AOPC_ERR_NO_WRITE_FUNC, AOPC_ERR_ACCESS, AOPC_ERR_USER_WRITE, AOPC_ERR_NOT_SUPPORT, AOPC_ERR_NOT_WRITABLE, AOPC_ERR_FAIL, AOPC_ERR_NOT_REGISTERED, AOPC_ERR_INVALID_ATTR, AOPC_ERR_SYSTEM_INFO, AOPC_ERR_STR_LEN, AOPC_ERR_AMOUNT }
enum | TAG_ERR_CODE { TAG_ERR_OK = 0, TAG_ERR_INIT, TAG_ERR_SEM, TAG_ERR_MSGQUEUE, TAG_ERR_ALLOC, TAG_ERR_PARAM, TAG_ERR_REG, TAG_ERR_DESTROY, TAG_ERR_BIND, TAG_ERR_RESET, TAG_ERR_AGAIN, TAG_ERR_IO, TAG_ERR_READY, TAG_ERR_NO_TAG, TAG_ERR_MSGQUEUE_FULL, TAG_ERR_NOT_SUPPORT, TAG_ERR_EVENT_INIT, TAG_ERR_EVENT_REGISTER, TAG_ERR_EVENT_SPACE, TAG_ERR_EVENT_HANDLE, TAG_ERR_EVENT_EMPTY, TAG_ERR_AMOUNT }
enum | STATUS_CODE { STATUS_INIT = 0, STATUS_READY, STATUS_RUNNING, STATUS_SUCCESS, STATUS_FAIL, STATUS_ERR_AMOUNT }

## Functions
struct IO_Info | __attribute__ ((packed))
IO_ERR_CODE | MX_RTU_Module_Info_Get (UINT8 slot, struct Module_Info *module_info)
IO_ERR_CODE | MX_RTU_Total_Slots_Get (UINT32 *num)
IO_ERR_CODE | MX_RTU_Slot_Inserted_Get (UINT32 *state)
IO_ERR_CODE | MX_RTU_Ethernet_Adapter_Type_Get (UINT32 *type)
IO_ERR_CODE | MX_RTU_CPU_Switch_Mode_Get (UINT32 *mode)
IO_ERR_CODE | MX_RTU_SRAM_Read (UINT32 start_address, UINT32 length, UINT8 *buf)
IO_ERR_CODE | MX_RTU_SRAM_Write (UINT32 start_address, UINT32 length, UINT8 *buf)
IO_ERR_CODE | MX_RTU_FRAM_Read (UINT32 start_address, UINT32 length, UINT8 *buf)
IO_ERR_CODE | MX_RTU_FRAM_Write (UINT32 start_address, UINT32 length, UINT8 *buf)
IO_ERR_CODE | MX_RTU_DI_Event_Register (UINT8 slot, UINT8 channel, UINT32 trigger, int *handle)
IO_ERR_CODE | MX_RTU_DI_Event_Unregister (int handle)
IO_ERR_CODE | MX_RTU_DI_Event_Get (int handle, UINT32 *status, struct Timestamp *time)
IO_ERR_CODE | MX_RTU_DI_Event_Set_Trigger (int handle, UINT32 trigger)
IO_ERR_CODE | MX_RTU_DI_Event_Get_Trigger (int handle, UINT32 *trigger)
IO_ERR_CODE | MX_RTU_DI_Event_Count (int handle, UINT32 *count)
IO_ERR_CODE | MX_RTU_DI_Event_Clear (int handle)
IO_ERR_CODE | MX_RTU_DI_Event_Reset ()
IO_ERR_CODE | MX_RTU_DIO_DI_Event_Register (UINT8 slot, UINT8 channel, UINT32 trigger, int *handle)
| Please refer to MX_RTU_DI_Event_Register . More...
IO_ERR_CODE | MX_RTU_DIO_DI_Event_Unregister (int handle)
| Please refer to MX_RTU_DI_Event_Unregister . More...
IO_ERR_CODE | MX_RTU_DIO_DI_Event_Get (int handle, UINT32 *status, struct Timestamp *time)
| Please refer to MX_RTU_DI_Event_Get . More...
IO_ERR_CODE | MX_RTU_DIO_DI_Event_Set_Trigger (int handle, UINT32 trigger)
| Please refer to MX_RTU_DI_Event_Set_Trigger . More...
IO_ERR_CODE | MX_RTU_DIO_DI_Event_Get_Trigger (int handle, UINT32 *trigger)
| Please refer to MX_RTU_DI_Event_Get_Trigger . More...
IO_ERR_CODE | MX_RTU_DIO_DI_Event_Count (int handle, UINT32 *count)
| Please refer to MX_RTU_DI_Event_Count . More...
IO_ERR_CODE | MX_RTU_DIO_DI_Event_Clear (int handle)
| Please refer to MX_RTU_DI_Event_Clear . More...
IO_ERR_CODE | MX_RTU_DIO_DI_Event_Reset ()
| Please refer to MX_RTU_DI_Event_Reset . More...
IO_ERR_CODE | MX_RTU_AI_Event_Register (UINT8 slot, UINT8 channel, float value, UINT32 condition, int *handle)
IO_ERR_CODE | MX_RTU_AI_Event_Unregister (int handle)
IO_ERR_CODE | MX_RTU_AI_Event_Get (int handle, float *value, struct Timestamp *time)
IO_ERR_CODE | MX_RTU_AI_Event_Set_Value (int handle, float value, UINT32 condition)
IO_ERR_CODE | MX_RTU_AI_Event_Get_Value (int handle, float *value, UINT32 *condition)
IO_ERR_CODE | MX_RTU_AI_Event_Count (int handle, UINT32 *count)
IO_ERR_CODE | MX_RTU_AI_Event_Clear (int handle)
IO_ERR_CODE | MX_RTU_AI_Event_Reset (void)
IO_ERR_CODE | MX_RTU_TC_Event_Register (UINT8 slot, UINT8 channel, float value, UINT32 condition, int *handle)
IO_ERR_CODE | MX_RTU_TC_Event_Unregister (int handle)
IO_ERR_CODE | MX_RTU_TC_Event_Get (int handle, float *value, struct Timestamp *time)
IO_ERR_CODE | MX_RTU_TC_Event_Set_Value (int handle, float value, UINT32 condition)
IO_ERR_CODE | MX_RTU_TC_Event_Get_Value (int handle, float *value, UINT32 *condition)
IO_ERR_CODE | MX_RTU_TC_Event_Count (int handle, UINT32 *count)
IO_ERR_CODE | MX_RTU_TC_Event_Clear (int handle)
IO_ERR_CODE | MX_RTU_TC_Event_Reset (void)
IO_ERR_CODE | MX_RTU_RTD_Event_Register (UINT8 slot, UINT8 channel, float value, UINT32 condition, int *handle)
IO_ERR_CODE | MX_RTU_RTD_Event_Unregister (int handle)
IO_ERR_CODE | MX_RTU_RTD_Event_Get (int handle, float *value, struct Timestamp *time)
IO_ERR_CODE | MX_RTU_RTD_Event_Set_Value (int handle, float value, UINT32 condition)
IO_ERR_CODE | MX_RTU_RTD_Event_Get_Value (int handle, float *value, UINT32 *condition)
IO_ERR_CODE | MX_RTU_RTD_Event_Count (int handle, UINT32 *count)
IO_ERR_CODE | MX_RTU_RTD_Event_Clear (int handle)
IO_ERR_CODE | MX_RTU_RTD_Event_Reset (void)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Value_Get (UINT8 slot, UINT32 *value, struct Timestamp *time)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Mode_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Filter_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Counter_Start_Get (UINT8 slot, UINT32 *start)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Counter_Trigger_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Counter_Value_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf, struct Timestamp *time)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Counter_Overflow_Get (UINT8 slot, UINT32 *overflow)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Frequency_Start_Get (UINT8 slot, UINT32 *start)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Frequency_Measurement_Time_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Frequency_Get (UINT8 slot, UINT8 start, UINT8 count, float *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Debouncing_Enable_Get (UINT8 slot, UINT32 *enable)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Debouncing_Time_Get (UINT8 slot, UINT8 start, UINT8 count, float *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Ext_Power_Get (UINT8 slot, UINT32 *value)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Mode_Set (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Filter_Set (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Counter_Start_Set (UINT8 slot, UINT32 start)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Counter_Trigger_Set (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Counter_Value_Set (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Counter_Overflow_Reset (UINT8 slot, UINT32 overflow)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Frequency_Start_Set (UINT8 slot, UINT32 start)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Frequency_Measurement_Time_Set (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Debouncing_Enable_Set (UINT8 slot, UINT32 enable)
MODULE_RW_ERR_CODE | MX_RTU_Module_DI_Debouncing_Time_Set (UINT8 slot, UINT8 start, UINT8 count, float *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DO_Value_Get (UINT8 slot, UINT32 *value)
MODULE_RW_ERR_CODE | MX_RTU_Module_DO_Mode_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DO_SigW_L_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DO_SigW_H_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DO_PWM_Start_Get (UINT8 slot, UINT32 *start)
MODULE_RW_ERR_CODE | MX_RTU_Module_DO_PWM_Count_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DO_PWM_Config_Get (UINT8 slot, UINT8 start, UINT8 count, float *frequency, float *dutyCycle)
MODULE_RW_ERR_CODE | MX_RTU_Module_DO_Diagnostic_Status_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DO_Value_Set (UINT8 slot, UINT32 value)
MODULE_RW_ERR_CODE | MX_RTU_Module_DO_Mode_Set (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DO_SigW_L_Set (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DO_SigW_H_Set (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DO_PWM_Start_Set (UINT8 slot, UINT32 start)
MODULE_RW_ERR_CODE | MX_RTU_Module_DO_PWM_Stop_Set (UINT8 slot, UINT32 stop)
MODULE_RW_ERR_CODE | MX_RTU_Module_DO_PWM_Count_Set (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DO_PWM_Config_Set (UINT8 slot, UINT8 start, UINT8 count, float *frequency, float *dutyCycle)
MODULE_RW_ERR_CODE | MX_RTU_Module_DO_Diagnostic_Status_Clean_Set (UINT8 slot, UINT32 clean)
MODULE_RW_ERR_CODE | MX_RTU_Module_Relay_Value_Get (UINT8 slot, UINT32 *value)
MODULE_RW_ERR_CODE | MX_RTU_Module_Relay_Mode_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_Relay_SigW_L_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_Relay_SigW_H_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_Relay_PWM_Start_Get (UINT8 slot, UINT32 *start)
MODULE_RW_ERR_CODE | MX_RTU_Module_Relay_PWM_Count_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_Relay_PWM_Config_Get (UINT8 slot, UINT8 start, UINT8 count, float *frequency, float *dutyCycle)
MODULE_RW_ERR_CODE | MX_RTU_Module_Relay_Total_Count_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_Relay_Current_Count_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_Relay_Value_Set (UINT8 slot, UINT32 value)
MODULE_RW_ERR_CODE | MX_RTU_Module_Relay_Mode_Set (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_Relay_SigW_L_Set (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_Relay_SigW_H_Set (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_Relay_PWM_Start_Set (UINT8 slot, UINT32 start)
MODULE_RW_ERR_CODE | MX_RTU_Module_Relay_PWM_Stop_Set (UINT8 slot, UINT32 stop)
MODULE_RW_ERR_CODE | MX_RTU_Module_Relay_PWM_Count_Set (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_Relay_PWM_Config_Set (UINT8 slot, UINT8 start, UINT8 count, float *frequency, float *dutyCycle)
MODULE_RW_ERR_CODE | MX_RTU_Module_Relay_Current_Count_Set (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_Map_Get (UINT8 slot, UINT32 *map)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_Map_Set (UINT8 slot, UINT32 map)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DI_Value_Get (UINT8 slot, UINT32 *value, struct Timestamp *time)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DI_Mode_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DI_Filter_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DI_Counter_Start_Get (UINT8 slot, UINT32 *start)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DI_Counter_Trigger_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DI_Counter_Value_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf, struct Timestamp *time)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DI_Counter_Overflow_Get (UINT8 slot, UINT32 *overflow)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DI_Frequency_Start_Get (UINT8 slot, UINT32 *start)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DI_Frequency_Measurement_Time_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DI_Frequency_Get (UINT8 slot, UINT8 start, UINT8 count, float *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DI_Mode_Set (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DI_Filter_Set (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DI_Counter_Start_Set (UINT8 slot, UINT32 start)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DI_Counter_Trigger_Set (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DI_Counter_Value_Set (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DI_Counter_Overflow_Reset (UINT8 slot, UINT32 overflow)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DI_Frequency_Start_Set (UINT8 slot, UINT32 start)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DI_Frequency_Measurement_Time_Set (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DO_Value_Get (UINT8 slot, UINT32 *value)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DO_Mode_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DO_SigW_L_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DO_SigW_H_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DO_PWM_Start_Get (UINT8 slot, UINT32 *start)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DO_PWM_Count_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DO_PWM_Config_Get (UINT8 slot, UINT8 start, UINT8 count, float *frequency, float *dutyCycle)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DO_Value_Set (UINT8 slot, UINT32 value)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DO_Mode_Set (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DO_SigW_L_Set (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DO_SigW_H_Set (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DO_PWM_Start_Set (UINT8 slot, UINT32 start)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DO_PWM_Stop_Set (UINT8 slot, UINT32 stop)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DO_PWM_Count_Set (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_DIO_DO_PWM_Config_Set (UINT8 slot, UINT8 start, UINT8 count, float *frequency, float *dutyCycle)
AI_TRANSFORM_ERR_CODE | MX_RTU_AI_Raw_to_Eng (UINT32 range, int rawValue, float *engValue)
AI_TRANSFORM_ERR_CODE | MX_RTU_AI_Eng_to_Raw (UINT32 range, float engValue, int *rawValue)
AIO_TRANSFORM_ERR_CODE | MX_RTU_AIO_Raw_to_Eng (UINT32 range, UINT32 bitsResolution, int rawValue, float *engValue)
AIO_TRANSFORM_ERR_CODE | MX_RTU_AIO_Eng_to_Raw (UINT32 range, UINT32 bitsResolution, float engValue, int *rawValue)
void | MX_RTU_AI_Raw_to_Eng_0_10V (int rawValue, float *engValue)
void | MX_RTU_AI_Raw_to_Eng_4_20mA (int rawValue, float *engValue)
MODULE_RW_ERR_CODE | MX_RTU_Module_AI_Raw_Value_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf, struct Timestamp *time)
MODULE_RW_ERR_CODE | MX_RTU_Module_AI_Eng_Value_Get (UINT8 slot, UINT8 start, UINT8 count, float *buf, struct Timestamp *time)
MODULE_RW_ERR_CODE | MX_RTU_Module_AI_Range_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_AI_Min_Raw_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_AI_Max_Raw_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_AI_Min_Eng_Get (UINT8 slot, UINT8 start, UINT8 count, float *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_AI_Max_Eng_Get (UINT8 slot, UINT8 start, UINT8 count, float *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_AI_Burnout_Value_Get (UINT8 slot, UINT8 start, UINT8 count, float *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_AI_Status_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_AI_Range_Set (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_AI_Min_Raw_Reset (UINT8 slot, UINT32 channel)
MODULE_RW_ERR_CODE | MX_RTU_Module_AI_Max_Raw_Reset (UINT8 slot, UINT32 channel)
MODULE_RW_ERR_CODE | MX_RTU_Module_AI_Min_Eng_Reset (UINT8 slot, UINT32 channel)
MODULE_RW_ERR_CODE | MX_RTU_Module_AI_Max_Eng_Reset (UINT8 slot, UINT32 channel)
MODULE_RW_ERR_CODE | MX_RTU_Module_AI_Burnout_Value_Set (UINT8 slot, UINT8 start, UINT8 count, float *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_Fast_AI_Raw_Value_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf, struct Timestamp *time)
MODULE_RW_ERR_CODE | MX_RTU_Module_Fast_AI_Eng_Value_Get (UINT8 slot, UINT8 start, UINT8 count, float *buf, struct Timestamp *time)
MODULE_RW_ERR_CODE | MX_RTU_Module_Fast_AI_Range_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_Fast_AI_Min_Raw_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_Fast_AI_Max_Raw_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_Fast_AI_Min_Eng_Get (UINT8 slot, UINT8 start, UINT8 count, float *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_Fast_AI_Max_Eng_Get (UINT8 slot, UINT8 start, UINT8 count, float *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_Fast_AI_Burnout_Value_Get (UINT8 slot, UINT8 start, UINT8 count, float *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_Fast_AI_Status_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_Fast_AI_Enable_Mode_Get (UINT8 slot, UINT32 *mode)
MODULE_RW_ERR_CODE | MX_RTU_Module_Fast_AI_Range_Set (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_Fast_AI_Min_Raw_Reset (UINT8 slot, UINT32 channel)
MODULE_RW_ERR_CODE | MX_RTU_Module_Fast_AI_Max_Raw_Reset (UINT8 slot, UINT32 channel)
MODULE_RW_ERR_CODE | MX_RTU_Module_Fast_AI_Min_Eng_Reset (UINT8 slot, UINT32 channel)
MODULE_RW_ERR_CODE | MX_RTU_Module_Fast_AI_Max_Eng_Reset (UINT8 slot, UINT32 channel)
MODULE_RW_ERR_CODE | MX_RTU_Module_Fast_AI_Burnout_Value_Set (UINT8 slot, UINT8 start, UINT8 count, float *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_Fast_AI_Sampling_Rate_Get (UINT8 slot, UINT32 *rate)
MODULE_RW_ERR_CODE | MX_RTU_Module_Fast_AI_Buf_Overflow_Get (UINT8 slot, UINT32 *overflow)
MODULE_RW_ERR_CODE | MX_RTU_Module_Fast_AI_Batch_Data_Get (UINT8 slot, UINT32 channel, UINT32 fore_interval, UINT32 back_interval, UINT8 *buf, struct Timestamp *time)
MODULE_RW_ERR_CODE | MX_RTU_Module_Fast_AI_Batch_Data_Check (UINT8 slot, UINT32 channel, UINT32 *count)
MODULE_RW_ERR_CODE | MX_RTU_Module_Fast_AI_Sampling_Rate_Set (UINT8 slot, UINT32 rate)
MODULE_RW_ERR_CODE | MX_RTU_Module_Fast_AI_Buf_Overflow_Reset (UINT8 slot, UINT32 overflow)
MODULE_RW_ERR_CODE | MX_RTU_Module_Fast_AI_Buf_Reset (UINT8 slot)
MODULE_RW_ERR_CODE | MX_RTU_Module_Fast_AI_Trigger_Set (UINT8 slot, UINT32 channel_trigger, UINT32 fore_interval, UINT32 back_interval, UINT32 *required_buf_size)
MODULE_RW_ERR_CODE | MX_RTU_Module_Fast_AI_Trigger_Stop_Set (UINT8 slot, UINT32 channel_trigger, struct Timestamp *time)
MODULE_RW_ERR_CODE | MX_RTU_Module_Fast_AI_Enable_Mode_Set (UINT8 slot, UINT32 mode)
MODULE_RW_ERR_CODE | MX_RTU_Module_TC_Eng_Value_Get (UINT8 slot, UINT8 start, UINT8 count, float *buf, struct Timestamp *time)
MODULE_RW_ERR_CODE | MX_RTU_Module_TC_Type_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_TC_Unit_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_TC_Min_Eng_Get (UINT8 slot, UINT8 start, UINT8 count, float *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_TC_Max_Eng_Get (UINT8 slot, UINT8 start, UINT8 count, float *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_TC_Burnout_Status_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_TC_Offset_Get (UINT8 slot, UINT8 start, UINT8 count, float *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_TC_Type_Set (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_TC_Unit_Set (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_TC_Min_Eng_Reset (UINT8 slot, UINT32 channel_flags)
MODULE_RW_ERR_CODE | MX_RTU_Module_TC_Max_Eng_Reset (UINT8 slot, UINT32 channel_flags)
MODULE_RW_ERR_CODE | MX_RTU_Module_TC_Offset_Set (UINT8 slot, UINT8 start, UINT8 count, float *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_TC_Calibration_Set (UINT8 slot, UINT8 start, UINT8 count, float *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_RTD_Eng_Value_Get (UINT8 slot, UINT8 start, UINT8 count, float *buf, struct Timestamp *time)
MODULE_RW_ERR_CODE | MX_RTU_Module_RTD_Type_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_RTD_Unit_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_RTD_Min_Eng_Get (UINT8 slot, UINT8 start, UINT8 count, float *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_RTD_Max_Eng_Get (UINT8 slot, UINT8 start, UINT8 count, float *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_RTD_Burnout_Status_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_RTD_Offset_Get (UINT8 slot, UINT8 start, UINT8 count, float *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_RTD_Type_Set (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_RTD_Unit_Set (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_RTD_Min_Eng_Reset (UINT8 slot, UINT32 channel_flags)
MODULE_RW_ERR_CODE | MX_RTU_Module_RTD_Max_Eng_Reset (UINT8 slot, UINT32 channel_flags)
MODULE_RW_ERR_CODE | MX_RTU_Module_RTD_Offset_Set (UINT8 slot, UINT8 start, UINT8 count, float *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_RTD_Calibration_Set (UINT8 slot, UINT8 start, UINT8 count, float *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_AO_Enable_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_AO_Range_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_AO_Raw_Value_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_AO_Eng_Value_Get (UINT8 slot, UINT8 start, UINT8 count, float *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_AO_Status_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_AO_Waveform_Type_Get (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_AO_Waveform_Config_Get (UINT8 slot, UINT8 start, UINT8 count, float *frequency, float *amplitude, float *offset)
MODULE_RW_ERR_CODE | MX_RTU_Module_AO_Waveform_Count_Get (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_AO_Waveform_Start_Get (UINT8 slot, UINT32 *start)
MODULE_RW_ERR_CODE | MX_RTU_Module_AO_Enable_Set (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_AO_Range_Set (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_AO_Raw_Value_Set (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_AO_Eng_Value_Set (UINT8 slot, UINT8 start, UINT8 count, float *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_AO_Waveform_Type_Set (UINT8 slot, UINT8 start, UINT8 count, UINT8 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_AO_Waveform_Config_Set (UINT8 slot, UINT8 start, UINT8 count, float *frequency, float *amplitude, float *offset)
MODULE_RW_ERR_CODE | MX_RTU_Module_AO_Waveform_Count_Set (UINT8 slot, UINT8 start, UINT8 count, UINT32 *buf)
MODULE_RW_ERR_CODE | MX_RTU_Module_AO_Waveform_Start_Set (UINT8 slot, UINT32 start)
MODULE_RW_ERR_CODE | MX_RTU_Module_AO_Waveform_Stop_Set (UINT8 slot, UINT32 stop)
void | MX_RTU_Timestamp_to_Timeval (struct Timestamp *timestamp, struct timeval *tv)
MISC_ERR_CODE | MX_RTU_RTC_Get (struct rtc_time *rtc)
MISC_ERR_CODE | MX_RTU_RTC_Set (struct rtc_time *rtc)
MISC_ERR_CODE | MX_RTU_SWTD_Enable (UINT32 swtdtime)
MISC_ERR_CODE | MX_RTU_SWTD_Get_Setting (struct swtd_setting *setting)
MISC_ERR_CODE | MX_RTU_SWTD_Disable ()
MISC_ERR_CODE | MX_RTU_SWTD_Ack ()
MISC_ERR_CODE | MX_RTU_LED1_Get (UINT8 *state)
MISC_ERR_CODE | MX_RTU_LED2_Get (UINT8 *state)
MISC_ERR_CODE | MX_RTU_LED1_Set (UINT8 state)
MISC_ERR_CODE | MX_RTU_LED2_Set (UINT8 state)
MISC_ERR_CODE | MX_RTU_Toggle_Switch_Get (UINT8 *state)
MISC_ERR_CODE | MX_RTU_Rotary_Switch_Mode_Get (UINT32 *mode)
MISC_ERR_CODE | MX_RTU_Dual_Power1_Get (UINT8 *state)
MISC_ERR_CODE | MX_RTU_Dual_Power2_Get (UINT8 *state)
MODULE_RW_ERR_CODE | MX_RTU_Module_Dual_Power1_Get (UINT8 slot, UINT8 *state)
MODULE_RW_ERR_CODE | MX_RTU_Module_Dual_Power2_Get (UINT8 slot, UINT8 *state)
UINT32 | MX_RTU_API_Version_Get (void)
UINT32 | MX_RTU_API_BuildDate_Get (void)
UINT32 | MX_RTU_System_Version_Get (void)
UINT32 | MX_RTU_System_BuildDate_Get (void)
IO_ERR_CODE | MX_RTU_System_Hot_Plug_Connect_Get (UINT32 *state)
IO_ERR_CODE | MX_RTU_System_Hot_Plug_Disconnect_Get (UINT32 *state)
MODULE_RW_ERR_CODE | MX_RTU_Module_FWR_BuildDate_Get (UINT8 slot, UINT32 *date)
SERIAL_ERR_CODE | MX_RTU_SerialOpen (UINT8 slot, SERIAL_PORT port)
SERIAL_ERR_CODE | MX_RTU_SerialWrite (UINT8 slot, SERIAL_PORT port, UINT32 len, UINT8 *str, UINT32 *write_bytes)
SERIAL_ERR_CODE | MX_RTU_SerialNonBlockRead (UINT8 slot, SERIAL_PORT port, UINT32 len, UINT8 *buf, UINT32 *read_bytes)
SERIAL_ERR_CODE | MX_RTU_SerialBlockRead (UINT8 slot, SERIAL_PORT port, UINT32 len, UINT8 *buf, UINT32 *read_bytes)
SERIAL_ERR_CODE | MX_RTU_SerialClose (UINT8 slot, SERIAL_PORT port)
SERIAL_ERR_CODE | MX_RTU_SerialFlowControl (UINT8 slot, SERIAL_PORT port, UINT8 control)
SERIAL_ERR_CODE | MX_RTU_SerialSetSpeed (UINT8 slot, SERIAL_PORT port, UINT32 speed)
SERIAL_ERR_CODE | MX_RTU_SerialSetMode (UINT8 slot, SERIAL_PORT port, UINT8 mode)
SERIAL_ERR_CODE | MX_RTU_SerialGetMode (UINT8 slot, SERIAL_PORT port, UINT8 *mode)
SERIAL_ERR_CODE | MX_RTU_SerialSetParam (UINT8 slot, SERIAL_PORT port, UINT8 parity, UINT8 databits, UINT8 stopbit)
SERIAL_ERR_CODE | MX_RTU_SerialDataInInputQueue (UINT8 slot, SERIAL_PORT port, UINT32 *bytes)
SERIAL_ERR_CODE | MX_RTU_SerialDataInOutputQueue (UINT8 slot, SERIAL_PORT port, UINT32 *bytes)
SERIAL_ERR_CODE | MX_RTU_SerialInputQueueFlush (UINT8 slot, SERIAL_PORT port)
SERIAL_ERR_CODE | MX_RTU_SerialOutputQueueFlush (UINT8 slot, SERIAL_PORT port)
SERIAL_ERR_CODE | MX_RTU_FindFD (UINT8 slot, SERIAL_PORT port, INT32 *fd)
MODEM_ERR_CODE | MX_RTU_Cellular_Modem_Init (INT8 *pin, UINT32 band)
MODEM_ERR_CODE | MX_RTU_Cellular_Net_Start (INT8 *apn, INT8 *userName, INT8 *password, CheckInfo *autoCheck)
MODEM_ERR_CODE | MX_RTU_Cellular_Net_Stop (void)
MODEM_ERR_CODE | MX_RTU_Cellular_Net_IP_Address (UINT8 *ipAddress)
MODEM_ERR_CODE | MX_RTU_Cellular_Modem_Reset (void)
INT32 | MX_RTU_Cellular_Net_State (void)
MODEM_ERR_CODE | MX_RTU_Cellular_Modem_RSSI (UINT8 *rssi)
void | MX_RTU_Cellular_Modem_IMEI (INT8 *imei)
void | MX_RTU_Cellular_Set_Debug (UINT8 debug)
INT32 | MX_RTU_GPS_Start (UINT8 activeAntenna)
INT32 | MX_RTU_GPS_Stop (void)
void | MX_RTU_GPS_Get_Info (GPS_DATA *gpsData)
SMS_ERR_CODE | MX_RTU_SMS_Send_GSM_7bits_Default_Alphabet (INT8 *phone, INT8 *pin, INT8 *msg, INT32 msgLength)
SMS_ERR_CODE | MX_RTU_SMS_Send_Ucs2 (INT8 *phone, INT8 *pin, INT8 *ucs2Msg, INT8 msgLength)
CAN_ERR_CODE | MX_RTU_CanSetBaudrate (UINT8 slot, UINT8 port, UINT32 baudrate)
CAN_ERR_CODE | MX_RTU_CanGetBaudrate (UINT8 slot, UINT8 port, UINT32 *baudrate)
CAN_ERR_CODE | MX_RTU_CanSetAccCode (UINT8 slot, UINT8 port, UINT32 accCode)
CAN_ERR_CODE | MX_RTU_CanGetAccCode (UINT8 slot, UINT8 port, UINT32 *accCode)
CAN_ERR_CODE | MX_RTU_CanSetAccMask (UINT8 slot, UINT8 port, UINT32 accMask)
CAN_ERR_CODE | MX_RTU_CanGetAccMask (UINT8 slot, UINT8 port, UINT32 *accMask)
CAN_ERR_CODE | MX_RTU_CanGetStatus (UINT8 slot, UINT8 port, UINT32 *status)
CAN_ERR_CODE | MX_RTU_CanOpen (UINT8 slot, UINT8 port, int *handle)
CAN_ERR_CODE | MX_RTU_CanClose (int handle)
CAN_ERR_CODE | MX_RTU_CanNMTSetState (int handle, UINT32 slaveNodeID, CAN_NODE_STATE state)
CAN_ERR_CODE | MX_RTU_CanNMTNodeGuarding (int handle, UINT32 slaveNodeID, UINT16 guardTime, UINT8 lifeTimeFactor)
CAN_ERR_CODE | MX_RTU_CanNMTHeartbeat (int handle, UINT32 slaveNodeID, UINT16 producerTime, UINT16 consumerTime)
CAN_ERR_CODE | MX_RTU_CanGetNMTError (int handle, UINT32 slaveNodeID, CAN_NMT_ERROR_STATUS *status, CAN_NMT_NODE_GUARDING_STATE *nodeGuardingState)
CAN_ERR_CODE | MX_RTU_CanSYNCSend (int handle, UINT32 CobID)
CAN_ERR_CODE | MX_RTU_CanCyclicSYNCSend (int handle, UINT32 CobID, UINT16 Timer, UINT32 Times)
CAN_ERR_CODE | MX_RTU_CanGetAllEmcyMessage (int handle, UINT32 slaveNodeID, struct CAN_Emcy_Message *Msg, UINT32 *nMsg)
CAN_ERR_CODE | MX_RTU_CanSDORead (int handle, UINT32 slaveNodeID, UINT16 index, UINT8 subIndex, UINT8 *rData, UINT32 *rLen, UINT32 *abortCode)
CAN_ERR_CODE | MX_RTU_CanSDOWrite (int handle, UINT32 slaveNodeID, UINT16 index, UINT8 subIndex, UINT8 *wData, UINT32 wLen, UINT8 *rData, UINT32 *rLen, UINT32 *abortCode)
CAN_ERR_CODE | MX_RTU_CanPDORemote (int handle, UINT8 pdoNumber, UINT32 slaveNodeID, UINT8 *rData, UINT32 *rLen)
CAN_ERR_CODE | MX_RTU_CanPDOSend (int handle, UINT8 pdoNumber, UINT32 slaveNodeID, UINT8 *wData, UINT32 wLen)
CAN_ERR_CODE | MX_RTU_CanCyclicPDOSend (int handle, UINT8 pdoNumber, UINT32 slaveNodeID, UINT8 *wData, UINT32 wLen, UINT16 Timer, UINT32 Times)
CAN_ERR_CODE | MX_RTU_CanSlaveNodeIDSet (int handle, UINT32 slaveNodeID)
CAN_ERR_CODE | MX_RTU_CanSlaveNodeIDGet (int handle, UINT32 *slaveNodeID)
CAN_ERR_CODE | MX_RTU_CanSlaveSDORegister (int handle, UINT16 index, UINT8 subIndex, UINT8 *tagName)
CAN_ERR_CODE | MX_RTU_CanSlavePDORegister (int handle, UINT8 pdoNumber, UINT8 *tagName)
CAN_ERR_CODE | MX_RTU_CanSlaveStartListening (int handle)
CAN_ERR_CODE | MX_RTU_CanSlaveStopListening (int handle)
CAN_ERR_CODE | MX_RTU_CanSlaveNMTStateGet (int handle, CAN_NODE_STATE *state)
CAN_ERR_CODE | MX_RTU_CanSlaveEmcyMessageSend (int handle, struct CAN_Emcy_Message *Msg)
CAN_ERR_CODE | MX_RTU_CanSlaveSYNCGet (int handle, UINT32 *CobID, UINT32 *nCobID)
CAN_ERR_CODE | MX_RTU_CanSlaveHeartbeatGet (int handle, UINT16 *producerTime)
CAN_ERR_CODE | MX_RTU_CanSlaveHeartbeatStateGet (int handle, CAN_NMT_HEARTBEAT_STATE *state)
CAN_ERR_CODE | MX_RTU_CanSlaveNodeGuardingGet (int handle, UINT16 *guardTime, UINT8 *lifeTimeFactor)
CAN_ERR_CODE | MX_RTU_CanSlaveNodeGuardingStateGet (int handle, CAN_NMT_NODE_GUARDING_STATE *state)
CAN_ERR_CODE | MX_RTU_CanSlaveNodeGuardingStateSet (int handle, CAN_NMT_NODE_GUARDING_STATE state)
MODBUS_MASTER_ERR_CODE | MX_RTU_Modbus_Master_Init (void)
| This API must be called at first. More...
void | MX_RTU_Modbus_Master_Uninit (void)
| This API must be called at the end. More...
MODBUS_MASTER_ERR_CODE | MX_RTU_Modbus_Rtu_Master_Open (UINT8 slot, SERIAL_PORT port, TTY_PARAM *param)
MODBUS_MASTER_ERR_CODE | MX_RTU_Modbus_Rtu_Master_Close (UINT8 slot, SERIAL_PORT port)
MODBUS_MASTER_ERR_CODE | MX_RTU_Modbus_Rtu_Master_Read_Coils (UINT8 slot, SERIAL_PORT port, UINT8 unitId, UINT16 startAddr, UINT16 coilCount, UINT8 byteCoils[], UINT32 timeoutMs, UINT8 *exceptionCode)
MODBUS_MASTER_ERR_CODE | MX_RTU_Modbus_Rtu_Master_Write_Coils (UINT8 slot, SERIAL_PORT port, UINT8 unitId, UINT16 startAddr, UINT16 coilCount, UINT8 byteCoils[], UINT32 timeoutMs, UINT8 *exceptionCode)
MODBUS_MASTER_ERR_CODE | MX_RTU_Modbus_Rtu_Master_Write_Coil (UINT8 slot, SERIAL_PORT port, UINT8 unitId, UINT16 addr, UINT8 coil, UINT32 timeoutMs, UINT8 *exceptionCode)
MODBUS_MASTER_ERR_CODE | MX_RTU_Modbus_Rtu_Master_Read_Discrete_Inputs (UINT8 slot, SERIAL_PORT port, UINT8 unitId, UINT16 startAddr, UINT16 coilCount, UINT8 byteCoils[], UINT32 timeoutMs, UINT8 *exceptionCode)
MODBUS_MASTER_ERR_CODE | MX_RTU_Modbus_Rtu_Master_Read_Input_Regs (UINT8 slot, SERIAL_PORT port, UINT8 unitId, UINT16 startAddr, UINT16 regCount, UINT16 regs[], UINT32 timeoutMs, UINT8 *exceptionCode)
MODBUS_MASTER_ERR_CODE | MX_RTU_Modbus_Rtu_Master_Read_Holding_Regs (UINT8 slot, SERIAL_PORT port, UINT8 unitId, UINT16 startAddr, UINT16 regCount, UINT16 regs[], UINT32 timeoutMs, UINT8 *exceptionCode)
MODBUS_MASTER_ERR_CODE | MX_RTU_Modbus_Rtu_Master_Write_Holding_Regs (UINT8 slot, SERIAL_PORT port, UINT8 unitId, UINT16 startAddr, UINT16 regCount, UINT16 regs[], UINT32 timeoutMs, UINT8 *exceptionCode)
MODBUS_MASTER_ERR_CODE | MX_RTU_Modbus_Rtu_Master_Write_Holding_Reg (UINT8 slot, SERIAL_PORT port, UINT8 unitId, UINT16 addr, UINT16 reg, UINT32 timeoutMs, UINT8 *exceptionCode)
MODBUS_MASTER_ERR_CODE | MX_RTU_Modbus_Tcp_Master_Open (UINT8 ipAddress[], UINT16 tcpPort, UINT32 cTimeoutMs, UINT32 *sHandle)
MODBUS_MASTER_ERR_CODE | MX_RTU_Modbus_Tcp_Master_Close (UINT32 sHandle)
MODBUS_MASTER_ERR_CODE | MX_RTU_Modbus_Tcp_Master_Ioctl (UINT32 sHandle, UINT8 unitId, UINT32 rwTimeoutMs)
MODBUS_MASTER_ERR_CODE | MX_RTU_Modbus_Tcp_Master_Read_Coils (UINT32 sHandle, UINT16 startAddr, UINT16 coilCount, UINT8 byteCoils[], UINT8 *exceptionCode)
MODBUS_MASTER_ERR_CODE | MX_RTU_Modbus_Tcp_Master_Write_Coils (UINT32 sHandle, UINT16 startAddr, UINT16 coilCount, UINT8 byteCoils[], UINT8 *exceptionCode)
MODBUS_MASTER_ERR_CODE | MX_RTU_Modbus_Tcp_Master_Write_Coil (UINT32 sHandle, UINT16 addr, UINT8 coil, UINT8 *exceptionCode)
MODBUS_MASTER_ERR_CODE | MX_RTU_Modbus_Tcp_Master_Read_Discrete_Inputs (UINT32 sHandle, UINT16 startAddr, UINT16 coilCount, UINT8 byteCoils[], UINT8 *exceptionCode)
MODBUS_MASTER_ERR_CODE | MX_RTU_Modbus_Tcp_Master_Read_Input_Regs (UINT32 sHandle, UINT16 startAddr, UINT16 regCount, UINT16 regs[], UINT8 *exceptionCode)
MODBUS_MASTER_ERR_CODE | MX_RTU_Modbus_Tcp_Master_Read_Holding_Regs (UINT32 sHandle, UINT16 startAddr, UINT16 regCount, UINT16 regs[], UINT8 *exceptionCode)
MODBUS_MASTER_ERR_CODE | MX_RTU_Modbus_Tcp_Master_Write_Holding_Regs (UINT32 sHandle, UINT16 startAddr, UINT16 regCount, UINT16 regs[], UINT8 *exceptionCode)
MODBUS_MASTER_ERR_CODE | MX_RTU_Modbus_Tcp_Master_Write_Holding_Reg (UINT32 sHandle, UINT16 addr, UINT16 regValue, UINT8 *exceptionCode)
MODBUS_SLAVE_ERR_CODE | MX_RTU_Modbus_Tcp_Slave_Init ()
| This API must be called at first. More...
MODBUS_SLAVE_ERR_CODE | MX_RTU_Modbus_Tcp_Slave_Uninit ()
| This API must be called at the end. More...
MODBUS_SLAVE_ERR_CODE | MX_RTU_Modbus_Tcp_Slave_Register (UINT16 port, UINT16 map_size, UINT32 idle_timeout_second, UINT32 *sHandle)
MODBUS_SLAVE_ERR_CODE | MX_RTU_Modbus_Tcp_Slave_Unregister (UINT32 sHandle)
MODBUS_SLAVE_ERR_CODE | MX_RTU_Modbus_Tcp_Slave_Start (UINT32 sHandle)
MODBUS_SLAVE_ERR_CODE | MX_RTU_Modbus_Tcp_Slave_Stop (UINT32 sHandle)
MODBUS_SLAVE_ERR_CODE | MX_RTU_Modbus_Tcp_Slave_Add_Entry (UINT32 sHandle, UINT8 map_type, UINT16 address, void *pUserData, pfnModbusRead, pfnModbusWrite)
MODBUS_SLAVE_ERR_CODE | MX_RTU_Modbus_Tcp_Slave_Delete_Entry (UINT32 sHandle, UINT8 map_type, UINT16 address)
MODBUS_SLAVE_ERR_CODE | MX_RTU_Modbus_Tcp_Slave_Map_Count (UINT32 sHandle, UINT16 *count)
MODBUS_SLAVE_ERR_CODE | MX_RTU_Modbus_Tcp_Slave_Map_Dump (UINT32 sHandle)
MODBUS_SLAVE_ERR_CODE | MX_RTU_Modbus_Tcp_Slave_Connection_Info (UINT32 sHandle, struct Modbus_TCP_Master_Connection_Info *connection_info)
MODBUS_SLAVE_ERR_CODE | MX_RTU_Modbus_Rtu_Slave_Init ()
| This API must be called at first. More...
MODBUS_SLAVE_ERR_CODE | MX_RTU_Modbus_Rtu_Slave_Uninit ()
| This API must be called at the end. More...
MODBUS_SLAVE_ERR_CODE | MX_RTU_Modbus_Rtu_Slave_Register (UINT8 slot, SERIAL_PORT port, INT32 slaveID, UINT16 map_size, TTY_PARAM *param, UINT32 *handle)
MODBUS_SLAVE_ERR_CODE | MX_RTU_Modbus_Rtu_Slave_Unregister (UINT32 handle)
MODBUS_SLAVE_ERR_CODE | MX_RTU_Modbus_Rtu_Slave_Start (UINT32 handle)
MODBUS_SLAVE_ERR_CODE | MX_RTU_Modbus_Rtu_Slave_Stop (UINT32 handle)
MODBUS_SLAVE_ERR_CODE | MX_RTU_Modbus_Rtu_Slave_Add_Entry (UINT32 handle, UINT8 map_type, UINT16 address, void *pUserData, pfnModbusRead, pfnModbusWrite)
MODBUS_SLAVE_ERR_CODE | MX_RTU_Modbus_Rtu_Slave_Delete_Entry (UINT32 handle, UINT8 map_type, UINT16 address)
AOPC_ERR_CODE | MX_RTU_AOPC_Init (void)
| This API must be called at first. More...
void | MX_RTU_AOPC_Uninit (void)
| This API must be called at the end. More...
AOPC_ERR_CODE | MX_RTU_AOPC_Connect (UINT8 *deviceName, UINT32 heartBeatS, UINT8 *ipAddress, UINT16 port, UINT32 timeoutMs, UINT32 *sHandle)
AOPC_ERR_CODE | MX_RTU_AOPC_Disconnect (UINT32 sHandle)
AOPC_ERR_CODE | MX_RTU_AOPC_Reconnect (UINT32 sHandle, UINT32 timeoutMs)
AOPC_ERR_CODE | MX_RTU_AOPC_AddTag (UINT32 sHandle, TAG *tagInfo, struct Timestamp *tagTime, UINT32 timeoutMs)
AOPC_ERR_CODE | MX_RTU_AOPC_DelTag (UINT32 sHandle, UINT8 *tagName, UINT32 timeoutMs)
AOPC_ERR_CODE | MX_RTU_AOPC_DelAllTag (UINT32 sHandle, UINT32 timeoutMs)
AOPC_ERR_CODE | MX_RTU_AOPC_UpdateTag (UINT32 sHandle, TAG *tagInfo, struct Timestamp *tagTime, UINT32 timeoutMs)
AOPC_ERR_CODE | MX_RTU_AOPC_UpdateValue (UINT32 sHandle, UINT8 *tagName, void *tagValue, struct Timestamp *tagTime, UINT32 timeoutMs)
AOPC_ERR_CODE | MX_RTU_AOPC_UpdateMultiValue (UINT32 sHandle, UINT16 nTags, UINT8 **tagName, void **tagValue, struct Timestamp *tagTime, UINT32 timeoutMs)
AOPC_ERR_CODE | MX_RTU_AOPC_UpdateHeartbeat (UINT32 sHandle, UINT32 heartbeatS, UINT32 timeoutMs)
TAG_ERR_CODE | MX_RTU_Tag_Init (void)
| This API must be called at first. More...
TAG_ERR_CODE | MX_RTU_Tag_Uninit (void)
| This API must be called at the end. More...
TAG_ERR_CODE | MX_RTU_Tag_List_All (void)
| Listing all of the tags. More...
TAG_ERR_CODE | MX_RTU_Tag_Get_List (TAG_INFO ***list, UINT32 *quantity)
TAG_ERR_CODE | MX_RTU_Tag_Get_Info (UINT8 *tagName, TAG_INFO *info)
TAG_ERR_CODE | MX_RTU_Tag_Read (UINT8 *tagName, void *tagValue, UINT32 tagSize, UINT32 *readBytes, struct Timestamp *time)
TAG_ERR_CODE | MX_RTU_Tag_Write (UINT8 *tagName, void *tagValue, UINT32 tagSize)
TAG_ERR_CODE | MX_RTU_MultiTag_Read (UINT8 *prefixTagName, UINT8 *postfixTagName, UINT16 start, UINT16 count, UINT8 *tagValue, struct Timestamp *tagTimeStamp)
TAG_ERR_CODE | MX_RTU_MultiTag_Write (UINT8 *prefixTagName, UINT8 *postfixTagName, UINT16 start, UINT16 count, UINT8 *tagValue)
TAG_ERR_CODE | MX_RTU_Tag_Event_Register (UINT8 *tagName, TAG_EVENT_CONDITION *condition, int *handle)
TAG_ERR_CODE | MX_RTU_Tag_Event_Unregister (int handle)
TAG_ERR_CODE | MX_RTU_Tag_Event_Get (int handle, void *tagValue, struct Timestamp *time)
TAG_ERR_CODE | MX_RTU_Tag_Event_Clear (int handle)

## Variables
typedef | __attribute__
UINT8 | di_channels
UINT8 | do_channels
UINT8 | dio_channels
UINT8 | ai_channels
UINT8 | fast_ai_channels
UINT8 | ao_channels
UINT8 | tc_channels
UINT8 | rtd_channels
UINT8 | counter_channels
UINT8 | pulse_channels
UINT8 | relay_channels
UINT8 | slot
UINT8 | unit_id
UINT16 | vendor_id
UINT16 | product_id
UINT32 | serial_number
UINT16 | hw_version
UINT16 | fw_version
struct IO_Info | io_info
UINT32 | msec
UINT32 | sec
UINT32 | min
UINT32 | hour
UINT32 | day
UINT32 | mon
UINT32 | year
UINT32 | cobID
UINT16 | emergencyErrorCode
UINT8 | errorRegister
UINT8 | manufacturerSpecificErrorField [5]
UINT8 | accepted_connections
char | ip [MODBUS_MAX_CONNECTION][17]
UINT16 | port [MODBUS_MAX_CONNECTION]

## Detailed Description

Moxa Library

Copyright
  Moxa Inc.

Date
  04-10-2013

Author
  Eddy Kao

Version
  V1.0

## Variable Documentation

UINT8 di_channels

UINT8 do_channels

UINT8 dio_channels

UINT8 ai_channels

UINT8 fast_ai_channels

UINT8 ao_channels

UINT8 tc_channels

UINT8 rtd_channels

UINT8 counter_channels

UINT8 pulse_channels

UINT8 relay_channels

UINT8 slot

UINT8 unit_id

UINT16 vendor_id

UINT16 product_id

UINT32 serial_number

UINT16 hw_version

UINT16 fw_version

struct IO_Info io_info

UINT32 msec

UINT32 sec

UINT32 min

UINT32 hour

UINT32 day

UINT32 mon

UINT32 year

UINT32 cobID

UINT16 emergencyErrorCode

UINT8 errorRegister

UINT8 manufacturerSpecificErrorField[5]

UINT8 accepted_connections

char ip[MODBUS_MAX_CONNECTION][17]

UINT16 port[MODBUS_MAX_CONNECTION]