@@ -26,10 +26,16 @@ LOG_MODULE_REGISTER(temperature, CONFIG_TEMPERATURE_LOG_LEVEL);
2626
2727/// Emergency temperatures (fan at max speed)
2828#define MAIN_BOARD_OVERTEMP_C 80
29- #define FRONT_UNIT_OVERTEMP_C 70
30- #define MCU_DIE_OVERTEMP_C 65
3129#define LIQUID_LENS_OVERTEMP_C 80
3230
31+ #if defined(CONFIG_BOARD_PEARL_MAIN )
32+ #define FRONT_UNIT_OVERTEMP_C 70
33+ #define MCU_DIE_OVERTEMP_C 65
34+ #elif defined(CONFIG_BOARD_DIAMOND_MAIN )
35+ #define FRONT_UNIT_OVERTEMP_C 80
36+ #define MCU_DIE_OVERTEMP_C 80
37+ #endif
38+
3339// drop in temperature needed to stop over-temp mode
3440#define OVERTEMP_TO_NOMINAL_DROP_C 5
3541// rise in temperature above over-temp/emergency which shuts down the device
@@ -319,8 +325,12 @@ static struct sensor_and_channel sensors_and_channels[] = {
319325 orb_mcu_Temperature_TemperatureSource_FRONT_UNIT_850_LEFT_TOP ,
320326 .hardware_diagnostic_source =
321327 orb_mcu_HardwareDiagnostic_Source_UNKNOWN ,
322- .cb = NULL ,
323- .cb_data = NULL ,
328+ .cb = overtemp_callback ,
329+ .cb_data = & (struct overtemp_info ){.overtemp_c = FRONT_UNIT_OVERTEMP_C ,
330+ .overtemp_drop_c =
331+ OVERTEMP_TO_NOMINAL_DROP_C ,
332+ .in_overtemp = false,
333+ .critical_timer = 0 },
324334 .history = {0 },
325335 .wr_idx = 0 ,
326336 .average = TEMPERATURE_SENTINEL_VALUE },
@@ -345,8 +355,12 @@ static struct sensor_and_channel sensors_and_channels[] = {
345355 orb_mcu_Temperature_TemperatureSource_FRONT_UNIT_850_RIGHT_TOP ,
346356 .hardware_diagnostic_source =
347357 orb_mcu_HardwareDiagnostic_Source_UNKNOWN ,
348- .cb = NULL ,
349- .cb_data = NULL ,
358+ .cb = overtemp_callback ,
359+ .cb_data = & (struct overtemp_info ){.overtemp_c = FRONT_UNIT_OVERTEMP_C ,
360+ .overtemp_drop_c =
361+ OVERTEMP_TO_NOMINAL_DROP_C ,
362+ .in_overtemp = false,
363+ .critical_timer = 0 },
350364 .history = {0 },
351365 .wr_idx = 0 ,
352366 .average = TEMPERATURE_SENTINEL_VALUE },
@@ -358,8 +372,12 @@ static struct sensor_and_channel sensors_and_channels[] = {
358372 orb_mcu_Temperature_TemperatureSource_FRONT_UNIT_940_LEFT_TOP ,
359373 .hardware_diagnostic_source =
360374 orb_mcu_HardwareDiagnostic_Source_UNKNOWN ,
361- .cb = NULL ,
362- .cb_data = NULL ,
375+ .cb = overtemp_callback ,
376+ .cb_data = & (struct overtemp_info ){.overtemp_c = FRONT_UNIT_OVERTEMP_C ,
377+ .overtemp_drop_c =
378+ OVERTEMP_TO_NOMINAL_DROP_C ,
379+ .in_overtemp = false,
380+ .critical_timer = 0 },
363381 .history = {0 },
364382 .wr_idx = 0 ,
365383 .average = TEMPERATURE_SENTINEL_VALUE },
@@ -384,8 +402,12 @@ static struct sensor_and_channel sensors_and_channels[] = {
384402 orb_mcu_Temperature_TemperatureSource_FRONT_UNIT_940_RIGHT_TOP ,
385403 .hardware_diagnostic_source =
386404 orb_mcu_HardwareDiagnostic_Source_UNKNOWN ,
387- .cb = NULL ,
388- .cb_data = NULL ,
405+ .cb = overtemp_callback ,
406+ .cb_data = & (struct overtemp_info ){.overtemp_c = FRONT_UNIT_OVERTEMP_C ,
407+ .overtemp_drop_c =
408+ OVERTEMP_TO_NOMINAL_DROP_C ,
409+ .in_overtemp = false,
410+ .critical_timer = 0 },
389411 .history = {0 },
390412 .wr_idx = 0 ,
391413 .average = TEMPERATURE_SENTINEL_VALUE },
@@ -449,8 +471,12 @@ static struct sensor_and_channel sensors_and_channels[] = {
449471 orb_mcu_Temperature_TemperatureSource_FRONT_UNIT_SHROUD_RGB_TOP ,
450472 .hardware_diagnostic_source =
451473 orb_mcu_HardwareDiagnostic_Source_UNKNOWN ,
452- .cb = NULL ,
453- .cb_data = NULL ,
474+ .cb = overtemp_callback ,
475+ .cb_data = & (struct overtemp_info ){.overtemp_c = FRONT_UNIT_OVERTEMP_C ,
476+ .overtemp_drop_c =
477+ OVERTEMP_TO_NOMINAL_DROP_C ,
478+ .in_overtemp = false,
479+ .critical_timer = 0 },
454480 .history = {0 },
455481 .wr_idx = 0 ,
456482 .average = TEMPERATURE_SENTINEL_VALUE },
0 commit comments