reducing GPIO code duplication
This commit is contained in:
parent
458d8982aa
commit
fa57f32a37
|
@ -795,4 +795,51 @@ const char *portname(ioportid_t GPIOx) {
|
||||||
return "unknown";
|
return "unknown";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int getPortIndex(ioportid_t port) {
|
||||||
|
efiAssert(ObdCode::CUSTOM_ERR_ASSERT, port != NULL, "null port", -1);
|
||||||
|
if (port == GPIOA)
|
||||||
|
return 0;
|
||||||
|
if (port == GPIOB)
|
||||||
|
return 1;
|
||||||
|
if (port == GPIOC)
|
||||||
|
return 2;
|
||||||
|
if (port == GPIOD)
|
||||||
|
return 3;
|
||||||
|
#if defined(GPIOF)
|
||||||
|
if (port == GPIOE)
|
||||||
|
return 4;
|
||||||
|
#endif /* GPIOE */
|
||||||
|
#if defined(GPIOF)
|
||||||
|
if (port == GPIOF)
|
||||||
|
return 5;
|
||||||
|
#endif /* GPIOF */
|
||||||
|
#if defined(GPIOG)
|
||||||
|
if (port == GPIOG)
|
||||||
|
return 6;
|
||||||
|
#endif /* GPIOG */
|
||||||
|
#if defined(GPIOH)
|
||||||
|
if (port == GPIOH)
|
||||||
|
return 7;
|
||||||
|
#endif /* GPIOH */
|
||||||
|
#if defined(GPIOF)
|
||||||
|
if (port == GPIOI)
|
||||||
|
return 8;
|
||||||
|
#endif /* STM32_HAS_GPIOI */
|
||||||
|
#if defined(GPIOJ)
|
||||||
|
if (port == GPIOJ)
|
||||||
|
return 9;
|
||||||
|
#endif /* GPIOJ */
|
||||||
|
#if defined(GPIOK)
|
||||||
|
if (port == GPIOK)
|
||||||
|
return 10;
|
||||||
|
#endif /* GPIOK */
|
||||||
|
firmwareError(ObdCode::CUSTOM_ERR_UNKNOWN_PORT, "unknown port");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int getPortPinIndex(ioportid_t port, ioportmask_t pin) {
|
||||||
|
int portIndex = getPortIndex(port);
|
||||||
|
return portIndex * PORT_SIZE + pin;
|
||||||
|
}
|
||||||
|
|
||||||
#endif // EFI_GPIO_HARDWARE
|
#endif // EFI_GPIO_HARDWARE
|
||||||
|
|
|
@ -36,39 +36,6 @@ ioportid_t * getGpioPorts() {
|
||||||
return ports;
|
return ports;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int getPortIndex(ioportid_t port) {
|
|
||||||
efiAssert(ObdCode::CUSTOM_ERR_ASSERT, port != NULL, "null port", -1);
|
|
||||||
if (port == GPIOA)
|
|
||||||
return 0;
|
|
||||||
if (port == GPIOB)
|
|
||||||
return 1;
|
|
||||||
if (port == GPIOC)
|
|
||||||
return 2;
|
|
||||||
if (port == GPIOD)
|
|
||||||
return 3;
|
|
||||||
if (port == GPIOE)
|
|
||||||
return 4;
|
|
||||||
if (port == GPIOF)
|
|
||||||
return 5;
|
|
||||||
if (port == GPIOG)
|
|
||||||
return 6;
|
|
||||||
if (port == GPIOH)
|
|
||||||
return 7;
|
|
||||||
if (port == GPIOI)
|
|
||||||
return 8;
|
|
||||||
if (port == GPIOJ)
|
|
||||||
return 9;
|
|
||||||
if (port == GPIOK)
|
|
||||||
return 10;
|
|
||||||
firmwareError(ObdCode::CUSTOM_ERR_UNKNOWN_PORT, "unknown port");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
int getBrainPinIndex(ioportid_t port, ioportmask_t pin) {
|
|
||||||
int portIndex = getPortIndex(port);
|
|
||||||
return portIndex * PORT_SIZE + pin;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parse string representation of physical pin into brain_pin_e ordinal.
|
* Parse string representation of physical pin into brain_pin_e ordinal.
|
||||||
*
|
*
|
||||||
|
|
|
@ -18,31 +18,10 @@ static ioportid_t ports[] = {GPIOA,
|
||||||
GPIOE
|
GPIOE
|
||||||
};
|
};
|
||||||
|
|
||||||
static int getPortIndex(ioportid_t port) {
|
|
||||||
efiAssert(ObdCode::CUSTOM_ERR_ASSERT, port != NULL, "null port", -1);
|
|
||||||
if (port == GPIOA)
|
|
||||||
return 0;
|
|
||||||
if (port == GPIOB)
|
|
||||||
return 1;
|
|
||||||
if (port == GPIOC)
|
|
||||||
return 2;
|
|
||||||
if (port == GPIOD)
|
|
||||||
return 3;
|
|
||||||
if (port == GPIOE)
|
|
||||||
return 4;
|
|
||||||
firmwareError(ObdCode::CUSTOM_ERR_UNKNOWN_PORT, "unknown port");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
ioportid_t * getGpioPorts() {
|
ioportid_t * getGpioPorts() {
|
||||||
return ports;
|
return ports;
|
||||||
}
|
}
|
||||||
|
|
||||||
int getPortPinIndex(ioportid_t port, ioportmask_t pin) {
|
|
||||||
int portIndex = getPortIndex(port);
|
|
||||||
return portIndex * PORT_SIZE + pin;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parse string representation of physical pin into Gpio ordinal.
|
* Parse string representation of physical pin into Gpio ordinal.
|
||||||
*
|
*
|
||||||
|
|
|
@ -57,53 +57,6 @@ ioportid_t * getGpioPorts() {
|
||||||
return ports;
|
return ports;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int getPortIndex(ioportid_t port) {
|
|
||||||
efiAssert(ObdCode::CUSTOM_ERR_ASSERT, port != NULL, "null port", -1);
|
|
||||||
if (port == GPIOA)
|
|
||||||
return 0;
|
|
||||||
if (port == GPIOB)
|
|
||||||
return 1;
|
|
||||||
if (port == GPIOC)
|
|
||||||
return 2;
|
|
||||||
if (port == GPIOD)
|
|
||||||
return 3;
|
|
||||||
#if defined(GPIOF)
|
|
||||||
if (port == GPIOE)
|
|
||||||
return 4;
|
|
||||||
#endif /* GPIOE */
|
|
||||||
#if defined(GPIOF)
|
|
||||||
if (port == GPIOF)
|
|
||||||
return 5;
|
|
||||||
#endif /* GPIOF */
|
|
||||||
#if defined(GPIOG)
|
|
||||||
if (port == GPIOG)
|
|
||||||
return 6;
|
|
||||||
#endif /* GPIOG */
|
|
||||||
#if defined(GPIOH)
|
|
||||||
if (port == GPIOH)
|
|
||||||
return 7;
|
|
||||||
#endif /* GPIOH */
|
|
||||||
#if defined(GPIOF)
|
|
||||||
if (port == GPIOI)
|
|
||||||
return 8;
|
|
||||||
#endif /* STM32_HAS_GPIOI */
|
|
||||||
#if defined(GPIOJ)
|
|
||||||
if (port == GPIOJ)
|
|
||||||
return 9;
|
|
||||||
#endif /* GPIOJ */
|
|
||||||
#if defined(GPIOK)
|
|
||||||
if (port == GPIOK)
|
|
||||||
return 10;
|
|
||||||
#endif /* GPIOK */
|
|
||||||
firmwareError(ObdCode::CUSTOM_ERR_UNKNOWN_PORT, "unknown port");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
int getPortPinIndex(ioportid_t port, ioportmask_t pin) {
|
|
||||||
int portIndex = getPortIndex(port);
|
|
||||||
return portIndex * PORT_SIZE + pin;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parse string representation of physical pin into Gpio ordinal.
|
* Parse string representation of physical pin into Gpio ordinal.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue