Building the code from Github

Look here to see if your question has already been answered.
haiqu
Posts: 14
Joined: Sat May 07, 2022 11:13 pm

Building the code from Github

Post by haiqu » Sun May 08, 2022 3:01 pm

Firstly, thanks for adding me to the forum. Secondly, thanks to Doug (and Joe) for an innovative product. If it didn't exist I would have had to invent it, and it's certainly a step or two beyond the Houdaille HECC 80 I cut my teeth on in 1983.

I'm planning to use the controller on a machine I'm currently designing, which is a laser cutter and router combined. I would have preferred an extra axis (I have X, Y, rotation and two heads down, which makes five already, leaving no room for expansion) but with some innovative switching that can be fixed.

I intend to build the controller from the plans. Yes, I could just buy one from the website, but where's the fun in that? Besides, since it is Open Source and since I live a long way from that original source, it makes sense to know as much as possible about the internals of the controller I intend to use, and what better way than to build it from raw materials.

My issue is the Github files, which don't seem to be current and/or complete. Yesterday I installed Debian 9.6 under Virtualbox and attempted to build it, but found that neither the firmware nor the hardware would build satisfactorily. The box files are easy enough, I managed to display those with Inkscape in Windows 7.

It appears that this is in need of a review for completeness and that dependencies need to be documented better. An example was that at one stage I was notified of the need for some files related to KDE. Since I installed the default, which is Gnome, they were missing. But worse, the builds failed with errors that require an intimate knowledge of the code to correctly rectify.

I know how such projects can evolve over the years, leaving unfinished parts that go uninspected, since I contributed Open Source software for years. But in the spirit of co-operation I plead that they be looked over; companies and people come and go, and this product deserves to remain regardless of that. I hope to be the guinea pig (or perhaps Crash Test Dummy :-) ) that proves this thing can be independently built.
The old guy in the shed.

User avatar
Joe
Site Admin
Posts: 8
Joined: Fri Feb 02, 2018 2:00 pm
Location: Petaluma, CA
Contact:

Re: Building the code from Github

Post by Joe » Mon May 09, 2022 4:30 am

Hello. Thanks for your interest in the Buildbotics controller. All the needed files are on GitHub. Nothing is left out intentionally. However, it would take a lot more time and effort to document and simplify the build process. That has not been a high priority for us. If you want to document the process and contribute the documentation, that would be most welcome. I can help but I have limited time available for this.

Also, please note that the CERN license we use allows others to build and sell our controller but only if the final product is also Open-Source under the same license. That means if you build and sell a CNC the entire CNC must be Open-Source under the same license unless you negotiate a different licensing agreement with Buildbotics. You can build anything for your own personal use but if you publish plans or sell a product based on our work then the license comes in to effect. So basically you either pay by sharing your work or pay by buying an alternative license from us.

haiqu
Posts: 14
Joined: Sat May 07, 2022 11:13 pm

Re: Building the code from Github

Post by haiqu » Mon May 09, 2022 7:08 am

I guessed you missed the part where I stated that I'm an experienced contributor to open source projects.

I am not asking you to document it, I'm asking you to fix the broken builds. I'd post the error messages here but apparently you'd just misinterpret that as criticism.

In any case there's no real hurry, since parts are hard to come by right now. Maybe you'll find the time when they run out. :-)
The old guy in the shed.

haiqu
Posts: 14
Joined: Sat May 07, 2022 11:13 pm

Re: Building the code from Github

Post by haiqu » Sun May 22, 2022 9:53 pm

My PCBs and solder stencil arrived today. Still waiting for a heap of parts though so won't be picking and placing just yet. The component shortage is proving to be a bit of a bear, and some substitutions had to be made.

I had originally intended to use this board on a laser cutting machine of my own design, but a used Chinese 1325 laser bed of 2010 vintage has shown up and if I can find someone willing to move it from Sydney 500km (310 miles) away to my place this board will make an ideal replacement for its old controller.

BBCTRL.png
Last edited by haiqu on Sun May 22, 2022 10:39 pm, edited 3 times in total.
The old guy in the shed.

haiqu
Posts: 14
Joined: Sat May 07, 2022 11:13 pm

Re: Building the code from Github

Post by haiqu » Sun May 22, 2022 10:29 pm

