USB

Raspberry Pi

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

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

MicroPythonでUSBマウス

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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