Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2df3799e3d | ||
|
|
ea96c4b787 | ||
|
|
7f65323e10 | ||
|
|
3642a82d37 |
No files matched your search
@@ -371,6 +371,9 @@ define PARSE_KEYBOARD
|
|||||||
# The same if all was specified
|
# The same if all was specified
|
||||||
else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,all),true)
|
else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,all),true)
|
||||||
$$(eval $$(call PARSE_ALL_KEYMAPS))
|
$$(eval $$(call PARSE_ALL_KEYMAPS))
|
||||||
|
# List all keymaps for the given keyboard
|
||||||
|
else ifeq ($$(call COMPARE_AND_REMOVE_FROM_RULE,list-keymaps),true)
|
||||||
|
$$(eval $$(call LIST_ALL_KEYMAPS))
|
||||||
# Try to match the specified keyamp with the list of known keymaps
|
# Try to match the specified keyamp with the list of known keymaps
|
||||||
else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(KEYMAPS)),true)
|
else ifeq ($$(call TRY_TO_MATCH_RULE_FROM_LIST,$$(KEYMAPS)),true)
|
||||||
$$(eval $$(call PARSE_KEYMAP,$$(MATCHED_ITEM)))
|
$$(eval $$(call PARSE_KEYMAP,$$(MATCHED_ITEM)))
|
||||||
@@ -407,6 +410,16 @@ endef
|
|||||||
# endif
|
# endif
|
||||||
# endef
|
# endef
|
||||||
|
|
||||||
|
# Prints a list of all known keymaps for the given keyboard
|
||||||
|
define LIST_ALL_KEYMAPS
|
||||||
|
COMMAND_true_LIST_KEYMAPS := \
|
||||||
|
printf "$$(KEYMAPS)\n";
|
||||||
|
COMMAND_false_LIST_KEYMAPS := \
|
||||||
|
printf "$$(MSG_AVAILABLE_KEYMAPS)\n"; \
|
||||||
|
printf "$$(KEYMAPS)\n";
|
||||||
|
COMMANDS += LIST_KEYMAPS
|
||||||
|
endef
|
||||||
|
|
||||||
# $1 Keymap
|
# $1 Keymap
|
||||||
# This is the meat of compiling a keyboard, when entering this, everything is known
|
# This is the meat of compiling a keyboard, when entering this, everything is known
|
||||||
# keyboard, subproject, and keymap
|
# keyboard, subproject, and keymap
|
||||||
|
|||||||
+12
-10
@@ -32,16 +32,18 @@ This feature is distinct from both the [RGB underglow](feature_rgblight.md) and
|
|||||||
|
|
||||||
Hardware PWM is supported according to the following table:
|
Hardware PWM is supported according to the following table:
|
||||||
|
|
||||||
|Backlight Pin|AT90USB64/128|ATmega16/32U4|ATmega16/32U2|ATmega32A|
|
|Backlight Pin|AT90USB64/128|ATmega16/32U4|ATmega16/32U2|ATmega32A|ATmega328P|
|
||||||
|-------------|-------------|-------------|-------------|---------|
|
|-------------|-------------|-------------|-------------|---------|----------|
|
||||||
|`B5` |Timer 1 |Timer 1 | | |
|
|`B1` | | | | |Timer 1 |
|
||||||
|`B6` |Timer 1 |Timer 1 | | |
|
|`B2` | | | | |Timer 1 |
|
||||||
|`B7` |Timer 1 |Timer 1 |Timer 1 | |
|
|`B5` |Timer 1 |Timer 1 | | | |
|
||||||
|`C4` |Timer 3 | | | |
|
|`B6` |Timer 1 |Timer 1 | | | |
|
||||||
|`C5` |Timer 3 | |Timer 1 | |
|
|`B7` |Timer 1 |Timer 1 |Timer 1 | | |
|
||||||
|`C6` |Timer 3 |Timer 3 |Timer 1 | |
|
|`C4` |Timer 3 | | | | |
|
||||||
|`D4` | | | |Timer 1 |
|
|`C5` |Timer 3 | |Timer 1 | | |
|
||||||
|`D5` | | | |Timer 1 |
|
|`C6` |Timer 3 |Timer 3 |Timer 1 | | |
|
||||||
|
|`D4` | | | |Timer 1 | |
|
||||||
|
|`D5` | | | |Timer 1 | |
|
||||||
|
|
||||||
All other pins will use software PWM. If the [Audio](feature_audio.md) feature is disabled or only using one timer, the backlight PWM can be triggered by a hardware timer:
|
All other pins will use software PWM. If the [Audio](feature_audio.md) feature is disabled or only using one timer, the backlight PWM can be triggered by a hardware timer:
|
||||||
|
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ If you want to perform this customization, these parts may be helpful.
|
|||||||
| 10 pin headers for thumb clusters | 4 | Digi-Key | 609-3250-ND |
|
| 10 pin headers for thumb clusters | 4 | Digi-Key | 609-3250-ND |
|
||||||
| 8 pin cable for thumb clusters | 2 | Digi-Key | SAM8928-ND |
|
| 8 pin cable for thumb clusters | 2 | Digi-Key | SAM8928-ND |
|
||||||
| Teensy++ 2.0 | 1 | Digi-Key | 1528-1056-ND |
|
| Teensy++ 2.0 | 1 | Digi-Key | 1528-1056-ND |
|
||||||
| 2 pin right angle header for reset | 1 | Digi-Key | 3M9467-ND |
|
| 2 pin right angle header for reset | 1 | Digi-Key | 952-2244-ND |
|
||||||
| Reset cables | 2 | Sparkfun | PRT-09140 |
|
| Reset cables | 1 | Digi-Key | PRT-08672-ND |
|
||||||
|
|
||||||
The board and connections are shown here
|
The board and connections are shown here
|
||||||

