Anduril 2 feature change suggestions

No problem. For editing the header or source files (.c and .h), any text editor will do, e.g. TextEdit on mac, although if you’re looking to actually do significant code changes, you’ll probably want an editor with syntax highlighting and similar features, but that’s completely beyond my knowledge what exists/is any good for mac as I just use vim everywhere, which is very powerful but not in any way user-friendly ;).

Forget about editing hex files, completely.

The simplest way to compile Anduril on a windows or Mac machine is to use SammysHP’s docker image, but Docker isn’t compatible with Mac 10.12, maybe older versions are but somehow I have trouble finding that information.

My advice to you regarding compiling Anduril remains the same since we last chatted, which is to install Ubuntu in a virtual machine, with Virtual Box for example which is free and compatible with Mac OS 10.12, you’ll find many guides on how to do that by searching "install ubuntu virtualbox”

Then it’s simple :

And it’ll build all the models, exept the T1616 ones, there are instructions in the error message but you can ask about it if you have trouble with it when you’re there

2 Thanks

thanks
I thought the lights Im talking about, SC21 pro, SP10 Pro, and TS10, are 1616 models, no?

so I downloaded a tarball from the gchart repository

so… if I follow your instructions… where do I go to change (I use the words edit a hex file, but you call it edit an Anduril Header?) the file that tells my light to use D10 style ramping, and disable 13H in simple mode… for example?

in any case, I thought we already know avrdude wont run on my machine, so I use pymcuprog…

can I compile without avrdude?

Hex files and headers are different. The hex is the output after the source code has been compiled into a form the MCU can understand, while the header file is the base configuration that is used to initialise settings and determine what functionality should be included in the output hex file. For all intents and purposes, consider the hex file uneditable - you want to edit the source code and/or header file to implement your changes, and will get an updated hex file as the output.

Right, then there are instructions in the ReadMe from the error message on how to make it work with T1616, you need to download a file , unzip it and point to it in another file, but worry about it when you get there.

That’s what brz branch lp:~toykeeper/flashlight-firmware/anduril2 does in the quote.

We edit the .h files (headers, which are just text file that you can open with any text editor), specifically the cfg-flashlightmodel.h files in the anduril folder.
That comes after you’ve done all this and successfully compiled Anduril.

It’s the point of using another machine, a virtual machine, specifically Ubuntu, where things work.

I went to this tutorial
How to install Ubuntu on Mac using VirtualBox

after download and install, when I try to run virtualbox, I get this error message:

“VirtualBox cannot be opened because of a problem.
Check with the developer to make sure VirtualBox works with this version of macOS. You may need to reinstall the application. Be sure to install any available updates for the application and macOS”

what next?

I would suggest to use https://mac.getutm.app/ instead of virtual box, especially if you have an Apple Silicon Mac.
They have ready-to-be-used Ubuntu images that you don’t even need to set up, too.
Much easier to use than Virtual Box

thanks
dowloaded, installed, and when I try to open UTM I get this error:

“You can’t use this version of the application “UTM” with this version of macOS.
You have macOS 10.12.6. The application requires macOS 11.3 or later.”

what next?

Hmm. Looks like MacOS 10.12 is from 2016. At this point, with apple’s relatively quick pace at breaking backwards compatibility, you probably just need a newer OS. Also, looks like 10.12 was EOL in 2019, so I’d definitely recommend upgrading as you aren’t getting security patches.

If you can’t upgrade due to hardware limitations, look into getting a raspberry pi or something like that, which you can run Docker on no problem - it won’t be blazing fast, but anduril is so small that it still only takes a few seconds to compile on my rpis.

Im at the highest firmware upgrade step for this computer hardware… thanks for the Raspberry Pi suggestion… I think Im not that motivated… maybe someday when I get a new computer I will revisit how to compile hex files from edited Anduril header files

I appreciate all your time, maybe it will help someone else with newer hardware, learn how to build their own hex files…

1 Thank

Another option would be spinning up a cloud vm in something like linode. This can be extremely cheap (pennies) since you don’t need much power and you don’t need to keep it up constantly.

1 Thank

At some point you should consider buying a new computer (or perhaps switching to Linux on your Mac if that’s something you would do/like to try).
It’s not safe to have a computer connected to the InterNet that does not receive security updates anymore. The OS will have more and more unpatched security issues and eventually your machine will get infected by some kind of malware.

1 Thank

thanks for the alert
yes, a new computer is the answer if I want to build my own hex files

meanwhile, I can at least install hex files other people have built for me…

I just received and reflashed a Sofirn SC21 Pro, using the hex file mentioned in post 3 that quahog so kindly compiled for me…

the reflash from a prior SC21 Pro hex file backup, installs all my custom floors and ceilings, without any need for me to compile a new hex file on a new computer… KISS

The light now has 10x Lower Lows, the ramping reversal is D10 Style, and just because I can, 13H is disabled in Simple mode. win win win

next I get to decide what LED to install… Im considering a dedomed 5700K 519a, with a pebbled Tir swap…

similar to this one that has a 3000K 219b…

fun times ahead! :wink:

So, that was a bit of a roller coaster.

It’s almost certainly possible to install a virtualization platform on OSX 10.12.6, and then install a modern version of Debian or Ubuntu in the virtual machine, and then compile code there… but that first step probably requires an old version of VirtualBox or qemu or something.

Installing Linux natively would work, and is probably the best option for continuing to use older hardware in the long run, but in the short term it would be a major disruption full of many headaches. That’ll require more assistance than we can provide here, plus months of adapting and learning afterward.

It may be possible to get HomeBrew to install just the compiler toolchain without avrdude. I’m not sure how though, since I have never used OSX and don’t know much about its ecosystem… and it sounds like nobody in this thread can help with it either.

So I’d probably try some of the old releases of VirtualBox, to find one which works. Here’s how I’d go about solving that:

Does one of those work?

2 Thanks

This page says that virtual box 6.0 supports 10.12 hosts : 1.4. Supported Host Operating Systems
It’s the most recent version that supports it, sorry I didn’t notice I ended up on the 6.0 user manual and not 7.0 when I searched for mac OS compatibility.

1 Thank

I don’t know, @Barracuda tried to do get t1616 models to compile on his modern Mac and ended up using SammysHP’s Docker image since he couldn’t make it work.

1 Thank

Get some IBM type PC from scrapyard to run win7 or linux

1 Thank

Jop, that one works like a charm on my MacBook with most recent MacOS. @SammysHP did amazing work there :slightly_smiling_face:

Docker is a good solution, but if I recall correctly it requires a newer OS. It sounds like the only feasible solutions here are an old version of a virtual machine, or obtaining another computer somehow, or installing Linux directly.

A low-end budget PC from 2016 is plenty powerful for this sort of thing, when a suitable Linux distro is installed. I’m typing on one right now. But obtaining one and setting it up may be more difficult than installing a virtual machine.

If you do get another computer though, try to make sure it has as much RAM as possible. That’s almost always the resource which gets filled up the fastest.

2 Thanks

thank you all for trying to help me

I give up for now… since I already have the Hex file features I asked for, thanks to quahog