System get pin mode

 1'''
 2System_USB - get_pin_mode.py with synchronous mode.
 3
 4This example demonstrates how to get pin mode from USBDAQF1RD.
 5
 6First, get idle pin mode and show how to open DO and DI in pins.
 7Second, get idle pin mode and set port idle mode. Again, get pin mode.
 8Last, close DO and DI in port.
 9
10-------------------------------------------------------------------------------------
11Please change correct serial number or IP and port number BEFORE you run example code.
12
13For other examples please check:
14    https://github.com/WPC-Systems-Ltd/WPC_Python_driver_release/tree/main/examples
15See README.md file to get detailed usage of this example.
16
17Copyright (c) 2022-2025 WPC Systems Ltd. All rights reserved.
18'''
19
20## WPC
21from wpcsys import pywpc
22
23
24def main():
25    ## Get Python driver version
26    print(f'{pywpc.PKG_FULL_NAME} - Version {pywpc.__version__}')
27
28    ## Create device handle
29    dev = pywpc.USBDAQF1RD()
30
31    ## Connect to device
32    try:
33        dev.connect("default")  ## Depend on your device
34    except Exception as err:
35        pywpc.printGenericError(err)
36        ## Release device handle
37        dev.close()
38        return
39
40    try:
41        ## Parameters setting
42        port = None  ## Depend on your device
43        timeout = 3  ## [sec]
44
45        ## Get firmware model & version
46        driver_info = dev.Sys_getDriverInfo(timeout)
47        print("Firmware model:" + driver_info[0])
48        print("Firmware version:" + driver_info[-1])
49
50        ## Get pinmode from port 0 to port 3
51        for i in range(4):
52            ## Get pin mode
53            pin_mode = dev.Sys_getPinModeInPort(i, timeout)
54            print("pin_mode", pin_mode)
55    except Exception as err:
56        pywpc.printGenericError(err)
57
58    finally:
59        ## Disconnect USB device
60        dev.disconnect()
61
62        ## Release device handle
63        dev.close()
64
65
66if __name__ == '__main__':
67    main()