Ethan-IA

Device pinout

EthanIA

API function description

class pywpc.EthanIA
  1. Power input: 24VDC

  2. 10/100 T-based Ethernet interface

  3. Current input: 8ch non-simultaneous and 24-bit

  4. Voltage input: 8ch non-simultaneous and 24-bit

  5. Max. update rate: 600Hz (1ch)

  6. Current input range: +/-20mA

  7. Voltage input range: +/-25V

AI_close(port, timeout=3)

Close AI module on a given port.

Parameters
portint

Port number. See here for available ports of different WPC devices.

timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

async AI_close_async(port)

Close AI module on a given port with async mode.

Parameters
portint

Port number. See here for available ports of different WPC devices.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

AI_open(port, timeout=3)

Open AI module on a given port.

Parameters
portint

Port number. See here for available ports of different WPC devices.

timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

async AI_open_async(port)

Open AI module on a given port with async mode.

Parameters
portint

Port number. See here for available ports of different WPC devices.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

AI_readOnDemand(port, timeout=3)

If your product is EthanI, port 0 will return current (mA)

If your product is EthanIA, it depends on your port. Port 0 will return current (mA), and port 1 will return voltage(V).

Parameters
portint

Port number. See here for available ports of different WPC devices.

timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
Current/Voltagelist

Based on the port, return the corresponding data.

async AI_readOnDemand_async(port)

If your product is EthanI, port 0 will return current (mA) with async mode.

If your product is EthanIA, it depends on your port with async mode. Port 0 will return current (mA), and port 1 will return voltage(V).

Parameters
portint

Port number. See here for available ports of different WPC devices.

Returns
Current/Voltagelist

Based on the port, return the corresponding data.

Logger_openFile(filename, clear_old=True, verbose=True)

Open CSV file.

Parameters
filenamestr

The file name.

clear_oldbool, default: True

Whether to clear old data (if the file alread exists) or not.

verbosebool, default: True

Whether to print message out.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

Logger_write2DList(value_mat)

Write list of list into file.

Parameters
value_matlist of list

The list of list of data to be written.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

Logger_writeHeader(header)

Write header into file.

Parameters
headerlist of str

Header to be written.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

Logger_writeList(value_list)

Write list into file.

Parameters
value_listlist

The list of data to be written.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

Logger_writeValue(value)

Write value into file.

Parameters
valueobject

The data to be written.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

Net_getGateway(timeout=3)

Get geteway from the connected web device.

Parameters
timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
gatewaystr of 4 int separated by period.

Network gateway.

async Net_getGateway_async()

Get geteway from the connected web device with async mode.

Returns
gatewaystr of 4 int separated by period.

Network gateway.

Net_getIPAddrAndSubmask(timeout=3)

Get IP address and subnet mask from the connected web device.

Parameters
timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
network_infolist of 2 str.
  • network_info[0]: IP address

  • network_info[1]: subnet mask

async Net_getIPAddrAndSubmask_async()

Get IP address and subnet mask from the connected web device with async mode.

Returns
network_infolist of 2 str.
  • network_info[0]: IP address

  • network_info[1]: subnet mask

Net_getMACAddr(timeout=3)

Get MAC address from the connected web device.

Parameters
timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
mac_addrstr of 6 int separated by colon.

MAC address.

async Net_getMACAddr_async()

Get MAC address from the connected web device with async mode.

Returns
mac_addrstr of 6 int separated by colon.

MAC address.

Net_setIPAddrAndSubmask(ip_addr, subnet_mask='255.255.255.0', timeout=3)

Set IP address and subnet mask to the connected web device.

Parameters
ip_addrstr of 4 int separated by period.

IP network address.

subnet_maskstr of 4 int separated by period.

Subnet mask. (default: “255.255.255.0”)

timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

async Net_setIPAddrAndSubmask_async(ip_addr, subnet_mask='255.255.255.0')

Set IP address and subnet mask to the connected web device with async mode.

