プチコンはじめました。

プチコンはじめました。またすぐ飽きるかも。。

全体表示

[ リスト | 詳細 ]

記事検索
検索

全28ページ

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

[ 次のページ ]


こんにちはささきです。
今日はOpen webOSの話しです。
私はいつも古いネットブックを使っているのですが、そちらにUbuntu12.10をインストールしてwebOS インストールし始めたのですが、yajl というパッケージが12.10になったときにyajl2になって、コンパイルがうまく通らなくなってしまったらしく、最終的には12.04に戻してOpen webOSを起動するところまでできました。

基本はgithubにある手順どおりです。

1.パッケージを更新します。

hsasaki@s10-2:~ sudo apt-get update

hsasaki@s10-2:~ sudo apt-get install git git-core pkg-config make autoconf libtool g++ \
tcl unzip libyajl-dev libyajl1 qt4-qmake libsqlite3-dev curl

hsasaki@s10-2:~ sudo apt-get install gperf bison libglib2.0-dev libssl-dev libxi-dev \
libxrandr-dev libxfixes-dev libxcursor-dev libfreetype6-dev \
libxinerama-dev libgl1-mesa-dev libgstreamer0.10-dev \
libgstreamer-plugins-base0.10-dev flex libicu-dev

hsasaki@s10-2:~ sudo apt-get install libboost-system-dev libboost-filesystem-dev \
libboost-regex-dev libboost-program-options-dev liburiparser-dev \
libc-ares-dev libsigc++-2.0-dev libglibmm-2.4-dev libdb4.8-dev \
libcurl4-openssl-dev

hsasaki@s10-2:~ sudo apt-get install xcb libx11-xcb-dev libxcb-sync0-dev \
libxcb1-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-render-util0-dev \
libxcb-icccm1-dev

ここでlibxcb-icccm1-devが存在しないですというメッセージが表示されたので、
libxcb-icccm1-dev を libxcb-icccm4-dev へ変更しました。

hsasaki@s10-2:~ sudo apt-get build-dep qt4-qmake

2.次にwebOSのモジュールのコンパイルです。
どこでもいいのでディレクトリを作ります。私の場合は自分のホームに作りました。
hsasaki@s10-2:~ mkdir webOS
hsasaki@s10-2:~ cd webOS
hsasaki@s10-2:~ git clone https://github.com/openwebos/build-desktop
hsasaki@s10-2:~/webOS/build-desktop$ cd build-desktop
hsasaki@s10-2:~/webOS/build-desktop$ ls
README.md                 ls2         run-luna-sysmgr.sh
build-webos-desktop.sh    luna-send   service-bus.sh
install-webos-desktop.sh  mojoloader
hsasaki@s10-2:~/webOS/build-desktop$

hsasaki@s10-2:~ ./build-webos-desktop.sh

ここからが長い長い、皆さんのページを見たところ2,3、時間で終わるんでは?といった記事が多かったのですが、私はネットブック。。。それなりにかかることは覚悟したのですが、3時間まっても5時間まっても終わりません。15:00過ぎくらいに開始したのですが22:00くらいには眠くなって寝ちゃいました。

まあ、X68000でMETAFONTでFONTを全部作ったときなんかも何日もやっていたよな。。。DOGAのアニメとかも何日も何日も。。たしか10MHzとか20MHzというクロックでしたっけ?LinuxもインストールもなんどもなんどもKernelコンパイルしたり、gcc のコンパイルとか、Xのコンパイルとかしていた記憶がありますがそれに比べればはやいような?DX4 100MHzとかでしたものね。今ネットブックとっはいえ1GHz。そういえば初めて触ったパソコンは2MHzだったな。

翌朝起きてみたら、

curl: (6) Couldn't resolve host 'github.com'

最後にこんなエラーが出た状態で止まっていました。
最後まで見届けませんでしたが、ディレクトリの作成日時を見ると23:00位にとまったみたいな。。
8時間以上。。しかもこれ終わってませんよね?

エラーからするとgithub.comのIP解決できないということでしょうか?
dig で確認しましたが普通に情報が取得できます。

hsasaki@s10-2:~/webOS/build-desktop$ dig github.com

; <<>> DiG 9.8.1-P1 <<>> github.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28298
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4

;; QUESTION SECTION:
;github.com. IN A

;; ANSWER SECTION:
github.com. 300 IN A 207.97.227.239

