SC-F001 way better logging and parameters. not integrated yet but.
This commit is contained in:
68
main/main.c
Normal file
68
main/main.c
Normal file
@@ -0,0 +1,68 @@
|
||||
#include "storage.h"
|
||||
#include "uart_comms.h"
|
||||
#include "esp_err.h"
|
||||
#include "esp_log.h"
|
||||
#include "endian.h"
|
||||
#include "control_fsm.h"
|
||||
#include "power_mgmt.h"
|
||||
#include "rtc.h"
|
||||
#include "sensors.h"
|
||||
|
||||
#define TAG "MAIN"
|
||||
|
||||
esp_err_t send_log() {
|
||||
|
||||
char entry[LOG_ENTRY_SIZE] = {0};
|
||||
entry[0] = LOG_ENTRY_SIZE;
|
||||
|
||||
// Pack 64-bit timestamp into bytes 1-8
|
||||
uint64_t be_timestamp = htobe64(rtc_time_ms());
|
||||
memcpy(&entry[1], &be_timestamp, 8);
|
||||
|
||||
// Pack 32-bit voltages/currents into bytes 9-24
|
||||
/*int32_t be_voltage = htobe32(get_battery_mV());
|
||||
memcpy(&entry[9], &be_voltage, 4);
|
||||
int32_t be_current1 = htobe32(get_bridge_mA(BRIDGE_DRIVE));
|
||||
memcpy(&entry[13], &be_current1, 4);
|
||||
int32_t be_current2 = htobe32(get_bridge_mA(BRIDGE_JACK));
|
||||
memcpy(&entry[17], &be_current2, 4);
|
||||
int32_t be_current3 = htobe32(get_bridge_mA(BRIDGE_AUX));
|
||||
memcpy(&entry[21], &be_current3, 4);
|
||||
|
||||
int32_t be_counter = htobe32(get_sensor_counter(SENSOR_DRIVE));
|
||||
memcpy(&entry[25], &be_counter, 4);
|
||||
|
||||
entry[29] = get_sensor(SENSOR_DRIVE);
|
||||
entry[30] = get_sensor(SENSOR_JACK);
|
||||
entry[31] = fsm_get_state();*/
|
||||
|
||||
return write_log(entry);
|
||||
}
|
||||
|
||||
void app_main(void) {
|
||||
// Initialize storage and load parameters
|
||||
ESP_LOGI(TAG, "Initializing storage...");
|
||||
esp_err_t ret = storage_init();
|
||||
if (ret != ESP_OK) {
|
||||
ESP_LOGW(TAG, "Storage init failed, using defaults");
|
||||
}
|
||||
|
||||
// Initialize logging
|
||||
ESP_LOGI(TAG, "Initializing logging...");
|
||||
ret = log_init();
|
||||
if (ret != ESP_OK) {
|
||||
ESP_LOGE(TAG, "Log init failed");
|
||||
}
|
||||
|
||||
uart_start();
|
||||
|
||||
|
||||
TickType_t xLastWakeTime = xTaskGetTickCount();
|
||||
const TickType_t xFrequency = pdMS_TO_TICKS(100);
|
||||
|
||||
while(true) {
|
||||
vTaskDelayUntil(&xLastWakeTime, xFrequency);
|
||||
|
||||
send_log();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user