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.

ColPort.h 710B

1234567891011121314151617181920212223
  1. #ifndef COLPORT_H
  2. #define COLPORT_H
  3. #include <Arduino.h>
  4. #include <inttypes.h>
  5. /*
  6. ColPort 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 ColPort
  10. {
  11. protected:
  12. const uint8_t colPins; //bitwise pin configuration, 1 means read column
  13. uint8_t portState; //bitwise pin values, which is set in read()
  14. public:
  15. ColPort(const uint8_t colPins): colPins(colPins), portState(0) {}
  16. //read port and store it's pins values in portState
  17. virtual void read()=0;
  18. uint8_t getColPins();
  19. uint8_t getPortState();
  20. };
  21. #endif