Esempio n. 1
0
bool IspSpi_Rx(unsigned char * const buf, int size)
{
    SYS_INT_PROCESSOR_STATUS intStatusSaving;

    if (size == 0) {
        return true;
    }

    intStatusSaving = SYS_INT_StatusGetAndDisable(); // Disable all interrupts

    spiBufferHandleRx = DRV_SPI_BufferAddRead(drvSPIHandle, buf, size, 0, 0);
    if (spiBufferHandleRx == (DRV_SPI_BUFFER_HANDLE)NULL)
    {
        // WDRV_ASSERT(false, "SPI read error");
        SYS_INT_StatusRestore(intStatusSaving); // Restore interrupts
        return false;
    }

    while (DRV_SPI_BUFFER_EVENT_COMPLETE != DRV_SPI_BufferStatus(spiBufferHandleRx)) // Check for the successful data transfer
    {
        DRV_SPI_Tasks(*p_drvSPIObject);
    }

    SYS_INT_StatusRestore(intStatusSaving); // Restore interrupts

    return true;
}
Esempio n. 2
0
void IspSpi_TxRx(unsigned char   *p_txBuf,  int  txLen, unsigned char   *p_rxBuf,int  rxLen)
{
    if((txLen==0) && (rxLen ==0)) return ;
    spiBufferHandleTxRx  = DRV_SPI_BufferAddWriteRead ( drvSPIHandle, p_txBuf, p_rxBuf,rxLen ) ;

    if  ( spiBufferHandleTxRx == NULL  )
    {
        //SYS_ASSERT(false, "SPI Read error");
        return ;
    }

    while(!(DRV_SPI_BUFFER_EVENT_COMPLETE  & DRV_SPI_BufferStatus (spiBufferHandleTxRx) ))  //Check for the successful data transfer
    {
        DRV_SPI_Tasks (drvSPIObject);
    }
    return ;
}
Esempio n. 3
0
bool IspSpi_Rx(unsigned char *buf,int size) 

{ 
    if(size==0) return true;
    spiBufferHandleRx  = DRV_SPI_BufferAddRead ( drvSPIHandle, buf, size ) ; 

    if  ( spiBufferHandleRx == NULL  ) 
    { 
        //SYS_ASSERT(false, "SPI Read error");
        return false; 
    } 

    while(!(DRV_SPI_BUFFER_EVENT_COMPLETE  & DRV_SPI_BufferStatus (spiBufferHandleRx) ))//Check for the successful data transfer
    { 
        DRV_SPI_Tasks (drvSPIObject); 
    } 
    return true; 

} 
Esempio n. 4
0
void SYS_Tasks ( void )
{
    /* Maintain system services */
    SYS_DEVCON_Tasks(sysObj.sysDevcon);
    /* Maintain the DMA system state machine. */
    SYS_DMA_Tasks(sysObj.sysDma);
    SYS_FS_Tasks();
    SYS_TMR_Tasks(sysObj.sysTmr);

    /* Maintain Device Drivers */
        DRV_TMR_Tasks(sysObj.drvTmr0);
        DRV_TMR_Tasks(sysObj.drvTmr1);
    DRV_SPI_Tasks(sysObj.spiObjectIdx1);

    /* Maintain Middleware & Other Libraries */
    /* Maintain the TCP/IP Stack*/
    TCPIP_STACK_Task(sysObj.tcpip);


    /* Maintain the application's state machine. */
    TCPIPSTACK_Tasks();
    LEDSCROLLER_Tasks();
}
Esempio n. 5
0
void __ISR(_SPI2_FAULT_VECTOR, ipl1AUTO) _IntHandlerSPIFaultInstance1(void)
{
    DRV_SPI_Tasks(sysObj.spiObjectIdx1);
}
Esempio n. 6
0
void __ISR(_SPI2_RX_VECTOR, ipl2AUTO) _IntHandlerSPIRxInstance1(void)
{
    DRV_SPI_Tasks(sysObj.spiObjectIdx1);
}
Esempio n. 7
0
void __ISR(_SPI1_TX_VECTOR, ipl1AUTO) _IntHandlerSPITxInstance0(void)
{
    DRV_SPI_Tasks(sysObj.spiObjectIdx0);
}
Esempio n. 8
0
void __ISR(_SPI_2_VECTOR, ipl5AUTO) _IntHandlerSPIInstance1(void)
{
    DRV_SPI_Tasks(sysObj.spiObjectIdx1);
}
Esempio n. 9
0
void __ISR ( _SPI1_VECTOR,ipl4 ) _InterruptHandler_SPI_stub ( void )
{
    DRV_SPI_Tasks((SYS_MODULE_OBJ)appDrvObjects.drvSPIObject);
}
Esempio n. 10
0
static void _Spi_WaitForCompletion(volatile bool *spiDone)
{
    while (*spiDone == false)
        DRV_SPI_Tasks(*p_drvSPIObject);
}
Esempio n. 11
0
////////////////////////
// SD Card Interrupts //
////////////////////////
void __ISR ( _SPI2_RX_VECTOR,ipl4 ) _InterruptHandler_SPI_RX_stub ( void )
{
    DRV_SPI_Tasks((SYS_MODULE_OBJ)appDrvObj.drvSPIObj);
}