Yes, this is the light that was having issues, I was under strict instructions to not post anything about it, although I offered to explain it in a PM to you if it would of helped.
Ok, I stand corrected on the bug, in my defense you never gave much information on it other then to say you know about the bug
Far as the possible issues.
1: I have tried it both with the temperature calibration and without, same results. Although I am still lost as to how the temperature offset could effect the workings of the thermal system as a whole, seems like it would just offset the thermal control points.
2: I ran another test yesterday with thermal pads on the MCU giving it an almost direct connection to the body of the light and got the same results. It would of also wicked away any heat from the driver, although that is minimal.
3: The driver is the same basic layout I have been using for awhile, DEL helped me get it right so it is very stable. I also tried anduril on some other lights like the MT09R and it also overheated, just took longer since it has more surface area.
4: I have tried using the pre-made hex file from your repo for the D4S / D4 and got the same results with them as well. I also tried the changes you suggested to the code with no real change except slowing the process down. Overall the only things I changed in the code was added the new layout files, which were basically just copied D4S since they use the same pinout then changing the ramp for the higher output.
The thermal control works fine at first, it ramps down nicely and looks like it will maintain the set temp at first but then it just keeps ramping the power back up even when WELL over the thermal set point using the self reported blink out.
This is what has boggled me, why does it keep ramping the power up even when it knows the temperature is 100c via the blink out? It seems like it should lock it to the lowest output once the temperature is above the set point. If it would just lock it to the lowest mode when above the set point, or say ~10-20% above it, it would be fine.