From 5ca33a8656d3851fe30a8f8a133e6997f2921d54 Mon Sep 17 00:00:00 2001 From: Skot Croshere Date: Thu, 19 Jan 2023 22:25:19 -0500 Subject: [PATCH] fan speed can be 16 bit --- main/EMC2101.c | 6 +++--- main/EMC2101.h | 2 +- main/i2c_simple_main.c | 10 +++++----- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/main/EMC2101.c b/main/EMC2101.c index 1b2dd11d..fdee10e8 100644 --- a/main/EMC2101.c +++ b/main/EMC2101.c @@ -48,10 +48,10 @@ void EMC2101_set_fan_speed(float percent) { } //RPM = 5400000/reading -uint32_t EMC2101_get_fan_speed(void) { +uint16_t EMC2101_get_fan_speed(void) { uint8_t tach_lsb, tach_msb; uint16_t reading; - uint32_t RPM; + uint16_t RPM; ESP_ERROR_CHECK(register_read(EMC2101_TACH_LSB, &tach_lsb, 1)); ESP_ERROR_CHECK(register_read(EMC2101_TACH_MSB, &tach_msb, 1)); @@ -61,7 +61,7 @@ uint32_t EMC2101_get_fan_speed(void) { reading = tach_lsb | (tach_msb << 8); RPM = 5400000/reading; - ESP_LOGI(TAG, "Fan Speed = %d RPM", RPM); + //ESP_LOGI(TAG, "Fan Speed = %d RPM", RPM); return RPM; } diff --git a/main/EMC2101.h b/main/EMC2101.h index 4aa11b74..c9879a3a 100644 --- a/main/EMC2101.h +++ b/main/EMC2101.h @@ -58,7 +58,7 @@ typedef enum { void EMC2101_set_fan_speed(float); void EMC2101_read(void); -uint32_t EMC2101_get_fan_speed(void); +uint16_t EMC2101_get_fan_speed(void); void EMC2101_set_config(uint8_t); #endif /* EMC2101_H_ */ \ No newline at end of file diff --git a/main/i2c_simple_main.c b/main/i2c_simple_main.c index 80ab28a9..05056f20 100755 --- a/main/i2c_simple_main.c +++ b/main/i2c_simple_main.c @@ -56,13 +56,13 @@ void app_main(void) { EMC2101_set_config(0x04); //set the tach input EMC2101_read(); EMC2101_set_fan_speed(0.5); - vTaskDelay(1000 / portTICK_RATE_MS); - EMC2101_get_fan_speed(); + vTaskDelay(500 / portTICK_RATE_MS); + ESP_LOGI(TAG, "Fan Speed: %d RPM", EMC2101_get_fan_speed()); //Current Sensor tests - ESP_LOGI(TAG, "Current: %.2fmA", INA260_read_current()); - ESP_LOGI(TAG, "Voltage: %.2fV", INA260_read_voltage()); - ESP_LOGI(TAG, "Power: %.2fW", INA260_read_power()); + ESP_LOGI(TAG, "Current: %.1f mA", INA260_read_current()); + ESP_LOGI(TAG, "Voltage: %.1f mV", INA260_read_voltage()); + ESP_LOGI(TAG, "Power: %.1f mW", INA260_read_power()); ESP_ERROR_CHECK(i2c_master_delete()); ESP_LOGI(TAG, "I2C unitialized successfully");