LitePlacer-rmod Updates

Covert
Posts: 79
Joined: Thu Jun 18, 2015 1:10 am

Re: LitePlacer-rmod Updates

Post by Covert »

thereza wrote:which fork are you using? i've not been able to get karl's stuff to compile yet. is he around?

i'm curious about the changes you've made...
rmod4 is the fork.

Changes of the top of my head..

2 click needle calibration using Blu-tack on the bed to record needle location. Make it quick to calibrate the needle after restart/neelde change. Very accurate.

1 Button Optical homing with Z home. I manual move the machine head when I'm about to start to the optical home location then press one button and the machine skips mech home and just optical homes, then mech homes the Z.

Tape length field added used for calibration. I have long tapes with 64 parts. These would be out of alignment by the time it got to the end of the tape. Now hole calibration takes into account the tape length and does start-middle-end.

More black tape camera options. So different black tapes for me would not work with a single black tape camera setting. So I have 5. Normal -1,-2,+1,+2.

Added if(_DEBUG) to most the comm logs. Once it gets a lot of data in there the machine slows down.

Changes to the part queuing code to run the queue quicker when its a skipped part.

Added a few comm connection checks in places to skip code if not connected to comm port to drastically reduce the message box errors.
s_sergiu
Posts: 10
Joined: Sun Dec 06, 2015 5:30 pm

Re: LitePlacer-rmod Updates

Post by s_sergiu »

Hello Covert,

Were we can get rmod4 source code?

Sergiu
mrandt
Posts: 407
Joined: Mon Apr 27, 2015 10:56 am
Location: Stuttgart, Germany

Re: LitePlacer-rmod Updates

Post by mrandt »

s_sergiu wrote:Were we can get rmod4 source code?
Yeah, I'd be interested as well. On GitHub, I only find Karl's fork and my own...

I would appreciate if others could share their modifications so we can improve the main repo to the benefit of everyone else!

If GitHub is the hold-up I am happy to help. I know it can be a bit daunting if you have not used git before... But believe me, it is very powerful and not too difficult once you get your head around the concepts. Just ping me...
Pixopax
Posts: 122
Joined: Tue Feb 02, 2016 4:16 pm

Re: LitePlacer-rmod Updates

Post by Pixopax »

Can anyone make clear which versions there are available now?

I know these:

jkuusama/LitePlacer-DEV
jkuusama/LitePlacer-ver2
jkuusama/LitePlacer-Release
Knaster/LitePlacer-ver2

What is the rmod4?
What are the differences?

I am a bit confused..

Also, is there a description on how to make an executable file from the code?
mrandt
Posts: 407
Joined: Mon Apr 27, 2015 10:56 am
Location: Stuttgart, Germany

Re: LitePlacer-rmod Updates

Post by mrandt »

I compiled Karl's latest version (https://github.com/Knaster/LitePlacer-v ... 84ac15da1f) of the Ver2 fork and put all the necessary files into a ZIP.

You may download the file from here - but just take this as a courtesy; no warranties that it works as expected and no support from my side:
https://tresor.it/s#ZTNkc6JkpY9jhv6VAJHoGw

To work with the sources and compile your own versions, you need to get Visual Studio Express from MS (free), install AForge libraries and a few other dependencies as described in the section "For developers" here:
http://www.liteplacer.com/downloads/

Karl's fork is based on thereza's fork being disucssed in this thread . Out of all versions publicly available I consider this the version with most features and least bugs. If you want to use pressure sensor for part-pickup detection, auto nozzle changer or feeders, you should give it a try.

If you however want Juha's support, stick to the official software available from liteplacer.com and announced on the forum.

In an attempt to shed some light onto the other versions Louis mentioned:
*jkuusama/LitePlacer-Release
Juha's "official" and supported LitePlacer software. This is the source of the releases on liteplacer.com

*jkuusama/LitePlacer-DEV
This is Juha's development version. It may contain new features but is not considered stable.

*jkuusama/LitePlacer-ver2
This is thereza's original fork. He hates git, thus there almost no commit history. Juha eventually put the sources there for others. This code is also known as rmod in the forum.

*Knaster/LitePlacer-ver2
Karl forked ver2 (rmod), fixed some bugs and added new functions. This is also the version which I compiled and linked above.

I know for a fact that there are several other people who are working on their own forks without sharing the code (or not yet sharing it).

@Covert Can we find your version anywhere?

IMHO the situation got really confusing and chaotic for existing and new LitePlacer users.

If everybody had focussed their skills and energy and collaborated on one version of the software rather than everyone dealing with their own private fork, we would probably have a very nice piece of software with most of the functionality from the various feature requests on the "wish list".