Parameters
ip_addrstr of 4 int separated by period.

IP network address.

subnet_maskstr of 4 int separated by period.

Subnet mask. (default: “255.255.255.0”)

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

SNTP_getPeriod(timeout=3)

Get the SNTP period.

Parameters
timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
periodfloat

Period of synchronization in [sec].

async SNTP_getPeriod_async()

Get the SNTP period with async mode.

Returns
periodfloat

Period of synchronization in [sec].

SNTP_getServerIP(timeout=3)

Get the SNTP server IP.

Parameters
timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
IPstr of 4 int separated by period.

IP address of the target SNTP server; 255.255.255.255 means automatic search.

async SNTP_getServerIP_async()

Get the SNTP server IP with async mode.

Returns
IPstr of 4 int separated by period.

IP address of the target SNTP server; 255.255.255.255 means automatic search.

SNTP_getSyncStatus(timeout=3)

Get the SNTP status.

Parameters
timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
IPstr of 4 int separated by period.

IP address of the connected SNTP server; 0.0.0.0 means no server is reachable.

async SNTP_getSyncStatus_async()

Get the SNTP status with async mode.

Returns
IPstr of 4 int separated by period.

IP address of the connected SNTP server; 0.0.0.0 means no server is reachable.

SNTP_setPeriod(period, timeout=3)

Set the SNTP period.

Parameters
periodfloat

Period of synchronization in [sec].

timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

async SNTP_setPeriod_async(period)

Set the SNTP period with async mode.

Parameters
periodfloat

Period of synchronization in [sec].

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

SNTP_setServerIP(ip_addr='255.255.255.255', timeout=3)

Set the SNTP server IP.

Parameters
ip_addrstr of 4 int separated by period.

IP address of the target SNTP server; 255.255.255.255 means automatic search.

timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

async SNTP_setServerIP_async(ip_addr='255.255.255.255')

Set the SNTP server IP with async mode.

Parameters
ip_addrstr of 4 int separated by period.

IP address of the target SNTP server; 255.255.255.255 means automatic search.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

SNTP_syncNow(timeout=3)

Synchronize SNTP.

Parameters
timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

async SNTP_syncNow_async()

Synchronize SNTP with async mode.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

Sys_getDeviceAlias(timeout=3)

Get device alias name.

Parameters
timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
Alias namestring

The alias name of the device.

async Sys_getDeviceAlias_async()

Get device alias name with async mode.

Returns
Alias namestring

The alias name of the device.

Sys_getDriverInfo(timeout=3)

Get device firmware information.

Parameters
timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
driver_infolist of three string
  • driver_info[0]: Model name.

  • driver_info[1]: Mode.

  • driver_info[2]: Firmware version.

async Sys_getDriverInfo_async()

Get device firmware information with async mode.

Returns
driver_infolist of three string
  • driver_info[0]: Model name.

  • driver_info[1]: Mode.

  • driver_info[2]: Firmware version.

Sys_getGateway(timeout=3)

Deprecated in v1.0.5. Will be removed in v1.2.0.

See :ref:Net_getGateway.

async Sys_getGateway_async()

Deprecated in v1.0.5. Will be removed in v1.2.0.

See :ref:Net_getGateway_async.

Sys_getIPAddrAndSubmask(timeout=3)

Deprecated in v1.0.5. Will be removed in v1.2.0.

See :ref:Net_getIPAddrAndSubmask.

async Sys_getIPAddrAndSubmask_async()

Deprecated in v1.0.5. Will be removed in v1.2.0.

See :ref:Net_getIPAddrAndSubmask_async.

Sys_getMACAddr(timeout=3)

Deprecated in v1.0.5. Will be removed in v1.2.0.

See :ref:Net_getMACAddr.

async Sys_getMACAddr_async()

Deprecated in v1.0.5. Will be removed in v1.2.0.

See :ref:Net_getMACAddr_async.

