Be a Contributor of mbed library

Ethernet Library for W5500 ( WIZnet ) 예제로 모두에게 오픈되어 있는 #mbed에 흔적을 남겨보자. 누군가에게 도움이 되지 않아도..되길 바라지만

Login to mbed site

먼저, mbed.org 에 가입을 한다. 연구소 분들은 다 되어 있겠지만 =)

로그인 화면 from mbed.org

친절하게 Hi 인사를 해 준다. 기쁘게 “Logout”을 누르…….. 아니 ^^ “Dashboard”를 누른다.

Dashboard from mbed.org

공지내용도 있고, 내(가 만든 혹은 참여한) 팀도 있고 내 코드 저장소도 보인다. 활동이 많으면 이 페이지가 엄청 많은 정보를 가지게 될 것이다~~

Import Program & Library

본론으로 가서, 로그인화면에서 “Dashboard” 옆에 있는 “Compiler”를 눌러본다. 그럼 본격적으로 코드 기부자가 될 환경이 짠 나타나게 된다.

mbed 개발환경

빨간 박스에 자기가 만든 혹은 가져온 프로젝트들이 관리되고, 각 프로젝트에는 다양한 라이브러리가 포함되어 있다. 이중에 네트워크 관련 드라이버를 보고, 코드 기부를 해보도록 하자.

일단 라이브러리를 고쳐보기 위해서는, 해당 라이브러리가 포함된 프로그램을 Import 해야 코드 수정과 Publish가 가능하다. (이 과정이 약간 불필요한 과정이긴 하다. 하지만 http://github.com 과 다르게 로컬 코드 관리가 안되므로 이 방법 밖에는 없다.)

실습을 위해, EvrythngApiExampleW5500 페이지로 가서 프로그램을 Import 한다. Evrythng.com 이라는 Internet of Things를 위한 클라우드 서비스에 간단히 사물(Things) 의 정보를 보내고 받는 예제가 담겨있다. 물론 W5500 을 사용해야 하므로 mbed에서 제공하는 official Ethernet LibraryW5500Interface 라는 라이브러리로 변경하여 수정해 놓았다. (이렇게 변경하는 작업은 다른 글을 통해 작성하도록 해보고..)

Program page
Import Program

그러면, 내 프로그램 리스트에 “EvrythngApiExampleW5500"이 등록이 되면서 코드 작성이나 수정이 가능하다.

Find Bug

일단 가장 익숙한 WIZnet W5500 관련 코드를 뜯어보자. 벌레를 찾기위해..

“아이고, 이런 우연하게도 하나 걸렸다~~ ^^”

find bug code

발견한 즉시, 수정하고 간단히 엉터리 영어라도 코멘트 한 줄 넣어주고 컴파일해서 간단히 수정한 코드에 대한 동작확인을 해 본다.

fix code

여기서 끝내면 자신의 코드 저장소에만 수정된 코드가 적용되므로, 이제 기부 작업을 시작해보자.

Publish code

널리 백성을 이롭게 하기 위해서는 꼭 “Publish” 하도록 하자.

click Library name
Commit code

참고로, Commit 은 Publish 전에 따로 몇번이고 할 수 있다. 소스의 수정이 있다면 중간중간 commit 을 해 두면 버전관리에 수월하다.

Publish Repository

이 단계에서 “Fork…” 버튼을 누르게 되면 이 변경된 라이브러리를 새로운 저장소를 복사(이동)해서 관리를 별도를 할 수 있다. 공식적이지 않거나 개인적으로 따로 관리하고 싶다면 이 버튼을 눌러도 된다. (비슷한 기능의 여러 라이브러리가 생기게 되니 공통의 기능이면 그냥 “OK”를 눌러 대표 저장소에 수정을 하도록 하자.)

단, 아무나 코드를 수정할 수 없으므로 해당 라이브러리 수정 권한은 미리 받아 두어야 한다. 라이브러리 페이지의 관리자에게 요청을 하면 된다. 요청을 받아주지 않으면, (미워하지 말고) “Fork…”를 눌러 개인이 별도로 라이브러리를 따로 관리하고 원본 Library에 Pull Request를 보내 관리자가 수정할 수 있도록 정보를 제공하는 것도 미덕~~

complete to finish publishing

일단, 첫 경험은 잘 마무리 되었다. 히스토리는 전부 서버에 남아 있으니 이전으로 다시 돌릴 수도 있고 재 검토해 볼 수 도 있다.

View Result

자신이 수정한 라이브러리 공식 페이지로 가서 (이 글에서는 이곳) “History” 탭을 눌러본다.

History information in Library page

지금까지 변경된 내용이 Publish 한 시점별로 정리되어 있다. 이번에 한 3번결과를 클릭해 보면 해당 작업 내용이 아래와 같이 정리되어 보여진다.

Revision(Publsih) page

작성자와 commit message와 같은 정보가 보여지고, 아래는 노란 박스에서 보여지듯 기존 코드와 수정된 코드에 대한 정보가 보여진다. 양이 많지 않으면 쉽게 변경된 내용을 금방 파악할 수 있다.

(추가) Compiler 환경에서도 바로 Revision 정보를 볼 수 있고, 이전 버전으로 복구하거나 수정된 부분을 비교하거나 할 수 있다.

Revision window

이제 기부한 뿌듯함을 가지고 커피한잔~~

끝 =).

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.