/******************************************************************************* * Function Name: PrISM_PulseIndicator_Init ******************************************************************************** * * Summary: * Initialize component's parameters to the parameters set by user in the * customizer of the component placed onto schematic. Usually called in * PrISM_PulseIndicator_Start(). * * Parameters: * None. * * Return: * None. * *******************************************************************************/ void PrISM_PulseIndicator_Init(void) { uint8 enableInterrupts; /* Writes Seed value, polynom value and density provided by customizer */ PrISM_PulseIndicator_WriteSeed(PrISM_PulseIndicator_SEED); PrISM_PulseIndicator_WritePolynomial(PrISM_PulseIndicator_POLYNOM); PrISM_PulseIndicator_WritePulse0(PrISM_PulseIndicator_DENSITY0); PrISM_PulseIndicator_WritePulse1(PrISM_PulseIndicator_DENSITY1); enableInterrupts = CyEnterCriticalSection(); /* Set FIFO0_CLR bit to use FIFO0 as a simple one-byte buffer*/ #if (PrISM_PulseIndicator_RESOLUTION <= 8u) /* 8bit - PrISM */ PrISM_PulseIndicator_AUX_CONTROL_REG |= PrISM_PulseIndicator_FIFO0_CLR; #elif (PrISM_PulseIndicator_RESOLUTION <= 16u) /* 16bit - PrISM */ CY_SET_REG16(PrISM_PulseIndicator_AUX_CONTROL_PTR, CY_GET_REG16(PrISM_PulseIndicator_AUX_CONTROL_PTR) | PrISM_PulseIndicator_FIFO0_CLR | PrISM_PulseIndicator_FIFO0_CLR << 8u); #elif (PrISM_PulseIndicator_RESOLUTION <= 24u) /* 24bit - PrISM */ CY_SET_REG24(PrISM_PulseIndicator_AUX_CONTROL_PTR, CY_GET_REG24(PrISM_PulseIndicator_AUX_CONTROL_PTR) | PrISM_PulseIndicator_FIFO0_CLR | PrISM_PulseIndicator_FIFO0_CLR << 8u ); CY_SET_REG24(PrISM_PulseIndicator_AUX_CONTROL2_PTR, CY_GET_REG24(PrISM_PulseIndicator_AUX_CONTROL2_PTR) | PrISM_PulseIndicator_FIFO0_CLR ); #else /* 32bit - PrISM */ CY_SET_REG32(PrISM_PulseIndicator_AUX_CONTROL_PTR, CY_GET_REG32(PrISM_PulseIndicator_AUX_CONTROL_PTR) | PrISM_PulseIndicator_FIFO0_CLR | PrISM_PulseIndicator_FIFO0_CLR << 8u ); CY_SET_REG32(PrISM_PulseIndicator_AUX_CONTROL2_PTR, CY_GET_REG32(PrISM_PulseIndicator_AUX_CONTROL2_PTR) | PrISM_PulseIndicator_FIFO0_CLR | PrISM_PulseIndicator_FIFO0_CLR << 8u ); #endif /* End PrISM_PulseIndicator_RESOLUTION */ CyExitCriticalSection(enableInterrupts); #if(!PrISM_PulseIndicator_PULSE_TYPE_HARDCODED) /* Writes density type provided by customizer */ if(PrISM_PulseIndicator_GREATERTHAN_OR_EQUAL == 0 ) { PrISM_PulseIndicator_CONTROL_REG |= PrISM_PulseIndicator_CTRL_COMPARE_TYPE0_GREATER_THAN_OR_EQUAL; } else { PrISM_PulseIndicator_CONTROL_REG &= ~PrISM_PulseIndicator_CTRL_COMPARE_TYPE0_GREATER_THAN_OR_EQUAL; } if(PrISM_PulseIndicator_GREATERTHAN_OR_EQUAL == 0) { PrISM_PulseIndicator_CONTROL_REG |= PrISM_PulseIndicator_CTRL_COMPARE_TYPE1_GREATER_THAN_OR_EQUAL; } else { PrISM_PulseIndicator_CONTROL_REG &= ~PrISM_PulseIndicator_CTRL_COMPARE_TYPE1_GREATER_THAN_OR_EQUAL; } #endif /* End PrISM_PulseIndicator_PULSE_TYPE_HARDCODED */ }
/******************************************************************************* * Function Name: PrISM_PulseIndicator_2_RestoreConfig ******************************************************************************** * * Summary: * Restores the current user configuration. * * Parameters: * None. * * Return: * None. * * Global Variables: * PrISM_PulseIndicator_2_backup - used when non-retention registers are restored. * *******************************************************************************/ void PrISM_PulseIndicator_2_RestoreConfig(void) { #if (CY_UDB_V0) uint8 enableInterrupts; #if(!PrISM_PulseIndicator_2_PULSE_TYPE_HARDCODED) PrISM_PulseIndicator_2_CONTROL_REG = PrISM_PulseIndicator_2_backup.cr; #endif /* End PrISM_PulseIndicator_2_PULSE_TYPE_HARDCODED */ CY_SET_REG8(PrISM_PulseIndicator_2_SEED_COPY_PTR, PrISM_PulseIndicator_2_backup.seed_copy); CY_SET_REG8(PrISM_PulseIndicator_2_SEED_PTR, PrISM_PulseIndicator_2_backup.seed); PrISM_PulseIndicator_2_WritePolynomial(PrISM_PulseIndicator_2_backup.polynom); PrISM_PulseIndicator_2_WritePulse0(PrISM_PulseIndicator_2_backup.density0); PrISM_PulseIndicator_2_WritePulse1(PrISM_PulseIndicator_2_backup.density1); enableInterrupts = CyEnterCriticalSection(); /* Set FIFO0_CLR bit to use FIFO0 as a simple one-byte buffer*/ #if (PrISM_PulseIndicator_2_RESOLUTION <= 8u) /* 8bit - PrISM */ PrISM_PulseIndicator_2_AUX_CONTROL_REG |= PrISM_PulseIndicator_2_FIFO0_CLR; #elif (PrISM_PulseIndicator_2_RESOLUTION <= 16u) /* 16bit - PrISM */ CY_SET_REG16(PrISM_PulseIndicator_2_AUX_CONTROL_PTR, CY_GET_REG16(PrISM_PulseIndicator_2_AUX_CONTROL_PTR) | PrISM_PulseIndicator_2_FIFO0_CLR | PrISM_PulseIndicator_2_FIFO0_CLR << 8u); #elif (PrISM_PulseIndicator_2_RESOLUTION <= 24) /* 24bit - PrISM */ CY_SET_REG24(PrISM_PulseIndicator_2_AUX_CONTROL_PTR, CY_GET_REG24(PrISM_PulseIndicator_2_AUX_CONTROL_PTR) | PrISM_PulseIndicator_2_FIFO0_CLR | PrISM_PulseIndicator_2_FIFO0_CLR << 8u ); CY_SET_REG24(PrISM_PulseIndicator_2_AUX_CONTROL2_PTR, CY_GET_REG24(PrISM_PulseIndicator_2_AUX_CONTROL2_PTR) | PrISM_PulseIndicator_2_FIFO0_CLR ); #else /* 32bit - PrISM */ CY_SET_REG32(PrISM_PulseIndicator_2_AUX_CONTROL_PTR, CY_GET_REG32(PrISM_PulseIndicator_2_AUX_CONTROL_PTR) | PrISM_PulseIndicator_2_FIFO0_CLR | PrISM_PulseIndicator_2_FIFO0_CLR << 8u ); CY_SET_REG32(PrISM_PulseIndicator_2_AUX_CONTROL2_PTR, CY_GET_REG32(PrISM_PulseIndicator_2_AUX_CONTROL2_PTR) | PrISM_PulseIndicator_2_FIFO0_CLR | PrISM_PulseIndicator_2_FIFO0_CLR << 8u ); #endif /* End PrISM_PulseIndicator_2_RESOLUTION */ CyExitCriticalSection(enableInterrupts); #else /* CY_UDB_V1 */ #if(!PrISM_PulseIndicator_2_PULSE_TYPE_HARDCODED) PrISM_PulseIndicator_2_CONTROL_REG = PrISM_PulseIndicator_2_backup.cr; #endif /* End PrISM_PulseIndicator_2_PULSE_TYPE_HARDCODED */ CY_SET_REG8(PrISM_PulseIndicator_2_SEED_COPY_PTR, PrISM_PulseIndicator_2_backup.seed_copy); CY_SET_REG8(PrISM_PulseIndicator_2_SEED_PTR, PrISM_PulseIndicator_2_backup.seed); PrISM_PulseIndicator_2_WritePolynomial(PrISM_PulseIndicator_2_backup.polynom); #endif /* End CY_UDB_V0 */ }
/******************************************************************************* * Function Name: AppDelay_ReadCapture ******************************************************************************** * * Summary: * This function returns the last value captured. * * Parameters: * void * * Return: * Present Capture value. * *******************************************************************************/ uint32 AppDelay_ReadCapture(void) { #if(AppDelay_UsingFixedFunction) return ((uint32)CY_GET_REG16(AppDelay_CAPTURE_LSB_PTR)); #else return (CY_GET_REG24(AppDelay_CAPTURE_LSB_PTR)); #endif /* (AppDelay_UsingFixedFunction) */ }
/******************************************************************************* * Function Name: AppDelay_ReadPeriod ******************************************************************************** * * Summary: * This function returns the current value of the Period. * * Parameters: * void * * Return: * The present value of the counter. * *******************************************************************************/ uint32 AppDelay_ReadPeriod(void) { #if(AppDelay_UsingFixedFunction) return ((uint32)CY_GET_REG16(AppDelay_PERIOD_LSB_PTR)); #else return (CY_GET_REG24(AppDelay_PERIOD_LSB_PTR)); #endif /* (AppDelay_UsingFixedFunction) */ }
/******************************************************************************* * Function Name: Timer_Look_ahead_mode_ReadCapture ******************************************************************************** * * Summary: * This function returns the last value captured. * * Parameters: * void * * Return: * Present Capture value. * *******************************************************************************/ uint32 Timer_Look_ahead_mode_ReadCapture(void) { #if(Timer_Look_ahead_mode_UsingFixedFunction) return ((uint32)CY_GET_REG16(Timer_Look_ahead_mode_CAPTURE_LSB_PTR)); #else return (CY_GET_REG24(Timer_Look_ahead_mode_CAPTURE_LSB_PTR)); #endif /* (Timer_Look_ahead_mode_UsingFixedFunction) */ }
/******************************************************************************* * Function Name: Timer_Look_ahead_mode_ReadPeriod ******************************************************************************** * * Summary: * This function returns the current value of the Period. * * Parameters: * void * * Return: * The present value of the counter. * *******************************************************************************/ uint32 Timer_Look_ahead_mode_ReadPeriod(void) { #if(Timer_Look_ahead_mode_UsingFixedFunction) return ((uint32)CY_GET_REG16(Timer_Look_ahead_mode_PERIOD_LSB_PTR)); #else return (CY_GET_REG24(Timer_Look_ahead_mode_PERIOD_LSB_PTR)); #endif /* (Timer_Look_ahead_mode_UsingFixedFunction) */ }
/******************************************************************************* * Function Name: OSC1_Freq_Timer_3_ReadCapture ******************************************************************************** * * Summary: * This function returns the last value captured. * * Parameters: * void * * Return: * Present Capture value. * *******************************************************************************/ uint32 OSC1_Freq_Timer_3_ReadCapture(void) { #if(OSC1_Freq_Timer_3_UsingFixedFunction) return ((uint32)CY_GET_REG16(OSC1_Freq_Timer_3_CAPTURE_LSB_PTR)); #else return (CY_GET_REG24(OSC1_Freq_Timer_3_CAPTURE_LSB_PTR)); #endif /* (OSC1_Freq_Timer_3_UsingFixedFunction) */ }
/******************************************************************************* * Function Name: OSC1_Freq_Timer_3_ReadPeriod ******************************************************************************** * * Summary: * This function returns the current value of the Period. * * Parameters: * void * * Return: * The present value of the counter. * *******************************************************************************/ uint32 OSC1_Freq_Timer_3_ReadPeriod(void) { #if(OSC1_Freq_Timer_3_UsingFixedFunction) return ((uint32)CY_GET_REG16(OSC1_Freq_Timer_3_PERIOD_LSB_PTR)); #else return (CY_GET_REG24(OSC1_Freq_Timer_3_PERIOD_LSB_PTR)); #endif /* (OSC1_Freq_Timer_3_UsingFixedFunction) */ }
/******************************************************************************* * Function Name: Timer_Look_ahead_mode_ReadCounter ******************************************************************************** * * Summary: * This function returns the current counter value. * * Parameters: * void * * Return: * Present compare value. * *******************************************************************************/ uint32 Timer_Look_ahead_mode_ReadCounter(void) { /* Force capture by reading Accumulator */ /* Must first do a software capture to be able to read the counter */ /* It is up to the user code to make sure there isn't already captured data in the FIFO */ (void)Timer_Look_ahead_mode_COUNTER_LSB; /* Read the data from the FIFO (or capture register for Fixed Function)*/ #if(Timer_Look_ahead_mode_UsingFixedFunction) return ((uint32)CY_GET_REG16(Timer_Look_ahead_mode_CAPTURE_LSB_PTR)); #else return (CY_GET_REG24(Timer_Look_ahead_mode_CAPTURE_LSB_PTR)); #endif /* (Timer_Look_ahead_mode_UsingFixedFunction) */ }
/******************************************************************************* * Function Name: AppDelay_ReadCounter ******************************************************************************** * * Summary: * This function returns the current counter value. * * Parameters: * void * * Return: * Present compare value. * *******************************************************************************/ uint32 AppDelay_ReadCounter(void) { /* Force capture by reading Accumulator */ /* Must first do a software capture to be able to read the counter */ /* It is up to the user code to make sure there isn't already captured data in the FIFO */ #if(AppDelay_UsingFixedFunction) (void)CY_GET_REG16(AppDelay_COUNTER_LSB_PTR); #else (void)CY_GET_REG8(AppDelay_COUNTER_LSB_PTR_8BIT); #endif/* (AppDelay_UsingFixedFunction) */ /* Read the data from the FIFO (or capture register for Fixed Function)*/ #if(AppDelay_UsingFixedFunction) return ((uint32)CY_GET_REG16(AppDelay_CAPTURE_LSB_PTR)); #else return (CY_GET_REG24(AppDelay_CAPTURE_LSB_PTR)); #endif /* (AppDelay_UsingFixedFunction) */ }