I try to use two routine I wants to be exectued in the same time continulsy, but Only the first one is running...
Where I am wrong ?
Code: Select all
async def screen(self):
Writer.set_textpos(ssd, 0, 0) # In case previous tests have altered it
wri = Writer(ssd, small, verbose=False)
wri.set_clip(False, False, False)
nfields = []
dy = small.height() + 6
y = 2
col = 50
width = wri.stringlen('990.99')
for txt in ('Press:', 'Y:', 'Z:'):
nfields.append(Label(wri, y, col, width, bdcolor=None)) # Draw border
y += dy
while True :
Label(wri, 2, 2, ' Press ', True)
Label(wri, 22, 2, ' Flow ', True)
Label(wri, 42, 2, ' Temp ', True)
i=0
for field in nfields:
value = (self.bmp.pressure-self.p0,self.sfm3000.Mes_flow(),self.bmp.temperature)
#print(value[i]) # print sensors values
field.value('{:5.2f}'.format(value[i]))
i=i+1
refresh(ssd)
utime.sleep_ms(200)
async def InvPress(self):
utime.sleep_ms(1000)
print('Sw2',self.SW2.value())
while True:
print(self.SW2.value())
if self.SW2.value():
if self.PressPos == 1:
self.stepper.steps(-1600,2600)
self.PressPos = not self.PressPos
else :
self.stepper.steps(+1600,2600)
self.PressPos = not self.PressPos
utime.sleep_ms(120)
async def main(self):
uasyncio.create_task(self.InvPress())
uasyncio.create_task(self.screen())
await uasyncio.sleep(10)