Skip to content

Digital I/O, Timing

Set and Sense Logic Levels

Set/Sense logic levels on digital pins SQ1, SQ2, OD1, SEN*, IN2

set_state : set a digital pin to HIGH (5V) /LOW (0V)

parameter description
**kwargs
SQR1, SQR2, OD1 = False(LOW) or True( HIGH)

Set SQ1 output to 5V, OD1 to 0V

import eyes17.eyes
p = eyes17.eyes.open()
p.set_state(SQR1=True, OD1=False)

get_states : get logic levels on digital input pins

p.get_states()

Returns description
dict
{‘IN2’: T/F, ‘SQR1’: T/F, ‘OD1’: T/F, ‘SEN’: T/F, ‘SQR1_OUT’: T/F}

Measure state of IN2

import eyes17.eyes
p = eyes17.eyes.open()
states = p.get_states()
print(f" IN2 is {'HIGH' if states['IN2'] else 'LOW'}")
Output for the above

In [1]: import eyes17.eyes
   …: p = eyes17.eyes.open()
   …: states = p.get_states()
   …: print(f" IN2 is {'HIGH' if states['IN2'] else 'LOW'}")
 IN2 is HIGH

In [2]: states Out[2]: {'IN2': True, 'SQR1': False, 'OD1': False, 'SEN': True, 'SQR1_OUT': False, 'OD1_OUT': False, 'CCS': False}

In [3]:

get_state : get logic level on any digital input pin

p.get_state(channel)

Parameter description
channel ‘IN2’ , ‘OD1’, or ‘SEN’
Returns
bool True/False
Example

In [3]: p.get_state('SEN')
Out[3]: True

Measure Frequencies and time periods

get_freq :

Frequency measurement on IN2/SEN Measures time taken for 4 rising edges of input signal.

parameter description
channel The input to measure frequency from ‘SEN’ / ‘IN2’
return freq in Hz. 0 if timed out
p.get_freq('IN2')

Undocumented yet.

,MeasureInterval, ,timing measurements for digital signals on IN2 or SEN,
,MeasureMultipleDigitalEdges, ,timing measurements for digital signals on IN2 or SEN,
,SinglePinEdges, ,timing measurements for digital signals on IN2 or SEN,
,DoublePinEdges, ,timing measurements for digital signals on IN2 or SEN,
,stepper_move, ,Stepper motor movement,
,stepper_forward, ,Stepper motor movement,
,stepper_reverse, ,Stepper motor movement,
,set_multiplexer, ,Set CS1-4 to control analog multiplexers . Only on SEElab3,
,duty_cycle, ,measure duty cycle on IN2,
,r2rtime, ,Timing measurements on IN2/SEN. Rising Edge to Rising edge,
,f2ftime, ,Timing measurements on IN2/SEN. Falling Edge to Falling edge,
,r2ftime, ,Timing measurements on IN2/SEN. ,
,f2rtime, ,Timing measurements on IN2/SEN. ,
,multi_r2rtime, ,Timing measurements on IN2/SEN. Multiple rising edges. ,
,set2rtime, ,”Enable an output such as OD1/SQ1, and then measure time to a rising edge on IN2/SEN”,
,set2ftime, ,”Enable an output such as OD1/SQ1, and then measure time to a falling edge”,
,clr2rtime, ,”Turn off an output such as OD1/SQ1, and then measure time to a rising edge on IN2/SEN”,
,clr2ftime, ,”Turn off an output such as OD1/SQ1, and then measure time to a falling edge”,