「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



Pythonで、ちょっと気になってたので、なんか調べて
みた。thread処理。

用途としては、一つは、マイコンでいうところの
周期的なタイマ割り込み処理みたいなやつ。
もう一つは、やっぱりマルチコア使って並列処理
させるとき。

深く理解するのはともかく、ざっくり気になってる
ところを調べてみた。

threadingっていうライブラリをインポートして、
ゴニョゴニョするとできるみたい。


まずは、周期的な処理の話を調べる。

どうやら、関数を1回呼び出すなりして、そのとき
に、関数自身が、何秒後に自分を呼び出すかを設定
することで、周期的に呼び出される仕組みみたい。
例えばこんな。
(例によって、不等号は全角に置き換え)

import threading
import time

q = 0
def f():
    global q
    q += 1
    print (q)
    if q < 10:
      threading.Timer(1, f).start()


f()
time.sleep(15)
print (q)


関数内からは、グローバル変数を参照することは
可能といえば可能なんだけど、そのときに参照される
物理メモリは、グローバル変数と同じ名前でコピー
された別メモリらしい。なので値は見れるけど、
更新してもグローバル変数自体の値は変わらない。
変えたい場合は、こういう風に「global」って
付けて教えてやるといいみたい。

ただ、そうすると、複数スレッドで更新掛けると、
スレッドセーフにならないので、Lockを掛ける
ってことみたい。AVRのgccでいう、sei()、cli()
みたいなもんかな。

例えばこんな感じ。

import threading
import time

counter = 0
end_flag = 0

def tick():
  global counter
  print ("counter start.")
  with threading.Lock():
    counter += 1
    time.sleep(0.1)
  print ("thread end.")
  if end_flag == 0:
    threading.Thread(target = tick).start()


def read():
  global counter, end_flag
  print ("reader start.")
  with threading.Lock():
    print ("counter = %d" % counter)
  if counter < 100:
    threading.Timer(2, read).start()
  else:
    end_flag = 1


t1 = threading.Thread(target = tick)
t1.start()
t2 = threading.Timer(2, read)
t2.start()

print ("*** start with %d" % counter)

t1.join()
t2.join()
print ("*** end with %d" % counter) # not to work


あまり考えず、調べずに、ひとまず動くコードって
感じで作ってみたので、やたらグローバル変数を
使ってて読みにくいプログラムになっちゃった。

片方の関数を0.1秒ごとに呼び出してカウントアップ
しつつ、もう1個の関数を2秒おきで呼び出して、
その関数でカウンタを参照。

参照した値が100に達してたら、フラグを立てて
自分のスレッドを再起動させず、同時に、グローバル
変数を通して、もう1個のスレッドも終了させる
という仕組みにしてみた。

とりあえずその通りに動くんだけど、両方のスレッド
が終わるのを待ってから、後続を実行したい…と
思ってるんだけど、こういうケースはjoinではだめ
みたい。とりあえずここまで。



もう1個の使い方としては、やっぱり大量のデータを
並列処理したい、みたいな場合。
そういう場合は、キューを使って、実行結果を
キューに放り込んで…みたいなことをやるみたい。

http://d.hatena.ne.jp/sxhxtxa/20121107/1352272137

キュー自体は、スレッドセーフなの?セーフじゃ
なくてもいいの?





なんとなくここんところ気になってるMSX。
あれこれ検索。

http://blog.goo.ne.jp/usada109/e/79d3a994c7d57821624bd76e301dee21

DE0-nanoで、ワンチップMSXと同じこと出来てる
みたい。

そういえば、MSXも、FPGAだけじゃなく、Raspberry Pi
に押し込んじゃうっていう手もあるんじゃないの?
なんて思って、検索してみると、

http://eagle0wl.hatenadiary.jp/entry/2016/09/20/000000

やっぱり当たり前のように存在するんだな。
RetroPieって、こういうときに使うのか。
どこのご家庭にも2~3台はあるRaspberry Piが
あっという間にレトロPCに。

なんといっても、MSXだけじゃなく、PC88とか色々
できるみたいだな。へぇ。



