mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-15 12:25:20 +03:00
Check if a CS pin is already owned by somebody else
This commit is contained in:
parent
c0b27e6d0c
commit
ddd0dd14c8
1 changed files with 8 additions and 2 deletions
|
@ -46,14 +46,20 @@ static flashDevice_t flashDevice;
|
||||||
bool flashInit(const flashConfig_t *flashConfig)
|
bool flashInit(const flashConfig_t *flashConfig)
|
||||||
{
|
{
|
||||||
busdev = &busInstance;
|
busdev = &busInstance;
|
||||||
busdev->bustype = BUSTYPE_SPI;
|
|
||||||
spiBusSetInstance(busdev, spiInstanceByDevice(SPI_CFG_TO_DEV(flashConfig->spiDevice)));
|
|
||||||
if (flashConfig->csTag) {
|
if (flashConfig->csTag) {
|
||||||
busdev->busdev_u.spi.csnPin = IOGetByTag(flashConfig->csTag);
|
busdev->busdev_u.spi.csnPin = IOGetByTag(flashConfig->csTag);
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (IOGetOwner(busdev->busdev_u.spi.csnPin) != OWNER_SPI_PREINIT) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
busdev->bustype = BUSTYPE_SPI;
|
||||||
|
spiBusSetInstance(busdev, spiInstanceByDevice(SPI_CFG_TO_DEV(flashConfig->spiDevice)));
|
||||||
|
|
||||||
IOInit(busdev->busdev_u.spi.csnPin, OWNER_FLASH_CS, 0);
|
IOInit(busdev->busdev_u.spi.csnPin, OWNER_FLASH_CS, 0);
|
||||||
IOConfigGPIO(busdev->busdev_u.spi.csnPin, SPI_IO_CS_CFG);
|
IOConfigGPIO(busdev->busdev_u.spi.csnPin, SPI_IO_CS_CFG);
|
||||||
IOHi(busdev->busdev_u.spi.csnPin);
|
IOHi(busdev->busdev_u.spi.csnPin);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue