Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 440c4b622c |
@@ -234,11 +234,11 @@ void scan_433(void)
|
||||
long_timer--;
|
||||
}
|
||||
|
||||
if(rf433_sw_flag==1)
|
||||
{
|
||||
rf433_sw_flag=0;
|
||||
}
|
||||
else if(rf433_sw_flag==2)
|
||||
// if(rf433_sw_flag==1)
|
||||
// {
|
||||
// rf433_sw_flag=0;
|
||||
// }
|
||||
if(rf433_sw_flag==2)
|
||||
{
|
||||
rf433_sw_flag=0;
|
||||
power=4;
|
||||
|
||||
@@ -1,429 +1,587 @@
|
||||
#include "switch_s.h"
|
||||
#include "xc_drv_gpio.h"
|
||||
#include "rf433.h"
|
||||
// ==================== GPIO1 检测 ====================
|
||||
uint8_t trig1_cnt = 0; // 连续触发次数
|
||||
uint16_t trig1_timeout = 0; // 300ms 倒计时
|
||||
uint8_t trig1_wait = 0; // 0=空闲 1=连续出触发
|
||||
|
||||
// ==================== GPIO19 检测 ====================
|
||||
uint8_t trig2_cnt = 0; // 连续触发次数
|
||||
uint16_t trig2_timeout = 0; // 300ms 倒计时
|
||||
uint8_t trig2_wait = 0; // 0=空闲 1=连续出触发
|
||||
/*
|
||||
* ============================================================
|
||||
* GPIO1 / S1 检测变量
|
||||
* ============================================================
|
||||
*/
|
||||
uint8_t trig1_cnt = 0;
|
||||
uint16_t trig1_timeout = 0;
|
||||
uint8_t trig1_wait = 0;
|
||||
|
||||
uint8_t rf433_sw_flag=0; //进入对码标志
|
||||
/*
|
||||
* ============================================================
|
||||
* RF433 对码标志
|
||||
* ============================================================
|
||||
*
|
||||
* 0:无对码
|
||||
* 2:GPIO1 快速按 5 次及以上进入对码
|
||||
*/
|
||||
uint8_t rf433_sw_flag = 0;
|
||||
|
||||
/*
|
||||
* ============================================================
|
||||
* 防抖状态机变量
|
||||
* ============================================================
|
||||
*/
|
||||
static volatile debounce_state_t s1_state = DB_IDLE;
|
||||
static volatile debounce_state_t s2_state = DB_IDLE;
|
||||
static volatile uint16_t s1_debounce_cnt = 0;
|
||||
static volatile uint16_t s2_debounce_cnt = 0;
|
||||
|
||||
/*
|
||||
* ============================================================
|
||||
* 按下持续时间计数
|
||||
* ============================================================
|
||||
*/
|
||||
static volatile uint16_t s1_press_cnt = 0;
|
||||
|
||||
/*
|
||||
* ============================================================
|
||||
* 长按普通开关已处理标志
|
||||
* ============================================================
|
||||
*/
|
||||
static volatile uint8_t s1_long_press_done = 0;
|
||||
|
||||
/*
|
||||
* ============================================================
|
||||
* 回弹点击标志
|
||||
* ============================================================
|
||||
*/
|
||||
static volatile uint8_t s1_return_click_flag = 0;
|
||||
|
||||
/*
|
||||
* ============================================================
|
||||
* 5次对码失效标志
|
||||
* ============================================================
|
||||
*
|
||||
* 作用:
|
||||
* 快速拨动达到 5 次后,如果最后一次停留在打开状态超过 200ms,
|
||||
* 则本次 5 次对码序列失效。
|
||||
*
|
||||
* 这样可以避免:
|
||||
* 快速拨动 5 次后停留在打开一段时间,再关闭,仍然进入对码。
|
||||
*/
|
||||
static volatile uint8_t s1_pair_invalid_flag = 0;
|
||||
|
||||
/*
|
||||
* ============================================================
|
||||
* 防抖时间
|
||||
* ============================================================
|
||||
* trigger_check_process() 如果 10ms 调用一次:
|
||||
* DEBOUNCE_MS = 2 表示 20ms 防抖
|
||||
*/
|
||||
#define DEBOUNCE_MS 2
|
||||
|
||||
/*
|
||||
* ============================================================
|
||||
* 释放标志
|
||||
* ============================================================
|
||||
*/
|
||||
uint8_t switch1_RELEASE_flag = 0;
|
||||
|
||||
/*
|
||||
* ============================================================
|
||||
* 普通不回弹开关第一次按下标志
|
||||
* ============================================================
|
||||
*/
|
||||
uint8_t s1_first_press_flag = 0;
|
||||
|
||||
/*
|
||||
* ============================================================
|
||||
* 上电时开关状态
|
||||
* ============================================================
|
||||
*/
|
||||
uint8_t S1_first_on_state = 0;
|
||||
|
||||
|
||||
|
||||
#define DEBOUNCE_MS 2 //消抖时间40ms
|
||||
|
||||
//uint16_t switch1_debounce = 0;
|
||||
//uint16_t switch2_debounce = 0;
|
||||
|
||||
uint8_t switch1_RELEASE_flag=0;
|
||||
uint8_t switch2_RELEASE_flag=0;
|
||||
|
||||
uint8_t s1_first_press_flag = 0; //S2首次按下标志
|
||||
uint8_t s2_first_press_flag = 0; //S2首次按下标志
|
||||
|
||||
uint8_t S1_first_on_state=0; //上电时开关的状态
|
||||
uint8_t S2_first_on_state=0; //上电时开关的状态
|
||||
|
||||
|
||||
void switch_init(void)
|
||||
/*
|
||||
* ============================================================
|
||||
* S1 状态清理函数
|
||||
* ============================================================
|
||||
*/
|
||||
static void switch_s1_clear_action_state(void)
|
||||
{
|
||||
trig1_cnt = 0;
|
||||
trig1_timeout = 0;
|
||||
trig1_wait = 0;
|
||||
|
||||
GPIO_InitCfg_t GPIO_InitCfg = { 0 }; // 清零初始化配置结构体
|
||||
GPIO_InitCfg.Mux = GPIO_Mux0; // 选择功能复用器0
|
||||
GPIO_InitCfg.FunSel = GPIO_Dx; // 选择GPIO功能(非特殊功能)
|
||||
GPIO_InitCfg.Pull = GPIO_PULLUP; //上拉电阻使能
|
||||
switch1_RELEASE_flag = 0;
|
||||
s1_first_press_flag = 0;
|
||||
|
||||
s1_return_click_flag = 0;
|
||||
s1_long_press_done = 0;
|
||||
s1_press_cnt = 0;
|
||||
|
||||
GPIO_InitCfg.Dir = GPIO_DIR_INPUT; // 输出方向
|
||||
GPIO_InitCfg.Int = FAIL_EDGE_INT; //使能中断
|
||||
GPIO_InitCfg.Pin = SWITCH_S1_PIN; // 设置S1引脚
|
||||
xc_gpio_init(&GPIO_InitCfg); // 初始化GPIO
|
||||
|
||||
// GPIO_InitCfg.Dir = GPIO_DIR_INPUT; // 输出方向
|
||||
// GPIO_InitCfg.Int = FAIL_EDGE_INT; //使能中断
|
||||
// GPIO_InitCfg.Pin = SWITCH_S2_PIN; // 设置S2引脚
|
||||
// xc_gpio_init(&GPIO_InitCfg); // 初始化GPIO
|
||||
|
||||
xc_gpio_it_config(GPIO_1,FAIL_EDGE_INT);
|
||||
xc_gpio_it_config(GPIO_19,FAIL_EDGE_INT);
|
||||
NVIC_EnableIRQ(GPIO_IRQn);
|
||||
|
||||
|
||||
//判断首次上电开关状态
|
||||
if(xc_gpio_read_pin(SWITCH_S1_PIN)==0)
|
||||
{
|
||||
S1_first_on_state=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
S1_first_on_state=0;
|
||||
}
|
||||
|
||||
if(xc_gpio_read_pin(SWITCH_S2_PIN)==0)
|
||||
{
|
||||
S2_first_on_state=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
S2_first_on_state=0;
|
||||
}
|
||||
|
||||
/*
|
||||
* 新增:
|
||||
* 清理 5 次对码失效标志。
|
||||
*/
|
||||
s1_pair_invalid_flag = 0;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* ============================================================
|
||||
* S1 输出控制:GPIO5
|
||||
* ============================================================
|
||||
*/
|
||||
static void switch_s1_output_on(void)
|
||||
{
|
||||
xc_gpio_write_pin(GPIO_5, GPIO_PIN_SET);
|
||||
flash_ch1_state = xc_gpio_read_pin(GPIO_5);
|
||||
flash_run();
|
||||
}
|
||||
|
||||
static void switch_s1_output_off(void)
|
||||
{
|
||||
xc_gpio_write_pin(GPIO_5, GPIO_PIN_RESET);
|
||||
flash_ch1_state = xc_gpio_read_pin(GPIO_5);
|
||||
flash_run();
|
||||
}
|
||||
|
||||
static void switch_s1_output_toggle(void)
|
||||
{
|
||||
if(xc_gpio_read_pin(GPIO_5))
|
||||
{
|
||||
xc_gpio_write_pin(GPIO_5, GPIO_PIN_RESET);
|
||||
}
|
||||
else
|
||||
{
|
||||
xc_gpio_write_pin(GPIO_5, GPIO_PIN_SET);
|
||||
}
|
||||
|
||||
flash_ch1_state = xc_gpio_read_pin(GPIO_5);
|
||||
flash_run();
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* ============================================================
|
||||
* 开关 GPIO 初始化
|
||||
* ============================================================
|
||||
*/
|
||||
void switch_init(void)
|
||||
{
|
||||
GPIO_InitCfg_t GPIO_InitCfg = { 0 };
|
||||
|
||||
GPIO_InitCfg.Mux = GPIO_Mux0;
|
||||
GPIO_InitCfg.FunSel = GPIO_Dx;
|
||||
GPIO_InitCfg.Pull = GPIO_PULLUP;
|
||||
|
||||
/*
|
||||
* GPIO1 输入初始化
|
||||
*/
|
||||
GPIO_InitCfg.Dir = GPIO_DIR_INPUT;
|
||||
GPIO_InitCfg.Int = FAIL_EDGE_INT;
|
||||
GPIO_InitCfg.Pin = SWITCH_S1_PIN;
|
||||
xc_gpio_init(&GPIO_InitCfg);
|
||||
|
||||
/*
|
||||
* GPIO1 下降沿中断
|
||||
*/
|
||||
xc_gpio_it_config(GPIO_1, FAIL_EDGE_INT);
|
||||
NVIC_EnableIRQ(GPIO_IRQn);
|
||||
|
||||
/*
|
||||
* 上电时检测 GPIO1 初始状态
|
||||
*/
|
||||
if(xc_gpio_read_pin(SWITCH_S1_PIN) == 0)
|
||||
{
|
||||
S1_first_on_state = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
S1_first_on_state = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* ============================================================
|
||||
* 开关检测主处理函数
|
||||
* ============================================================
|
||||
*
|
||||
* 需要周期调用。
|
||||
* 当前按 SWITCH_SCAN_PERIOD_MS = 10ms 计算。
|
||||
*/
|
||||
void trigger_check_process(void)
|
||||
{
|
||||
if(S1_first_on_state==1)
|
||||
{
|
||||
S1_first_on_state=0;
|
||||
/*
|
||||
* ========================================================
|
||||
* 上电时 GPIO1 已经按下
|
||||
* ========================================================
|
||||
*/
|
||||
if(S1_first_on_state == 1)
|
||||
{
|
||||
S1_first_on_state = 0;
|
||||
s1_state = DB_PRESS_DEBOUNCE;
|
||||
s1_debounce_cnt = DEBOUNCE_MS;
|
||||
}
|
||||
|
||||
s1_state=DB_PRESS_DEBOUNCE;
|
||||
}
|
||||
// if(S2_first_on_state==1)
|
||||
// {
|
||||
// S2_first_on_state=0;
|
||||
//
|
||||
// s2_state=DB_PRESS_DEBOUNCE;
|
||||
// }
|
||||
|
||||
// if(S1_first_on_state==1)
|
||||
// {
|
||||
// S1_first_on_state=0;
|
||||
// s1_first_press_flag=1;
|
||||
// s1_state=DB_PRESSED;
|
||||
// }
|
||||
// if(S2_first_on_state==1)
|
||||
// {
|
||||
// S2_first_on_state=0;
|
||||
// s2_first_press_flag=1;
|
||||
// s2_state=DB_PRESSED;
|
||||
// }
|
||||
|
||||
switch(s1_state)
|
||||
{
|
||||
case DB_IDLE: //空闲状态
|
||||
break;
|
||||
|
||||
case DB_PRESS_DEBOUNCE: //按下防抖
|
||||
if(s1_debounce_cnt>0) s1_debounce_cnt--;
|
||||
if(s1_debounce_cnt==0)
|
||||
{
|
||||
//防抖时间到,采样当前电平是否是低电平
|
||||
if(xc_gpio_read_pin(SWITCH_S1_PIN)==0)
|
||||
{
|
||||
s1_state = DB_PRESSED; //进入按下状态,不响应中断
|
||||
if(trig1_wait == 0)
|
||||
{
|
||||
trig1_cnt = 1;
|
||||
trig1_timeout = TRIGGER_TIMEOUT_MS;
|
||||
trig1_wait = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(trig1_timeout>0)
|
||||
{
|
||||
trig1_cnt++;
|
||||
}
|
||||
|
||||
trig1_timeout = TRIGGER_TIMEOUT_MS;
|
||||
//
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// 杂波导致误触,回到空闲
|
||||
s1_state = DB_IDLE;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case DB_PRESSED: //确认按下
|
||||
|
||||
|
||||
|
||||
// 等待引脚回高电平
|
||||
if(xc_gpio_read_pin(SWITCH_S1_PIN) == 1)
|
||||
/*
|
||||
* ========================================================
|
||||
* S1 状态机
|
||||
* ========================================================
|
||||
*/
|
||||
switch(s1_state)
|
||||
{
|
||||
case DB_IDLE:
|
||||
/*
|
||||
* 空闲状态低电平补检,防止漏中断。
|
||||
*/
|
||||
if(xc_gpio_read_pin(SWITCH_S1_PIN) == 0)
|
||||
{
|
||||
s1_state = DB_RELEASE_DEBOUNCE;
|
||||
s1_debounce_cnt = DEBOUNCE_MS; // 释放30ms防抖
|
||||
s1_state = DB_PRESS_DEBOUNCE;
|
||||
s1_debounce_cnt = DEBOUNCE_MS;
|
||||
}
|
||||
break;
|
||||
|
||||
case DB_RELEASE_DEBOUNCE: //释放防抖
|
||||
if(s1_debounce_cnt > 0) s1_debounce_cnt--;
|
||||
case DB_PRESS_DEBOUNCE:
|
||||
if(s1_debounce_cnt > 0)
|
||||
{
|
||||
s1_debounce_cnt--;
|
||||
}
|
||||
|
||||
if(s1_debounce_cnt == 0)
|
||||
{
|
||||
if(xc_gpio_read_pin(SWITCH_S1_PIN) == 1) // 确认释放
|
||||
if(xc_gpio_read_pin(SWITCH_S1_PIN) == 0)
|
||||
{
|
||||
s1_state = DB_IDLE; // 回到空闲
|
||||
trig1_timeout = TRIGGER_TIMEOUT_MS;
|
||||
s1_state = DB_PRESSED;
|
||||
|
||||
switch1_RELEASE_flag=1;
|
||||
if(s1_first_press_flag==1)
|
||||
{
|
||||
s1_first_press_flag=2;
|
||||
s1_press_cnt = 0;
|
||||
s1_long_press_done = 0;
|
||||
|
||||
}
|
||||
/*
|
||||
* 连续触发计数
|
||||
*/
|
||||
if(trig1_wait == 0)
|
||||
{
|
||||
trig1_cnt = 1;
|
||||
trig1_timeout = TRIGGER_TIMEOUT_MS;
|
||||
trig1_wait = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(trig1_timeout > 0)
|
||||
{
|
||||
trig1_cnt++;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
* 如果等待标志还在,但超时已经为 0,
|
||||
* 说明旧状态异常,重新作为第一次点击。
|
||||
*/
|
||||
trig1_cnt = 1;
|
||||
}
|
||||
|
||||
trig1_timeout = TRIGGER_TIMEOUT_MS;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// 再等20ms
|
||||
s1_debounce_cnt = DEBOUNCE_MS; // 30ms
|
||||
s1_state = DB_IDLE;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case DB_PRESSED:
|
||||
/*
|
||||
* 按下超过 200ms:
|
||||
* 认为是普通不回弹墙壁开关,打开 GPIO5。
|
||||
*/
|
||||
if(s1_long_press_done == 0)
|
||||
{
|
||||
if(s1_press_cnt < RETURN_SWITCH_CNT)
|
||||
{
|
||||
s1_press_cnt++;
|
||||
}
|
||||
|
||||
if(s1_press_cnt >= RETURN_SWITCH_CNT)
|
||||
{
|
||||
s1_long_press_done = 1;
|
||||
|
||||
/*
|
||||
* 普通不回弹开关只处理第一次有效按下。
|
||||
*
|
||||
* 注意:
|
||||
* 这里仍然要求 trig1_cnt == 1,
|
||||
* 避免快速多次点击被误判成长按开关打开。
|
||||
*/
|
||||
if(trig1_cnt == 1 && trig1_wait == 1)
|
||||
{
|
||||
trig1_cnt = 0;
|
||||
trig1_timeout = 0;
|
||||
trig1_wait = 0;
|
||||
|
||||
s1_return_click_flag = 0;
|
||||
switch1_RELEASE_flag = 0;
|
||||
|
||||
s1_first_press_flag = 1;
|
||||
|
||||
switch_s1_output_on();
|
||||
}
|
||||
else if(trig1_cnt >= TRIGGER_CONTINUE_CNT)
|
||||
{
|
||||
/*
|
||||
* ====================================================
|
||||
* 关键新增修复
|
||||
* ====================================================
|
||||
*
|
||||
* 如果已经快速拨动到了 5 次或以上,
|
||||
* 但是最后一次保持在打开状态超过 200ms,
|
||||
* 那么这一次对码序列作废。
|
||||
*
|
||||
* 后面即使再关闭,也不能进入对码。
|
||||
*/
|
||||
s1_pair_invalid_flag = 1;
|
||||
|
||||
/*
|
||||
* 防止旧的回弹点击标志残留。
|
||||
*/
|
||||
s1_return_click_flag = 0;
|
||||
switch1_RELEASE_flag = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 检测释放
|
||||
*/
|
||||
if(xc_gpio_read_pin(SWITCH_S1_PIN) == 1)
|
||||
{
|
||||
s1_state = DB_RELEASE_DEBOUNCE;
|
||||
s1_debounce_cnt = DEBOUNCE_MS;
|
||||
}
|
||||
break;
|
||||
|
||||
case DB_RELEASE_DEBOUNCE:
|
||||
if(s1_debounce_cnt > 0)
|
||||
{
|
||||
s1_debounce_cnt--;
|
||||
}
|
||||
|
||||
if(s1_debounce_cnt == 0)
|
||||
{
|
||||
if(xc_gpio_read_pin(SWITCH_S1_PIN) == 1)
|
||||
{
|
||||
s1_state = DB_IDLE;
|
||||
|
||||
/*
|
||||
* ====================================================
|
||||
* 关键新增修复
|
||||
* ====================================================
|
||||
*
|
||||
* 如果前面已经判定:
|
||||
* 快速拨动 5 次后,最后一次停留打开超过 200ms,
|
||||
* 那么这次释放只是无效释放。
|
||||
*
|
||||
* 直接清理状态,不再进入后面的 5 次对码处理。
|
||||
*/
|
||||
if(s1_pair_invalid_flag == 1)
|
||||
{
|
||||
switch_s1_clear_action_state();
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
* 释放后重新给连击窗口计时。
|
||||
*/
|
||||
trig1_timeout = TRIGGER_TIMEOUT_MS;
|
||||
switch1_RELEASE_flag = 1;
|
||||
|
||||
if(s1_long_press_done == 0)
|
||||
{
|
||||
/*
|
||||
* 200ms 内释放:
|
||||
* 回弹点击。
|
||||
*/
|
||||
s1_return_click_flag = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
* 普通不回弹开关释放。
|
||||
*/
|
||||
if(s1_first_press_flag == 1)
|
||||
{
|
||||
s1_first_press_flag = 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
s1_debounce_cnt = DEBOUNCE_MS;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
s1_state = DB_IDLE;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//
|
||||
// switch(s2_state)
|
||||
// {
|
||||
// case DB_IDLE: //空闲状态
|
||||
// break;
|
||||
//
|
||||
// case DB_PRESS_DEBOUNCE: //按下防抖
|
||||
// if(s2_debounce_cnt>0) s2_debounce_cnt--;
|
||||
// if(s2_debounce_cnt==0)
|
||||
// {
|
||||
// //防抖时间到,采样当前电平是否是低电平
|
||||
// if(xc_gpio_read_pin(SWITCH_S2_PIN)==0)
|
||||
// {
|
||||
// s2_state = DB_PRESSED; //进入按下状态,不响应中断
|
||||
// if(trig2_wait == 0)
|
||||
// {
|
||||
// trig2_cnt = 1;
|
||||
// trig2_timeout = TRIGGER_TIMEOUT_MS;
|
||||
// trig2_wait = 1;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// if(trig2_timeout>0)
|
||||
// {
|
||||
// trig2_cnt++;
|
||||
// }
|
||||
//
|
||||
// trig2_timeout = TRIGGER_TIMEOUT_MS;
|
||||
// }
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// // 杂波导致误触,回到空闲
|
||||
// s2_state = DB_IDLE;
|
||||
// }
|
||||
// }
|
||||
// break;
|
||||
//
|
||||
//
|
||||
// case DB_PRESSED: //确认按下
|
||||
// // 等待引脚回高电平
|
||||
// if(xc_gpio_read_pin(SWITCH_S2_PIN) == 1)
|
||||
// {
|
||||
// s2_state = DB_RELEASE_DEBOUNCE;
|
||||
// s2_debounce_cnt = DEBOUNCE_MS; // 释放30ms防抖
|
||||
// }
|
||||
// break;
|
||||
|
||||
// case DB_RELEASE_DEBOUNCE: //释放防抖
|
||||
// if(s2_debounce_cnt > 0) s2_debounce_cnt--;
|
||||
// if(s2_debounce_cnt == 0)
|
||||
// {
|
||||
// if(xc_gpio_read_pin(SWITCH_S2_PIN) == 1) // 确认释放
|
||||
// {
|
||||
// s2_state = DB_IDLE; // 回到空闲
|
||||
// trig2_timeout = TRIGGER_TIMEOUT_MS;
|
||||
// switch2_RELEASE_flag=1;
|
||||
// if(s2_first_press_flag==1)
|
||||
// {
|
||||
// s2_first_press_flag=2;
|
||||
//
|
||||
// }
|
||||
//
|
||||
//
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// // 再等20ms
|
||||
// s2_debounce_cnt = DEBOUNCE_MS; // 30ms
|
||||
// }
|
||||
// }
|
||||
// break;
|
||||
// }
|
||||
|
||||
|
||||
|
||||
// S1 超时处理
|
||||
/*
|
||||
* ========================================================
|
||||
* S1 连击超时处理
|
||||
* ========================================================
|
||||
*/
|
||||
if(trig1_timeout > 0)
|
||||
{
|
||||
trig1_timeout--;
|
||||
}
|
||||
else if(trig1_timeout==0 && switch1_RELEASE_flag==1 )
|
||||
{
|
||||
switch1_RELEASE_flag=2;
|
||||
}
|
||||
}
|
||||
else if(trig1_timeout == 0 && switch1_RELEASE_flag == 1)
|
||||
{
|
||||
switch1_RELEASE_flag = 2;
|
||||
}
|
||||
|
||||
|
||||
// 600ms倒计时结束,且有计数
|
||||
if(trig1_timeout == 0 && trig1_cnt == 1 && trig1_wait == 1 && s1_state == DB_PRESSED) //确定按下1次
|
||||
{
|
||||
//printf("按下一次 trig1_cnt %d\r\n",trig1_cnt);
|
||||
trig1_cnt = 0;
|
||||
trig1_wait = 0;
|
||||
s1_first_press_flag=1;
|
||||
xc_gpio_write_pin(GPIO_5,GPIO_PIN_SET);
|
||||
flash_ch1_state=xc_gpio_read_pin(GPIO_5);
|
||||
flash_run();
|
||||
|
||||
}
|
||||
|
||||
else if(trig1_timeout == 0 && (trig1_cnt > 1 && trig1_cnt < TRIGGER_CONTINUE_CNT))
|
||||
{
|
||||
// printf("乱按 trig1_cnt %d\r\n",trig1_cnt);
|
||||
trig1_cnt = 0;
|
||||
trig1_wait = 0;
|
||||
|
||||
|
||||
|
||||
}
|
||||
else if(trig1_timeout == 0 && trig1_cnt >= TRIGGER_CONTINUE_CNT)
|
||||
{
|
||||
//printf("对码 trig1_cnt %d\r\n",trig1_cnt);
|
||||
if( s1_state == DB_IDLE)
|
||||
{
|
||||
rf433_sw_flag = 2; // HPW421: S1/GPIO5 is the single relay L2 pairing key
|
||||
trig1_cnt = 0;
|
||||
trig1_wait = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
trig1_cnt = 0;
|
||||
trig1_wait = 0;
|
||||
}
|
||||
}
|
||||
|
||||
else if(trig1_timeout == 0 && switch1_RELEASE_flag==2 && s1_state == DB_IDLE && s1_first_press_flag==2 )
|
||||
{
|
||||
// printf("低电平 trig2_cnt %d\r\n",trig2_cnt);
|
||||
s1_state = DB_IDLE;
|
||||
switch1_RELEASE_flag=0;
|
||||
s1_first_press_flag=0;
|
||||
xc_gpio_write_pin(GPIO_5,GPIO_PIN_RESET);
|
||||
flash_ch1_state=xc_gpio_read_pin(GPIO_5);
|
||||
flash_run();
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// // S2 超时处理
|
||||
// if(trig2_timeout > 0)
|
||||
// {
|
||||
// trig2_timeout--;
|
||||
// }
|
||||
// else if(trig2_timeout==0 && switch2_RELEASE_flag==1 )
|
||||
// {
|
||||
// switch2_RELEASE_flag=2;
|
||||
// }
|
||||
//
|
||||
//
|
||||
// // 600ms倒计时结束,且有计数
|
||||
// if(trig2_timeout == 0 && trig2_cnt == 1 && trig2_wait == 1 && s2_state == DB_PRESSED) //确定按下1次
|
||||
// {
|
||||
//
|
||||
// trig2_cnt = 0;
|
||||
// trig2_wait = 0;
|
||||
// s2_first_press_flag=1;
|
||||
//
|
||||
// xc_gpio_write_pin(GPIO_2,GPIO_PIN_SET);
|
||||
//
|
||||
// flash_ch2_state=xc_gpio_read_pin(GPIO_2);
|
||||
// flash_run();
|
||||
//
|
||||
//
|
||||
// }
|
||||
//
|
||||
// else if(trig2_timeout == 0 && (trig2_cnt > 1 && trig2_cnt < TRIGGER_CONTINUE_CNT))
|
||||
// {
|
||||
//
|
||||
// trig2_cnt = 0;
|
||||
// trig2_wait = 0;
|
||||
//
|
||||
//
|
||||
//
|
||||
// }
|
||||
// else if(trig2_timeout == 0 && trig2_cnt >= TRIGGER_CONTINUE_CNT)
|
||||
// {
|
||||
//
|
||||
//
|
||||
// if( s2_state == DB_IDLE)
|
||||
// {
|
||||
// rf433_sw_flag = 2;
|
||||
// trig2_cnt = 0;
|
||||
// trig2_wait = 0;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// trig2_cnt = 0;
|
||||
// trig2_wait = 0;
|
||||
// }
|
||||
//
|
||||
//
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
// else if(trig2_timeout == 0 && switch2_RELEASE_flag==2 && s2_state == DB_IDLE && s2_first_press_flag==2 )
|
||||
// {
|
||||
//
|
||||
//
|
||||
//
|
||||
// s2_state = DB_IDLE;
|
||||
// switch2_RELEASE_flag=0;
|
||||
// s2_first_press_flag=0;
|
||||
//
|
||||
// xc_gpio_write_pin(GPIO_2,GPIO_PIN_RESET);
|
||||
// flash_ch2_state=xc_gpio_read_pin(GPIO_2);
|
||||
// flash_run();
|
||||
// }
|
||||
|
||||
/*
|
||||
* ========================================================
|
||||
* S1 回弹开关处理
|
||||
* ========================================================
|
||||
*/
|
||||
if(trig1_timeout == 0 &&
|
||||
switch1_RELEASE_flag == 2 &&
|
||||
s1_state == DB_IDLE &&
|
||||
s1_return_click_flag == 1)
|
||||
{
|
||||
if(trig1_cnt == 1 && trig1_wait == 1)
|
||||
{
|
||||
/*
|
||||
* 单击:
|
||||
* GPIO5 翻转。
|
||||
*/
|
||||
switch_s1_clear_action_state();
|
||||
switch_s1_output_toggle();
|
||||
}
|
||||
else if(trig1_cnt > 1 && trig1_cnt < TRIGGER_CONTINUE_CNT)
|
||||
{
|
||||
/*
|
||||
* 2~4 次:
|
||||
* 不动作,但必须彻底清状态。
|
||||
*/
|
||||
switch_s1_clear_action_state();
|
||||
}
|
||||
else if(trig1_cnt >= TRIGGER_CONTINUE_CNT)
|
||||
{
|
||||
/*
|
||||
* 5 次及以上:
|
||||
* 进入对码。
|
||||
*
|
||||
* 这里增加 s1_pair_invalid_flag 判断。
|
||||
* 正常快速拨动 5 次并最终关闭:进入对码。
|
||||
* 拨动 5 次后停留打开一段时间再关闭:不进入对码。
|
||||
*/
|
||||
if(s1_pair_invalid_flag == 0)
|
||||
{
|
||||
rf433_sw_flag = 2;
|
||||
}
|
||||
|
||||
switch_s1_clear_action_state();
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
* 异常兜底清理。
|
||||
*/
|
||||
switch_s1_clear_action_state();
|
||||
}
|
||||
}
|
||||
/*
|
||||
* ========================================================
|
||||
* 普通不回弹开关释放后关闭 GPIO5
|
||||
* ========================================================
|
||||
*/
|
||||
else if(trig1_timeout == 0 &&
|
||||
switch1_RELEASE_flag == 2 &&
|
||||
s1_state == DB_IDLE &&
|
||||
s1_first_press_flag == 2)
|
||||
{
|
||||
/*
|
||||
* 普通不回弹开关释放后关闭 GPIO5。
|
||||
*/
|
||||
switch_s1_clear_action_state();
|
||||
switch_s1_output_off();
|
||||
}
|
||||
/*
|
||||
* ========================================================
|
||||
* 兜底:2~4 次超时
|
||||
* ========================================================
|
||||
*/
|
||||
else if(trig1_timeout == 0 &&
|
||||
trig1_cnt > 1 &&
|
||||
trig1_cnt < TRIGGER_CONTINUE_CNT)
|
||||
{
|
||||
/*
|
||||
* 2~4 次:
|
||||
* 不动作,但是必须清理全部状态。
|
||||
*/
|
||||
switch_s1_clear_action_state();
|
||||
}
|
||||
/*
|
||||
* ========================================================
|
||||
* 兜底:5 次及以上超时
|
||||
* ========================================================
|
||||
*/
|
||||
else if(trig1_timeout == 0 &&
|
||||
trig1_cnt >= TRIGGER_CONTINUE_CNT &&
|
||||
s1_state == DB_IDLE)
|
||||
{
|
||||
/*
|
||||
* 5 次及以上:
|
||||
*
|
||||
* 这里必须保留对码。
|
||||
* 因为正常快速拨动 5 次后,经常就是走这个兜底分支进入对码。
|
||||
*
|
||||
* 但是增加 s1_pair_invalid_flag 判断:
|
||||
* 如果是“5次后停留打开超过200ms再关闭”,则不允许对码。
|
||||
*/
|
||||
if(s1_pair_invalid_flag == 0)
|
||||
{
|
||||
rf433_sw_flag = 2;
|
||||
}
|
||||
|
||||
switch_s1_clear_action_state();
|
||||
}
|
||||
/*
|
||||
* ========================================================
|
||||
* 兜底:异常释放状态
|
||||
* ========================================================
|
||||
*/
|
||||
else if(trig1_timeout == 0 &&
|
||||
switch1_RELEASE_flag == 2 &&
|
||||
s1_state == DB_IDLE &&
|
||||
trig1_cnt == 0 &&
|
||||
trig1_wait == 0)
|
||||
{
|
||||
/*
|
||||
* 防止残留 switch1_RELEASE_flag == 2。
|
||||
*/
|
||||
switch_s1_clear_action_state();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* ============================================================
|
||||
* GPIO 中断回调
|
||||
* ============================================================
|
||||
*/
|
||||
void gpio_intr_callback(uint64_t intr_sta)
|
||||
{
|
||||
if((intr_sta & ((uint64_t)1 << SWITCH_S1_PIN)) != 0) //如果是GPIO_1的中断
|
||||
{
|
||||
if(s1_state == DB_IDLE && S1_first_on_state==0) // 只有空闲才响应
|
||||
/*
|
||||
* GPIO1 下降沿中断
|
||||
*/
|
||||
if((intr_sta & ((uint64_t)1 << SWITCH_S1_PIN)) != 0)
|
||||
{
|
||||
if(s1_state == DB_IDLE && S1_first_on_state == 0)
|
||||
{
|
||||
s1_state = DB_PRESS_DEBOUNCE;
|
||||
s1_debounce_cnt = DEBOUNCE_MS; // 40ms防抖
|
||||
s1_debounce_cnt = DEBOUNCE_MS;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// if((intr_sta & ((uint64_t)1 << SWITCH_S2_PIN)) != 0) //如果是GPIO_19的中断
|
||||
// {
|
||||
// if(s2_state == DB_IDLE && S2_first_on_state==0)
|
||||
// {
|
||||
// s2_state = DB_PRESS_DEBOUNCE;
|
||||
// s2_debounce_cnt = DEBOUNCE_MS;
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,47 +1,75 @@
|
||||
#ifndef __SWITCH_S_H__
|
||||
#define __SWITCH_S_H__
|
||||
|
||||
|
||||
|
||||
|
||||
#include <stdint.h>
|
||||
#include "xc_drv_gpio.h"
|
||||
|
||||
/*
|
||||
* ============================================================
|
||||
* 开关检测说明
|
||||
* ============================================================
|
||||
*
|
||||
* 当前版本只保留 S1:
|
||||
*
|
||||
* 输入:
|
||||
* GPIO1
|
||||
*
|
||||
* 输出:
|
||||
* GPIO5
|
||||
*
|
||||
* 功能:
|
||||
*
|
||||
* 1. 普通不回弹墙壁开关:
|
||||
* - GPIO1 按下超过 200ms 不松手:
|
||||
* GPIO5 打开。
|
||||
* - GPIO1 释放后:
|
||||
* GPIO5 关闭。
|
||||
*
|
||||
* 2. 回弹开关:
|
||||
* - GPIO1 200ms 内按下松开:
|
||||
* 认为是一次回弹点击。
|
||||
* - 单击 1 次:
|
||||
* GPIO5 翻转,开变关,关变开。
|
||||
* - 快速点击 2~4 次:
|
||||
* 不动作。
|
||||
* - 快速点击 5 次及以上,并且最终释放为关:
|
||||
* rf433_sw_flag = 2,进入对码。
|
||||
*
|
||||
* 3. 修复点:
|
||||
* - 对码后彻底清理所有开关状态,避免后续只能开不能关。
|
||||
* - DB_IDLE 状态增加 GPIO1 低电平补检,避免漏中断。
|
||||
* - 快速拨动 5 次后如果最后停在打开状态,等一段时间再关,
|
||||
* 不再进入对码。
|
||||
*/
|
||||
|
||||
// 400ms 超时
|
||||
#define TRIGGER_TIMEOUT_MS 20
|
||||
// 连续触发次数
|
||||
#define TRIGGER_CONTINUE_CNT 5
|
||||
// trigger_check_process() 实际调用周期,单位 ms
|
||||
#define SWITCH_SCAN_PERIOD_MS 10
|
||||
|
||||
#define SWITCH_S1_PIN GPIO_1
|
||||
#define SWITCH_S2_PIN GPIO_19
|
||||
// 连击超时时间:20 * 10ms = 200ms
|
||||
#define TRIGGER_TIMEOUT_MS 20
|
||||
|
||||
// 连续触发次数,达到 5 次进入对码
|
||||
#define TRIGGER_CONTINUE_CNT 5
|
||||
|
||||
// 回弹开关判断时间:200ms 内松手,认为是回弹开关
|
||||
#define RETURN_SWITCH_TIME_MS 200
|
||||
#define RETURN_SWITCH_CNT (RETURN_SWITCH_TIME_MS / SWITCH_SCAN_PERIOD_MS)
|
||||
|
||||
// S1 输入引脚
|
||||
#define SWITCH_S1_PIN GPIO_1
|
||||
|
||||
// 防抖状态机
|
||||
typedef enum {
|
||||
DB_IDLE = 0, // 空闲,等待下降沿
|
||||
DB_PRESS_DEBOUNCE, // 按下防抖中
|
||||
DB_PRESSED, // 确认按下,等待释放
|
||||
DB_RELEASE_DEBOUNCE // 释放防抖
|
||||
DB_IDLE = 0,
|
||||
DB_PRESS_DEBOUNCE,
|
||||
DB_PRESSED,
|
||||
DB_RELEASE_DEBOUNCE
|
||||
} debounce_state_t;
|
||||
|
||||
extern uint8_t rf433_sw_flag;
|
||||
|
||||
extern uint8_t S1_first_on_state;
|
||||
extern uint8_t S2_first_on_state;
|
||||
|
||||
void switch_init(void);
|
||||
|
||||
void trigger_check_process(void);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -21,7 +21,7 @@ Target DLL: UL2CM3.DLL V1.164.8.0
|
||||
Dialog DLL: TARMCM1.DLL V1.14.6.0
|
||||
|
||||
<h2>Project:</h2>
|
||||
C:\Users\QJM\Desktop\421发布58\project\example\ble\ble_peripheral\mdk\ble_peripheral.uvprojx
|
||||
C:\Users\QJM\Desktop\421发布58兼容两种遥控\project\example\ble\ble_peripheral\mdk\ble_peripheral.uvprojx
|
||||
Project File Date: 07/21/2026
|
||||
|
||||
<h2>Output:</h2>
|
||||
@@ -44,39 +44,39 @@ compiling usr_server.c...
|
||||
..\app\src\usr_server.c: 1 warning, 0 errors
|
||||
compiling aes.c...
|
||||
compiling app_task.c...
|
||||
compiling nvds.c...
|
||||
compiling xc_drv_adc.c...
|
||||
compiling nvds.c...
|
||||
compiling xc_drv_aotimer.c...
|
||||
compiling xc_gap_api.c...
|
||||
compiling xc_drv_bor.c...
|
||||
compiling xc_gap_api.c...
|
||||
compiling xc_gatt_client_api.c...
|
||||
compiling xc_gatt_server_api.c...
|
||||
compiling xc_drv_calib.c...
|
||||
compiling xc_drv_clock.c...
|
||||
compiling xc_drv_dma.c...
|
||||
compiling xc_drv_fmc_spi.c...
|
||||
compiling xc_drv_clock.c...
|
||||
compiling xc_drv_fmc_spi_dma.c...
|
||||
compiling xc_drv_gpio.c...
|
||||
compiling xc_drv_fmc_spi.c...
|
||||
compiling xc_drv_i2c.c...
|
||||
compiling xc_drv_gpio.c...
|
||||
compiling xc_drv_pga.c...
|
||||
compiling xc_drv_pwm.c...
|
||||
compiling xc_drv_pwr.c...
|
||||
compiling xc_drv_qdec.c...
|
||||
compiling xc_drv_spi.c...
|
||||
compiling xc_drv_pwr.c...
|
||||
compiling xc_drv_rtc.c...
|
||||
compiling xc_drv_spi.c...
|
||||
compiling xc_drv_spi_dma.c...
|
||||
compiling xc_drv_sw_i2c.c...
|
||||
compiling xc_drv_systick.c...
|
||||
compiling xc_drv_timer.c...
|
||||
compiling xc_drv_uart_dma.c...
|
||||
compiling xc_drv_uart.c...
|
||||
compiling timer.c...
|
||||
compiling xc_drv_uart_dma.c...
|
||||
compiling xc_drv_wdt.c...
|
||||
compiling timer.c...
|
||||
compiling switch_s.c...
|
||||
compiling fmc_spi_1.c...
|
||||
compiling key.c...
|
||||
compiling led.c...
|
||||
compiling timeslice.c...
|
||||
compiling key.c...
|
||||
compiling uart_1.c...
|
||||
compiling rf433.c...
|
||||
..\app\src\rf433.c(116): warning: #177-D: function "set_click" was declared but never referenced
|
||||
@@ -93,35 +93,35 @@ compiling ota_protocol.c...
|
||||
compiling ota_server.c...
|
||||
linking...
|
||||
.\Linker\cpu_xip.scat(21): warning: L6329W: Pattern uread4.o(.text) only matches removed unused sections.
|
||||
Program Size: Code=28268 RO-data=1784 RW-data=3012 ZI-data=4196
|
||||
Program Size: Code=28456 RO-data=1784 RW-data=3016 ZI-data=4192
|
||||
Finished: 0 information, 1 warning and 0 error messages.
|
||||
After Build - User command #1: fromelf --bin --output=app.bin .\Objects\Xinc_ble_sdk.axf
|
||||
After Build - User command #2: .\output_tool\Double_ota\ge_ota.bat
|
||||
Size of file: 30180 bytes.
|
||||
all_size=30180
|
||||
size:30180 PageCNT118
|
||||
Size of file: 30368 bytes.
|
||||
all_size=30368
|
||||
size:30368 PageCNT119
|
||||
dual_xip
|
||||
length:30472
|
||||
size:30472
|
||||
length:30728
|
||||
size:30728
|
||||
Addr:12000
|
||||
Size:0x7600
|
||||
Size:0x7700
|
||||
BAddr:0x12000
|
||||
Acheck:0x741cdb80
|
||||
Acheck:0x21e62240
|
||||
SoftVer:0x10
|
||||
RomVer:0x20
|
||||
LoadAddr:0x11012000
|
||||
Is xip ota?:1
|
||||
ota_data.bin success已复制 1 个文件。
|
||||
Size of file: 30180 bytes.
|
||||
all_size=30180
|
||||
size:30180 PageCNT118
|
||||
Size of file: 30368 bytes.
|
||||
all_size=30368
|
||||
size:30368 PageCNT119
|
||||
dual_xip
|
||||
length:30472
|
||||
size:30472
|
||||
length:30728
|
||||
size:30728
|
||||
Addr:12000
|
||||
Size:0x7600
|
||||
Size:0x7700
|
||||
BAddr:0x1e000
|
||||
Acheck:0x741cdb80
|
||||
Acheck:0x21e62240
|
||||
SoftVer:0x10
|
||||
RomVer:0x20
|
||||
LoadAddr:0x11012000
|
||||
@@ -155,11 +155,11 @@ is_db=1
|
||||
is_th=0
|
||||
需要填充0个sector
|
||||
all_size:1a000
|
||||
size: 30180
|
||||
size: 30368
|
||||
updata file success !
|
||||
已复制 1 个文件。
|
||||
总有2个命令行参数
|
||||
可 执 行文 件 名:C:\Users\QJM\Desktop\421发布58\tools\offline_burn\Xinc_mac_tool.exe
|
||||
可 执 行文 件 名:C:\Users\QJM\Desktop\421发布58兼容两种遥控\tools\offline_burn\Xinc_mac_tool.exe
|
||||
第一个命令行参数:40-ab-00-cd-01-01
|
||||
第二个命令行参数:1000000
|
||||
限制烧录次数burn_times=1000000
|
||||
@@ -195,399 +195,399 @@ crc:26:c6f0eb20
|
||||
crc:27:25ecd560
|
||||
crc:28:57384220
|
||||
crc:29:b08b2bc0
|
||||
crc:30:e1a2b940
|
||||
crc:31:47fc4b60
|
||||
crc:32:c27823c0
|
||||
crc:33:11f82b40
|
||||
crc:34:2d6f6aa0
|
||||
crc:35:b0392d00
|
||||
crc:36:401f46a0
|
||||
crc:37:8390a5c0
|
||||
crc:38:bf87ea40
|
||||
crc:39:c8a721e0
|
||||
crc:40:86d31a80
|
||||
crc:41:8be11c20
|
||||
crc:42:374eca60
|
||||
crc:43:b006f720
|
||||
crc:44:39cd6ee0
|
||||
crc:45:7712960
|
||||
crc:46:779a9dc0
|
||||
crc:47:e1fa0080
|
||||
crc:48:31290d00
|
||||
crc:49:6abb1860
|
||||
crc:50:ae9bb4c0
|
||||
crc:51:f95677a0
|
||||
crc:52:10d3a280
|
||||
crc:53:5e050800
|
||||
crc:54:38f19840
|
||||
crc:55:9c788100
|
||||
crc:56:5e940ac0
|
||||
crc:57:9edd18e0
|
||||
crc:58:d3ef8860
|
||||
crc:59:7d4e26c0
|
||||
crc:60:703f73a0
|
||||
crc:61:5a43cc20
|
||||
crc:62:fd2d7f80
|
||||
crc:63:470db080
|
||||
crc:64:4f181b20
|
||||
crc:65:808b86a0
|
||||
crc:66:fc5c88a0
|
||||
crc:67:9b1072e0
|
||||
crc:68:4d182440
|
||||
crc:69:dcc9bde0
|
||||
crc:70:6f547d60
|
||||
crc:71:d8ec8e0
|
||||
crc:72:440f72c0
|
||||
crc:73:39aeb560
|
||||
crc:74:ceb10f60
|
||||
crc:75:68620300
|
||||
crc:76:888f4620
|
||||
crc:77:b82d9fe0
|
||||
crc:78:59251d00
|
||||
crc:79:8c9f95a0
|
||||
crc:80:2c9abd20
|
||||
crc:81:803bef40
|
||||
crc:82:b980af60
|
||||
crc:83:95503420
|
||||
crc:84:5fdecca0
|
||||
crc:85:b4aff440
|
||||
crc:86:2f74d160
|
||||
crc:87:b6fbce00
|
||||
crc:88:d6bfc880
|
||||
crc:89:b0cb5080
|
||||
crc:90:d2d2d60
|
||||
crc:91:72885fe0
|
||||
crc:92:2af87600
|
||||
crc:93:ebee5080
|
||||
crc:94:9fadd2a0
|
||||
crc:95:1bab0c60
|
||||
crc:96:884941e0
|
||||
crc:97:3b483e20
|
||||
crc:98:2cb130e0
|
||||
crc:99:7a70ba00
|
||||
crc:100:b64585a0
|
||||
crc:101:7f2c1fc0
|
||||
crc:102:df4b28e0
|
||||
crc:103:789166c0
|
||||
crc:104:30d42cc0
|
||||
crc:105:91cee2c0
|
||||
crc:106:e2651700
|
||||
crc:107:f1597ee0
|
||||
crc:108:abcc4780
|
||||
crc:109:81d65380
|
||||
crc:110:5d830c60
|
||||
crc:111:f4037a40
|
||||
crc:112:10733d00
|
||||
crc:113:20da18e0
|
||||
crc:114:a1d0dae0
|
||||
crc:115:d356e880
|
||||
crc:116:460020e0
|
||||
crc:117:3e569e20
|
||||
crc:118:eb234e00
|
||||
crc:119:c0c72500
|
||||
crc:120:3f640c0
|
||||
crc:121:cb475280
|
||||
crc:122:24730a00
|
||||
crc:123:62339d20
|
||||
crc:124:106ada00
|
||||
crc:125:56f44e40
|
||||
crc:126:5bdad3c0
|
||||
crc:127:64227c00
|
||||
crc:128:3faed80
|
||||
crc:129:69d33aa0
|
||||
crc:130:bf45e4c0
|
||||
crc:131:504b5860
|
||||
crc:132:735615c0
|
||||
crc:133:cf0c80a0
|
||||
crc:134:353daa60
|
||||
crc:135:afbda200
|
||||
crc:136:f13e0480
|
||||
crc:137:46ed4f00
|
||||
crc:138:dc223be0
|
||||
crc:139:f777aa00
|
||||
crc:140:c25ac140
|
||||
crc:141:55ff7ba0
|
||||
crc:142:c51b7a40
|
||||
crc:143:90cc9cc0
|
||||
crc:144:1918be40
|
||||
crc:145:36e0e620
|
||||
crc:146:ce5dff20
|
||||
crc:147:4b0e7a40
|
||||
crc:148:99817c80
|
||||
crc:149:241fac20
|
||||
crc:150:2f032400
|
||||
crc:151:3f8eae20
|
||||
crc:152:aa546a0
|
||||
crc:153:79594a00
|
||||
crc:154:4d82e920
|
||||
crc:155:311a54e0
|
||||
crc:156:d1da5f20
|
||||
crc:157:3b6921e0
|
||||
crc:158:f2f86a40
|
||||
crc:159:9ea748e0
|
||||
crc:160:29356280
|
||||
crc:161:20becf20
|
||||
crc:162:a02d0080
|
||||
crc:163:9e9ba9e0
|
||||
crc:164:8538daa0
|
||||
crc:165:5aab7500
|
||||
crc:166:3eb67be0
|
||||
crc:167:5cc299c0
|
||||
crc:168:990e9040
|
||||
crc:169:3971eea0
|
||||
crc:170:b6b9ef40
|
||||
crc:171:85d6d7c0
|
||||
crc:172:75a78be0
|
||||
crc:173:828a9ec0
|
||||
crc:174:1e55dba0
|
||||
crc:175:3d3f0160
|
||||
crc:176:2c26cd60
|
||||
crc:177:2b841920
|
||||
crc:178:5fc736a0
|
||||
crc:179:e596de0
|
||||
crc:180:ed70cda0
|
||||
crc:181:539c65c0
|
||||
crc:182:7f997500
|
||||
crc:183:48c819c0
|
||||
crc:184:9dec0740
|
||||
crc:185:c1711560
|
||||
crc:186:d5b64280
|
||||
crc:187:5e8b5380
|
||||
crc:188:bb426300
|
||||
crc:189:1d962e80
|
||||
crc:190:b7c27dc0
|
||||
crc:191:76b9160
|
||||
crc:192:7b30f520
|
||||
crc:193:26844700
|
||||
crc:194:144a3320
|
||||
crc:195:a1e22ec0
|
||||
crc:196:9ed604e0
|
||||
crc:197:7658b0c0
|
||||
crc:198:dddad000
|
||||
crc:199:4de914a0
|
||||
crc:200:ca3a9e0
|
||||
crc:201:93712f40
|
||||
crc:202:e8d81ca0
|
||||
crc:203:928e3e0
|
||||
crc:204:b6eb0b60
|
||||
crc:205:35393080
|
||||
crc:206:5f107d60
|
||||
crc:207:4f88e240
|
||||
crc:208:ab279f00
|
||||
crc:209:8b580b60
|
||||
crc:210:c6f31a60
|
||||
crc:211:fcd2b3a0
|
||||
crc:212:6f9c3d00
|
||||
crc:213:555d10a0
|
||||
crc:214:ff8bb2a0
|
||||
crc:215:c948fa60
|
||||
crc:216:477fdec0
|
||||
crc:217:37028fc0
|
||||
crc:218:3025ad00
|
||||
crc:219:632ead20
|
||||
crc:220:aadaa4c0
|
||||
crc:221:39764440
|
||||
crc:222:baad1500
|
||||
crc:223:ea848400
|
||||
crc:224:99dd7100
|
||||
crc:225:300cd9a0
|
||||
crc:226:ec9c5e0
|
||||
crc:227:7560f8e0
|
||||
crc:228:e85ebce0
|
||||
crc:229:9fbdda0
|
||||
crc:230:aaddd200
|
||||
crc:231:24141fc0
|
||||
crc:232:70000bc0
|
||||
crc:233:3b8958e0
|
||||
crc:234:e46cc400
|
||||
crc:235:eec7cae0
|
||||
crc:236:edc6da60
|
||||
crc:237:45102560
|
||||
crc:238:2923c9c0
|
||||
crc:239:93497800
|
||||
crc:240:ad1aa2c0
|
||||
crc:241:96507740
|
||||
crc:242:73b2180
|
||||
crc:243:95569720
|
||||
crc:244:cc5ce8a0
|
||||
crc:245:cc63e2a0
|
||||
crc:246:a2079a00
|
||||
crc:247:9990e7c0
|
||||
crc:248:760d1060
|
||||
crc:249:39fa9dc0
|
||||
crc:250:17c00240
|
||||
crc:251:bed960a0
|
||||
crc:252:33f3d020
|
||||
crc:253:1ca25ac0
|
||||
crc:254:ec072660
|
||||
crc:255:186cf880
|
||||
crc:256:e8f6ba80
|
||||
crc:257:36d3c8c0
|
||||
crc:258:a91f9280
|
||||
crc:259:1e79a780
|
||||
crc:260:98059f00
|
||||
crc:261:f153ffa0
|
||||
crc:262:5e074420
|
||||
crc:263:220d6b20
|
||||
crc:264:ad4479a0
|
||||
crc:265:8c4ecac0
|
||||
crc:266:28e1c760
|
||||
crc:267:12d37d60
|
||||
crc:268:a60fc3a0
|
||||
crc:269:8c9e0d20
|
||||
crc:270:6f6a04c0
|
||||
crc:271:a5782ae0
|
||||
crc:272:c45ffce0
|
||||
crc:273:ffb662c0
|
||||
crc:274:40b6f120
|
||||
crc:275:18546f40
|
||||
crc:276:ec7aa0e0
|
||||
crc:277:38422a60
|
||||
crc:278:752406c0
|
||||
crc:279:471f62a0
|
||||
crc:280:f9ea0580
|
||||
crc:281:9b258060
|
||||
crc:282:17a9dc80
|
||||
crc:283:baee4380
|
||||
crc:284:6d8be900
|
||||
crc:285:6c07cec0
|
||||
crc:286:3eeb4760
|
||||
crc:287:d44fda0
|
||||
crc:288:41a6c900
|
||||
crc:289:c0935040
|
||||
crc:290:968816e0
|
||||
crc:291:61023220
|
||||
crc:292:a1180480
|
||||
crc:293:e4b4f6a0
|
||||
crc:294:ffd20a00
|
||||
crc:295:ddca1a00
|
||||
crc:296:29449f00
|
||||
crc:297:c6743ea0
|
||||
crc:298:1883f640
|
||||
crc:299:601529e0
|
||||
crc:300:b7e45a20
|
||||
crc:301:d939a6c0
|
||||
crc:302:c1ae36e0
|
||||
crc:303:b7579e20
|
||||
crc:304:b09f5880
|
||||
crc:305:8d035540
|
||||
crc:306:cc844f40
|
||||
crc:307:98a20700
|
||||
crc:308:3bc23ac0
|
||||
crc:309:44af7180
|
||||
crc:310:2d005620
|
||||
crc:311:f29b9d80
|
||||
crc:312:6916ae40
|
||||
crc:313:482f96c0
|
||||
crc:314:47e0d160
|
||||
crc:315:6d1f5a00
|
||||
crc:316:7ee8a480
|
||||
crc:317:afa4d560
|
||||
crc:318:e9350040
|
||||
crc:319:6c875480
|
||||
crc:320:2f5ae3c0
|
||||
crc:321:7c32b6e0
|
||||
crc:322:263f1320
|
||||
crc:323:59e36c60
|
||||
crc:324:b6dd64e0
|
||||
crc:325:5d8e16e0
|
||||
crc:326:b4be9860
|
||||
crc:327:9b58d6e0
|
||||
crc:328:fbd55c80
|
||||
crc:329:9ea6b5c0
|
||||
crc:330:7100f400
|
||||
crc:331:445eafc0
|
||||
crc:332:35be09e0
|
||||
crc:333:4b27a000
|
||||
crc:334:2b125bc0
|
||||
crc:335:f90ec5a0
|
||||
crc:336:53a034a0
|
||||
crc:337:8ed61ec0
|
||||
crc:338:efad3c00
|
||||
crc:339:370ba720
|
||||
crc:340:88cc59a0
|
||||
crc:341:8a5ca260
|
||||
crc:342:29b5be20
|
||||
crc:343:11fe0a20
|
||||
crc:344:4ff30260
|
||||
crc:345:89c42000
|
||||
crc:346:b2eef280
|
||||
crc:347:4987a780
|
||||
crc:348:6ad18aa0
|
||||
crc:349:d7dfed00
|
||||
crc:350:c6e09500
|
||||
crc:351:3aed0300
|
||||
crc:352:83259cc0
|
||||
crc:353:54b81720
|
||||
crc:354:9c3a8260
|
||||
crc:355:5c4e7420
|
||||
crc:356:218c2800
|
||||
crc:357:bcf198a0
|
||||
crc:358:c453f140
|
||||
crc:359:c3a6ef60
|
||||
crc:360:a36cfe80
|
||||
crc:361:66655000
|
||||
crc:362:52957360
|
||||
crc:363:69af65c0
|
||||
crc:364:a02c8f40
|
||||
crc:365:f9a1c920
|
||||
crc:366:56b66720
|
||||
crc:367:88c326a0
|
||||
crc:368:83de9f80
|
||||
crc:369:b041e720
|
||||
crc:370:50e5b560
|
||||
crc:371:be9ef5e0
|
||||
crc:372:63da24e0
|
||||
crc:373:10b272c0
|
||||
crc:374:3b32a680
|
||||
crc:375:bae000
|
||||
crc:376:b19c8280
|
||||
crc:377:495e8160
|
||||
crc:378:43590a0
|
||||
crc:379:8c092de0
|
||||
crc:380:a75c9080
|
||||
crc:381:1c745860
|
||||
crc:382:186ecee0
|
||||
crc:383:f49045c0
|
||||
crc:384:953ffdc0
|
||||
crc:385:ebaa3560
|
||||
crc:386:b2378680
|
||||
crc:387:57417460
|
||||
crc:388:4cf7eb20
|
||||
crc:389:66339f60
|
||||
crc:390:cac5d1a0
|
||||
crc:391:f4cc3440
|
||||
crc:392:6280e620
|
||||
crc:393:c45d9a0
|
||||
crc:394:9c6fe4e0
|
||||
crc:395:1ebaf2c0
|
||||
crc:396:d8da48c0
|
||||
crc:397:b88b2540
|
||||
crc:398:b3a3b2a0
|
||||
crc:399:1acf2ac0
|
||||
crc:400:3657b040
|
||||
crc:401:ffa3b9e0
|
||||
crc:402:67462620
|
||||
crc:403:a762aca0
|
||||
crc:404:e760a9c0
|
||||
crc:405:fb5e14e0
|
||||
crc:406:1462e540
|
||||
crc:407:d43a1500
|
||||
crc:408:465bbe0
|
||||
crc:409:46a1ac60
|
||||
crc:410:9b639880
|
||||
crc:411:a8b33b20
|
||||
crc:412:6fc21c40
|
||||
crc:413:74f886a0
|
||||
crc:414:8f568980
|
||||
crc:415:5e0ba1e0
|
||||
PageCNT:416remain:256file_sumcheck:5e0ba1e0 i:416
|
||||
crc:30:5dd40500
|
||||
crc:31:b2d345c0
|
||||
crc:32:35241b80
|
||||
crc:33:caf9a220
|
||||
crc:34:4811f7e0
|
||||
crc:35:760e56e0
|
||||
crc:36:fe5caee0
|
||||
crc:37:9096fd00
|
||||
crc:38:2cae7660
|
||||
crc:39:b60a5900
|
||||
crc:40:548ad6c0
|
||||
crc:41:8b6eafa0
|
||||
crc:42:f28bd0e0
|
||||
crc:43:d17f94a0
|
||||
crc:44:de59a2c0
|
||||
crc:45:73193080
|
||||
crc:46:d8da74a0
|
||||
crc:47:4c632020
|
||||
crc:48:66695b00
|
||||
crc:49:d76df9a0
|
||||
crc:50:23a62e0
|
||||
crc:51:93c10ba0
|
||||
crc:52:964f3c80
|
||||
crc:53:7fb6c120
|
||||
crc:54:d6107500
|
||||
crc:55:ed2b0960
|
||||
crc:56:f5764860
|
||||
crc:57:40fc3220
|
||||
crc:58:417f8300
|
||||
crc:59:8c0de520
|
||||
crc:60:ee46dbc0
|
||||
crc:61:9e85c540
|
||||
crc:62:c87b9c40
|
||||
crc:63:6ba3760
|
||||
crc:64:e7ac58a0
|
||||
crc:65:eca7ba0
|
||||
crc:66:54d67d40
|
||||
crc:67:4b6989e0
|
||||
crc:68:5d052240
|
||||
crc:69:78b9c760
|
||||
crc:70:23c42fe0
|
||||
crc:71:a95fbd00
|
||||
crc:72:dd9fa100
|
||||
crc:73:d4d2dca0
|
||||
crc:74:898379e0
|
||||
crc:75:3e2171a0
|
||||
crc:76:d05fbdc0
|
||||
crc:77:b55abc0
|
||||
crc:78:bf93d1c0
|
||||
crc:79:c21b1160
|
||||
crc:80:6a33c220
|
||||
crc:81:e6c64a60
|
||||
crc:82:4646c100
|
||||
crc:83:13fe54c0
|
||||
crc:84:62301960
|
||||
crc:85:536f3040
|
||||
crc:86:dbb13220
|
||||
crc:87:db527e80
|
||||
crc:88:225fd560
|
||||
crc:89:c1404a40
|
||||
crc:90:6988dca0
|
||||
crc:91:38527fc0
|
||||
crc:92:559ff600
|
||||
crc:93:3eb92f80
|
||||
crc:94:7dfc6e00
|
||||
crc:95:50e440a0
|
||||
crc:96:81ae8760
|
||||
crc:97:a5fb6f80
|
||||
crc:98:e245bc20
|
||||
crc:99:3fe0c960
|
||||
crc:100:57890aa0
|
||||
crc:101:33c0b760
|
||||
crc:102:d1ec1d20
|
||||
crc:103:d76feb20
|
||||
crc:104:ac2c800
|
||||
crc:105:fa858ca0
|
||||
crc:106:db8ff560
|
||||
crc:107:697479e0
|
||||
crc:108:4e57c7e0
|
||||
crc:109:3746aac0
|
||||
crc:110:5af187a0
|
||||
crc:111:7fdc0820
|
||||
crc:112:df356a80
|
||||
crc:113:45167a0
|
||||
crc:114:f0b85520
|
||||
crc:115:ed30b580
|
||||
crc:116:9c166240
|
||||
crc:117:46048720
|
||||
crc:118:488ae100
|
||||
crc:119:4f508200
|
||||
crc:120:5ad6bd00
|
||||
crc:121:6d9de7c0
|
||||
crc:122:12e49340
|
||||
crc:123:c8115e80
|
||||
crc:124:29e709a0
|
||||
crc:125:54bef0a0
|
||||
crc:126:f7e21c20
|
||||
crc:127:89e00720
|
||||
crc:128:4b140
|
||||
crc:129:d52f90c0
|
||||
crc:130:38d12ec0
|
||||
crc:131:39cc5680
|
||||
crc:132:85a77a40
|
||||
crc:133:996662e0
|
||||
crc:134:bbeca6e0
|
||||
crc:135:5cf67420
|
||||
crc:136:99ce0700
|
||||
crc:137:cfbd25c0
|
||||
crc:138:548176e0
|
||||
crc:139:f7799d00
|
||||
crc:140:5f660080
|
||||
crc:141:f0c64ec0
|
||||
crc:142:86f6bb00
|
||||
crc:143:2f3628a0
|
||||
crc:144:f056f820
|
||||
crc:145:417b1460
|
||||
crc:146:52aa4360
|
||||
crc:147:7f2402e0
|
||||
crc:148:c193a040
|
||||
crc:149:bd761120
|
||||
crc:150:1e1cf880
|
||||
crc:151:94606b40
|
||||
crc:152:815c8960
|
||||
crc:153:1ef41580
|
||||
crc:154:f3800680
|
||||
crc:155:6295cd80
|
||||
crc:156:9075db00
|
||||
crc:157:b6165500
|
||||
crc:158:47e725a0
|
||||
crc:159:7a5e3d40
|
||||
crc:160:c5577640
|
||||
crc:161:f546bcc0
|
||||
crc:162:67d4a860
|
||||
crc:163:cd28b4c0
|
||||
crc:164:45898860
|
||||
crc:165:ae2819a0
|
||||
crc:166:b79dd2e0
|
||||
crc:167:f489f240
|
||||
crc:168:df61c740
|
||||
crc:169:ae51ac40
|
||||
crc:170:459d15e0
|
||||
crc:171:c8af6bc0
|
||||
crc:172:d6b41aa0
|
||||
crc:173:ce9fdde0
|
||||
crc:174:72dbb600
|
||||
crc:175:6232bae0
|
||||
crc:176:f58c59e0
|
||||
crc:177:47438c20
|
||||
crc:178:78dd88e0
|
||||
crc:179:3bc755e0
|
||||
crc:180:cf10e980
|
||||
crc:181:6e6153e0
|
||||
crc:182:1ffbbbc0
|
||||
crc:183:9238a3c0
|
||||
crc:184:3071fac0
|
||||
crc:185:1614fda0
|
||||
crc:186:b9fbc300
|
||||
crc:187:61485ac0
|
||||
crc:188:d4162060
|
||||
crc:189:c289f360
|
||||
crc:190:5fa88860
|
||||
crc:191:2c0f4640
|
||||
crc:192:13002dc0
|
||||
crc:193:ecafbb00
|
||||
crc:194:6be8cde0
|
||||
crc:195:80b01920
|
||||
crc:196:74245ea0
|
||||
crc:197:d62fd620
|
||||
crc:198:e48febe0
|
||||
crc:199:31b28880
|
||||
crc:200:587ec140
|
||||
crc:201:39f67920
|
||||
crc:202:1328aa40
|
||||
crc:203:c2770ca0
|
||||
crc:204:678bb340
|
||||
crc:205:7e9dc6c0
|
||||
crc:206:ad3b1b80
|
||||
crc:207:3a7b88e0
|
||||
crc:208:78c43720
|
||||
crc:209:fbacbe80
|
||||
crc:210:7d88cc00
|
||||
crc:211:fee53700
|
||||
crc:212:ffbe6240
|
||||
crc:213:f487ea60
|
||||
crc:214:104e5c00
|
||||
crc:215:afb84840
|
||||
crc:216:20082cc0
|
||||
crc:217:89935020
|
||||
crc:218:662b46a0
|
||||
crc:219:17ce8a00
|
||||
crc:220:b0906840
|
||||
crc:221:1e2171a0
|
||||
crc:222:82e97380
|
||||
crc:223:9746b680
|
||||
crc:224:c0748fe0
|
||||
crc:225:fe938d60
|
||||
crc:226:25504640
|
||||
crc:227:efe909a0
|
||||
crc:228:319f2600
|
||||
crc:229:25e9bfe0
|
||||
crc:230:3c802800
|
||||
crc:231:470b0a00
|
||||
crc:232:fb95bf20
|
||||
crc:233:caaaaac0
|
||||
crc:234:fdef3ea0
|
||||
crc:235:8d7aaea0
|
||||
crc:236:fc99d20
|
||||
crc:237:93f98240
|
||||
crc:238:6d5b5880
|
||||
crc:239:3f057f80
|
||||
crc:240:6bd740a0
|
||||
crc:241:7ed04080
|
||||
crc:242:aadbca0
|
||||
crc:243:2b1b600
|
||||
crc:244:d7875260
|
||||
crc:245:e0477fa0
|
||||
crc:246:28aa0280
|
||||
crc:247:19ad47e0
|
||||
crc:248:246ce200
|
||||
crc:249:e5336d60
|
||||
crc:250:c890ae20
|
||||
crc:251:fe426cc0
|
||||
crc:252:2cad39c0
|
||||
crc:253:29967280
|
||||
crc:254:6504de80
|
||||
crc:255:469509e0
|
||||
crc:256:1d5f4ce0
|
||||
crc:257:c08f7fc0
|
||||
crc:258:af5a6a0
|
||||
crc:259:c2da6260
|
||||
crc:260:c598a440
|
||||
crc:261:938c2b20
|
||||
crc:262:e68bc0e0
|
||||
crc:263:a539f940
|
||||
crc:264:36525220
|
||||
crc:265:fa4db8a0
|
||||
crc:266:200e0ae0
|
||||
crc:267:e5c16280
|
||||
crc:268:539f27c0
|
||||
crc:269:b1cd6900
|
||||
crc:270:46abe5c0
|
||||
crc:271:677e3800
|
||||
crc:272:ee804420
|
||||
crc:273:2a6ad2a0
|
||||
crc:274:7f51a1c0
|
||||
crc:275:393f7ea0
|
||||
crc:276:8e4e6680
|
||||
crc:277:bfe05480
|
||||
crc:278:26085340
|
||||
crc:279:f6b6c0e0
|
||||
crc:280:e4bc0360
|
||||
crc:281:7e0b9f60
|
||||
crc:282:d0f2da20
|
||||
crc:283:f2afb8c0
|
||||
crc:284:a56c76c0
|
||||
crc:285:2e5e6880
|
||||
crc:286:c5faf120
|
||||
crc:287:a8dd78c0
|
||||
crc:288:1000fca0
|
||||
crc:289:473d920
|
||||
crc:290:cbdcd5e0
|
||||
crc:291:e994f120
|
||||
crc:292:7bec0380
|
||||
crc:293:189ecea0
|
||||
crc:294:31b6f080
|
||||
crc:295:b5a84fc0
|
||||
crc:296:2270680
|
||||
crc:297:29c1f260
|
||||
crc:298:8e157300
|
||||
crc:299:bed38ec0
|
||||
crc:300:c9ac64a0
|
||||
crc:301:366bb540
|
||||
crc:302:7e5c34c0
|
||||
crc:303:2abe5660
|
||||
crc:304:99dd2ba0
|
||||
crc:305:eec6e920
|
||||
crc:306:259991a0
|
||||
crc:307:801903e0
|
||||
crc:308:4b6a4520
|
||||
crc:309:d99b8740
|
||||
crc:310:dd845d60
|
||||
crc:311:c6f0edc0
|
||||
crc:312:d80b8fe0
|
||||
crc:313:d833f560
|
||||
crc:314:96bd6a60
|
||||
crc:315:88cceb20
|
||||
crc:316:43d3a9c0
|
||||
crc:317:7a38df80
|
||||
crc:318:fc744c0
|
||||
crc:319:b15e7ea0
|
||||
crc:320:96870540
|
||||
crc:321:cfa02dc0
|
||||
crc:322:c38c2c80
|
||||
crc:323:fb416440
|
||||
crc:324:fdcff660
|
||||
crc:325:ffa044c0
|
||||
crc:326:44000ce0
|
||||
crc:327:bdcc1ae0
|
||||
crc:328:6924f0a0
|
||||
crc:329:19858380
|
||||
crc:330:5d78b7c0
|
||||
crc:331:756a43c0
|
||||
crc:332:ca474d80
|
||||
crc:333:625b23c0
|
||||
crc:334:98f60040
|
||||
crc:335:244bf920
|
||||
crc:336:12f64cc0
|
||||
crc:337:69e55020
|
||||
crc:338:2f2e1e40
|
||||
crc:339:aa025cc0
|
||||
crc:340:23031ec0
|
||||
crc:341:33fda400
|
||||
crc:342:bcfa3300
|
||||
crc:343:bf95b840
|
||||
crc:344:84ddc760
|
||||
crc:345:538d8580
|
||||
crc:346:bcb51720
|
||||
crc:347:f3abc820
|
||||
crc:348:f1b137e0
|
||||
crc:349:4c15c420
|
||||
crc:350:ae0825a0
|
||||
crc:351:e0cc3640
|
||||
crc:352:ab8dee80
|
||||
crc:353:f21cc5a0
|
||||
crc:354:82375ba0
|
||||
crc:355:e3532440
|
||||
crc:356:fd119e40
|
||||
crc:357:b6b8ccc0
|
||||
crc:358:1d0be220
|
||||
crc:359:5ec9fc60
|
||||
crc:360:29dda300
|
||||
crc:361:6971e3e0
|
||||
crc:362:243e3be0
|
||||
crc:363:eab8cca0
|
||||
crc:364:d43e8120
|
||||
crc:365:19fc9e80
|
||||
crc:366:f21d3980
|
||||
crc:367:691221c0
|
||||
crc:368:4b291440
|
||||
crc:369:7df61720
|
||||
crc:370:ad9aeac0
|
||||
crc:371:23f0f3c0
|
||||
crc:372:e4039100
|
||||
crc:373:a67190c0
|
||||
crc:374:c7ec2860
|
||||
crc:375:4f60c3e0
|
||||
crc:376:a49183e0
|
||||
crc:377:ba90db80
|
||||
crc:378:bee37560
|
||||
crc:379:76c755c0
|
||||
crc:380:2968c780
|
||||
crc:381:57a99840
|
||||
crc:382:90bb99e0
|
||||
crc:383:db700800
|
||||
crc:384:57d6ba20
|
||||
crc:385:fc8581c0
|
||||
crc:386:4d3b40
|
||||
crc:387:e2c8f0a0
|
||||
crc:388:cd09d080
|
||||
crc:389:b3541400
|
||||
crc:390:ef541da0
|
||||
crc:391:876504c0
|
||||
crc:392:ffd09800
|
||||
crc:393:1dbef980
|
||||
crc:394:c6c85740
|
||||
crc:395:af76bce0
|
||||
crc:396:76538ca0
|
||||
crc:397:91e60a60
|
||||
crc:398:698e0280
|
||||
crc:399:34399e80
|
||||
crc:400:7f978f00
|
||||
crc:401:fa26d6c0
|
||||
crc:402:b6a12140
|
||||
crc:403:1b39dc20
|
||||
crc:404:5f86d180
|
||||
crc:405:27b710c0
|
||||
crc:406:b3fb8b60
|
||||
crc:407:c9e121e0
|
||||
crc:408:7b6732e0
|
||||
crc:409:78e37d40
|
||||
crc:410:6046e0
|
||||
crc:411:fc3f7fa0
|
||||
crc:412:17b44fe0
|
||||
crc:413:3728d240
|
||||
crc:414:b7a4a8e0
|
||||
crc:415:df464f60
|
||||
PageCNT:416remain:256file_sumcheck:df464f60 i:416
|
||||
length:1a000
|
||||
00 106496updata mac success !
|
||||
merge file success !
|
||||
Checksum source: C:\Users\QJM\Desktop\421发布58\tools\offline_burn\40-ab-00-cd-01-01_5E0BA1E0_1000000.bin
|
||||
Online BIN: C:\Users\QJM\Desktop\421发布58\release\online\HPW421_V1.3_XC6517_5E0BA1E0.bin
|
||||
OTA BIN: C:\Users\QJM\Desktop\421发布58\release\ota\HPW421_V1.3_XC6517_5E0BA1E0_OTA.bin
|
||||
Checksum source: C:\Users\QJM\Desktop\421发布58兼容两种遥控\tools\offline_burn\40-ab-00-cd-01-01_DF464F60_1000000.bin
|
||||
Online BIN: C:\Users\QJM\Desktop\421发布58兼容两种遥控\release\online\HPW421_V1.3_XC6517_DF464F60.bin
|
||||
OTA BIN: C:\Users\QJM\Desktop\421发布58兼容两种遥控\release\ota\HPW421_V1.3_XC6517_DF464F60_OTA.bin
|
||||
".\Objects\Xinc_ble_sdk.axf" - 0 Error(s), 7 Warning(s).
|
||||
|
||||
<h2>Software Packages used:</h2>
|
||||
@@ -601,7 +601,7 @@ Package Vendor: ARM
|
||||
D:/Keil_v5/Packs/ARM/CMSIS/5.9.0/Device/ARM/ARMCM0/Include
|
||||
|
||||
<h2>Collection of Component Files used:</h2>
|
||||
Build Time Elapsed: 00:00:22
|
||||
Build Time Elapsed: 00:00:20
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -7,11 +7,10 @@
|
||||
.\objects\timeslice.o: ..\app\src\rf433.h
|
||||
.\objects\timeslice.o: ..\app\src\key.h
|
||||
.\objects\timeslice.o: ..\app\src\switch_s.h
|
||||
.\objects\timeslice.o: ..\app\src\ota_flash_interface.h
|
||||
.\objects\timeslice.o: ..\..\..\..\..\component\xc6xx_drivers\Drivers\xc_driver\xc_drv_fmc_spi.h
|
||||
.\objects\timeslice.o: ..\..\..\..\..\component\xc6xx_drivers\Drivers\xc_driver\xc_drv_gpio.h
|
||||
.\objects\timeslice.o: D:\Keil_v5\ARM\ARMCC\Bin\..\include\stdbool.h
|
||||
.\objects\timeslice.o: ..\..\..\..\..\component\xc6xx_drivers\Drivers\CMSIS\Device\xc6xxx.h
|
||||
.\objects\timeslice.o: ..\..\..\..\..\component\xc6xx_drivers\Drivers\CMSIS\Device\xc65xx.h
|
||||
.\objects\timeslice.o: D:\Keil_v5\ARM\ARMCC\Bin\..\include\stdbool.h
|
||||
.\objects\timeslice.o: ..\..\..\..\..\component\xc6xx_drivers\Drivers\CMSIS\core_cm0.h
|
||||
.\objects\timeslice.o: ..\..\..\..\..\component\xc6xx_drivers\Drivers\CMSIS\core_cmInstr.h
|
||||
.\objects\timeslice.o: ..\..\..\..\..\component\xc6xx_drivers\Drivers\CMSIS\core_cmFunc.h
|
||||
@@ -64,6 +63,8 @@
|
||||
.\objects\timeslice.o: ..\..\..\..\..\component\xc6xx_drivers\Drivers\xc_driver\xc_drv_adc.h
|
||||
.\objects\timeslice.o: ..\..\..\..\..\component\xc6xx_drivers\Drivers\xc_driver\xc_drv_pwm.h
|
||||
.\objects\timeslice.o: ..\..\..\..\..\component\xc6xx_drivers\Drivers\xc_driver\xc_drv_bor.h
|
||||
.\objects\timeslice.o: ..\app\src\ota_flash_interface.h
|
||||
.\objects\timeslice.o: ..\..\..\..\..\component\xc6xx_drivers\Drivers\xc_driver\xc_drv_fmc_spi.h
|
||||
.\objects\timeslice.o: ..\app\src\ota_protocol.h
|
||||
.\objects\timeslice.o: ..\..\..\..\..\component\ble\plf\refip\src\arch\arch.h
|
||||
.\objects\timeslice.o: ..\..\..\..\..\component\ble\modules\rwip\api\rwip_config.h
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
|
||||
;#<FEEDBACK># ARM Linker, 5060960: Last Updated: Tue Jul 21 15:56:41 2026
|
||||
;#<FEEDBACK># ARM Linker, 5060960: Last Updated: Wed Jul 22 10:59:11 2026
|
||||
;VERSION 0.2
|
||||
;FILE aes.o
|
||||
__asm___5_aes_c____REV16 <= USED 0
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user