Sys_getMode(slot, timeout=3)

Get the mode from a given slot.

Parameters
slotint

Slot number. See here for available slot of different WPC devices.

timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
str_str

Mode of slot.

async Sys_getMode_async(slot)

Get the mode from a given slot with async mode.

Parameters
slotint

Slot number. See here for available slot of different WPC devices.

Returns
str_str

Mode of slot.

Sys_getPinModeInPort(port, timeout=3)

Get pin mode in specific port.

Parameters
portint

See here for available ports of different WPC devices.

timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
pinsint

How many pins in specific port.

pin_modelist of 8 string
  • [pin0, pin1,……pin7]

  • pinmode : Disabled, Idle, DI, DO, UART, I2C, SPI, CAN, PWM and ADC.

async Sys_getPinModeInPort_async(port)

Get pin mode in specific port with async mode.

Parameters
portint

See here for available ports of different WPC devices.

Returns
pinsint

How many pins in specific port.

pin_modelist of 8 string
  • [pin0, pin1,……pin7]

  • pinmode : Disabled, Idle, DI, DO, UART, I2C, SPI, CAN, PWM and ADC.

Sys_getPythonVersion(timeout=3)

Get python software version.

Parameters
timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
versionstring
async Sys_getPythonVersion_async()

Get python software version with async mode.

Returns
versionstring
Sys_getRTC(timeout=3)

Get RTC date and time.

Parameters
timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
str_str
Date and time represented by “A-B-C, D:E:F”.
  • “A” is year.

  • “B” is month.

  • “C” is day.

  • “D” is hour.

  • “E” is minute.

  • “F” is second.

async Sys_getRTC_async()

Get RTC date and time with async mode.

Returns
str_str
Date and time represented by “A-B-C, D:E:F”.
  • “A” is year.

  • “B” is month.

  • “C” is day.

  • “D” is hour.

  • “E” is minute.

  • “F” is second.

Sys_getSerialNumber(timeout=3)

Get serial number.

Parameters
timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
str_str

Serial number represented by string of 8 characters.

async Sys_getSerialNumber_async()

Get serial number with async mode.

Returns
str_str

Serial number represented by string of 8 characters.

Sys_reboot(timeout=3)

Reboot the device.

Parameters
timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

async Sys_reboot_async()

Reboot the device with async mode.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

Sys_setAIOMode(slot, timeout=3)

Set the AIO state on a given slot.

Parameters
slotint

Slot number. See here for available slot of different WPC devices.

timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

async Sys_setAIOMode_async(slot)

Set the AIO state on a given slot with async mode.

Parameters
slotint

Slot number. See here for available slot of different WPC devices.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

Sys_setDIMode(slot, timeout=3)

Set the DI state on a given slot.

Parameters
slotint

Slot number. See here for available slot of different WPC devices.

timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

async Sys_setDIMode_async(slot)

Set the DI state on a given slot with async mode.

Parameters
slotint

Slot number. See here for available slot of different WPC devices.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

Sys_setDIOMode(slot, timeout=3)

Set the DIO state for the slot in the connected WPC device.

Parameters
slotint

Slot number. See here for available slot of different WPC devices.

timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

async Sys_setDIOMode_async(slot)

Set the DIO state for the slot in the connected WPC device with async mode.

Parameters
slotint

Slot number. See here for available slot of different WPC devices.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

Sys_setDOMode(slot, timeout=3)

Set the DO state for the slot in the connected WPC device.

Parameters
slotint

Slot number. See here for available slot of different WPC devices.

timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

async Sys_setDOMode_async(slot)

Set the DO state for the slot in the connected WPC device with async mode.

Parameters
slotint

Slot number. See here for available slot of different WPC devices.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

Sys_setDeviceAlias(alias, timeout=3)

Set the alias name of the device.

Parameters
aliasstr

The alias name of the device

timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

async Sys_setDeviceAlias_async(alias)

