thanks for your update,
this is explaining why I was successfully connecting from Arduino Serial0
but on teensy serial1 was in my setup
you are so right, this is not happening on ArduinoMega2560
I had a ArduinoMega laying araound, and test showed, original driver is working as expected on ArduinoMega
If you want to buy a Teensy go ahead, because it is worth to have one.
But as I know Teensy 3.5/3.6 is on the way (kickstarter.com)
my hardware setup is as per below;
OnStep (Teensy3.2) <=> FTDI Serial (ttyUSB0) <=> RaspberryPi2 <=> "indiserver indi_lx200_OnStep" <=> WiFi/Eth <=> Kstars on Win7 PC
as I said I have changed "lx200driver.cpp" source and now every time I am able to connect without any intervention
I just disable checking condition in "check_lx200_connection" function
//if (nbytes_read == 1)
I know I broke the driver mechanism, and is not working properly, but it worked for me now.
may be this will direct you how to fix it properly
Thank you Alain,
udev rule fixed the serial interface port assignment problem
but this was not my real problem, from beginning I was aware that port name is changing when replugged.
The problem is OnSTep/Indiserver can not handshake but can talk
not only occuring on UbuntuMate, I reproduced the same situation on Raspbian/Jessie
Now, my solution is power off and power on the OnStep hardware just after connecting from indiControl panel
By doing this I am disabling the handshaink process I think.
I will test this by changing check_lx200_connection(int in_fd) function
by the way I am checking indilib source file lx200driver.ccp
there is a function ; check_lx200_connection(int in_fd)
there is a loop in this fuction which is two times checking the connection;
for (i=0; i < 2; i++)
if (write(in_fd, ack, 1) < 0) return -1;
tty_read(in_fd, MountAlign, 1, LX200_TIMEOUT, &nbytes_read);
if (nbytes_read == 1)
DEBUGDEVICE(lx200Name, INDI::Logger::DBG_DEBUG, "Testing successful!");
I will check Onstep command.ino if it is fully compatible with this check conditions.
my usbconverter is FTDI based and shown as per below from lsusb output
Bus 001 Device 005: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
I have reproduce my problem with frehsly installed rasbian/jessie image.
But I found very odd situation accidentaly;
if I power-off and power-on the OnStep hardware just after pressing connect button from Indi control panel, now I am able to connecting everytime.
I can get the sites information which I uploaded before, and able to guide manually.
I don't know if this info guide you some point, but thaks again for this valueable plugin.
first of all, thank you so much your detailed answer.
My setup is as per you visualize
I've monitored the serial connection but, I only got "06"
I also tested the USB serial connection with minicom, and it is working as expected.
also checked the user group settings, my user account is under dialout group as you suggested.
It would be because of ubuntu mate image which I am using, I will try another OS to be sure.
every time USB adapter replugged, its tty name is changed accordinly, this is very annoying
I learned that there is a way to fix it playing with udev rules, but it took too much time for me by now.
I will feedback soon if I get any progress...
I have the exact problem as Ben
I am getting the message as below;
2016-08-26T19:14:46: Error connecting to Telescope. Telescope is offline.
2016-08-26T19:14:46: Failure. Telescope is not responding to ACK!
2016-08-26T19:14:36: Testing telescope connection using ACK...
I am using ALT_AZM mount, also I did the :Gc command fix.
After many connection attempt I got connection a couple of times, but no success after disconnect it.
I am using ubuntuMate on Raspberry Pi2, only indiserver working on this side, connecting via Kstars on PC
OnStep is working on Teensy 3.2, by the way OnStepESPServer and Android app is working fine