정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

함수 호출 취소 관련
hero198 | 2017-08-16

안녕하세요 알람에 따라 작동하는 전동침대를 만들고있는데요 ㅎ 필요에 의해 만들고 있는거다보니 아두이노를 잘 모릅니다 ㅠ 이것저것 찾아보면서 하고있는데 막히는 부분이 있어서요

타임알람 라이브러리를 찾아서 쓰고있는데요

앱인벤터로 앱에서 체크를 하면 g를 보내고 아두이노에서 g를 받으면 알람이 작동, 체크해제를 하면 h를 보내고 아두이노에서 h를 받으면 알람이 비작동되게하고싶습니다.
아래와 같이 코딩을 해놨습니다.

switch (receive) {
case 'g':
Alarm.alarmRepeat(dowThursday, TIME_Q, TIME_W, 0, WeeklyAlarm);
case 'h':
/*알람 함수 취소*/
break;
}

한번 호출한 함수 Alarm.alarmRepeat 를 취소하게 하려면 어떻게 해야할까요?

아래는 TimeAlarms.h에 써있는 함수 정의입니다.
// trigger weekly at a specific day and time
AlarmID_t alarmRepeat(const timeDayOfWeek_t DOW, const int H, const int M, const int S, OnTick_t onTickHandler) {
time_t value = (DOW-1) * SECS_PER_DAY + AlarmHMS(H,M,S);
if (value <= 0) return dtINVALID_ALARM_ID;
return create(value, onTickHandler, false, dtWeeklyAlarm);
}

아래 disble함수를 써서 어떻게하면 될것같은데 어떻게 써야하는지를 잘모르겠습니다..
void disable(AlarmID_t ID); // prevent the alarm from triggering

그리고 요일을 여러개 체크하면 Alarm.alarmRepeat(각 요일 변수, TIME_Q, TIME_W, 0, WeeklyAlarm); 가 여러번 호출될텐데 취소할때 각각 취소할수 있는 방법도 궁금합니다..

이전글   |    스텝모터 관련 2017-08-14
다음글   |    라즈베리 파이 2017-08-16