28-May-2014
[波形見てみた]

せっかくオシロを入手したので、まずはClock Shieldが正しく動く組み合わせでの波形を見てみることに。

Arduino Leonardo + Clock Shield(100kΩ/1000pF)Arduino UNO + Clock Shield(100kΩ/1000pF)
sds00003.pngsds00004.png
Arduino Leonardo + Clock Shield(10kΩ/100pF)Arduino UNO + Clock Shield(10kΩ/100pF)
sds00005.pngsds00006.png

黄色い方(CH1)がDIO信号、青い方(CH2)がCLK信号になっています。信号線のH/Lを繰り返すだけのスケッチはこんな感じ。100kΩ/1000pF, 10kΩ/100pFどちらの組み合わせも、特に問題は無いように見えます(10kΩ/100pFの組み合わせにおいては、DIO信号の立ち上がり/立ち下がり時に若干ヒゲが出ているようですが)。

そのうち部品が誤って取り付けられた状態…10kΩ/1000pFの組み合わせで波形がどうなるかを見てみる予定です。

なお、USB-UARTブリッジにCH340Tを搭載したArduino UNO互換基板ですが、

timgp3422.jpg

ICSPコネクタの位置がわずかにずれており、Clock Shield側のコネクタが挿さらないため、Clock Shieldが利用できません。動作比較用に買ったというのに、CH340Tの問題にハマりClock Shieldの取り付けもできず…散々ですね。59.75kg(17:05)

21-May-2014
[オシロ買った]

色々悩んだのですが、SiglentのSDS1102CNLというデジタルオシロを買いました。eBayで\33,136。物自体は\32kくらいだったのですが、PayPalの手数料を見落としていました…財布はとっても軽いですorz

品物の到着から動作まではこんな感じ。ちょっと箱がヘコんではいましたが梱包は厳重に行われており、買ってくれてありがとうという手紙(もちろん英文です)と日本用のAC変換プラグがオマケで入っていました…という訳で、箱には一旦開封した跡があります。

tp5212869.jpg tp5212870.jpg tp5212871.jpg tp5212872.jpg tp5212873.jpg tp5212874.jpg tp5212877.jpg tp5212879.jpg

オシロ本体の大きさは小型のラジカセくらいですかね。ブラウン管を使用するアナログオシロよりは圧倒的に軽く、また地磁気による影響も受けない(この調整はかなり面倒だったはず)という点は非常にありがたいです。

書き込まれているファームウェアも、現時点で最新の物のようです。最初にやったことといえばプローブの調整と、プローブの色を変えたことくらい。

sds0002.png

とりあえず1kHz出力にCH1/2のプローブを当てて、AUTOボタン押した後にUSBメモリを挿してPRINTボタンを押すだけでもこんなのが記録されるので便利。操作はもっさりしていると言えば確かにもっさりかなあという気はしますが、趣味で使うなら自分は耐えられるレベル。仕事で使うにはちょっとイラっとするだろうなあ。

さて、これで(滅多にやらない)電子工作がより楽しめそうですが…そんな暇がこれからどんどん減りそうというのが困ったところ。せめて以前買ったArduinoのClock Shieldが動かない理由くらいは調べておきたいなあ。60.45kg(16:50)

19-May-2014
[都留線:鉄塔札。]

18-May-2014早朝の時点で、鉄塔札が付いていることを確認しました。一部の鉄塔ではまだ囲いがあり、プラスチック製の物はまだ画質が低下する程度で済むものの、金属製の物は隙間から撮るしかなくかなり厳しい写りになっています。

timgp2894.jpg timgp2903.jpg timgp2892.jpg timgp2891.jpg timgp2890.jpg timgp2888.jpg

囲いがなくなった時点で、リテイクをした方が良いのかもしれません。

251号(旧249号)の標識も確認しました。

tp5142859.jpg tp5142860.jpg

これは14-May-2014に撮影したものですが、この時点ではまだ鉄塔札の取り付けは行われていませんでした。取り付け位置の辺りを等倍切り出ししたものを置いておきます。59.45kg(05:10)

18-May-2014
[おぼえがき。]

許可が出たのでuchcom(4)の修正をcommitしましたが、原因をどーやってつきとめたんだろーというのが自分でもあんまりよく分かっていないので試したことを少しまとめておこうかと。


