ここのところいじくっているHSP3。
気になっていた部分のテストプログラムを書いてみて、
思ったように動いたので、とりあえずここに残しておこう
かなと。
何をやったかというと、シリアルポートを順に舐めて
いって、使用可能な全砲門を開いて応戦するために、
使用可能なポートをリストアップして、ドロップダウン
リスト(コンボボックス)に要素として登録して、
マウス操作で「接続・点火」するポートを選べるように
すること。
確か以前、PythonかRubyで似たような処理をさせるとき
に、「とりあえずポートを開いてみる」っていう処理を、
ポート番号を順々に舐めていく処理として書いた時、
個々のポートが開けない場合は例外が発生するので、
その例外を拾ってやって処理する必要があったと思った
記憶がある。なので、HSP3でも同じように例外が発生
するんだろうと。
で、その例外を発生させて、catchするような処理が
見当たらなかったので、色々探してたんだけど、
どうやら、HSP3でポートを開いてみるって処理(comopen
命令)では、例外は発生させてないみたいだな。
その代わりに、処理結果が「stat」っていう変数に格納
されるので、それをif文で判定してやればいいみたい。
というわけで、そのプログラムを貼っておく。
#include "hspext.as"
onexit *exit
// collect enable ports
mes "** sweeping ports **"
elment = 0
repeat 20
port = cnt + 1
comopen port, "baud=9600 parity=N data=8 stop=1"
if stat {
//mes "port" + (cnt + 1) + " is not opened."
} else {
mes "port" + port + " is opened."
comclose
ports(element) = port
element = element + 1
}
loop
mes "sweeped."
mes
// dump enable ports
mes "total : " + element + " port(s) enable."
notesel np
repeat element
mes " No." + ports(cnt)
noteadd str(ports(cnt))
loop
mes str(length(ports)) + " ports."
// main logic
combox sel_port, 100, np
button gosub "open a port", *open_port
stop
*open_port
comclose
comopen ports(sel_port), "baud=9600 parity=N data=8 stop=1"
if stat {
mes "can not open port" + ports(sel_port) + "."
} else {
mes "port" + ports(sel_port) + " is opened."
}
return
*exit
comclose
mes "exiting... port is closed"
wait 100
end
実行すると、こんな画面が出てくる。
オイラのメインPCで実行してみると、ポート1とポート3が
拾えた。(1番から20番まで舐めた結果)
1番は、本体についてるシリアルポートそのものなんだ
けど、3番はよくわからないintel製の仮想(?)シリアル
ポートが組み込まれてたみたい。よくわからん。
https://blog.goo.ne.jp/hiros-pc/e/2bc40a4ff88979d42d7c74be56cd1ab9
このポートについて、同じような疑問を感じてる人がいた↑。
なんだろうね?これ。
まぁ、とりあえずいいや。で、com1とcom3が生きている
状態と認識されたので、コンボボックスには「1」「3」の
2個が登録されている状態になってる。
1を選んだ状態で、「open a port」ボタンを押すと、com1
を開きに行く。開いた後で「3」を選びなおして「open a port」
ボタンを押すと、com1は閉じてcom3を開きなおす。
(HSP3は、一度に1個のポートしか開けない仕様)
USBシリアル変換ケーブルなんかは、まだ試してないん
だけど、ここまで動くということは、あとはOS下の
仕様の問題になるので、まぁ問題なく動くだろう…。
ちなみに、このプログラム自体は複数起動できるので、
1個起動してcom1を占有させた状態で、もう1個開いて
みると、com3しか見れなくなっているし、さらにその
状態で最初に起動しておいた方をcom3に繋ぎ変えてから、
後から起動した方をcom3に繋ごうとすると、
「can not open port3.」
なんて出てきて、接続できないことが判る。
しめしめ。こういうことが出来ればバッチリだった
のだ。
まだポートを開くところまでしか実装してないけど、
あとは普通に通信するだけなので、いつも通りだろう。
あと、そういえばHSP3でマイコンと接続といえば、
昨日も触れたけど、firmata関係について調べておこう
と思ってたんだよな。
https://www.onionsoft.net/wp/archives/tag/firmata
おにたまさんが、firmata用のHSP3モジュールを
公開されていた。ありがたい。
これも、ポート番号決め打ちみたいなんだよな。
そういう時に、ポート番号を舐めておいて、どれを
使うかをユーザに聞くっていうのは必要な気がする
んだけど、そういうものって、これまでホントに
なかったのか、それとも、単にオイラが車輪の再発明
をしてただけなのか。(後者な気がする)
firmataは、使うときにあらためてダウンロードして
インストールしてみようと思うんだけど、オイラの
書いた上記のスクリプトでは、hspext.asを読んで
いて、もしこのモジュールでも同じライブラリ読んで
いたりすると、バッティングしてエラーになったり
するのかなぁ?その辺がよくわからないんだよな。
まぁ、そういうわけで、シリアルポートを選択する
機能はできたんだけど、まともにテストしているわけ
ではないので、バグがいっぱいあっても知りませんよ。
(使いたい人は、適宜バグを取り除きながら使って
ください)
最近、出先で使っている次亜塩素酸水のスプレー。
以前ダイソーかどこかで買ってきた透明のスプレー
ボトルに入れてあるんだけど、その点がちょっと気に
なってた。
次亜塩素酸水、紫外線で分解してしまうので、遮光
ボトルが必要みたいなんだよな。まぁ、ずっとポッケ
に入れてあるので光は当たらないんだけど、気になる。
というわけで、Aliexを物色。
https://ja.aliexpress.com/item/32990770703.html
おぉ。アルミボトルのスプレーが結構安い。これで
よさそうな気がするな。
けど…アルミって、次亜塩素酸入れても大丈夫なのかな?
次亜塩素酸ナトリウム(いわゆる漂白剤)だと、
強アルカリだから溶けちゃうらしいけど、次亜塩素酸水
は弱酸性だから、大丈夫かな?と思って色々検索して
みたところ、「おやめください」的な話がヒットする
ので、やめておいた方がよさそう。
昔、漂白剤か何かをアルミボトルに入れて電車に乗って、
ボトルが爆発したっていう事故あったよな…
https://www.chem-station.com/chemistenews/2012/10/post-724.html
これか。
あと、オイラはアルコールスプレー持ち歩いてないけど、
除菌用にアルコールスプレーを持ち歩きたい人には、
アルコールが、スプレーの内部機構を溶かして壊すって
話もあったな。
以前、腐敗防止にアルコールを混ぜたスプレーを作ろうと
思って、ダイソーかどこかで買ってきたスプレーボトルに
アルコールを混ぜて入れてみたら、数日で壊れちゃったん
だよな。ずいぶん前の話なので、細かいことは忘れちゃった
けど。
アルコールは、そういうわけで、スプレーじゃなくて、
ぽたぽた滴下する普通のボトルがいいみたい。
というわけで、茶色の遮光されたボトルを探してみる。
https://ja.aliexpress.com/item/32829618102.html
プラスチックだとこのへんかなぁ…。
ガラスのは、持ち歩きにちょっと心配だしな。
https://www.youtube.com/watch?v=3Gh3OxG-Q0c
いつものフライトシムの人。今回は「発電機故障」
シチュで、ラムエアタービン登場。
https://www.youtube.com/watch?v=cYtMEaJgI2c
おぉ。面白い。実機でラムたん出した状態で着陸って、
めったにないだろうしな。ジェットスター。
そういえばあたりまえなんだけど、着陸するとラムたん
は発電できなくなっちゃうんだな。なるほどな。
https://www.youtube.com/watch?v=uojVLxSP_6Q
ピーチもあった。こっちの動画は、やっぱり着陸後
に自走せず、トーイングされてた。計器類だけじゃなく、
ブレーキなんかもバッテリー切れたらそこで全アウト
ってことになっちゃうから、バッテリー生きてるうちに
安全に停止させてるってことなのかな。
https://www.iza.ne.jp/kiji/politics/news/200425/plt20042516460005-n1.html
>国会のオンライン審議 「出席」求める憲法が壁
このために「改憲」とかは無しだと思うんだよな。
56条が求めている「出席」の概念を、時代に合わせて
解釈を変えればいい。
解釈替えるの、好きでしょ?だれかさんたち。
基本的に、議論と決議ができればいいんじゃないか
っていう気がするんだけどな。
https://www.youtube.com/watch?v=F6ggO1iflhg
>河野大臣「防衛省が率先して“脱ハンコ”やる」
>(20/04/24)
やっぱ、この人がIT担当大臣やればいいのに。
あと、この人に「オンライン審議」の検討してもらえば
いいんじゃないかなぁ。
https://kuruma-news.jp/post/248602
クルマのライトオフが廃止。
これ、今の中途半端な技術では、全廃止は困るんだよな。
ライトが自動で付くだけならまだいいんだけど、絶対的
に困るのは、ハイビームを自動で切り替える機能。
あれだけは今の技術力程度では絶対に自動化してほしく
ないんだよな。
歩行者とか、自転車が対向してても、自動でロービーム
になってくれなかったりするでしょう?すごくまぶしくて、
蒸発現象起こして危ない。
暗くなったらライトを強制オンするのはまぁ100歩譲る
としても、ハイビームを強制するのはホント勘弁して
ほしいんだよな。
https://toyokeizai.net/articles/-/346439
>「コロナワクチン」日本が圧倒的に出遅れる事情
https://www.youtube.com/watch?v=NtGKNt_DK10
>シムデシビル「失敗」報道
あぁ、COVID-19対策の一つが消えてしまったようだな。
https://this.kiji.is/626596439514776673
むしろ、「パチンコ屋営業中」っていう、無料の広告を
勝手に打ってくれたというパターンなのでは?
https://twitter.com/sasaki_eisuke/status/1253878093262942209
>来夏の五輪「ワクチン開発なければ難しい」 日医会長
1年でワクチンが開発できて、量産体制まで整うのかと
いえば、難しいんじゃないのかな?
https://www.daily.co.jp/gossip/2020/04/25/0013297576.shtml
アベノマスク、4社のうち1社の社名を明らかにしない
のはなぜか?まぁ、当然ながら真っ黒な裏取引がある
からだろうな。
昨日触れた、マスク2枚で466億かかったっていう内訳。
郵送に128億、3社に発注したのが90.9億。のこりの
247.1億円がその1社に流れてるんじゃね?っていう
ことが想像できるなぁ。
https://twitter.com/morimori_naha/status/1253460253082968064
そもそも、二者択一を迫るっていうのは、訴え方として
「解りやすい」ものとして映るんだろうなという気がする。
小泉劇場と呼ばれたアレも、「是か非か」「白か黒か」
「前か後か」みたいなキャッチーな二者択一に問題を
すり替えることが多くあったよな。
(本当は、別のところに最適解があっても)
ものすごいペテンだなと思ってた。
昔、職場に、どこからかオイラの名前と連絡先が漏れた
みたいで、キャッチセールスの電話がかかってきたこと
があったんだけど、こっちの言葉を遮るように矢継ぎ早に
長々と説明をしてきた(典型的な詐欺師電話だった)ので、
意地悪く斜に構えて話を耳にいれながら、どうやってあとで
バカにしてやろう?と意地悪く聞いてたんだけど、ようやく、
「AとBで、どっちを選びます?」
っていう、典型的な二元論で選択肢を迫ってくるという
ペテンを仕掛けてきた。オイラ的には「待ってました」と
ばかりに、
「AかBかという2個の選択肢しか存在しないわけでは
ないですよねぇ?それ以外の選択肢も存在して
いますよね?ちなみに、私はどちらも選ばずに、
カクカクしかじかの選択肢を選び、あなたのお勧め
を全部却下しようと思うんですけど、いかがですか?」
と、(表面的にはあからさまではなく)少しだけ小ばかに
して返したら、すべてを察したのか、一気にトーンダウン
して、
「あぁ、あぁ…」
みたいな感じになって、あっちから電話を切ってった。
(やーーい、ざまぁ)
まぁ、詐欺師は”二元論”を吹っ掛けるの、好きだよな。
人をコントロールしやすい(ペテンにかけやすい)から、
使い勝手がいいんだろうな。
https://twitter.com/usa_hakase/status/1254058883582013442
>「大人数で視察 セクハラも」自民議員らに抗議文
> 少女支援団体
なんだろうな。その手のお店がコロナで営業自粛に
なったから、代わりにこういう団体を訪問しちゃった
のかな。あまりにもひどいお話だな。
訪問した議員の名前って、明示されてるの?
https://twitter.com/zxd01342/status/1254006433961488387
>コロナ危機は「バカあぶりだし」になっている。
https://twitter.com/mika_berry/status/1253971384260128769
どう見ても「3密」。
むしろ、「50密」だな。
しかもマスクしてないな。
https://gamingchahan.com/mitsudesu/
これは一つ、「密です」ゲームに登場させようぜ!!
https://www.asahi.com/articles/ASN4T0P8MN4SUTFL004.html
>10万円給付関連装う連絡に注意「現時点では全て詐欺」
ってことは、
https://newstopics.jp/url/11005737
>麻生財務相10万円給付「手を挙げた方」
これも詐欺だな。
だいたい、昨今のコロナ禍を見て、マスクで鼻を
隠してない時点で「ウソ」だよな。
https://twitter.com/felis_silv/status/1253600731497558016
https://twitter.com/felis_silv/status/1253719029136502784
すっごいなぁ。天の川(いて座方面)がバッチリきれい。
こんな写真撮れるところに、お出かけしたい…。
問題は、道中のトイレと食事なんだよな。
トイレに寄れば、水道の蛇口で自分がうつされたり、
(もしかしたら自分が人にうつすかもしれないし、)
食事も同様だしなぁ。
お出かけしたいけど、その辺が問題だよな。