Building Anduril with Docker

For testing I intentionally typed
… anduril-builder wurkkos

Result :
===== 0 builds succeeded, 0 failed =====

… anduril-builder sofirn

===== 3 builds succeeded, 0 failed =====

this is so much fun ! :grin::grin:

with source codes from Gchart’s branch (Rev 631) I get hex files for TS10 and TS25

is there any guidance/tutorial on modifying the cfg file (and/or any other file) to get a hex file with specific characteristic ?
For example, I want to disable/delete Bike Flasher and Lightning Storm from the Strobe Modes, which file should I mod?
What line of codes should I add/subtract/alter before compiling?

1 Thank

Have a look at my fork, it has a lot of modified functionality as well as a compilation of build flags to use to create an image with custom settings, and a few examples.

It’s kind of out of date for the LT1S Pro, I’ve been hacking on the new multichannel firmware to try and reproduce some of my features there and hopefully might have aomethimg worth releasing there by this weekend, but it includes other recent lights like the wurkkos ts10. For more complicated changes, it’s fairly well documented and easy to mod if you know C.

2 Thanks

Hallo,
thank you for your response,
I’ll check that…

I also read this thread

You’ve been very helpful there. I didn’t comment or asking question there, coz most of the time I don’t know what to ask. So I just read.

=====

After being able to Reflash my TS10 and SP10 Pro to Anduril 2, somehow I’ve become motivated to learn about compiling custom hex. I read a lot of threads to learn little by little about compiling Anduril hex file.

I downloaded Atmel Studio 7 but didn’t try to install it.
I found SammysHP’s Docker method here, it works,
so I don’t have the urge to check the Atmel Studio route.

Much like when flashing using USB - TTL adapter, ZFlasher, UPDI,
mine didn’t work without resistor.
Then it works great with additional 3.3k resistor between RX and TX,
so I never tried it with Schottky diode.

1 Thank

@wolfgirl42 does your pre-built image work with the new file structure ? the latest commits seem to imply so, but I get no such file or directory errors.

edit : that’s what I’m using :
docker run --rm -v E:\light_fw\tk\anduril-trunk:/src anduril-builder
anduril-trunk being where the source files/folders are located (arch, bin… etc).

With the previous file structure I would use that :
docker run --rm -v E:\light_fw\tk\657\anduril2:/src anduril-builder
anduril2 being where the ToyKeeper folder is located (and that still works fine with the image I just pulled)

1 Thank

It’s probably about time to get docker support merged into the main repo. I don’t really know the first thing about how to do that though, so I have a lot to learn.

1 Thank

Its about time to build Windows GUI to build Anduril UI :smile:

There are many to choose from. Here’s a partial list, which has only about 40 or 50:

https://git-scm.com/download/gui/windows

A while ago I updates my Dockerfile to support the new format, but it’s not really refined. It works basically the same. When executed, “make” is called and all extra arguments are passed to it.

I don’t think it’s necessary to merge something to the main repo. The image doesn’t include the source, just the build environment. So as long as the environment is properly defined, the Docker image can live its own life. Maybe I have time in the next weeks to fix some minor issues with my image and check it’s compatibility with the DD architecture.

1 Thank

That was my primary question about it. I wasn’t sure if it’s better as a separate thing or if it’s better to include in the main repo. Regardless, I should put some time into actually using it and documenting it to make things easier for new users.

Yeah, it should work. If you use -e DEBUG=1 then it should give more info about what it’s doing and what it sees.

I made a PR to incorporate docker build support into the build scripts in the main repo, might be referencing that PR. I’ve not been working much on anduril recently due to various health complications but hopefully will be able to again soon.

2 Thanks

What is this .jar .py and so on, I mean an .exe windows program or maybe android app where we can download updates from server , choose options without scripting and just press button to build .hex .

My dream would be to have UI fully customisable via Smartphone. Like a air filter machine for instance.

There was once Manker with such feature but somehow it didn’t make any revolution in flashlight world.

Yeah, I know. Bluetooth module or Wi-Fi is not such straightforward to implement.

Well, luckily dreaming costs nothing :innocent:

With Atmel Studio you can code “Anduril69” from scratch, compile .hex and flash it to your driver with integrated AVRdude. Its all in 1 solution for Atmel MCus, but yea, who likes easy way.

I’m not coding. At all. I can barely navigate here :upside_down_face:

3 Thanks

It’s a program, it’s just written in Java. Works on Windows.

1 Thank

Where do I put that ? It doesn’t go inside the docker run command.

Does the image need to be built on linux ?

Ah, I just noticed you were using a locally built version. I have a version on Docker Hub that Ipush changes to, so if you run it with --pull then it will automatically get the latest updates.

docker run --pull=always --rm -v E:\light_fw\tk\anduril-trunk:/src -e DEBUG=1 siterelenby/anduril-builder <build args>

At the moment with the new repo it needs a bit better integration with the new build scripts, e.g. it wants to install the DFP even when not needed, but I have a PR open for that.

Any OS that can run Docker and is the same architecture as you intend to use the image will be able to build it. My prebuilt image is multiarch and will work on multiple different CPU architectures (currently x64, armv7, and arm64).