Dedupe I2C, SPI, UART driver inclusions (#22253)
This commit is contained in:
parent
f150258e5a
commit
c157c19b81
130 changed files with 284 additions and 249 deletions
|
|
@ -151,30 +151,25 @@ ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes)
|
|||
endif
|
||||
OPT_DEFS += -DPOINTING_DEVICE_DRIVER_$(strip $(POINTING_DEVICE_DRIVER))
|
||||
ifeq ($(strip $(POINTING_DEVICE_DRIVER)), adns9800)
|
||||
OPT_DEFS += -DSTM32_SPI -DHAL_USE_SPI=TRUE
|
||||
QUANTUM_LIB_SRC += spi_master.c
|
||||
SPI_DRIVER_REQUIRED = yes
|
||||
else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), analog_joystick)
|
||||
OPT_DEFS += -DSTM32_ADC -DHAL_USE_ADC=TRUE
|
||||
LIB_SRC += analog.c
|
||||
else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), cirque_pinnacle_i2c)
|
||||
OPT_DEFS += -DSTM32_I2C -DHAL_USE_I2C=TRUE
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
SRC += drivers/sensors/cirque_pinnacle.c
|
||||
SRC += drivers/sensors/cirque_pinnacle_gestures.c
|
||||
SRC += $(QUANTUM_DIR)/pointing_device/pointing_device_gestures.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), cirque_pinnacle_spi)
|
||||
OPT_DEFS += -DSTM32_SPI -DHAL_USE_SPI=TRUE
|
||||
SPI_DRIVER_REQUIRED = yes
|
||||
SRC += drivers/sensors/cirque_pinnacle.c
|
||||
SRC += drivers/sensors/cirque_pinnacle_gestures.c
|
||||
SRC += $(QUANTUM_DIR)/pointing_device/pointing_device_gestures.c
|
||||
QUANTUM_LIB_SRC += spi_master.c
|
||||
else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), pimoroni_trackball)
|
||||
OPT_DEFS += -DSTM32_SPI -DHAL_USE_I2C=TRUE
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
else ifneq ($(filter $(strip $(POINTING_DEVICE_DRIVER)),pmw3360 pmw3389),)
|
||||
OPT_DEFS += -DSTM32_SPI -DHAL_USE_SPI=TRUE
|
||||
SPI_DRIVER_REQUIRED = yes
|
||||
SRC += drivers/sensors/pmw33xx_common.c
|
||||
QUANTUM_LIB_SRC += spi_master.c
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
|
@ -204,12 +199,12 @@ else
|
|||
else ifeq ($(strip $(EEPROM_DRIVER)), i2c)
|
||||
# External I2C EEPROM implementation
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_I2C
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
SRC += eeprom_driver.c eeprom_i2c.c
|
||||
else ifeq ($(strip $(EEPROM_DRIVER)), spi)
|
||||
# External SPI EEPROM implementation
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_SPI
|
||||
QUANTUM_LIB_SRC += spi_master.c
|
||||
SPI_DRIVER_REQUIRED = yes
|
||||
SRC += eeprom_driver.c eeprom_spi.c
|
||||
else ifeq ($(strip $(EEPROM_DRIVER)), legacy_stm32_flash)
|
||||
# STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated)
|
||||
|
|
@ -308,10 +303,10 @@ ifneq ($(strip $(FLASH_DRIVER)), none)
|
|||
else
|
||||
OPT_DEFS += -DFLASH_ENABLE
|
||||
ifeq ($(strip $(FLASH_DRIVER)),spi)
|
||||
SPI_DRIVER_REQUIRED = yes
|
||||
OPT_DEFS += -DFLASH_DRIVER -DFLASH_SPI
|
||||
COMMON_VPATH += $(DRIVER_PATH)/flash
|
||||
SRC += flash_spi.c
|
||||
QUANTUM_LIB_SRC += spi_master.c
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
|
@ -380,80 +375,73 @@ endif
|
|||
CIE1931_CURVE := yes
|
||||
|
||||
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3218)
|
||||
OPT_DEFS += -DHAL_USE_I2C=TRUE
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3218-simple.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3731)
|
||||
OPT_DEFS += -DHAL_USE_I2C=TRUE
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3731-simple.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3733)
|
||||
OPT_DEFS += -DHAL_USE_I2C=TRUE
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3733-simple.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3736)
|
||||
OPT_DEFS += -DHAL_USE_I2C=TRUE
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3736-simple.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3737)
|
||||
OPT_DEFS += -DHAL_USE_I2C=TRUE
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3737-simple.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3741)
|
||||
OPT_DEFS += -DHAL_USE_I2C=TRUE
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3741-simple.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3742a)
|
||||
OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE
|
||||
OPT_DEFS += -DIS31FLCOMMON
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31flcommon.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3743a)
|
||||
OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE
|
||||
OPT_DEFS += -DIS31FLCOMMON
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31flcommon.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3745)
|
||||
OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE
|
||||
OPT_DEFS += -DIS31FLCOMMON
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31flcommon.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_MATRIX_DRIVER)), is31fl3746a)
|
||||
OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE
|
||||
OPT_DEFS += -DIS31FLCOMMON
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31flcommon.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(LED_MATRIX_DRIVER)), snled27351)
|
||||
OPT_DEFS += -DHAL_USE_I2C=TRUE
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led
|
||||
SRC += snled27351-simple.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
endif
|
||||
|
|
@ -491,87 +479,79 @@ endif
|
|||
RGB_KEYCODES_ENABLE := yes
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), aw20216s)
|
||||
OPT_DEFS += -DHAL_USE_SPI=TRUE
|
||||
SPI_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led
|
||||
SRC += aw20216s.c
|
||||
QUANTUM_LIB_SRC += spi_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3218)
|
||||
OPT_DEFS += -DHAL_USE_I2C=TRUE
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3218.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3731)
|
||||
OPT_DEFS += -DHAL_USE_I2C=TRUE
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3731.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3733)
|
||||
OPT_DEFS += -DHAL_USE_I2C=TRUE
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3733.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3736)
|
||||
OPT_DEFS += -DHAL_USE_I2C=TRUE
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3736.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3737)
|
||||
OPT_DEFS += -DHAL_USE_I2C=TRUE
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3737.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3741)
|
||||
OPT_DEFS += -DHAL_USE_I2C=TRUE
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31fl3741.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3742a)
|
||||
OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE
|
||||
OPT_DEFS += -DIS31FLCOMMON
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31flcommon.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3743a)
|
||||
OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE
|
||||
OPT_DEFS += -DIS31FLCOMMON
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31flcommon.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3745)
|
||||
OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE
|
||||
OPT_DEFS += -DIS31FLCOMMON
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31flcommon.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), is31fl3746a)
|
||||
OPT_DEFS += -DIS31FLCOMMON -DHAL_USE_I2C=TRUE
|
||||
OPT_DEFS += -DIS31FLCOMMON
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led/issi
|
||||
SRC += is31flcommon.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), snled27351)
|
||||
OPT_DEFS += -DHAL_USE_I2C=TRUE
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led
|
||||
SRC += snled27351.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RGB_MATRIX_DRIVER)), ws2812)
|
||||
|
|
@ -638,35 +618,6 @@ ifeq ($(strip $(BACKLIGHT_ENABLE)), yes)
|
|||
endif
|
||||
endif
|
||||
|
||||
VALID_WS2812_DRIVER_TYPES := bitbang custom i2c pwm spi vendor
|
||||
|
||||
WS2812_DRIVER ?= bitbang
|
||||
ifeq ($(strip $(WS2812_DRIVER_REQUIRED)), yes)
|
||||
ifeq ($(filter $(WS2812_DRIVER),$(VALID_WS2812_DRIVER_TYPES)),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid WS2812_DRIVER,WS2812_DRIVER="$(WS2812_DRIVER)" is not a valid WS2812 driver)
|
||||
endif
|
||||
|
||||
OPT_DEFS += -DWS2812_$(strip $(shell echo $(WS2812_DRIVER) | tr '[:lower:]' '[:upper:]'))
|
||||
|
||||
SRC += ws2812_$(strip $(WS2812_DRIVER)).c
|
||||
|
||||
ifeq ($(strip $(PLATFORM)), CHIBIOS)
|
||||
ifeq ($(strip $(WS2812_DRIVER)), pwm)
|
||||
OPT_DEFS += -DSTM32_DMA_REQUIRED=TRUE
|
||||
endif
|
||||
endif
|
||||
|
||||
# add extra deps
|
||||
ifeq ($(strip $(WS2812_DRIVER)), i2c)
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(APA102_DRIVER_REQUIRED)), yes)
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led
|
||||
SRC += apa102.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(CIE1931_CURVE)), yes)
|
||||
OPT_DEFS += -DUSE_CIE1931_CURVE
|
||||
LED_TABLES := yes
|
||||
|
|
@ -787,8 +738,8 @@ ifeq ($(strip $(HAPTIC_ENABLE)),yes)
|
|||
COMMON_VPATH += $(DRIVER_PATH)/haptic
|
||||
|
||||
ifeq ($(strip $(HAPTIC_DRIVER)), drv2605l)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
SRC += drv2605l.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(HAPTIC_DRIVER)), solenoid)
|
||||
|
|
@ -823,10 +774,10 @@ ifeq ($(strip $(OLED_ENABLE)), yes)
|
|||
|
||||
OPT_DEFS += -DOLED_TRANSPORT_$(strip $(shell echo $(OLED_TRANSPORT) | tr '[:lower:]' '[:upper:]'))
|
||||
ifeq ($(strip $(OLED_TRANSPORT)), i2c)
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
endif
|
||||
ifeq ($(strip $(OLED_TRANSPORT)), spi)
|
||||
QUANTUM_LIB_SRC += spi_master.c
|
||||
SPI_DRIVER_REQUIRED = yes
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
|
@ -834,9 +785,9 @@ endif
|
|||
|
||||
ifeq ($(strip $(ST7565_ENABLE)), yes)
|
||||
OPT_DEFS += -DST7565_ENABLE
|
||||
SPI_DRIVER_REQUIRED = yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/oled # For glcdfont.h
|
||||
COMMON_VPATH += $(DRIVER_PATH)/lcd
|
||||
QUANTUM_LIB_SRC += spi_master.c
|
||||
SRC += st7565.c
|
||||
endif
|
||||
|
||||
|
|
@ -974,18 +925,16 @@ ifeq ($(strip $(BLUETOOTH_ENABLE)), yes)
|
|||
SRC += outputselect.c
|
||||
|
||||
ifeq ($(strip $(BLUETOOTH_DRIVER)), bluefruit_le)
|
||||
OPT_DEFS += -DHAL_USE_SPI=TRUE
|
||||
SPI_DRIVER_REQUIRED = yes
|
||||
SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c
|
||||
SRC += $(DRIVER_PATH)/bluetooth/bluefruit_le.cpp
|
||||
QUANTUM_LIB_SRC += analog.c
|
||||
QUANTUM_LIB_SRC += spi_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(BLUETOOTH_DRIVER)), rn42)
|
||||
OPT_DEFS += -DHAL_USE_SERIAL=TRUE
|
||||
UART_DRIVER_REQUIRED = yes
|
||||
SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c
|
||||
SRC += $(DRIVER_PATH)/bluetooth/rn42.c
|
||||
QUANTUM_LIB_SRC += uart.c
|
||||
endif
|
||||
endif
|
||||
|
||||
|
|
@ -1004,3 +953,47 @@ ifeq ($(strip $(OS_DETECTION_ENABLE)), yes)
|
|||
OPT_DEFS += -DOS_DETECTION_DEBUG_ENABLE
|
||||
endif
|
||||
endif
|
||||
|
||||
VALID_WS2812_DRIVER_TYPES := bitbang custom i2c pwm spi vendor
|
||||
|
||||
WS2812_DRIVER ?= bitbang
|
||||
ifeq ($(strip $(WS2812_DRIVER_REQUIRED)), yes)
|
||||
ifeq ($(filter $(WS2812_DRIVER),$(VALID_WS2812_DRIVER_TYPES)),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid WS2812_DRIVER,WS2812_DRIVER="$(WS2812_DRIVER)" is not a valid WS2812 driver)
|
||||
endif
|
||||
|
||||
OPT_DEFS += -DWS2812_$(strip $(shell echo $(WS2812_DRIVER) | tr '[:lower:]' '[:upper:]'))
|
||||
|
||||
SRC += ws2812_$(strip $(WS2812_DRIVER)).c
|
||||
|
||||
ifeq ($(strip $(PLATFORM)), CHIBIOS)
|
||||
ifeq ($(strip $(WS2812_DRIVER)), pwm)
|
||||
OPT_DEFS += -DSTM32_DMA_REQUIRED=TRUE
|
||||
endif
|
||||
endif
|
||||
|
||||
# add extra deps
|
||||
ifeq ($(strip $(WS2812_DRIVER)), i2c)
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(APA102_DRIVER_REQUIRED)), yes)
|
||||
COMMON_VPATH += $(DRIVER_PATH)/led
|
||||
SRC += apa102.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(I2C_DRIVER_REQUIRED)), yes)
|
||||
OPT_DEFS += -DHAL_USE_I2C=TRUE
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(SPI_DRIVER_REQUIRED)), yes)
|
||||
OPT_DEFS += -DHAL_USE_SPI=TRUE
|
||||
QUANTUM_LIB_SRC += spi_master.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(UART_DRIVER_REQUIRED)), yes)
|
||||
OPT_DEFS += -DHAL_USE_SERIAL=TRUE
|
||||
QUANTUM_LIB_SRC += uart.c
|
||||
endif
|
||||
|
|
|
|||
|
|
@ -2,6 +2,18 @@
|
|||
|
||||
The I2C Master drivers used in QMK have a set of common functions to allow portability between MCUs.
|
||||
|
||||
## Usage :id=usage
|
||||
|
||||
In most cases, the I2C Master driver code is automatically included if you are using a feature or driver which requires it, such as [OLED](feature_oled_driver.md).
|
||||
|
||||
However, if you need to use the driver standalone, add the following to your `rules.mk`:
|
||||
|
||||
```make
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
```
|
||||
|
||||
You can then call the I2C API by including `i2c_master.h` in your code.
|
||||
|
||||
## I2C Addressing :id=note-on-i2c-addresses
|
||||
|
||||
All of the addresses expected by this driver should be pushed to the upper 7 bits of the address byte. Setting
|
||||
|
|
|
|||
|
|
@ -2,6 +2,18 @@
|
|||
|
||||
The SPI Master drivers used in QMK have a set of common functions to allow portability between MCUs.
|
||||
|
||||
## Usage :id=usage
|
||||
|
||||
In most cases, the SPI Master driver code is automatically included if you are using a feature or driver which requires it, such as [OLED](feature_oled_driver.md).
|
||||
|
||||
However, if you need to use the driver standalone, add the following to your `rules.mk`:
|
||||
|
||||
```make
|
||||
SPI_DRIVER_REQUIRED = yes
|
||||
```
|
||||
|
||||
You can then call the SPI API by including `spi_master.h` in your code.
|
||||
|
||||
## AVR Configuration :id=avr-configuration
|
||||
|
||||
No special setup is required - just connect the `SS`, `SCK`, `MOSI` and `MISO` pins of your SPI devices to the matching pins on the MCU:
|
||||
|
|
|
|||
|
|
@ -4,6 +4,18 @@ The UART drivers used in QMK have a set of common functions to allow portability
|
|||
|
||||
Currently, this driver does not support enabling hardware flow control (the `RTS` and `CTS` pins) if available, but may do so in future.
|
||||
|
||||
## Usage :id=usage
|
||||
|
||||
In most cases, the UART driver code is automatically included if you are using a feature or driver which requires it.
|
||||
|
||||
However, if you need to use the driver standalone, add the following to your `rules.mk`:
|
||||
|
||||
```make
|
||||
UART_DRIVER_REQUIRED = yes
|
||||
```
|
||||
|
||||
You can then call the UART API by including `uart.h` in your code.
|
||||
|
||||
## AVR Configuration :id=avr-configuration
|
||||
|
||||
No special setup is required - just connect the `RX` and `TX` pins of your UART device to the opposite pins on the MCU:
|
||||
|
|
|
|||
|
|
@ -16,4 +16,4 @@ NO_USB_STARTUP_CHECK = yes
|
|||
LTO_ENABLE = no
|
||||
|
||||
SRC += matrix.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
|
|
|
|||
|
|
@ -16,4 +16,4 @@ NO_USB_STARTUP_CHECK = yes
|
|||
LTO_ENABLE = no
|
||||
|
||||
SRC += matrix.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
|
|
|
|||
|
|
@ -13,4 +13,4 @@ AUDIO_ENABLE = no # Audio output
|
|||
# custom matrix setup
|
||||
CUSTOM_MATRIX = yes
|
||||
SRC += matrix.c
|
||||
QUANTUM_LIB_SRC += uart.c
|
||||
UART_DRIVER_REQUIRED = yes
|
||||
|
|
|
|||
|
|
@ -18,4 +18,4 @@ COMMON_VPATH += $(DRIVER_PATH)/issi
|
|||
# project specific files
|
||||
SRC += drivers/led/issi/is31fl3731.c
|
||||
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
|
|
|
|||
|
|
@ -1,3 +1 @@
|
|||
OLED_ENABLE = yes
|
||||
|
||||
OPT_DEFS += -DHAL_USE_I2C=TRUE
|
||||
|
|
|
|||
|
|
@ -1,3 +1 @@
|
|||
OLED_ENABLE = yes
|
||||
|
||||
OPT_DEFS += -DHAL_USE_I2C=TRUE
|
||||
|
|
|
|||
|
|
@ -26,4 +26,4 @@ AUDIO_SUPPORTED = no
|
|||
|
||||
# project specific files
|
||||
SRC += matrix.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
|
|
|
|||
|
|
@ -14,4 +14,4 @@ AUDIO_ENABLE = no # Audio output
|
|||
CUSTOM_MATRIX = lite
|
||||
|
||||
SRC += matrix.c
|
||||
QUANTUM_LIB_SRC += i2c_master.c
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
|
|
|
|||
|
|
@ -18,5 +18,5 @@ BLUETOOTH_ENABLE = yes
|
|||
|
||||
VIA_ENABLE = yes # VIA support should be enabled here due to the main() loop will be compiled first.
|
||||
|
||||
QUANTUM_LIB_SRC += uart.c
|
||||
UART_DRIVER_REQUIRED = yes
|
||||
SRC += bluetooth_custom.c
|
||||
|
|
|
|||
|
|
@ -15,5 +15,5 @@ LTO_ENABLE = yes
|
|||
|
||||
BLUETOOTH_ENABLE = yes
|
||||
|
||||
QUANTUM_LIB_SRC += uart.c
|
||||
UART_DRIVER_REQUIRED = yes
|
||||
SRC += bluetooth_custom.c
|
||||
|
|
|
|||
|
|
@ -18,5 +18,5 @@ BLUETOOTH_ENABLE = yes
|
|||
|
||||
VIA_ENABLE = yes # VIA support should be enabled here due to the main() loop will be compiled first.
|
||||
|
||||
QUANTUM_LIB_SRC += uart.c
|
||||
UART_DRIVER_REQUIRED = yes
|
||||
SRC += bluetooth_custom.c
|
||||
|
|
|
|||
|
|
@ -18,4 +18,4 @@ CUSTOM_MATRIX = lite
|
|||
|
||||
# project specific files
|
||||
SRC += matrix.c
|
||||
QUANTUM_LIB_SRC += uart.c
|
||||
UART_DRIVER_REQUIRED = yes
|
||||
|
|
|
|||
|
|
@ -1 +1,2 @@
|
|||
QUANTUM_LIB_SRC += max7219.c spi_master.c
|
||||
SPI_DRIVER_REQUIRED = yes
|
||||
QUANTUM_LIB_SRC += max7219.c
|
||||
|
|
|
|||
|
|
@ -14,6 +14,6 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
|
|||
CUSTOM_MATRIX = yes
|
||||
|
||||
SRC += matrix.c
|
||||
QUANTUM_LIB_SRC += uart.c
|
||||
UART_DRIVER_REQUIRED = yes
|
||||
|
||||
DEFAULT_FOLDER = converter/palm_usb/stowaway
|
||||
|
|
|
|||
|
|
@ -14,6 +14,6 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
|
|||
CUSTOM_MATRIX = yes
|
||||
|
||||
SRC += matrix.c led.c
|
||||
QUANTUM_LIB_SRC += uart.c
|
||||
UART_DRIVER_REQUIRED = yes
|
||||
|
||||
DEFAULT_FOLDER = converter/sun_usb/type5
|
||||
|
|
|
|||
|
|
@ -11,5 +11,5 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
|
|||
AUDIO_ENABLE = no # Audio output
|
||||
|
||||
CUSTOM_MATRIX = yes # Use custom matrix
|
||||
SRC += matrix.c \
|
||||
i2c_master.c
|
||||
SRC += matrix.c
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue