Beispiel #1
0
void initMedianFilter(filterHistory_t *history, uint8_t historyLength)
{
    //max number of values to use is 7 or else too much lag is introduced
    if(historyLength >7)
        historyLength = 7;

    history->histLength = historyLength;
    history->filterValues = calloc(historyLength, sizeof(history->filterValues));
    if(history->filterValues == NULL)
    {
        WDT_IRQHandler();
    }

    history->index = 0;

}
Beispiel #2
0
/*****************************************************************************
** Function name:		NMI_Handler
**
** Descriptions:		NMI interrupt handler
** parameters:		None			 
** 						
** Returned value:	None
** 
*****************************************************************************/
void NMI_Handler( void )
{
  uint32_t regVal;

  regVal = LPC_SYSCON->NMISRC;
  regVal &=	~0x80000000;
  if ( regVal < MAX_NMI_NUM )
  {
		if ( regVal == MRT_IRQn )
		{
			MRT_IRQHandler();
		}
		if ( regVal == UART0_IRQn )
		{
			UART0_IRQHandler();
			//UART_Handler(LPC_USART0);
		}
		if ( regVal == UART1_IRQn )
		{
			UART1_IRQHandler();
			//UART_Handler(LPC_USART1);
		}
		if ( regVal == UART2_IRQn )
		{
			UART2_IRQHandler();
			//UART_Handler(LPC_USART2);
		}
		if ( regVal == SPI0_IRQn )
		{
			SPI0_IRQHandler();
			//SPI_Handler(LPC_SPI0);
		}
		if ( regVal == SPI1_IRQn )
		{
			SPI1_IRQHandler();
			//SPI_Handler(LPC_SPI1);
		}
		if ( regVal == I2C_IRQn )
		{
			I2C_IRQHandler();
		}
		if ( regVal == SCT_IRQn )
		{
			SCT_IRQHandler();
		}
		if ( regVal == BOD_IRQn )
		{
			BOD_IRQHandler();
		}
		if ( regVal == WDT_IRQn )
		{
			WDT_IRQHandler();
		}
		if ( (regVal >= PININT0_IRQn) && (regVal <= PININT7_IRQn) )
		{
			PININT_Handler ( regVal - PININT0_IRQn );
		}
		if ( regVal == WKT_IRQn )
		{
			WKT_IRQHandler();
		}
		if ( regVal == CMP_IRQn )
		{
			CMP_IRQHandler();
		}
		NMI_Counter[regVal]++; 
  }
  return;
}