전원 버튼 ON/OFF 임계 카운트 분리
- 버튼 감지 타이밍이 초기화 등으로 런타임과 달라서 체감상 3초로 맞추기 위해 분리
This commit is contained in:
@@ -20,7 +20,8 @@
|
|||||||
#define POWER_HOLD_NODE DT_NODELABEL(pwr_hold) // 전원 래치
|
#define POWER_HOLD_NODE DT_NODELABEL(pwr_hold) // 전원 래치
|
||||||
#define POWER_BTN_NODE DT_NODELABEL(button_check) // 전원 버튼
|
#define POWER_BTN_NODE DT_NODELABEL(button_check) // 전원 버튼
|
||||||
#define POWER_LOOP_INTERVAL 20 // 전원 시퀀스 타이머 간격(ms)
|
#define POWER_LOOP_INTERVAL 20 // 전원 시퀀스 타이머 간격(ms)
|
||||||
#define BOOT_THRESHOLD 350 // power button hold threshold
|
#define POWER_ON_THRESHOLD 350 // power button hold threshold(off -> on)
|
||||||
|
#define POWER_OFF_THRESHOLD 500 // power button hold threshold(on -> off)
|
||||||
#define BOND_RESET_THRESHOLD (15000 / POWER_ON_DELAY) // 15s long press bond reset
|
#define BOND_RESET_THRESHOLD (15000 / POWER_ON_DELAY) // 15s long press bond reset
|
||||||
|
|
||||||
static const struct gpio_dt_spec power_hold = GPIO_DT_SPEC_GET(POWER_HOLD_NODE, gpios); // 전원 유지 출력
|
static const struct gpio_dt_spec power_hold = GPIO_DT_SPEC_GET(POWER_HOLD_NODE, gpios); // 전원 유지 출력
|
||||||
@@ -211,7 +212,7 @@ static void main_s(struct k_timer *timer)
|
|||||||
{
|
{
|
||||||
cnt_s++;
|
cnt_s++;
|
||||||
|
|
||||||
if (cnt_s == BOOT_THRESHOLD) // 임계 시간 도달 시 전원 ON 확정
|
if (cnt_s == POWER_ON_THRESHOLD) // 임계 시간 도달 시 전원 ON 확정
|
||||||
{
|
{
|
||||||
device_on = true;
|
device_on = true;
|
||||||
power_control_handler(ON, "button-2s-latch");
|
power_control_handler(ON, "button-2s-latch");
|
||||||
@@ -248,7 +249,7 @@ static void main_s(struct k_timer *timer)
|
|||||||
{
|
{
|
||||||
cnt_s++;
|
cnt_s++;
|
||||||
|
|
||||||
if (cnt_s >= BOOT_THRESHOLD)
|
if (cnt_s >= POWER_OFF_THRESHOLD)
|
||||||
{
|
{
|
||||||
battery_timer_stop();
|
battery_timer_stop();
|
||||||
k_work_submit(&adv_stop_work);
|
k_work_submit(&adv_stop_work);
|
||||||
|
|||||||
Reference in New Issue
Block a user