LU A API 콜 백 함 수 설명
개 요
이 문서 에서는 다 채 로운 L UA 스크 립 트 API 함 수 에서 콜 백 함 수를 사용하는 방법 과 콜 백 함 수를 호출 하는 주의 사항 을 소개 하고 아래 와 같이 일반적인 API 콜 백 인터페 이 스를 소개 합니다 .
- 初期化函数:on_init()
适用範囲:M系列、W系列、X系列、F系列(固件版本 >= V4.2.401.0)
주의 사항
- 大彩lua api里的回调函数不可以被其他函数调用,属于被动触发,自动回调,如用户对文本控件键值入力,触发回调函数on_control_notify(screen, control, value)
1. 1 on _ init () 함 수
LU A 스크 립 트 파일을 로 드 하기 위해 시스템이 전 원을 켜 면 즉시 이 콜 백 함 수를 호출 합니다 . 이 함 수는 일반적으로 초기 화 작업을 수행 하는 데 사용됩니다 .
화 면 구성
화 면에 두 개의 텍스트 컨트롤 을 추가 합니다 , ID 1 은 전 압 값을 표시 하고 ID 2 는 전 류 를 표시 합니다 , 다음과 같이 .

LU A 스크 립 팅
on _ init () 함 수에 텍스트 상 자의 값을 설정 하는 API 함 수를 채 우고 시스템 초기 화 시 실행 을 호출 합니다 .구체적인 코드 아래에 표시 되어 있습니다 .
-- ************************************************************************[[***
** 함 수 이름 : on _ init ()
** 설명 : 시스템이 초기 화 될 때 이 콜 백 함 수를 실행 합니다 .
참고 : 콜 백 함 수의 매 개 변 수 및 함 수 이름은 수정 할 수 없습니다 .
***************************************************************************--]]
on _ init () 함 수
set _ value (1, 1, 10) - 텍스트 컨트롤 의 값을 설정 합니다 .
set _ value (1, 2, 2) -- 텍스트 컨트롤 의 값을 설정 합니다 .
끝
실행 미리 보기
가상 화 면을 실행 하면 화 면의 전 압 값 은 10 이 고 전 류 값 은 2 입니다 . 다음과 같이 사용자는 lua 스크 립 트를 통해 해당 값을 수정 하여 더 익숙 해질 수 있습니다 .

1. 2 on _ s ysti ck () 함 수
이 콜 백 함 수는 1 초 마다 자동 으로 호출 됩니다 .
화 면 구성
이 화 면 은 on _ s ysti ck () 이 트 리 거 된 콜 백 횟 수를 누 적 하는 텍스트 컨트롤 을 추가 합니다 .

LU A 스크 립 팅
튜 토 리 얼 에서 on _ s ysti ck () 함 수에 콜 백 함 수가 실행 된 횟 수를 표시 하는 프로그램을 추가 했습니다 .
-- ***************************************************************************[[
** 함 수 이름 : on _ s ysti ck
** 설명 : 타이 밍 콜 백 함 수 , 시스템은 1 초 마다 자동 으로 호출 합니다 .
참고 : 콜 백 함 수의 매 개 변 수 및 함 수 이름은 수정 할 수 없습니다 .
***************************************************************************--]]
on _ s yysti ck () 함 수
s ys _ timer = s ys _ timer + 1
set _ value (2 , 1, s ys _ timer)
끝
실행 미리 보기
on _ s ysti ck () 함 수를 초 당 트 리 거 하여 다음과 같이 작동 합니다 .

함 수 on _ timer (ti mer _ id)
on _ timer (ti mer _ id) 타이 머 가 시간 초 과 콜 백 함 수를 사용하면 별 도로 작동 하지 않습니다 .이 함 수는 start _ timer (ti mer _ id , time out , count down , repe at) 와 함께 콜 백 을 트 리 거 하여 타이 머 를 켜 야 하며 , 타이 머 가 오 버 플 로 타임 초 과 되면 on _ timer (ti mer _ id) 를 트 리 거 해야 합니다 .
화 면 구성
화 면에 두 개의 버튼 , Ena ble 타이 머 , Stop 타이 머 및 아래에 표시 된 대로 타이 머 가 초 과 된 후 호출 된 횟 수를 표시 하는 텍스트 상 자가 배치 됩니다 .

LU A 스크 립 팅
튜 토 리 얼 에서 on _ timer () 함 수에 콜 백 함 수가 실행 된 횟 수를 표시 하는 프로그램을 추가 했습니다 .
-- ***************************************************************************[[
** 함 수 이름 : on _ timer
** 설명 : 타이 머 가 시간 초 과 , 이 콜 백 함 수를 실행 합니다 .
참고 : 콜 백 함 수의 매 개 변 수 및 함 수 이름은 수정 할 수 없습니다 .
** 입력 값 : timer _ id 타이 머 ID 번호 , 타이 머 번호 0 ~ 31
***************************************************************************--]]
함 수 on _ timer (ti mer _ id)
-- 타이 머 0 시간 초 과 트 리 거
if timer _ id == 0
그러면
timer _ out = timer _ out + 1
set _ value (3, 3, timer _ out)
끝
끝
--
** 함 수 이름 : on _ control _ no tify
** 설명 : 사용자가 컨트롤 을 터 치 하여 수정 한 후 이 콜 백 함 수를 실행 합니다 .
버튼 컨트롤 을 클릭 하고 텍스트 컨트롤 을 수정 하거나 슬 라이 딩 막 대를 수정 하면 이 이벤 트가 트 리 거 됩니다 .
참고 : 콜 백 함 수의 매 개 변 수 및 함 수 이름은 수정 할 수 없습니다 .
** 입력 값 : screen ID
control 컨트롤 ID
값 컨트롤 값 (텍 스트 컨트롤 에 의해 입력 된 값 포함)
***************************************************************************--]]
on _ control _ no tify (sc reen , control , value) 함 수
--***********************************************************
-- 기능 : 화 면 4 의 컨트롤 1 을 누 르 면 타이 머 0 을 시작 합니다 .
start _ timer (ti mer _ id , time out , count down , repe at) 함 수 호출
-- 함 수 기능 : 시작 타이 머
timer _ id , 타이 머 ID ;
-- Time out , 시간 초 과 ;
-- 카운 트 다운 , 1 카운 트 다운 , 0 카운 트 다운
-- 반복 하다 타이 밍 , 0 무한 루 프
--***********************************************************
if screen == 3 and control == 1 and value == 1
그러면
start _ timer (0, 1000 , 1, 0) -- 타이 머 0 을 켜 서 작동 하고 타이 머 를 1 초 에 설정 하여 on _ timer 를 한 번 트 리 거 합니다 .
else if screen == 3 과 control == 2 과 value == 1
그러면
stop _ timer (0) -- 타이 머 0 작동 중지
timer _ out = 0
끝
……
끝
실행 미리 보기
타이 머 가 켜 진 후 , 시간 초 과 가 on _ timer () 를 트 리 거 하여 다음과 같은 효과를 나타 냅니다 .

on _ control _ no tify (sc reen , control , value) 함 수
이 콜 백 함 수는 사용자가 컨트롤 을 수정 하기 위해 터 치 한 후에 실행 됩니다 .단 추 컨트롤 을 클릭 하고 텍스트 컨트롤 을 수정 하고 슬 라이 딩 막 대를 수정 하는 등 이 함 수를 트 리 거 합니다 . MC U 직 렬 포 트 명령 이 컨트롤 값을 수정 하거나 스크 립 트 설정 set _ value 또는 내 장 명령 에 대한 버튼 이 다른 컨트롤 을 트 리 거 하는 등 이 콜 백 함 수를 트 리 거 하지 않습니다 . 사용자 작업 화 면 컨트롤 만 트 리 거 됩니다 .
PS : 버튼 컨트롤 에 대해 다음 두 가지 구성 중 하나를 설정 하면 on _ control _ no tify () 를 트 리 거 하지 않습니다 .
이벤트 알 림 이 아니오 로 설정 되어 있으면 버튼 컨트롤 이 누 를 때 on _ control _ no tify () 를 트 리 거 하지 않습니다 .

