mirror of
https://github.com/skot/ESP-Miner.git
synced 2025-03-28 18:52:34 +01:00
added chip temp to EMC2101.c
This commit is contained in:
parent
b69e0a54b4
commit
345676e506
@ -35,8 +35,10 @@ static esp_err_t register_write_byte(uint8_t reg_addr, uint8_t data) {
|
|||||||
|
|
||||||
|
|
||||||
//takes a fan speed percent
|
//takes a fan speed percent
|
||||||
void EMC2101_set_config(uint8_t reg) {
|
void EMC2101_init(void) {
|
||||||
ESP_ERROR_CHECK(register_write_byte(EMC2101_REG_CONFIG, reg));
|
|
||||||
|
//set the TACH input
|
||||||
|
ESP_ERROR_CHECK(register_write_byte(EMC2101_REG_CONFIG, 0x04));
|
||||||
}
|
}
|
||||||
|
|
||||||
//takes a fan speed percent
|
//takes a fan speed percent
|
||||||
@ -65,10 +67,24 @@ uint16_t EMC2101_get_fan_speed(void) {
|
|||||||
return RPM;
|
return RPM;
|
||||||
}
|
}
|
||||||
|
|
||||||
void EMC2101_read(void) {
|
// void EMC2101_read(void) {
|
||||||
uint8_t data;
|
// uint8_t data;
|
||||||
|
|
||||||
/* Read the EMC2101 WHO_AM_I register, on power up the register should have the value 0x16 or 0x28 */
|
// /* Read the EMC2101 WHO_AM_I register, on power up the register should have the value 0x16 or 0x28 */
|
||||||
ESP_ERROR_CHECK(register_read(EMC2101_REG_CONFIG, &data, 1));
|
// ESP_ERROR_CHECK(register_read(EMC2101_REG_CONFIG, &data, 1));
|
||||||
ESP_LOGI(TAG, "EMC2101 Config register = 0x%02X", data);
|
// ESP_LOGI(TAG, "EMC2101 Config register = 0x%02X", data);
|
||||||
|
// }
|
||||||
|
|
||||||
|
float EMC2101_get_chip_temp(void) {
|
||||||
|
uint8_t temp_msb, temp_lsb;
|
||||||
|
uint16_t reading;
|
||||||
|
|
||||||
|
|
||||||
|
ESP_ERROR_CHECK(register_read(EMC2101_EXTERNAL_TEMP_MSB, &temp_msb, 1));
|
||||||
|
ESP_ERROR_CHECK(register_read(EMC2101_EXTERNAL_TEMP_LSB, &temp_lsb, 1));
|
||||||
|
|
||||||
|
reading = temp_lsb | (temp_msb << 8);
|
||||||
|
reading >>= 5;
|
||||||
|
|
||||||
|
return (float)reading / 8.0;
|
||||||
}
|
}
|
@ -57,8 +57,9 @@ typedef enum {
|
|||||||
} emc2101_rate_t;
|
} emc2101_rate_t;
|
||||||
|
|
||||||
void EMC2101_set_fan_speed(float);
|
void EMC2101_set_fan_speed(float);
|
||||||
void EMC2101_read(void);
|
//void EMC2101_read(void);
|
||||||
uint16_t EMC2101_get_fan_speed(void);
|
uint16_t EMC2101_get_fan_speed(void);
|
||||||
void EMC2101_set_config(uint8_t);
|
void EMC2101_init(void);
|
||||||
|
float EMC2101_get_chip_temp(void);
|
||||||
|
|
||||||
#endif /* EMC2101_H_ */
|
#endif /* EMC2101_H_ */
|
@ -46,11 +46,11 @@ void app_main(void) {
|
|||||||
DS4432U_set_vcore(1.25);
|
DS4432U_set_vcore(1.25);
|
||||||
|
|
||||||
//Fan Tests
|
//Fan Tests
|
||||||
EMC2101_set_config(0x04); //set the tach input
|
EMC2101_init();
|
||||||
EMC2101_read();
|
|
||||||
EMC2101_set_fan_speed(0.5);
|
EMC2101_set_fan_speed(0.5);
|
||||||
vTaskDelay(500 / portTICK_RATE_MS);
|
vTaskDelay(500 / portTICK_RATE_MS);
|
||||||
ESP_LOGI(TAG, "Fan Speed: %d RPM", EMC2101_get_fan_speed());
|
ESP_LOGI(TAG, "Fan Speed: %d RPM", EMC2101_get_fan_speed());
|
||||||
|
ESP_LOGI(TAG, "Chip Temp: %.2f C", EMC2101_get_chip_temp());
|
||||||
|
|
||||||
//Current Sensor tests
|
//Current Sensor tests
|
||||||
ESP_LOGI(TAG, "Current: %d mA", INA260_read_current());
|
ESP_LOGI(TAG, "Current: %d mA", INA260_read_current());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user