1
0
forked from me/IronOS

Update PD to support awareness of having inductor for DCDC op

+ fix voltage divider to be more on point
+ Create adjustment for thermal mass causes overshoot
This commit is contained in:
Ben V. Brown
2021-05-03 22:36:25 +10:00
parent dd5daf51e3
commit ee12c99d9e
7 changed files with 54 additions and 25 deletions

View File

@@ -14,11 +14,11 @@
#include "main.hpp"
#include "power.hpp"
#include "task.h"
static TickType_t powerPulseWaitUnit = 25 * TICKS_100MS; // 2.5 s
static TickType_t powerPulseDurationUnit = (5 * TICKS_100MS) / 2; // 250 ms
TaskHandle_t pidTaskNotification = NULL;
uint32_t currentTempTargetDegC = 0; // Current temperature target in C
static TickType_t powerPulseWaitUnit = 25 * TICKS_100MS; // 2.5 s
static TickType_t powerPulseDurationUnit = (5 * TICKS_100MS) / 2; // 250 ms
TaskHandle_t pidTaskNotification = NULL;
uint32_t currentTempTargetDegC = 0; // Current temperature target in C
int32_t powerSupplyWattageLimit = 0;
/* StartPIDTask function */
void startPIDTask(void const *argument __unused) {
/*
@@ -110,6 +110,8 @@ void startPIDTask(void const *argument __unused) {
}
if (systemSettings.powerLimit && x10WattsOut > (systemSettings.powerLimit * 10)) {
setTipX10Watts(systemSettings.powerLimit * 10);
} else if (powerSupplyWattageLimit && x10WattsOut > powerSupplyWattageLimit * 10) {
setTipX10Watts(powerSupplyWattageLimit * 10);
} else {
setTipX10Watts(x10WattsOut);
}