mirror of
https://github.com/Ralim/IronOS.git
synced 2025-02-26 07:53:55 +00:00
Split thermoModel uV conversion to BSP
This commit is contained in:
51
source/Core/BSP/MHP30/ThermoModel.cpp
Normal file
51
source/Core/BSP/MHP30/ThermoModel.cpp
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
/*
|
||||||
|
* ThermoModel.cpp
|
||||||
|
*
|
||||||
|
* Created on: 1 May 2021
|
||||||
|
* Author: Ralim
|
||||||
|
*/
|
||||||
|
#include "TipThermoModel.h"
|
||||||
|
#include "configuration.h"
|
||||||
|
#include "Utils.h"
|
||||||
|
|
||||||
|
#ifdef TEMP_uV_LOOKUP_MHP30
|
||||||
|
const uint16_t uVtoDegC[] = {
|
||||||
|
//
|
||||||
|
//
|
||||||
|
0, 0, //
|
||||||
|
397, 10, //
|
||||||
|
798, 20, ///
|
||||||
|
1203, 30, //
|
||||||
|
1612, 40, //
|
||||||
|
2023, 50, //
|
||||||
|
2436, 60, //
|
||||||
|
3225, 79, //
|
||||||
|
4013, 98, //
|
||||||
|
4756, 116, //
|
||||||
|
5491, 134, //
|
||||||
|
5694, 139, //
|
||||||
|
6339, 155, //
|
||||||
|
7021, 172, //
|
||||||
|
7859, 193, //
|
||||||
|
8619, 212, //
|
||||||
|
9383, 231, //
|
||||||
|
10153, 250, //
|
||||||
|
10930, 269, //
|
||||||
|
11712, 288, //
|
||||||
|
12499, 307, //
|
||||||
|
13290, 326, //
|
||||||
|
14084, 345, //
|
||||||
|
14881, 364, //
|
||||||
|
15680, 383, //
|
||||||
|
16482, 402, //
|
||||||
|
17285, 421, //
|
||||||
|
18091, 440, //
|
||||||
|
18898, 459, //
|
||||||
|
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
const int uVtoDegCItems = sizeof(uVtoDegC) / (2 * sizeof(uint16_t));
|
||||||
|
|
||||||
|
|
||||||
|
uint32_t TipThermoModel::convertuVToDegC(uint32_t tipuVDelta) { return Utils::InterpolateLookupTable(uVtoDegC, uVtoDegCItems, tipuVDelta); }
|
||||||
132
source/Core/BSP/Miniware/ThermoModel.cpp
Normal file
132
source/Core/BSP/Miniware/ThermoModel.cpp
Normal file
@@ -0,0 +1,132 @@
|
|||||||
|
/*
|
||||||
|
* ThermoModel.cpp
|
||||||
|
*
|
||||||
|
* Created on: 1 May 2021
|
||||||
|
* Author: Ralim
|
||||||
|
*/
|
||||||
|
#include "TipThermoModel.h"
|
||||||
|
#include "configuration.h"
|
||||||
|
#include "Utils.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef TEMP_uV_LOOKUP_HAKKO
|
||||||
|
const uint16_t uVtoDegC[] = {
|
||||||
|
//
|
||||||
|
//
|
||||||
|
0, 0, //
|
||||||
|
266, 10, //
|
||||||
|
522, 20, //
|
||||||
|
770, 30, //
|
||||||
|
1010, 40, //
|
||||||
|
1244, 50, //
|
||||||
|
1473, 60, //
|
||||||
|
1697, 70, //
|
||||||
|
1917, 80, //
|
||||||
|
2135, 90, //
|
||||||
|
2351, 100, //
|
||||||
|
2566, 110, //
|
||||||
|
2780, 120, //
|
||||||
|
2994, 130, //
|
||||||
|
3209, 140, //
|
||||||
|
3426, 150, //
|
||||||
|
3644, 160, //
|
||||||
|
3865, 170, //
|
||||||
|
4088, 180, //
|
||||||
|
4314, 190, //
|
||||||
|
4544, 200, //
|
||||||
|
4777, 210, //
|
||||||
|
5014, 220, //
|
||||||
|
5255, 230, //
|
||||||
|
5500, 240, //
|
||||||
|
5750, 250, //
|
||||||
|
6003, 260, //
|
||||||
|
6261, 270, //
|
||||||
|
6523, 280, //
|
||||||
|
6789, 290, //
|
||||||
|
7059, 300, //
|
||||||
|
7332, 310, //
|
||||||
|
7609, 320, //
|
||||||
|
7889, 330, //
|
||||||
|
8171, 340, //
|
||||||
|
8456, 350, //
|
||||||
|
8742, 360, //
|
||||||
|
9030, 370, //
|
||||||
|
9319, 380, //
|
||||||
|
9607, 390, //
|
||||||
|
9896, 400, //
|
||||||
|
10183, 410, //
|
||||||
|
10468, 420, //
|
||||||
|
10750, 430, //
|
||||||
|
11029, 440, //
|
||||||
|
11304, 450, //
|
||||||
|
11573, 460, //
|
||||||
|
11835, 470, //
|
||||||
|
12091, 480, //
|
||||||
|
12337, 490, //
|
||||||
|
12575, 500, //
|
||||||
|
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef TEMP_uV_LOOKUP_TS80
|
||||||
|
|
||||||
|
const uint16_t uVtoDegC[] = {
|
||||||
|
//
|
||||||
|
//
|
||||||
|
530, 0, //
|
||||||
|
1282, 10, //
|
||||||
|
2034, 20, //
|
||||||
|
2786, 30, //
|
||||||
|
3538, 40, //
|
||||||
|
4290, 50, //
|
||||||
|
5043, 60, //
|
||||||
|
5795, 70, //
|
||||||
|
6547, 80, //
|
||||||
|
7299, 90, //
|
||||||
|
8051, 100, //
|
||||||
|
8803, 110, //
|
||||||
|
9555, 120, //
|
||||||
|
10308, 130, //
|
||||||
|
11060, 140, //
|
||||||
|
11812, 150, //
|
||||||
|
12564, 160, //
|
||||||
|
13316, 170, //
|
||||||
|
14068, 180, //
|
||||||
|
14820, 190, //
|
||||||
|
15573, 200, //
|
||||||
|
16325, 210, //
|
||||||
|
17077, 220, //
|
||||||
|
17829, 230, //
|
||||||
|
18581, 240, //
|
||||||
|
19333, 250, //
|
||||||
|
20085, 260, //
|
||||||
|
20838, 270, //
|
||||||
|
21590, 280, //
|
||||||
|
22342, 290, //
|
||||||
|
23094, 300, //
|
||||||
|
23846, 310, //
|
||||||
|
24598, 320, //
|
||||||
|
25350, 330, //
|
||||||
|
26103, 340, //
|
||||||
|
26855, 350, //
|
||||||
|
27607, 360, //
|
||||||
|
28359, 370, //
|
||||||
|
29111, 380, //
|
||||||
|
29863, 390, //
|
||||||
|
30615, 400, //
|
||||||
|
31368, 410, //
|
||||||
|
32120, 420, //
|
||||||
|
32872, 430, //
|
||||||
|
33624, 440, //
|
||||||
|
34376, 450, //
|
||||||
|
35128, 460, //
|
||||||
|
35880, 470, //
|
||||||
|
36632, 480, //
|
||||||
|
37385, 490, //
|
||||||
|
38137, 500, //
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
const int uVtoDegCItems = sizeof(uVtoDegC) / (2 * sizeof(uint16_t));
|
||||||
|
|
||||||
|
uint32_t TipThermoModel::convertuVToDegC(uint32_t tipuVDelta) { return Utils::InterpolateLookupTable(uVtoDegC, uVtoDegCItems, tipuVDelta); }
|
||||||
74
source/Core/BSP/Pine64/ThermoModel.cpp
Normal file
74
source/Core/BSP/Pine64/ThermoModel.cpp
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
/*
|
||||||
|
* ThermoModel.cpp
|
||||||
|
*
|
||||||
|
* Created on: 1 May 2021
|
||||||
|
* Author: Ralim
|
||||||
|
*/
|
||||||
|
#include "TipThermoModel.h"
|
||||||
|
#include "configuration.h"
|
||||||
|
#include "Utils.h"
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef TEMP_uV_LOOKUP_HAKKO
|
||||||
|
const uint16_t uVtoDegC[] = {
|
||||||
|
//
|
||||||
|
//
|
||||||
|
0, 0, //
|
||||||
|
266, 10, //
|
||||||
|
522, 20, //
|
||||||
|
770, 30, //
|
||||||
|
1010, 40, //
|
||||||
|
1244, 50, //
|
||||||
|
1473, 60, //
|
||||||
|
1697, 70, //
|
||||||
|
1917, 80, //
|
||||||
|
2135, 90, //
|
||||||
|
2351, 100, //
|
||||||
|
2566, 110, //
|
||||||
|
2780, 120, //
|
||||||
|
2994, 130, //
|
||||||
|
3209, 140, //
|
||||||
|
3426, 150, //
|
||||||
|
3644, 160, //
|
||||||
|
3865, 170, //
|
||||||
|
4088, 180, //
|
||||||
|
4314, 190, //
|
||||||
|
4544, 200, //
|
||||||
|
4777, 210, //
|
||||||
|
5014, 220, //
|
||||||
|
5255, 230, //
|
||||||
|
5500, 240, //
|
||||||
|
5750, 250, //
|
||||||
|
6003, 260, //
|
||||||
|
6261, 270, //
|
||||||
|
6523, 280, //
|
||||||
|
6789, 290, //
|
||||||
|
7059, 300, //
|
||||||
|
7332, 310, //
|
||||||
|
7609, 320, //
|
||||||
|
7889, 330, //
|
||||||
|
8171, 340, //
|
||||||
|
8456, 350, //
|
||||||
|
8742, 360, //
|
||||||
|
9030, 370, //
|
||||||
|
9319, 380, //
|
||||||
|
9607, 390, //
|
||||||
|
9896, 400, //
|
||||||
|
10183, 410, //
|
||||||
|
10468, 420, //
|
||||||
|
10750, 430, //
|
||||||
|
11029, 440, //
|
||||||
|
11304, 450, //
|
||||||
|
11573, 460, //
|
||||||
|
11835, 470, //
|
||||||
|
12091, 480, //
|
||||||
|
12337, 490, //
|
||||||
|
12575, 500, //
|
||||||
|
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
const int uVtoDegCItems = sizeof(uVtoDegC) / (2 * sizeof(uint16_t));
|
||||||
|
|
||||||
|
|
||||||
|
uint32_t TipThermoModel::convertuVToDegC(uint32_t tipuVDelta) { return Utils::InterpolateLookupTable(uVtoDegC, uVtoDegCItems, tipuVDelta); }
|
||||||
@@ -9,7 +9,6 @@
|
|||||||
#include "BSP.h"
|
#include "BSP.h"
|
||||||
#include "Settings.h"
|
#include "Settings.h"
|
||||||
#include "Utils.h"
|
#include "Utils.h"
|
||||||
#include "configuration.h"
|
|
||||||
#include "main.hpp"
|
#include "main.hpp"
|
||||||
#include "power.hpp"
|
#include "power.hpp"
|
||||||
/*
|
/*
|
||||||
@@ -56,169 +55,7 @@ uint32_t TipThermoModel::convertTipRawADCTouV(uint16_t rawADC, bool ski
|
|||||||
uint32_t TipThermoModel::convertTipRawADCToDegC(uint16_t rawADC) { return convertuVToDegC(convertTipRawADCTouV(rawADC)); }
|
uint32_t TipThermoModel::convertTipRawADCToDegC(uint16_t rawADC) { return convertuVToDegC(convertTipRawADCTouV(rawADC)); }
|
||||||
uint32_t TipThermoModel::convertTipRawADCToDegF(uint16_t rawADC) { return convertuVToDegF(convertTipRawADCTouV(rawADC)); }
|
uint32_t TipThermoModel::convertTipRawADCToDegF(uint16_t rawADC) { return convertuVToDegF(convertTipRawADCTouV(rawADC)); }
|
||||||
|
|
||||||
// Table that is designed to be walked to find the best sample for the lookup
|
|
||||||
|
|
||||||
// Extrapolate between two points
|
|
||||||
// [x1, y1] = point 1
|
|
||||||
// [x2, y2] = point 2
|
|
||||||
// x = input value
|
|
||||||
// output is x's interpolated y value
|
|
||||||
#ifdef TEMP_uV_LOOKUP_HAKKO
|
|
||||||
const uint16_t uVtoDegC[] = {
|
|
||||||
//
|
|
||||||
//
|
|
||||||
0, 0, //
|
|
||||||
266, 10, //
|
|
||||||
522, 20, //
|
|
||||||
770, 30, //
|
|
||||||
1010, 40, //
|
|
||||||
1244, 50, //
|
|
||||||
1473, 60, //
|
|
||||||
1697, 70, //
|
|
||||||
1917, 80, //
|
|
||||||
2135, 90, //
|
|
||||||
2351, 100, //
|
|
||||||
2566, 110, //
|
|
||||||
2780, 120, //
|
|
||||||
2994, 130, //
|
|
||||||
3209, 140, //
|
|
||||||
3426, 150, //
|
|
||||||
3644, 160, //
|
|
||||||
3865, 170, //
|
|
||||||
4088, 180, //
|
|
||||||
4314, 190, //
|
|
||||||
4544, 200, //
|
|
||||||
4777, 210, //
|
|
||||||
5014, 220, //
|
|
||||||
5255, 230, //
|
|
||||||
5500, 240, //
|
|
||||||
5750, 250, //
|
|
||||||
6003, 260, //
|
|
||||||
6261, 270, //
|
|
||||||
6523, 280, //
|
|
||||||
6789, 290, //
|
|
||||||
7059, 300, //
|
|
||||||
7332, 310, //
|
|
||||||
7609, 320, //
|
|
||||||
7889, 330, //
|
|
||||||
8171, 340, //
|
|
||||||
8456, 350, //
|
|
||||||
8742, 360, //
|
|
||||||
9030, 370, //
|
|
||||||
9319, 380, //
|
|
||||||
9607, 390, //
|
|
||||||
9896, 400, //
|
|
||||||
10183, 410, //
|
|
||||||
10468, 420, //
|
|
||||||
10750, 430, //
|
|
||||||
11029, 440, //
|
|
||||||
11304, 450, //
|
|
||||||
11573, 460, //
|
|
||||||
11835, 470, //
|
|
||||||
12091, 480, //
|
|
||||||
12337, 490, //
|
|
||||||
12575, 500, //
|
|
||||||
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
#ifdef TEMP_uV_LOOKUP_MHP30
|
|
||||||
const uint16_t uVtoDegC[] = {
|
|
||||||
//
|
|
||||||
//
|
|
||||||
0, 0, //
|
|
||||||
397, 10, //
|
|
||||||
798, 20, ///
|
|
||||||
1203, 30, //
|
|
||||||
1612, 40, //
|
|
||||||
2023, 50, //
|
|
||||||
2436, 60, //
|
|
||||||
3225, 79, //
|
|
||||||
4013, 98, //
|
|
||||||
4756, 116, //
|
|
||||||
5491, 134, //
|
|
||||||
5694, 139, //
|
|
||||||
6339, 155, //
|
|
||||||
7021, 172, //
|
|
||||||
7859, 193, //
|
|
||||||
8619, 212, //
|
|
||||||
9383, 231, //
|
|
||||||
10153, 250, //
|
|
||||||
10930, 269, //
|
|
||||||
11712, 288, //
|
|
||||||
12499, 307, //
|
|
||||||
13290, 326, //
|
|
||||||
14084, 345, //
|
|
||||||
14881, 364, //
|
|
||||||
15680, 383, //
|
|
||||||
16482, 402, //
|
|
||||||
17285, 421, //
|
|
||||||
18091, 440, //
|
|
||||||
18898, 459, //
|
|
||||||
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef TEMP_uV_LOOKUP_TS80
|
|
||||||
|
|
||||||
const uint16_t uVtoDegC[] = {
|
|
||||||
//
|
|
||||||
//
|
|
||||||
530, 0, //
|
|
||||||
1282, 10, //
|
|
||||||
2034, 20, //
|
|
||||||
2786, 30, //
|
|
||||||
3538, 40, //
|
|
||||||
4290, 50, //
|
|
||||||
5043, 60, //
|
|
||||||
5795, 70, //
|
|
||||||
6547, 80, //
|
|
||||||
7299, 90, //
|
|
||||||
8051, 100, //
|
|
||||||
8803, 110, //
|
|
||||||
9555, 120, //
|
|
||||||
10308, 130, //
|
|
||||||
11060, 140, //
|
|
||||||
11812, 150, //
|
|
||||||
12564, 160, //
|
|
||||||
13316, 170, //
|
|
||||||
14068, 180, //
|
|
||||||
14820, 190, //
|
|
||||||
15573, 200, //
|
|
||||||
16325, 210, //
|
|
||||||
17077, 220, //
|
|
||||||
17829, 230, //
|
|
||||||
18581, 240, //
|
|
||||||
19333, 250, //
|
|
||||||
20085, 260, //
|
|
||||||
20838, 270, //
|
|
||||||
21590, 280, //
|
|
||||||
22342, 290, //
|
|
||||||
23094, 300, //
|
|
||||||
23846, 310, //
|
|
||||||
24598, 320, //
|
|
||||||
25350, 330, //
|
|
||||||
26103, 340, //
|
|
||||||
26855, 350, //
|
|
||||||
27607, 360, //
|
|
||||||
28359, 370, //
|
|
||||||
29111, 380, //
|
|
||||||
29863, 390, //
|
|
||||||
30615, 400, //
|
|
||||||
31368, 410, //
|
|
||||||
32120, 420, //
|
|
||||||
32872, 430, //
|
|
||||||
33624, 440, //
|
|
||||||
34376, 450, //
|
|
||||||
35128, 460, //
|
|
||||||
35880, 470, //
|
|
||||||
36632, 480, //
|
|
||||||
37385, 490, //
|
|
||||||
38137, 500, //
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
const int uVtoDegCItems = sizeof(uVtoDegC) / (2 * sizeof(uint16_t));
|
|
||||||
|
|
||||||
uint32_t TipThermoModel::convertuVToDegC(uint32_t tipuVDelta) { return Utils::InterpolateLookupTable(uVtoDegC, uVtoDegCItems, tipuVDelta); }
|
|
||||||
|
|
||||||
uint32_t TipThermoModel::convertuVToDegF(uint32_t tipuVDelta) { return convertCtoF(convertuVToDegC(tipuVDelta)); }
|
uint32_t TipThermoModel::convertuVToDegF(uint32_t tipuVDelta) { return convertCtoF(convertuVToDegC(tipuVDelta)); }
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user