zhyinch
2021-09-16 e391e8ff47bd0c6b55fe268ac54414c093ae6246
Ô´Âë/ºËÐİå/Src/application/global_param.c
@@ -2,7 +2,7 @@
#include "Flash.h"
#include "dw_app.h"
#include <string.h>
char boardtype[4]="FZCJ";
uint16_t g_com_map[COM_MAP_SIZE];
@@ -17,24 +17,47 @@
   __enable_irq();
   return result;
}
void FactorySettings(void)
{
        g_com_map[0] = 0x55AA;
      g_com_map[DEV_ID] =0x04;//DEFAULT_DEV_ID;   //默认设备ID
      g_com_map[COM_INTERVAL]=100;
      g_com_map[MAX_REPORT_ANC_NUM]=10;
      g_com_map[GROUP_ID]=0;
      g_com_map[DIST_OFFSET]=-13;
      #ifdef WORK_MODE_TAG
         g_com_map[DEV_ROLE] =0x1;  //标签
      #else
         g_com_map[DEV_ROLE] =0x0;  //基站
      #endif
      g_com_map[ANC_POLL]=0;
      g_com_map[ALARM_DEV] = 0;
      g_com_map[ALARM_DISTANCE1] = 0;   //默认报警距离50cm
      g_com_map[ALARM_DISTANCE2] = 0;   //默认报警距离50cm
      g_com_map[ALARM_DISTANCE3] = 0;   //默认报警距离50cm
      g_com_map[HEARTBEAT]=0;
      g_com_map[CNT_RESTART]=0;
      g_com_map[CNT_REBOOT]=0;
      g_com_map[CNT_UPDATE]=0;
      g_com_map[MODBUS_ADDRESS]=1;
        g_com_map[WAR_JDQ_TIME] = 1; //1秒
      g_com_map[POWER]=67;
        g_com_map[SPEEDFILTER_THRES]=10000;
      g_com_map[FILTER_COEFFICIENT]=40;
        g_com_map[WAR_JDQ_TIME] = 1;
      //memcpy(&g_com_map[BOARD_TYPE],boardtype,4);
      save_com_map_to_flash();
        delay_ms(100);
}
void parameter_init(void)
{
   FLASH_Read(FLASH_IAP_CTRL_MAP, (uint8_t*)&g_com_map, (COM_MAP_SIZE<<1));
   
   if(g_com_map[0] != 0x55AA)
   if(g_com_map[0] != 0x55AA&&g_com_map[CNT_REBOOT]!=0)
   {
      g_com_map[0] = 0x55AA;
      g_com_map[ALARM_DISTANCE1] = 100;   //默认报警距离50cm
      g_com_map[ALARM_DISTANCE2] = 600;   //默认报警距离50cm
      g_com_map[ALARM_DISTANCE3] = 900;   //默认报警距离50cm
      g_com_map[ALARM_DEV] = 1;
      g_com_map[DEV_ID_L] =0;//DEFAULT_DEV_ID;   //默认设备ID
      g_com_map[DEV_ID_H] =0;//DEFAULT_DEV_ID;   //默认设备ID
      g_com_map[COM_INTERVAL]=1000;
      save_com_map_to_flash();
   }
        FactorySettings();
          NVIC_SystemReset();
   }
}