1
0
forked from me/IronOS
Files
IronOS/source/Core/BSP/MHP30/ThermoModel.cpp
Ben V. Brown 3bb1b7bc32 Startup behaviour fixes (#1306)
* Reduce PPS max to 20V to avoid instability

Some PSU's cant actually run at 21V

* Creating a rough draft of a "pre start check" concept

* Newer alpine

* Cleaning up MHP detection

* Cleanup comments

* PID: Run prestart based on ADC IRQ rather than times

* MHP30: Far better startup for detecting tip gain

* Newer alpine for github CI
2022-06-16 20:21:46 +10:00

24 lines
814 B
C++

/*
* ThermoModel.cpp
*
* Created on: 1 May 2021
* Author: Ralim
*/
#include "Setup.h"
#include "TipThermoModel.h"
#include "Utils.h"
#include "configuration.h"
extern uint16_t tipSenseResistancex10Ohms;
uint32_t TipThermoModel::convertuVToDegC(uint32_t tipuVDelta) {
// For the MHP30, we are mimicing the original code and using the resistor fitted to the base of the heater head,
// this is measured at boot in pid task and in the disconnected tip check if tip is removed
if (tipSenseResistancex10Ohms > 900 && tipSenseResistancex10Ohms <= 1100) {
int32_t a = ((tipSenseResistancex10Ohms / 10) + 300) * (3300000 - tipuVDelta);
int32_t b = a / 1000000;
int32_t c = tipuVDelta - b;
int32_t d = c * 243 / 1000;
return d / 10;
}
return 0xFFFF;
}