Beispiel #1
0
void TS_EXC7200_InterruptISR(
        void *aInterruptHandlerWorkspace,
        TUInt32 aPortPins,
        T_gpioInterruptType aType)
{
    T_EXC7200Workspace *p = (T_EXC7200Workspace *)aInterruptHandlerWorkspace;
    _isr_UEZSemaphoreRelease(p->iSemWaitForTouch);
}
/*---------------------------------------------------------------------------*
 * Routine:  ISerialGenericHalfDuplexCallbackTransmitEmpty
 *---------------------------------------------------------------------------*
 * Description:
 *      The transmission buffer is empty (or needs more characters).  Pull
 *      a byte out of the waiting buffer and put into the serial hardware
 *      output by calling SerialDevice->OutputByte.
 * Inputs:
 *      void *aCallbackWorkspace    -- Pointer to T_Serial_GenericHalfDuplex_Workspace
 *---------------------------------------------------------------------------*/
void ISerialGenericHalfDuplexCallbackTransmitEmpty(
                void *aCallbackWorkspace,
                TUInt32 aNumBytesAvailable)
{
    T_Serial_GenericHalfDuplex_Workspace *p = (T_Serial_GenericHalfDuplex_Workspace *)aCallbackWorkspace;
    TUInt8 c;

    while (aNumBytesAvailable--)  {
        // Output a byte to the buffer
        if (_isr_UEZQueueReceive(p->iQueueSend, &c) == UEZ_ERROR_NONE)  {
            // Got data, send it
            (*p->iSerial)->OutputByte((T_halWorkspace *)p->iSerial, c);
        } else {
            // No more data to send
            p->iTxBusy = EFalse;
            // Start a countdown until we release
            _isr_UEZSemaphoreRelease(p->iDESem);
            _isr_UEZSemaphoreRelease(p->iSemEmpty);
            break;
        }
    }
}
static TBool Keypad_NXP_PCA9555_Callback(
            void *aCallbackWorkspace, 
            TUInt32 aChannel)
{
    T_Keypad_NXP_I2C_PCA9555_Workspace *p = 
        (T_Keypad_NXP_I2C_PCA9555_Workspace *)aCallbackWorkspace;
    PARAM_NOT_USED(aChannel);

    // Notify the thread we got one ready by releasing the semaphore
    // that is holding the monitoring thread
    _isr_UEZSemaphoreRelease(p->iReady);

    // Don't reset the interrupt, we'll do it when we are ready in the task
    return EFalse;
}
Beispiel #4
0
/*---------------------------------------------------------------------------*/
void i2sCallBack(void *aCallbackWorkspace,
                TInt32* samples,
                TUInt8 numSamples)
{
    TUInt16 i = 0;
    TInt32 *p;

    if (numSamples == 4) {
        if (flag) {
            p = wav+index;
        } else {
            p = wav2+index;
        }
        samples[i+0] = p[0];
        samples[i+1] = p[1];
        samples[i+2] = p[2];
        samples[i+3] = p[3];
        index += 4;
    } else {
        for( i = 0; i < numSamples; i++)
        {
            if(flag)
            {
                samples[i] = wav[index++];
            }
            else
            {
                samples[i] = wav2[index++];
            }
        }
    }
    if (index >= (DATA_TO_READ /4))
    {
        index = 0;
        if(flag) read1 = ETrue;
        if(!flag) read2 = ETrue;
        flag = !flag;
        _isr_UEZSemaphoreRelease(wavSem);
    }
}
/*---------------------------------------------------------------------------*
 * Routine:  LCD_UMSH_8596MD_20T_VerticalSyncCallback
 *---------------------------------------------------------------------------*
 * Description:
 *      This routine is called from within an interrupt when the vertical
 *      sync occurs.  This routines releases any waiting callers on
 *      the semaphore.
 * Inputs:
 *      void *aCallbackWorkspace -- LCD workspace
 *---------------------------------------------------------------------------*/
static void LCD_UMSH_8596MD_20T_VerticalSyncCallback(void *aCallbackWorkspace)
{
    T_UMSH_8596MD_20TWorkspace *p = (T_UMSH_8596MD_20TWorkspace *)aCallbackWorkspace;

    _isr_UEZSemaphoreRelease(p->iVSyncSem);
}
/*---------------------------------------------------------------------------*
 * Routine:  LCD_LMIX0560NTN53V1_VerticalSyncCallback
 *---------------------------------------------------------------------------*
 * Description:
 *      This routine is called from within an interrupt when the vertical
 *      sync occurs.  This routines releases any waiting callers on
 *      the semaphore.
 * Inputs:
 *      void *aCallbackWorkspace -- LCD workspace
 *---------------------------------------------------------------------------*/
