ioPAC RTU Controllers
C/C++ Sample Code Programming Guide
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

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]