| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 | #ifndef SETTINGS_API_H#define SETTINGS_API_H#include "at32f403a_407.h"#include <stdbool.h>#include "usart.h"#include "sys_api.h"#include "mb.h"#include "mbport.h"#define MODEL_LEN           16// ------------------------------------------------------------------- ////					 		Modbus// ------------------------------------------------------------------- //// Modbus typedef struct{	rate_t     baud;		// Скорость порта 	parity_t   parity;		// Четность 	databits_t databits;	// Число бит данных	stopbits_t stopbits;	// Число стоп-бит  } modbus_t;// Общая структура настроек для IAP и FWtypedef struct{    uint16_t    mb_port;    // Настройки порта для modbus    //char model[MODEL_LEN];  // Модель      } com_settings_t;// Полная структура настроекtypedef struct{    com_settings_t  com_settings;    uint32_t        critical_section_crc;    } settings_t;//typedef enum {	MB_BOOT_ERR_NO            = 0x01,        MB_BOOT_ERR_WRONG_CONTENT = 0x02,    MB_BOOT_ERR_WRONG_FW_SIZE = 0x03,	MB_BOOT_ERR_WRONG_KEY     = 0x04,	MB_BOOT_FLASH_ERR         = 0x05,    MB_BOOT_WRONG_PACK_INDEX  = 0x06,     MB_BOOT_ERR_WRONG_FW_CRC  = 0x07,} mb_err_code_t ;// Загрузка структуры настроек из fleshvoid settings_load(settings_t *settings);//void init_settings(void);//void settings_read_from_flash(uint8_t *data, uint32_t size);//uint32_t settings_get_crc(settings_t *settings);//uint32_t settings_get_crit_sec_crc(settings_t *settings);// Сброс всех настроек в значения по умолчаниюvoid settings_set_all_default(void);// -------------------------------------------------------------------------- //// Настройки по умолчанию//void settings_set_modbus_def(uint16_t *mb_port);//void settings_conv_modbus_def(modbus_t *mb_settings, uint16_t *mb_port);// Установка параметров Modbusvoid settings_set_modbus_params(uint16_t mb_port);// -------------------------------------------------------------------------- //// Запись структуры настроек во flashvoid settings_save(settings_t *settings);//void settings_write_to_flash(uint8_t *data, uint32_t size);// Очистка сектора настроекvoid settings_erase_flash_sector(void);//uint32_t settings_get_mb_baud(modbus_t *mb_settings);//eMBParity settings_get_mb_par(modbus_t *mb_settings);// Системные настройкиextern sys_settings_t sys_settings;//extern settings_t settings;//extern modbus_t mb_port_settings;#endif /* #ifndef SETTINGS_API_H */
 |