USB

Raspberry Pi

ベアメタルRaspberry Piでの日本語USBキーボードからのキー入力

Raspberry Pi用MicroPythonではUSBキーボードをサポートしていますが、実はこれまでは英語キーボードしかサポートしていませんでした。 私自身は、普段US配列のキーボードしか使わないので困らないのですが、日本国内ではJIS...
Raspberry Pi

Raspberry Pi bare metal MicroPython+USBホストコントローラのテスト

前回、あれこれと考えたMicroPythonへのUSBキーボード接続ですが、とりあえず簡単にできそうなREPL専用の実装をやってみることにしました。 基本的には、REPLのためにシリアルポートから1文字ずつ読む関数mp_hal_stdin_...
STM32

MicroPythonでのUSBキーボード入力の調査

ここ1ヶ月ほど、Raspberry PiベアメタルMicroPythonにUSBキーボード入力を追加してみたいと思っていろいろ調べています。 用途として、 (1)USBキーボードを単純にREPLのための入力手段としてのみ使う (2)モジュー...
STM32

MicroPythonでUSBマウス

MicroPythonの動作しているSTM32のボードをUSBマウスとして動作させ、PCに接続してみました。 ボードは以前も使ったNUCLEO-F767ZIです。 これは以下のページのサンプルをそのまま使ったもので、上のように、MicroP...
Raspberry Pi

Raspberry Pi用ベアメタルUSBデバイスドライバ「csud」の調査(4)

ベアメタルRaspberry PiのUSBドライバの続きです。 csudで、Raspberry Pi Zero Wに直接接続したキーボードを取り外すと処理が正しく行えない問題を修正しました。 root hubからデバイスを取り外した際の「変...
Raspberry Pi

Raspberry Pi用ベアメタルUSBデバイスドライバ「csud」の調査(3)

前回の続きです。 以前にリストアップした中でちょっと触れていたcsudの64bit対応の派生版について、もう少し詳しく調べてみました。 下記のリポジトリにはコンパイル済みのバイナリがあり、マウスとキーボードの値が画面表示されます。 USB ...
Raspberry Pi

Raspberry Pi用ベアメタルUSBデバイスドライバ「csud」の調査(2)

昨日に引き続き、Raspberry PiのベアメタルUSBデバイスドライバ「csud」のRPi Zero W対応をしています。 昨日はUSBキーボードがRPi Zeroに直結された場合に、USB2.0のSplitパケットを送信しないように修...
Raspberry Pi

Raspberry Pi用ベアメタルUSBデバイスドライバ「csud」の調査(1)

引き続きRaspberry PiのベアメタルプログラミングでUSBデバイスを動かす調査です。 前回、Pi Zero WにUSBキーボードを直結するとcsudデバイスドライバがうまく動作しない原因は、本来送るべきでないSplitパケットが送ら...
Raspberry Pi

Raspberry PiのベアメタルUSBドライバの信号を観測してみた

以前調査したように、Raspberry PiのUSBコントローラのドライバには何種類かあり、最もシンプルな「csud」はベアメタルで使うには良さそうですが、Raspberry Pi Zero WではUSB Hubを使わないとデバイスが接続で...
日記

700円ロジアナでUSBパケットを観測してみた

昨日使ってみたロジアナですが、Saleae Logicのプロトコル解析機能にはUSBもあることに気付きました。これはAnalog Discoveryには無い機能です。 この機能を使えば、先日Raspberry Piのベアメタルプログラミング...
Raspberry Pi

Raspberry PiベアメタルプログラミングでのUSBキーボード入力の調査

以前、Raspberry PiベアメタルでMicroPythonの調査をしたときに ステップとしてはまずUARTからREPLを叩けるようにし、そのあと画面出力、次にUSBへと進んでいくべきでしょう。 と書きましたが、UARTからREPLを叩...