Waylandでキーリピートができないというibusの不具合は修正されたとの知らせを見ました。 リリースがいつになるかは不明です。 私の環境ではミドルウェアを乗り換えてしまったので、戻ることはしばらくないでしょう。
ノートパソコンはごろ寝してブログを書いたりウェブを閲覧するには良い道具です。 コーディングをするのもまあまあ問題ありません。 CADを使った設計をしたりするのはちょっと嫌です。 キーボードを使うぶんには文句はあまりないのです。 ポインタを使うのにタッチパッドは嫌すぎるという問題があります。 クリエイティブのためにはデスクトップ型の端末を用意するのが良くて、適切な机の上で作業すべきなんだろう、と思います。 その意味では、ノートパソコンというものは(個人的な見解では)タブレットの延長線上にある端末でしかありません。 マウスを別途生やして使えばいいだろうというのはまあまあ正しいです。 机の上で作業するとなれば、ディスプレイもセットで付いてこなければなりません。 そうなるとノートパソコンは単なる小型のCPU箱ですね。
画面の描画が少し劣化したかな、という気がします。 高解像度グラフィックスディスプレイ偏重になるのは時代の流れとして仕方がないことではありますが、 低解像度端末と端末エミュレータの動作も今はまだ保全しておいて欲しいかなと思います。 ピクセルがハミ出して描画されるのはみっともないですし、 アイコンがぼやけるのもみっともないです。 ハードウェアの価格感覚から言うと今はまだFull-HDの時代です。 4K/8Kのディスプレイを前提にするのは時期尚早であろうと思います。
PICとしてPIC16F1455に代わる良いデバイスは発売されていないように見えます。 USBマイコンとしますと、人気があるものとしてはPIC18F14K50が思い浮かびますね。 このデバイスは古株です。 PIC16F1455のほうがPIC18F14K40の後継にあたります。
PIC16F1455のメリットはjalv2が抱えるライブラリの助けを期待してコーディングが易しそうに見えることです。 それからDIP版が秋月で取り扱われているというあたりも挙げてよいかと思います。 ピン数が若干足りないならPIC16F1459があります。 それ以上はメモリバンク構造を抱えているPIC16で無理をするのではなく、AVRを頼るのが良いでしょう。
秋月が配布しているデータシートにはチャージポンプキャパシタの値が書かれていないように思うのですが、 他所で情報を探してみると3232シリーズの定番どおり0.1μFのセラミックコンデンサが適応ということで良さそうです。 MAX232が1μFの電解コンデンサに適応ですので回路設計といいますか部品選択が変わります。 個人的には電解コンデンサでも「まあいいかしら」という感触を持っています。
もっとも、RS-232Cレベルで信号を交換する機会は今となってはあまりないですね。 USBで引っ張ってきてUARTモジュール直結が普通な時代ですし。
FT231Xモジュールは秋月で売られている製品のことを指しています。 近年お値段がちょっと高くなってしまっており、 そろそろ代替案が欲しいアイテムです。 USB対応でスタートを切ってもらおうと考えるなら、今の所2000円程度の支出は避けられないのかなというのが感想です。
個人的には「追加購入」はなるべくしない予定でいます。 EHCIとの相性からFT232H系が欲しいと思っていた時期もあるにはありました。 実際の経験によりますとハブ経由で装置をつなぐ事例は思ったより少ないものです。 High-speedでなくてもFull-speedでいいのではないか、と妥協しつつあります。 FT232RL系やFT231X系のモジュールが欲しくなる理由はフロー制御ピンの存在にありますが、 これらはUSB対応マイコンで丁寧に実装すれば要らないはずのものです。
PIC16F1455にLVP ICSPで書き込むにはMCLR#, ICSPDAT, ICSPCLKの3本の信号線が必要です。 それぞれをGPIO的にジタバタさせることができる必要があります。 パソコンにこれをつなぐに当たり、マイコンを使わないという前提条件を敷くと、 USBシリアルポートの採用が考えられます。 とりあえず秋月のFT231Xモジュール(106894)をブリッジにすることを考えます。 このモジュールはAVRに書き込むために使うこともでき、一家に一台ぐらい必須のアイテムなのではないでしょうか。 まあちょっとお値段が高くなってしまって、そろそろ次の選択肢を考えないといけない時代になりつつあります。 この問題に対する良い代替案はまだありません。 巷はArduinoの採用に落ち着くのだとは思いますが、 プログラマをブートストラップすることだけが目的の簡易プログラマのために Arduino IDEをインストールするのかと言われれば、個人的には否かなぁと思います。
PICとの接続には出力線が3本必要です。 UARTモジュールに2本ある制御線(RTS, DTR)だけでは足りません。 1本はTxDを流用します。 TxDをGPIO的に使うのはあまり褒められたやり方ではありませんが ioctl()にTIOCSBRK, TIOCCBRKがあるようなので、辛うじて使うことができると見込みます。 他の信号線はioctl()にTIOCMGET, TIOCMSET, TIOCMBIC, TIOCMBISを使って制御します。 ICSPCLKにはRTS outputを、ICSPDATにはDTR outputとDSR inputを組み合わせて使えば良いだろう、と楽観的に考えています。
ICSPDATは双方向の信号です。UARTモジュール側は単方向なので調停する必要があります。 半導体を挟む余裕はないので抵抗で電流制限して誤魔化しましょう。 5Vが4mAまで流せると仮定すると、最低限で1.3kΩあれば良いと計算できます。 電流値のボトルネックはFT231X側にも掛かっており、3.3Vを1.3kΩの制限で試算すると2.5mA程度と推測されます。 出所は示せませんが1.5kΩを使うと良いという話があり、それはたぶん設計者の部品箱に1.5kΩが転がっていたとかそういう理由の選定でしょう。 なるほど1.5kΩでも良いと思います。 個人的には2kΩが良いのではないかと考えています。 あまり抵抗値を大きくすると浮遊容量と入力容量が効いてきますのでほどほどにしておきます。 R=2kΩ、C=100pFのLPFとしてf=1MHzなら100kHz程度の信号は余裕でパスできるんじゃないか、と楽観的に考えます。
UARTモジュールの端子は先述のとおりioctl()で制御します。 必要なアルゴリズムは、PIC16F1455であればそのデータシートに書かれているとおりです。 専用にソフトウェアを書けば使えるだろうと考えています。
ターゲットのVddを制御する端子を設ける余裕はありませんので、苦しいですがMCLR#を流用します。 PIC16F1455のデータシートを読む限り、それで問題は無さそうです。 スイッチとしてトランジスタと少々の抵抗が必要です。 いまどきはMOS-FETが良いのでしょうが安価なBJTでも十分です。 PNPのベースを4.7kΩ程度の抵抗で引っ張れば良いと考えています。 回路が動作中であることを示すためにLEDも装備しましょう。 ICSP端子として引っ張り出すとターゲット回路を作らないといけなくなります。 ターゲットになる回路はいずれは作るのですが、同時進行は面倒なので、ZIFソケットを装備するのが起点としては適当だろうと考えています。 ICSPドングルとしての実装は、二次制作に回しても構わないだろうと考えています。
FT231Xを書き込み制御に採用するとした場合、ICSPCLK, ICSPDATの各ピンは3.3V系統となります。 MCLR#は本来5V系統ですので、安全を期するならバッファ回路を入れなければなりません。 PIC16F1455はC-MOS構造です。FT231XもとりあえずC-MOS構造です。 直結しても大丈夫かなという感はありますが、ちょっと危なっかしいかも知れません。
デバイス PIC16F77 は古のコントローラです。 秋月で200円で売られており、通販限定商品となっています。 店頭には置かれていません。
このデバイスはPSPを搭載しています。 この回路を応用して何かできないかなと考えてみたのですが、妙案は浮かびませんでした。 Intel 82C55と違ってステータスレジスタが無いので、データの読みっぱなし・書きっぱなししかできないんですね。 データパケットのやりとりはどうしたらいいんだろうと考えて、うーんと唸ってしまいました。