macOSからPi Picoを使う - その15 [Pi Pico]
急遽、TinyUSBを真面目にみることにした。前回はとりあえずソースディレクトリのトップレベルがどうなってるか見た。ディレクトリ構造は浅くて、サブディレクトリを持つのはUSBのデバイスクラス別の記述だけのようなので、それほど悩むことはなさそうに思える。今日は残りの部分を見てみる....
などとなっていて、かならずtusb_config.hとusb_descriptors.cというファイルが含まれている。このtusb_config.hのほうはsrc/tusb_option.hの中で
のように読み込まれている。名前を変えたい時のためにCFG_TUSB_CONFIG_FILEを定義するとそっちが読まれる、というぐあいになっている。これに設定を書き込め、ということだと考えられる。
tusb_config.hをみるとボード個別の定義があるかどうかをチェックしたあと
などとなっている。デフォルトのend pointのバッファサイズを決めたあと、どのクラスに対応するか、を0、1で書くようになっている。
usb_descriptors.cのほうはCMakelists.txtの中にライブラリソースファイルとして入っているので、別に名前はこの通りでなくてもいいけど、名前からしてUSBのdescriptorを書くことになっているようである。
15.2.2 examplesディレクトリ
参考のため、examplesディレクトリの中を見てみる。├── midi_test │ ├── CMakeLists.txt │ ├── Makefile │ └── src │ ├── main.c │ ├── tusb_config.h │ └── usb_descriptors.c ├── msc_dual_lun │ ├── CMakeLists.txt │ ├── Makefile │ └── src │ ├── main.c │ ├── msc_disk_dual.c │ ├── tusb_config.h │ └── usb_descriptors.c
// Allow to use command line to change the config name/location #ifdef CFG_TUSB_CONFIG_FILE #include CFG_TUSB_CONFIG_FILE #else #include "tusb_config.h" #endif
tusb_config.hをみるとボード個別の定義があるかどうかをチェックしたあと
//-------------------------------------------------------------------- // DEVICE CONFIGURATION //-------------------------------------------------------------------- #ifndef CFG_TUD_ENDPOINT0_SIZE #define CFG_TUD_ENDPOINT0_SIZE 64 #endif //------------- CLASS -------------// #define CFG_TUD_CDC 1 #define CFG_TUD_MSC 1 #define CFG_TUD_HID 0 #define CFG_TUD_MIDI 0 #define CFG_TUD_VENDOR 0 // CDC FIFO size of TX and RX #define CFG_TUD_CDC_RX_BUFSIZE (TUD_OPT_HIGH_SPEED ? 512 : 64) #define CFG_TUD_CDC_TX_BUFSIZE (TUD_OPT_HIGH_SPEED ? 512 : 64) // CDC Endpoint transfer buffer size, more is faster #define CFG_TUD_CDC_EP_BUFSIZE (TUD_OPT_HIGH_SPEED ? 512 : 64) // MSC Buffer size of Device Mass storage #define CFG_TUD_MSC_EP_BUFSIZE 512
usb_descriptors.cのほうはCMakelists.txtの中にライブラリソースファイルとして入っているので、別に名前はこの通りでなくてもいいけど、名前からしてUSBのdescriptorを書くことになっているようである。
2021-07-04 21:22
nice!(0)
コメント(0)
コメント 0