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_r...
STM32

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

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

MicroPythonでUSBマウス

MicroPythonの動作しているSTM32のボードをUSBマウスとして動作させ、PCに接続してみました。ボードは以前も使ったNUCLEO-F767ZIです。これは以下のページのサンプルをそのまま使ったもので、上のように、MicroPyt...
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 per...
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を叩くと...