New AutoLeveller (AL8 sneak peek)

Discuss all things

Moderator: Country_Bubba

daedelus
Site Admin
Posts: 387
Joined: Tue Oct 01, 2013 1:41 pm
Location: London, UK
Contact:

New AutoLeveller (AL8 sneak peek)

Post by daedelus »

OK, If you have been wondering what's happening with AL here is a sneak peek at the new software I have been working on. Please note that nothing in the UI or any plans are final and everything can and will change. It is not a complete package which is why I have not made it available for download yet. What I am looking for is some general feedback on the current design and plans, what do you like and what don't you like?

Design Decisions

I have completely rewritten AL from the start because there were a few decisions I made with the original that I was never completely happy with. Plus I wanted to use the new features which are now available and are radically different to the previous way of coding. These new features include the Functional Programming style and related additions in Java 8 such as lambda expressions. The new JavaFX 8 UI allows me to easily separate concerns from the behaviour, layout and style, which is a lot better than the old Swing way in the previous AL where everything is dumped in together making changes difficult.

Since there are a lot of 8's here, the new AutoLeveller will be called AutoLeveller 8 or just AL8 for short.

Progress

Current progress has been slow because I seriously underestimated the time it took to learn the new tools and techniques. Despite its humble looks there is already a hefty amount of code behind it.
Anyway, I wont bore you with coding decisions such as continuous integration server choices, lambda expressions etc. but if you are interested I would be happy to go into more detail. This is how AL8 looks so far...
basics.PNG
I have separated the groups of options into tabs with just 2 tabs so far This is the 'Basics' tabs where the more essential options are displayed. These are probably quite familiar to you from the current AL and this tab will probably include a few more options in the future. The status bar at the bottom dynamically updates as options are chosen and is below the tab pane, so you will always know the current state of your choices no matter which tab you are on. And yes, 'profiles' are still planned so you can quickly switch between different groups of options for different jobs.

Lets say you select your gcode file by clicking 'browse'. The status bar changes to reflect the gcode design and you click the 'Mesh' tab...
offset mesh.PNG
Now we have the familiar probe options as well as a 'visualiser' so you can see how much of the gcode design is covered by the probing. Each dot shows the positions of the probe points and the status bar tells us there are a total of 150 points. The size and position of the probe area will be set whenever the gcode file is chosen as with the current AL but I just typed some changes to show what's possible. Normally the probe area would be an exact fit for the gcode design as shown here...
meshview.PNG
Now the probe mesh is the same size as the design area. Notice also that the probe spacing is changed from the default 10mm to 5mm. A smaller spacing gives a more accurate result but results in more points. 5mm is probably overkill and I personally would opt to keep the total number of points less than 100. Experiment with the different settings.

AL8 Future

Eventually AL8 will replace AL and work will and is only being done on AL8. I plan to release a cut-down free version of AL8 as well as a member version as is currently offered for AL. The code will also be open-source so feel free to make any customisations you need.

Any feedback or questions on this will be gratefully received :)
http://www.autoleveller.co.uk/. Software to probe and adjust a GCode file for PCB's or any probe-able surface.

http://www.autoleveller.co.uk/cnc-probe-guide/. A short guide to setting up the probe.

-James
User avatar
Country_Bubba
Posts: 124
Joined: Wed Oct 02, 2013 3:07 pm
Location: LaGrange, GA USA
Contact:

Re: New AutoLeveller (AL8 sneak peek)

Post by Country_Bubba »

OK, now I know why you have been so quiet! :lol:

Looking good so far and hope it fulfills all your expectations and no bugs.

Looking forward to trying it.
Art
Country Bubba
daedelus
Site Admin
Posts: 387
Joined: Tue Oct 01, 2013 1:41 pm
Location: London, UK
Contact:

Re: New AutoLeveller (AL8 sneak peek)

Post by daedelus »

Cheers Art, so far, so good :)

I still have a bit of coding to do and I plan to do some fairly comprehensive testing with different control software in both inches and mm.

Apparently I am terrible at predicting how long things will take, but I will keep everyone informed of progress here.
http://www.autoleveller.co.uk/. Software to probe and adjust a GCode file for PCB's or any probe-able surface.

http://www.autoleveller.co.uk/cnc-probe-guide/. A short guide to setting up the probe.

-James
daedelus
Site Admin
Posts: 387
Joined: Tue Oct 01, 2013 1:41 pm
Location: London, UK
Contact:

Re: New AutoLeveller (AL8 sneak peek)

Post by daedelus »

Quick update...

A lot of the recent changes regard more technical non-visual aspects of AL8 so I cant show you these changes in screenshots. However, I can show the changes made to the interface where you can see the font and buttons differ from before:
new style al8.PNG
new style al8 MESH.PNG
Its not hugely exciting I know but is just to keep you up to date with progress on this.

The interface is not final but the good thing with using JavaFX is it makes changing every aspect of the layout and style very easy.
http://www.autoleveller.co.uk/. Software to probe and adjust a GCode file for PCB's or any probe-able surface.

http://www.autoleveller.co.uk/cnc-probe-guide/. A short guide to setting up the probe.

-James
fkahhaleh
Posts: 1
Joined: Sun Aug 16, 2015 3:33 am

Re: New AutoLeveller (AL8 sneak peek)

Post by fkahhaleh »

Great work!
And I am sure a lot of the tinkerers and enthusiasts appreciate you keeping this open-source.

Fadi
daedelus
Site Admin
Posts: 387
Joined: Tue Oct 01, 2013 1:41 pm
Location: London, UK
Contact:

Re: New AutoLeveller (AL8 sneak peek)

Post by daedelus »

