2011년 10월 19일 수요일

install romeo package history

sudo apt-get install libgstreamermm-0.10-dev
sudo apt-get install libgstreamer0.10-dev
sudo cp videoInputLib.a /usr/local/lib
sudo apt-get install libfreeimage-dev
sudo cp RtAudio.h /usr/local/include/
sudo cp librtaudio.so /usr/local/lib/
tar xvzf rtaudio-4.0.10.tar.gz
sudo apt-get install libasound-dev
sudo cp libfmodex* /usr/local/lib/
tar xvzf fmodapi43605linux.tar.gz
sudo cp libGLee.so /usr/local/lib/
sudo cp GLee.h /usr/local/include/
tar xvzf GLee-5.4.0-src.tar.gz
sudo apt-get install libudev-dev
sudo apt-get install libjack-dev
sudo apt-get install libglew-dev
sudo apt-get install libalut-dev
sudo apt-get install libsndfile-dev

RtAudio
Unicap
videoInput
Poco
glfw
glut
freetype
freeimage
fmodex
GLee

2011년 10월 11일 화요일

Code Sign error과 remote debugging이 안될 경우 해결방법

file -> new file -> Other -> Entitlements 작성
Entitlements open
get-task-allow bool checked

Project -> Edit Project Settings -> Code signing -> Code Signing Identity iPhone Developer
Code signing Entitlements : Entitlements.plist

2011년 10월 9일 일요일

7Days Project

7일동안 행복한 상상을 하고 리얼리티화 시키는 프로젝트
7일동안 행복한 상상을 하고 7일 동안 구상하고 7일동안 만들수도 있고
7일동안 행복한 상상을 하고 7일동안 또 상상을 하고 7일동안....
가장 중용한 것은 행복한 상상을 한다는것이다. 그리고 재미가 있어야 한다. 상상에 구애받지 않고 자유로이 상상하고 상상한다. 다만 현실화 시켜야 하는게 가장 큰 포인트다
상상만하고 아이디어만 하고 생각만 하다 그치는게 아니라 현실화 시키는 훈련을 하는게 이프로젝트의 목표이다.

첫번째 프로젝트는 ROCOBOOL이다.

2011년 10월 5일 수요일

new project : robot contents builder tool

project name: ROCOBOOL

resources:

motion capture(kinect device) + flash builder + actionscript + open framework + c++/java/c# + device

Benefits:
1. two-way communication : flash builder를 통해서 device에 명령 전달과 device 펄스를 통해 flash builder로 전달
2. robot model향: 각각의 모터를 통해 actor를 제어하는게 아니라 robot model를 통해서 전체적인 움직을 제어.
3. motion capturing을 이용해서 robot model를 만듬
4. robot contents integration ㅂ빌더 tool로 자리매김

development requirement:
usage AS3
usage Flash Builder

module test:
Flash builder <-> actionscript <-> device

2011년 10월 3일 월요일

Build boost on Android

http://groups.google.com/group/android-ndk/browse_thread/thread/7155b349ada47eec/bb17778cdd7ddbec

2011년 9월 25일 일요일

2011년 9월 24일 토요일

Detects system compiler and OS used

http://quarkplayer.googlecode.com/svn-history/r1252/trunk/cmake/DetectSystem.cmake

_MSC_VER

_MSC_VER => 1000
_MSC_VER => 1100
_MSC_VER => 1200 6.0 vs6
_MSC_VER => 1310 7.1 vs2003
_MSC_VER => 1400 8.0 vs2005
_MSC_VER => 1500 9.0 vs2008
_MSC_VER => 1600 10.0 vs2010

2011년 9월 23일 금요일

romeo-opros 1.4.5 global porting 작업

romeo-opros 1.4.5에서는 모든게 많이 변한다.
iso, android, x86-linux, windows, osx에서 모두 포팅 가능한 openFrameworks를 포함한 패키지를 만든다.
물로 midi 관련 프로젝트도 포함되어 있다.

앞으로의 계획은 이렇다.

