Mask BLE IRQ's during OLED update
Some checks are pending
CI / build (MHP30) (push) Waiting to run
CI / build (Pinecil) (push) Waiting to run
CI / build (Pinecilv2) (push) Waiting to run
CI / build (S60) (push) Waiting to run
CI / build (S60P) (push) Waiting to run
CI / build (T55) (push) Waiting to run
CI / build (TS100) (push) Waiting to run
CI / build (TS101) (push) Waiting to run
CI / build (TS80) (push) Waiting to run
CI / build (TS80P) (push) Waiting to run
CI / build_multi-lang (Pinecil) (push) Waiting to run
CI / build_multi-lang (Pinecilv2) (push) Waiting to run
CI / upload_metadata (push) Blocked by required conditions
CI / tests (push) Waiting to run
CI / check_c-cpp (push) Waiting to run
CI / check_python (push) Waiting to run
CI / check_shell (push) Waiting to run
CI / check_docs (push) Waiting to run

This commit is contained in:
Ben V. Brown
2025-02-23 18:31:41 +11:00
parent 0ed2d84fca
commit 5feefc5b89

View File

@@ -165,12 +165,14 @@ bool FRToSI2C::Mem_Read(uint16_t DevAddress, uint16_t read_address, uint8_t *p_b
I2C_Int_Callback_Install(I2C0_ID, I2C_RX_FIFO_READY_INT, i2c_irq_rx_fifo_ready);
CPU_Interrupt_Enable(I2C_IRQn);
CPU_Interrupt_Disable(BLE_IRQn);
// Start
I2C_Enable(I2C0_ID);
// Wait for transfer in background
uint32_t result = 0;
xTaskNotifyWait(0xFFFFFFFF, 0xFFFFFFFF, &result, TICKS_100MS);
CPU_Interrupt_Enable(BLE_IRQn);
return result == 1;
}
@@ -206,12 +208,14 @@ bool FRToSI2C::Mem_Write(uint16_t DevAddress, uint16_t MemAddress, uint8_t *p_bu
i2c_irq_tx_fifo_low();
CPU_Interrupt_Disable(BLE_IRQn);
// Start
I2C_Enable(I2C0_ID);
// Wait for transfer in background
uint32_t result = 0;
xTaskNotifyWait(0xFFFFFFFF, 0xFFFFFFFF, &result, TICKS_100MS);
CPU_Interrupt_Enable(BLE_IRQn);
return result == 1;
}