/* Interrupt routine that simply wakes vButtonHandlerTask on each interrupt generated by a push of the built in button. The wrapper takes care of the ISR entry. This then calls the actual handler function to perform the work. This work should not be done in the wrapper itself unless you are absolutely sure that no stack space is used.  */
void vButtonISRWrapper(void)
/* Interrupt routine that simply wakes vButtonHandlerTask on each interrupt generated by a push of the built in button. The wrapper takes care of the ISR entry. This then calls the actual handler function to perform the work. This work should not be done in the wrapper itself unless you are absolutely sure that no stack space is used.  */
void vButtonISRWrapper(void)
{
extern xSemaphoreHandle xButtonSemaphore;
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
	xSemaphoreGiveFromISR( xButtonSemaphore, &xHigherPriorityTaskWoken );
	if( xHigherPriorityTaskWoken )
	{
		portYIELD_FROM_ISR();
	}
    EXTINT = isrCLEAR_EINT_1;
    VICVectAddr = 0;
}