static void LCD_LMIX0560NTN53V1_VerticalSyncCallback(void *aCallbackWorkspace)
{
    T_LMIX0560NTN53V1Workspace *p = (T_LMIX0560NTN53V1Workspace *)aCallbackWorkspace;

    _isr_UEZSemaphoreRelease(p->iVSyncSem);
}
static void IGenericUSBHostFlagIRQEvent(void *aWorkspace)
{
    T_Generic_USBHost_Workspace *p = (T_Generic_USBHost_Workspace *)aWorkspace;
    if (p->iWaitForIRQEvent)
        _isr_UEZSemaphoreRelease(p->iWaitForIRQEvent);
}
static void IGenericUSBHostDisconnected(void *aWorkspace)
{
    T_Generic_USBHost_Workspace *p = (T_Generic_USBHost_Workspace *)aWorkspace;
    if (p->iStatusChangeSem)
        _isr_UEZSemaphoreRelease(p->iStatusChangeSem);
}
/*---------------------------------------------------------------------------*
 * Routine:  LCD_RH320240T_VerticalSyncCallback
 *---------------------------------------------------------------------------*
 * Description:
 *      This routine is called from within an interrupt when the vertical
 *      sync occurs.  This routines releases any waiting callers on
 *      the semaphore.
 * Inputs:
 *      void *aCallbackWorkspace -- LCD workspace
 *---------------------------------------------------------------------------*/
static void LCD_RH320240T_VerticalSyncCallback(void *aCallbackWorkspace)
{
    T_RH320240TWorkspace *p = (T_RH320240TWorkspace *)aCallbackWorkspace;

    _isr_UEZSemaphoreRelease(p->iVSyncSem);
}
/*---------------------------------------------------------------------------*
 * Routine:  LCD_NL6448BC_VerticalSyncCallback
 *---------------------------------------------------------------------------*
 * Description:
 *      This routine is called from within an interrupt when the vertical
 *      sync occurs.  This routines releases any waiting callers on
 *      the semaphore.
 * Inputs:
 *      void *aCallbackWorkspace -- LCD workspace
 *---------------------------------------------------------------------------*/
static void LCD_NL6448BC_VerticalSyncCallback(void *aCallbackWorkspace)
{
    T_NL6448BCWorkspace *p = (T_NL6448BCWorkspace *)aCallbackWorkspace;

    _isr_UEZSemaphoreRelease(p->iVSyncSem);
}
Beispiel #11
0
/*---------------------------------------------------------------------------*
 * Routine:  LCD_LTA057A347F_VerticalSyncCallback
 *---------------------------------------------------------------------------*
 * Description:
 *      This routine is called from within an interrupt when the vertical
 *      sync occurs.  This routines releases any waiting callers on
 *      the semaphore.
 * Inputs:
 *      void *aCallbackWorkspace -- LCD workspace
 *---------------------------------------------------------------------------*/
static void LCD_LTA057A347F_VerticalSyncCallback(void *aCallbackWorkspace)
{
    T_LTA057A347FWorkspace *p = (T_LTA057A347FWorkspace *)aCallbackWorkspace;

    _isr_UEZSemaphoreRelease(p->iVSyncSem);
}
Beispiel #12
0
/*---------------------------------------------------------------------------*
 * Routine:  LCD_LQ104V1DG28_VerticalSyncCallback
 *---------------------------------------------------------------------------*
 * Description:
 *      This routine is called from within an interrupt when the vertical
 *      sync occurs.  This routines releases any waiting callers on
 *      the semaphore.
 * Inputs:
 *      void *aCallbackWorkspace -- LCD workspace
 *---------------------------------------------------------------------------*/
static void LCD_LQ104V1DG28_VerticalSyncCallback(void *aCallbackWorkspace)
{
    T_LQ104V1DG28Workspace *p = (T_LQ104V1DG28Workspace *)aCallbackWorkspace;

    _isr_UEZSemaphoreRelease(p->iVSyncSem);
}
/*---------------------------------------------------------------------------*
 * Routine:  LCD_NHD43480272MF_VerticalSyncCallback
 *---------------------------------------------------------------------------*
 * Description:
 *      This routine is called from within an interrupt when the vertical
 *      sync occurs.  This routines releases any waiting callers on
 *      the semaphore.
 * Inputs:
 *      void *aCallbackWorkspace -- LCD workspace
 *---------------------------------------------------------------------------*/
static void LCD_NHD43480272MF_VerticalSyncCallback(void *aCallbackWorkspace)
{
    T_NHD43480272MFWorkspace *p = (T_NHD43480272MFWorkspace *)aCallbackWorkspace;

    _isr_UEZSemaphoreRelease(p->iVSyncSem);
}
/*---------------------------------------------------------------------------*
 * Routine:  LCD_TM035NBH02_VerticalSyncCallback
 *---------------------------------------------------------------------------*
 * Description:
 *      This routine is called from within an interrupt when the vertical
 *      sync occurs.  This routines releases any waiting callers on
 *      the semaphore.
 * Inputs:
 *      void *aCallbackWorkspace -- LCD workspace
 *---------------------------------------------------------------------------*/
static void LCD_TM035NBH02_VerticalSyncCallback(void *aCallbackWorkspace)
{
    T_TM035NBH02Workspace *p = (T_TM035NBH02Workspace *)aCallbackWorkspace;

    _isr_UEZSemaphoreRelease(p->iVSyncSem);
}