May 18 03:33:18 framboise /bsd: uchcom0 at uhub6
May 18 03:33:18 framboise /bsd:  port 4 "QinHeng Electronics CH340 serial/parallel" rev 1.10/2.54 addr 5
May 18 03:33:18 framboise last message repeated 2 times
May 18 03:33:18 framboise /bsd: uchcom attach: sc=0xffff800000641f00
May 18 03:33:18 framboise /bsd: uchcom0: CH341
May 18 03:33:18 framboise /bsd: uchcom0: bulkin=130, bulkout=2, intr=129, isize=8
May 18 03:33:18 framboise /bsd: ucom2 at uchcom0
May 18 03:33:20 framboise /bsd: uchcom0: intr: 0x46 0xBD 0xFF 0xEE 0xEF 0xBE 0xAD 0xDE
May 18 03:33:20 framboise /bsd: uchcom0: clear
May 18 03:33:20 framboise /bsd: uchcom0: intr: 0x02 0xBF 0xFF 0xEE 0xEF 0xBE 0xAD 0xDE
May 18 03:33:20 framboise /bsd: uchcom: write reg 0x12<-0x02, 0x13<-0xB2
May 18 03:33:20 framboise /bsd: uchcom0: intr: 0x44 0x3D 0xFF 0xEE 0xEF 0xBE 0xAD 0xDE
May 18 03:33:20 framboise /bsd: uchcom: write reg 0x14<-0x12, 0x0F<-0x00
May 18 03:33:20 framboise /bsd: uchcom: read reg 0x18->0xC3, 0x25->0x00
May 18 03:33:20 framboise /bsd: uchcom: write reg 0x18<-0x40, 0x25<-0x00
May 18 03:33:20 framboise /bsd: uchcom: read reg 0x06->0xFF, 0x07->0xEE
May 18 03:33:20 framboise /bsd: uchcom: read reg 0x18->0x40, 0x25->0x00
May 18 03:33:20 framboise /bsd: uchcom: read reg 0x12->0x02, 0x13->0xB2
May 18 03:33:20 framboise /bsd: uchcom: read reg 0x14->0xD7, 0x0F->0x2E
May 18 03:33:20 framboise /bsd: uchcom0: reset v=0x401F, i=0xB2D2
May 18 03:33:20 framboise /bsd: uchcom: write reg 0x12<-0x02, 0x13<-0xB2
May 18 03:33:20 framboise /bsd: uchcom: write reg 0x14<-0x12, 0x0F<-0x00
May 18 03:33:20 framboise /bsd: uchcom: read reg 0x18->0xC3, 0x25->0x00
May 18 03:33:20 framboise /bsd: uchcom: write reg 0x18<-0x40, 0x25<-0x00
May 18 03:33:20 framboise /bsd: uchcom: write reg 0x12<-0x02, 0x13<-0xB2
May 18 03:33:20 framboise /bsd: uchcom: write reg 0x14<-0x12, 0x0F<-0x00
May 18 03:33:20 framboise /bsd: uchcom: read reg 0x18->0x40, 0x25->0x00
May 18 03:33:20 framboise /bsd: uchcom: write reg 0x18<-0x40, 0x25<-0x00
May 18 03:33:20 framboise /bsd: uchcom: write reg 0x12<-0x02, 0x13<-0xB2
May 18 03:33:20 framboise /bsd: uchcom: write reg 0x14<-0x12, 0x0F<-0x00

…この程度の問題に一ヶ月近くはちょっと時間使いすぎな気がする。というか、このペースで作業しているともっと大規模な案件を扱った時には終わらないような気が。体調崩したり連休で子供の相手したりで時間が取れなかったと言い訳してみるのもアレだしなあ。59.10kg(04:10)

16-May-2014
[CH340動いた]

CH340T付きのArduinoボードがOpenBSDからの書き込みを行えず、ドライバであるuchcom(4)の動作を調べている…なんてことをここしばらくやっていたのですが、どうにかcommitできそうな感じです。

今見てもらっている修正差分がコレなのですが(OpenBSD-current用に作ってあるものの、OpenBSD-5.5でも使えます)、この差分ではUCHCOM_REQ_WRITE_REG(bmRequestType=0x40, bResuest=0x9a)ないしUCHCOM_REQ_READ_REG(bmRequestType=0xc0, bRequest=0x95)による、UCHCOM_REG_LCR1(0x18)およびUCHCOM_REG_LCR2(0x25)レジスタへのアクセスを全て殺しています。

Linuxカーネルに入っているCH340用ドライバではUCHCOM_REG_LCR1, UCHCOM_REG_LCR2を読み出すと0x56, 0x00が返ってくるとコメントに書かれています。また、修正前のOpenBSDのuchcom_set_line_control()においては、UCHCOM_REG_LCR1を読み出した値をUCHCOM_LCR_MASK(0xaf)を反転した値(0x50)でANDして書き込んでいます。おそらく、修正前のコードではUCHCOM_REG_LCR1=0x56を返すチップなら正しく動くものと推測されます。

