MrYsLab / pymata-aio

This is the second generation PyMata client.
https://github.com/MrYsLab/pymata-aio/wiki
GNU Affero General Public License v3.0
155 stars 51 forks source link

Using analog inputs above A9 on Arduino Mega causes an exception #101

Closed MrYsLab closed 4 years ago

MrYsLab commented 4 years ago

On the Arduino Mega 2560, if Analog Input mode is being set for any analog pin greater than A9, an exception is generated.

Traceback (most recent call last):
File "C:/Users/Tim/PycharmProjects/thesis/pymata.py", line 16, in
board.set_pin_mode(10, Constants.ANALOG, my_callback)
File "C:\Users\Tim\PycharmProjects\thesis\venv\lib\site-packages\pymata_aio\pymata3.py", line 598, in set_pin_mode
self.loop.run_until_complete(task)
File "C:\Users\Tim\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_events.py", line 584, in run_until_complete
return future.result()
File "C:\Users\Tim\PycharmProjects\thesis\venv\lib\site-packages\pymata_aio\pymata_core.py", line 1186, in set_pin_mode
await self.enable_analog_reporting(pin_number)
File "C:\Users\Tim\PycharmProjects\thesis\venv\lib\site-packages\pymata_aio\pymata_core.py", line 722, in enable_analog_reporting
await self._send_command(command)
File "C:\Users\Tim\PycharmProjects\thesis\venv\lib\site-packages\pymata_aio\pymata_core.py", line 2035, in _send_command
result = await self.write(data)
File "C:\Users\Tim\PycharmProjects\thesis\venv\lib\site-packages\pymata_aio\pymata_serial.py", line 77, in write
result = self.my_serial.write(bytes([ord(data)]))
ValueError: bytes must be in range(0, 256)

Process finished with exit code 1
MrYsLab commented 4 years ago

Fixed with release v2.33