keybrd library is an open source library for creating custom-keyboard firmware.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

tutorial_10_writing_your_own_port_classes.md 1.5KB

Tutorial 10 - writing your own port classes

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

To write your own port classes:

  1. Get a copy of the controller or I/O expander datasheet.
  2. Study other keybrd Port classes.

For example, the keybrd_DH library use these keybrd classes for its PCA9655E I/O:

  • PortWrite_PCA9655E
  • PortRead_PCA9655E
  • LED_PCA9655E

Debugging I/O expander code is hard because SPI or I2C protocol adds a level of indirection. If you haven’t written Arduino code for an I/O expander before, learn from an Arduiono I/O expander tutorial before attempting it here.


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.