https://twitter.com/iruka3/status/853918862588366848

Human68kがないのなら、
    Humanx86をつくればいいじゃない。
(byマリーアントワネット)

オイラは、友達んちでゲームやってあそんだりした
ことはあるんだけど、Human68kのなんたるかはよく
わかってないんだよな。

OSっていうより、68kはハードが良かったおかげだろう
からなぁ。





http://www.nikkei.com/article/DGXLASDZ11HH7_R10C17A4TI1000/

気になる…。縮退なのか、撤退なのか…
オイラのペンタックス、Kマウントやめちゃうの
かなぁ?
コンパクトはもう見切りつけていいと思うけど、
せっかくフルサイズ出したのに、レンズ群全部
見捨てられちゃうのはとても困る…。

オイラは、Kマウントが好きだからペンタックス
使ってるのに。





https://twitter.com/metatetsu/status/852133105079078914

知らなかったねぇ…。

ソーラーパネルに電気流すと、赤外線を放射する
のか。

成原博士が、なんとなくそんなものを作っていた
ような気がする。






https://twitter.com/kerotto/status/854141492251705345

面白い試みな気がするけど、これ、プライバシーを
思いっきり侵害しそうな気がするなぁ。

こうやって、抵抗が少なさそうなところから監視社会
の第一歩を踏み出しておいて、なし崩し的に…みたいな。






http://japanese.engadget.com/2017/04/18/mastodonmst/

よくわかんないよぉ。
SNSなの?
1社寡占状態じゃないっていう分散の流れはなかなか
面白そうな気がするけど、SNS的なものは、mixiを
最初だけちょっとやって、アレ以来ずっと放置してるん
だよな。オイラにはなんか合わない気がして。

それにしても、分散サーバを個人が運営してるって
ことは、かつてのパソコン通信(死語)のBBSみたいに、
運営がやめちゃったら、そこにあった情報とか
コミュニティーとかが、ごっそり消えてなくなるの?



コメント ( 0 )




ダイソーで定規買ってきて、早速ハンドドリルで穴あけ
し始めたら、パッキーンと割れてしまった。

小さい穴空ける分には大丈夫だったんだけど、15mm
ほどの穴を空けるのに、木工用のC型ショートビット
を使うのに、下穴1.5mmではどうも足らなかったみたい。

ドリルのトリガを引いたとたん、パッキーーン。
あぁ、勿体ない。


どうするかなぁ。やっぱ、木かMDFか何かの板を用意
したほうがいいのかな。加工もしやすいかもしれんし。

ただ、厚みがちょっとなぁ…。

あぁ、CNCフライスが家にあったらなぁ。






そうそう。気になってた記事。

http://eetimes.jp/ee/articles/1703/14/news009.html

FRAMで、なんでエアバッグが高速化するんだろうなぁ?
って思って読み始めた。

書き込み回数制限がないのは知ってったけど、ウェア
レベリングも要らないし、CPUが直接書き込みするから、
書き込み遅延もないっていうことがメリットの一つ
といえるのかな。
なんにしても、FRAMは早く普及して欲しい気がする。






https://twitter.com/naoka_h/status/852117743457361920

ほら、だからあれほどmini-B端子の方がいいのにと。






https://twitter.com/bci_/status/853229142258536448

Raspberry Piは面白いよねぇ。あの小さなマシンの背景
には、無限大の世界が広がってる。





http://www.aitendo.com/product/11834

aitendoの、あのちっこいブレッドボードを挿せる
ユニバーサル基板。これはなかなか。

どうせなら、ピン配置がシールド形状になってたら
良かった気もするけどな。





https://twitter.com/businessinsider/status/852878377853698050

自分で歩く船。






https://twitter.com/Kyukimasa/status/853226436139692033

食べられる水。
保存性とか、携帯性とか、どうなんだろうなぁ?





https://twitter.com/k_tairiku/status/853816994537152512
https://twitter.com/efuwara/status/853587658563436544

