There was a comment on here (I thought) with the command/list of packages needed to install on a fresh ubuntu build, but I cant for the life of me find it anymore. can someone point me to it?
Im thinking about just making a bootable USB with storage space and booting that up when I want to flash.
Second question, RampingIOSv3. Im backtracing some of the options and default configs, and in the driver define section, it calls cfg-emisar-d4s.c, but the only file with that name is in the /ToyKeeper/spaghetti-monster/anduril directory on launchpad. In that file it explicitly stated its a config for Anduril, yet in RampingIOS there arent any config files.
The defines seem ok, but I wanted to make sure im looking at the right driver file for this os.
The setup instructions are in the README file at the base of the repository. Also in the first post of the firmware discussion thread linked in my signature.
I had the cfg-*.h files symlinked at one time, but people with Windows complained about symlinks not being supported there, so I replaced them with a script to copy the configs before each build. The build-all.sh script should pull those in. They use the same configs.
Ah gotcha, I worked through the build-all.sh -> Build-85 and think I have a relative handle on things, at least for now. The ubuntu windows 10 plugin is stupid easy and set up after an “apt-get update”
Compiling works out of the box using your scripts after downloading a copy of the branch.
I think I initially overlooked it because im not familiar with the AVR-GCC options and flags, but is it the “-DFSM_${TARGET}_DRIVER” in (…/…/…/bin/build-85.sh “$UI” “-DFSM_${TARGET}_DRIVER”) what defines it? The lack of a space after the -D threw me off.
Flashed my D4 with Andúril. Used 2018-09-07.EMASAR_D4.Hex
I am getting step down almost instantly. Not feeling any heat unless I keep double clicking to Max. I have tried several fully charged cells. So I am looking at the thermal config.
I 3 click from off to bat check, 2 click through sunset and beacon. I think I am ending up at TempCheck I am getting a 2-1 blink. I believe it means 69 Fahrenheit.
I click 4 times and get a stutter light. I click 22 times, stop, light stutters again and goes back to 2-1 to 2-3 binks, thinking 30+22= 55 celsius for 131 Fahrenheit.
Is this correct?
Edit- I am only holding Max for about 2-3 seconds, and then it steps down, another 2-3 seconds steps down again.
Do I need to set it much higher?
Ok, watching a video, Looks like I need to click 30 times, then 22 times.
Edit, still getting almost instant step down. From fresh cell.
I’d suggest doing about 20 clicks on the first step, to calibrate the sensor to room temperature. This is, of course, after the light has had a chance to settle to room temperature. Then about 20 clicks on the second step too, to set the ceiling to 50 C.
You could also try compiling with THERM_HARD_TURBO_DROP disabled, to make it less cautious about heat. But this risks having the opposite problem, overheating.
I need to rewrite the thermal regulation algorithm entirely at some point, but I’ve been avoiding it because it’s a huge pain to actually do.
Im still working on my own personal build of RampingIOS V3 (and Anduril) and wanted to alter the voltage calibration as its reading about ~.2V high until 3.6v, then consistently .1v high until LVP on both of my D4S.
Looking at the readme\config txts for SpaghettiMonster, fsm-adc.h and RampingIOSV3 and I only see references to VOLTAGE_LOW and VOLTAGE_FUDGE_FACTOR. The Fudge factor seems more oriented towards voltage drops over protection diodes though.
I found a tk-calibration.h file in the root of the ToyKeeper folder but I couldnt find an include or a define that would pull it. Is that the correct place to be altering the readings?
Edit: tk-calibration.h is also defined by tk-voltage.h/TK_VOLTAGE_H but im not finding a reference for that either.
Yes, what you’re looking for is probably the VOLTAGE_FUDGE_FACTOR. It’s 0.05V per point. If the value you’re using is 5, and it’s reading 0.1V to 0.2V low, I’d suggest adding 3 to make it 8. This adds 0.15V to the values it uses.
The calibration stuff is mostly for older lights with a voltage divider on pin 7. But that’s not used on most newer lights.
Well, this went MUCH better than expected. Everything compiled super easy in the Linux subsystem for Windows, and I flashed using AVR-DUDESS using the fuses defined in TK’s flash scripts.
Anduril is so nice on the Q8, and IMO so much less confusing than Narsil. Especially when you can comment out almost anything you dont want, set defaults, and modify click counts to move states around.
Now I just gotta flash the D4S………That was a bit of a struggle, but hopefully some solid core wire will make that easier. Makes the light even better, voltage readings are spot on now.
Just fyi this was for a Q8 and 2xD4S
I set defaults for:
RAMP_DISCRETE_CEIL (MAX_1x7135) (default unless not defined)
default temp limit upped to 50C
altered Fudge Factor values to calibrate for my drivers
longer pause at moon level from power off
upped low voltage level to 3.1 so it will start stepping down earlier for lipo health
slightly lowered candle mode default brightness
static uint8_t candle_mode_brightness = 21 (was 24) Not sure if this is correct though
disabled all strobes and beacon (Just made goodnight ev_2clicks go to tempcheck state)
completely removed momentary (not really necessary, but didnt want to deal with the power cycle to leave “issue”)
Modified event handler to have a longer hold timeout for the q8 (I cant seem to press it as fast as other lights)
Ill be honest though, I had more tweaks done to RampingIOSV3, but Anduril is near perfect out of the box. I just wanted to make a few things easier to access for myself.