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.
12345678910111213141516171819202122232425262728293031323334 |
- #ifndef CONFIG_KEYBRD_H
- #define CONFIG_KEYBRD_H
- #include <inttypes.h>
-
- /* The maximum number of pins scanned by RowScanner depends on size of read_pins_t.
- By default, read_pins_t is set to uint32_t.
- If your 8-bit AVR (Teensy 2) is running low on memory, using a smaller type saves SRAM.
- Using smaller types on a 32-bit uC (Teensy LC) would accomplish nothing.
-
- read_pins_t is used in:
- Row bit patterns
- ScannerInterface::scan()
- Scanner_ShiftRegsPISO::scan()
- Scanner_uC::scan()
- DebouncerInterface::debounce()
- Debouncer_Samples::debounce()
-
- Use a read_pins_t size that covers all read pins of all Scanner objects i.e.
- For Scanner_uC: read_pins_t bits >= Scanner_uC::readPinCount
- For Scanner_ShiftRegsPISO: read_pins_t bits >= Scanner_ShiftRegsPISO::byte_count * 8
- (For Scanner_IOE: I/O expanders are assumed to have 8 bits per port or less)
- */
- //typedef uint8_t read_pins_t;
- //typedef uint16_t read_pins_t;
- typedef uint32_t read_pins_t;
-
- /* SAMPLE_COUNT_MACRO is used in Debouncer_Samples.h
- SAMPLE_COUNT_MACRO = 4 is very reliable for a keyboard.
- Split keyboards with a long connecting wire or in environment with
- strong electromagnetic interference (EMI) may need a larger SAMPLE_COUNT_MACRO for reliability.
- */
- #define SAMPLE_COUNT_MACRO 4 //number of consecutive equal bits needed to change a debounced bit
-
- #endif
|