23#include "../main_core_interface.h"
52 .ProtocolCallbackRegister = NULL,
53 .ReadFIFODataReadyCallbackRegister = NULL,
54 .WriteFIFOEmptyCallbackRegister = NULL,
55 .FIFOOverFLowUnderFlowCallbackRegister = NULL,
56 .MainInitiatedCallbackRegister = NULL,
57 .MainBreakCallbackRegister = NULL,
58 .MainResetCallbackRegister = NULL,
80 SI1CONbits.STMIRQ = 1U;
85 return(SI1STATbits.STMIACK);
91 SI1CONbits.STMIRQ = 0U;
96 return(SI1STATbits.MTSIRQ);
100 SI1CONbits.MTSIACK = 1U;
105 SI1CONbits.MTSIACK = 0U;
112 if(SI1STATbits.MSTRST)
118 switch(SI1STATbits.MSTPWR)
135 uint16_t readCountStatus = 0U;
141 *pData++ = SRMWFDATA;
150 return readCountStatus;
155 uint16_t writeCountStatus = 0U;
161 SWMRFDATA = *pData++;
170 return writeCountStatus;
213 pData[5] = SI1MBX10D;
214 pData[6] = SI1MBX11D;
215 pData[7] = SI1MBX12D;
216 pData[8] = SI1MBX13D;
217 pData[9] = SI1MBX14D;
This is the generated driver header file for the MAIN_CORE driver.
This is the generated driver types header file for the MAIN_CORE driver.
@ MAIN_CORE_SYSTEM_STATUS_IN_RESET_STATE
@ MAIN_CORE_SYSTEM_STATUS_SLEEP_MODE
@ MAIN_CORE_SYSTEM_STATUS_IDLE_MODE
@ MAIN_CORE_SYSTEM_STATUS_NOT_IN_LOW_POWER_MODE
@ MAIN_CORE_SYSTEM_STATUS_RUNNING_STATE
MAIN_CORE_SYSTEM_STATUS
Defines the status enumeration for main_core.
static bool MAIN_CORE_FIFOReadIsEmpty(void)
This inline function checks whether the status of Read FIFO is Empty. Returns true if last read by Ma...
static bool MAIN_CORE_FIFOWriteIsFull(void)
This inline function checks whether the status of Write FIFO is Full. Returns true if last write by M...
uint16_t MAIN_CORE_FIFORead(uint16_t *pData, uint16_t wordCount)
This routine reads FIFO data sent from the Main Core.
bool MAIN_CORE_IsInterruptRequestAcknowledged(void)
This routine returns the status of interrupt request acknowledge from the MAIN_CORE.
uint16_t MAIN_CORE_FIFOWrite(uint16_t *pData, uint16_t wordCount)
This routine transfers FIFO data to Main Core.
bool MAIN_CORE_IsInterruptRequested(void)
This routine returns the status of interrupt request from the MAIN_CORE.
bool MAIN_CORE_ProtocolWrite(enum MAIN_CORE_PROTOCOLS protocolName, uint16_t *pData)
This routine writes data to mailbox.
bool MAIN_CORE_ProtocolRead(enum MAIN_CORE_PROTOCOLS protocolName, uint16_t *pData)
This routine reads data from mailbox.
enum MAIN_CORE_SYSTEM_STATUS MAIN_CORE_SystemStatusGet(void)
This routine returns Main system status.
void MAIN_CORE_Initialize(void)
This routine initializes the MSI driver. This routine must be called before any other MSI routine is ...
void MAIN_CORE_InterruptRequestAcknowledgeComplete(void)
This routine clears acknowledge for interrupt received from Main MSI.
static bool MAIN_CORE_ProtocolIsFull(enum MAIN_CORE_PROTOCOLS protocolName)
This inline function checks whether mailbox is full. Returns true if New data are ready to read....
void MAIN_CORE_InterruptRequestComplete(void)
This routine clears interrupt to MAIN_CORE.
MAIN_CORE_PROTOCOLS
Defines the list of Protocols configured for MAIN_CORE_driver.
void MAIN_CORE_Deinitialize(void)
Deinitializes MAIN_CORE to POR values.
static bool MAIN_CORE_FIFOWriteIsEmpty(void)
This inline function checks whether the status of Write FIFO is Empty. Returns true if last write by ...
static bool MAIN_CORE_ProtocolIsEmpty(enum MAIN_CORE_PROTOCOLS protocolName)
This inline function checks whether mailbox is empty. Returns true if Protocol is empty indicating ma...
void MAIN_CORE_InterruptRequestAcknowledge(void)
This routine acknowledges interrupt received from Main MSI.
static bool MAIN_CORE_FIFOReadIsFull(void)
This inline function checks whether the status of Read FIFO is full. last write by Secondary core to ...
void MAIN_CORE_InterruptRequestGenerate(void)
This routine generates interrupt to MAIN_CORE.
const struct MAIN_CORE_INTERFACE MSIInterface
Structure object of type SEC_CORE_INTERFACE with the custom name given by the user in the Melody Driv...
Structure containing the function pointers of MAIN_CORE driver.
void(* Initialize)(void)
Pointer to MAIN_CORE_Initialize.