Hello Bonkerz
Yes, I managed to get my LV08 working fully a couple of days ago on v2.5.1-TCH which is forked from skot as well. While the modifications you made to the
TPS546.c file communicate to all 3 TPS546 regulators at the same time, it doesn't allow you to query each regulator independently. I went for this approach:
static i2c_master_dev_handle_t tps546_dev_handle[3]; // For up to 3 TPS546 devices (LV08)
static uint16_t TPS_I2C_ADDR[3] = {0x7F, 0x24, 0x14}; // [1] (0x24) is only referenced for single TPS546 devices
And so I had to add another variable to all the relevant functions:
TPS_IDX = {0, 1, or 2}
/* public functions */
int TPS546_init(TPS546_CONFIG, int TPS_IDX);
void TPS546_read_mfr_info(uint8_t *, int TPS_IDX);
void TPS546_set_mfr_info(int TPS_IDX);
void TPS546_write_entire_config(int TPS_IDX);
int TPS546_get_frequency(int TPS_IDX);
void TPS546_set_frequency(int, int TPS_IDX);
int TPS546_get_temperature(int TPS_IDX);
float TPS546_get_vin(int TPS_IDX);
float TPS546_get_iout(int TPS_IDX);
float TPS546_get_vout(int TPS_IDX);
void TPS546_set_vout(float volts, int TPS_IDX);
void TPS546_show_voltage_settings(int TPS_IDX);
void TPS546_print_status(int TPS_IDX);
When I need to update the dashboard temperature of the TPS546 devices on the LV08, I query all three but only display the highest temperature. Also power in watts is an accumulation of all 3 TPS546 device's power (voltage * current), with an offset of 18 watts added (6 watts for each regulator). This exactly matches the results I got from the original Lucky Miner v1.0.0 firmware...