expyriment.io.ParallelPort¶
- 
class expyriment.io.ParallelPort(address, reverse=False)¶
- A class implementing a parallel port input and output. - Notes - CAUTION: On Windows, one of the following parallel port drivers needs to be installed: ‘inpout32’ (http://www.highrez.co.uk/Downloads/InpOut32/) or ‘dlportio’ (http://real.kiev.ua/2010/11/29/dlportio-and-32-bit-windows/). On Linux, the Python package ‘PyParallel’ (http://pyserial.sourceforge.net/pyparallel.html) has to be installed. - 
__init__(address, reverse=False)¶
- Create a parallel port input and output. - Parameters: - address : hex or str - The address of the port to use. - reverse : bool - Whether the port should be in reverse mode (default=False). Reverse mode enables to read from the data pins. - Notes - On Windows, common port addresses are: - LPT1 = 0x0378 or 0x03BC LPT2 = 0x0278 or 0x0378 LPT3 = 0x0278 - On Linux, port addresses are in the following format: - /dev/parport0 
 - 
address¶
- Getter for address. 
 - 
clear()¶
- Clear the parallel port. - Dummy method required for port interfaces (see e.g. ButtonBox) 
 - 
static get_available_ports()¶
- Return an array of strings representing available parallel ports. - Returns: - ports : list - array of strings representing the available parallel ports - Notes - This method does only work on Linux. 
 - 
static get_driver()¶
- Return the driver used for interacting with parallel ports. - On Windows, one of the following parallel port drivers needs to be installed: ‘input32’ (http://www.highrez.co.uk/Downloads/InpOut32/) or ‘dlportio’ (http://real.kiev.ua/2010/11/29/dlportio-and-32-bit-windows/). On Linux, the Python package ‘PyParallel’ (http://pyserial.sourceforge.net/pyparallel.html) has to be installed. 
 - 
has_input_history¶
- Returns always False, because ParallelPort has no input history. 
 - 
logging¶
- Getter for logging. 
 - 
parallel¶
- Getter for parallel 
 - 
poll()¶
- Poll the parallel port. - This will read the status pins (11, 10, 12, 13, 15), the data pins (2-9), and control pins (1, 14, 16, 17). - The received data is encoded in 17 bits, corresponding to the 17 pins: - Pin: 17 16 14 1 9 8 7 6 5 | | | | | | | | | Bit: 65536 32768 16384 8192 4096 2048 1024 512 256 Pin: 4 3 2 11 10 12 13 15 | | | | | | | | Bit: 128 64 32 16 8 4 2 1 - Returns: - data : int (0-65535) - The value of all input pins. 
 - 
read_control()¶
- Read data from the control pins. - Reads control pins 1, 14, 16, 17. - The received data is encoded in 4 bits, corresponding to the 4 pins: - Pin: 17 16 14 1 | | | | Bit: 8 4 2 1 - Returns: - data : int (0-15) - The value of the control pins. 
 - 
read_data()¶
- Read the data pins. - Reads the data pins (2-9) on the parallel port. - The received data is encoded in 8 bits, corresponding to the 8 pins::
- Pin: 9 7 6 5 4 3 2 1
- | | | | | | |
 - Bit: 128 64 32 16 8 4 2 1 
 
 - 
read_pin(pin)¶
- Determine whether an input pin is set high(True) or low(False). - Parameters: - pin : int - The number of the input pin to read (2-13 and 15) - Returns: - set : bool - Whether the pin is set high(True) or low(False) 
 - 
read_status()¶
- Read data from the status pins. - Reads all status pins (10, 11, 12, 13, 15). - The received data is encoded in 5 bits, corresponding to the 5 pins: - Pin: 11 10 12 13 15 | | | | | Bit: 16 8 4 2 1 - Returns: - data : int (0-31) - The value of the status pins. 
 - 
reverse¶
- Getter for reverse. 
 - 
send(data)¶
- Send data via all output pins. - Sets the data pins (2-9) and the control pins (1, 14, 16, 17) on the parallel port. - The data is encoded in 12 bits, corresponding to the 12 pins: - Pin: 17 16 14 1 9 8 7 6 5 4 3 2 | | | | | | | | | | | | Bit: 2048 1024 512 256 128 64 32 16 8 4 2 1 - Parameters: - data : int (0-2047) - The data to be send via the output pins. 
 - 
set_control(data)¶
- Send data via control pins. - Sets the control pins (1, 14, 16, 17) on the parallel port. - The data is encoded in 8 bits, corresponding to the 4 pins: - Pin: 17 16 14 1 | | | | Bit: 8 4 2 1 - Parameters: - data : int (0-15) - The data to be send via the control pins. 
 - 
set_data(data)¶
- Send data via data pins. - Sets the data pins (2-9) on the parallel port. - The data is encoded in 8 bits, corresponding to the 8 pins: - Pin: 9 7 6 5 4 3 2 1 | | | | | | | | Bit: 128 64 32 16 8 4 2 1 - Parameters: - data : int (0-255) - The data to be send via the data pins. 
 - 
set_logging(onoff)¶
- Set logging of this object on or off - Parameters: - onoff : bool - set logging on (True) or off (False) - Notes - See also design.experiment.set_log_level fur further information about event logging. 
 - 
set_pin(pin, state)¶
- Set a desired output pin to be high(True) or low(False). - Parameters: - pin : int - The number of the output pin to set (2-9). - state : bool - Whether the pin is to be set high(True) or low(False). 
 
-