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 HIGHIn [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”, |