BLOX2: Voltage Control for the Little Cores!

littlecores

Another update to the BLOX2 (BLU Life One X2) kernel, I just extended the voltage control from the big cores to the little cores as well! You can check out the commit on GitLab, but essentially we saw that the “bc” in the code stood for “big cores” and we made a duplicate of the code, labeled “lc” for “little cores”. It’s all part of my video series for modifying 64 bit kernels, which you can check out on my YouTube channel: https://www.youtube.com/channel/UCnGqG_jyyXmTzdamBpKfeHA

Linux – keep it simple.

BlueFruit Project: Low voltage safety

IMG_20180720_100112Having tested out the Bluetooth auto start for a little while through regular use, I came to an interesting conundrum. What should the auto start do if the voltage is too low? I “hemmed and hawed” about this for a while and here are my thoughts:

  • If the vehicle is already running, should we shut it off when the voltage gets to low? No, because turning it off will not help the driver in any way (except to alert them to an issue) but they may want it to stay on.
  • If the vehicle has not started yet, should it attempt at all? Yes, we should make at least one start attempt, so that the alternator can kick in and charge the battery.
  • If the vehicle failed to start, should we try again with a low battery? No, I suppose they should manually start the vehicle to ensure cranking goes properly.

With those three thoughts in mind, here is what I came up with:

if (crankTimer == 0) {
digitalWrite(15, LOW);
digitalWrite(11, HIGH);
if (runBool) {

crankTimer = -1;

startTimer = -1;

startAttempts = -1;

runTimer = 600; // 600 seconds = 10 minutes of run time before shutdown.

Serial.println (” crankTimer OFF, runTimer started. “);

} else {

crankTimer = -1;

startTimer = 5; // To start process again.

runTimer = -1;


startAttempts = startAttempts -1;

if (voltVoltage <= 0.5) {

// Voltage is too low to try again!

startTimer = -1;

Serial.println (” Voltage LOW! “);

} else {

startTimer = 5; // To start process again.

}

runTimer = 600; // 600 seconds = 10 minutes of run time before shutdown.

Serial.println (” Not running, try again… “); Serial.println(startAttempts);

}

So it will attempt one start, but not multiple starts. What do you think? Is that reasonable?

Linux – keep it simple.

CPU and GPU voltage control are back!

CPU and GPU voltage control are back! To God be the glory!

Since moving to Android Nougat, I have not been able to make GPU and CPU voltage control work for the Samsung Galaxy S4, but that changed today. You can see the commit here:

https://github.com/alaskalinuxuser/android_kernel_samsung_jf/commit/9544cab218a4348563067588b8b607d6e9d7ab11

Finally the end user has the ability to control the CPU and GPU voltage with apps like Kernel Adiutor and my GPU Voltage Control App.

You can find my GPU voltage control app here:

https://forum.xda-developers.com/galaxy-s4-tmobile/themes-apps/app-gpu-voltage-control-app-aklu-kernels-t3506985

Remember, changing your CPU or GPU voltages is dangerous. Don’t make drastic changes, and be careful!

Linux – keep it simple.