keybrd library is an open source library for creating custom-keyboard firmware.
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
このリポジトリはアーカイブされています。 ファイルの閲覧とクローンは可能ですが、プッシュや、課題・プルリクエストのオープンはできません。

tutorial_10_writing_IOE_port_classes.md 2.3KB

Tutorial 10 - writing new IOE Port classes

Port classes are the keybrd library’s interface to I/O expander ports.

Steps to writing a new port class:

  1. Get a copy of the I/O expander’s datasheet.
  2. An I/O expander will use one of two communication protocols: http://www.byteparadigm.com/applications/introduction-to-i2c-and-spi-protocols/. Refer to the Arduino SPI or Arduino Wire (I2C) library
  3. Get familiar with your I/O expander.
    • Different I/O expanders use different commands (a.k.a. operation codes). Refer to your I/O expander’s datasheet for read and write commands.
    • Search for Arduino sketch examples containing your I/O expander (sumotoy has a large gpio expander library).
  4. Study a simple keybrd sketch that uses an I/O expander.
  5. Study other keybrd port classes.
    • SPI I/O expander port classes: Port_MCP23S17
    • I2C I/O expander port classes: Port_PCA9655E
  6. Write the port classes for your I/O expander.
    • Example shows how Port_PCA9655E was developed in stages, from fundamental to practical
    • Debugging I/O expander code is hard because SPI or I2C protocol, expander configuration, and expander commands.


Creative Commons License
keybrd tutorial by Wolfram Volpi is licensed under a Creative Commons Attribution 4.0 International License.
Permissions beyond the scope of this license may be available at https://github.com/wolfv6/keybrd/issues/new.