thearn/Python-Arduino-Command-API

Trouble with INPUT pin mode

LucasPa opened this issue · 2 comments

Hi,

Before explaining the issue I have with your project, let me express how great I find it ! It is doing exactly what I need, thank you !

However I had some troubles when using a pin mode as "INPUT". For instance when running the following simple example :

from Arduino import Arduino

board = Arduino('9600') #plugged in via USB, serial com at rate 9600
board.pinMode(5,"INPUT")
board.close()

everything runs fine. However, if I run this same code a second time I get the following output :

File "./TestArduino.py", line 23, in
board = Arduino('9600') #plugged in via USB, serial com at rate 9600
File "/usr/local/lib/python2.6/dist-packages/arduino_python-0.2-py2.6.egg/Arduino/arduino.py", line 106, in init
raise ValueError("Could not find port.")
ValueError: Could not find port.

But then it works again if I disconnect and reconnect the Arduino. Such an issue is not happening if I replace "INPUT" by "OUTPUT". The versions of Python and python-serial are respectively 2.6.5 and 2.7.

The issue I have is then not a major obstacle since I can just reconnect the Arduino board. But I was thinking that you may want to give this a look.

Lucas

UPDATE :

This issue is not happening when running with Python 2.7 !

Hi Lucas,
Glad you're enjoying the library!
Strange issue with rerunning codes in input mode. I'm out of town at the
moment, but I'll try and reproduce it & plan a fix when I get home. Thanks
for pointing it out!
-Tristan
On Dec 19, 2013 1:47 PM, "LucasPa" notifications@github.com wrote:

Hi,

Before explaining the issue I have with your project, let me express how
great I find it ! It is doing exactly what I need, thank you !

However I had some troubles when using a pin mode as "INPUT". For instance
when running the following simple example :

from Arduino import Arduino

board = Arduino('9600') #plugged in via USB, serial com at rate 9600
board.pinMode(5,"INPUT")
board.close()

everything runs fine. However, if I run this same code a second time I get
the following output :

File "./TestArduino.py", line 23, in
board = Arduino('9600') #plugged in via USB, serial com at rate 9600
File
"/usr/local/lib/python2.6/dist-packages/arduino_python-0.2-py2.6.egg/Arduino/arduino.py",
line 106, in init
raise ValueError("Could not find port.")
ValueError: Could not find port.

But then it works again if I disconnect and reconnect the Arduino. Such an
issue is not happening if I replace "INPUT" by "OUTPUT". The versions of
Python and python-serial are respectively 2.6.5 and 2.7.

The issue I have is then not a major obstacle since I can just reconnect
the Arduino board. But I was thinking that you may want to give this a look.

Lucas


Reply to this email directly or view it on GitHubhttps://github.com//issues/9
.

import Arduino
b = Arduino.Arduino("9600")
Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python2.7/dist-packages/Arduino/arduino.py", line 106, in init
raise ValueError("Could not find port.")
ValueError: Could not find port.