... | @@ -40,3 +40,19 @@ fn_bool_ns_str get_net_name : 노드의 소속 그룹을 알려주는 콜백함 |
... | @@ -40,3 +40,19 @@ fn_bool_ns_str get_net_name : 노드의 소속 그룹을 알려주는 콜백함 |
|
|
|
|
|
## 추가 구현 콜벡함수
|
|
## 추가 구현 콜벡함수
|
|
Iris에서 콜벡함수는 return 타입과 파라미터 형식을 미리 정의해 놓는다. return 타입과 파라미터 형식이 변할 경우 콜벡함수 typedef int (*fn_ext_ledfun)(void* ns, void* out, const int param1, const int param2, const int param3)의 배열을 전역변수로 저장해두고 쓰는 방식으로 구현되어 있다. 아래 3개의 api를 사용한다.
|
|
Iris에서 콜벡함수는 return 타입과 파라미터 형식을 미리 정의해 놓는다. return 타입과 파라미터 형식이 변할 경우 콜벡함수 typedef int (*fn_ext_ledfun)(void* ns, void* out, const int param1, const int param2, const int param3)의 배열을 전역변수로 저장해두고 쓰는 방식으로 구현되어 있다. 아래 3개의 api를 사용한다.
|
|
|
|
|
|
|
|
|
|
|
|
IRIS3_LEDFUN_DECL int Iris3led_Ext_InitFun(int max_entry) : 등록할 수 있는 콜벡함수의 최대 개수
|
|
|
|
IRIS3_LEDFUN_DECL int Iris3led_Ext_AddFun(int idx, fn_ext_ledfun func) : 콜벡함수 등록
|
|
|
|
IRIS3_LEDFUN_DECL fn_ext_ledfun Iris3led_Ext_GetFun(int idx) : 콜벡함수 찾기
|
|
|
|
|
|
|
|
## ATOM EMS에서 콜벡함수를 등록하는 Flow
|
|
|
|
<img src="Led_Image/4.png" width="500">
|
|
|
|
int app_InitLedFunSet()
|
|
|
|
EMS UI가 보이기 전 초기화 과정에서 호출되어야 한다.
|
|
|
|
int Iris3led_Init(LedInfoFunSet* pFunset /*OUT*/)
|
|
|
|
LedInfoFunSet 구조체 정보를 기본 콜벡 구현체로 초기화 한다.
|
|
|
|
int Iris3led_AddFunSet(int nodeTypeID, struct LedInfoFunSet *funset)
|
|
|
|
노드 타입별로 LedInfoFunSet을 전역 변수에 저장한다.
|
|
|
|
BOOL Iris3ab_RegDebugLed(int nodeTypeID, void (*make_autoled)(ElementNode* pNode))
|
|
|
|
EMS 토폴로지에서 노드 선택 후 위의 파란색 사각형 안에서 "Ctrl+마우스오른쪽버튼"을 클릭하면 make_autoled 함수 구현대로 셀프 정보가 채워져서 화면에 표시된다. |