# STM32F0xx Makefile
# #####################################
#
# Part of the uCtools project
# uctools.github.com
#######################################
# user configuration:
# SOURCES: list of sources in the user application
SOURCES = main.c usbd_conf.c usbd_cdc_if.c usb_device.c usbd_desc.c stm32f0xx_hal_msp.c stm32f0xx_it.c system_stm32f0xx.c gpio.c spi.c ssd1306.c stringhelpers.c eeprom_min.c display.c bootlib.c
SOURCES = main.c usbd_conf.c usbd_cdc_if.c usb_device.c usbd_desc.c stm32f0xx_hal_msp.c stm32f0xx_it.c system_stm32f0xx.c gpio.c spi.c ssd1306.c stringhelpers.c display.c bootlib.c
# TARGET: name of the user application
TARGET = main
# BUILD_DIR: directory to place output files in
BUILD_DIR = build
# LD_SCRIPT: location of the linker script
LD_SCRIPT = stm32f042c6_flash.ld
# USER_DEFS user defined macros
USER_DEFS = -D HSI48_VALUE=48000000 -D HSE_VALUE=16000000
# USER_INCLUDES: user defined includes
USER_INCLUDES =
# USB_INCLUDES: includes for the usb library
USB_INCLUDES = -Imiddlewares/ST/STM32_USB_Device_Library/Core/Inc
USB_INCLUDES += -Imiddlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc
# USER_CFLAGS: user C flags (enable warnings, enable debug info)
USER_CFLAGS = -Wall -g -ffunction-sections -fdata-sections -Os
# USER_LDFLAGS: user LD flags
USER_LDFLAGS = -fno-exceptions -ffunction-sections -fdata-sections -Wl,--gc-sections
# TARGET_DEVICE: device to compile for
TARGET_DEVICE = STM32F042x6
# end of user configuration
# binaries
CC = arm-none-eabi-gcc
AR = arm-none-eabi-ar
RANLIB = arm-none-eabi-ranlib
SIZE = arm-none-eabi-size
OBJCOPY = arm-none-eabi-objcopy
MKDIR = mkdir -p
# core and CPU type for Cortex M0
# ARM core type (CORE_M0, CORE_M3)
CORE = CORE_M0
# ARM CPU type (cortex-m0, cortex-m3)
CPU = cortex-m0
#include "stm32f0xx_hal.h"
#include "config.h"
#include "states.h"
#include "ssd1306.h"
#include "eeprom_min.h"
#include "gpio.h"
#include "spi.h"
#include "stringhelpers.h"
#include "display.h"
#include "usb_device.h"
#include "usbd_cdc_if.h"
// Prototypes
// Move to header file
void process();
void restore_settings();
void save_settings();
void save_setpoints();
void SystemClock_Config(void);
therm_settings_t set;
therm_status_t status;
// Globalish setting vars
SPI_HandleTypeDef hspi1;
static __IO uint32_t TimingDelay;
void deinit(void)
{
HAL_DeInit();
}
volatile int i=0;
int main(void)
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* Configure the system clock */
SystemClock_Config();
/* Unset bootloader option bytes (if set) */
void bootloader_unset(void);
/* Initialize all configured peripherals */
init_gpio();
MX_USB_DEVICE_Init();
// USB startup delay
Status change: