E-switch UI Development / FSM

That probably depends on whether Astrolux gives me a copy of the source code they used.

It’s one of like a dozen apparent license violations I’ve been meaning to chase down…

With the new Haikelite HK04 (quad XKP50.2) on VTC6D cells and spring bypasses, the max of 70C doesn't give me 30 secs, best I can get is ~22 secs. I need a bit more headroom. Sure would have been nice to know this 70C max limit - I've been clicking 50 times, 60 times, 70 times over and over again - no idea, til i came across this thread and this post in this other thread: https://budgetlightforum.com/t/-/54947/161.

Could you please at least update the latest Anduril manual in the repository with this limit? That should be the ultimate ref. I re-read a "few" of the hard copy Anduril manuals I got and couldn't find it.

Btw, I don't see any config file in the repository for the HK04 - is HL doing this stuff on their own? Funny - their website doesn't exist anymore, or is temporarily down, dunno - used to be Haikelite.top.

Update: forgot to mention it's a quad XHP50.2, measured 37 amps at a min on full turbo (before spring bypasses added), does about 15,000 lumens at start and is the size of a SP36, so yes, it does get hot. Maybe even a max of 80C would be fine.

I converted Anduril to VS7 a while back, wasn't that difficult but think it took a while. Also, I seem to recall to be able to keep the code base current, it would be an effort. I know it compiled and built fine, think it was smaller code size than i expected as well - not sure of that though.

Just checked - I did this back in Dec 2018, so might not be as easy now.

I really shouldn’t be surprised, but I still am. Chinese manufacturing really is the wild west. There is no law except what can be enforced at the end of a gun.

I hope Astrolux gets its act together and complies. Anduril is the reason I bought the HL01.

I just built the latest version, 464, of Anduril on Atmel Studio 7, latest version. The key things I did:

  • define a compile time symbol of "ATTINY=85" in the project properties->AVR/GNU C compiler->Symbols
  • if you include all the fsm-*.c files in the project as i did, for each of these .c files, set the build action for each individual file to "None" instead of compile.

That's basically it. This is what it resulted in:

Program Memory Usage : 8122 bytes 99.1 % Full
Data Memory Usage : 205 bytes 40.0 % Full

The other important thing is the files: where to copy them, what files to include, etc. I took the simple approach and moved them all into just one folder.

  • Started with the spaghetti-monster folder, all spaghetti-* files and all fsm-* files.
  • then in the Anduril folder, all *.c and *.h files. You can take any other text/document files you want - no harm
  • then from the root "ToyKeeper" folder, took all tk* files and all hwdef* files. You could restrict it to just the hwdef* files you need, but that gets tricky since some include others.

I built it for the Q8 for now, but will try others. The HL HK04 light I'd love to change to rise the max thermal limit, as defined in fsm-adc.h:

#define MAX_THERM_CEIL 70

But the HK04, like the SP36, has the driver glued. I tried removing the switch to get access to push out the driver, but the switch has some nasty glue - I destroyed it partially in trying to get it out - never ran into this before. I killed one of the LED's. Ugh...

So, it looks like as of now, these flashlights use Anduril, but have not released the actual source code used (ie. unknown which Anduril “build target” they were based on:

Astrolux EC01
Astrolux HL01
Astrolux FT03S

Haikelite HK04

Thanx TK! I see your manual update

I sense a pattern here…

Can we as a community put some pressure on them to release the code?

How? Anyone have an email address for Mr. Astrolux or Mr. Haikelite?

Haikelite's website even disappeared.

Hhmm - Astrolux does seem to have a website: https://www.astroluxlite.com/, but of course the Contact link is dead, but the brand link does work: https://www.astroluxlite.com/support.html?article_id=5

Based on their websites, they are a mess for sure...

Some of our members have contacts with Mateminco and Banggood, so we kinda have an email of Mr. Astrolux.
The same is true w.r.t Haikelite.

But several devs is unlikely to be significant pressure…there must be more (many more) people who care.

Well if you don't want to name names, the 2 developers I know of have business relationships with at least one of these vendors, unlike us. Plus I know they have communications problems with the vendors as it is (like not answering/repsonding for long periods of time, etc.), so even if they were willing, not sure it would be wise for them.

Would it be so bad for these members to notify the manufacturers about a thread where people rage against them? :wink:

Dunno - ask them.

As a follow-up to post #907 above, just tested out the Atmel Studio 7 build of Anduril 464 on a Sofirn Q8 and it worked perfectly. Tweaked the thermal max temp to 85C, and checked the voltage and it's dead on so far.

Not sure now there's any point to go back to NarsilM for much of anything.

In case anyone is interested, here's the AS7 Anduril v464 full folder with all the source code, solution and project file and it all builds, right now defaulted for a Q8 configuration, with the max temp of 85C, default to 55C:

google drive share for Anduril

Nice. Is it possible to post a compiled .hex file for people like me (I have a flashing kit and have successfully flash Q8s to NarsilM v1.2 and Anduril from the hex files in the repository, but haven’t tried compiling code…). Also, maybe a short list of how to configure those new settings… Thanks!

Thanks TomE.

There is a hex file in the Release folder.

, yep in the release folder, but of course it's only 1 possible config of many. The Q8 is the FET+1 design with the aux LED (usually switch LED) support, so I've used these driver designs in many mods.

Is Anduril able to use both AUX and Indicator LED's at the same time as long as the driver has the required hardware capabilities / pins ?

Not sure what you mean by AUX and Indicator LED's? I always thought of them as two words describing the same thing. I "think" Anduril has control over one pin for AUX/Indicator controls, so you can run multiple LED's off the same pin, for example, the switch LED's and the Lexel AUX board LED's on a MF01 Mini.

Pin Summary

1 - Reset (can be used for I/O but would break the popular dongles for re-programming)

2 - switch

3 - AUX LED, or main LED channel

4 - GRND

5 - main LED channel

6 - main LED channel

7 - for 6V/12V designs used for voltage divider for voltage reading, spare for 3V designs, or AUX LED for 3 channel drivers

8 - VCC

Example flashlight/driver pin layouts:

MF01-Mini driver layout
-----------------------
Reset -|1 8|- VCC
eswitch -|2 7|- aux LEDs
FET PWM -|3 6|- PWM (7x7135)
GND -|4 5|- PWM (1x7135)

Emisar D4 driver layout
-----------------------
Reset -|1 8|- VCC
eswitch -|2 7|-
AUX LED -|3 6|- PWM (FET)
GND -|4 5|- PWM (1x7135)

These two layouts above represent the classic 3 channel (FET+1+bank) and 2 channel (FET+1) layout of BLF drivers.