;; AUTHORITY SECTION:
github.com. 37123 IN NS ns1.p16.dynect.net.

うーん…そういうことではない?

3.起動
まあいい矢ということでインストールと起動を行います。
hsasaki@s10-2:~ sudo ./install-webos-desktop.sh
hsasaki@s10-2:~ ./service-bus.sh start
hsasaki@s10-2:~/webOS/build-desktop$ ./service-bus.sh init

ERROR: filecache not present in /usr/lib/luna

だめですね。

原因を考える能力は持ち合わせていないので、そのまま再度 ./build-webos-desktop.shを行ってみました。
今度は特にエラーなど表示されずに、すごくぶっきらぼうな感じで終了しました。

+ echo 'Binaries are in /home/hsasaki/luna-desktop-binaries/staging/lib, /home/hsasaki/luna-desktop-binaries/staging/bin'
Binaries are in /home/hsasaki/luna-desktop-binaries/staging/lib, /home/hsasaki/luna-desktop-binaries/staging/bin
+ echo ''

hsasaki@s10-2:~/webOS/build-desktop$
hsasaki@s10-2:~ ./service-bus.sh start
hsasaki@s10-2:~ ./service-bus.sh init
このinitは前回よりもメッセージが多いし、時間もかかっているぞ?
そういえば、前回のエラーは出ませんでした。こんな感じの。。
ERROR: filecache not present in /usr/lib/luna

hsasaki@s10-2:~ ./service-bus.sh services
そして、
hsasaki@s10-2:~ ./run-luna-sysmgr.sh

としたところ。

イメージ 1


でた!できました。。
 

イメージ 2


ブラウザも開きました!

ただ、ネットブックだと、ホームボタンが押せないです。
いちいち画面切り替えが必要。。。

開発キットとかもあるようなので、いつか試してみたいですが、ネットブックではむりかな。
そろそろ普通の画面サイズが必要かなと思うきょうこのごろ。。

remapCoordinateSystem で悩む

こんばんわ〜

前回メモアプリを作ったのですが、なかなか使えるなと自画自賛。
立ち上げて何か編集して、そのまま終了すると勝手に保存するようにしたのですが、起動→メモを書く→終了させるとして保存しまくって、後で画像を整理するという使い方にしているのですが、なかなか便利につかえるなと。。

それはそうと今度は、センサーの値を確認できるアプリを作成中。
画面はこんな感じです。

イメージ 1

磁気センサーと加速度センサーとそれらから端末の向きを計算した値をそれぞれ表示します。
端末の向きがなかなか理解できなくて。。。

最終的には以下のようにして、傾き(画面ではROTATIONになっていますが。。。)を求めました。

SensorManager.remapCoordinateSystem(inR, SensorManager.AXIS_X, SensorManager.AXIS_Y, outR);
SensorManager.getOrientation(outR, orientationValues);

特にremapCoordinateSystemの第二、第三引数が何にするのがいいのかが理解できなかったのですが、私は次のように自分なりに納得したつもり。おばかさんなので間違っているかも。。

1.地球の南北をY軸、東西をX軸、地球の中心から空へ向かう軸をZ軸とする。
2.端末の上下をY軸、左右をX軸、向こう側、手前をZ軸とする。
3.地球のX軸、Y軸に対して端末のどの軸をどの向きで割り当てるかを指定する。

私の端末で

SensorManager.remapCoordinateSystem(inR, SensorManager.AXIS_X, SensorManager.AXIS_Y, outR);

とした場合は、端末を画面を空に向かっておいて、端末の上部を北に向けたときにOrientationが全部0になります。画面を立てていくとX軸周りに値が変わっていって、画面を横に回すとY軸周りに値が変わります。

たとえばASIX_X,AXIS_Zとするとえぇ〜と画面を北に向けて、端末の上を空に向ければいいのかな?あれ?違うか?XはAXIS_MINUS_Xとして正負を逆にしないといけないですかね。。。うぉ〜やっぱりわからなくなってきた。マップをメニューから選べるようにしてみようかな。。



こんには〜

今度はお絵かきソフトを作ってみました。
世の中にはいろいろな方が既に作成されていて便利なものもあるのですが、自分のほしい機能だけ持っているアプリもいいということもありますが、自分で作るのも楽しいものですね。