x86-linux에서 패키지가 완려되면
arm-linux에서 포팅한다. 이때 ios, arndroid에 테스트해 볼것이다.

첫번째 포팅 프로젝트로는 ipod를 이용한 드럼로봇 미들웨어
두번째 포팅 프로젝트로는 romeo의 소나 정보와 RtAudio를 이용해서 소나 거리에 따르는 요상한 소리를 내게하는 프로젝트이다.


romeo-opros 1.4.5 make 방법

penframeworks depends on;
|Linux|MaxOsX|Windows|
- RtAudio | X | X | ? | http://www.music.mcgill.ca/~gary/rtaudio/
- Unicap | X | ? | ? | http://unicap-imaging.org/download.htm
- videoInput | | | ? | http://muonics.net/school/spring05/videoInput/
- poco | X | X | X | http://pocoproject.org/
- glfw | X | X | X | http://glfw.sourceforge.net/
- glut | X | X | X | http://www.opengl.org/resources/libraries/glut/
- freetype | X | X | X | http://www.freetype.org/index2.html
- freeimage | X | X | X | http://freeimage.sourceforge.net/download.html
- fmodex | X | X | X | http://www.fmod.org/
- GLee | X | X | X | http://www.opengl.org/sdk/libs/GLee/


Install
=======

On Linux
--------

RtAudio
+++++++

tar zxvf rtaudio-.tar.gz
cd rtaudio-
./configure
make
cp RtAudio.h RtError.h ./../libsLinux/include
cp librtaudio.a ./../libsLinux/lib

Unicap
++++++

./configure --enable-static --disable-shared --prefix=/tmp/unicap --disable-unicapgtk ; make ; make install
cp -R /tmp/unicap/lib/ ./../libsLinux/lib
cp -R /tmp/unicap/include ./../libsLinux/include


glfw
++++

apt-get install libglfw-dev libglfw2

glut
++++

apt-get install libglut3 libglut3-dev

freetype
++++++++

apt-get install libfreetype6 libfreetype6-dev

freeimage
+++++++++

cd FreeImage
make
sudo cp Dist/FreeImage.h /usr/local/include
sudo cp Dist/libfreeimage.a /usr/local/lib

glee
++++

mkdir GLee
cd GLee
tar zxvf GLee-5.4.0-src.tar.gz
make
sudo cp libGLee.so /usr/local/lib
sudo cp GLee.h /usr/local/include

fmodex
++++++



openFrameworks_remaned 의 README + 또 해야할 일이 있다.

GLUT에 관계된 라이브러리
/usr/local/shard/cmake2-8/modules/FindGLUT.cmake를 참조

sudo apt-get install libgstreamer0.10-dev libgstreamermm0.10-dev

결론
openFrameworks에서 쓰는 라이브러리는

/usr/local/lib에서 찾는 openFramework.cmake
/usr/lib에서 찾는 Findxxx.cmake에서 볼수 있다.

openFramework.cmake는 local에서 찾고
Findxxx.cmak는 Cmake에서 제공된 module 파일로 global하게 찾는다.

그냥 global하게 맡기면 될것 같은데 편리성때문에 그런것 같다.

나중에 배포할때 각각의 라이브러리를 한대 모아 cmake 파일로 만들어 제공해야겠다.


누구한테?.. 개발자에게..
굿~~~~~~~~~~~~~~

2011년 9월 13일 화요일

today git use command

git commit -c HEAD --amend: 방금전 커밋한 comment를 다시 불러와 수정한다.

2011년 9월 12일 월요일

today git use command

git remote -v: what remote ip and prject
git reset --soft HEAD~1 : commit 한후에 commit 바로 이전의 상태로 rollback
git add -i : add 한후에 revert가 주요 목적
git archive --format=tar HEAD|gzip > test.tar.gz
git merge --squash opros: merge시 opros의 commit을 하나의 commit으로 합친다.

2011년 9월 4일 일요일

Using the serial port on galaxy tab 10.1

