[smallGUI] 샘플 디렉토리 , 시리얼 관련 부분 추가

smallGUI | 2009.08.24 20:39 | Posted by imesu-문경원

샘플 디렉토리 생성 완료 ..

TCP/IP 관련 부분 추가!
시리얼 관련 부분 추가 진행 중

2009년 08년 24일 오늘 어떻게 해서든 완료하자.

[smallGUI] 하위 프로젝트 추가하기

smallGUI | 2009.06.20 15:50 | Posted by imesu-문경원

하위 프로젝트를 추가하는 방법이 헛갈려서 ^^; 간단히 문서로 만듭니다. ㅋㅋ


1. [로그인]  → [프로젝트 관리]  →  [임무관리자설정] 






2. [프로젝트 더하기] 






3. 완료 !!



[smallGUI]doxygen을 이용하여 구조체 주석 달기

smallGUI | 2009.06.03 12:00 | Posted by imesu-문경원


구조체는 어떻게 할까?? 아주 간단하다.

아래처럼 해주면 된다.

//------------------------------------------------------------------------------
/**

 @brief   ix_mng_t  입력 장치에 대한 정보를 가지는 구조체
*///----------------------------------------------------------------------------
typedef struct
{
 int     fd;                    /**< 디스크립터  */
 char  name[128];       /**< 장치 이름  */
 int  input_number;       /**< 입력장치 번호  */
 int  event_number;     /**< event 장치 번호  */

 int  dev_major;          /**< 장치 주번호  */
 int  dev_minor;         /**< 장치 부번호  */

 int  is_touch;            /**< 터치 디바이스 이면 1, 아니면 0  */

} ix_mng_t;     


 


이렇게 하면 문서를 만들면 이렇게 된다.



아주 근사하지요! ^^

[smallGUI]Doxygen 주석달기

smallGUI | 2009.06.02 21:32 | Posted by imesu-문경원

Doxygen 을 사용할때 주석달기 조금 귀찮지요~~

그래서 간단한 몇가지만 써고고자 합니다.

Doxygen 주석 달기 규칙을 보니까 제가 이전에 주석달던 방식이 다르더군요.

가장 짜증나는 건 함수에 주석 붙일때 괴상망측하게 주석을 붙인다는 겁니다. (지극히 개인적인 취향에 의한 판단입니다. ^^)

그런데 제 주변에 아는분 중에 유영창님이 아주 좋은 팁을 가르쳐 줘서 저도 사용하고 있습니다.

사용하실 분은 개발자의 제1마법 copy & paste를 이용하시면 됩니다. ㅋㅋ

아래의 내용은 그 팁에 대한 내용입니다.


1. 파일명에 주석달기


파일 제일 앞에 받드시 붙여야한다. 요게 없으면 doxygen문서가 제대로 안 만들어진다.

//------------------------------------------------------------------------------
/** @file    ix.c
    @brief   입력 처리 라이브러리
*///----------------------------------------------------------------------------


@file       파일 이름
@brief     간단한 설명



2. 함수에 주석 달기

함수에 붙이면 된다.
매개변수가 여러개일 경우 @param 을 매개변수 한개당 한개씩 사용해주면 된다.

//---------------------------------------------------------------------------
/** @brief 마우스 현재 좌표 얻어온다.
    @param x : 마우스 x좌표값을 얻는 포인터 변수
    @param y : 마우스 y좌표값을 얻는 포인터 변수
    @return 0 완료
    @remark 매개변수를 통해 좌표값을 반환한다.
*///----------------------------------------------------------------------------
int ix_get_mouse_position(int *x, int *y)
{
      *x = ix_mouse_x;
      *y = ix_mouse_y;
       return 0;
}



@brief        함수에 대한 간단한 설명을 넣습니다.
@param     매개변수에 대한 내용을 기재합니다.
@return      반환값에 대한 내용을 기재합니다. 
@remark    주의사항에 대한 내용을 기재합니다. 

아래는 주석에 따른 doxygen 문서를 만든 결과입니다. ㅋㅋ 아주 행복합니다.

문서를 낼름 먹어치우는 기분 feel so Good~~~!! 입니다.



이상 끝~~~

3. 함수 설명이 길어지면 어떻게 해야되지??


별겨 없습니다.
그냥 설명의 끝에 \n 을 입력하면 됩다.
아래는 예제 심플


