[管理者用]

イゼルローン日誌
宇宙・・・それは人類に残された最後の観光地である

         
戻る 
01月
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
12月
1998年
1999年
2000年
2001年
2002年
2003年
2004年
2005年
2006年
2007年
2008年
2009年
2010年
2011年
2012年
2013年
2014年
2015年
2016年
2017年

2017年08月
8月18日 ・なんか、お隣の国の大統領が国家間の合意を一方的に勝手に破棄するという、とんでもないことを口走ったらしい。
・それなら戦前日本人が持っていた財産なども返してくれるということなのだろうか。こうした非常識さは即座に世界にアピールしたほうが良いのだろうけど、発信力が無いからなぁ。こういうのは広告会社とかイベント企画な会社やら、米国の大統領選をプロデュースしているようなところにお願いしたほうがいいんじゃないのかな?

8月17日 ・いい加減か髪が伸びてうっとおしさ全開。いつものところはお盆連休で混雑しているようで、予約が取れない。諦めてお安いところでざっくりと切ってもらうことにする。ちょっとこれは・・・って感じになったけど、また伸びるからいいか。
・そんなところで、プログラムの始末・・と思っていたら睡魔に襲われて目が覚めたらとんでもない時間。ちょっとだけ確認して寝ることにする。



8月16日 ・しまった・・・Windows10をネットに接続してしまった。知らぬ間に勝手にダウンロードされた挙句に珍妙なダイアログ。とりあえず後で・・とやっていたのだけど、ハングアップしてしまい、再起動したら「更新プログラムを構成しています。電源を切らないでください」などと出て延々と使えない状態が続いている。
・いつものことだけど、Microsoftにとってはユーザの仕事よりも、OSの更新の方が大事なのだな。昨日のIMECMNTもそうだけど、Windowsというのは、「更新の合間に運が良ければ仕事をすることもできるかもしれない」OSだということなのだろう。


8月15日 ・最近、突然PCが猛然とHDDアクセスを始めてしまって使用不能な状況に陥るということが続いている。だいたいは立ち上げて(サスペンド状態から復帰して)数十分くらいした時や深夜が多いような感じがある。
・どうにも気に入らないので、タスクマネージャを開いてパフォーマンスモニタを見ると、確かにHDDアクセスが張り付き状態。
・誰だ、こんなことをしているのは?と見たらIMECMNT。"IME"はわかるけど、"CMNT"とは何だろう。キャッシュメインテナンスだろうかな?とか無駄な想像をしてみたけど、とりあえずこいつがいけないんだろう。
・ちょっと検索するとなるほどみんなこのIMECMNTトラップに引っかかっているようだ。とりあえず、IMEをMicrosoftIMEに入れ替えてしまえば良いということだな。
・これでしばらく運用してみるか。

8月14日 ・ちょっとしたドキュメントを書かなくてはならなくなった。
・今までOffice2000のお世話になっていたのだけど、ボチボチと仕事環境のLinux化をしているところでもあるしということで、LibreOfficeのWriterを使ってみる。
・慣れないところもあったけれども、とりあえず図と表を入れ込んでそれなりに作ることはできた。メニューの日本語化を忘れていたので、英語のままだけど、良しとしよう。
・メニューが英語なのはいいけど、フォントが小さすぎてどうにも見づらい。多分こういう人はいくらでもいるだろうと思っていて探したらあったあった。WriterのTools=>Options(やっぱり複数形なのね)で、LibreOfficeのViewを選択して、「User Interface」の「Scaling」を100%から125%に変更。これで見やすくなった。

8月13日 ・ひたすらclassのメンバ関数を埋めていく地道な作業。サーボモータ用の基底クラスを流用して、実際のモータの制御部分は関数のオーバーライドしてしまおうという魂胆。
・少しずつテストしながら増やしていって、とりあえず完成。これでサーボモータと同じ扱いで動かせるようになった。
・スクリプトエンジンにも処理を追加して、Z方向もスクリプトで動かせるようになった。これでひといき。


