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.

PortRead_PCA9655E.cpp 964B

123456789101112131415161718192021222324252627282930
  1. #include "PortRead_PCA9655E.h"
  2. /*
  3. configures column port's configuration, input, and pins.
  4. */
  5. PortRead_PCA9655E::PortRead_PCA9655E (PortIOE& port, const uint8_t READ_PINS)
  6. : PortRead(READ_PINS), port(port), configurationByteCommand(port.num + 6), inputByteCommand(port.num)
  7. {}
  8. void PortRead_PCA9655E::begin()
  9. {
  10. Wire.beginTransmission(port.ADDR);
  11. Wire.write(configurationByteCommand);
  12. Wire.write(READ_PINS); //0=configure as output (for LED), 1=configure as input (for read)
  13. Wire.endTransmission();
  14. }
  15. /*
  16. Saves all port-pin values to portState.
  17. */
  18. uint8_t PortRead_PCA9655E::read()
  19. {
  20. Wire.beginTransmission(port.ADDR);
  21. Wire.write(inputByteCommand); //input immediately before requestFrom
  22. Wire.endTransmission(false); //PCA9655E needs false to send a restart
  23. Wire.requestFrom(port.ADDR, 1u); //request one byte from input port
  24. return Wire.read();
  25. }