thunderbug1 / Spherebot-Host-GUI

Qt based GUI to control the spherebot
54 stars 60 forks source link

Baud Rate #15

Closed nischelwitzer closed 9 years ago

nischelwitzer commented 10 years ago

hi,

cool software. i am using the version 1.0 with my own arduino firmware and it worked very stable. i only saw, that it gets slower when i am printing large files like https://www.youtube.com/watch?v=w9bWNYjibds

now i tried to use your new version 2.0 but you are using 256000 as baud rate. it seems, that this is hardcoded in you spherebot.cpp

//we set the port properties port->setBaudRate(256000);//modify the port settings on your own port->setFlowControl(QSerialPort::NoFlowControl); port->setParity(QSerialPort::NoParity); port->setDataBits(QSerialPort::Data8); port->setStopBits(QSerialPort::OneStop); port_connected = true;

i can not even turn this baud rate on my windows computer (see attachmend). screenshot098

is it only possible to change the baud rate if i recompile the software?

thanks, alex

JamesT42 commented 10 years ago

Hi! Already mentioned here: https://github.com/thunderbug1/Spherebot-Host-GUI/issues/5 But you do not have to set the baudrate like in your screenshot, that ist just for really old programs that do not set the baudrate by themselves. So you only have to use the right program, if you want to use something else than the GUI, just change it in the Arduino programm, compile and upload again and that's it!

nischelwitzer commented 10 years ago

hi,

it is strange. i have already changed it in the arduino firmware and the basic controls (rotating and moving) over the interface is working quite fine. but when it tried to send a file it is not working. also i do not see the "welcome message" what my arduino firmware sends back in version 2.0.

in version 1.0 everything works fine. have you changed something in your "handshake" protocol from version 1 to 2?

JamesT42 commented 10 years ago

If you use the new GUI version you have to leave the baudrate in arduino at the 256000 setting, at least until thunderbug1 integrates a option in the GUI

thunderbug1 commented 10 years ago

It may well be that from 1.0 to 2.0 something broke. Version 2 now uses a completely different serial port library. The reason why 1.0 is slow when sending large files is that the communication with the old version is polling based and not event base. I tried to fix that with 2.0.

Regarding the Baud rate: with 256000 baud and the crystal frequenzy of the arduino it is theoretically possible to communicate without a systematical error. With most of the other frequencies you get a systematic error because the communication frequency can´t be generated exactly out of the crystal clock. That was the reason why I chose the 256000 baudrate.