Set the alias name of the device.

Parameters
aliasstr

The alias name of the device

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

Sys_setIPAddrAndSubmask(ip_addr, subnet_mask='255.255.255.0', timeout=3)

Deprecated in v1.0.5. Will be removed in v1.2.0.

See :ref:Net_setIPAddrAndSubmask.

async Sys_setIPAddrAndSubmask_async(ip_addr, subnet_mask='255.255.255.0')

Deprecated in v1.0.5. Will be removed in v1.2.0.

See :ref:Net_setIPAddrAndSubmask_async.

Sys_setIdleMode(slot, timeout=3)

Set the IDLE state on a given slot.

Parameters
slotint

Slot number. See here for available slot of different WPC devices.

timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

async Sys_setIdleMode_async(slot)

Set the IDLE state on a given slot with async mode.

Parameters
slotint

Slot number. See here for available slot of different WPC devices.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

Sys_setMotionMode(slot, timeout=3)

Set the motion state on a given slot.

Parameters
slotint

Slot number. See here for available slot of different WPC devices.

timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

async Sys_setMotionMode_async(slot)

Set the motion state on a given slot with async mode.

Parameters
slotint

Slot number. See here for available slot of different WPC devices.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

Sys_setRTC(year, month, day, hour, minute, second, timeout=3)

Set RTC date and time.

Parameters
yearint

year (CE).

monthint

month (1~12).

dayint

day (1~31).

hourint

hour (24-hour clock) (0~23).

minuteint

minute (0~59).

secondint

second (0~59).

timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

async Sys_setRTC_async(year, month, day, hour, minute, second)

Set RTC date and time with async mode.

Parameters
yearint

year (CE).

monthint

month (1~12).

dayint

day (1~31).

hourint

hour (24-hour clock) (0~23).

minuteint

minute (0~59).

secondint

second (0~59).

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

Sys_setSwitchMode(slot, timeout=3)

Set the switch state on a given slot.

Parameters
slotint

Slot number. See here for available slot of different WPC devices.

timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

async Sys_setSwitchMode_async(slot)

Set the switch state on a given slot with async mode.

Parameters
slotint

Slot number. See here for available slot of different WPC devices.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

Sys_startRTCAlarm(mode, day, hour, minute, second, timeout=3)

Start RTC time to alarm AI.

Parameters
modeint

0: Day value interpreted as calendar day. 1: Day value interpreted as weekday.

dayint

Celendar day (1~31)/ Weekday (1~7).

hourint

hour (24-hour clock) (0~23).

minuteint

minute (0~59).

secondint

second (0~59).

timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

async Sys_startRTCAlarm_async(mode, day, hour, minute, second)

Start RTC time to alarm AI with async mode.

Parameters
modeint

0: Day value interpreted as calendar day. 1: Day value interpreted as weekday.

dayint

Celendar day (1~31)/ Weekday (1~7).

hourint

hour (24-hour clock) (0~23).

minuteint

minute (0~59).

secondint

second (0~59).

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

Sys_stopRTCAlarm(timeout=3)

Stop alarming.

Parameters
timeoutint

Specify the time (sec) to wait before reporting a timeout error. The default is 3 s.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

async Sys_stopRTCAlarm_async()

Stop alarming with async mode.

Returns
statusint

Return 0 if executed successfully; return error code otherwise. See here for corresponding error messages.

close()

Close web device handle.

Parameters
verbose: bool, default: True

Whether to print out messages or not.

Returns
None
connect(ip_addr='192.168.1.110', port=7, verbose=True)

Connect handle to web device.

Parameters
ip_addrstr of 4 int separated by period.

IP network address of the WPC device to connect to.

portint, default: 7

TCP port.

verbose: bool, default: True

Whether to print out messages or not.

Returns
None
disconnect(verbose=True)

Disconnect handle from web device.

Parameters
verbose: bool, default: True

Whether to print out messages or not.

Returns
None