| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192 | 
							- /********************************* (C) РОТЕК ***********************************
 
-  * @module  settings_api
 
-  * @file    settings_api.h
 
-  * @version 1.0.0
 
-  * @date    XX.XX.XXXX
 
-  * $brief   settings_api
 
-  *******************************************************************************
 
-  * @history     Version  Author         Comment
 
-  * XX.XX.XXXX   1.0.0    Telenkov D.A.  First release.
 
-  *******************************************************************************
 
-  */
 
- /* Define to prevent recursive  ----------------------------------------------*/
 
- #ifndef SETTINGS_API_H
 
- #define SETTINGS_API_H
 
- #include "stm32f4xx.h"
 
- #include <stdbool.h>
 
- #ifndef DEVICE_SERIAL
 
- #define DEVICE_SERIAL "7023000"
 
- #endif
 
- /**
 
- * @brief  Параметры обновления ПО
 
-   */
 
- typedef struct
 
- {
 
-   uint8_t loadMode; // 0 - основная прошивка, 1 - режим обновления ПО
 
-   uint8_t bootTry;  // Признак 
 
-   
 
- } BOOT_PARAMS_t;
 
- /**
 
-   * @brief  Параметры сетевого подключения
 
-   */
 
- typedef struct
 
- {
 
-   char    ip[16];
 
-   char    gate[16];
 
-   char    mask[16];
 
-   uint8_t dhcpEnable;  // 0 - DHCP отключен, 1 - включен
 
- 	
 
- } WEB_PARAMS_t;
 
- /**
 
-   * @brief  Параметры SNMP
 
-   */
 
- typedef struct
 
- {
 
-   char sysDescr[160];
 
-   char readCommunity[20];
 
-   char writeCommunity[20];
 
-   char sysContact[50];
 
-   char sysName[20];
 
-   char sysLocation[110];
 
-   char managerIP[20];
 
-   char managerIP2[20];
 
-   char managerIP3[20];
 
-   
 
- } SNMP_t;
 
- /**
 
-   * @brief  Информация об устройстве
 
-   */
 
- typedef struct
 
- {
 
-   char  productionData[40];  // Дата производства
 
-   char  mac[18];             // MAC адрес
 
-   char  serialNumber[16];    // Серийный номер
 
-   char  comments[110];       // Комментарии
 
-   
 
- } DEVICE_INFO_t; 
 
- /**
 
-   * @brief  Флаги, ключи и т.д.
 
-   */
 
- typedef struct
 
- {
 
-   bool netsettingsChanged;   // Признак изменения сетевых настроек пользователем
 
-   char testState[16];        // Статус производственного тестирования
 
- } FLAGS_t;
 
-   
 
- /**
 
-   * @brief  Общая структура настроек
 
-   */
 
- typedef struct
 
- {
 
-   BOOT_PARAMS_t bootParams;
 
-   WEB_PARAMS_t  sWebParams;
 
-   WEB_PARAMS_t  sWebTempParams;
 
-   DEVICE_INFO_t sInfo;
 
-   uint32_t      CritSecCRC;
 
-   //uint32_t      controlWorld;  // Слово для контроля целостности структуры настроек
 
- } SETTINGS_t;
 
- /**
 
-   * @brief
 
-   * @retval
 
-   */
 
- uint32_t SETTINGS_GetCritSecCRC(void);
 
- /**
 
-   * @brief  Установить параметры обновления ПО по умолчанию
 
-   */
 
- void SETTINGS_SetBootParamsDef(void);
 
- /**
 
-   * @brief  Установить параметры сетевого подключения по умолчанию
 
-   */
 
- void SETTINGS_SetWebParamsDef(void);
 
- /**
 
-   * @brief  Установить временные параметры сетевого подключения по умолчанию
 
-   */
 
- void SETTINGS_SetTempWebParamsDef(void);
 
- /**
 
-   * @brief  Установить Информацию об устройстве по умолчанию
 
-   */
 
- void SETTINGS_SetInfoDef(void);
 
- /**
 
-   * @brief  Очистка сектора настроек
 
-   */
 
- void SETTINGS_EraseFlashSector(void);
 
- /**
 
-   * @brief  Сброс всех настроек в значения по умолчанию кроме сетевых настроек
 
-   */
 
- void SETTINGS_SetPartDefault(void);
 
- /**
 
-   * @brief  Сброс всех настроек в значения по умолчанию
 
-   */
 
- void SETTINGS_SetAllDefault(void);
 
- /**
 
-   * @brief  Установка настроек для отладки
 
-   */
 
- void SETTINGS_SetDefaultDebug(void);
 
- /**
 
-   * @brief  Запись структуры настроек во flesh
 
-   */
 
- void SETTINGS_Save(void);
 
- /**
 
-   * @brief  Загрузка структуры настроек из flesh
 
-   */
 
- void SETTINGS_Load(void);
 
- /**
 
-   * @brief  
 
-   */
 
- void SETTINGS_WriteToFlash(uint8_t *data, uint32_t size);
 
- /**
 
-   * @brief
 
-   */
 
- void SETTINGS_ReadFromFlash(uint8_t *data, uint32_t size);
 
- /**
 
-   * @brief  
 
-   */
 
- uint32_t SETTINGS_GetCRC(void);
 
- /**
 
-   * @brief  Преобразует mac адрес строкового формата в массив uint8_t
 
-   * @param  mac - буфер для вывода mac адреса
 
-   */
 
- void SETTINGS_GetMac(uint8_t *mac);
 
- /**
 
-   * @brief  Установить дату производства
 
-   */
 
- void SETTINGS_SetProDate(char *proDate, uint8_t len);
 
- /**
 
-   * @brief  Установить статус тестирования "T2OK"
 
-   */
 
- void SETTINGS_SetT2OK(void);
 
- /**
 
-   * @brief  Включить DHCP
 
-   */
 
- void SETTINGS_SetDHCPOn(void);
 
- #endif /* #ifndef SETTINGS_API_H */
 
- /********************************* (C) РОТЕК **********************************/
 
 
  |