Files
cm_heatsink_emulator/cm_heatsink_emulator.h
2025-10-14 11:24:31 +02:00

38 lines
821 B
C

/*
* cm_heatsink_emulator.h
*
* Created on: 14 Oct 2025
* Author: Christian L. V. Madsen (OZ1CM)
*/
#ifndef CM_HEATSINK_EMULATOR_H_
#define CM_HEATSINK_EMULATOR_H_
#include <stdio.h>
#include <stdint.h>
typedef struct {
char label[32];
float R_th; // In Kelvin/Watt or Celsius/Watt (you can mix!)
}cm_heatsink_thermalElement_t;
typedef struct {
cm_heatsink_thermalElement_t *thermalElements;
int thermalElements_Counts;
float power;
float ambientTemp;
float C_th; // Thermal capacity
// Dynamic
float heatsinkTemperature;
}cm_heatsinkEmul_t;
float cm_heatsinkEmul_getRespon(cm_heatsinkEmul_t *inst, float dt);
int cm_heatsinkEmul_init(cm_heatsinkEmul_t *inst, cm_heatsink_thermalElement_t *elements, int elements_Count, float power, float ambientTemp);
#endif /* CM_HEATSINK_EMULATOR_H_ */