From 9cec82ab1f211308809e76dbae3649041c49eeb4 Mon Sep 17 00:00:00 2001 From: Brian Rogers Date: Mon, 6 Apr 2026 13:22:54 -0600 Subject: [PATCH] fixed some naming conventions, error catching with opening json file, read all json in, append to array, overwrite file --- src/main.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main.c b/src/main.c index bb61cdf..f9f0b43 100644 --- a/src/main.c +++ b/src/main.c @@ -115,11 +115,11 @@ int8_t save_data_to_json_file(struct bme280_data *sensor_readings_data) timeinfo = localtime(&rawtime); strftime(dateString, 32, "%F", timeinfo); - strftime(timeString, 32, "%H_%M_%S", timeinfo); + strftime(timeString, 32, "%H:%M:%S", timeinfo); //puts(dateString); //time(&rawtime); - snprintf(filename, sizeof(filename), "readings_%s.json", dateString); + snprintf(filename, sizeof(filename), "%s.json", dateString); if (!check_file_exists(filename)) { @@ -132,7 +132,7 @@ int8_t save_data_to_json_file(struct bme280_data *sensor_readings_data) jsonFilePtr = fopen(filename, "r+"); if (jsonFilePtr == NULL) { - sprintf("Failed to open %s", filename); + fprintf(stderr, "Failed to open %s\n", filename); exit(1); } fread(jsonBuffer, 1024, 1, jsonFilePtr); @@ -183,7 +183,8 @@ int8_t save_data_to_json_file(struct bme280_data *sensor_readings_data) #endif json_object_object_add(parsed_json, timeString, latest_reading_object); - //fprintf(jsonFilePtr, json_object_to_json_string(parsed_json)); + fseek(jsonFilePtr, 0, SEEK_SET); + ftruncate(fileno(jsonFilePtr), 0); fputs(json_object_to_json_string(parsed_json), jsonFilePtr); printf("json to write out: %s \n", json_object_to_json_string(latest_reading_object)); printf("new json to write out: %s \n", json_object_to_json_string(parsed_json)); @@ -214,7 +215,7 @@ int8_t read_sensor_data_normal_mode(struct bme280_dev *dev) dev->delay_ms(200); // wait for first measurement readings_result = bme280_get_sensor_data(BME280_ALL, &sensor_readings_data, dev); print_sensor_data(&sensor_readings_data); - //save_data_to_json_file(&sensor_readings_data); + save_data_to_json_file(&sensor_readings_data); return readings_result; }