Help with new asyncio errors with Python on Rpi Zero. RVR

I was able to get the RVR examples to run fine on my Raspberry Pi with Rpi Zero. I wrote a Python app to use 4 ultrasonic sensors using the ultrasonic_rvr code as a basis. I tested initially with commented out RVR and async commands to make sure all sensors are working.

After uncommenting the RVR commands and running, I get allot a asyncio errors. I tried the keyboard control demo which worked before and now get same errors. Any help will be greatly appreciated. Below are the errors showing up:
----Start Errors Messages----
File “rvrbot_main.py”, line 22, in
loop
File “/home/pi/sphero-sdk-raspberrypi-python/sphero_sdk/asyncio/client/toys/sphero_rvr_async.py”, line 36, in ini t
self._check_rvr_fw()
File “/usr/lib/python3.5/asyncio/base_events.py”, line 466, in run_until_complete
return future.result()
File “/usr/lib/python3.5/asyncio/futures.py”, line 293, in result
raise self._exception
File “/usr/lib/python3.5/asyncio/tasks.py”, line 241, in _step
result = coro.throw(exc)
File “/home/pi/sphero-sdk-raspberrypi-python/sphero_sdk/asyncio/client/firmware/rvr_fw_check_async.py”, line 26, in _check_rvr_fw
rvr_nordic_version = await self.__rvr.get_main_application_version(target=SpheroRvrTargets.primary.value, timeout =3)
File “/home/pi/sphero-sdk-raspberrypi-python/sphero_sdk/asyncio/client/toys/sphero_rvr_async.py”, line 87, in get_m ain_application_version
return await self._dal.send_command(**command_dict)
File “/home/pi/sphero-sdk-raspberrypi-python/sphero_sdk/asyncio/client/dal/serial_async_dal.py”, line 78, in send_c ommand
timeout=timeout
File “/home/pi/sphero-sdk-raspberrypi-python/sphero_sdk/asyncio/server/handler/api_sphero_handler.py”, line 191, in send_command
await asyncio.shield(asyncio.wait_for(future, timeout=timeout))
File “/usr/lib/python3.5/asyncio/futures.py”, line 380, in iter
yield self # This tells Task to wait for completion.
File “/usr/lib/python3.5/asyncio/tasks.py”, line 304, in _wakeup
future.result()
File “/usr/lib/python3.5/asyncio/futures.py”, line 293, in result
raise self._exception
File “/usr/lib/python3.5/asyncio/tasks.py”, line 239, in _step
result = coro.send(None)
File “/usr/lib/python3.5/asyncio/tasks.py”, line 404, in wait_for
raise futures.TimeoutError()
concurrent.futures._base.TimeoutError
------End Errors--------

1 Like

The program “serial_async_dal.py” has the serial device to use hard coded in it. The zero probably uses a different device name.

Line–> def init(self, loop=None, port_id=’/dev/ttyS0’, baud=115200):

Mike

1 Like

Hi iseries1… thanks for the reply. The demo apps worked fine previously and recently do not run and give errors shown in my post. The Rpi Zero uses /dev/ttyS0 which I confirmed by checking the folder. Is there another way to confirm?

1 Like

Looks like the issue was the guy sitting in front of the screen. When I rewired the distance sensors and replugged in the TXO and RXI, I mistakenly connected the TXO from the RVR to the 5V on Rpi rather than the Rpi RXI. I am hoping this didn’t fry the RVR serial interface. After correcting the mistake I no longer get the previous errors, but now get a weird error that occurs in the ASWD control demo and my test app:
File “rvrbot_main.py”, line 65
async def main():
^
SyntaxError: invalid syntax

1 Like

Ok… after powering everything off again and powering back on, I tested the LED demo and it worked fine. I then tried the AWSD demo and my code. Both work now. Glad I didn’t fry something with my mistaken wiring.

2 Likes