Browse Source

add config file

master
tianjialong 3 years ago
parent
commit
4bac45dbd3
  1. 50
      app/MDK-ARM/app.uvguix.29643
  2. 46
      app/MDK-ARM/app.uvoptx
  3. 17
      app/MDK-ARM/app.uvprojx
  4. 122
      src/config.c
  5. 21
      src/config.h
  6. 3
      src/port.c
  7. 0
      src/protocol.c
  8. 60
      src/protocol.h
  9. 9
      src/usermain.c
  10. 3
      src/zboard.h

50
app/MDK-ARM/app.uvguix.29643
File diff suppressed because it is too large
View File

46
app/MDK-ARM/app.uvoptx

@ -1719,7 +1719,7 @@
<Group>
<GroupName>src</GroupName>
<tvExp>0</tvExp>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
@ -1742,6 +1742,30 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\src\config.c</PathWithFileName>
<FilenameWithoutPath>config.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>10</GroupNumber>
<FileNumber>125</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\src\protocol.c</PathWithFileName>
<FilenameWithoutPath>protocol.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>10</GroupNumber>
<FileNumber>126</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\src\port.c</PathWithFileName>
<FilenameWithoutPath>port.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
@ -1757,7 +1781,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>11</GroupNumber>
<FileNumber>125</FileNumber>
<FileNumber>127</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1769,19 +1793,7 @@
</File>
<File>
<GroupNumber>11</GroupNumber>
<FileNumber>126</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\iflytop_microcontroller\math\std\math.c</PathWithFileName>
<FilenameWithoutPath>math.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>11</GroupNumber>
<FileNumber>127</FileNumber>
<FileNumber>128</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1793,7 +1805,7 @@
</File>
<File>
<GroupNumber>11</GroupNumber>
<FileNumber>128</FileNumber>
<FileNumber>129</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@ -1805,7 +1817,7 @@
</File>
<File>
<GroupNumber>11</GroupNumber>
<FileNumber>129</FileNumber>
<FileNumber>130</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>

17
app/MDK-ARM/app.uvprojx

@ -339,7 +339,7 @@
<MiscControls>--diag_suppress=381 --diag_suppress=1 --diag_suppress=177 --diag_suppress=111 --diag_suppress=1295</MiscControls>
<Define>USE_HAL_DRIVER,STM32F407xx</Define>
<Undefine></Undefine>
<IncludePath>../Core/Inc;../LWIP/App;../LWIP/Target;../Middlewares/Third_Party/LwIP/src/include;../Middlewares/Third_Party/LwIP/system;../Drivers/STM32F4xx_HAL_Driver/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy;../Middlewares/Third_Party/FreeRTOS/Source/include;../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS;../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F;../Drivers/BSP/Components/lan8742;../Middlewares/Third_Party/LwIP/src/include/netif/ppp;../Drivers/CMSIS/Device/ST/STM32F4xx/Include;../Middlewares/Third_Party/LwIP/src/include/lwip;../Middlewares/Third_Party/LwIP/src/include/lwip/apps;../Middlewares/Third_Party/LwIP/src/include/lwip/priv;../Middlewares/Third_Party/LwIP/src/include/lwip/prot;../Middlewares/Third_Party/LwIP/src/include/netif;../Middlewares/Third_Party/LwIP/src/include/compat/posix;../Middlewares/Third_Party/LwIP/src/include/compat/posix/arpa;../Middlewares/Third_Party/LwIP/src/include/compat/posix/net;../Middlewares/Third_Party/LwIP/src/include/compat/posix/sys;../Middlewares/Third_Party/LwIP/src/include/compat/stdc;../Middlewares/Third_Party/LwIP/system/arch;../Drivers/CMSIS/Include;../../src;../../iflytop_microcontroller\sdk\stm32</IncludePath>
<IncludePath>../Core/Inc;../LWIP/App;../LWIP/Target;../Middlewares/Third_Party/LwIP/src/include;../Middlewares/Third_Party/LwIP/system;../Drivers/STM32F4xx_HAL_Driver/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy;../Middlewares/Third_Party/FreeRTOS/Source/include;../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS;../Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM4F;../Drivers/BSP/Components/lan8742;../Middlewares/Third_Party/LwIP/src/include/netif/ppp;../Drivers/CMSIS/Device/ST/STM32F4xx/Include;../Middlewares/Third_Party/LwIP/src/include/lwip;../Middlewares/Third_Party/LwIP/src/include/lwip/apps;../Middlewares/Third_Party/LwIP/src/include/lwip/priv;../Middlewares/Third_Party/LwIP/src/include/lwip/prot;../Middlewares/Third_Party/LwIP/src/include/netif;../Middlewares/Third_Party/LwIP/src/include/compat/posix;../Middlewares/Third_Party/LwIP/src/include/compat/posix/arpa;../Middlewares/Third_Party/LwIP/src/include/compat/posix/net;../Middlewares/Third_Party/LwIP/src/include/compat/posix/sys;../Middlewares/Third_Party/LwIP/src/include/compat/stdc;../Middlewares/Third_Party/LwIP/system/arch;../Drivers/CMSIS/Include;../../src;../../</IncludePath>
</VariousControls>
</Cads>
<Aads>
@ -1095,6 +1095,16 @@
<FilePath>..\..\src\usermain.c</FilePath>
</File>
<File>
<FileName>config.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\src\config.c</FilePath>
</File>
<File>
<FileName>protocol.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\src\protocol.c</FilePath>
</File>
<File>
<FileName>port.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\src\port.c</FilePath>
@ -1110,11 +1120,6 @@
<FilePath>..\..\iflytop_microcontroller\fancontroler\stm32\fan.c</FilePath>
</File>
<File>
<FileName>math.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\iflytop_microcontroller\math\std\math.c</FilePath>
</File>
<File>
<FileName>pwm.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\iflytop_microcontroller\sdk\stm32\pwm.c</FilePath>