전에 포스팅에서는 SPP 를 이용해서 bluetooth<->serial 간 통신을 이용한다고 했는데
가격이 9만원 정도 한다.
galaxy tab 10.1 에 있는 serial pin 를 이용해서 시러얼 통신을 한다.
1. tab 의 pinout 을 알아야 한다.
2. ttl level 이므로 3.3 v->12v 로 변환 해야 한다.
3. pin 6 에 150 kohm 을 달아야한다.

2011년 8월 14일 일요일

갤럭시탭10.1 구매후 어플개발

장비는 준비되었으니 개발남만았다, .
맥에 노트북에 설치해서 슬슬 개발해보자,
1. 개발계획을 세운다

2011년 8월 8일 월요일

opros 1.1.5 설치 방법

sudo dpkg -i OPROSPackage-1.1.5-Linux.deb

sudo apt-get install ssh
sudo apt-get install libboost-system1.40.0
sudo apt-get install libboost-serialization1.40.0
sudo apt-get install libboost-thread1.40.0


2011년 7월 21일 목요일

eclipse plug-in study

5page

!) 이클립스 워크벤치 내의 다양한 편집기의 조합을 퍼스펙티브라고 부른다. 하나의 퍼스펙티브는 이클립스 워크벤치 내에 포함된 하나의 페이지라고 생각할 수 있다.

?) 여러개의 퍼스펙트브를 동시에 열수 있으며...

!) 모든 퍼스펙티브는 자신만의 뷰 구성을 갖지만 열린 편집기들은 모든 퍼스펙티브가 공유한다.

?) 하나의 퍼스펙티브에서 각각의 뷰는 단 하나의 인스턴스만 열 수 있는 반면,
편집기는 같은 유형이라도 동시에 여러 개를 열 수 있다.

!) 이클립스에는 디스플레이 영역을 구성하는 편집기뿐만 아니라 시스템에서 사용 가능한 다양한 명령이나 액션을 표현하는 최상위 메뉴와 컨텍스트 메뉴, 툴바 버튼 등이 포함되어 있다.

2011년 6월 26일 일요일

git command 2

시간이 지나지 기본적인것도 잊어버리네..

원격저장소 clone하기
git clone git@115.91.130.253:project project

git checkout -b romeo origin/romeo
원격 저장소 pull 하기
git pull origin romeo

원격 저장소 push하기
git push origin romeo

2011년 5월 30일 월요일

2011년 5월 23일 월요일

ssh-keygen

ssh 문제:
Host key verification failed 가 나오면
ssh-keygen -R 연결하려는 IP를 입력
그럼 ~/.ssh/known_hosts와 known_hosts.old가 생긴다.
다시 ssh에 접속하면 key추가 메시지가 나온다.
done

2011년 5월 22일 일요일

atmega128 개발 환경 구축

ISIS 7 Professional(none free)
CodeVisionAVR V2.03.4(none free)
VSPE(32bit free)

windows xp sp3


2011년 5월 19일 목요일

git command

git reset --hard HEAD~1 : HEAD commit 취소
git reset --hard HEAD~2 : HEAD~2 번째까지 commit 취소

git cherry-pick -n commit_hash

commit을 현재의 브랜치의 index에 놓는다.
git push --tags : 원격의 tag들 모두 가져온다.

git push 명령


git push origin ios --force

원격 origin/ios에 지역 브렉치 ios를 강제로 pushing 한다.

git reset 명령

git reset --soft HEAD~2

HEAD부터 두번째를 soft 방법으로 reset 한다.

index에 들어가있으니까 상황봐서 commit하자.

git commit -a(no add) -c(vi) ORIG_HEAD

git reset 명령 직전의 HEAD의 commit comment를 vi띄워서 입력한후 저장하면
새로운 comment의 commit 된다.

git HEAD^ 문제

윈도우에서는 ^ 먹지 않는다.

Upgrade qt 4.6.2 to > qt 4.6.2 on Ubuntu 10.04


sudo vi /etc/apt/sources.list
:%s/lucid/maverick/g
:wq

sudo apt-get update
sudo apt-get install qt4-qmake qt4-dev-tools

done!!!


2011년 5월 15일 일요일

