diff --git a/speeduino/auxiliaries.h b/speeduino/auxiliaries.h index c3d582b8..1aae707d 100644 --- a/speeduino/auxiliaries.h +++ b/speeduino/auxiliaries.h @@ -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 diff --git a/speeduino/board_stm32F407VE.h b/speeduino/board_stm32F407VE.h index a506a8f4..dcf3ecc6 100644 --- a/speeduino/board_stm32F407VE.h +++ b/speeduino/board_stm32F407VE.h @@ -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 diff --git a/speeduino/globals.h b/speeduino/globals.h index 3bef76d8..76df0926 100644 --- a/speeduino/globals.h +++ b/speeduino/globals.h @@ -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; diff --git a/speeduino/idle.h b/speeduino/idle.h index 243d6b0c..b5b164e1 100644 --- a/speeduino/idle.h +++ b/speeduino/idle.h @@ -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