8月12日 ・コマンド追加はひとまず終了。続いてギヤードモータの処理を追加する。
こちらは、モータのON/OFFと回転方向の指示だけで、エンコーダパルスを見て指定した位置で停止させるという仕組み。
・ON/OFFはいいとして、エンコーダ出力をカウントして止めるというのがツボ。ついでに回し過ぎないようにリミットスイッチも対応しなくてはいけない。
・こういう時の反射神経的な部分はPSoCのデジタルブロックというのか、UDBの出番。
・アップ&ダウンカウンタを使って、指定したカウント値までいったら自動的にモータをOFFにするとか、リミットスイッチが作動したら停止させて、反対方向にしか回らないようにするなどという仕掛けを組み込んでおく。
・あとはプログラム。とりあえずポートを叩いてテストしたら全く動かない。テスタで出力を見るとちゃんとONになっているので、回らないのはおかしい。
・色々悩んだ末・・・・モータコントローラで回転数を制御できるようになっていたのだけど、「工場出荷時は速度0になっています」ときた。確かに半固定抵抗を見たらゼロ設定。そりゃ、一番安全でしょうけどね。ドライバでちょっと回してやったら回りだして一安心。
・明日には形にできるかな。


8月11日 ・対応するコマンドを増やす。色々できてきたな。
・世間では今日は祝日だったらしい。山の日だか山Pの日だか知らないけれど、こちらは関係なし。ボチボチ仕事するか。

8月10日 ・というところで、PSoCなロボットのプログラミング。基本的なルーチンはできたので、これを呼ぶためのスクリプト処理エンジン・・といえば格好良いけど要するに四則演算機能などを持たない、簡単なインタプリタを書くだけ。
・Classを利用して、モータ共通の基底クラスを作っておいて、モータ毎に派生クラスを作成しているので、たとえば「現在値を最大値として保存しておきたい」というときは基底クラスに最大値変数を作ってしまえば派生クラスのメンバとして利用できるというのもさり気なく便利だな。
・コマンド一つごとに処理を書いては、スクリプトに新しいコマンドを追加して実行して結果を見るという地道なループだけど、これが実にわかりやすい。動きを変えたければスクリプトをちょっと変えればいい。
・少しずつ色々な動きが増えてくると、なんとなく見ていて面白い。

8月9日 ・再びのヒアリ報道を目にする。実は”ヒアリ”のイントネーションはそのスジの専門家に言わせると「火鉢」と同じで\__らしいけど、NHKが___と言い出してしまったので、右へ倣えになったとか。
・ところで、
  非常に攻撃性が強い
  通信ケーブルなど電気設備が大好き
 らしいけど、電撃ラケットみたいなのを巣穴の上に置いたらどうなるのだろう。やられてもやられても次々に上がってきてそのうち死骸で巣穴が詰まるんだろうか。夜中に見るとパチパチと「ヒアリ花火」になるのかな。
・ついでにこれまた問題になっているカミツキガメを巣穴の上に下ろしたらどうなるのだろう。
・くだらない興味は尽きないな。
・さて、PSoC5LPのプロジェクトにC++のソースコードを追加してビルド。と、無視されてしまった。追加したC++ソースコードのプロパティをSOURCE_Cに変更するのを忘れていた。うっかり、うっかり。

8月8日 ・さて、これで基底クラスを作って派生させて・・といったらうまくいかない。
・どうやってもvtableが見つからないよとエラーになってしまう。どうやら仮想関数の扱いがうまく行かないらしい。オーバーライドはうまくできるし、実体を宣言しない限りは関数の中身は宣言しなくてもいいようなので、これでしのいでおくかな。
・色々やっていくうちに派生クラス側の共通部分を整理して基底クラスに移して・・とやっていたらだいぶ簡単になってきた。
・多少の無駄はあるけれど、どうせFlashもSRAMもかなり余っているので、「見通しのための無駄」ということだな。

8月7日 ・さて、サーボモータをPSoC5で動かす。とはいっても基本的なところはシリアル通信のテキストデータなのでそれほどややこしいというほどでもない。ただ、通信速度がやや速いので受信側はDMAとして、行末のLFコード到達もハードウェアで判定できるようにするというのがちょっとした細工。
・ついでにリミットスイッチが作動した時の緊急停止コマンドもDMAで転送させるようにする。
・さて、これが複数あるわけだ。モータの管理はやっぱりオブジェクト的に暑かったほうが楽ができるだろうなということで、C++を使ってみることにする。
・PSoC CreatorでC++はというと、少し前にコンパイルオプションで対応できるとわかったけど、実際にはもっと単純で単に拡張子が.cppになっていれば勝手にC++が使える。更にC#も使えるのだということを今頃になって知った。(File->Newでメニューにある)
・main.cをC++化というのも
1)main.cをmain.cppにリネーム
2)#includeをextern "C" { }で囲む
3)returnで整数型を返す(といっても、戻ることはないのでreturn(0);をおまじないとして入れておけばいい)
というくらいのもの。もし一回ビルドしているなら、main.oを見つけて削除しておく。これで再ビルドすればいい。

