Fix #1: Implement save function for calibration
This commit is contained in:
@@ -77,7 +77,7 @@ static int open_or_create_controller_folder(DIR *controller_folder)
|
||||
return ret;
|
||||
}
|
||||
|
||||
int sd_card_settings_save_calibration(float sens_deviation, float offset)
|
||||
int sd_card_settings_save_calibration(float sens_deviation, float offset, bool active)
|
||||
{
|
||||
DIR folder;
|
||||
FIL cal_file;
|
||||
@@ -85,6 +85,7 @@ int sd_card_settings_save_calibration(float sens_deviation, float offset)
|
||||
FRESULT res;
|
||||
UINT bw;
|
||||
int ret = 0;
|
||||
char buff[256];
|
||||
|
||||
status = open_or_create_controller_folder(&folder);
|
||||
f_closedir(&folder);
|
||||
@@ -95,9 +96,21 @@ int sd_card_settings_save_calibration(float sens_deviation, float offset)
|
||||
/* Create new calibration file */
|
||||
res = f_open(&cal_file, CALIBRATION_FILE_NAME, FA_CREATE_ALWAYS | FA_WRITE);
|
||||
if (res == FR_OK) {
|
||||
f_write(&cal_file, "Test", 4U, &bw);
|
||||
status = snprintf(buff, sizeof(buff), "[cal]\noffset = %f\nsensdev = %f\nactive = %s\n",
|
||||
offset, sens_deviation, (active ? "true" : "false"));
|
||||
|
||||
if ((unsigned int)status < sizeof(buff) && status >= 0) {
|
||||
f_write(&cal_file, buff, status, &bw);
|
||||
if (bw == (unsigned int)status)
|
||||
ret = 0;
|
||||
else
|
||||
ret = -3;
|
||||
} else {
|
||||
ret = -4;
|
||||
}
|
||||
|
||||
f_close(&cal_file);
|
||||
ret = 0;
|
||||
|
||||
} else {
|
||||
ret = -1;
|
||||
}
|
||||
|
@@ -21,8 +21,8 @@
|
||||
#include <reflow-controller/settings/settings.h>
|
||||
#include <reflow-controller/settings/settings-sd-card.h>
|
||||
|
||||
settings_save_calibration(float sens_deviation, float offset)
|
||||
settings_save_calibration(float sens_deviation, float offset, bool active)
|
||||
{
|
||||
/* There is no other configuration location besides the SD card (yet) */
|
||||
return sd_card_settings_save_calibration(sens_deviation, offset);
|
||||
return sd_card_settings_save_calibration(sens_deviation, offset, active);
|
||||
}
|
||||
|
Reference in New Issue
Block a user