3월, 2015의 게시물 표시

[DevTip] Windows Octave에서 Serial Port 사용하기

준비? Windows 쪽은 빌드 환경과 바이너리 버전이 안 맞아서 작업하기 상당히 까다롭다. 차라리 http://wiki.octave.org/Octave_for_Windows 에 쓰인 것 처럼, 비록 unofficial 버전이지만 MXE 빌드를 받아 설치한다. http://mxeoctave.osuv.de/ 3.8.2-5 instrument-contorl 패키지 설치 pkg list로 설치된 패키지를 확인해 본다. 설치한 MXE 빌드에는 아무런 패키지도 설치되어 있지 않아 다음 명령으로 필요한 패키지를 설치한다. pkg install -forge general instrument-control 설치된 버전은 0.2.1. news instrument-control 명령으로 새 소식을 살펴보면, 기존 SERIAL 관련 명령들을 더 이상 사용하지 못한단다 (deprecated). fopen, fclose, get, set 을 사용하라는데... http://octave.sourceforge.net/instrument-control/index.html 에서 function reference를 보면 조금 헷갈린다. 뭐가 deprecated 된 것이고 무슨 함수를 써야 되는 것인지... 일단은 그냥 고~ 샘플 받아 수정 http://shop.dwengo.org/node/486 에서 srl_plot.m 샘플을 받아서 내용을 살펴본다. 맘에 안 드는 것들이 좀 있다. PC 환경이라서 serial port의 주소(COM3)를 변경해 줘야 하고, 기본 Baudrate도 수정해 줬다. Serial port로부터 연속적으로 uint16 형식의 데이터를 받아서 int16으로 표시해 줘야 하는데, 이것도 구현해 봤다. 처음에 '\r' 전송하는 부분데 막아주고, deserializeInt() 함수도 안 쓰는 걸로. (코드는 그냥 전부 살려 놨다.) plotmet 인자가 data 인 경우만 유효한 코드는 다음과 같다.

[DevTip] Vi(m)에서 Octave 파일 Syntax 하이라이팅 사용하기..

Windows 기준으로... (Unix 계열이라면 자신의 홈 디렉토리 밑에 .vimrc 파일과 .vim 디렉토리를 참고하면 된다.) http://www.vim.org/scripts/script.php?script_id=3600 의 맨 아래에서 syntax 파일 받기 (octave.vim) Vim 설치 디렉토리 밑에 있는 syntax 디렉토리로 복사.   보통 C:\Program Files(x86)\Vim\vimfiles\syntax _vimrc 파일 수정.   보통 C:\Program Files (x86)\Vim\_vimrc 다음 snippet 추가 (주의: 콤마 전 후에 공백이 없어야 함!!!) ----- SNIP ----- " Octave syntax augroup filetypedetect   au! BufRead,BufNewFile *.m,*.oct set filetype=octave augroup END ----- SNIP ----- Vi(m)을 재시작시켜 octave 파일(*.m, *.oct)들을 읽어서 하이라이트 되는지 확인~~