This commit is contained in:
cfif 2026-04-01 13:44:07 +03:00
parent 7c0746d23c
commit 1e07d0c7a5
2 changed files with 11 additions and 9 deletions

View File

@ -32,7 +32,7 @@ typedef enum {
// Размеры таблиц
#define TABLE_SIZE_KST45 26
#define TABLE_SIZE_INCAR 38
#define TABLE_SIZE_LOOKUP 4096
#define TABLE_SIZE_LOOKUP 256
// Предварительно вычисленная таблица для быстрого доступа для каждой таблицы
typedef struct {

View File

@ -96,32 +96,34 @@ int main() {
3300.0f, // R1 для INCAR
ALG_STEINHART);
uint16_t adc_value = 1980;
uint16_t adc_value = 3200;//1980;
printf("\n=== Работа с обеими таблицами одновременно ===\n");
// Получаем температуру для KST45
int16_t temp_kst45 = get_temperature_log_fast_for_table(adc_value, TABLE_KST45);
printf("KST45: ADC=%u, Temp=%.1f °C\n", adc_value, temp_kst45 / 10.0f);
printf("KST45: ADC=%u, Temp=%.2f °C\n", adc_value, temp_kst45 / 10.0f);
// Получаем температуру для INCAR
int16_t temp_incar = get_temperature_log_fast_for_table(adc_value, TABLE_INCAR);
printf("INCAR: ADC=%u, Temp=%.1f °C\n", adc_value, temp_incar / 10.0f);
printf("INCAR: ADC=%u, Temp=%.2f °C\n", adc_value, temp_incar / 10.0f);
// Можно переключать активную конфигурацию
printf("\n=== Переключение активной конфигурации ===\n");
set_active_config(TABLE_KST45, 3300.0f);
int16_t temp_active1 = get_temperature_log_fast(adc_value);
printf("Активная (KST45): Temp=%.1f °C\n", temp_active1 / 10.0f);
float temp_kst45_alg = get_temperature_from_adc(adc_value, ALG_STEINHART);
printf("Активная (KST45): Temp=%.2f °C Temp (alg) = %.2f °C\n", temp_active1 / 10.0f, temp_kst45_alg);
set_active_config(TABLE_INCAR, 20000.0f);
set_active_config(TABLE_INCAR, 3300.0f);
int16_t temp_active2 = get_temperature_log_fast(adc_value);
printf("Активная (INCAR): Temp=%.1f °C\n", temp_active2 / 10.0f);
float temp_incar_alg = get_temperature_from_adc(adc_value, ALG_STEINHART);
printf("Активная (INCAR): Temp=%.2f °C Temp (alg) = %.2f °C\n", temp_active2 / 10.0f, temp_incar_alg);
// Получаем доступ к таблицам для отладки
const fast_lookup_tables_t* tables = get_fast_tables();
/*
printf("\n=== Пример данных из таблиц быстрого поиска ===\n");
printf("KST45 таблица (первые 15 записи):\n");
for(int i = 0; i < 15; i++) {
@ -154,7 +156,7 @@ int main() {
tables->incar[i].temp_c / 10.0f,
tables->incar[i].resistance_ohm);
}
*/
// Сохраняем таблицы в файлы
printf("\n=== Сохранение таблиц в файлы ===\n");
save_both_tables();