[Keyboard] Tractyl Manuform - configuration updates (#14314)
* [Keyboard] Tractyl Manuform - configuration updates * Update readmes * Add more details * Fix issues with encoder pins * Additional fixes for pin config * Fix up some comments
This commit is contained in:
@@ -24,7 +24,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define MATRIX_COL_PINS \
|
||||
{ A15, B3, B4, B5, B6, B7 }
|
||||
#define MATRIX_ROW_PINS \
|
||||
{ B12, B13, B14, B15, A8, A9 }
|
||||
{ B12, B13, B14, B15, A8, A10 }
|
||||
|
||||
#define UNUSED_PINS \
|
||||
{ C15 }
|
||||
// B2 used for BOOT1, has internal pull down?
|
||||
// A9 has internal pull-down
|
||||
// A11 and A12 are used for USB sense. DO NOT USE.
|
||||
|
||||
#define DIODE_DIRECTION COL2ROW
|
||||
|
||||
@@ -45,12 +51,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define RGBLED_SPLIT \
|
||||
{ 10, 10 }
|
||||
|
||||
#define DEBUG_LED_PIN C13
|
||||
#define DEBUG_LED_PIN C13
|
||||
|
||||
#define AUDIO_PIN A0
|
||||
#define AUDIO_PWM_DRIVER PWMD5
|
||||
#define AUDIO_PWM_CHANNEL 1
|
||||
#define AUDIO_STATE_TIMER GPTD4
|
||||
/* Audio config */
|
||||
#define AUDIO_PIN B1
|
||||
#define AUDIO_PWM_DRIVER PWMD3
|
||||
#define AUDIO_PWM_CHANNEL 4
|
||||
#define AUDIO_PWM_PAL_MODE 2
|
||||
#define AUDIO_STATE_TIMER GPTD4
|
||||
|
||||
/* serial.c configuration for split keyboard */
|
||||
#define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode.
|
||||
@@ -60,10 +68,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7
|
||||
#define SERIAL_USART_RX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7
|
||||
#define SERIAL_USART_TIMEOUT 100 // USART driver timeout. default 100
|
||||
#undef SOFT_SERIAL_PIN
|
||||
|
||||
// #define EE_HANDS
|
||||
|
||||
/* i2c config for oleds */
|
||||
#define I2C_DRIVER I2CD1
|
||||
#define I2C1_SCL_BANK GPIOB
|
||||
#define I2C1_SDA_BANK GPIOB
|
||||
@@ -73,11 +79,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define I2C1_SDA_PAL_MODE 4
|
||||
#define I2C1_CLOCK_SPEED 400000
|
||||
|
||||
/* encoder config */
|
||||
#define ENCODERS_PAD_A \
|
||||
{ B1 }
|
||||
{ A13 }
|
||||
#define ENCODERS_PAD_B \
|
||||
{ B2 }
|
||||
{ A14 }
|
||||
|
||||
/* spi config for eeprom and pmw3360 sensor */
|
||||
#define SPI_DRIVER SPID1
|
||||
#define SPI_SCK_PIN A5
|
||||
#define SPI_SCK_PAL_MODE 5
|
||||
@@ -86,6 +94,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#define SPI_MISO_PIN A6
|
||||
#define SPI_MISO_PAL_MODE 5
|
||||
|
||||
/* eeprom config */
|
||||
#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4
|
||||
#define EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR 8
|
||||
// #define EXTERNAL_EEPROM_BYTE_COUNT 8196
|
||||
@@ -93,6 +102,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
// #define EXTERNAL_EEPROM_ADDRESS_SIZE 2
|
||||
// #define DEBUG_EEPROM_OUTPUT
|
||||
|
||||
/* pmw3360 config */
|
||||
#define PMW3360_CS_PIN B0
|
||||
#define PMW3360_SPI_MODE 3
|
||||
#define PMW3360_SPI_DIVISOR 4
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
// #define HAL_USE_DAC TRUE
|
||||
#define HAL_USE_PWM TRUE
|
||||
#define HAL_USE_SERIAL TRUE
|
||||
#define HAL_USE_I2C TRUE
|
||||
|
||||
@@ -24,11 +24,14 @@
|
||||
#undef STM32_PWM_USE_TIM5
|
||||
#define STM32_PWM_USE_TIM5 TRUE
|
||||
|
||||
#undef STM32_GPT_USE_TIM4
|
||||
#define STM32_GPT_USE_TIM4 TRUE
|
||||
#undef STM32_PWM_USE_TIM3
|
||||
#define STM32_PWM_USE_TIM3 TRUE
|
||||
|
||||
#undef STM32_SPI_USE_SPI1
|
||||
#define STM32_SPI_USE_SPI1 TRUE
|
||||
|
||||
#undef STM32_SERIAL_USE_USART2
|
||||
#define STM32_SERIAL_USE_USART2 TRUE
|
||||
|
||||
#undef STM32_GPT_USE_TIM4
|
||||
#define STM32_GPT_USE_TIM4 TRUE
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
# Drashna's Blackpill Tractyl Manuform (5x6) with a right side trackball
|
||||
|
||||
* VBUS mod, using PB10
|
||||
* Split Hand Pin, using PC14
|
||||
* Full Duplex Serial/USART using PA3 and PA4 on USART2
|
||||
* PWM Audio using PB1 and TIM3 and GPT on TIM4
|
||||
* PWM RGB using PA1 TIM5
|
||||
* pmw3360 sensor sharing PA5-PA7 on SPI1, with B0 as CS pin
|
||||
* 8KB SPI EEPROM chip sharing PA5-PA7 on SPI1 with PA4 as CS pin
|
||||
* Encoder using PA10 and PA12
|
||||
* SSD1306 OLED display (128x64) using PB8-PB9 on I2C1
|
||||
|
||||
* Keyboard Maintainer: [Drashna Jael're](https://github.com/drashna)
|
||||
* Hardware Supported: [Design files](https://gitlab.com/keyboards1/dm_r_track/-/tree/master/boolean), [WeAct BlackPill (F411)](https://github.com/WeActTC/MiniSTM32F4x1), [PMW3360 Optical Sensor](https://www.tindie.com/products/jkicklighter/pmw3360-motion-sensor/)
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make handwired/tractyl_manuform/5x6_right/f411:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make handwired/tractyl_manuform/5x6_right/f411:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
@@ -142,8 +142,14 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
|
||||
[_LOWER] = { { RGB_MOD, RGB_RMOD}, { RGB_HUD, RGB_HUI } },
|
||||
[_ADJUST] = { { CK_DOWN, CK_UP }, { _______, _______ } },
|
||||
};
|
||||
// clang-format on
|
||||
#else
|
||||
bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||
# ifdef SWAP_HANDS_ENABLE
|
||||
if (swap_hands) {
|
||||
index ^= 1;
|
||||
}
|
||||
# endif
|
||||
if (index == 0) {
|
||||
tap_code_delay(clockwise ? KC_VOLD : KC_VOLU, 5);
|
||||
} else if (index == 1) {
|
||||
@@ -152,7 +158,6 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
// clang-format on
|
||||
|
||||
#ifdef POINTING_DEVICE_ENABLE
|
||||
static uint16_t mouse_timer = 0;
|
||||
|
||||
@@ -5,7 +5,7 @@ HAPTIC_ENABLE = no
|
||||
COMMAND_ENABLE = no
|
||||
TAP_DANCE_ENABLE = yes
|
||||
UNICODE_ENABLE = yes
|
||||
OLED_ENABLE = yes
|
||||
OLED_ENABLE = yes
|
||||
WPM_ENABLE = yes
|
||||
ENCODER_ENABLE = yes
|
||||
ENCODER_MAP_ENABLE = yes
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Drashna's Dactyl Manuform (5x6) with a right side trackball
|
||||
# Drashna's Tractyl Manuform (5x6) with a right side trackball
|
||||
|
||||

|
||||
|
||||
It's a Dactyl Manuform with an integrated thumb based trackball, using the pmw3360 optical sensor.
|
||||
It's a Tractyl Manuform with an integrated thumb based trackball, using the pmw3360 optical sensor.
|
||||
|
||||
It's powered by 2x Teensy++ 2.0's, using Drashna's [Teensy VBUS Hack](https://docs.qmk.fm/#/feature_split_keyboard?id=hardware-considerations-and-mods) for better detection.
|
||||
|
||||
@@ -12,10 +12,10 @@ It's powered by 2x Teensy++ 2.0's, using Drashna's [Teensy VBUS Hack](https://do
|
||||
|
||||
Make example for this keyboard (after setting up your build environment):
|
||||
|
||||
make handwired/dactyl_manuform/5x6_right_trackball:default
|
||||
make handwired/tractyl_manuform/5x6_right:default
|
||||
|
||||
Flashing example for this keyboard:
|
||||
|
||||
make handwired/dactyl_manuform/5x6_right_trackball:default:flash
|
||||
make handwired/tractyl_manuform/5x6_right:default:flash
|
||||
|
||||
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
|
||||
|
||||
Reference in New Issue
Block a user