2013年3月13日水曜日

arduino-1.0.3のArduinoISP コンパイル tip

関数hogehogeが現在のスコープから参照できねー!(意訳)

とエラーが出る。

当該関数のプロトタイプ宣言を上の方へ追加すればOK(pulseの直後とか)。

Arduino.mk on Ubuntu 12.04 LTS

環境


arduino-1.0.3

for YAML.pm
sudo apt-get install libconfig-yaml-perl

for Device/SerialPort.pm
sudo apt-get install libdevice-serialport-perl

配置


~/.arduino フォルダを拡張する

~/.arduino
  |- preferences.txt
  |- arduino-1.0.3/
  |- arduino-mk-0.10/

ln -s arduino-1.0.3 arduino
ln -s arduino-mk-0.10 arduino-mk

~/.bashrc ファイル末尾
ARDUINO_BASE=$HOME/.arduino
export ARDMK_DIR=$ARDUINO_BASE/arduino-mk
export ARDUINO_DIR=$ARDUINO_BASE/arduino
export AVR_TOOLS_DIR=$ARDUINO_DIR/hardware/tools/avr
export AVRDUDE=$ARDUINO_DIR/hardware/tools/avrdudeよ
export AVRDUDE_CONF=$ARDUINO_DIR/hardware/tools/avrdude.conf


Makefile


MakefileはTARGET環境変数の設定が無い場合はカレントディレクトリ名をターゲット名にするようになっているので、フォルダの中に入れる。

 例:IRrecvDemoサンプルをコンパイルするMakefile

ARDUINO_BASE = $(HOME)/.arduino
ARDMK_DIR = $(ARDUINO_BASE)/arduino-mk
ARDUINO_DIR = $(ARDUINO_BASE)/arduino
AVR_TOOLS_DIR = $(ARDUINO_DIR)/hardware/tools/avr
AVRDUDE = $(ARDUINO_DIR)/hardware/tools/avrdudeよ
AVRDUDE_CONF = $(ARDUINO_DIR)/hardware/tools/avrdude.conf
BORD_TAG = uno
ARDUINO_LIBS = IRremote
ARDUINO_PORT = /dev/ttyACM0
include $(ARDMK_DIR)/arduino-mk/Arduino.mk

make


  • depend.mkが無いと怒られるが無視してよい。
  • build.pid, build.vidが無いと怒られるがLeonardo用なのでunoでは無視して良い。
uno の場合は、build_unoフォルダを掘り、加工したソースをbuild_unoに置いて、そこでコンパイルする。
再度makeしたときに「ターゲットがありません」と怒られたらカレントディレクトリがbuild_unoに切り替わってないか注意する。

arduinoへ転送


arduino unoを接続してから make upload

2013年3月1日金曜日

msysgitとPuTTYでリモートのリポジトリにアクセス

  1. private key/public keyをkeygenで作成する。
  2. private keyをPuTTYのppk形式に変換して保存。
  3. public keyはkeygenで作ったままリモートのauthorized_keysに加える。
  4. PuTTYでpublic key/private key使ってログインできることを確認。
  5. PuTTYのplink.exeにpathを通しておく
  6. PuTTYのpagentを起動し、2のキーを登録(とパスワード入力)
  7. 環境変数 GIT_SSHを設定 set GIT_SSH=plink.exe
  8. 持ってきてみる。 git clone ssh://user@srver:/path/to/git_repos/hoge.git
  9. ローカルにhogeディレクトリが出来る。

2013年2月28日木曜日

gitコマンドで転送せずにgitリモートリポジトリを作る

ローカル側からsshで送りたい。
git clone --bare /path/to/hoge ssh://foo@server:22/path/to/repos
と書いてみたがダメだった。

  1. ローカルのリポジトリを丸ごとzip圧縮
  2. scpで転送してリモートでテンポラリの場所に解凍。
  3. git clone --bare
  4. ローカルでリモートから取りなおす。
  5. 取りなおしたところにworkingの内容を(.gitディレクトリ以外)コピー
  6. リモートのテンポラリに解凍したのは削除。

2012年4月16日月曜日

linux 3.0.0-15 generic いれたらXが上がらなかった件

nvidia のドライバが無いと怒られる(recovery modeで立ち上げて見て)。 .....マシンのGPU切替スイッチがOFFになってた orz.

2012年3月7日水曜日

androidアプリ開発環境設定 on ASUS N10Jc (3.root化編)

入手した原道N50は既にroot化されていたが、onda vi30豪華版 はそうではなかったのでroot化する。

root化 on Windows

Tasselhof-RootScript.batと言うのが定番らしいのでWindowsで作業する。今回はWindows XP Home。
  1. 実機をUSBで認識する必要がある。まずはgoogle usb driverを有効にするために android sdk をインストール(当然 jdk もインストール)
  2. onda vi30を有効にするためandroid_winusb.infに記述を追加する。
    [Google.NTx86]
    ;
    ;onda vi30
    %SingleAdbInterface% = USB_Install, USB\VID_【VenderID】&PID_【PID】E&【Rev】
    %CompositeAdbInterface% = USB_Install, USB\VID_【VenderID】&PID_【PID】&MI_01
  3. Windows用のスクリプト[ROOT] - MID816R2 - Tasselhof - ROOT - Script & Toolsが定番らしいのでこれを使う。
  4. !RUN-ME-Tasselhof-RootScript.batを走らせたらメニューになる。1を選んでデバイスが表示されたら2以降を使える。表示されなかったらUSBが認識されていない。
  5. メニューの2番でroot化可能であることを確認
  6. 3でroot化
  7. adb shellでプロンプト#が表示されれば成功

USB認識 on ubuntu

普段作業するのはubuntuなのでubuntu上で認識させる方法。 Using Hardware Devices | Android Developersを参考にした。vendor IDはwindowsで調べてもいいが、ubuntu上で調べるならlsusb。

2012年3月6日火曜日

タグ区切り文字の見分け方(?)

firefoxのブックマークのタグはカンマで区切る。
bloggerのラベルはカンマで区切る。
picasaのタグはスペースで区切る。
yahoo bookmarkのタグはスペースで区切る。
とメモしても忘れてしまうので簡単な見分けかた:
「スペースをたくさん入れてそのままの間隔で登録されたらスペースが区切りではない。」