/* interrupt from Master on Slave side */ void M0_M4CORE_IRQHandler() { mbxId_t i; // quit the interrupt MASTER_TXEV_QUIT(); for(i=(mbxId_t)0; i<NUM_SLAVE_MBX; i++) { if(PROCESS == IPC_queryLocalMbx(i)) { _mbxProcess(i); mbxFlags[i] = MSG_PENDING; } }; }
/* interrupt to master from slave */ void IPC_Slave2Master_IRQHandler() { mbxId_t i; // acknowledge the interrupt SLAVE_TXEV_QUIT(); for(i=(mbxId_t)0;i<NUM_MASTER_MBX;i++) { if(PROCESS == IPC_queryLocalMbx(i)) { _mbxProcess(i); mbxFlags[i] = MSG_PENDING; } }; }