2. 엔지니어 링 속 성 구성 , 전역 구성 버튼 속 성 [ 단 추 이벤트 알 림 ] 에서 다음과 같이 표시 합니다 .
- 若設定为”Close“:すべての按钮控件均不会触发

화 면 구성
버튼 컨트롤 (ID 1), 텍스트 컨트롤 (ID 2, 키 보 드 입력), 아이 콘 컨트롤 (ID 3, 터 치 허용), 슬 라이 드 선택 컨트롤 (ID 4), 메뉴 컨트롤 (ID 5), 슬 라이 드 선택 컨트롤 (ID 6) 과 같은 일반적인 컨트롤 을 화 면에 배치 하는 예 .아래 와 같이 트 리 거 되는 컨트롤 을 기록 하는 텍스트 컨트롤 (ID 7) 을 추가 합니다 .

LU A 스크 립 팅
이 섹션 에서는 콜 백 함 수 에서 on _ control _ no tify 를 트 리 거 하는 컨트롤 을 표시 하여 텍스트 컨트롤 ID 7 에 누 른 정보를 표시 합니다 .
-- ***************************************************************************[[
** 함 수 이름 : on _ control _ no tify
** 설명 : 사용자가 컨트롤 을 터 치 하여 수정 하면 이 콜 백 함 수를 실행 합니다 .
버튼 컨트롤 을 클릭 하고 텍스트 컨트롤 을 수정 하거나 슬 라이 딩 막 대를 수정 하면 이 이벤 트가 트 리 거 됩니다 .
참고 : 콜 백 함 수의 매 개 변 수 및 함 수 이름은 수정 할 수 없습니다 .
** 입력 값 : screen ID
control 컨트롤 ID
값 컨트롤 값 (텍 스트 컨트롤 에 의해 입력 된 값 포함)
***************************************************************************--]]
on _ control _ no tify (sc reen , control , value) 함 수
--***********************************************************
-- 기능 : 화 면 4 의 컨트롤 1 을 누 르 면 타이 머 0 을 시작 합니다 .
start _ timer (ti mer _ id , time out , count down , repe at) 함 수 호출
-- 함 수 기능 : 시작 타이 머
timer _ id , 타이 머 ID ;
-- Time out , 시간 초 과 ;
-- 카운 트 다운 , 1 카운 트 다운 , 0 카운 트 다운
-- 반복 하다 타이 밍 , 0 무한 루 프
--***********************************************************
……
if screen == 4
그러면
if control == 1 and value == 1 -- value == 1 단 추 를 누 릅니다 .
그러면
set _ text (4, 7, " but ton press ed ")
else if control == 1 과 value == 0 -- value == 0 버튼 팝 업
그러면
set _ text (4, 7, " 버튼 이 팝 업 ")
else if control == 2 -- 텍스트 입력
그러면
set _ text (4, 7, " 텍 스트 입력 ")
else if control == 3 -- 아이 콘 컨트롤
그러면
set _ text (4, 7, " T ouch icon ")
else if control == 4 -- 슬 라이 드 선택 컨트롤
그러면
set _ text (4, 7, " S lide Sele ction ")
else if control == 5 - - 메뉴 컨트롤
그러면
set _ text (4, 7, " 메 뉴 선택 ")
else if control == 6 -- 슬 라이 더 컨트롤
그러면
set _ text (4, 7, " s lide sli der ")
끝
끝
……
끝
실행 미리 보기
컨트롤 ID 1 ~ ID 6 을 차례 로 누 르 면 다음과 같습니다 .

