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.

ReadPort.h 658B

123456789101112131415161718192021
  1. #ifndef READPORT_H
  2. #define READPORT_H
  3. #include <Arduino.h>
  4. #include <inttypes.h>
  5. /*
  6. ReadPort is an abstract base class.
  7. Port classes are the keybrd library's interface to microcontoller ports or I/O expander ports.
  8. */
  9. class ReadPort
  10. {
  11. protected:
  12. const uint8_t readPins; //bitwise pin configuration, 1 means read column
  13. uint8_t portState; //bitwise pin values, which is set in read()
  14. public:
  15. ReadPort(const uint8_t readPins): readPins(readPins), portState(0) {}
  16. //read port and store it's pins values in portState
  17. virtual uint8_t read()=0;
  18. };
  19. #endif