diff --git a/firmware/slavechip/offset.c b/firmware/slavechip/offset.c new file mode 100644 index 0000000..9135214 --- /dev/null +++ b/firmware/slavechip/offset.c @@ -0,0 +1,20 @@ +#include "offset.h" + +int16_t offset_measure[4]; +int16_t offset_count[4]; +int16_t offset_val[4]; +int16_t offsets[4]; + + +int16_t offset_measure_start(int16_t channel) { + offset_measure[channel] = 1; + offset_count[channel] = 1; + offset_val[channel] = 0; + return 1; +} + +int16_t offset_measure_stop(int16_t channel) { + offset_measure[channel] = 0; + offsets[channel] = offset_val[channel] / offset_count[channel]; + return offsets[channel]; +} diff --git a/firmware/slavechip/offset.h b/firmware/slavechip/offset.h new file mode 100644 index 0000000..2c23609 --- /dev/null +++ b/firmware/slavechip/offset.h @@ -0,0 +1,15 @@ +#ifndef __OFFSET_H +#define __OFFSET_H + +#include "main.h" +#include + +extern int16_t offset_measure[4]; +extern int16_t offset_count[4]; +extern int16_t offset_val[4]; +extern int16_t offsets[4]; + +int16_t offset_measure_start(int16_t channel); +int16_t offset_measure_stop(int16_t channel); + +#endif