2022年10月21日金曜日
kodiful(kodira) on LibreElec(RaspberryPi4)
2022年10月2日日曜日
OMG V2-Sに変えた
ZestyNimbleFlexV3はイマイチだと判断
部品が高すぎる
そこでOMG V2-Sに変えてみた
このくらいならエフェクターに乗る
普通レベルにまでは調整出来た
しかし、連続稼働していると小さいモーターが熱くなってくる
まだ適切な電流がわからないが、600mAだったのを400mAにしてみた
これで、しばらく様子見する
2022年9月14日水曜日
Zesty Nimble Flex
2022年8月19日金曜日
LibreElecのDocker add-onsで、MySqlとPostgresを起動
家で動いていたLibreElecをRaspberryPi4に交換した
SSHを有効にして、PCからも接続できるようにした
うちはWindows11Previewなのだが、コマンドプロンプトから普通にSSHで接続できる
なんでみんなTeraTermとかPuttyとか使ってんの?
HDDに動画が保存してあるので接続したらきちんと今まで通り認識してテレビで再生で来た
UPNPも有効にして、別に設置してある録画用RaspberryPiで動かしているminidlnaの配信してる動画も見れるようになった
ところで、最近開発してるとDBが必要になる事が多く、まぢ困っていた
この際このRaspberryPi4にDB入れちゃったらいいんじゃないの?
ちょっと調べてみたら、LibreElecにはAdd-OnsでMariaDBがある
入れてみた
動いているようなのだけどつながらない・・・
さらに調べた、え?Add-OnsにDockerあるじゃん?
入れてみた
使ってみる
mkdir /storage/mysql
docker run -d -p 3306:3306 -v /storage/mysql:/var/lib/mysql --restart unless-stopped -e MYSQL_ROOT_PASSWORD=your_pass --name kodi-mariadb yobasystems/alpine-mariadb
docker exec -it kodi-mariadb mysql -u root -p
ここでさっき設定したパスワード入れる
GRANT ALL ON *.* TO 'kodi'@'%' IDENTIFIED BY 'kodi';
FLUSH PRIVILEGES;
おいおい、動くじゃん・・・
A5Mk2でも接続出来た
これでいいや
ちなみに、再起動してもちゃんと動いている
次からログインするときは
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS
195a88e3ef1f yobasystems/alpine-mariadb "/scripts/run.sh" 10 hours ago Up 8 hours
docker exec -it 195a88e3ef1f mysql -u root -p
んでパスワード入れてmysqlのコンソールに入れる
A5Mk2でも接続出来るから、そっちであれこれやってもいい
てか、普通はそうするだろう
おっと、抜ける時は
quit;
で抜けられる
んで、ついでにPostgresも入れてみる
まずは mkdir /storage/postgresでフォルダ作ってから以下のように起動
docker run -d -p 5432:5432 -v /storage/postgres:/var/lib/postgres --restart unless-stopped -e POSTGRES_PASSWORD=your_pass --name kodi-postgres postgres
やっぱ、Dockerのデタッチモードは楽だよなぁ
なんでみんな使わないの?
それとも使ってるの?
で、ここで気が付いた
/storage/postgresにライブラリが無い・・・
え、どこなの?
せっかくフォルダつくったのに・・・
まぁ動いているから良し
-vはちょっと複雑なんだよなぁ・・・
ここで開発するわけでもないし
、普通に接続してテーブル操作するだけならSharedにLib入れる必要もないからいいか
造形不良(積層割れ)
どうもプリント品質が良くない
明らかに押出し不足による横線が目立つようになってきた
造形もそのためにかなり脆弱
積層で割れる
さらに、ノズル詰まりガチになってきた
いくつか原因を推測してみる
- ノズルの寿命
- モーターが小さい(ハーフサイズ)ため押出不足
- コネクタの接触不良
- ファームの電流設定が小さすぎる
- ノズル交換してもだめ、全然変わらない
- モーターのサイズは小さいが今まで問題は無かった。しかし、リモートエクストルーダなので、ワイヤーを固定する部分で滑っているのかも?分解し、組み立て直したが全く変わらず。モーターの寿命なのか??
- コネクタはたまに接触不良を起こすことがあった(X軸だけ動かないとか)だが、普通は動かなくなるはずなので、今回は接触不良ではないと思われる
- 確かに小さかった。ハーフサイズのモーターなので、そんなに気を遣わなかったのだが、定格700mAだったので、対応したが、やはり全くダメ
2022年5月8日日曜日
Duet3 6HC MBのアップグレード
アップデートの仕方
2022年4月25日月曜日
PICのポートアクセスの仕組みをヘッダーから見る
かなり昔の事、PIC12F509というちっこいのを昔使ったことがあって、
最近はどうなの?と思って開発環境を入れてみた
まず、IDE
ここからインストール
https://www.microchip.com/en-us/tools-resources/develop/mplab-x-ide
次にコンパイラが入ってないのでコンパイラのインストール
https://www.microchip.com/en-us/tools-resources/develop/mplab-xc-compilers#tabs
んで、MPLAB X IDEを開き
FileからNew Project
Nextを押してPIC12F509を選択
ちなみに、データシートによると、GPIOは06h割り当てられている。
さきほどのGPIObits_tを選択すると、pic12f509.hのヘッダが開くのだが、
そこに以下のように書かれてる。
構造体でビットが定義してあって、GPIObits.GP0=1;とかやればいいんだなってのが分かる
2022年4月24日日曜日
BisonとFlexで四則演算(カッコ未実装)
よくある、BisonとFlexを使った四則演算
カッコはまだ実装してない
しかも、抽象構文木も作ってないし、ABSの実装も適当
ただ、優先度つけてるだけ
mycalc.y
んで、これをBisonにかける
bison -d mycalc.y
mycalc.tab.hが出来るので、中身を見ると以下の記述が出来ている。
%tokenから定義が作られる。
つぎに字句解析部
mycalc.l
さきほどbisonが吐き出したmycalc.tab.hをincludeして、
ADDやSUBなどを返すのが主な仕事
値はyylvalに入れて、NUMBERを返すようになっている。
こっちにはmain関数は無い
flexでlex.yy.cを作る
flex mycalc.l
んで、lex.yy.cを見てみると、すげー長いコードが出来ていて、
こんな字句解析要る?ってみんな思うし、
自分で作ったほうがよくね?と話題になったりする。
最後にまとめる
cc -o mycalc XQParser.tab.c lex.yy.c -lfl
./mycalc
1+2
= 3
3+3
= 6
1+2+3*4/2
= 9
まぁ一応動くのが出来る。
ここまで、Bison And Flexのコードなんだけど、
ABS動かないよね、なんじゃこれ状態?
2022年3月22日火曜日
Win11Preview+WSL Preview+VSCode でリモートつながらなくなった
おんや?
WSL2をAppStore版にして、VSCodeを最新版にしたらリモートつながらなくなった・・・
WSL開いて以下のようにしたら繋がった
sudo apt-get update && sudo apt-get install wget ca-certificates
ターミナル見たらライセンスがどうたら謎のメッセージが出ていてわからんかったが、まぁ、こんなもんだろ
2022年1月20日木曜日
シェルスクリプト
最近シェルスクリプトを書くことがあって、
オプションを使ってパラメータを処理しようとしたわけなのだが、
シェルスクリプトで字句解析して、そのパラメータの組み合わせが出来上がったらアクションをするようないわゆるLexとYaccの処理を書かないといけないのかと調べていたところ、
getoptsという物があるとわかった。
今までPerlスクリプトでやってきたもので、Bashスクリプトなんてあんま書いてこなかった。
Bashスクリプトで正規表現も後方参照もできるし、
空白の混じったファイル名を扱うときに、Forで回すと空白のところで分割されてしまうので、
$IFSでなんとかするという風習があることもわかった。
まぁ、大体のことはできるんだねぇ?
でも、もっと何でもかんでもできるPerlやPythonのが流行るよなぁ?
2022年1月3日月曜日
lex & yacc プログラミング
https://github.com/ChaosReadman/lex_and_yacc_programming
lex & Yacc プログラミングのコードをUbuntu20.04LTSで動くように修正したもの
https://iss.ndl.go.jp/books/R100000002-I000002412297-00
ただし、3章までだ。
4章以降やる気が出なかった。
4章以降やったからといって、何ができるようになるわけでもない。
実用例を入れて欲しかった。
昔読んだ時もしっくりこなかった。
lexとyaccが何をするものなのか、という説明から全然載ってないのだ。
たとえば、スクリプトの組み込みするとかなんだとか色々できることはあるだろうに、
こんな説明しかできない連中ばかりなのだろうか?
-
https://social.msdn.microsoft.com/Forums/vstudio/en-US/f0502813-9c4f-4b45-bab8-91f98971e407/popup-popupstaysopen-togglebutton-and-data-bindi...
-
どうも書かなくてはならないネタが出来てしまった。 マルチスレッドには欠かせないSleep(0)についてだ。 自分はSleep(0)を多用していた。 MSDNの記述 によると 「中断時間として 0ms を指定してこの関数を呼び出すと、現在のスレッドは自らに割り当てられている...