なんか、単に大臣の慢心で口から出てきたってこと
ではない気がするんだけどな。誰かが後ろで、こういう
ことを言わせたい、言うことで利益になるっていう背景
があるんだろうなぁと思うんだけど。


それにしても、こういう失言なり違反行為なりがあった
時にいつも思うのは、撤回したからもうokとか、お金は
返したからもうokとかっていう話。なんで?と。

スピード違反で捕まったら、
  「そのあとRギアに入れて、マイナス30kmで
   走ったんだから!!だからもう許される
   はずでしょ?」
みたいな。





https://twitter.com/bozu_108/status/853448440893784065

「お客様は神様」客に対する一言。
オイラ的には2番目が好きだなぁ。1番目もいいけど。






https://twitter.com/gomafu_ks/status/853375966491533312

これは、友達でもなんでもないと思うよな。こういうの
は、とっとと縁を切ったほうが絶対お得。






https://headlines.yahoo.co.jp/videonews/nnn?a=20170417-00000026-nnn-int

トルコの国民投票。大統領制移行が過半数っていうけど、
無効票を賛成に加算しちゃだめだろ。

こんな風にして、独裁政権が出来上がっていくのか。

シリアはクーデターからの政権だったとしても、
トルコも、独裁が強くなれば、それを守るために
より強弁になっていくだろうからな。





https://headlines.yahoo.co.jp/hl?a=20170415-00000006-zuuonline-bus_all

イオンがたくさんの品物を値下げ。
やっぱり、デフレが続いてるんじゃん。
さすが、アベノミクス。






https://headlines.yahoo.co.jp/hl?a=20170417-00010003-giz-prod

みちびき対応GPSがいつでもどこでも使えるように
なったら、やりたいことがあるんだよな。

これは結構便利だと思うんだけどな。



コメント ( 0 )




https://twitter.com/arakencloud/status/853547628151226368

明日は大荒れになるのかな。大気の状態が非常に
不安定にと。
東の高気圧が1028ヘクトパスカル、接近中の低気圧
が980ヘクトパスカルの予報。その差、約50ヘクト
パスカル。
4月なのに、メイストームか。





こないだの、Aliexで頼んでたグリッパがもう
届いた。



思ったより小型でよかった。サーボはSG-90だと
思ってたんだけど、どうかなぁ?シールは貼られて
いないんだけど、似てる。多分SG-90だろうなぁ。


早速組み立てる。
貧乏性なので、アクリルの保護シート貼ったまま
組み立てちゃう。



ネジは、大部分が予備入ってて、なんとなく
安心。
あと、説明書がすごい丁寧で解りやすい。良い。


サーボを固定する位置と、サーボの軸が、ミリ
単位でずれてるみたいで、



上側はこんな風に少し隙間がある。まぁ、下が



このくらいぴったり。なので、回転には特に
問題なかった。


SG-90のトルクでも、結構ギュインギュイン回転
するもんだなぁ。速い。
グリッパが手に入ったので、アームをどうするか
だな。強度も必要だしな。


それにしても、Aliexが、というか、輸送の時間が
すごい速くなったのかなぁ。1週間ほどで届く
んだよな。





こないだの、圧着端子をどうするかの話が少し
気になってたので、工具についてちょろっと
検索してみる。

http://blog.digit-parts.com/archives/51796900.html

デジットのブログに、とても解りやすい記事が
あった。

どうやら、電子工作用でよく使うようなかしめの
作業には、エンジニアのPA-20がお勧めらしい。
値段もこれなら安くてよさげだしなぁ。

なんといっても、1個2個ならともかく、何箇所も
かしめないといけない場合、ラジペンとハンダだと、
もううんざりしちゃう作業なんだよな。やっぱ、
1個欲しいよなぁ。





https://twitter.com/maho_tohno/status/853481831450066945

うーーーーーん。なんだこれは!!
シュールすぎる。






https://twitter.com/take_ni_suzume/status/853061398938624000

これは解けた。
最初の白と黒は、多分ミスリードを引き出すため
のものだろうと踏みつつ、2個目の塚と崎で、
縦長の楕円っぽい形が思い浮かんで、塚は上、
崎は下だろうな、と思い浮かんじゃう。

あとはもう、手当たり次第に当てはめていけば、
答えはおのずと。





https://twitter.com/guilty1996/status/853069643304415234

あぁ。これは30の鉄仮面じゃないか!!
オイラは、30と32は好きなんだよな。

当て逃げ自体、許しがたいものがあるけど、
こういう歴史の遺物をぶっ壊して知らん顔は
なおさら許せんなぁ…

このときのバンパーって、ウレタンだったかなぁ?
鉄板なら、板金でも直せそうな気がするんだけど。

なんにしても、犯人捕まるといいねぇ。
当てたほうも傷は残ってるだろうし、あとは修理
工場側に警察がどう手を回すか、だろうなぁ。






https://media.readthedocs.org/pdf/python-evdev/latest/python-evdev.pdf

evdevのすごいドキュメント見つけてしまった。

これはすごいリファレンスになるなぁ。





それにしても、色々プログラム書いて実験してて、
なんか、結局迷宮に迷い込んでしまったなぁ。

原因がプログラムにあるのか、それともOSや
ドライバ周りにあるのか、結構がんばってみた
ものの、原因の切り分けがイマイチやりきれない…。






https://headlines.yahoo.co.jp/hl?a=20170416-00000089-jij-kr

アメリカは、なんだかんだで、水面下で北と取引
しまくってるんだろうなぁ。
申し合わせと、ブラフと…みたいな駆け引きで
お互い有利な条件を引っ張り出そうと思っている
んだろうなぁ。


でも、本当に戦争始まっちゃったら、隣の日本は
それなりにたまらん状況に陥るはずなんだよな。

「亡国のイージス」で、ホ=ヨンファ(中の人は
中井貴一)が言っていた。

 「よく見ろ、日本人、これが戦争だ」

って。ホ=ヨンファが乗っ取ったイージス艦で海自の
護衛艦を一発で沈めて、そこでこの一言。

あれは強烈だったな。



実際のところ、日本にも、アメリカにも、韓国にも、
多分それなりの工作員は入ってきているんだろうなぁ。
いざ、緊急事態になったら、核ミサイルが飛んでくる
かどうかだけじゃなくて、国内で何が起きるのかも
気にしておく必要はあるんだろうな、という気がする。






https://headlines.yahoo.co.jp/hl?a=20170416-00000088-jij-pol

山本幸三地方創生担当相。






https://page.auctions.yahoo.co.jp/jp/auction/b253752612

すごいなぁ。パピコン、ほぼ定価に近い金額に。

https://page.auctions.yahoo.co.jp/jp/auction/b190466374

またタイムギャルが出てる。なんで忍者ハヤテはない
んだろうなぁ。



コメント ( 0 )




https://twitter.com/nihonfalcom/status/852781197021163526

お宝が!!!

ファルコム御自ら、サポート交換用に残してたFD、
処分するとつぶやいたとたんに、八方から
  「ぶぉーーー!」
  「もったいなさ過ぎー!」
的な阿鼻叫喚のつぶやき。

こういうものすごいものは、やっぱ博物館的な
とこに納めておかないと勿体ないよな。歴史的
遺物なんだから。




またしても、古PCを物色。

https://page.auctions.yahoo.co.jp/jp/auction/b253752612

なんと、新品のP6登場。あと、

http://page.auctions.yahoo.co.jp/jp/auction/n208172502

これはヤバイ。オイラのかつての愛機、PC-286C
じゃないか。この一体型もやっぱり愛着を感じる
んだけど、P8、P8mkII、P6、JR-100と、キーボード
一体型PCには、とにかく目がないんだよな。

リンドバーグのCMを探してみたんだけど、ちょこっと
見つからなかった…。





http://www.nicovideo.jp/watch/sm30865796

自走式プリンタ。面白い。






https://www.youtube.com/watch?v=gQPV7lK9mHY

チムニーって、人工的に作れるものなのか…
しらんかった。





http://qa.itmedia.co.jp/qa2442118.html