//------------------------------------------------------------------------------
/** @brief     마우스 입력 값을 얻어 온다.
    @param    fd    마우스 입력장치 파일 디스크립터
    @param    x    마우스 상태 x좌표값(REL_X)을 반환할 포인터 변수
    @param    y    마우스 상태 y좌표값(REL_Y)을 반환할 포인터 변수
    @param    btn 마우스 버튼 눌림을 반환한다.(code)
                     버튼은 동시에 여러게 누릴 수 있음으로 비트 마스크 하여 동시에 버튼이 눌리는 상태를 전달한다.  
               
    @return   -1  마우스 입력 값을 읽기 실패
    @return    0  마우스 입력 값읽기 성공
    @remark  \n
         [예시1. 마우스 오른쪽버튼을 누르고, 마우스를 움직일 경우]
        type =  EV_KEY, code = BTN_LEFT, value = 1    <- 마우스 왼쪽 버튼이 눌림 \n
        type =  EV_REL, code = REL_X,  value = -14  <- X 좌표값은 -14이다.\n
        type =  EV_REL, code = REL_Y,  value = 99   <- Y 좌표값은 +99이다.\n
         type =  EV_SYN, code = 0,   value = 1    <- 지금까지 데이터가 하나의 데이터이다.
      
*///----------------------------------------------------------------------------


주석은 달때 세변제 "@param   btn  "에서는 한줄이 넘어갔는데 \n 을 붙이지 안았지요?  보이죠??? 
마지막에는 여지없이 \n을 다 추가해 주었습니다.


자~ 이제 실행 결과를 볼까요.

아래는 실행 결과입니다.



\n을 붙이지 않았을때는 문장이 붙여서 나옵니다. oops!! 
그런데 마지막에서는 한줄 씩 예쁘게 줄이 나누어 졌네요. ^^

결론은 한줄은 넘기려면 \n 을 넣어준다. 입니다.



주말에 무리 했더니 월~화요일 감기로 골골대고 있습니다.

오늘 할일이 이제 마무리하고 집에 갈랍니다. ㅋㅋ





[smallGUI] doxygen 사용법

smallGUI | 2009.06.02 20:44 | Posted by imesu-문경원

개발자를 위한 툴 doxygen을 사용해 봅니다.

설치법은 간단합니다.

해당 사이트에 가서 최신 버젼을 다운로드 받아  특별한 옵션 설정 없을 그냥 OK -> OK -> OK 하면 설치기 됩니다.

OK가 아니고 NEXT 가??? 가물가물하네요.  암튼간에 그냥 넘겨 주면 되요.

doxygen을 효과적으로 쓰기위해서 Graphviz 을 먼저 설치해 주면 좋습니다.

Graphviz을 사용하면 그림까지 나온다고 하니 효과적이지요.

여기에 대한 내용을 역시나 http://forum.falinux.com/zbxe/?mid=lecture_tip&page=2&document_srl=516472&listStyle=&cpage= 에 가면

자세히 확인해 볼수 있습니다.

포럼에서 장길석님은 version 1.5.8 이 설치가 안되셨다고 했는데 , 다행이 제 컴에서는 잘되네요~~ 아주 행복합니다.

아래 과정은 smallGUI에서 doxygen을 이용하여 문서를 만드는 방법에 까먹을까봐 적어 놓습니다.


소스를 다운로드 받으려면 이곳으로 가면 됩니다.





1. Wizard → Project




프로젝트 이름
버젼 정보

Source code directory 는 Doxygen을 만들 소스 코드가 위치한 곳이고
Destination directory 는 Doxygen 문서가 만들어저 저장될 곳입니다.

각자 사용자에 맞게 바꾸면 되요~~




2. Widzard  → Mode



제목만 봐도 뭔말이지 알겠죠? C에 초적화하라는 말이지요. ㅋㅋ


3. Expert → Project



한글 문서를 만들때 중요한 부분입니다.
반드시 DOXYFILE_ENCODING 에 EUC-KR 이라고 넣어주세요~~



4. Expert→ Input



한글 문서를 만들때 중요한 부분입니다.
반드시 INPUT_ENCODING 에 EUC-KR 이라고 넣어주세요~~


5. Expert → Source Browser



그림과 같이 선택하세요!!


6. Run  → Rundoxygen



[smallGUI] SVN 에서 commit이 안될때 해결방법

smallGUI | 2009.05.23 12:10 | Posted by imesu-문경원



kelp.org에 프로젝트 smallGUI를 생성하면서 소스 관리는 서브버젼을 이용해 사용하고 있습니다.

그런데 commit이 안되는 뭣!같은 일이 일어났어요 ㅠㅠ


