mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-19 22:22:03 +00:00
* First batch of eeconfig conversions. * Offset and length for datablocks. * `via`, `dynamic_keymap`. * Fix filename. * Commentary. * wilba leds * satisfaction75 * satisfaction75 * more keyboard whack-a-mole * satisfaction75 * omnikeyish * more whack-a-mole * `generic_features.mk` to automatically pick up nvm repositories * thievery * deferred variable resolve * whitespace * convert api to structs/unions * convert api to structs/unions * convert api to structs/unions * fixups * code-side docs * code size fix * rollback * nvm_xxxxx_erase * Updated location of eeconfig magic numbers so non-EEPROM nvm drivers can use them too. * Fixup build. * Fixup compilation error with encoders. * Build fixes. * Add `via_ci` keymap to onekey to exercise VIA bindings (and thus dynamic keymap et.al.), fixup compilation errors based on preprocessor+sizeof. * Build failure rectification.
50 lines
1.4 KiB
C
50 lines
1.4 KiB
C
// Copyright 2023 Andrew Kannan (@awkannan)
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#pragma once
|
|
|
|
/* Ensure we jump to bootloader if the QK_BOOT keycode was pressed */
|
|
#define EARLY_INIT_PERFORM_BOOTLOADER_JUMP TRUE
|
|
|
|
/* LSE clock */
|
|
#define STM32_LSECLK 32768
|
|
|
|
#define ENCODER_RESOLUTION 2
|
|
|
|
// I2C config
|
|
#define I2C_DRIVER I2CD1
|
|
#define I2C1_SCL_PIN B6
|
|
#define I2C1_SDA_PIN B7
|
|
#define I2C1_SCL_PAL_MODE 1
|
|
#define I2C1_SDA_PAL_MODE 1
|
|
#define I2C1_TIMINGR_PRESC 0x00U
|
|
#define I2C1_TIMINGR_SCLDEL 0x03U
|
|
#define I2C1_TIMINGR_SDADEL 0x01U
|
|
#define I2C1_TIMINGR_SCLH 0x03U
|
|
#define I2C1_TIMINGR_SCLL 0x09U
|
|
|
|
// configure oled driver for the 128x32 oled
|
|
#define OLED_UPDATE_INTERVAL 66 // ~15fps
|
|
|
|
// OLED_TIMEOUT is incompatible with the OLED_OFF mode
|
|
#define OLED_TIMEOUT 0
|
|
|
|
// OLED timeout reimplemented in the keyboard-specific code
|
|
#define CUSTOM_OLED_TIMEOUT 60000
|
|
|
|
// Custom config starts after VIA's EEPROM usage,
|
|
// dynamic keymaps start after this.
|
|
// Custom config Usage:
|
|
// 1 for enabled encoder modes (1 byte)
|
|
// 1 for OLED default mode (1 byte)
|
|
// 6 for 3x custom encoder settings, left, right, and press (18 bytes)
|
|
#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 20
|
|
|
|
// And if VIA isn't enabled, fall back to using standard QMK for configuration
|
|
#ifndef VIA_ENABLE
|
|
#define EECONFIG_KB_DATA_SIZE VIA_EEPROM_CUSTOM_CONFIG_SIZE
|
|
#endif
|
|
|
|
// VIA lighting is handled by the keyboard-level code
|
|
#define VIA_CUSTOM_LIGHTING_ENABLE
|