2022-12-22 16:23:43 +01:00

34 lines
929 B
C

#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#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();
}