Clean compiling stm32F1 and F4 with stm32GENERIC
This commit is contained in:
parent
f8842c9935
commit
847d7d0c28
|
@ -30,12 +30,22 @@ lib_deps = EEPROM, FlexCAN
|
|||
;lib_deps = EEPROM
|
||||
|
||||
[env:genericSTM32F103RB]
|
||||
platform = ststm32@~4.5.0
|
||||
;platform = ststm32@~4.5.0
|
||||
platform = ststm32
|
||||
framework = arduino
|
||||
; framework-arduinoststm32
|
||||
board = genericSTM32F103RB
|
||||
lib_deps = EEPROM, HardwareTimer, Flash_STM32
|
||||
build_flags = -fpermissive -std=gnu++11 -UBOARD_NR_GPIO_PINS -DUSE_STM32GENERIC -DMENU_USB_SERIAL
|
||||
|
||||
[env:black_F407VE]
|
||||
;platform = ststm32@~4.5.0
|
||||
platform = ststm32
|
||||
framework = arduino
|
||||
; framework-arduinoststm32
|
||||
board = black_F407VE
|
||||
lib_deps = EEPROM
|
||||
build_flags = -fpermissive -std=gnu++11 -UBOARD_NR_GPIO_PINS
|
||||
build_flags = -fpermissive -std=gnu++11 -UBOARD_NR_GPIO_PINS -DUSE_STM32GENERIC -DMENU_USB_SERIAL
|
||||
|
||||
[env:bluepill_f103c8]
|
||||
platform = ststm32
|
||||
|
|
|
@ -82,13 +82,6 @@ void initialiseAuxPWM()
|
|||
|
||||
currentStatus.boostDuty = 0;
|
||||
boostCounter = 0;
|
||||
#if defined(CORE_STM32) //Need to be initialised last due to instant interrupt
|
||||
Timer1.setMode(2, TIMER_OUTPUT_COMPARE);
|
||||
Timer1.setMode(3, TIMER_OUTPUT_COMPARE);
|
||||
if(boost_pwm_max_count > 0) { Timer1.attachInterrupt(2, boostInterrupt);}
|
||||
if(vvt_pwm_max_count > 0) { Timer1.attachInterrupt(3, vvtInterrupt);}
|
||||
Timer1.resume();
|
||||
#endif
|
||||
|
||||
currentStatus.nitrous_status = NITROUS_OFF;
|
||||
|
||||
|
|
|
@ -2,8 +2,6 @@
|
|||
#define STM32_H
|
||||
#if defined(CORE_STM32)
|
||||
|
||||
#include "HardwareTimer.h"
|
||||
|
||||
/*
|
||||
***********************************************************************************************************
|
||||
* General
|
||||
|
@ -14,6 +12,10 @@
|
|||
void initBoard();
|
||||
uint16_t freeRam();
|
||||
|
||||
#if defined(USE_STM32GENERIC)
|
||||
#define Serial Serial1
|
||||
#endif
|
||||
|
||||
//Much of the below is not correct, but included to allow compilation
|
||||
//STM32F1/variants/.../board.cpp
|
||||
#if defined (STM32F4)
|
||||
|
@ -278,6 +280,12 @@
|
|||
#define IDLE_TIMER_DISABLE() (TIMER1->regs).gen->CCER &= ~TIMER_CCER_CC4E
|
||||
#endif
|
||||
|
||||
/*
|
||||
***********************************************************************************************************
|
||||
* Timers
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
***********************************************************************************************************
|
||||
* CAN / Second serial
|
||||
|
|
|
@ -4,6 +4,11 @@
|
|||
#include "auxiliaries.h"
|
||||
#include "idle.h"
|
||||
#include "scheduler.h"
|
||||
#include "HardwareTimer.h"
|
||||
#if defined(STM32F4)
|
||||
#include <stm32_TIM_variant_11.h>
|
||||
HardwareTimer Timer8(TIM8, chip_tim8, sizeof(chip_tim8) / sizeof(chip_tim8[0]));
|
||||
#endif
|
||||
|
||||
void initBoard()
|
||||
{
|
||||
|
@ -11,6 +16,7 @@ void initBoard()
|
|||
***********************************************************************************************************
|
||||
* General
|
||||
*/
|
||||
#define FLASH_LENGTH 8192
|
||||
|
||||
|
||||
/*
|
||||
|
@ -24,6 +30,7 @@ void initBoard()
|
|||
|
||||
//This must happen at the end of the idle init
|
||||
Timer1.setMode(4, TIMER_OUTPUT_COMPARE);
|
||||
//timer_set_mode(TIMER1, 4, TIMER_OUTPUT_COMPARE;
|
||||
if(idle_pwm_max_count > 0) { Timer1.attachInterrupt(4, idleInterrupt);} //on first flash the configPage4.iacAlgorithm is invalid
|
||||
Timer1.resume();
|
||||
|
||||
|
@ -53,6 +60,13 @@ void initBoard()
|
|||
boost_pwm_max_count = 1000000L / (2 * configPage6.boostFreq * 2); //Converts the frequency in Hz to the number of ticks (at 2uS) it takes to complete 1 cycle. The x2 is there because the frequency is stored at half value (in a byte) to allow freqneucies up to 511Hz
|
||||
vvt_pwm_max_count = 1000000L / (2 * configPage6.vvtFreq * 2); //Converts the frequency in Hz to the number of ticks (at 2uS) it takes to complete 1 cycle
|
||||
|
||||
//Need to be initialised last due to instant interrupt
|
||||
Timer1.setMode(2, TIMER_OUTPUT_COMPARE);
|
||||
Timer1.setMode(3, TIMER_OUTPUT_COMPARE);
|
||||
if(boost_pwm_max_count > 0) { Timer1.attachInterrupt(2, boostInterrupt);}
|
||||
if(vvt_pwm_max_count > 0) { Timer1.attachInterrupt(3, vvtInterrupt);}
|
||||
Timer1.resume();
|
||||
|
||||
/*
|
||||
***********************************************************************************************************
|
||||
* Schedules
|
||||
|
|
Loading…
Reference in New Issue