1
0
Fork 0

Add Satisfaction75 to QMK, Enable EEPROM on stm32f072 (#5094)

* Add stm32f072 base ck4x4 to handwired

* add prints

* Save these tries

* Save changes again

* Working hadron oled

* OLEd working but ws2812b still iffy:

* save another try

* Encoder feature + OLED

* RTC code

* Implement clock setting mode

* Whitespace

* Encoder hooked up to working LED PWM code

* Add missing files

* eeprom changes

* Save changes

* Move i2c master

* Move satisfaction75 under cannonkeys

* Set proper default folder

* Revert some core changes

* Undo paved iris changes

* Reorganize code for maintainability and prep for new features

* Add starting code for clock OLED mode

* Clock set mode finished

* Add custom encoder modes

* Actually add VIA keymap

* Gate to only 072

* fix gate for only 072

* Update header guards and includes

* Update i2c selection strategy

* Update board.c to handle software reset to DFU
This commit is contained in:
Andrew Kannan 2019-02-13 11:03:26 -05:00 committed by MechMerlin
parent 824aa06c3c
commit 6b4549da8c
37 changed files with 5630 additions and 5 deletions

View file

@ -41,6 +41,11 @@ ifeq ($(PLATFORM),CHIBIOS)
TMK_COMMON_SRC += $(PLATFORM_COMMON_DIR)/flash_stm32.c
TMK_COMMON_DEFS += -DEEPROM_EMU_STM32F103xB
TMK_COMMON_DEFS += -DSTM32_EEPROM_ENABLE
else ifeq ($(MCU_SERIES)_$(MCU_LDSCRIPT), STM32F0xx_STM32F072xB)
TMK_COMMON_SRC += $(PLATFORM_COMMON_DIR)/eeprom_stm32.c
TMK_COMMON_SRC += $(PLATFORM_COMMON_DIR)/flash_stm32.c
TMK_COMMON_DEFS += -DEEPROM_EMU_STM32F072xB
TMK_COMMON_DEFS += -DSTM32_EEPROM_ENABLE
else
TMK_COMMON_SRC += $(PLATFORM_COMMON_DIR)/eeprom_teensy.c
endif

View file

@ -34,6 +34,8 @@
#define MCU_STM32F303CC
#elif defined(EEPROM_EMU_STM32F103xB)
#define MCU_STM32F103RB
#elif defined(EEPROM_EMU_STM32F072xB)
#define MCU_STM32F072CB
#else
#error "not implemented."
#endif
@ -42,7 +44,7 @@
#if defined (MCU_STM32F103RB)
#define FEE_PAGE_SIZE (uint16_t)0x400 // Page size = 1KByte
#define FEE_DENSITY_PAGES 2 // How many pages are used
#elif defined (MCU_STM32F103ZE) || defined (MCU_STM32F103RE) || defined (MCU_STM32F103RD) || defined (MCU_STM32F303CC)
#elif defined (MCU_STM32F103ZE) || defined (MCU_STM32F103RE) || defined (MCU_STM32F103RD) || defined (MCU_STM32F303CC) || defined(MCU_STM32F072CB)
#define FEE_PAGE_SIZE (uint16_t)0x800 // Page size = 2KByte
#define FEE_DENSITY_PAGES 4 // How many pages are used
#else
@ -51,7 +53,7 @@
#endif
#ifndef EEPROM_START_ADDRESS
#if defined (MCU_STM32F103RB)
#if defined (MCU_STM32F103RB) || defined(MCU_STM32F072CB)
#define FEE_MCU_FLASH_SIZE 128 // Size in Kb
#elif defined (MCU_STM32F103ZE) || defined (MCU_STM32F103RE)
#define FEE_MCU_FLASH_SIZE 512 // Size in Kb

View file

@ -22,6 +22,9 @@
#elif defined(EEPROM_EMU_STM32F103xB)
#define STM32F103xB
#include "stm32f1xx.h"
#elif defined(EEPROM_EMU_STM32F072xB)
#define STM32F072xB
#include "stm32f0xx.h"
#else
#error "not implemented."
#endif
@ -193,7 +196,7 @@ void FLASH_Lock(void)
* This parameter can be any combination of the following values:
* @arg FLASH_FLAG_PGERR: FLASH Programming error flag flag
* @arg FLASH_FLAG_WRPERR: FLASH Write protected error flag
* @arg FLASH_FLAG_EOP: FLASH End of Programming flag
* @arg FLASH_FLAG_EOP: FLASH End of Programming flag
* @retval None
*/
void FLASH_ClearFlag(uint32_t FLASH_FLAG)