1. Mil / Mil-Lite Modules
- Application, System, Buffer, Display, Digitizer, Graphics context, Threading 으로 구성되어 있습니다.
mfc에서 new와 delete가 존재하듯이 각각의 모듈들은 생성 및 소멸되어야 합니다.
각각의 모듈들은 다음과 같다. 간단하게 알아보자.
Application 모듈 : Application - 어떤 프로그램이든 하나만 존재한다.
- Mapp..()함수들은 Application환경을 제어합니다.
-> 리소스 초기화, 에러 메시지 및 사용자 정의 함수 들을 제어 할 수 있습니다.
ex) MappAlloc()
System모듈 : System - 프레임 그래버를 지칭하며, 이용하는 갯수에 따라 추가가능하다.
- 시스템 모듈의 모든 함수는 Msys..()로 시작한다. (MsysAlloc, MsysControl, MsysFree, MsysGetHookInfo
MsysHookFunction, MsysInquire)
예를들어 MsysAlloc()함수들은 통신채널과 하드웨어 리소스들을 개방하며, 데이터전송 수행 시리얼
인터페이스(UARTs)를 제어합니다.
Buffer모듈 : Buffer - 영상 데이터를 저장할 공간이다.
- Mbuf..()는 버퍼를 설정하기 위한 함수입니다.
예를들어 흑백 및 컬러레이터를 저장하기 위해서는 용도에 맞는 버퍼를 할당해야 한다.
ex) 흑백 : MbufAlloc2d() 컬러 : MbufAllocColor()
Display모듈 : Display - 디스플레이 할 인자를 지칭하며, 이용하는 갯수에 따라 추가가능하다.
- Mdisp..() 함수는 버퍼안에 있는 데이터를 어떤 Display에 보여줄 것인지를 정의 할 수 있습니다.
- 버퍼를 선택할 수 있도록 하는 함수는 MdispSelecet() 등이 있습니다.
Digitizer모듈 : Digitizer - 카메라를 지칭하며, 갯수에 따라 늘어날 수 있다.???
내가 생각하기에는 카메라로 부터 받은 데이터를 처리하는 공간같다.
- Mdig..() 함수는 Image와 Video를 제어합니다. 이 함수는 DCF(Digitizer Configuration Format)이 필요합니다.
- 설정후에는 MdigGrab() 함수를 이용해 Grab Image버퍼에 저장 할 수 있습니다.
Mil Graphics Context
- Mgra..() 함수는 MFC에서 Dc와 비슷하다고 생각하면 편하다.
ex) MgraRect(), MgraArc(), MgraRectFill(), MgraText(), MgraArcFill(), MgraLines(), MgraLine()
MgraDot(), MgraFill(), MgraClear()
Mil Architecture hierarchy
- Alloc()과 Free()는 순서대로 하시면 된다.
Alloc은 Application-> System-> Digitizer -> Buffer-> Display
Free는 Alloc과는 반대로 진행하면 된다.
최소한 Application, System, Buffer는 할당을 하여야 한다는 점에 유의해야한다.
모든 모듈에는 M_으로 시작합니다, Mil에서 사용하는 변수는 MIL_ID형식으로 사용할 수 있습니다.
(MIL_ID == long)
Mil에서 Default사용법.
- MappAllocDefault() 함수는 MilConfig에 설정되어있는, System, Display, Digitizer, Buffer를 이용하여 구성합니다.
(변경을 위해서는 MilConfig툴에서 변경해야 한다.)
ex) MappAllocDefault( ApplicationID, SystemID, DisplayID, DigId, ImageBufId )
- Application, System, Buffer, Display, Digitizer, Graphics context, Threading 으로 구성되어 있습니다.
mfc에서 new와 delete가 존재하듯이 각각의 모듈들은 생성 및 소멸되어야 합니다.
각각의 모듈들은 다음과 같다. 간단하게 알아보자.
Application 모듈 : Application - 어떤 프로그램이든 하나만 존재한다.
- Mapp..()함수들은 Application환경을 제어합니다.
-> 리소스 초기화, 에러 메시지 및 사용자 정의 함수 들을 제어 할 수 있습니다.
ex) MappAlloc()
System모듈 : System - 프레임 그래버를 지칭하며, 이용하는 갯수에 따라 추가가능하다.
- 시스템 모듈의 모든 함수는 Msys..()로 시작한다. (MsysAlloc, MsysControl, MsysFree, MsysGetHookInfo
MsysHookFunction, MsysInquire)
예를들어 MsysAlloc()함수들은 통신채널과 하드웨어 리소스들을 개방하며, 데이터전송 수행 시리얼
인터페이스(UARTs)를 제어합니다.
Buffer모듈 : Buffer - 영상 데이터를 저장할 공간이다.
- Mbuf..()는 버퍼를 설정하기 위한 함수입니다.
예를들어 흑백 및 컬러레이터를 저장하기 위해서는 용도에 맞는 버퍼를 할당해야 한다.
ex) 흑백 : MbufAlloc2d() 컬러 : MbufAllocColor()
Display모듈 : Display - 디스플레이 할 인자를 지칭하며, 이용하는 갯수에 따라 추가가능하다.
- Mdisp..() 함수는 버퍼안에 있는 데이터를 어떤 Display에 보여줄 것인지를 정의 할 수 있습니다.
- 버퍼를 선택할 수 있도록 하는 함수는 MdispSelecet() 등이 있습니다.
Digitizer모듈 : Digitizer - 카메라를 지칭하며, 갯수에 따라 늘어날 수 있다.???
내가 생각하기에는 카메라로 부터 받은 데이터를 처리하는 공간같다.
- Mdig..() 함수는 Image와 Video를 제어합니다. 이 함수는 DCF(Digitizer Configuration Format)이 필요합니다.
- 설정후에는 MdigGrab() 함수를 이용해 Grab Image버퍼에 저장 할 수 있습니다.
Mil Graphics Context
- Mgra..() 함수는 MFC에서 Dc와 비슷하다고 생각하면 편하다.
ex) MgraRect(), MgraArc(), MgraRectFill(), MgraText(), MgraArcFill(), MgraLines(), MgraLine()
MgraDot(), MgraFill(), MgraClear()
Mil Architecture hierarchy
- Alloc()과 Free()는 순서대로 하시면 된다.
Alloc은 Application-> System-> Digitizer -> Buffer-> Display
Free는 Alloc과는 반대로 진행하면 된다.
최소한 Application, System, Buffer는 할당을 하여야 한다는 점에 유의해야한다.
모든 모듈에는 M_으로 시작합니다, Mil에서 사용하는 변수는 MIL_ID형식으로 사용할 수 있습니다.
(MIL_ID == long)
Mil에서 Default사용법.
- MappAllocDefault() 함수는 MilConfig에 설정되어있는, System, Display, Digitizer, Buffer를 이용하여 구성합니다.
(변경을 위해서는 MilConfig툴에서 변경해야 한다.)
ex) MappAllocDefault( ApplicationID, SystemID, DisplayID, DigId, ImageBufId )