on _ screen _ change (sc reen) 함 수
화 면 이 전환 되면 이 콜 백 함 수를 실행 합니다 .
- screen : 화 면 전환 후 대상 화 면 ID .화 면 A 가 화 면 B 로 전환 한다고 가정 하면 , 이 동작 이 완료 되면 , 화 면 은 화 면 B 의 ' 화 면 ID ' 값 입니다 .
참고 : on _ screen _ change (sc reen) 에서 change _ screen 을 호출 하면 on _ screen _ change 를 트 리 거 하지 않습니다 .
화 면 구성
이 문서 의 버튼 컨트롤 의 속 성은 화 면 전환 으로 설정 되어 있으며 , 버튼 컨트롤 을 클릭 하면 화 면 이 지정 된 화 면 으로 전환 됩니다 .

테스트 화 면에서 두 개의 텍스트 컨트롤 을 추가 하고 스크 립 트가 on _ screen _ change 콜 백 함 수를 트 리 거 할 때 컨트롤 ID 1 을 설정 하여 현재 화 면의 ID 를 표시 하고 컨트롤 ID 2 는 숫자 값을 표시 하며 다음과 같이 구성 합니다 .
LU A 스크 립 팅
화 면 은 화 면을 전환 하는 동안 콜 백 함 수 on _ screen _ change 를 트 리 거 하여 화 면을 전환 하는 동안 대상 화 면의 두 텍스트 컨트롤 을 수정 하는 것을 구현 합니다 .
-- ***************************************************************************[[
** 함 수 이름 : on _ screen _ change
** 설명 : 화 면 이 대상 화 면 ID 로 전환 될 때 이 콜 백 함 수를 실행 합니다 .
참고 : 콜 백 함 수의 매 개 변 수 및 함 수 이름은 수정 할 수 없습니다 .
** 입력 값 : screen 대상 화 면 ID
*******************************************************************************--]]
on _ screen _ change () 함 수
if screen == 8 then -- 화 면 9 로 전환 할 때 컨트롤 1, 2 의 데이터를 수정 합니다 .
set _ value (8, 1, screen) - - 컨트롤 1 의 데이터 수정
set _ value (8, 2, 30) - - 컨트롤 2 의 데이터 수정
끝
끝
실행 미리 보기
on _ screen _ change 를 트 리 거 하여 다음과 같은 효과를 나타 냅니다 .

1. 6 on _ draw () 함 수
이 콜 백 함 수는 다시 그 릴 때 수행 되며 , 일반적으로 모든 그리 기 및 형 상 (원 , 직 사 각형 , 선 , 점 등) 작업 이 이 함 수 에서 구현 됩니다 .화 면의 컨트롤 이 새로 고 칠 때 , 이 함 수는 또한 트 리 거 되며 , 일반적으로 red raw () 와 함께 사용됩니다 .
- screen : 그림 이 그려 질 화 면 ID
화 면 구성
이 화 면에 두 개의 버튼 컨트롤 을 추가 하여 각각 누 르 면 다른 그림을 표시 합니다 .

LU A 스크 립 팅
LU A 버튼 을 누 르 면 show _ picture 에 다른 값을 할 당 하고 red raw () 를 호출 하면 on _ draw () 함 수를 트 리 거 하여 지정 된 이미지를 표시 합니다 .
-- ***************************************************************************[[
** 함 수 이름 : on _ draw
** 설명 : 화 면 이 새로 고 칠 때 또는 API 함 수 red raw 를 사용하여 다시 그리 기를 요청 할 때 이 콜 백 함 수를 실행 합니다 .
참고 : 콜 백 함 수의 매 개 변 수 및 함 수 이름은 수정 할 수 없습니다 .
** 입력 값 : screen 대상 화 면 ID
***************************************************************************--]]
on _ draw (sc reen)
--******************************************************************************
draw _ image (image _ id , frame _ id , d st x , d sty , wid th , he ight , sr c x , sr cy)
-- 함 수 기능 : 그림 ID 에 따라 드 로 잉
-- 매 개 변 수 : image _ ID 이미지 자산 의 ID
-- frame _ ID 는 아이 콘 에 해당 하며 , 프레 임 ID 를 설정 할 수 있으며 다른 그림 은 0 으로 고정 됩니다 .
-- d st x 그림 은 X 좌 표를 표시 합니다 .
- - d sty 그림 은 Y 좌 표를 표시 합니다 .
-- wid th 화 면 표 시 폭
- - he ight 그림 표시 높이
-- sr c x 이미지 자 르기 X 좌 표
- - sr cy 그림 자 르기 Y 좌 표
--*****************************************************************************
if screen == 6 및 show _ picture == 1
그러면
draw _ image (2 3, 0, 19 0, 16 0, 43 0, 23 0, 0, 0)
else if screen == 6 과 show _ picture == 2
그러면
draw _ image (2 4, 0, 19 0, 16 0, 43 0, 23 0, 0, 0)
끝
끝
on _ control _ no tify (sc reen , control , value) 함 수
if screen == 5
그러면
if control == 1 and value == 1 - - 그림 그리 기 1
그러면
show _ picture = 1
다시 그리 기 () -- 다시 그리 기 요청
else if control == 2 및 value == 1 - - 그림 그리 기 2
그러면
show _ picture = 2
다시 그리 기 () -- 다시 그리 기 요청
끝
끝
끝
실행 미리 보기
다음과 같이 그 립니다 .

