//================================================================================================================
// [mk_extgvar.h]: 이 헤더 파일은 mk 라이브러리와 caller 프로그램이 공통으로 사용해야하는 전역 변수들을 모아 놓은 
// 헤더파일이다.
// - Version: 1.0.0.0
// - Update Data: 2007/05/08
// - Created by OYS
//================================================================================================================

#ifndef _MK_EXTERNAL_GLOBAL_VARIABLES_H_
#define _MK_EXTERNAL_GLOBAL_VARIABLES_H_

#include "mk_extdef.h"

#ifdef _MK_EXTERN_C_
 #define MK_EXTERN 
 t_uchar g_auIpAddr[4]={192, 168, 1, 100}; // miCUBE의 Ethernet IP address
 t_ui32 g_uSerPortCnt = 0; // serial 통신 포트의 수를 알려주는 변수. 
 t_i16 g_DioLedStatus[NUM_MAX_DIOMODULE]; // DIO 모듈별 LED 상태 비트( bit 0:Error, bit 1: Active, bit 2: Enable bit) 저장하기 위한 전역 변수
 t_i16 g_AiLedStatus[NUM_MAX_AIOMODULE]; // AI 모듈별 LED 상태 비트( bit 0:Error, bit 1: Active, bit 2: Enable bit) 저장하기 위한 전역 변수 
 t_i16 g_AoLedStatus[NUM_MAX_AIOMODULE]; // AO 모듈별 LED 상태 비트( bit 0:Error, bit 1: Active, bit 2: Enable bit) 저장하기 위한 전역 변수 
 t_i16 g_CntLedStatus[NUM_MAX_CNTMODULE]; // COUNTER 모듈별 LED 상태 비트( bit 0:Error, bit 1: Active, bit 2: Enable bit) 저장하기 위한 전역 변수
 t_i16 g_SerLedStatus[NUM_MAX_COMMMODULE]; // Serial 모듈별 LED 상태 비트( bit 0:Error, bit 1: Active, bit 2: Enable bit) 저장하기 위한 전역 변수
 t_i16 g_MotLedStatus[NUM_MAX_MOTIONMODULE];
 t_i16 g_CNDioLedStatus[NUM_MAX_COMMMODULE]; // Serial 모듈별 LED 상태 비트( bit 0:Error, bit 1: Active, bit 2: Enable bit) 저장하기 위한 전역 변수
 t_i16 g_CnDioLedStatus[NUM_MAX_CNDIOMODULE]; // CNET 모듈별 LED 상태 비트( bit 0:Error, bit 1: Active, bit 2: Enable bit) 저장하기 위한 전역 변수
 t_bool g_bIsLockedByFlashing = false;
 t_bool g_bIsCommOk = false; 
 TDisconInterLock g_tDisconIntLk; // 2009.03.13 추가. 인터락
 TSysConfig g_SysCfg;
#else
 #define MK_EXTERN extern
 extern t_ui32 g_uSerPortCnt;
 extern t_uchar g_auIpAddr[4];
 extern t_i16 g_DioLedStatus[NUM_MAX_DIOMODULE]; // DIO 모듈별 LED 상태 비트( bit 0:Error, bit 1: Active, bit 2: Enable bit) 저장하기 위한 전역 변수
 extern t_i16 g_AiLedStatus[NUM_MAX_AIOMODULE]; // AI 모듈별 LED 상태 비트( bit 0:Error, bit 1: Active, bit 2: Enable bit) 저장하기 위한 전역 변수 
 extern t_i16 g_AoLedStatus[NUM_MAX_AIOMODULE]; // AO 모듈별 LED 상태 비트( bit 0:Error, bit 1: Active, bit 2: Enable bit) 저장하기 위한 전역 변수 
 extern t_i16 g_CntLedStatus[NUM_MAX_AIOMODULE]; // COUNTER 모듈별 LED 상태 비트( bit 0:Error, bit 1: Active, bit 2: Enable bit) 저장하기 위한 전역 변수   
 extern t_i16 g_SerLedStatus[NUM_MAX_COMMMODULE]; // Serial 모듈별 LED 상태 비트( bit 0:Error, bit 1: Active, bit 2: Enable bit) 저장하기 위한 전역 변수
 extern t_i16 g_MotLedStatus[NUM_MAX_MOTIONMODULE];
 extern t_i16 g_CNDioLedStatus[NUM_MAX_COMMMODULE]; // Serial 모듈별 LED 상태 비트( bit 0:Error, bit 1: Active, bit 2: Enable bit) 저장하기 위한 전역 변수
 extern t_i16 g_CnDioLedStatus[NUM_MAX_CNDIOMODULE]; // CNET 모듈별 LED 상태 비트( bit 0:Error, bit 1: Active, bit 2: Enable bit) 저장하기 위한 전역 변수
 extern t_bool g_bIsLockedByFlashing;
 extern t_bool g_bIsCommOk;
 extern TSysConfig g_SysCfg;
 extern TDisconInterLock g_tDisconIntLk;
#endif

#endif