about android app dev


1. jre and jdk download
1.1 sudo apt-get install sun-java6-jre sun-java6-jdk (may be)
2. eclipse download
2.1 classic or rcp version
3. android sdk download
4. android development tools plugin download
5. adding Platforms and other components
5.1 download platform
5.2 create AVD
5.3 create project
6. done

non gui

jni + NDK + TOOLCHAIN(native code build)
android create project ... (android code build)

android
ant
command line

android-cmake reference

아래 사이트는 http://android-cmake.googlecode.com/hg/documentation.html를 보고 리포팅 수준의 포스트 이다.
http://www.srombauts.fr/2011/03/15/cmake-for-android/


아래 사이트는 Ubuntu에서 apt-get 으로 Java JDK, JRE 설치에 관한 내용이다.

2011년 5월 14일 토요일

boost for android

1. googling "boost on android"
아래 정보를 이용해서 patch를 하고

userconfig.jam을 아래와 같이 바꾼후 boost를 컴파일 한다.
http://permalink.gmane.org/gmane.comp.handhelds.android.ndk/7553

컴파일이 완료 되었으면 2번을 이용해서 boost를 테스트해보자(아직 안해봤음)

2. googling "android-cmake"
아래 정보를 이용해서 Cmake로 안드로이드 app를 컴파일하고 테스트해본다.
common-libs/boost를 Cmake를 이용해서 컴파일 해본다. serialization은 안되는를 알것이다.
http://android-cmake.googlecode.com/hg/documentation.html

몇몇개의 인터넷정보는 신뢰감이 떨어진다.
아래는 boost를 arm으로 컴파일 하는것인다. 위의 1번을 수행하면 arm7으로 elf가 생성된다.
http://tom87416.blogspot.com/2011/02/compiling-boost-library-on-android.html
참고 정보
아래 사이트는 1번은 이용해서 컴파일하고 Cmake를 이용하지 않고 android.mk문법을 이용해서 makefile를 작성 해보고 실행 했지만 링크에러가 난 것에 대한 질문이다.
리플중에 중요한 것을 발견했다.
NDK compiler is gcc and the logs above clearly indicate correct compiler is used. Crystax NDK is no longer necessary; since release 5, gnu stdlibc++ is part of the standard SDK. – Jan Hudec Mar 1 at 14:05
Crystax NDK가 더이상 필요하지 않다는 것인데 나도 동감한다.
boost를 적당히 android 용으로 patch해주고 cmake_toolchain_file를 이용해서 컴파일하면 될것 같다.
http://stackoverflow.com/questions/5119201/how-link-with-static-boost-libraries-for-android
아래 사이트는 r4, r3 crystax version에서 boost 1.39.0의 user-config.jam와 boost.patch이다. 이전 정보지만 참고하기 좋을것같다.
http://www.crystax.net/trac/ticket/6


결론
위의 정보를 가지고 전체적인 테스트는 해보지 않았지만 미뤄 짐작해 볼때 oce compile and using cmake that is complete는 가능성이 있다.
boost library를 컴파일 하고 boost를 이용해서 oce/cdl를 cmake를 이용해서 빌드하고 JNI를 이용해서 android 응용으로 실행 한다.

xoom device 에서 ... using rs232 or spp with ROMEO mobile platform

2011년 4월 30일 토요일

아이폰과 갤럭시 탭 블루투스 통신

결론

아이폰은 btstack 라이브러리를 이용해서 HID 방식으로 통신하면되고
갤럭시 탭은 SPP 방식으로 통신하면 된다.
HID방식도 지원한다.

물론 동글은 HID or SPP 프로파일을 지원하는 걸로 구매한다.
현재 진행 중인 시리얼 통신으로 로봇제어하기는 serial2bluetooth 모듈을 이용해서 원격으로 로봇을 제어 하는 방법이 있을 수 있겠다.

갤럭시 탭으로 로봇을 제어하기 위해서는 위 방법대로 serial2bluetooth 모듈을 이용해서 SPP 방식으로 원격에서 로봇을 제어할 수 있을 것 같다.

