Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some fixes for Windows 10 and support for Firmata firmware #27

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

doerrie
Copy link

@doerrie doerrie commented Feb 3, 2017

I wanted to let you know that I've forked your anyio repository and made a few changes that I hope you will consider incorporating into your official repository.

I had a lot of trouble getting everything to work with a SparkFun ProMicro in Windows 10. The drivers have changed and so have the Arduino libraries. I needed to update the embedded PySerial to version 3.2.1 for the system to function.

For some reason, my machine is line-buffering the serial device. This caused the first command to be interpreted, but the system would lock up after. The firmware was waiting for a second byte while the system was waiting for the buffer to flush. To fix this, I reworked the Arduino sketch to consume all available bytes rather than wait.

I also added another anyio GPIO device type for using PyMata with the Firmata firmware. I know the RaspberryPi doesn't have analog GPIO pins, but kids can do a lot with them on an Arduino. I wanted to allow kids to graduate to using analog inputs with PyMata while maintaining compatibility with their anyio programs. This driver will also work with an Arduino plugged into a RaspberryPi, potentially via one of the RPi UART HATs.

I'm planning to deploy from my repo using Firmata, but you probably want to change the default firmware back to 'arduino' in the GPIO redirection module.

Thanks for the great book and getting kids interested in software.

Updated embedded PySerial to version 3.2.1 for compatibility.
Refactored Arduino firmware to process serial bytes whenever available to avoid line-buffering errors in recent drivers.
Please use signed drivers from https://github.com/sparkfun/Arduino_Boards
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant