30 lines
988 B
C
30 lines
988 B
C
//
|
|
// Created by cfif on 06.05.2026.
|
|
//
|
|
|
|
#ifndef HVAC_M7_ADC_TEMP_FAST_H
|
|
#define HVAC_M7_ADC_TEMP_FAST_H
|
|
|
|
#include "stdint.h"
|
|
|
|
// Структура для точки таблицы
|
|
typedef struct {
|
|
uint16_t adc;
|
|
int16_t temp;
|
|
float resistance;
|
|
} TablePoint;
|
|
|
|
extern const TablePoint temperature_table_duct_KST45_table_3000[];
|
|
extern const TablePoint temperature_table_duct_KST45_table_20000[];
|
|
|
|
|
|
float get_temperature_by_adc(const TablePoint* table, int table_size, int adc_value);
|
|
float get_resistance_by_temperature_linear(const TablePoint* table, int table_size, float temperature);
|
|
|
|
// Быстрый поиск температуры по ADC (прямая индексация)
|
|
int16_t lookup_table_get_temp(const TablePoint *table, uint16_t adc_value);
|
|
// Быстрый поиск сопротивления по ADC (прямая индексация)
|
|
float lookup_table_get_resistance(const TablePoint *table, uint16_t adc_value);
|
|
|
|
#endif //HVAC_M7_ADC_TEMP_FAST_H
|