Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
93153e84d8
|
@ -45,12 +45,6 @@
|
||||||
#define EFI_PIN_MODE_DEFAULT PIN_MODE_INPUT
|
#define EFI_PIN_MODE_DEFAULT PIN_MODE_INPUT
|
||||||
#define EFI_DR_DEFAULT PIN_PUPDR_FLOATING
|
#define EFI_DR_DEFAULT PIN_PUPDR_FLOATING
|
||||||
|
|
||||||
// older Frankenso does not have pull-downs on hi-side drivers and this affects rusEfi primary test mules
|
|
||||||
// https://github.com/rusefi/rusefi/issues/1051
|
|
||||||
#define FRANKENSO_0_4_ISSUE_1051_MODE PIN_MODE_OUTPUT
|
|
||||||
#define FRANKENSO_0_4_ISSUE_1051_OTYPE PIN_OTYPE_PUSHPULL
|
|
||||||
#define FRANKENSO_0_4_ISSUE_1051_PUD PIN_PUPDR_PULLDOWN
|
|
||||||
#define FRANKENSO_0_4_ISSUE_1051_ODR PIN_ODR_LOW
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Board oscillators-related settings.
|
* Board oscillators-related settings.
|
||||||
|
@ -550,9 +544,9 @@
|
||||||
EFI_PIN_MODE_DEFAULT(GPIOC_PIN4) | \
|
EFI_PIN_MODE_DEFAULT(GPIOC_PIN4) | \
|
||||||
EFI_PIN_MODE_DEFAULT(GPIOC_PIN5) | \
|
EFI_PIN_MODE_DEFAULT(GPIOC_PIN5) | \
|
||||||
EFI_PIN_MODE_DEFAULT(GPIOC_PIN6) | \
|
EFI_PIN_MODE_DEFAULT(GPIOC_PIN6) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_MODE(GPIOC_PIN7) | \
|
EFI_PIN_MODE_DEFAULT(GPIOC_PIN7) | \
|
||||||
EFI_PIN_MODE_DEFAULT(GPIOC_PIN8) | \
|
EFI_PIN_MODE_DEFAULT(GPIOC_PIN8) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_MODE(GPIOC_PIN9) | \
|
EFI_PIN_MODE_DEFAULT(GPIOC_PIN9) | \
|
||||||
EFI_PIN_MODE_DEFAULT(GPIOC_PIN10) | \
|
EFI_PIN_MODE_DEFAULT(GPIOC_PIN10) | \
|
||||||
EFI_PIN_MODE_DEFAULT(GPIOC_PIN11) | \
|
EFI_PIN_MODE_DEFAULT(GPIOC_PIN11) | \
|
||||||
EFI_PIN_MODE_DEFAULT(GPIOC_PIN12) | \
|
EFI_PIN_MODE_DEFAULT(GPIOC_PIN12) | \
|
||||||
|
@ -566,9 +560,9 @@
|
||||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN4) | \
|
PIN_OTYPE_PUSHPULL(GPIOC_PIN4) | \
|
||||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN5) | \
|
PIN_OTYPE_PUSHPULL(GPIOC_PIN5) | \
|
||||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN6) | \
|
PIN_OTYPE_PUSHPULL(GPIOC_PIN6) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_OTYPE(GPIOC_PIN7) | \
|
PIN_OTYPE_PUSHPULL(GPIOC_PIN7) | \
|
||||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN8) | \
|
PIN_OTYPE_PUSHPULL(GPIOC_PIN8) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_OTYPE(GPIOC_PIN9) | \
|
PIN_OTYPE_PUSHPULL(GPIOC_PIN9) | \
|
||||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN10) | \
|
PIN_OTYPE_PUSHPULL(GPIOC_PIN10) | \
|
||||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN11) | \
|
PIN_OTYPE_PUSHPULL(GPIOC_PIN11) | \
|
||||||
PIN_OTYPE_PUSHPULL(GPIOC_PIN10) | \
|
PIN_OTYPE_PUSHPULL(GPIOC_PIN10) | \
|
||||||
|
@ -592,21 +586,21 @@
|
||||||
DEFAULT_GPIO_SPEED(GPIOC_PIN14) | \
|
DEFAULT_GPIO_SPEED(GPIOC_PIN14) | \
|
||||||
DEFAULT_GPIO_SPEED(GPIOC_PIN15))
|
DEFAULT_GPIO_SPEED(GPIOC_PIN15))
|
||||||
#define VAL_GPIOC_PUPDR (EFI_DR_DEFAULT(GPIOC_OTG_FS_POWER_ON) |\
|
#define VAL_GPIOC_PUPDR (EFI_DR_DEFAULT(GPIOC_OTG_FS_POWER_ON) |\
|
||||||
EFI_DR_DEFAULT(GPIOC_PIN1) | \
|
PIN_PUPDR_PULLDOWN(GPIOC_PIN1) | \
|
||||||
EFI_DR_DEFAULT(GPIOC_PIN2) | \
|
PIN_PUPDR_PULLDOWN(GPIOC_PIN2) | \
|
||||||
EFI_DR_DEFAULT(GPIOC_PIN3) | \
|
PIN_PUPDR_PULLDOWN(GPIOC_PIN3) | \
|
||||||
EFI_DR_DEFAULT(GPIOC_PIN4) | \
|
PIN_PUPDR_PULLDOWN(GPIOC_PIN4) | \
|
||||||
EFI_DR_DEFAULT(GPIOC_PIN5) | \
|
PIN_PUPDR_PULLDOWN(GPIOC_PIN5) | \
|
||||||
EFI_DR_DEFAULT(GPIOC_PIN6) | \
|
PIN_PUPDR_PULLDOWN(GPIOC_PIN6) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_PUD(GPIOC_PIN7) | \
|
PIN_PUPDR_PULLDOWN(GPIOC_PIN7) | \
|
||||||
EFI_DR_DEFAULT(GPIOC_PIN8) | \
|
PIN_PUPDR_PULLDOWN(GPIOC_PIN8) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_PUD(GPIOC_PIN9) | \
|
PIN_PUPDR_PULLDOWN(GPIOC_PIN9) | \
|
||||||
EFI_DR_DEFAULT(GPIOC_PIN10) | \
|
PIN_PUPDR_PULLDOWN(GPIOC_PIN10) | \
|
||||||
EFI_DR_DEFAULT(GPIOC_PIN11) | \
|
PIN_PUPDR_PULLDOWN(GPIOC_PIN11) | \
|
||||||
EFI_DR_DEFAULT(GPIOC_PIN12) | \
|
PIN_PUPDR_PULLDOWN(GPIOC_PIN12) | \
|
||||||
EFI_DR_DEFAULT(GPIOC_PIN13) | \
|
PIN_PUPDR_PULLDOWN(GPIOC_PIN13) | \
|
||||||
EFI_DR_DEFAULT(GPIOC_PIN14) | \
|
PIN_PUPDR_PULLDOWN(GPIOC_PIN14) | \
|
||||||
EFI_DR_DEFAULT(GPIOC_PIN15))
|
PIN_PUPDR_PULLDOWN(GPIOC_PIN15))
|
||||||
#define VAL_GPIOC_ODR (PIN_ODR_HIGH(GPIOC_OTG_FS_POWER_ON) | \
|
#define VAL_GPIOC_ODR (PIN_ODR_HIGH(GPIOC_OTG_FS_POWER_ON) | \
|
||||||
PIN_ODR_HIGH(GPIOC_PIN1) | \
|
PIN_ODR_HIGH(GPIOC_PIN1) | \
|
||||||
PIN_ODR_HIGH(GPIOC_PIN2) | \
|
PIN_ODR_HIGH(GPIOC_PIN2) | \
|
||||||
|
@ -614,9 +608,9 @@
|
||||||
PIN_ODR_HIGH(GPIOC_PIN4) | \
|
PIN_ODR_HIGH(GPIOC_PIN4) | \
|
||||||
PIN_ODR_HIGH(GPIOC_PIN5) | \
|
PIN_ODR_HIGH(GPIOC_PIN5) | \
|
||||||
PIN_ODR_HIGH(GPIOC_PIN6) | \
|
PIN_ODR_HIGH(GPIOC_PIN6) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_ODR(GPIOC_PIN7) | \
|
PIN_ODR_HIGH(GPIOC_PIN7) | \
|
||||||
PIN_ODR_HIGH(GPIOC_PIN8) | \
|
PIN_ODR_HIGH(GPIOC_PIN8) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_ODR(GPIOC_PIN9) | \
|
PIN_ODR_HIGH(GPIOC_PIN9) | \
|
||||||
PIN_ODR_HIGH(GPIOC_PIN10) | \
|
PIN_ODR_HIGH(GPIOC_PIN10) | \
|
||||||
PIN_ODR_HIGH(GPIOC_PIN11) | \
|
PIN_ODR_HIGH(GPIOC_PIN11) | \
|
||||||
PIN_ODR_HIGH(GPIOC_PIN12) | \
|
PIN_ODR_HIGH(GPIOC_PIN12) | \
|
||||||
|
@ -668,8 +662,8 @@
|
||||||
EFI_PIN_MODE_DEFAULT(GPIOD_OVER_CURRENT) | \
|
EFI_PIN_MODE_DEFAULT(GPIOD_OVER_CURRENT) | \
|
||||||
EFI_PIN_MODE_DEFAULT(GPIOD_PIN6) | \
|
EFI_PIN_MODE_DEFAULT(GPIOD_PIN6) | \
|
||||||
EFI_PIN_MODE_DEFAULT(GPIOD_PIN7) | \
|
EFI_PIN_MODE_DEFAULT(GPIOD_PIN7) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_MODE(GPIOD_PIN8) | \
|
EFI_PIN_MODE_DEFAULT(GPIOD_PIN8) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_MODE(GPIOD_PIN9) | \
|
EFI_PIN_MODE_DEFAULT(GPIOD_PIN9) | \
|
||||||
EFI_PIN_MODE_DEFAULT(GPIOD_PIN10) | \
|
EFI_PIN_MODE_DEFAULT(GPIOD_PIN10) | \
|
||||||
EFI_PIN_MODE_DEFAULT(GPIOD_PIN11) | \
|
EFI_PIN_MODE_DEFAULT(GPIOD_PIN11) | \
|
||||||
PIN_MODE_OUTPUT(GPIOD_LED4) | \
|
PIN_MODE_OUTPUT(GPIOD_LED4) | \
|
||||||
|
@ -684,8 +678,8 @@
|
||||||
PIN_OTYPE_PUSHPULL(GPIOD_OVER_CURRENT) |\
|
PIN_OTYPE_PUSHPULL(GPIOD_OVER_CURRENT) |\
|
||||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN6) | \
|
PIN_OTYPE_PUSHPULL(GPIOD_PIN6) | \
|
||||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN7) | \
|
PIN_OTYPE_PUSHPULL(GPIOD_PIN7) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_OTYPE(GPIOD_PIN8) | \
|
PIN_OTYPE_PUSHPULL(GPIOD_PIN8) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_OTYPE(GPIOD_PIN9) | \
|
PIN_OTYPE_PUSHPULL(GPIOD_PIN9) | \
|
||||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN10) | \
|
PIN_OTYPE_PUSHPULL(GPIOD_PIN10) | \
|
||||||
PIN_OTYPE_PUSHPULL(GPIOD_PIN11) | \
|
PIN_OTYPE_PUSHPULL(GPIOD_PIN11) | \
|
||||||
PIN_OTYPE_PUSHPULL(GPIOD_LED4) | \
|
PIN_OTYPE_PUSHPULL(GPIOD_LED4) | \
|
||||||
|
@ -716,8 +710,8 @@
|
||||||
EFI_DR_DEFAULT(GPIOD_OVER_CURRENT) |\
|
EFI_DR_DEFAULT(GPIOD_OVER_CURRENT) |\
|
||||||
PIN_PUPDR_PULLUP(GPIOD_PIN6) | \
|
PIN_PUPDR_PULLUP(GPIOD_PIN6) | \
|
||||||
PIN_PUPDR_PULLUP(GPIOD_PIN7) | \
|
PIN_PUPDR_PULLUP(GPIOD_PIN7) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_PUD(GPIOD_PIN8) | \
|
PIN_PUPDR_PULLUP(GPIOD_PIN8) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_PUD(GPIOD_PIN9) | \
|
PIN_PUPDR_PULLUP(GPIOD_PIN9) | \
|
||||||
PIN_PUPDR_PULLUP(GPIOD_PIN10) | \
|
PIN_PUPDR_PULLUP(GPIOD_PIN10) | \
|
||||||
PIN_PUPDR_PULLUP(GPIOD_PIN11) | \
|
PIN_PUPDR_PULLUP(GPIOD_PIN11) | \
|
||||||
EFI_DR_DEFAULT(GPIOD_LED4) | \
|
EFI_DR_DEFAULT(GPIOD_LED4) | \
|
||||||
|
@ -732,8 +726,8 @@
|
||||||
PIN_ODR_HIGH(GPIOD_OVER_CURRENT) | \
|
PIN_ODR_HIGH(GPIOD_OVER_CURRENT) | \
|
||||||
PIN_ODR_HIGH(GPIOD_PIN6) | \
|
PIN_ODR_HIGH(GPIOD_PIN6) | \
|
||||||
PIN_ODR_HIGH(GPIOD_PIN7) | \
|
PIN_ODR_HIGH(GPIOD_PIN7) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_ODR(GPIOD_PIN8) | \
|
PIN_ODR_HIGH(GPIOD_PIN8) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_ODR(GPIOD_PIN9) | \
|
PIN_ODR_HIGH(GPIOD_PIN9) | \
|
||||||
PIN_ODR_HIGH(GPIOD_PIN10) | \
|
PIN_ODR_HIGH(GPIOD_PIN10) | \
|
||||||
PIN_ODR_HIGH(GPIOD_PIN11) | \
|
PIN_ODR_HIGH(GPIOD_PIN11) | \
|
||||||
PIN_ODR_LOW(GPIOD_LED4) | \
|
PIN_ODR_LOW(GPIOD_LED4) | \
|
||||||
|
@ -785,13 +779,13 @@
|
||||||
EFI_PIN_MODE_DEFAULT(GPIOE_PIN5) | \
|
EFI_PIN_MODE_DEFAULT(GPIOE_PIN5) | \
|
||||||
EFI_PIN_MODE_DEFAULT(GPIOE_PIN6) | \
|
EFI_PIN_MODE_DEFAULT(GPIOE_PIN6) | \
|
||||||
EFI_PIN_MODE_DEFAULT(GPIOE_PIN7) | \
|
EFI_PIN_MODE_DEFAULT(GPIOE_PIN7) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_MODE(GPIOE_PIN8) | \
|
EFI_PIN_MODE_DEFAULT(GPIOE_PIN8) | \
|
||||||
EFI_PIN_MODE_DEFAULT(GPIOE_PIN9) | \
|
EFI_PIN_MODE_DEFAULT(GPIOE_PIN9) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_MODE(GPIOE_PIN10) | \
|
EFI_PIN_MODE_DEFAULT(GPIOE_PIN10) | \
|
||||||
EFI_PIN_MODE_DEFAULT(GPIOE_PIN11) | \
|
EFI_PIN_MODE_DEFAULT(GPIOE_PIN11) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_MODE(GPIOE_PIN12) | \
|
EFI_PIN_MODE_DEFAULT(GPIOE_PIN12) | \
|
||||||
EFI_PIN_MODE_DEFAULT(GPIOE_PIN13) | \
|
EFI_PIN_MODE_DEFAULT(GPIOE_PIN13) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_MODE(GPIOE_PIN14) | \
|
EFI_PIN_MODE_DEFAULT(GPIOE_PIN14) | \
|
||||||
EFI_PIN_MODE_DEFAULT(GPIOE_PIN15))
|
EFI_PIN_MODE_DEFAULT(GPIOE_PIN15))
|
||||||
#define VAL_GPIOE_OTYPER (PIN_OTYPE_PUSHPULL(GPIOE_PIN0) | \
|
#define VAL_GPIOE_OTYPER (PIN_OTYPE_PUSHPULL(GPIOE_PIN0) | \
|
||||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN1) | \
|
PIN_OTYPE_PUSHPULL(GPIOE_PIN1) | \
|
||||||
|
@ -801,13 +795,13 @@
|
||||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN5) | \
|
PIN_OTYPE_PUSHPULL(GPIOE_PIN5) | \
|
||||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN6) | \
|
PIN_OTYPE_PUSHPULL(GPIOE_PIN6) | \
|
||||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN7) | \
|
PIN_OTYPE_PUSHPULL(GPIOE_PIN7) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_OTYPE(GPIOE_PIN8) | \
|
PIN_OTYPE_PUSHPULL(GPIOE_PIN8) | \
|
||||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN9) | \
|
PIN_OTYPE_PUSHPULL(GPIOE_PIN9) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_OTYPE(GPIOE_PIN10) | \
|
PIN_OTYPE_PUSHPULL(GPIOE_PIN10) | \
|
||||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN11) | \
|
PIN_OTYPE_PUSHPULL(GPIOE_PIN11) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_OTYPE(GPIOE_PIN12) | \
|
PIN_OTYPE_PUSHPULL(GPIOE_PIN12) | \
|
||||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN13) | \
|
PIN_OTYPE_PUSHPULL(GPIOE_PIN13) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_OTYPE(GPIOE_PIN14) | \
|
PIN_OTYPE_PUSHPULL(GPIOE_PIN14) | \
|
||||||
PIN_OTYPE_PUSHPULL(GPIOE_PIN15))
|
PIN_OTYPE_PUSHPULL(GPIOE_PIN15))
|
||||||
#define VAL_GPIOE_OSPEEDR (DEFAULT_GPIO_SPEED(GPIOE_PIN0) | \
|
#define VAL_GPIOE_OSPEEDR (DEFAULT_GPIO_SPEED(GPIOE_PIN0) | \
|
||||||
DEFAULT_GPIO_SPEED(GPIOE_PIN1) | \
|
DEFAULT_GPIO_SPEED(GPIOE_PIN1) | \
|
||||||
|
@ -833,13 +827,13 @@
|
||||||
EFI_DR_DEFAULT(GPIOE_PIN5) | \
|
EFI_DR_DEFAULT(GPIOE_PIN5) | \
|
||||||
EFI_DR_DEFAULT(GPIOE_PIN6) | \
|
EFI_DR_DEFAULT(GPIOE_PIN6) | \
|
||||||
EFI_DR_DEFAULT(GPIOE_PIN7) | \
|
EFI_DR_DEFAULT(GPIOE_PIN7) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_PUD(GPIOE_PIN8) | \
|
EFI_DR_DEFAULT(GPIOE_PIN8) | \
|
||||||
EFI_DR_DEFAULT(GPIOE_PIN9) | \
|
EFI_DR_DEFAULT(GPIOE_PIN9) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_PUD(GPIOE_PIN10) | \
|
EFI_DR_DEFAULT(GPIOE_PIN10) | \
|
||||||
EFI_DR_DEFAULT(GPIOE_PIN11) | \
|
EFI_DR_DEFAULT(GPIOE_PIN11) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_PUD(GPIOE_PIN12) | \
|
EFI_DR_DEFAULT(GPIOE_PIN12) | \
|
||||||
EFI_DR_DEFAULT(GPIOE_PIN13) | \
|
EFI_DR_DEFAULT(GPIOE_PIN13) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_PUD(GPIOE_PIN14) | \
|
EFI_DR_DEFAULT(GPIOE_PIN14) | \
|
||||||
EFI_DR_DEFAULT(GPIOE_PIN15))
|
EFI_DR_DEFAULT(GPIOE_PIN15))
|
||||||
#define VAL_GPIOE_ODR (PIN_ODR_HIGH(GPIOE_PIN0) | \
|
#define VAL_GPIOE_ODR (PIN_ODR_HIGH(GPIOE_PIN0) | \
|
||||||
PIN_ODR_HIGH(GPIOE_PIN1) | \
|
PIN_ODR_HIGH(GPIOE_PIN1) | \
|
||||||
|
@ -849,13 +843,13 @@
|
||||||
PIN_ODR_HIGH(GPIOE_PIN5) | \
|
PIN_ODR_HIGH(GPIOE_PIN5) | \
|
||||||
PIN_ODR_HIGH(GPIOE_PIN6) | \
|
PIN_ODR_HIGH(GPIOE_PIN6) | \
|
||||||
PIN_ODR_HIGH(GPIOE_PIN7) | \
|
PIN_ODR_HIGH(GPIOE_PIN7) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_ODR(GPIOE_PIN8) | \
|
PIN_ODR_HIGH(GPIOE_PIN8) | \
|
||||||
PIN_ODR_HIGH(GPIOE_PIN9) | \
|
PIN_ODR_HIGH(GPIOE_PIN9) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_ODR(GPIOE_PIN10) | \
|
PIN_ODR_HIGH(GPIOE_PIN10) | \
|
||||||
PIN_ODR_HIGH(GPIOE_PIN11) | \
|
PIN_ODR_HIGH(GPIOE_PIN11) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_ODR(GPIOE_PIN12) | \
|
PIN_ODR_HIGH(GPIOE_PIN12) | \
|
||||||
PIN_ODR_HIGH(GPIOE_PIN13) | \
|
PIN_ODR_HIGH(GPIOE_PIN13) | \
|
||||||
FRANKENSO_0_4_ISSUE_1051_ODR(GPIOE_PIN14) | \
|
PIN_ODR_HIGH(GPIOE_PIN14) | \
|
||||||
PIN_ODR_HIGH(GPIOE_PIN15))
|
PIN_ODR_HIGH(GPIOE_PIN15))
|
||||||
#define VAL_GPIOE_AFRL (PIN_AFIO_AF(GPIOE_PIN0, 0U) | \
|
#define VAL_GPIOE_AFRL (PIN_AFIO_AF(GPIOE_PIN0, 0U) | \
|
||||||
PIN_AFIO_AF(GPIOE_PIN1, 0U) | \
|
PIN_AFIO_AF(GPIOE_PIN1, 0U) | \
|
||||||
|
|
|
@ -388,7 +388,7 @@ static void showEthInfo(void) {
|
||||||
for (int i = 0 ; i < engine->etbActualCount; i++) {
|
for (int i = 0 ; i < engine->etbActualCount; i++) {
|
||||||
EtbHardware *etb = &etbHardware[i];
|
EtbHardware *etb = &etbHardware[i];
|
||||||
|
|
||||||
scheduleMsg(&logger, "ETB %%d", i);
|
scheduleMsg(&logger, "ETB %d", i);
|
||||||
scheduleMsg(&logger, "Motor: dir=%d DC=%f", etb->dcMotor.isOpenDirection(), etb->dcMotor.get());
|
scheduleMsg(&logger, "Motor: dir=%d DC=%f", etb->dcMotor.isOpenDirection(), etb->dcMotor.get());
|
||||||
etbControllers[i].showStatus(&logger);
|
etbControllers[i].showStatus(&logger);
|
||||||
}
|
}
|
||||||
|
|
|
@ -122,72 +122,52 @@ static uint32_t lastEventCallbackDuration;
|
||||||
int EventQueue::executeAll(efitime_t now) {
|
int EventQueue::executeAll(efitime_t now) {
|
||||||
ScopePerf perf(PE::EventQueueExecuteAll);
|
ScopePerf perf(PE::EventQueueExecuteAll);
|
||||||
|
|
||||||
|
|
||||||
scheduling_s * current, *tmp;
|
|
||||||
|
|
||||||
scheduling_s * executionList = nullptr;
|
|
||||||
scheduling_s * lastInExecutionList = nullptr;
|
|
||||||
|
|
||||||
int listIterationCounter = 0;
|
|
||||||
int executionCounter = 0;
|
int executionCounter = 0;
|
||||||
// we need safe iteration because we are removing elements inside the loop
|
|
||||||
LL_FOREACH_SAFE2(head, current, tmp, nextScheduling_s)
|
|
||||||
{
|
|
||||||
if (++listIterationCounter > QUEUE_LENGTH_LIMIT) {
|
|
||||||
firmwareError(CUSTOM_LIST_LOOP, "Is this list looped?");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (current->momentX <= now) {
|
|
||||||
executionCounter++;
|
|
||||||
efiAssert(CUSTOM_ERR_ASSERT, head == current, "removing from head", -1);
|
|
||||||
//LL_DELETE(head, current);
|
|
||||||
head = head->nextScheduling_s;
|
|
||||||
if (executionList == NULL) {
|
|
||||||
lastInExecutionList = executionList = current;
|
|
||||||
} else {
|
|
||||||
lastInExecutionList->nextScheduling_s = current;
|
|
||||||
lastInExecutionList = current;
|
|
||||||
}
|
|
||||||
current->nextScheduling_s = nullptr;
|
|
||||||
} else {
|
|
||||||
/**
|
|
||||||
* The list is sorted. Once we find one action in the future, all the remaining ones
|
|
||||||
* are also in the future.
|
|
||||||
*/
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#if EFI_UNIT_TEST
|
#if EFI_UNIT_TEST
|
||||||
assertListIsSorted();
|
assertListIsSorted();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
while (true) {
|
||||||
* we need safe iteration here because 'callback' might change change 'current->next'
|
// Read the head every time - a previously executed event could
|
||||||
* while re-inserting it into the queue from within the callback
|
// have inserted something new at the head
|
||||||
*/
|
scheduling_s* current = head;
|
||||||
LL_FOREACH_SAFE2(executionList, current, tmp, nextScheduling_s) {
|
|
||||||
uint32_t before = getTimeNowLowerNt();
|
// Queue is empty - bail
|
||||||
|
if (!current) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Only execute events that occured in the past.
|
||||||
|
// The list is sorted, so as soon as we see an event
|
||||||
|
// in the future, we're done.
|
||||||
|
if (current->momentX > now) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
executionCounter++;
|
||||||
|
|
||||||
|
// step the head forward, unlink this element, clear scheduled flag
|
||||||
|
head = current->nextScheduling_s;
|
||||||
|
current->nextScheduling_s = nullptr;
|
||||||
current->isScheduled = false;
|
current->isScheduled = false;
|
||||||
uint32_t howFarOff = now - current->momentX;
|
|
||||||
maxSchedulingPrecisionLoss = maxI(maxSchedulingPrecisionLoss, howFarOff);
|
|
||||||
#if EFI_UNIT_TEST
|
#if EFI_UNIT_TEST
|
||||||
printf("QUEUE: execute current=%d param=%d\r\n", (long)current, (long)current->action.getArgument());
|
printf("QUEUE: execute current=%d param=%d\r\n", (long)current, (long)current->action.getArgument());
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Execute the current element
|
||||||
{
|
{
|
||||||
ScopePerf perf2(PE::EventQueueExecuteCallback);
|
ScopePerf perf2(PE::EventQueueExecuteCallback);
|
||||||
current->action.execute();
|
current->action.execute();
|
||||||
}
|
}
|
||||||
|
|
||||||
// even with overflow it's safe to subtract here
|
#if EFI_UNIT_TEST
|
||||||
lastEventCallbackDuration = getTimeNowLowerNt() - before;
|
// (tests only) Ensure we didn't break anything
|
||||||
if (lastEventCallbackDuration > maxEventCallbackDuration)
|
assertListIsSorted();
|
||||||
maxEventCallbackDuration = lastEventCallbackDuration;
|
#endif
|
||||||
if (lastEventCallbackDuration > 2000) {
|
|
||||||
longScheduling = current;
|
|
||||||
// what is this line about? lastEventCallbackDuration++;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return executionCounter;
|
return executionCounter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -198,7 +178,6 @@ int EventQueue::size(void) const {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if EFI_UNIT_TEST
|
|
||||||
void EventQueue::assertListIsSorted() const {
|
void EventQueue::assertListIsSorted() const {
|
||||||
scheduling_s *current = head;
|
scheduling_s *current = head;
|
||||||
while (current != NULL && current->nextScheduling_s != NULL) {
|
while (current != NULL && current->nextScheduling_s != NULL) {
|
||||||
|
@ -206,7 +185,6 @@ void EventQueue::assertListIsSorted() const {
|
||||||
current = current->nextScheduling_s;
|
current = current->nextScheduling_s;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
void EventQueue::setLateDelay(int value) {
|
void EventQueue::setLateDelay(int value) {
|
||||||
lateDelay = value;
|
lateDelay = value;
|
||||||
|
|
Loading…
Reference in New Issue