zhyinch
2021-08-14 31ee4794fbefac2963dee237aca3519c19218d46
Ô´Âë/ºËÐİå/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,23 +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]=2;
      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] = 10; //1秒
      g_com_map[POWER]=30;
        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] =10;//DEFAULT_DEV_ID;   //默认设备ID
      g_com_map[COM_INTERVAL]=500;
      save_com_map_to_flash();
   }
        FactorySettings();
          NVIC_SystemReset();
   }
}