myTonino/Tonino-App

Cannot connect to Tonino (windows)

r0bin-fr opened this issue · 6 comments

Hello,
I am using an Arduino Nano that is not standard, it does not uses FDTI USB adaptor, but a custom driver. I am running Windows 8.1. The device is recognized by Windows and creates a COM port successfully, and I was able to load the Tonino firmware. It works well !
Unfortunately the Tonino app cannot detect it.
On my computer, I tried to add a device in "avrdude.conf" but without success:
usbvid = 0x1A86;
usbpid = 0x7523;

Is there a way I can specify the PID / VID of my Arduino Nano to Tonino on Windows ?
Otherwise i guess i'll have to find a Linux...

Thanks & regards
Matthieu

You need to adapt serialport.py to your VID/PID ids

Thank you for the fast reply.
On my Tonino folder (in c:/ program files / tonino), i could not find any "serialport.py" file,
Do you mean i should download source code and recompile on my windows environment?

Oh yes, you have to change this in source

got it, i'll give it a try.
thanks!

hi, i was able to change the vid/pid directly on the source code, and recompile:
`

    def getSerialPorts(self):
    # we are looking for 
    #   Classic Tonino: VID 403(hex)/1027(dec) and PID 6001(hex)/24577(dec)
    #      Tiny Tonino: VID 403(hex)/1027(dec) and PID 6015(hex)/24597(dec)
    vid = 6790 # 0x1A86 (hex)
    # ClassicTonino model (0)
    classicToninoProduct = "VID_1A86\+PID_7523"
    classicToninoPID = 29987 # 7523 (hex)
    # TinyTonino model (1)
    tinyToninoProduct = "VID_1A86\+PID_7523"
    tinyToninoPID = 29987 # 7523 (hex)	

`

I managed to generate the new .exe file, but i still have my Nano not recognized.
Here is the windows driver information when USB is plugged:
https://ibb.co/J3rRWVJ

Would you have any clue on how to go further?
Thanks
Matthieu

Ok I fixed my issue.
For those that get similar problem, here is the workaroud:
launch python console on your PC
type:

>>> import serial.tools.list_ports
>>> print list(serial.tools.list_ports.comports())

this will print your com list as seen by pyserial, on my case:

[('COM3', 'Intel(R) Active Management Technology - SOL (COM3)', 'PCI\\VEN_8086&DEV_1E3D&SUBSYS_16ED10CF&REV_04\\3&11583659&0&B3'), 
('COM8', 'com0com - serial port emulator (COM8)', 'COM0COM\\PORT\\CNCA1'), 
('COM9', 'com0com - serial port emulator (COM9)', 'COM0COM\\PORT\\CNCB1'), 
('COM7', 'USB-SERIAL CH340 (COM7)', 'USB VID:PID=1A86:7523 SNR=6')]

now i know the part of string to search by serial.tools.list_ports.grep is "1A86:7523" (my device is on COM7, any part of this line string will match and return COM7)
i update serialport.py like this:

def getSerialPorts(self):
    # we are looking for 
    #   Classic Tonino: VID 403(hex)/1027(dec) and PID 6001(hex)/24577(dec)
    #      Tiny Tonino: VID 403(hex)/1027(dec) and PID 6015(hex)/24597(dec)
    vid = 6790 # 0x1A86 (hex)
    # ClassicTonino model (0)
    classicToninoProduct = "1A86:7523"
    classicToninoPID = 29987 # 7523 (hex)

recompile and... done, it's working :-)