문제는 serial2bluetooth 전원 공급과 갤럭시 탭에 루팅이 필요하냐 이다.

2011년 4월 25일 월요일

buid ace for iphone

http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html
공식 문서를 보면 iphone 관련 빌드 방법이 나온다.

1. ACE_ROOT 설정
2. IPHONE_TARGET 설정
3. config.h 설정
4. platform_macros.GNU 설정
5. configure 설정
6. make; make install

위와 같은 순서로 진행 하겠다.
1. ACE_ROOT 설정
export ACE_ROOT=~/path/ACE_wrappers/
2. IPHONE_TARGET 설정
export IPHONE_TARGET=HARDWARE
3. config.h 설정
vi ACE_wrappers/ace/config.h
#include "config-macosx-iphone-hardware.h"
4.platform_macros.GNU 설정
vi ACE_wrappers/include/makeinclude/platform_macros.GNU
include $(ACE_ROOT)/include/makeinclude/platform_macosx_iphone.GNU
5. configure 설정
cd ACE_wrappers
mkdir build
cd build
../configure --enable-static --disable-shared --disable-ssl --prefix=/path
6. make; make install
make
sudo make install

완성!!

2011년 4월 18일 월요일

ios cross compile done!!!

드디어 컴파일이 된다. 물론 C++ 관련 파일들도 같이 된다.
문제는 flag였다. 명시적으로 flag를 설정하니 된다.
처음부터 됐어야 하는데... 이것 때문에 많은 시간을 허비했다. 아니 많이 알았다.

내 방법을 설명하겠다.

참고 사항으로 첨부한 iphone_cmake.sh를 보기 바란다.
사용 방법은
기존의 cmakelist.txt가 있다면
mkdir build
cd build
../iphone_cmake.sh device ../ --> device arm
../iphone_cmake.sh simulator ../ --> simulator intel

물론 하위 폴더에 iphone_cmake.sh를 둬야 한다.
현재는 ios 4.2로 되어 있다.
4.3으로 하려면 파일에서 고치면 된다.

현재 포팅된 라이브러리는

boost 1.38.0
ace 6.0.1
opros 1.5.6
dlib
rcf

앞으로 계속 포팅할 것이다.
그때 까지 화이팅!!!

다음 할일은 UIKit를 Cmake로 빌드해서 크로스 컴파일 하는 것이다.

2011년 3월 12일 토요일

Building iphone , using The boost bjam

boost bjam을 이용해서 Iphone 어플 개발을 위한 포스트다.

한달동안 알아보고 해보고 알아보고 해보고.. 반복 했다.

거의 끝이 보이는 것 같다.

하지만 다른 끝이 또 있을지 의문이다.

우선 완성되지는 않았지만.. 지금 까지, 나름 노력한걸 기록 한다.

먼저
http://paulsolt.com/2010/04/c-logging-and-building-boost-for-iphoneipad-3-2-and-macosx/
위의 사이트르 보고 착안했다.
여기서 Iphone용으로 boost 빌드가 가능한다. (실행결과 아직 못봄)

분명 iostream 파일이 있는데 not found되지 않고 빌드 된다는 것이다.

지금가지 Build cmake for iphone을 이용해서 해봤지만 완벽 하게 c/c++을 빌드 하지 못했다.

결론 부터 말한다.

bjam을 이용해서 빌드 하려면

boost_1xx.tar 압축을 풀고

new project folder를 만든다.

boost_1xx에서 tools/build/v2 전체 path를 new project folder (이하 project)에 복사한다.

bjam을 만들고 bjam(maxosx용)과 boost-build.jam을 project에 복사한다.

user-config.jam(위의사이트에서 작성된)파일을 project-config.jam으로 변경한다.

jamroot.jam을 만들고 bjam tutorial에서 한것 처럼

exe hello : hello.cpp ;
을 입력한다.

bjam toolset=darwin ach...=arm tart...=iphone maxcver...=iphone-4.2 ... 실행한다.
..
..
..
에러가 분명히 있겠지............. 내일 해보자...........