real gain

This commit is contained in:
leo 2023-06-17 11:11:24 +02:00
parent b0a5fab264
commit 1c0ce2d750
Signed by: leo
GPG Key ID: 0DD993BFB2B307DB
3 changed files with 11 additions and 3 deletions

View File

@ -352,7 +352,10 @@ void notify_update(measurements* meas){
}
void notify_range(configuration* conf){
ESP_LOGI(TAG, "notify range");
if(!range_notify_state)
return;
ESP_LOGI(TAG, "notify range %d", conf->range);
struct os_mbuf* om = ble_hs_mbuf_from_flat(&conf->range, sizeof(conf->range));
ESP_ERROR_CHECK(ble_gattc_notify_custom(conn_handle, range_handle[CURRENT_RANGE_ID], om));
}

View File

@ -7,7 +7,8 @@
typedef struct {
unsigned int channel;
unsigned int gain; // x1000
unsigned int gain;
unsigned int real_gain;
} measurement_input;
typedef struct {

View File

@ -50,14 +50,17 @@ measurement_input inputs[] = {
[X1] = {
.channel = ADC1_CHANNEL_3,
.gain = 1,
.real_gain = 1114,
},
[X10] = {
.channel = ADC1_CHANNEL_0,
.gain = 10,
.real_gain = 10850,
},
[X100] = {
.channel = ADC1_CHANNEL_1,
.gain = 100,
.real_gain = 100000,
},
};
@ -180,7 +183,8 @@ void app_main(void){
ESP_ERROR_CHECK(adc_cali_raw_to_voltage(adc_conv_h[i], val, &mv));
ESP_LOGI(TAG, "IN %d : %d mV (%lu / %lu = %lu)", i, mv, meas_res_buff[i], meas_nb_buff[i], meas_res_buff[i]/meas_nb_buff[i]);
meas_volts[i] = mv;
meas_amp[i] = mv * 1000000L / ranges[main_conf.range].resistance / inputs[i].gain;
uint32_t buff = (uint64_t)mv * 1000000000L / ranges[main_conf.range].resistance / inputs[i].real_gain;
meas_amp[i] = buff;
}
if(meas_volts[UNDERRANGE_SRC] < UNDERRANGE_MV){