75 lines
2.4 KiB
C
75 lines
2.4 KiB
C
/*
|
|
* nvm.h
|
|
*
|
|
* Created on: Aug 14, 2023
|
|
* Author: Sword
|
|
*/
|
|
|
|
#ifndef MAIN_NVM_H_
|
|
#define MAIN_NVM_H_
|
|
|
|
#include "data_processing.h"
|
|
|
|
#define NVM_CELL_ONBOARDING_KEY "on_boarding"
|
|
#define NVM_WIFI_ONBOARDING_KEY "wifi_onboarding"
|
|
#define NVM_WIFI_SSID_KEY "wifi_ssid"
|
|
#define NVM_WIFI_SSID_LENGTH_KEY "wifi_ssid_len"
|
|
#define NVM_WIFI_PSWD_KEY "wifi_pswd"
|
|
#define NVM_WIFI_PSWD_LENGTH_KEY "wifi_pswd_len"
|
|
#define NVM_COMMS_MODE_KEY "commsMode"
|
|
#define NVM_HISTORY_DATA_KEY "history_data%u"
|
|
|
|
#define NVM_HISTORY_SECTOR1 "history_data1"
|
|
#define NVM_HISTORY_SECTOR2 "history_data2"
|
|
#define NVM_HISTORY_SECTOR3 "history_data3"
|
|
#define NVM_HISTORY_SECTOR4 "history_data4"
|
|
#define NVM_HISTORY_SECTOR5 "history_data5"
|
|
#define NVM_HISTORY_SECTOR6 "history_data6"
|
|
#define NVM_HISTORY_SECTOR7 "history_data7"
|
|
#define NVM_HISTORY_SECTOR8 "history_data8"
|
|
|
|
#define NVM_ONBOARDING_SET_VAL 1
|
|
#define NVM_ONBOARDING_NOT_SET_VAL 0
|
|
#define NVM_ONBOARDING_NOT_STORED_VAL 2
|
|
|
|
#define NVM_MAX_NUMBER_OF_ALL_READINGS 750 //max number of sensor_readings in all NVM sector
|
|
#define NVM_MAX_NUMBER_OF_IN_ONE_SECTOR 20 //max number of readings in one NVM/NVS sector
|
|
#define NVM_NUMBER_OF_SECTORS ((NVM_MAX_NUMBER_OF_ALL_READINGS) / NVM_MAX_NUMBER_OF_IN_ONE_SECTOR) // ----> number_of_sectors = max_num_readings / number of readings in one NVM sector
|
|
#define NVM_ONE_SECOTR_SIZE (37 * (NVM_NUMBER_OF_SECTORS))
|
|
|
|
#define NVM_HISTORY_ALL_SECTORS (NVM_NUMBER_OF_SECTORS+1)
|
|
|
|
typedef enum
|
|
{
|
|
WIFI_ONBOARDING_KEY,
|
|
CELL_ONBOARDING_KEY
|
|
}onboarding_type_t;
|
|
|
|
|
|
void nvm_init(void);
|
|
void nvm_clear(void);
|
|
|
|
|
|
uint8_t nvm_read_onboarding_flag(onboarding_type_t flag_key);
|
|
void nvm_write_onboarding_flag(onboarding_type_t flag_key, uint8_t flag_value);
|
|
|
|
|
|
uint8_t nvm_read_comms_mode(void);
|
|
void nvm_write_comms_mode(uint8_t commsMode);
|
|
|
|
|
|
esp_err_t nvm_read_wifi_credentials(char* ssid, char* pswd);
|
|
void nvm_write_wifi_credentials(char* ssid, uint8_t ssid_len, char* pswd, uint8_t pswd_len);
|
|
|
|
|
|
void nvm_write_history_data(historyLog_t* history_data);
|
|
size_t nvm_read_history_data(historyLog_t* history_data, uint8_t sector_number);
|
|
void nvm_clear_history_sector(uint8_t sector_num);
|
|
uint8_t nvm_get_last_written_history_sector(void);
|
|
|
|
|
|
void nvm_set_last_posted_history_sector(uint8_t sector_num);
|
|
uint8_t nvm_get_last_posted_history_sector(void);
|
|
|
|
#endif /* MAIN_NVM_H_ */
|