| | |
| | | #define FLASH_IAP_CTRL_MAP (uint32_t)0x0402E000 //the control map start address, 63K MK8000修改 |
| | | |
| | | |
| | | |
| | | uint16_t g_com_map[COM_MAP_SIZE]; |
| | | uint8_t parameter_check(void) |
| | | { |
| | |
| | | } |
| | | uint32_t save_com_map_to_flash(void) |
| | | { |
| | | uint32_t result = 0; |
| | | uint32_t result = 0; |
| | | if(parameter_check()) //参数错误,不保存 |
| | | { |
| | | return 1; |
| | | } |
| | | __disable_irq(); |
| | | //result = FLASH_Prepare(FLASH_IAP_CTRL_MAP, (COM_MAP_SIZE<<1));MK8000修改 |
| | | result=flash_open(FLASH_ID0,NULL); |
| | | //MK8000没有对应函数 |
| | | if(!result) { |
| | | flash_erase(FLASH_ID0,FLASH_IAP_CTRL_MAP,FLASH_SECTOR_SIZE); |
| | | flash_write_nbytes(FLASH_ID0, FLASH_IAP_CTRL_MAP, (const uint8_t*)g_com_map, sizeof(g_com_map)); |
| | | //result = FLASH_Write(FLASH_IAP_CTRL_MAP, (const uint8_t*)g_com_map, (COM_MAP_SIZE<<1)); |
| | | } |
| | | //flash_close(FLASH_ID0); |
| | | __enable_irq(); |
| | | return result; |
| | | __disable_irq(); |
| | | //result = FLASH_Prepare(FLASH_IAP_CTRL_MAP, (COM_MAP_SIZE<<1));MK8000修改 |
| | | result=flash_open(FLASH_ID0,NULL); |
| | | //MK8000没有对应函数 |
| | | if(!result){ |
| | | flash_erase(FLASH_ID0,FLASH_IAP_CTRL_MAP,FLASH_SECTOR_SIZE); |
| | | flash_write_nbytes(FLASH_ID0, FLASH_IAP_CTRL_MAP, (const uint8_t*)g_com_map, sizeof(g_com_map)); |
| | | //result = FLASH_Write(FLASH_IAP_CTRL_MAP, (const uint8_t*)g_com_map, (COM_MAP_SIZE<<1)); |
| | | } |
| | | //flash_close(FLASH_ID0); |
| | | __enable_irq(); |
| | | return result; |
| | | } |
| | | |
| | | void parameter_init(void)//注意看前面有没有关闭flash如果有则打开flash在读取,否则会出错 |
| | | { flash_open(FLASH_ID0,NULL); |
| | | //FLASH_Read(FLASH_IAP_CTRL_MAP, (uint8_t*)&g_com_map, (COM_MAP_SIZE<<1));MK8000修改 |
| | | flash_read(FLASH_ID0, FLASH_IAP_CTRL_MAP, (uint8_t*)&g_com_map, sizeof(g_com_map)); |
| | | if(g_com_map[0] != 0x55AA)//第一次没有任何数据的话就默认这个 |
| | | { |
| | | g_com_map[0] = 0x55AA; |
| | | g_com_map[DEV_ID] =0x1234;//DEFAULT_DEV_ID; //默认设备ID |
| | | { flash_open(FLASH_ID0,NULL); |
| | | //FLASH_Read(FLASH_IAP_CTRL_MAP, (uint8_t*)&g_com_map, (COM_MAP_SIZE<<1));MK8000修改 |
| | | flash_read(FLASH_ID0, FLASH_IAP_CTRL_MAP, (uint8_t*)&g_com_map, sizeof(g_com_map)); |
| | | if(g_com_map[0] != 0x55AA)//第一次没有任何数据的话就默认这个 |
| | | { |
| | | g_com_map[0] = 0x55AA; |
| | | g_com_map[DEV_ID] =0x1234;//DEFAULT_DEV_ID; //默认设备ID |
| | | |
| | | g_com_map[COM_INTERVAL]=500; //频率2HZ |
| | | g_com_map[MAX_REPORT_ANC_NUM]=10; |
| | | g_com_map[GROUP_ID]=0; |
| | | g_com_map[DIST_OFFSET]=-31; |
| | | g_com_map[COM_INTERVAL]=500; //频率2HZ |
| | | g_com_map[MAX_REPORT_ANC_NUM]=10; |
| | | g_com_map[GROUP_ID]=3; |
| | | g_com_map[DIST_OFFSET]=-31; |
| | | |
| | | g_com_map[DEV_ROLE] =0x1; //标签 |
| | | |
| | | g_com_map[DEV_ROLE] =0x1; //标签 |
| | | |
| | | |
| | | g_com_map[HEARTBEAT]=0; |
| | | |
| | | g_com_map[POWER]=67; //发射功率 |
| | | g_com_map[IMU_THRES]=2; |
| | | g_com_map[NOMOVESLEEP_TIME]=120; //静止休眠2分钟 |
| | | g_com_map[MOTOR_ENABLE]=1; //震动电机使能 |
| | | g_com_map[IMU_ENABLE]=1; //静止休眠使能 |
| | | |
| | | g_com_map[CNT_RESTART]=0; |
| | | g_com_map[CNT_REBOOT]=0; |
| | | g_com_map[CNT_UPDATE]=0; |
| | | g_com_map[MOTOR_ONTIME_INDEX]=10; |
| | | g_com_map[ACTIVE_INDEX]=0; |
| | | |
| | | g_com_map[TCP_IP_0]=0x111; |
| | | g_com_map[TCP_IP_0]=0x198; |
| | | g_com_map[TCP_IP_0]=0x60; |
| | | g_com_map[TCP_IP_0]=0x6; |
| | | g_com_map[TCP_IP_0]=0x1234; |
| | | |
| | | |
| | | g_com_map[HEARTBEAT]=0; |
| | | |
| | | g_com_map[POWER]=67; //发射功率 |
| | | g_com_map[IMU_THRES]=2; |
| | | g_com_map[NOMOVESLEEP_TIME]=120; //静止休眠2分钟 |
| | | g_com_map[MOTOR_ENABLE]=1; //震动电机使能 |
| | | g_com_map[IMU_ENABLE]=1; //静止休眠使能 |
| | | |
| | | g_com_map[CNT_RESTART]=0; |
| | | g_com_map[CNT_REBOOT]=0; |
| | | g_com_map[CNT_UPDATE]=0; |
| | | g_com_map[MODBUS_MODE]=0; |
| | | g_com_map[ACTIVE_INDEX]=0; |
| | | g_com_map[STATIONARY_TIME]=20; //静止判定时间20秒 |
| | | g_com_map[HEIGHTOFFEST_INDEX]=0; |
| | | save_com_map_to_flash(); |
| | | } |
| | | save_com_map_to_flash(); |
| | | } |
| | | } |
| | | |
| | | void parameter_init_anchor(void) |
| | | { |
| | | flash_open(FLASH_ID0,NULL); |
| | | //FLASH_Read(FLASH_IAP_CTRL_MAP, (uint8_t*)&g_com_map, (COM_MAP_SIZE<<1));MK8000修改 |
| | | flash_read(FLASH_ID0, FLASH_IAP_CTRL_MAP, (uint8_t*)&g_com_map, sizeof(g_com_map)); |
| | | if(g_com_map[0] != 0x55AA)//第一次没有任何数据的话就默认这个 |
| | | { |
| | | g_com_map[0] = 0x55AA; |
| | | g_com_map[DEV_ID] =0x1234;//DEFAULT_DEV_ID; //默认设备ID |
| | | flash_open(FLASH_ID0,NULL); |
| | | //FLASH_Read(FLASH_IAP_CTRL_MAP, (uint8_t*)&g_com_map, (COM_MAP_SIZE<<1));MK8000修改 |
| | | flash_read(FLASH_ID0, FLASH_IAP_CTRL_MAP, (uint8_t*)&g_com_map, sizeof(g_com_map)); |
| | | if(g_com_map[0] != 0x55AA)//第一次没有任何数据的话就默认这个 |
| | | { |
| | | g_com_map[0] = 0x55AA; |
| | | g_com_map[DEV_ID] =0x1234;//DEFAULT_DEV_ID; //默认设备ID |
| | | |
| | | g_com_map[COM_INTERVAL]=500; //频率2HZ |
| | | g_com_map[MAX_REPORT_ANC_NUM]=10; |
| | | g_com_map[GROUP_ID]=0; |
| | | g_com_map[DIST_OFFSET]=-31; |
| | | g_com_map[COM_INTERVAL]=500; //频率2HZ |
| | | g_com_map[MAX_REPORT_ANC_NUM]=10; |
| | | g_com_map[GROUP_ID]=0; |
| | | g_com_map[DIST_OFFSET]=-31; |
| | | |
| | | g_com_map[DEV_ROLE] =0x0; //基站 |
| | | |
| | | g_com_map[DEV_ROLE] =0x0; //基站 |
| | | |
| | | |
| | | g_com_map[HEARTBEAT]=0; |
| | | |
| | | g_com_map[POWER]=67; //发射功率 |
| | | g_com_map[IMU_THRES]=2; |
| | | g_com_map[NOMOVESLEEP_TIME]=120; //静止休眠2分钟 |
| | | g_com_map[MOTOR_ENABLE]=1; //震动电机使能 |
| | | g_com_map[IMU_ENABLE]=1; //静止休眠使能 |
| | | |
| | | g_com_map[CNT_RESTART]=0; |
| | | g_com_map[CNT_REBOOT]=0; |
| | | g_com_map[CNT_UPDATE]=0; |
| | | g_com_map[MODBUS_MODE]=0; |
| | | g_com_map[ACTIVE_INDEX]=0; |
| | | |
| | | g_com_map[TCP_IP_0]=0x111; |
| | | g_com_map[TCP_IP_1]=0x198; |
| | | g_com_map[TCP_IP_2]=0x60; |
| | | g_com_map[TCP_IP_3]=0x6; |
| | | g_com_map[TCP_PORT]=0x1234; |
| | | |
| | | |
| | | g_com_map[HEARTBEAT]=0; |
| | | |
| | | g_com_map[POWER]=67; //发射功率 |
| | | g_com_map[IMU_THRES]=2; |
| | | g_com_map[NOMOVESLEEP_TIME]=120; //静止休眠2分钟 |
| | | g_com_map[MOTOR_ENABLE]=1; //震动电机使能 |
| | | g_com_map[IMU_ENABLE]=1; //静止休眠使能 |
| | | |
| | | g_com_map[CNT_RESTART]=0; |
| | | g_com_map[CNT_REBOOT]=0; |
| | | g_com_map[CNT_UPDATE]=0; |
| | | g_com_map[MODBUS_MODE]=0; |
| | | g_com_map[ACTIVE_INDEX]=0; |
| | | g_com_map[STATIONARY_TIME]=20; //静止判定时间20秒 |
| | | g_com_map[HEIGHTOFFEST_INDEX]=0; |
| | | save_com_map_to_flash(); |
| | | } |
| | | save_com_map_to_flash(); |
| | | } |
| | | } |