cocktailyogi / EggDuino

Arduino Firmware for Spherebot / Eggbot integration in Inkscape
MIT License
91 stars 139 forks source link

Failed to connect to EggBot.:( #14

Open ghost opened 8 years ago

ghost commented 8 years ago

I use an Arduino Uno & Linux 15.10. The fact is that the ebb_serial.py script is looking for a serial port which is named 'EiBotBoard'. But with an Arduino, my port is named 'Arduino Uno'. To solve this, i've replaced if port[1].startswith("EiBotBoard"): by if port[1].startswith("Arduino Uno"): in egg_serial.py

Kyoday commented 8 years ago

Hi.. can you send me a modified firmware? changing only this code not work :( .. thanks

ronnylulu commented 7 years ago

Hi, I also have problems to connect to the eggbot. I managed to modify the ebb_serial.py with the openPort function. But now i am getting other erros like: "Error reading serial data." "Failed after command: SC,4,19200"

pelted commented 7 years ago

Any ideas on getting this to work in 2017? Using Version 2.7.1 of the extension, and sending the v command through the Arduino console sends back: (as expected)

EBBv13_and_above Protocol emulated by Eggduino-Firmware V1.x

But all I get in the Inkscape extension is:

Failed to connect to EggBot. :(

This is the relevant part of ebb_serial.py:

def findPort():
    #Find a single EiBotBoard connected to a USB port.
    try:
        from serial.tools.list_ports import comports
    except ImportError:
        comports = None
        return None
    if comports:
        comPortsList = list(comports())
        EBBport = "/dev/cu.usbmodem1411"
        # for port in comPortsList:
        #   if port[1].startswith("EiBotBoard"):
        #       EBBport = port[0]   #Success; EBB found by name match.
        #       break   #stop searching-- we are done.
        # if EBBport is None:
        #   for port in comPortsList:
        #       if port[2].startswith("USB VID:PID=04D8:FD92"):
        #           EBBport = port[0] #Success; EBB found by VID/PID match.
        #           break   #stop searching-- we are done.
        return EBBport

I set the EBBport based on: (Mac btw)

> ls /dev/{tty,cu}.*

/dev/cu.Bluetooth-Incoming-Port  /dev/cu.usbmodem1411             /dev/tty.lpss-serial2
/dev/cu.lpss-serial1             /dev/tty.Bluetooth-Incoming-Port /dev/tty.usbmodem1411
/dev/cu.lpss-serial2             /dev/tty.lpss-serial1

Arduino IDE connects successfully at /dev/cu.usbmodem1411, but I've also tried the tty port as well. Not sure what else to try.

pawelskr commented 7 years ago

Hi pelted, Are you sure, that you have disabled autorestart? If not - in case of Arduino Uno you can do it by simply adding 10uF capacitor between Restart and GND pin (Ofc after flashing). Good luck!

pelted commented 7 years ago

@pawelskr Umm, the auto restart is something I did not do. After I posted this I was able to get to a point where I could get Inkscape to connect by increasing the timeout slightly. There seemed to be an issue with communicating that led me down that route. But then I hit a wall with badly stuttering stepper motors that I still have not resolved. Wording some capacitors now and will see if disabling the auto restart will resolve the servo and stepper issues I'm having.

R4C3R commented 7 years ago

@pawelski: shouldn't be the 10uF capacitor between 5v and reset? That is what it said here: https://github.com/bartebor/eggbot_extensions and works for me. I had the problem that the eggduino seemed to be listening, sending "v" via the arduino ide serial monitor returned "EBBv13_and_above Protocol emulated by Eggduino-Firmware V1.6a" but at that same time the servo made a little move and the Eggbot extension gave the message that it couldn't find the Eggbot. After I inserted the 10uF capacitor between 5v and reset the problem was solved. The command "v" from the arduino ide serial monitor still returns "EBBv13_and_above Protocol emulated by Eggduino-Firmware V1.6a" but the servo doesn't make a small move anymore with every request and the Eggbot extension seems to work :)

pawelskr commented 7 years ago

Hmm... I have put the capacitor between RESET and GND and it worked as well :)

mitch-wiki commented 7 years ago

I am also receiving Failed to connect to Eggbot. :(

using Ardunio Uno. Tried capacitor between 5v and reset, reset and ground, out.

Thoughts?

R4C3R commented 7 years ago

Did you amend the inkscape extention to have it look for the arduino instead of the official Eggbot?

If not, which version of the Eggbot extention do you use & what platform (linux, windows, mac)?

Op za 8 apr. 2017 om 04:18 schreef mitch-wiki notifications@github.com

I am also receiving Failed to connect to Eggbot. :(

using Ardunio Uno. Tried capacitor between 5v and reset, reset and ground, out.

Thoughts?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cocktailyogi/EggDuino/issues/14#issuecomment-292688356, or mute the thread https://github.com/notifications/unsubscribe-auth/AGkvQzWgnUjW7AYmpFRUFmrh5wBKD_5Pks5rtu5wgaJpZM4HesFC .

-- Rolf Bakker Lerchenweg 14 56075 Koblenz Deutschland

m: +4915755211456 @: rolf.bakker.70@gmail.com

EggFrickler2017 commented 7 years ago

Hi. Same problem here. "Failed to connect to Eggbot. :(" Linux Mint 18.1 and Windows 7 Home Premium 32Bit. Arduino Uno, CNC Shield V3.0, Hardware = Spherebot. Inkscape 0.91, All I can find about Eggduino Eggbot etc. Nothing works for me. Trying until 4-5 Weeks. Is one of the Programmer give me an Example that it is functioning? I dont mind. Its only to steel Time from the People... Very frustrating that people are so bad and dull to make such a projekt and dont try it out. Greetz from Germany

Hengy commented 6 years ago

If anyone is till having trouble with this, I fixed it by editing eggbot_scanwin32.py, in the function findEiBotBoards(), the line with the USB VID and PID. I used the values of my Arduino, copied from device manager. NOTE: if there is a "&MI_xx" part on the end (in device manager), you need to include it in the python file! I'm not sure what it is, but when I went into the registry (which the python code looks at), it also includes the "&MI_xx" part.

c2sandu commented 5 years ago

In Linux, I fixed it by changing eggbot_scanlinux.py, I changed this line: with os.popen( 'fgrep -l EiBotBoard %s//product' % USB_DEVICE_TREE ) as pipe: to this: with os.popen( 'fgrep -l 2341 %s//idVendor' % USB_DEVICE_TREE ) as pipe: 2341 is the idVendor of my Arduino Uno. Also, make sure the port is not used by other programs. In my case, Arduino serial monitor used the port and, even after the above changes, I still received "Failed to connect to Eggbot. :(". After quitting serial monitor it worked fine. Right now Inkscape seems to communicate with Arduino, but motors don't move at all. Hope to fix it eventually.