added correct port mask and pin mask types for stm32

This commit is contained in:
hoogendijkta 2019-02-24 12:18:14 +01:00
parent 86fc1b645b
commit 1841009e04
4 changed files with 32 additions and 31 deletions

View File

@ -25,17 +25,17 @@ void fanControl();
#define READ_N2O_ARM_PIN() ((*n2o_arming_pin_port & n2o_arming_pin_mask) ? true : false)
volatile PORT_TYPE *boost_pin_port;
volatile byte boost_pin_mask;
volatile PINMAKS_TYPE boost_pin_mask;
volatile PORT_TYPE *vvt_pin_port;
volatile byte vvt_pin_mask;
volatile PINMAKS_TYPE vvt_pin_mask;
volatile PORT_TYPE *fan_pin_port;
volatile byte fan_pin_mask;
volatile PINMAKS_TYPE fan_pin_mask;
volatile PORT_TYPE *n2o_stage1_pin_port;
volatile byte n2o_stage1_pin_mask;
volatile PINMAKS_TYPE n2o_stage1_pin_mask;
volatile PORT_TYPE *n2o_stage2_pin_port;
volatile byte n2o_stage2_pin_mask;
volatile PINMAKS_TYPE n2o_stage2_pin_mask;
volatile PORT_TYPE *n2o_arming_pin_port;
volatile byte n2o_arming_pin_mask;
volatile PINMAKS_TYPE n2o_arming_pin_mask;
volatile bool boost_pwm_state;
unsigned int boost_pwm_max_count; //Used for variable PWM frequency

View File

@ -6,7 +6,8 @@
***********************************************************************************************************
* General
*/
#define PORT_TYPE uint8_t
#define PORT_TYPE uint32_t
#define PINMAKS_TYPE uint32_t
#define micros_safe() micros() //timer5 method is not used on anything but AVR, the micros_safe() macro is simply an alias for the normal micros()
#define USE_SERIAL3

View File

@ -51,8 +51,8 @@
extern "C" char* sbrk(int incr); //Used to freeRam
#if defined(ARDUINO_ARCH_STM32) // STM32GENERIC core
//inline unsigned char digitalPinToInterrupt(unsigned char Interrupt_pin) { return Interrupt_pin; } //This isn't included in the stm32duino libs (yet)
#define portOutputRegister(port) (volatile byte *)( &(port->ODR) )
#define portInputRegister(port) (volatile byte *)( &(port->IDR) )
// #define portOutputRegister(port) (volatile byte *)( &(port->ODR) )
// #define portInputRegister(port) (volatile byte *)( &(port->IDR) )
#else //libmaple core aka STM32DUINO
//These are defined in STM32F1/variants/generic_stm32f103c/variant.h but return a non byte* value
#define portOutputRegister(port) (volatile byte *)( &(port->regs->ODR) )
@ -252,48 +252,48 @@ struct table2D knockWindowDurationTable;
//These are for the direct port manipulation of the injectors, coils and aux outputs
volatile PORT_TYPE *inj1_pin_port;
volatile byte inj1_pin_mask;
volatile PINMAKS_TYPE inj1_pin_mask;
volatile PORT_TYPE *inj2_pin_port;
volatile byte inj2_pin_mask;
volatile PINMAKS_TYPE inj2_pin_mask;
volatile PORT_TYPE *inj3_pin_port;
volatile byte inj3_pin_mask;
volatile PINMAKS_TYPE inj3_pin_mask;
volatile PORT_TYPE *inj4_pin_port;
volatile byte inj4_pin_mask;
volatile PINMAKS_TYPE inj4_pin_mask;
volatile PORT_TYPE *inj5_pin_port;
volatile byte inj5_pin_mask;
volatile PINMAKS_TYPE inj5_pin_mask;
volatile PORT_TYPE *inj6_pin_port;
volatile byte inj6_pin_mask;
volatile PINMAKS_TYPE inj6_pin_mask;
volatile PORT_TYPE *inj7_pin_port;
volatile byte inj7_pin_mask;
volatile PINMAKS_TYPE inj7_pin_mask;
volatile PORT_TYPE *inj8_pin_port;
volatile byte inj8_pin_mask;
volatile PINMAKS_TYPE inj8_pin_mask;
volatile PORT_TYPE *ign1_pin_port;
volatile byte ign1_pin_mask;
volatile PINMAKS_TYPE ign1_pin_mask;
volatile PORT_TYPE *ign2_pin_port;
volatile byte ign2_pin_mask;
volatile PINMAKS_TYPE ign2_pin_mask;
volatile PORT_TYPE *ign3_pin_port;
volatile byte ign3_pin_mask;
volatile PINMAKS_TYPE ign3_pin_mask;
volatile PORT_TYPE *ign4_pin_port;
volatile byte ign4_pin_mask;
volatile PINMAKS_TYPE ign4_pin_mask;
volatile PORT_TYPE *ign5_pin_port;
volatile byte ign5_pin_mask;
volatile PINMAKS_TYPE ign5_pin_mask;
volatile PORT_TYPE *ign6_pin_port;
volatile byte ign6_pin_mask;
volatile PINMAKS_TYPE ign6_pin_mask;
volatile PORT_TYPE *ign7_pin_port;
volatile byte ign7_pin_mask;
volatile PINMAKS_TYPE ign7_pin_mask;
volatile PORT_TYPE *ign8_pin_port;
volatile byte ign8_pin_mask;
volatile PINMAKS_TYPE ign8_pin_mask;
volatile PORT_TYPE *tach_pin_port;
volatile byte tach_pin_mask;
volatile PINMAKS_TYPE tach_pin_mask;
volatile PORT_TYPE *pump_pin_port;
volatile byte pump_pin_mask;
volatile PINMAKS_TYPE pump_pin_mask;
volatile PORT_TYPE *triggerPri_pin_port;
volatile byte triggerPri_pin_mask;
volatile PINMAKS_TYPE triggerPri_pin_mask;
volatile PORT_TYPE *triggerSec_pin_port;
volatile byte triggerSec_pin_mask;
volatile PINMAKS_TYPE triggerSec_pin_mask;
//These need to be here as they are used in both speeduino.ino and scheduler.ino
bool channel1InjEnabled = true;

View File

@ -42,9 +42,9 @@ unsigned int iacStepTime;
unsigned int completedHomeSteps;
volatile PORT_TYPE *idle_pin_port;
volatile byte idle_pin_mask;
volatile PINMAKS_TYPE idle_pin_mask;
volatile PORT_TYPE *idle2_pin_port;
volatile byte idle2_pin_mask;
volatile PINMAKS_TYPE idle2_pin_mask;
volatile bool idle_pwm_state;
unsigned int idle_pwm_max_count; //Used for variable PWM frequency