一方、手元のCH340TではUCHCOM_REG_LCR1, UCHCOM_REG_LCR2を読み出すと0xc3, 0x00が返ってきています。また、UCHCOM_REG_LCR1は0xc3以外の値を書き込んでしまうと全く動作しなくなってしまいます。

チップのリビジョンの違いによってこのレジスタの機能が変わってしまっている可能性をなんとなく考えているのですが、それを示す資料は一切ありません。とりあえず、過去のコードで動いていたデバイスが存在すると思われる以上はドラスティックな変更も難しい…ということで、これらのレジスタの読み書きはしないという対応をしてみました。この修正で、手元のArduinoボードへの書き込みができています。

対価としてパリティビットの設定機能を犠牲にしていますが、Linux用ドライバではそもそも8bit/no parity専用なので大きな問題にはならないと思います。

さて、許可が出て差分をcommitできれば、この問題も一件落着なんですが…どうなることやら。58.90kg(06:00)

12-May-2014
[色々。]

OpenBSD-5.5、VPS側はリリースしてすぐにアップグレードを行いましたが(各種errata対策も行っています)メインマシン側の対応はかなり悩みました。なにしろ2038年問題への対応に伴いバイナリ互換性が失われてしまったため、色々と野良ビルドしたツール類のビルドをやり直すという羽目になりますので…そんなことをするならSSDでも買ってクリーンインストールした方が良いかなと。

結局そんな金は無いので、とりあえずアップグレードをするだけして、野良ビルドしたツール類は必要になった時点でビルドをやり直せばいいかなと考えています。よく使うものについてはport化しても良さそうな気がしますし。

という訳で、uchcom(4)のデバッグは全然進んでいません。問題の尻尾もどうにかやっと見えたかなーという状況で、相変わらず頭を抱えています。これのおかげで他の問題に手が付けられない状態になっているので、さっさと片付けたいのですけどねえ。

今週の都留線見物記はお休みです。二日前にちょろっと見てはいるのですが、鉄塔札の取り付けはまだ行われていなかったというのがその理由。

P1.EXEという、PC-9801向けのワープロソフトをオークションで落としたので、早速書体ディスクの吸い出しと文字一覧の作成を行ってみましたが…あんまり面白い結果にはなっていません。

jis.png db.png

必要最低限のフォントただし罫線無し、明朝体(jis24hi.pat, jis24k1.pat, jis24k2.pat)はJIS標準書体そのもの(jiskan24)という時点でFONTX2化をする気が失せます。数字を見た時点で「あーもういいや」と投げ出したくなるくらい。余談ですが、英語環境用日本語ワープロ JWPもjiskan系の書体のようですね。

ゴシック体(db24hi.pat, db24k1.pat, db24k2.pat)については珍しいなと思いますが、JDLの会計専用機に入っていたゴシック体とは違う書体のようです。db24hi.patの丸付き数字〜数学記号類は明朝体と全く同じという点が残念です。

Zeitのワープロソフト(Z's word JG)には何やら独自のビットマップフォントが入っているらしいのですが、オークションで競り負けて以来見かけないんですよね…悔しいなあ。59.25kg(05:50)

04-May-2014
[都留線:標識]

03-May-2014時点において、251号(旧249号)以外は標識が取り付けられているようです。

tp5032832.jpg tp5032836.jpg tp5032839.jpg tp5032840.jpg tp5032842.jpg tp5032844.jpg tp5032852.jpg

コンデジ(SH-25MR)で撮っているのでかなり厳しいものがありますが、川向こうの旧247号は249号となるようです。

tp5032833.jpg tp5032835.jpg tp5032838.jpg tp5032841.jpg tp5032843.jpg tp5032845.jpg tp5032847.jpg

鉄塔札については、どの鉄塔もまだ取り付けが行われていないようです。

tp5032834.jpg

16-Apr-2014にある、旧番号と新番号との対応表を更新しておきました。59.30kg(09:45)

18-May-2014補足:都留線249号の標識、14-May-2014にPENTAX K-7とSIGMAのズームで撮り直した物を上げておきます(標識周辺を等倍切り出ししています)。

01-May-2014
[えっ]

今日は4月31日だと思ってました…という訳で日記のテンプレートを慌てて作ってます。

実は日曜日から土曜日までお仕事(とはいえ祝日は半日勤務)。今日は木曜日なのでお仕事4日目ですね…と書いている時点でかなり弱っている模様。土曜日は祝日なのでともかくとして、今日明日はいつも以上に混雑しそうです。大丈夫かな。

そういえばメーデーってどこにあるんですかね。社会人やってから14年が経過してますけど、未だに立ち上がれ労働者よ的な話を身近では聞きません。親父が働いていた会社では割と活発にやっていたようですけど…って30年くらい前の話ですが。59.7kg(06:05)