그래서 어떻게 해야되나 고민이다가 linux에서 하니까 잘되긴 한데 상당히 찝찝해서 tortoise의(Window버젼) 에서는 계속 read only 에러가 나오네요.

오늘...마침네 오늘 문제를 해결해야 즐거운 마음으로 해결책을 기술합니다.

해결방법은 유영창 선배님이 찾아내셨어요.

까먹을까봐 문서로 작성합니다.




1. totoise가 설치된 디렉토리에서 TortoisePlink.exe 위치를 얻어온다. 




 

 C:\\Program Files\\TortoiseSVN\\bin\\TortoisePlink.exe






2. "tortoiseSVN -> 설정 -> 일반 -> 편집"을 열면 config 파일이 열린다. 


   여기서 "[tunnels]" 밑에 아래의 항목을 추가한다.




 kldp_ssh="C:\\Program Files\\TortoiseSVN\\bin\\TortoisePlink.exe" -ssh
 
 kldp_ssh는 사용자가 원하는 이름으로 설정하면 된다.

 ### Section for configuring tunnel agents.
 [tunnels]
 kldp_ssh="C:\\Program Files\\TortoiseSVN\\bin\\TortoisePlink.exe" -ssh




3. 저장소 url을 변경한다.








 4. url 주소를 변경한다.




 <수정 전>
 svn://kldp.net/svnroot/small-gui/trunk


 <수정 후>
  svn+kldp_ssh://kldp.net/svnroot/small-gui/trunk


  
  5. kldp 로그인 id 와 password를 입력한다.








끝 ..

이젠 자유롭게 tortoise를 이용해서 commit , update , 등등의 기능을 잘 사용할 수 있네요..



[smallGUI] 소스 받는 방법, svn checkout

smallGUI | 2009.05.16 09:23 | Posted by imesu-문경원
smallGUI 소스를 다운받는 간편한 방법에 대해 소개합니다.
우선 pc에 tortoise가 설치 되어있다는 가정하에 진행합니다.



1. 소스를 받을 디렉토리를 만듭니다.



2. 마우스 왼쪽버튼을 눌려 checkout을 합니다.



3.저장소 주소를 입력합니다. 
  
svn://kldp.net/svnroot/small-gui




4. 확인을 누르면 소스가 다운로드 됩니다.



5. 소스를 확인합니다.


[smallGUI] 3.프로젝트 멤버 추가하는 방법

smallGUI | 2009.05.12 10:19 | Posted by imesu-문경원

smallGUI 프로젝트를 진행하면서 추가적인 멤버 추가를 어떻게 하면 되는가?? 
윤태경에게 부탁해서 샘플로 등록했습니다. ㅋㅋ


궁금했는데 방법은 아주 간단하다.
아래의 3단계를 거치면 된다.


1. Oberserver 에 kelp 사용자 ID를 입력 합니다.


2. 사용자 역할을 할당합니다.


3. 저장합니다.


등록 완료~~~

[smallGUI] 2. 최초 데이터 임포트

smallGUI | 2009.05.12 09:57 | Posted by imesu-문경원



kldp에 드디어 프로젝트를 승인받고 소스를 임포트 했습니다 ^^

고고~~


1. svn checkout svn+ssh://imesu7@kldp.net/svnroot/small-gui
2. svn import -m "First import" svn+ssh://imesu7@kldp.net/svnroot/small-gui
 



[imesu@backup imesu]$ svn checkout svn+ssh://imesu7@kldp.net/svnroot/small-gui   
The authenticity of host 'kldp.net (211.115.85.7)' can't be established.
RSA key fingerprint is e6:d6:5d:93:c8:30:1c:41:6d:c1:31:8d:78:34:63:03.
Are you sure you want to continue connecting (yes/no)? y
Please type 'yes' or 'no': yes       
Warning: Permanently added 'kldp.net,211.115.85.7' (RSA) to the list of known hosts.
Password:
Password:
Password:
체크아웃된 리비전 0.

[imesu@backup imesu]$ ls
small-gui 

[imesu@backup imesu]$ cd small-gui/

[imesu@backup small-gui]$ ls -al
합계 16
drwxrwxr-x   3 imesu  imesu  4096  5월 12 09:11 .
drwxrwxrwx  11 nobody nobody 4096  5월 12 09:11 ..
drwxrwxr-x   6 imesu  imesu  4096  5월 12 09:11 .svn