Not much to show here but I thought I should give a quick update anyway since its been a while.

Well I am still working on it (in particular reading and writing gcode files). This involves reading the file line by line, segmenting the lines in order to level at regular points, the actual leveling (adjustment of Z) and all that involves; and finally writing the leveled lines to a file. The process used here should be far more robust than the current AL (not that the current version is bad) and is important to get right.

Its looking good so far and I am looking forward to extending it further with the ideas I have in mind :)
http://www.autoleveller.co.uk/. Software to probe and adjust a GCode file for PCB's or any probe-able surface.

http://www.autoleveller.co.uk/cnc-probe-guide/. A short guide to setting up the probe.

-James
daedelus
Site Admin
Posts: 387
Joined: Tue Oct 01, 2013 1:41 pm
Location: London, UK
Contact:

Re: New AutoLeveller (AL8 sneak peek)

Post by daedelus »

As you may or may not have seen, myself and Art have been battling a lot of spammers on these forums lately. There was a sudden wave of spam recently here for some reason but I think (touch wood) we are on top of it now.

Time for another update I think.

Sorry for the delay but I am still working as much as possible on this. There are a few reasons as to why its taking a while and the main ones are...
  • I currently have other work commitments which need a fair bit of attention which obviously eats into AL8 time.
  • When I first started AL8 I thought it would be a quicker job than it has been and forgot how much work had gone into the original AL. I was very naive in this respect.
  • I am too much of a perfectionist sometimes and am constantly making changes and improvements to my code (the software engineering word for this is 'Refactoring') which slows development a bit. I am not saying my code is perfect but these changes enhance quality a lot and in my view are necessary. There are now a lot of additions to the code and project including, javadoc for methods and classes, CI services, Agile planning techniques etc. which were not in the original AL. All of which improve quality and maintainability and also should make it easier for myself and other developers to make necessary changes in the future.
That being said, I have made some good progress today and have attached a very crude, simple overview UML diagram to this post showing how gcode lines from files are processed. Essentially all the 'GCodeProcessor' classes process each line of gcode and pass the results to another GCodeProcessor at the end, in a sort of cut down version of a decorator design pattern.

So the GCodeReader reads each line of the file one by one and passes them to the SegmentorProcessor, which segments lines into smaller pieces in preparation for levelling. The SegmentorProcessor then passes these processed lines to the LevellerProcessor to be levelled and the results of these processed lines are passed to WriterProcessor to be written to a final file which can then be taken to your CNC machine.

The whole process is quite elegant even if I say so myself :D and allows for some very easy modifications and maintenance.

I realise some of this is software type waffle that is not very interesting to most but it is useful to document it for myself if no-one else :)
GCodeReader.jpg
http://www.autoleveller.co.uk/. Software to probe and adjust a GCode file for PCB's or any probe-able surface.

http://www.autoleveller.co.uk/cnc-probe-guide/. A short guide to setting up the probe.

-James
User avatar
Country_Bubba
Posts: 124
Joined: Wed Oct 02, 2013 3:07 pm
Location: LaGrange, GA USA
Contact:

Re: New AutoLeveller (AL8 sneak peek)

Post by Country_Bubba »

Hey, glad to see its you on line :lol:
Got the notification of a new post and my first thought was "Oh no, the no spam streak for the weekend has ended".

Anyhow, this is great news and I am sure you will have a good product shortly. :ugeek:
Art
Country Bubba
daedelus
Site Admin
Posts: 387
Joined: Tue Oct 01, 2013 1:41 pm
Location: London, UK
Contact:

Re: New AutoLeveller (AL8 sneak peek)

Post by daedelus »

Sorry for the lack of updates but I do have a bit of information today.

I have pretty much finished the the main bulk of the coding and all going to plan will post the new AL8 very shortly.

I do plan some late testing on my CNC machine but if there are no hiccups, I should be able release it to members soon. :)

Please note, there may be a few issues and omissions but this is a very early version and so far it seems very stable. This early version is also intended to eventually replace the free version of AL and as such it will not be quite as advanced as the member version of AL, at least not yet.

Hopefully you will like the changes though and this serves as a good foundation to build in some exiting ideas. :)
http://www.autoleveller.co.uk/. Software to probe and adjust a GCode file for PCB's or any probe-able surface.

http://www.autoleveller.co.uk/cnc-probe-guide/. A short guide to setting up the probe.

-James
daedelus
Site Admin
Posts: 387
Joined: Tue Oct 01, 2013 1:41 pm
Location: London, UK
Contact:

Re: New AutoLeveller (AL8 sneak peek)

Post by daedelus »

At the weekend I created a test etch pattern and used it for testing AL8. Here are the results:

In mm to a depth of 0.1mm
testpatternmm.jpg
In inches to a depth of 0.0039"
testpatternin.jpg
The inch version came out pretty much perfect whereas the mm version touched but didnt fully break through the copper around the lettering (could be for a number of reasons, such as the board was not held down tightly enough or the surface was not clean enough). In both cases a v-shaped 0.2mm 60deg. bit and LinuxCNC was used and although the results were impressive and very consistent at that depth, it does show that levelling is not full-proof and it still pays to prepare and experiment a bit. By the way, the algorithm used for levelling is the same algorithm used in the original AL.

I designed the test pattern to cover a relatively large area whilst still being quick to etch multiple times. So the lettering is a single line engraving font for example rather than the more time consuming pocketed letters. If anyone has any ideas for improving this pattern, please let me know.
http://www.autoleveller.co.uk/. Software to probe and adjust a GCode file for PCB's or any probe-able surface.

http://www.autoleveller.co.uk/cnc-probe-guide/. A short guide to setting up the probe.

-James
Post Reply