----------------------------------------------------------------------
　　　　Interface2022年10月号
　　　　特集　USBホスト＆デバイス　ラズパイPico［プログラム集］
　　　　
　　　　ダウンロード・データ
　　　　IF2210TS
　　　　Interface編集部
　　　　CQ出版(株)
　　　　公開：2022年8月25日
----------------------------------------------------------------------

====================================
ダウンロード・サービスご利用者各位
====================================
　毎度，小誌ご愛読を賜り，誠にありがとうございます．
　このたびはダウンロード・サービスをご利用いただき，誠にありがとうございます．
　筆者のご厚意により，本記事の関連データをこのアーカイブに収録しました．

================
概要
================
　このアーカイブには，表題の記事の中で作成したプログラム・ファイルやデータ・ファイルが収録されています．
　詳しくは該当記事を参照してください．
　アーカイブは，ZIP形式によって圧縮されています．

================
動作確認
================
　プログラムは筆者の元で動作を確認済みです．

=================
アーカイブの内容
=================

micropython_usbhost
├  readme.txt - このファイル
├  :
│
└─ports
    ├─rp2
    │    第5部第1章 HIDクラスを利用し（MicroPythonに）キーボードを接続する
    :
    :


=================
ビルド手順
=================

=================
Windows 10環境
=================

1. 本文に従い、MSYS2-Mingw64環境を設定する

2. 本文に従い、ビルドに必要なパッケージをインストールする
   
3. mpy-cross クロスコンパイラをビルドする

   $ cd mpy-cross
   $ make
   $ cd ..

4. rp2ポートをビルドする

   $ cd ports/rp2
   $ ./build_xxxxxx.sh (xxxxxxはボード名を指定する)


=========================
Unix 22.04および20.04環境
=========================

Micropythonのgithubサイトの手順を参照する
https://github.com/micropython/micropython

1. ビルドに必要なパッケージをインストール
 
2. mpy-cross クロスコンパイラをビルドする

   $ cd mpy-cross
   $ make
   $ cd ..

3. rp2ポートをビルドする

   $ cd ports/rp2
   $ ./build_xxxxxx.sh (xxxxxxはボード名を指定する)

build_xxxxxx.shを参照し、必要に応じサブモジュールを設定する

   $ git submodule update --init サブモジュール名


=================
ビルド結果
=================

ビルドで作成されたファイルは、ports/rp2/build_xxxxxx フォルダ中に作成されます

=================
補足
=================

1. tinyusbは、lib/tinyusbフォルダの下にgit submoduleとして登録されます

2. LCDのパラメータは、boards/ボード名/mpconfigboard.hファイル中で指定します

   MICROPY_HW_LCDSPI_ID    (PIM543) <--- LCDの種類を指定します
   LCDの種類は、PIM543, PIM580, KMRTM24024SPIの3つで動作確認いたしました
   それ以外のLCDは、ports/rp2/libs/lcdspi/lcdspi.hを参照して、必要に応じ、コードを改造してください

   MICROPY_HW_LCDSPI_DIR   (LCDSPI_ROTATE_0) <--- コンソールの方向を指定します
   コンソールの方向は、LCDSPI_ROTATE_0, LCDSPI_ROTATE_90, LCDSPI_ROTATE_180, LCDSPI_ROTATE_270が指定できます
   90度、270度のときは、画面スクロールはしない仕様です

===========
著作権
===========
　収録したプログラム，データおよびドキュメントなどの著作権は，各著作権者（すなわち筆者）にあります．
　Copyright (C) 2022 Kentaro Sekimoto