[imesu@backup small-gui]$ svn import -m "First import" . svn+ssh://imesu7@kldp.net/svnroot/small-gui
Password:
추가          trunk
추가          trunk/test
추가          trunk/doc
추가          trunk/prg
추가          trunk/prg/exlib
추가          trunk/prg/exlib/z_sample_keyboard_main.c
추가          trunk/prg/exlib/z_sample_ix_read_mouse_low.c
추가          trunk/prg/exlib/ux_gui.c
추가          trunk/prg/exlib/gxksc5601.h
추가          trunk/prg/exlib/ux_gui.h
추가          trunk/prg/exlib/z_sample_ix_get_mouse_position.c
추가          trunk/prg/exlib/z_sample_bmp2mask.c
추가          trunk/prg/exlib/z_sample_ix_read_key_press_low.c
추가          trunk/prg/exlib/z_sample_gx_main.c
추가          trunk/prg/exlib/ex.c
추가          trunk/prg/exlib/gxbmp.c
추가          trunk/prg/exlib/z_sample_ix_set_screen_size.c
추가          trunk/prg/exlib/gx.c
추가          trunk/prg/exlib/ix.c
추가          trunk/prg/exlib/z_sample_ix_read_event_data_low.c
추가          trunk/prg/exlib/gxfontinfo.c
추가          trunk/prg/exlib/ex.h
추가          trunk/prg/exlib/gxbmp.h
추가          trunk/prg/exlib/gx.h
추가          trunk/prg/exlib/z_sample_ix_write_mouse_button_action.c
추가          trunk/prg/exlib/ix.h
추가          trunk/prg/exlib/gxfontinfo.h
추가          trunk/prg/exlib/z_sample_ix_auto_scan_open.c
추가          trunk/prg/exlib/z_sample_ix_debug_disp_ix_device_info.c
추가          trunk/prg/exlib/gxbdf.c
추가          trunk/prg/exlib/Makefile
추가          trunk/prg/exlib/gxbdf.h
추가    (bin)  trunk/prg/exlib/z_sample_touch_calibration
추가          trunk/prg/exlib/ux_debug.c
추가          trunk/prg/exlib/z_sample_ix_read_keyboard_low.c
추가    (bin)  trunk/prg/exlib/z_sample_uxgui
추가          trunk/prg/exlib/ux_device.c
추가          trunk/prg/exlib/z_sample_uxgui_image
추가    (bin)  trunk/prg/exlib/z_sample_uxgui_image/screen00_front.bmp
추가    (bin)  trunk/prg/exlib/z_sample_uxgui_image/Thumbs.db
추가    (bin)  trunk/prg/exlib/z_sample_uxgui_image/screen00_mask.bmp
추가          trunk/prg/exlib/z_sample_uxgui_image/screen00_map.txt
추가    (bin)  trunk/prg/exlib/z_sample_uxgui_image/screen00_back.bmp
추가          trunk/prg/exlib/z_sample_ix_write_keyboard_key.c
추가          trunk/prg/exlib/gxjpg.c
추가          trunk/prg/exlib/ux_device.h
추가          trunk/prg/exlib/z_sample_touch_calibration.c
추가          trunk/prg/exlib/gxpng.c
추가          trunk/prg/exlib/z_sample_ix_write_mouse_rel_move.c
추가          trunk/prg/exlib/gxjpg.h
추가    (bin)  trunk/prg/exlib/z_sample_bmp2mask
추가          trunk/prg/exlib/z_sample_ix_read_touch_low.c
추가          trunk/prg/exlib/gxpng.h
추가          trunk/prg/exlib/z_sample_ix_debug_disp_event_data.c
추가          trunk/prg/exlib/z_sample_uxgui.c
추가          trunk/prg/exlib/gxksc5601.c
추가          trunk/hw
무시함 '.svn'

커밋된 리비전 1.



 

[smallGUI] 1. KLDP에 프로젝트 등록하기

smallGUI | 2009.04.29 09:04 | Posted by imesu-문경원

2009년 4월 25일 exlib를 KLDP에 등록하자는 의견이 나왔습니다.
우선 등록하는 방법에 대해서 알아 봤는데, 의외로 간단하더군요.

1) KELP에 사용자 계정을 만든다. (사용자 등록)
2) 프로젝트 등록 버튼을 누른후 세부 항목을 입력합니다.

크게 2가지 절차로 진행됩니다.
정확인 등재 내용은 연휴가 끝나는 5월 9일에 FSP21 사람들과 의논해서 올려야지요.^^


1) KELP에 사용자 계정을 만든다. (사용자 등록)




2) 프로젝트 등록 버튼을 누른후 세부 항목을 입력합니다.