/*
 * inflash.c
 *
 *  Created on: 2024年6月24日
 *      Author: psx
 */

#include "inflash.h"
#include "flash.h"

config_info g_slConfigInfo = {
    .start_Flag = {'S', 'L'},
    .address = {0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11},
    .end_Flag = 0x16,
    .Access_Node_Type = POWERBOX,
    .Communication_Methods = RS485,
    .bat485_Baud = 9600,
    .gw485_Baud = 9600,
};


/**
 * @brief   保存配置信息
 * @param   save_config_info 需要保存的配置信息
 * @retval
 */
void save_config_info(config_info save_config_info)
{
    SPI_Flash_Write((uint8_t *)&save_config_info, FLASH_SAVE_ADDR_BEGIN, CONFIG_INFO_SIZE);
}


/**
 * @brief   读取配置信息
 * @param   read_config_info 读取的配置信息
 * @retval  0   flash中读取配置失败
 *          1   flash中读取配置成功
 */
uint8_t read_config_info(void)
{
    config_info temp_config_info;
    SPI_Flash_Read((uint8_t *)&temp_config_info, FLASH_SAVE_ADDR_BEGIN, CONFIG_INFO_SIZE);
    if (temp_config_info.start_Flag[0] == 'S') {
        g_slConfigInfo = temp_config_info;
        return 1;
    }
    return 0;
}