122
src/config.c

@ -0,0 +1,122 @@
#include "config.h"
#include "../app/Middlewares/Third_Party/LwIP/src/include/lwip/inet.h"
#include "../iflytop_microcontroller/sdk/stm32/stm32sdk.h"
#include "lwip.h"
#include "protocol.h"
#include "zboard.h"
#define TAG "CONFIG"
static config_t s_config;
// static nvs_handle s_nvs_handle; // NVS是esp32中的flash
static bool s_is_first_init = false;
typedef int8_t i8;
typedef uint8_t u8;
typedef int16_t i16;
typedef uint16_t u16;
typedef int32_t i32;
typedef uint32_t u32;
typedef int64_t i64;
typedef uint64_t u64;
// #define INIT_CONFIG(type, name, markname) \
// type name = 0; \
// err = nvs_get_##type(s_nvs_handle, markname, &name); \
// if (err == ESP_OK && !refresh_config) { \
// s_config.name = name; \
// } else { \
// s_is_first_init = true; \
// ESP_LOGI(TAG, "reconfig config %s", #name); \
// err = nvs_set_##type(s_nvs_handle, markname, s_config.name); \
// if (err != ESP_OK) { \
// ESP_LOGE(TAG, "nvs set %s fail,error %d", #name, err); \
// } \
// }
// #define UPDATE_CONFIG(type, name, markname) \
// type name = 0; \
// err = nvs_get_##type(s_nvs_handle, markname, &name); \
// if (err == ESP_OK) { \
// if (s_config.name != name) { \
// err = nvs_set_##type(s_nvs_handle, markname, s_config.name); \
// if (err != ESP_OK) { \
// ESP_LOGE(TAG, "nvs set %s fail,error %d", #name, err); \
// } else { \
// ESP_LOGI(TAG, "update config %s -> %d", #name, s_config.name); \
// } \
// } \
// } else { \
// ESP_LOGE(TAG, "nvs_get %s fail %d", #name, err); \
// }
void config_init() {
#if 1
IP4_ADDR((ip4_addr_t *)&s_config.ip, 192, 168, 1, 10);
IP4_ADDR((ip4_addr_t *)&s_config.gw, 192, 168, 1, 1);
IP4_ADDR((ip4_addr_t *)&s_config.netmask, 255, 255, 255, 0);
s_config.localport = SERVICE_PORT;
s_config.obtaining_ip_mode = OBTAINING_IP_MODE_DHCP; // dhcp
s_config.mask = 1; //
#endif
// esp_err_t err = nvs_flash_init();
// if (err == ESP_ERR_NVS_NO_FREE_PAGES) {
// ESP_ERROR_CHECK(nvs_flash_erase());
// err = nvs_flash_init();
// }
// if (err != ESP_ERR_NVS_NO_FREE_PAGES) {
// esp_err_t err = nvs_open("app_config", NVS_READWRITE, &s_nvs_handle);
// if (err == ESP_OK) {
// bool refresh_config = false;
// INIT_CONFIG(u32, ip, "ip");
// INIT_CONFIG(u32, gw, "gw");
// INIT_CONFIG(u32, netmask, "netmask");
// INIT_CONFIG(u32, localport, "localport");
// INIT_CONFIG(u32, sound_report_times, "srt");
// INIT_CONFIG(u32, obtaining_ip_mode, "oim");
// INIT_CONFIG(u32, sound_magnification_factors, "smf");
// } else {
// }
// } else {
// ESP_LOGE(TAG, "nvs flash init fail %d", err);
// }
// nvs_close(s_nvs_handle);
/*dumpconfig*/
config_dump_config();
}
bool config_is_first_init() { return s_is_first_init; }
void config_dump_config() {
ZLOGI(TAG, "=================config================");
ZLOGI(TAG, "= config obtaining_ip_mode %u", s_config.obtaining_ip_mode);
ZLOGI(TAG, "= config ip %s", inet_ntoa(s_config.ip));
ZLOGI(TAG, "= config gw: %s", inet_ntoa(s_config.gw));
ZLOGI(TAG, "= config netmask: %s", inet_ntoa(s_config.netmask));
ZLOGI(TAG, "= config localport: %u", s_config.localport);
}
// void config_update() {
// esp_err_t err = nvs_open("app_config", NVS_READWRITE, &s_nvs_handle);
// if (err == ESP_OK) {
// UPDATE_CONFIG(u32, ip, "ip");
// UPDATE_CONFIG(u32, gw, "gw");
// UPDATE_CONFIG(u32, netmask, "netmask");
// UPDATE_CONFIG(u32, localport, "localport");
// UPDATE_CONFIG(u32, sound_report_times, "srt");
// UPDATE_CONFIG(u32, obtaining_ip_mode, "oim");
// UPDATE_CONFIG(u32, sound_magnification_factors, "smf");
// } else {
// }
// nvs_close(s_nvs_handle);
// config_dump_config();
// }
config_t *config_get() { return &s_config; }