圧着端子っていうと、うちにはかしめる工具がない
から、ラジペンでうりゃうりゃとそれなりに締めた
あと、少しハンダ流して抜けないようにしてた
んだよな。

抜き差ししているうちに、半田が剥がれたり
割れたりするんだろうなと思って、あらためて
JSTの工具を眺めてみる…。

5桁からだな。やっぱオイラには縁遠そうだ。






https://twitter.com/YamayaT/status/852846154387668993

天才現る!






https://twitter.com/tomei_shio/status/851361101556072448

これはヤバイ。ユニクロにゴーだ!!
2台買っておきたい。
予備も買っておきたい。



コメント ( 0 )




まえにも、Pythonでbottle使ったときに填まったはず
なのに、また填まった。同じことで填まった。


bottleでサーバ立ち上げて、Linux MintのOS内では
ちゃんと動くのに、サーバと端末を別々のマシンに
分けるとアクセスできないっていう事態に陥る。

pingはお互い通るから、なにか変なところで詰まって
いるんだろうとは思うものの、訳がわからない。

もしかして、こないだ換えたWi-Fiルーターのせい?

それとも、OS上で閉じちゃってるポートでもある?

なんか変なフィルタリングでもかけちゃってる?


などなど、色んなところを確認しなおしてみるも、
全然問題が無さそう。

おかしいなぁ。サーバ機上からcurlコマンドとかで
アクセスしてもちゃんとレスポンス返ってくるのに。

ほら。こうやって、curlでipアドレスとポート指定
して、クエリを書いて…
…あれ?同じエラー出る。なんでだ?localhostだと
エラーにならないのに、ipアドレス指定すると
エラーになるの?

と、ここでようやく思い出す。ローカルだけ受け入れ
するようにプログラム書いてるからじゃね?と。

プログラムは全く疑ってなかったよ…


http://local0125.hatenablog.com/entry/2015/05/04/000607

これか。アドレスを0.0.0.0に変えたら、なんの
問題もなく動く。なんだよ…散々時間とられたよ…



で、これだけで済まない。これ以外にも、次から
次へと地雷を踏みまくる。

地雷に当たって、それを回避するために脚を挙げると、
ひざが別の地雷を蹴り上げるという具合。あちこち
ドカンドカン。


あぁ、なんとか動くようになったけど、あっちも
こっちも、それぞれちょっとなぁ…っていう点が
残ってる。
これを何とかするには、タイマ起動で入力バッファ
監視(バッファから取り出し)しつつ、出力処理が
糞詰まりにならないように別スレッドで参照、
みたいな、別処理に分けないとだめかなぁ…。

面倒すぎるな。いいや。


それにしても、あれこれ填まったせいで、妙なところ
の基礎体力が付いてしまった。あまり応用範囲はない
気がする。面白い部分ではあるけど。





https://twitter.com/usa_hakase/status/852815816219279365

そうなんよねぇ…
なんで、わざわざ桜の木にちょうちんぶら下げる
のかなぁ?





http://www.gizmodo.jp/amp/2014/01/30llnl.html

東京が、ごく小さい核兵器で攻撃を受けたら…
的な話なのか。

それにしても、最初の24時間過ぎたら、かなりの核物質
が崩壊し終わってて、放射能はかなり下がってるって
いうこと。へぇ。そうなのか。

それにしても、じゃぁ、トキはなんで外に居たんだっけ?





https://twitter.com/echzn/status/852719835238735872

そういえば、松戸の殺人事件、犯人捕まったのか。

なんか、いろいろうわさあったけど、まぁ、捕まって
なによりだなぁ。だいぶ初期から目星は立ってたん
だろうな。






https://twitter.com/hirakawah/status/852731257314189312
http://buzzap.jp/news/20170413-kaigohoken-steamrolling/
https://headlines.yahoo.co.jp/hl?a=20170414-00000101-mai-pol

夫婦そろって泥棒かぁ、とか思ったけど、良く
考えたら、そんなの泥棒さんに失礼な次元だな。





明日は、午後からゴロゴロ来るのかな?



コメント ( 0 )



« 前ページ 次ページ »