こんな感じになりました。画面のクリアと保存しか機能ありません。
終了したとき保存するようにしているので基本的にはクリアも保存もせずにメモしたら終了するという使い方にしました。

画面が小さいのでうまく書くには少し慣れがいりますね。
タッチパネルのタッチを拾う速度が少しのんびりな気がしますがこんなもんですかね。。。

イメージ 1


保存する機能で少しもめたのですが、次回。。






おはようございます。
歳を重ねるごとに早起きになっている気がします。

また電卓で変なところを見つけてしまいました。
DELETE?BACKSPACE?キーの動きです。

まとめるよ次のような考え方です。
バックスペースでどんどん削除して最後まで消してしまった場合は、数値は0となる。
その0は次回の数字の入力の時には破棄される。
ただし、SWAPはRollDownをされた場合は破棄されずに使用されます。

以下に例をしめします。
以下のようなスタックの状態で今4を入力中です。
この状態でバックスペースキーを押して、4を消します。
T:1
Z:2
Y:3
X:4_

するとこんな状態になります。
T:1
Z:2
Y:3
X:0

次に何か数字を入力すると、たとえば5を入力します。
T:1
Z:2
Y:3
X:5

とXに5が入力されるのが正しいようです。

先ほどの0になった状態に戻ってSWAPキーを押すと
T:1
Z:2
Y:3
X:0

このような状態になります。
T:1
Z:2
Y:0
X:3

次に5を入力すると
T:2
Z:0
Y:3
X:5

です。

また、先ほどの0になった状態に戻って、RollDownを4回押すと同じような状態に戻りますが、次の数字の入力では、Xの0は破棄されずにスタックにつまれます。
T:1
Z:2
Y:3
X:0

こうなります。5は入力中。
T:2
Z:3
Y:0
X:5_

この理解で正しいかどうかわかりません(^^;
またしばらく使ってみますが、もともとスタックの動きを考えて使っているわけではないので、気がつかなければいつまでも気がつかないかもしれませんね。




こんばんわ〜

また先週一週間使っていたのですが、全然おかしかったです。
とにかくスタックの動作が微妙におかしく、XとYの計算はうまくいくのですが、少し複雑になると計算できなくなってしまう始末です。自分にはやはりプログラムを作る才能はないなと再認識します。

整理すると以下のようなルールになるかと。。。
・数字を入力してENTERキーを押した直後のXは次の数字の入力の時に破棄される


私が保有している32SIIの動きを真似したつもりですうまく表現できているでしょうか?
いちばんしたからX、Y、Z、Tと呼びます。

1.Xの入力後はXが無効(?)な値になります。
入力中は以下のような状態になります。
T:1
Z:2
Y:3
X:4_

ENTERキーを押して4を確定させると
T:2
Z:3
Y:4
X:4

です。

次に何か数字を入力すると、一番したのXはなくなって、そのまま入力が始まります。
5と入力してみましょう。
T:2
Z:3
Y:4
X:5_

です。先ほどXに合った値は消えて5の入力が始まります。
新しく数字を入力して、確定したあとはXは無効な数字(?)となって次なる入力のときは、Xは破棄されます。
これがうまく表現できておらず、スタックが一段上がってしまっていました。

2.演算などの後は先ほどのXが有効になります。
演算は結果がXに入っているので当然といえば当然ですが、特にわかりにくいのがSWAPやRollDownです。
先ほどと同様に、1,2,3,4と入力して最後にENTERキーを押した状態にします。
T:2
Z:3
Y:4
X:4

この状態で先ほど数字を入力したときは、Xの4は消えてなくなりましたが、SWAPキーを押してX,Yを入れ替えた後は、Xが有効な値になります。
見た目同じですが、SWAPキーを押したら以下のようになります。
T:2
Z:3
Y:4
X:4

この後に5を入力すると先ほどとは異なり、Xの4の値が残って5の入力が開始されます。
5を入力してみます。
T:3
Z:4
Y:4
X:5_

となります。
RollDownを4回押してはじめと同じ状態にしても同様です。
T:2
Z:3
Y:4
X:4

5を入力すると
T:3
Z:4
Y:4
X:5_
となります。

普段何気なく使っていたのですが、いろいろと考えられた動きになっているのですね。
長年の歴史を感じます。


全28ページ

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

[ 次のページ ]


よしもとブログランキング

もっと見る

プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事