2022-03-04 09:59:07 +00:00
|
|
|
/*
|
|
|
|
* SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
|
|
*/
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include "esp_log.h"
|
|
|
|
#include "unity.h"
|
|
|
|
#include "driver/temp_sensor.h"
|
|
|
|
|
2022-03-11 12:47:04 +00:00
|
|
|
TEST_CASE("Temperature_legacy_workflow_test", "[hw_timer]")
|
2022-03-04 09:59:07 +00:00
|
|
|
{
|
|
|
|
printf("Initializing Temperature sensor\n");
|
|
|
|
float tsens_out;
|
|
|
|
temp_sensor_config_t temp_sensor = TSENS_CONFIG_DEFAULT();
|
|
|
|
TEST_ESP_OK(temp_sensor_get_config(&temp_sensor));
|
|
|
|
printf("default dac %d, clk_div %d\n", temp_sensor.dac_offset, temp_sensor.clk_div);
|
|
|
|
temp_sensor.dac_offset = TSENS_DAC_DEFAULT; // DEFAULT: range:-10℃ ~ 80℃, error < 1℃.
|
|
|
|
TEST_ESP_OK(temp_sensor_set_config(temp_sensor));
|
|
|
|
TEST_ESP_OK(temp_sensor_start());
|
|
|
|
printf("Temperature sensor started\n");
|
|
|
|
TEST_ESP_OK(temp_sensor_read_celsius(&tsens_out));
|
|
|
|
printf("Temperature out celsius %f°C\n", tsens_out);
|
|
|
|
TEST_ESP_OK(temp_sensor_stop());
|
|
|
|
temp_sensor.dac_offset = TSENS_DAC_L3;
|
|
|
|
TEST_ESP_OK(temp_sensor_set_config(temp_sensor));
|
|
|
|
TEST_ESP_OK(temp_sensor_start());
|
|
|
|
printf("Temperature sensor started again\n");
|
|
|
|
TEST_ESP_OK(temp_sensor_read_celsius(&tsens_out));
|
|
|
|
printf("Temperature out celsius %f°C\n", tsens_out);
|
|
|
|
TEST_ESP_OK(temp_sensor_stop());
|
|
|
|
}
|
|
|
|
|
2022-03-11 12:47:04 +00:00
|
|
|
TEST_CASE("Temperature legacy double start error cause test", "[temperature_sensor]")
|
2022-03-04 09:59:07 +00:00
|
|
|
{
|
|
|
|
printf("Initializing Temperature sensor\n");
|
|
|
|
temp_sensor_config_t temp_sensor = TSENS_CONFIG_DEFAULT();
|
|
|
|
TEST_ESP_OK(temp_sensor_set_config(temp_sensor));
|
|
|
|
TEST_ESP_OK(temp_sensor_start());
|
|
|
|
TEST_ESP_ERR(ESP_ERR_INVALID_STATE, temp_sensor_start());
|
|
|
|
TEST_ESP_OK(temp_sensor_stop());
|
|
|
|
}
|
|
|
|
|
2022-03-11 12:47:04 +00:00
|
|
|
TEST_CASE("Temperature legacy double Start-Stop test", "[temperature_sensor]")
|
2022-03-04 09:59:07 +00:00
|
|
|
{
|
|
|
|
printf("Initializing Temperature sensor\n");
|
|
|
|
float tsens_out;
|
|
|
|
temp_sensor_config_t temp_sensor = TSENS_CONFIG_DEFAULT();
|
|
|
|
TEST_ESP_OK(temp_sensor_get_config(&temp_sensor));
|
|
|
|
printf("default dac %d, clk_div %d\n", temp_sensor.dac_offset, temp_sensor.clk_div);
|
|
|
|
temp_sensor.dac_offset = TSENS_DAC_DEFAULT; // DEFAULT: range:-10℃ ~ 80℃, error < 1℃.
|
|
|
|
TEST_ESP_OK(temp_sensor_set_config(temp_sensor));
|
|
|
|
TEST_ESP_OK(temp_sensor_start());
|
|
|
|
printf("Temperature sensor started\n");
|
|
|
|
TEST_ESP_OK(temp_sensor_read_celsius(&tsens_out));
|
|
|
|
printf("Temperature out celsius %f°C\n", tsens_out);
|
|
|
|
TEST_ESP_OK(temp_sensor_stop());
|
|
|
|
TEST_ESP_OK(temp_sensor_start());
|
|
|
|
printf("Temperature sensor started again\n");
|
|
|
|
TEST_ESP_OK(temp_sensor_read_celsius(&tsens_out));
|
|
|
|
printf("Temperature out celsius %f°C\n", tsens_out);
|
|
|
|
TEST_ESP_OK(temp_sensor_stop());
|
|
|
|
}
|