#include #include #include #include "power_inout.h" #include "MMC56x3.h" power_conf_t* get_power_configuration(nvs_handle_t nvs){ power_conf_t* conf = malloc(sizeof(power_conf_t)); power_data_t* data = malloc(sizeof(power_data_t)); conf->data = data; return conf; } void update_magfield_readings(power_data_t* data){ int32_t bx, by, bz; MMC56x3_get_mag_field(&bx, &by, &bz); MMC56x3_to_pT(bx, by, bz, &data->bx, &data->by, &data->bz); } void update_magfield_readings_cal(power_data_t* data){ int32_t bx, by, bz; MMC56x3_get_mag_field(&bx, &by, &bz); bx+=data->bridge_offset[0]; by+=data->bridge_offset[1]; bz+=data->bridge_offset[2]; MMC56x3_to_pT(bx, by, bz, &data->bx, &data->by, &data->bz); } void update_bridge_offset(power_data_t* data){ MMC56x3_get_bridge_offset(&data->bridge_offset[0], &data->bridge_offset[1], &data->bridge_offset[2]); MMC56x3_set(); }