21
src/config.h

@ -0,0 +1,21 @@
#pragma once
#include <stdint.h>
#include <stdbool.h>
typedef struct {
uint32_t mask;
uint32_t obtaining_ip_mode;
uint32_t ip;
uint32_t gw;
uint32_t netmask;
uint32_t localport;
// uint32_t
} config_t;
void config_init();
void config_update();
void config_dump_config();
config_t *config_get();
bool config_is_first_init() ;

3
src/port.c

@ -5,15 +5,12 @@
#include "main.h"
// #include "modbus_processer.h"
#include "port.h"
#include "tim.h"
#include "usart.h"
//
#include "../../../iflytop_microcontroller/sdk/stm32/pwm.h"
#include "../../../iflytop_microcontroller/sdk/stm32/stm32sdk.h"
#include "../iflytop_microcontroller/sdk/stm32/pwm.h"
#include "../iflytop_microcontroller/sdk/stm32/stm32sdk.h"
/**********************************************************************************************************************
* ===================================================printf重定向=================================================== *

0
src/protocol.c

60
src/protocol.h

@ -0,0 +1,60 @@
#pragma once
#include <stdbool.h>
#include <stdint.h>
#pragma pack(push, 1)
typedef struct {
uint8_t packet_type;
uint8_t minus_packet_type;
uint8_t index;
uint8_t action_type;
uint32_t reg;
union {
uint32_t regvalue;
uint8_t url[200]; //
struct {
uint32_t regvalue;
uint32_t error;
} receipt;
} value;
} protocol_header_t;
#pragma pack(pop)
#define PROTOCOL_HEADER 0xAA
#define PROTOCOL_HEADER_MINUS 0x55
#define PROTOCOL_PACKET_TYPE_READ 1
#define PROTOCOL_PACKET_TYPE_WRITE 0
/**
* @brief
*/
/**
* @brief REG
*/
#define REG_RESTART_DEVICE 0
#define REG_REPORT_VOICE 1
#define REG_REPORT_VOICE_REPECT_TIMES 2
#define REG_OBTAINING_IP_MODE 3
#define REG_STATIC_IP 4
#define REG_IP_MASK 5
#define REG_ROUTER_IP 6
#define REG_SOUND_AMPLIFY_FACTOR 10
#define REG_INTER_OTA_BY_HTTP 102
#define OBTAINING_IP_MODE_DHCP 0
#define OBTAINING_IP_MODE_STATIC 1
/**
* @brief ERRORCODE
* ESP32返回的错误上报给上位机
*/
#define ERROR_CODE_SUCCESS 0
#define ERROR_CODE_PACKET_PARAMETER_ERROR 7301
// #define ERROR_CODE_SUM_CHECK_ERROR 7301
// #define ERROR_CODE_PACKET_PATTERN_ERROR 7301

9
src/usermain.c

@ -4,13 +4,22 @@
#include <string.h>
#include "cmsis_os.h"
#include "config.h"
#include "iwdg.h"
#include "lwip.h"
#include "main.h"
#include "port.h"
#include "usart.h"
#include "zboard.h"
//
#include "iflytop_microcontroller/sdk/stm32/stm32sdk.h"
#define TAG "USER_MAIN"
void user_main() {
ZLOGI(TAG, "==============ethernet_sound_acquisition_card=============");
ZLOGI(TAG, "version %d.%d", VERSION_MAIN_ID, VERSION_SUB_ID);
config_init();
while (1) {
port_do_debug_light_state();
HAL_IWDG_Refresh(&hiwdg);

3
src/zboard.h

@ -36,3 +36,6 @@
#define FAN1_FB_GPIO_PORT GPIOA
#define FAN1_FB_PIN GPIO_PIN_8
//
#define SERVICE_PORT 9973
Loading…
Cancel
Save