Compare commits
2 commits
master
...
spi-maskin
| Author | SHA1 | Date | |
|---|---|---|---|
| 66d8fa1c60 | |||
| b269ba0865 |
1 changed files with 6 additions and 0 deletions
|
|
@ -108,6 +108,9 @@ public:
|
||||||
@brief Disables any GPIO interrupts registered before an SPI transaction begins
|
@brief Disables any GPIO interrupts registered before an SPI transaction begins
|
||||||
*/
|
*/
|
||||||
void maskInterrupts() {
|
void maskInterrupts() {
|
||||||
|
if (_usingIRQs.empty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
noInterrupts(); // Avoid possible race conditions if IRQ comes in while main app is in middle of this
|
noInterrupts(); // Avoid possible race conditions if IRQ comes in while main app is in middle of this
|
||||||
// Disable any IRQs that are being used for SPI
|
// Disable any IRQs that are being used for SPI
|
||||||
io_bank0_irq_ctrl_hw_t *irq_ctrl_base = get_core_num() ? &iobank0_hw->proc1_irq_ctrl : &iobank0_hw->proc0_irq_ctrl;
|
io_bank0_irq_ctrl_hw_t *irq_ctrl_base = get_core_num() ? &iobank0_hw->proc1_irq_ctrl : &iobank0_hw->proc0_irq_ctrl;
|
||||||
|
|
@ -134,6 +137,9 @@ public:
|
||||||
@brief Restores GPIO interrupts masks after an SPI transaction completes
|
@brief Restores GPIO interrupts masks after an SPI transaction completes
|
||||||
*/
|
*/
|
||||||
void unmaskInterrupts() {
|
void unmaskInterrupts() {
|
||||||
|
if (_usingIRQs.empty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
noInterrupts(); // Avoid race condition so the GPIO IRQs won't come back until all state is restored
|
noInterrupts(); // Avoid race condition so the GPIO IRQs won't come back until all state is restored
|
||||||
DEBUGSPI("SPI::endTransaction()\n");
|
DEBUGSPI("SPI::endTransaction()\n");
|
||||||
// Re-enable IRQs
|
// Re-enable IRQs
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue