... | ... | @@ -2,16 +2,16 @@ EMS에서 노드정보는 DB파일을 읽거나 장비에서 주기적으로 수 |
|
|
LED INFO에는 iris code, alarm summary, pdu version, node id 등의 데이터가 struct 형태로 들어 있다. 이 부분은 문서(Z:\ATOM\doc\시스템 설계서\AtOM 3200 SW 설계서 1.0 draft 7.doc)의 7.2.2 Status ( view information )에서 확인 할 수 있다. 아래 그림은 LED status data struct을 일부분만 발췌한 것이다.
|
|
|
|
|
|
<img src="Led_Image/1.png" width="500">
|
|
|
1. LedInfo Struct
|
|
|
## LedInfo Struct
|
|
|
데이터의 값을 얻으려면 수신된 LED INFO(바이너리 파일)를 데이터 크기만큼 읽어서 값을 얻는다. 프로젝트마다 읽어올 데이터 크기는 다를 수 있기 때문에 LED INFO를 읽어오는 부분은 따로 구현되어야 한다. 따라서, IRIS에서는 기본 콜벡함수를 정의하고 프로젝트에서 정의한 콜벡함수를 IRIS 기본 콜벡함수에 등록하여야 한다.
|
|
|
struct sys_led_status는 ATOM 프로젝트의 led data structure이다. struct NODE_STATUS는 IRIS에서 프로젝트마다 다르게 정의된 led data structure를 가리키기 위한 구조체이다. struct LedInfofunSet는 IRIS에서 정의된 기본 콜벡함수 구조체이다.
|
|
|
|
|
|
# ATOM/Led/AppLed.h struct sys_led_status : ATOM에서 노드의 LED 정보를 가지는 구조체
|
|
|
#### ATOM/Led/AppLed.h struct sys_led_status : ATOM에서 노드의 LED 정보를 가지는 구조체
|
|
|
|
|
|
# iris3/iris3_ledfun_api.h Struct NODE_STATUS : 프로젝트별로 서로 다른 Led Info를 동일한 타입의 포인터로 가리키기 위한 구조체
|
|
|
#### iris3/iris3_ledfun_api.h Struct NODE_STATUS : 프로젝트별로 서로 다른 Led Info를 동일한 타입의 포인터로 가리키기 위한 구조체
|
|
|
<img src="Led_Image/2.png" width="500">
|
|
|
|
|
|
# iris3/iris3_ledfun_api.h Struct LedInfoFunSet : EMS의 콜백함수를 가지고 있는 구조체
|
|
|
#### iris3/iris3_ledfun_api.h Struct LedInfoFunSet : EMS의 콜백함수를 가지고 있는 구조체
|
|
|
<img src="Led_Image/3.png" width="500">
|
|
|
fn_uint_ns get_cr : critical 경보 개수를 리턴하는 콜백함수
|
|
|
fn_uint_ns get_mj : major 경보 개수를 리턴하는 콜백함수
|
... | ... | @@ -38,4 +38,5 @@ fn_uint_ns_int_int get_link_dir : MainPath Direction 정보를 리턴하는 콜 |
|
|
fn_uint_ns_int get_link_ringid : 링크에 연결된 RING ID를 리턴하는 콜백함수
|
|
|
fn_bool_ns_str get_net_name : 노드의 소속 그룹을 알려주는 콜백함수
|
|
|
|
|
|
2. 추가 구현 콜벡함수 : 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를 사용한다. |