1. 7 USB 드라이브 / SD 카드 콜 백 기능
USB 드라이브 를 삽 입 하고 SD 카드를 삽 입 할 때 on _ us b _ ins ert 를 트 리 거 합니다 .ted (dir) 또는 on _ sd _ inserted (dir) USB 드라이브를 분리하고 SD 카드를 삽입하는 경우 on _ usb _ removed () 또는 on _ sd _ removed () 함수를 트리거합니다.
- dir: 이 매개 변수는 USB 드라이브 또는 SD 카드의 드라이브 문자를 나타냅니다.
참고: 구체적으로 SD 또는 USB 드라이브, 물리적 화면에 따라, 테스트 경험 API, 물리적 화면에서 테스트하십시오.
엔지니어링 구성
화면에서 두 개의 텍스트 컨트롤, 컨트롤 ID 1 은 USB 드라이브 트리거 관련 정보를 표시하고 컨트롤 ID 2 는 SD 카드 트리거 관련 정보를 표시하는 데 사용됩니다.

LUA 스크립팅
USB 드라이브 / SD 카드 삽입 및 분리 시 LUA 스크립트 코드는 다음과 같습니다.
--***************************************************************************[[
** 함수 이름: on _ usb _ inserted
** 설명: USB 드라이브를 삽입한 후 이 콜백 함수를 실행합니다.
참고: 콜백 함수의 매개 변수 및 함수 이름은 수정할 수 없습니다.
** Input value: dir USB 드라이브의 경로
***************************************************************************--]]
on _ usb _ inserted (dir)
set _ text (7, 1, dir) -- USB 드라이브 경로 표시
끝
--***************************************************************************[[
** 함수 이름: on _ sd _ inserted
** 설명: SD 카드를 삽입한 후 이 콜백 함수를 실행합니다.
참고: 콜백 함수의 매개 변수 및 함수 이름은 수정할 수 없습니다.
** 입력 값: dir SD 카드의 경로
***************************************************************************--]]
on _ sd _ inserted (dir)
set _ text (7, 2, dir) -- SD 카드 경로 표시
끝
--***************************************************************************[[
** 함수 이름: on _ sd _ inserted
** 설명: USB 드라이브를 뽑은 후 이 콜백 함수를 실행합니다.
참고: 콜백 함수의 매개 변수 및 함수 이름은 수정할 수 없습니다.
***************************************************************************--]]
on _ usb _ removed ()
set _ text (7, 1, "USB 드라이브 분리됨 ")
끝
--***************************************************************************[[
** 함수 이름: on _ sd _ inserted
** 설명: SD 카드를 분리한 후 이 콜백 함수를 실행합니다.
참고: 콜백 함수의 매개 변수 및 함수 이름은 수정할 수 없습니다.
***************************************************************************--]]
on _ sd _ removed () 함수
set _ text (7, 2, "SD 카드 제거됨 ")
끝
Leave a Reply