But this way, each and every version has their pros and cons, individual bugs and issues and none is complete and fully usable :-(

Some necessary functionality is not implemented (such as using bottom vision to compensate for part rotation / offset, placing finer pitched ICs, optically inspecting placed parts...).

Other functionality is redundant in each of the different forks.

Bugs fixed in one branch might still exist in others - but nobody really knows.

Just have a look at the GitHub issue trackers:
https://github.com/jkuusama/LitePlacer-DEV/issues
https://github.com/jkuusama/LitePlacer-ver2/issues

I am no C# expert so I cannot really contribute much - thus I obviously have no right to complain. Still, I want to point out the symptoms and problems I am seeing.

If we continue this way, we will end up with one supported version which Juha is mostly coding alone (with a few occasional contributions from customers) and which progresses slowly for understandable reasons.

At the same time, the many disconnected forks will mean redundant and often wasted effort. Some forks will have more or other functionality than the official version, some will be better than others, many will be tailored to individual needs.

Any new customer will get totally confused and frustrated once they decide to go looking for the various software options rather than just using Juha's official release.
dc37
Posts: 25
Joined: Thu Jan 14, 2016 6:37 pm

Re: LitePlacer-rmod Updates

Post by dc37 »

Suggestion - since we are using Git, we can do pull requests. This means that we can edit Juha's code on LitePlacer-DEV, and then ask him to merge it back in (perhaps, after we fork it, but don't just keep the fork kind of on its own branch). Or, depending on how generous he is, he may give people push access to the repository. This may be a first step in getting all of the different forks to reconcile with each other. All of the code was based off of some original version, anyways....

Many people working together on the same thing is likely to be better than singular people working on all different things. I am not an expert at C#, but I do have some coding experience and will try to help out if and when I have the time to do so.
Pixopax
Posts: 122
Joined: Tue Feb 02, 2016 4:16 pm

Re: LitePlacer-rmod Updates

Post by Pixopax »

Thank you very much for the helpful description, and the compiled version.
It also shows, that there is much work going in wrong ways.
There should be one stable version and one developer version. Thats it.

Juha should take the pull requests, but he surely will need help, as he cannot test everything by himself.
But that requires the coders to put their new functions to git. Which, by the way, really sucks...
mrandt
Posts: 407
Joined: Mon Apr 27, 2015 10:56 am
Location: Stuttgart, Germany

Re: LitePlacer-rmod Updates

Post by mrandt »

Pixopax wrote:Thank you very much for the helpful description, and the compiled version.
It also shows, that there is much work going in wrong ways.
There should be one stable version and one developer version. Thats it.
You're welcome. I agree, that something is going wrong.

But I don't care how many forks of LitePlacer exist, as long as the most valuable features make it back to the "offical" version.

And I absolutely dislike having separate repositories to differentiate stable and developer version. That is what branches, tags and releases are for!
Pixopax wrote:Juha should take the pull requests, but he surely will need help, as he cannot test everything by himself.
But that requires the coders to put their new functions to git.
Juha takes pull requests - I already contributed to the main repo. I also think that we would not have problems to find volunteers to test an "alpha" version.

But as you pointed out, that would require that people actually build and commit small and manageable changes without refactoring the complete architecture or introducing other breaking changes.
Pixopax wrote:[git...] Which, by the way, really sucks...
I'd say that everything of reasonable complexity sucks if one doesn't take the time to understand it... ;-P

Git has been used for decades by a gazillion of successful open source and closed source projects, long before GitHub offered its services to the world.

It is clearly geared towards distributed teams with heterogenous skills and interests.

IMHO its powerful distributed model is unrivaled. Especially the features around forks, branches, merging and rebasing are essential if you have to deal with many contributions.

Sure, SVN is simpler - but it only has a very limited subset of the functionality. While it works for small teams all working together and under clear guidance and control, it fails in setups like ours.

I would even go further and claim that none of the versioning systems with a centralized workflow is suitable for distributed open source developing.

I agree, there is a learning curve to git. But on the other hand, you will find lots and lots of good documentation and tutorials on git.

My recommendation of a good tutorial with many helpful diagrams:
https://www.atlassian.com/git/tutorials/

And if you want to understand the workflow in comparison to centralized or simple branch based repos, I recommend especially the following reading:
https://www.atlassian.com/git/tutorials ... -workflows

Long story short - I will put my suggestion for a development process into a separate thread so we can take the discussion there.
mrandt
Posts: 407
Joined: Mon Apr 27, 2015 10:56 am
Location: Stuttgart, Germany

Re: LitePlacer-rmod Updates

Post by mrandt »

I put my suggestion for a "how to contribute" workflow into this thread:
http://liteplacer.com/phpBB/viewtopic.p ... =268#p1785
ali
Posts: 6
Joined: Wed Jan 13, 2016 3:19 pm

Re: LitePlacer-rmod Updates

Post by ali »

Mrandt, thanks for compiling the latest version, any idea on how to change the HoleToPartY it is fixed to 3.5, I have some wide tapes.
Post Reply