keybrd library is an open source library for creating custom-keyboard firmware.
Vous ne pouvez pas sélectionner plus de 25 sujets
Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
Ce dépôt est archivé. Vous pouvez voir les fichiers et le cloner, mais vous ne pouvez pas pousser ni ouvrir de ticket/demande d'ajout.
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:
- Get a copy of the I/O expander’s datasheet.
- 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
- 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).
- Study a simple keybrd sketch that uses an I/O expander.
- Study other keybrd port classes.
- SPI I/O expander port classes: Port_MCP23S17
- I2C I/O expander port classes: Port_PCA9655E
- 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.
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.