evil-mad / robopaint

The software for your friendly painting robot kit!
126 stars 34 forks source link

Trouble starting on Windows XP #115

Closed oskay closed 10 years ago

oskay commented 10 years ago

As reported by Brian on the wcb-discuss mailing list: https://groups.google.com/d/topic/wcb-discuss/cpmuogkylLw/discussion

I downlaoded RoboPaint, installed it, and when I try to run it, it just sits 
at the "Starting Up..." screen forever. (like 20 minutes - then I closed it
because it obviously wasn't going anywhere)

I don't currently have my WCB connected to the laptop, but I don't
think that would cause this problem."
EmbeddedMan commented 10 years ago

So, the issue was fixed?

techninja commented 10 years ago

Well that was weird, no, didn't mean to do that. I blame AJAX! After work tonight I'll be able to look into this more and recompile it on XP. The latest version of robopaint this will be built on upgrades the version of node webkit and the JS serialport "driver" so hopefully good things will come of it.

EmbeddedMan commented 10 years ago

Cool! I didn't know you got a job again James - the last I heard you were out of work. Congrats! I hope it's something that you enjoy a lot-

*Brian

On Thu, Nov 21, 2013 at 1:28 PM, James T notifications@github.com wrote:

Well that was weird, no, didn't mean to do that. I blame AJAX! After work tonight I'll be able to look into this more and recompile it on XP. The latest version of robopaint this will be built on upgrades the version of node webkit and the JS serialport "driver" so hopefully good things will come of it.

— Reply to this email directly or view it on GitHubhttps://github.com/evil-mad/robopaint/issues/115#issuecomment-29015356 .

techninja commented 10 years ago

Thanks! I can't say it's something I enjoy a lot as it's freelancing and the hours can be torturous, but it's good work with lots of respect that builds my skills. Hopefully one day I can break free and be what I really always wanted.. a _lumberjack!_

lumberjack

techninja commented 10 years ago

Took a minute and grabbed Visual Studio 2010 express for XP, installed it and Node, then recompiled and built node-serialport (Yes, successfully, first time!). And I DO have confirmation that the EXE installer downloaded for the EBB silently fails to install the driver and you have to point windows to the driver dir and it'll grab the cab file and do the rest for you.

Next part: Running RoboPaint This does work, but.. getting 30 errors a second into the console. It's found the port and correctly identified it, but.. nothing is being received. Will debug more later and should have more answers.

techninja commented 10 years ago

proof!

And it's painting too. I'm now going to test to see if the XP compiled binaries are compatible with my Win 7 x64 machine, and if they are then I can make that the next build. If not, then I'm going to have to fork the windows build and make a _FOURTH_ release file just for XP :anguished:

techninja commented 10 years ago

Ok so... Good news and bad news:

The Good

There's nothing stopping RoboPaint from starting happily and running in Windows XP! I even have a _test only_ release of 0.6.5 for initial use, with caveat of course (see below).

The Bad

It has to use the latest release (1.2.5) of node-serialport, which is not well tested, and has problems with RoboPaint in windows. It's a real dual-edged sword that RoboPaint sits on such an active (and volatile) project at its core. Luckily if we can describe our problems well, their awesome team (including @giseburt) is sure to be able to help.

The Ugly

Assuming I had made all the right moves with the XP compiled interface, I launched into testing on Win7 x64, only to find that it's horribly broken. Either a bad command is sent, or the write buffer is filled too quickly, or some part of the serial on the EBB shuts down (unlikely), but on windows while doing certain specific movements, it just locks up and I have to completely disconnect the EBB from USB and power, and replug it back in.

Also some part of this new serialport code breaks the previously working windows USB serial disconnect detection. In fact the whole thing is just an unhappy mess and I don't think I can release the next version _at all_ without some serious assistance from the serialport guys.

oskay commented 10 years ago

I'm not sure that I follow all of this.

techninja commented 10 years ago

Intended to link to the 0.6.5 XP Test release here. This has the bug mentioned above, though might require testing to confirm. If run at low buffer latency values and lower speeds this may mitigate the issue.

EDIT: As an addendum, I do in fact plan on bugging their team or opening an issue ASAP, I just need a better handle on what the actual problem is.

EmbeddedMan commented 10 years ago

Youch. Can somebody someday explain to me why this ancient thing called a serial port is so damn hard to control properly in modern OSes? This would be a lot easier in DOS it sounds like.

I can confirm that your test build linked above works for me on my XP machine. *Brian On Fri, Nov 22, 2013 at 10:58 AM, James T notifications@github.com wrote: > Intended to link to the 0.6.5 XP Test release herehttp://robopaint.tn42.com/Install_RoboPaint-Win-v0.6.5_XP_TEST.exe. > This has the bug mentioned above, though might require testing to confirm. > If run at low buffer latency values and lower speeds this may mitigate the > issue. > - The need to switch to 1.2.5 comes from the fact that the previous > versions don't compile properly on XP (though there might be a version that > does somewhere in there). > - It seems that 90% of the recent commits to node-serialport have > to do with fixes for windows! And even though 1.2.5 is the latest release, > the difference between _it_ and their current dev is HUGEhttps://github.com/voodootikigod/node-serialport/compare/ad5589de...master > - I do think the Win7 issues are separate, but they're related. Also > with the current NW-0.8.0 version, it seems there is NO happily working > build on mainline windows. I've even thoroughly tested my experimental > buffer/queue only cncserver branch and anything that provides smooth > drawing output will eventually kill the serial connection and require a > forced restart of the EBB. > > — > Reply to this email directly or view it on GitHubhttps://github.com/evil-mad/robopaint/issues/115#issuecomment-29089147 > .
oskay commented 10 years ago

Is the "test build" a usable version?

techninja commented 10 years ago

It contains the same issue subtle yet critical currently blocking release for the next windows version, wherein during a print it will suddenly lose communication with the EBB and though the application continues to work, the board will not receive any more commands until the board power is reset and the application closed and reopened. I'd rather not call that a ready release.

I have discussed the issue with @giseburt and he said he'll be taking a look at the issues ASAP, and has already talked to the node-serialport core team and they suggest rolling back to 1.1 as there were LOADS of windows specific changes in the latest point releases. My current issue becomes that 1.1 refuses to compile on XP, though I'd imagine with some goading I can probably get it to work.

EmbeddedMan commented 10 years ago

It's probably worth it to issue a non-XP release to fix other folk's issues, and work on the XP problem for another future release. While there are people out there using XP, for your audience Win 8 is probably more important than XP.

*Brian

On Sun, Nov 24, 2013 at 3:07 PM, James T notifications@github.com wrote:

It contains the same issue subtle yet critical currently blocking release for the next windows version, wherein during a print it will suddenly lose communication with the EBB and though the application continues to work, the board will not receive any more commands until the board power is reset and the application closed and reopened. I'd rather not call that a ready release.

I have discussed the issue with @giseburt https://github.com/giseburtand he said he'll be taking a look at the issues ASAP, and has already talked to the node-serialport core team and they suggest rolling back to 1.1 as there were LOADS of windows specific changes in the latest point releases. My current issue becomes that 1.1 refuses to compile on XP, though I'd imagine with some goading I can probably get it to work.

— Reply to this email directly or view it on GitHubhttps://github.com/evil-mad/robopaint/issues/115#issuecomment-29166074 .

oskay commented 10 years ago

I agree. This is high priority, but the other is actually critical.

techninja commented 10 years ago

OS Stats Hmm... reasonably official stats claim XP coverage is still surprisingly high, if you go by those things of course. Honestly considering how niche the bot is at this point, we should just do an OS survey for current or soon to be bot users.

Good news is we've got ~50% of Win users covered (Vista, 7), and add Mac and Linux for an additional 10%!

techninja commented 10 years ago

_Breakthrough:_ Compiling node-serialport v1.1.3 works wonderfully on XP, and it behaves far far better, no sudden stops/EBB death, etc. This should also bring in full Win VIsta/7 compatibility for the NW 0.8.0 upgrade for RoboPaint 0.6.5

Will it work any better on Win8? Not a clue. Will attempt to cobble together a release momentarily for testing.

techninja commented 10 years ago

Turns out the upgrade to NW 0.8.0 is the killer for this working code, but so far, only on Win7. If I need to get the next release out before I get a fix for the lock up error on Win7, I'm going to have to point Win7+ users to the 0.6.4 version instead.

I've sent a new message out to @giseburt detailing my findings and hope to hear back soon.

oskay commented 10 years ago

Believed to be solved in release 0.7.0. Closing now; please re-open this issue if it re-appears.