8月6日 ・デコーダを作る前に、サーボモータをもう一回おさらいしておく。すっかり忘れていたけど、ちょっと弄っているうちに思い出した。

8月5日 ・昔住んでいたあたりに用事があったので、ついでに車で一回り。何十年ぶりなのかなぁ。団地や道路は変わることなく昔のまま。懐かしくて「ここにあれがあったよな、ここにあれがあったな」と走って、ふと駄菓子屋のあった商店街を見たら、昔と同じ場所に豆腐屋があって、今も営業中。木綿豆腐を一丁買ってみた。
・プログラムの方もだいぶ方針が固まって一応一番大事なスクリプト部分はほぼ完成。あとはこのスクリプトのデコーダを作っていけばいいのだな。

8月4日 ・自動運転の話がちらりほらりとニュースになったりしている。
・人間は寝ていても良いという完全自動運転が法的にもクリアになってそこらじゅうを走り回るようになる日はしばらく先だろうけど、その前段階として良いことは、多分「人間はアクセルに関与せず、ブレーキに専念すればいい」ということだろう。
・だいたい交通事故の大半は「動かなけりゃよかったのに」という状況で起きている。つまり停止する方向が安全方向になるということが大半だ。
・自動運転の場合も同様で「止まるべきところで止まらない」のが一番の問題で、そこを人間が補ってやれば良いのだろう。
・そんなところで、いつもiPodの内蔵辞書にはお世話になっているのだけど一点不満を言えば同義語反意語の類は乏しいこと。
・英英和もちょっと魅力的だったけど、どうしても収録語数が極端に少なくなるのが寂しい。と、考えてみたらGoogle翻訳が使えるんじゃないだろうか。
・試しに機内モードにして、オフラインで変換できるのかやってみたら翻訳された。ちょっと怪しげな雰囲気がしたりもするけど、ご参考ということなら良いのではないだろうかな。
・ということで、英英辞典のシソーラス系を探してみたら出てきたのが物書堂さんの「コリンズ英語辞典 + シソーラス 2016 - Collins English Dictionary」。英英としてももちろん使える。これで辞書アプリとしては破格の840円なりときた。
・まぁ使い勝手は分からいけど、お試ししてみるとかということでインストールしてみる。中身はなるほどご立派だし、スペルミスすると勝手に「これかな?」候補を出してくれるなど、気がきいている。
・難を言えば、せっかく出てきた文で単語や段落単位ではコピーできるけど、任意の範囲選択してコピーというのが少々やりにくいのが残念だったり、ちょっと触れただけですぐジャンプしてくれるのは、「あぅ!」感もするけど、このあたりは慣れかな。

8月3日 ・というところで、ロボットである。動作を再確認して整理していく。だんだん不明瞭なところや問題になりそうなところが見えてきた。
・更に先日の検討どおりにスクリプト処理に置き換えるべく整理整頓していくと、なんとなくプログラムの外形がわかってきた感じがする。
・この感触は悪くない。多分この方向でうまく行くな。

8月2日 ・さて、別件で必要になってきた基板のし試作用部品手配。金額が少なくて送料が無料にならないな。ついでに自家プロジェクト用の部品も一緒に手配してしまおう。

8月1日 ・さて、8月である。1年の計で立てた目標はというとだいぶ遅れ気味。仕事しながらの割には自分なりに頑張っているようにも思うのだけど。
・日誌の更新をしようとしたら6月になっている。これはいけない。さて、変更はgftpで良かったんだっけな。とりあえずgftpを起動して、サーバにアクセス。最初パスワードを誤入力しているのに気づかなくて頭をひねったけど、もう一回やり直したらあっさり接続。ファイルを一旦ダウンロードして、修正してアップロード。簡単だな。

前月
エース