|

|
||||||
|
|||||||
@@ -76,6 +76,11 @@ define GENERATE_MSG_MAKE_TEST
|
|||||||
endef
|
endef
|
||||||
MSG_MAKE_TEST = $(eval $(call GENERATE_MSG_MAKE_TEST))$(MSG_MAKE_TEST_ACTUAL)
|
MSG_MAKE_TEST = $(eval $(call GENERATE_MSG_MAKE_TEST))$(MSG_MAKE_TEST_ACTUAL)
|
||||||
MSG_TEST = Testing $(BOLD)$(TEST_NAME)$(NO_COLOR)
|
MSG_TEST = Testing $(BOLD)$(TEST_NAME)$(NO_COLOR)
|
||||||
|
define GENERATE_MSG_AVAILABLE_KEYMAPS
|
||||||
|
MSG_AVAILABLE_KEYMAPS_ACTUAL := Available keymaps for $(BOLD)$$(CURRENT_KB)$(NO_COLOR):
|
||||||
|
endef
|
||||||
|
MSG_AVAILABLE_KEYMAPS = $(eval $(call GENERATE_MSG_AVAILABLE_KEYMAPS))$(MSG_AVAILABLE_KEYMAPS_ACTUAL)
|
||||||
|
|
||||||
MSG_CHECK_FILESIZE = Checking file size of $(TARGET).hex
|
MSG_CHECK_FILESIZE = Checking file size of $(TARGET).hex
|
||||||
MSG_FILE_TOO_BIG = $(ERROR_COLOR)The firmware is too large!$(NO_COLOR) $(CURRENT_SIZE)/$(MAX_SIZE) ($(OVER_SIZE) bytes over)\n
|
MSG_FILE_TOO_BIG = $(ERROR_COLOR)The firmware is too large!$(NO_COLOR) $(CURRENT_SIZE)/$(MAX_SIZE) ($(OVER_SIZE) bytes over)\n
|
||||||
MSG_FILE_TOO_SMALL = The firmware is too small! $(CURRENT_SIZE)/$(MAX_SIZE)\n
|
MSG_FILE_TOO_SMALL = The firmware is too small! $(CURRENT_SIZE)/$(MAX_SIZE)\n
|
||||||
|
|||||||
@@ -1104,6 +1104,22 @@ void matrix_scan_quantum() {
|
|||||||
# define COMxx1 COM1A1
|
# define COMxx1 COM1A1
|
||||||
# define OCRxx OCR1A
|
# define OCRxx OCR1A
|
||||||
# endif
|
# endif
|
||||||
|
# elif defined(__AVR_ATmega328P__) && (BACKLIGHT_PIN == B1 || BACKLIGHT_PIN == B2)
|
||||||
|
# define HARDWARE_PWM
|
||||||
|
# define ICRx ICR1
|
||||||
|
# define TCCRxA TCCR1A
|
||||||
|
# define TCCRxB TCCR1B
|
||||||
|
# define TIMERx_OVF_vect TIMER1_OVF_vect
|
||||||
|
# define TIMSKx TIMSK1
|
||||||
|
# define TOIEx TOIE1
|
||||||
|
|
||||||
|
# if BACKLIGHT_PIN == B1
|
||||||
|
# define COMxx1 COM1A1
|
||||||
|
# define OCRxx OCR1A
|
||||||
|
# elif BACKLIGHT_PIN == B2
|
||||||
|
# define COMxx1 COM1B1
|
||||||
|
# define OCRxx OCR1B
|
||||||
|
# endif
|
||||||
# else
|
# else
|
||||||
# if !defined(BACKLIGHT_CUSTOM_DRIVER)
|
# if !defined(BACKLIGHT_CUSTOM_DRIVER)
|
||||||
# if !defined(B5_AUDIO) && !defined(B6_AUDIO) && !defined(B7_AUDIO)
|
# if !defined(B5_AUDIO) && !defined(B6_AUDIO) && !defined(B7_AUDIO)
|
||||||
|
|||||||
@@ -183,6 +183,29 @@ elif grep ID /etc/os-release | grep -q solus; then
|
|||||||
unzip
|
unzip
|
||||||
printf "\n$SOLUS_INFO\n"
|
printf "\n$SOLUS_INFO\n"
|
||||||
|
|
||||||
|
elif grep ID /etc/os-release | grep -q void; then
|
||||||
|
# musl Void systems don't have glibc cross compilers avaliable in their repos.
|
||||||
|
# glibc Void systems do have musl cross compilers though, for some reason.
|
||||||
|
# So, default to musl, and switch to glibc if it is installed.
|
||||||
|
CROSS_ARM=cross-arm-linux-musleabi
|
||||||
|
if xbps-query glibc > /dev/null; then # Check is glibc if installed
|
||||||
|
CROSS_ARM=cross-arm-linux-gnueabi
|
||||||
|
fi
|
||||||
|
|
||||||
|
sudo xbps-install \
|
||||||
|
avr-binutils \
|
||||||
|
avr-gcc \
|
||||||
|
avr-libc \
|
||||||
|
$CROSS_ARM \
|
||||||
|
dfu-programmer \
|
||||||
|
dfu-util \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
make \
|
||||||
|
wget \
|
||||||
|
unzip \
|
||||||
|
zip
|
||||||
|
|
||||||
else
|
else
|
||||||
echo "Sorry, we don't recognize your OS. Help us by contributing support!"
|
echo "Sorry, we don't recognize your OS. Help us by contributing support!"
|
||||||
echo
|
echo
|
||||||
|
|||||||
Reference in new issue
Block a user