And here's a happy snap of the BBCTRL software running remotely on my PC, complete with webcam output. I used the same camera as BuildBotics sell on their website, 1080p resolution. Nice camera!

CAMERA.png
The old guy in the shed.

haiqu
Posts: 14
Joined: Sat May 07, 2022 11:13 pm

Re: Building the code from Github

Post by haiqu » Sun May 22, 2022 10:35 pm

In compliance with Open Source rules, I have forked the BuildBotics repositories and any changes that occur will be posted at https://github.com/haiqu?tab=repositories

So far there have been none of any consequence.
The old guy in the shed.

haiqu
Posts: 14
Joined: Sat May 07, 2022 11:13 pm

Re: Building the code from Github

Post by haiqu » Sat May 28, 2022 9:15 am

Made some minor progress on the github code, which I finally got around to confronting tonight.

What was stopping me originally was an error in the html generation, which was confusing because I know nothing about pug although I've used similar code generation tools. Anyhow, since that's completely trivial I've deleted it from the Makefile for the moment. I'm now hitting an issue with GCC-AVR ... specifically, it doesn't know anything about the ATTiny3216 chip! The helpful suggestion from the compiler that one can provide one's own spec file leads to a GNU webpage that tells precisely NOTHING about how to do that. I certainly hope it doesn't require a fresh cross-build of the AVR compiler, but knowing GNU tools it probably will.

*grumble*

Changing the subprojects from pwr2 to pwr and I get a complete build, but we're not able to fit an ATTiny1634 to this new board because it has a different footprint. I have a sneaking suspicion that this particular PCB build has never been done before. :-/ Am I right? :-)

Apart from that, I've fixed a couple typos and the clean command, which also threw errors due to a redundant 'src/' in front of the path.

On a happier note, the OneFinity code built first go, but then it's derived from a 2021 version of this code base.

Edit: Oh yeah, and a few days ago I tried to build this on the RasPi via SSH but evidently there's no AVR cross-compiler for the ARM chips. So that's not gonna happen any time soon ...
The old guy in the shed.

haiqu
Posts: 14
Joined: Sat May 07, 2022 11:13 pm

Re: Building the code from Github

Post by haiqu » Sat May 28, 2022 11:20 am

By fishing around in the code I managed to find both the device-specs file and libraries for the ATTiny3216, which is handy. Figuring out where to install them was a little of a challenge but that went fine eventually.

However ...
death.png

Now I remember why I hate Linux.
The old guy in the shed.

haiqu
Posts: 14
Joined: Sat May 07, 2022 11:13 pm

Re: Building the code from Github

Post by haiqu » Sat May 28, 2022 1:54 pm

By about 4:30am it had become clear that the main issue was the dinosaur version of OS specified in the docs. Debian 9.6.0 contains gcc-avr version 4.9.2 which just doesn't cope with avrxmega3 chips at all. Never did, never will.

So, I expunged that garbage and installed Debian 11.3 - which has access to gcc-avr 10.2 - and once that was installed the build went swimmingly. Well, except for the other problems, but that's a job for tomorrow, I need my beauty sleep. :-)

What other problems, I hear you ask. Apart from the aforemention crash on making the html, it also doesn't like making the bridge for the docker container, barfing out a "failed to get init pid" error. It has been reported innumerable times but nobody got around to fixing it yet, as usual. The wonders of democratic programming, eh.

Nodejs also needs to be setup_14.x since setup_13.x isn't supported by Debian 11.3

Well, I'm gone. For the moment anyhow.
The old guy in the shed.

haiqu
Posts: 14
Joined: Sat May 07, 2022 11:13 pm

Re: Building the code from Github

Post by haiqu » Sun May 29, 2022 1:18 am

Final questions have been answered. HTML won't build because db15_breakout.svg and db25_breakout.svg are being called before they're copied to the build directory. I've just commented them out in the pug templates for now.

As for the issue of building CAMotics, that's probably because I'm already in a virtual environment (Oracle VM VirtualBox) so the hardware resources to create a container are already in use. I can just use the BuildBotics copy of CAMotics, or if necessary set up a dedicated Debian machine, which I'd rather not waste a computer on at this stage.

So, I'm golden over here ... at least until I try to get my hardware substitutions to work!

That should be fun.
The old guy in the shed.

Post Reply