seperate files from latest SDK (currently 14.2.0) from good old non-
secure bootloader sdk 11
This commit is contained in:
hathach 2018-04-05 00:35:08 +07:00
parent f18643ae10
commit df71d3444d
151 changed files with 3176 additions and 4107 deletions

View File

@ -64,7 +64,7 @@ OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#if defined(_WIN32) #if defined(_WIN32)
/* Do not include nrf specific files when building for PC host */ /* Do not include nrf specific files when building for PC host */
//#elif defined(__unix) #elif defined(__unix)
/* Do not include nrf specific files when building for PC host */ /* Do not include nrf specific files when building for PC host */
#elif defined(__APPLE__) #elif defined(__APPLE__)
/* Do not include nrf specific files when building for PC host */ /* Do not include nrf specific files when building for PC host */

View File

@ -0,0 +1,141 @@
/**
* Copyright (c) 2017 - 2017, Nordic Semiconductor ASA
*
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form, except as embedded into a Nordic
* Semiconductor ASA integrated circuit in a product or a software update for
* such product, must reproduce the above copyright notice, this list of
* conditions and the following disclaimer in the documentation and/or other
* materials provided with the distribution.
*
* 3. Neither the name of Nordic Semiconductor ASA nor the names of its
* contributors may be used to endorse or promote products derived from this
* software without specific prior written permission.
*
* 4. This software, with or without modification, must only be used with a
* Nordic Semiconductor ASA integrated circuit.
*
* 5. Any software provided in binary form under this license must not be reverse
* engineered, decompiled, modified and/or disassembled.
*
* THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
#ifndef NRF_DRV_USBD_ERRATA_H__
#define NRF_DRV_USBD_ERRATA_H__
#include <stdbool.h>
/**
* @defgroup nrf_drv_usbd_errata Functions to check if selected PAN is present in current chip
* @{
* @ingroup nrf_drv_usbd
*
* Functions here are checking the presence of an error in current chip.
* The checking is done at runtime based on the microcontroller version.
* This file is subject to removal when nRF51840 prototype support is removed.
*/
#ifndef NRF_DRV_USBD_ERRATA_ENABLE
/**
* @brief The constant that informs if errata should be enabled at all
*
* If this constant is set to 0, all the Errata bug fixes will be automatically disabled.
*/
#define NRF_DRV_USBD_ERRATA_ENABLE 1
#endif
/**
* @brief Internal auxiliary function to check if the program is running on NRF52840 chip
* @retval true It is NRF52480 chip
* @retval false It is other chip
*/
static inline bool nrf_drv_usbd_errata_type_52840(void)
{
return ((((*(uint32_t *)0xF0000FE0) & 0xFF) == 0x08) &&
(((*(uint32_t *)0xF0000FE4) & 0x0F) == 0x0));
}
/**
* @brief Internal auxiliary function to check if the program is running on first sample of
* NRF52840 chip
* @retval true It is NRF52480 chip and it is first sample version
* @retval false It is other chip
*/
static inline bool nrf_drv_usbd_errata_type_52840_proto1(void)
{
return ( nrf_drv_usbd_errata_type_52840() &&
( ((*(uint32_t *)0xF0000FE8) & 0xF0) == 0x00 ) &&
( ((*(uint32_t *)0xF0000FEC) & 0xF0) == 0x00 ) );
}
/**
* @brief Function to check if chip requires errata 104
*
* Errata: USBD: EPDATA event is not always generated.
*
* @retval true Errata should be implemented
* @retval false Errata should not be implemented
*/
static inline bool nrf_drv_usbd_errata_104(void)
{
return NRF_DRV_USBD_ERRATA_ENABLE && nrf_drv_usbd_errata_type_52840_proto1();
}
/**
* @brief Function to check if chip requires errata 154
*
* Errata: During setup read/write transfer USBD acknowledges setup stage without SETUP task.
*
* @retval true Errata should be implemented
* @retval false Errata should not be implemented
*/
static inline bool nrf_drv_usbd_errata_154(void)
{
return NRF_DRV_USBD_ERRATA_ENABLE && nrf_drv_usbd_errata_type_52840_proto1();
}
/**
* @brief Function to check if chip requires errata 166
*
* Errata: ISO double buffering not functional
*
* @retval true Errata should be implemented
* @retval false Errata should not be implemented
*/
static inline bool nrf_drv_usbd_errata_166(void)
{
return NRF_DRV_USBD_ERRATA_ENABLE && true;
}
/**
* @brief Function to check if chip requires errata ???
*
* Errata: SIZE.EPOUT not writable
*
* @retval true Errata should be implemented
* @retval false Errata should not be implemented
*/
static inline bool nrf_drv_usbd_errata_sizeepout_rw(void)
{
return NRF_DRV_USBD_ERRATA_ENABLE && nrf_drv_usbd_errata_type_52840_proto1();
}
/** @} */
#endif /* NRF_DRV_USBD_ERRATA_H__ */

View File

@ -0,0 +1,85 @@
/**
* Copyright (c) 2016 - 2017, Nordic Semiconductor ASA
*
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form, except as embedded into a Nordic
* Semiconductor ASA integrated circuit in a product or a software update for
* such product, must reproduce the above copyright notice, this list of
* conditions and the following disclaimer in the documentation and/or other
* materials provided with the distribution.
*
* 3. Neither the name of Nordic Semiconductor ASA nor the names of its
* contributors may be used to endorse or promote products derived from this
* software without specific prior written permission.
*
* 4. This software, with or without modification, must only be used with a
* Nordic Semiconductor ASA integrated circuit.
*
* 5. Any software provided in binary form under this license must not be reverse
* engineered, decompiled, modified and/or disassembled.
*
* THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
#ifndef APP_ERROR_WEAK_H__
#define APP_ERROR_WEAK_H__
#ifdef __cplusplus
extern "C" {
#endif
/** @file
*
* @defgroup app_error Common application error handler
* @{
* @ingroup app_common
*
* @brief Common application error handler.
*/
/**@brief Callback function for errors, asserts, and faults.
*
* @details This function is called every time an error is raised in app_error, nrf_assert, or
* in the SoftDevice. Information about the error can be found in the @p info
* parameter.
*
* See also @ref nrf_fault_handler_t for more details.
*
* @note The function is implemented as weak so that it can be redefined by a custom error
* handler when needed.
*
* @param[in] id Fault identifier. See @ref NRF_FAULT_IDS.
* @param[in] pc The program counter of the instruction that triggered the fault, or 0 if
* unavailable.
* @param[in] info Optional additional information regarding the fault. The value of the @p id
* parameter dictates how to interpret this parameter. Refer to the documentation
* for each fault identifier (@ref NRF_FAULT_IDS and @ref APP_ERROR_FAULT_IDS) for
* details about interpreting @p info.
*/
void app_error_fault_handler(uint32_t id, uint32_t pc, uint32_t info);
/** @} */
#ifdef __cplusplus
}
#endif
#endif // APP_ERROR_WEAK_H__

View File

@ -38,130 +38,6 @@
* POSSIBILITY OF SUCH DAMAGE. * POSSIBILITY OF SUCH DAMAGE.
* -------------------------------------------------------------------- */ * -------------------------------------------------------------------- */
/**
\mainpage CMSIS DSP Software Library
*
* Introduction
* ------------
*
* This user manual describes the CMSIS DSP software library,
* a suite of common signal processing functions for use on Cortex-M processor based devices.
*
* The library is divided into a number of functions each covering a specific category:
* - Basic math functions
* - Fast math functions
* - Complex math functions
* - Filters
* - Matrix functions
* - Transforms
* - Motor control functions
* - Statistical functions
* - Support functions
* - Interpolation functions
*
* The library has separate functions for operating on 8-bit integers, 16-bit integers,
* 32-bit integer and 32-bit floating-point values.
*
* Using the Library
* ------------
*
* The library installer contains prebuilt versions of the libraries in the <code>Lib</code> folder.
* - arm_cortexM7lfdp_math.lib (Little endian and Double Precision Floating Point Unit on Cortex-M7)
* - arm_cortexM7bfdp_math.lib (Big endian and Double Precision Floating Point Unit on Cortex-M7)
* - arm_cortexM7lfsp_math.lib (Little endian and Single Precision Floating Point Unit on Cortex-M7)
* - arm_cortexM7bfsp_math.lib (Big endian and Single Precision Floating Point Unit on Cortex-M7)
* - arm_cortexM7l_math.lib (Little endian on Cortex-M7)
* - arm_cortexM7b_math.lib (Big endian on Cortex-M7)
* - arm_cortexM4lf_math.lib (Little endian and Floating Point Unit on Cortex-M4)
* - arm_cortexM4bf_math.lib (Big endian and Floating Point Unit on Cortex-M4)
* - arm_cortexM4l_math.lib (Little endian on Cortex-M4)
* - arm_cortexM4b_math.lib (Big endian on Cortex-M4)
* - arm_cortexM3l_math.lib (Little endian on Cortex-M3)
* - arm_cortexM3b_math.lib (Big endian on Cortex-M3)
* - arm_cortexM0l_math.lib (Little endian on Cortex-M0 / CortexM0+)
* - arm_cortexM0b_math.lib (Big endian on Cortex-M0 / CortexM0+)
*
* The library functions are declared in the public file <code>arm_math.h</code> which is placed in the <code>Include</code> folder.
* Simply include this file and link the appropriate library in the application and begin calling the library functions. The Library supports single
* public header file <code> arm_math.h</code> for Cortex-M7/M4/M3/M0/M0+ with little endian and big endian. Same header file will be used for floating point unit(FPU) variants.
* Define the appropriate pre processor MACRO ARM_MATH_CM7 or ARM_MATH_CM4 or ARM_MATH_CM3 or
* ARM_MATH_CM0 or ARM_MATH_CM0PLUS depending on the target processor in the application.
*
* Examples
* --------
*
* The library ships with a number of examples which demonstrate how to use the library functions.
*
* Toolchain Support
* ------------
*
* The library has been developed and tested with MDK-ARM version 5.14.0.0
* The library is being tested in GCC and IAR toolchains and updates on this activity will be made available shortly.
*
* Building the Library
* ------------
*
* The library installer contains a project file to re build libraries on MDK-ARM Tool chain in the <code>CMSIS\\DSP_Lib\\Source\\ARM</code> folder.
* - arm_cortexM_math.uvprojx
*
*
* The libraries can be built by opening the arm_cortexM_math.uvprojx project in MDK-ARM, selecting a specific target, and defining the optional pre processor MACROs detailed above.
*
* Pre-processor Macros
* ------------
*
* Each library project have differant pre-processor macros.
*
* - UNALIGNED_SUPPORT_DISABLE:
*
* Define macro UNALIGNED_SUPPORT_DISABLE, If the silicon does not support unaligned memory access
*
* - ARM_MATH_BIG_ENDIAN:
*
* Define macro ARM_MATH_BIG_ENDIAN to build the library for big endian targets. By default library builds for little endian targets.
*
* - ARM_MATH_MATRIX_CHECK:
*
* Define macro ARM_MATH_MATRIX_CHECK for checking on the input and output sizes of matrices
*
* - ARM_MATH_ROUNDING:
*
* Define macro ARM_MATH_ROUNDING for rounding on support functions
*
* - ARM_MATH_CMx:
*
* Define macro ARM_MATH_CM4 for building the library on Cortex-M4 target, ARM_MATH_CM3 for building library on Cortex-M3 target
* and ARM_MATH_CM0 for building library on Cortex-M0 target, ARM_MATH_CM0PLUS for building library on Cortex-M0+ target, and
* ARM_MATH_CM7 for building the library on cortex-M7.
*
* - __FPU_PRESENT:
*
* Initialize macro __FPU_PRESENT = 1 when building on FPU supported Targets. Enable this macro for M4bf and M4lf libraries
*
* <hr>
* CMSIS-DSP in ARM::CMSIS Pack
* -----------------------------
*
* The following files relevant to CMSIS-DSP are present in the <b>ARM::CMSIS</b> Pack directories:
* |File/Folder |Content |
* |------------------------------|------------------------------------------------------------------------|
* |\b CMSIS\\Documentation\\DSP | This documentation |
* |\b CMSIS\\DSP_Lib | Software license agreement (license.txt) |
* |\b CMSIS\\DSP_Lib\\Examples | Example projects demonstrating the usage of the library functions |
* |\b CMSIS\\DSP_Lib\\Source | Source files for rebuilding the library |
*
* <hr>
* Revision History of CMSIS-DSP
* ------------
* Please refer to \ref ChangeLog_pg.
*
* Copyright Notice
* ------------
*
* Copyright (C) 2010-2015 ARM Limited. All rights reserved.
*/
/** /**
* @defgroup groupMath Basic Math Functions * @defgroup groupMath Basic Math Functions
*/ */
@ -546,7 +422,7 @@ extern "C"
uint32_t count = 0; uint32_t count = 0;
uint32_t mask = 0x80000000; uint32_t mask = 0x80000000;
while((data & mask) == 0) while ((data & mask) == 0)
{ {
count += 1u; count += 1u;
mask = mask >> 1u; mask = mask >> 1u;
@ -570,7 +446,7 @@ extern "C"
uint32_t index, i; uint32_t index, i;
uint32_t signBits; uint32_t signBits;
if(in > 0) if (in > 0)
{ {
signBits = ((uint32_t) (__CLZ( in) - 1)); signBits = ((uint32_t) (__CLZ( in) - 1));
} }
@ -621,7 +497,7 @@ extern "C"
uint32_t index = 0, i = 0; uint32_t index = 0, i = 0;
uint32_t signBits = 0; uint32_t signBits = 0;
if(in > 0) if (in > 0)
{ {
signBits = ((uint32_t)(__CLZ( in) - 17)); signBits = ((uint32_t)(__CLZ( in) - 17));
} }
@ -676,11 +552,11 @@ extern "C"
posMax = posMax * 2; posMax = posMax * 2;
} }
if(x > 0) if (x > 0)
{ {
posMax = (posMax - 1); posMax = (posMax - 1);
if(x > posMax) if (x > posMax)
{ {
x = posMax; x = posMax;
} }
@ -689,7 +565,7 @@ extern "C"
{ {
negMin = -posMax; negMin = -posMax;
if(x < negMin) if (x < negMin)
{ {
x = negMin; x = negMin;
} }
@ -1029,7 +905,7 @@ extern "C"
typedef struct typedef struct
{ {
uint16_t numTaps; /**< number of filter coefficients in the filter. */ uint16_t numTaps; /**< number of filter coefficients in the filter. */
q7_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ q7_t *pState; /**< points to the state variable array. The array is of length numTaps + blockSize-1. */
q7_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ q7_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/
} arm_fir_instance_q7; } arm_fir_instance_q7;
@ -1039,7 +915,7 @@ extern "C"
typedef struct typedef struct
{ {
uint16_t numTaps; /**< number of filter coefficients in the filter. */ uint16_t numTaps; /**< number of filter coefficients in the filter. */
q15_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ q15_t *pState; /**< points to the state variable array. The array is of length numTaps + blockSize-1. */
q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/
} arm_fir_instance_q15; } arm_fir_instance_q15;
@ -1049,7 +925,7 @@ extern "C"
typedef struct typedef struct
{ {
uint16_t numTaps; /**< number of filter coefficients in the filter. */ uint16_t numTaps; /**< number of filter coefficients in the filter. */
q31_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ q31_t *pState; /**< points to the state variable array. The array is of length numTaps + blockSize-1. */
q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */ q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */
} arm_fir_instance_q31; } arm_fir_instance_q31;
@ -1059,7 +935,7 @@ extern "C"
typedef struct typedef struct
{ {
uint16_t numTaps; /**< number of filter coefficients in the filter. */ uint16_t numTaps; /**< number of filter coefficients in the filter. */
float32_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ float32_t *pState; /**< points to the state variable array. The array is of length numTaps + blockSize-1. */
float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */ float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */
} arm_fir_instance_f32; } arm_fir_instance_f32;
@ -2912,7 +2788,7 @@ void arm_rfft_fast_f32(
* @param[in] srcALen length of the first input sequence. * @param[in] srcALen length of the first input sequence.
* @param[in] pSrcB points to the second input sequence. * @param[in] pSrcB points to the second input sequence.
* @param[in] srcBLen length of the second input sequence. * @param[in] srcBLen length of the second input sequence.
* @param[out] pDst points to the location where the output result is written. Length srcALen+srcBLen-1. * @param[out] pDst points to the location where the output result is written. Length srcALen + srcBLen-1.
*/ */
void arm_conv_f32( void arm_conv_f32(
float32_t * pSrcA, float32_t * pSrcA,
@ -2928,7 +2804,7 @@ void arm_rfft_fast_f32(
* @param[in] srcALen length of the first input sequence. * @param[in] srcALen length of the first input sequence.
* @param[in] pSrcB points to the second input sequence. * @param[in] pSrcB points to the second input sequence.
* @param[in] srcBLen length of the second input sequence. * @param[in] srcBLen length of the second input sequence.
* @param[out] pDst points to the block of output data Length srcALen+srcBLen-1. * @param[out] pDst points to the block of output data Length srcALen + srcBLen-1.
* @param[in] pScratch1 points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2. * @param[in] pScratch1 points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2.
* @param[in] pScratch2 points to scratch buffer of size min(srcALen, srcBLen). * @param[in] pScratch2 points to scratch buffer of size min(srcALen, srcBLen).
*/ */
@ -2948,7 +2824,7 @@ void arm_rfft_fast_f32(
* @param[in] srcALen length of the first input sequence. * @param[in] srcALen length of the first input sequence.
* @param[in] pSrcB points to the second input sequence. * @param[in] pSrcB points to the second input sequence.
* @param[in] srcBLen length of the second input sequence. * @param[in] srcBLen length of the second input sequence.
* @param[out] pDst points to the location where the output result is written. Length srcALen+srcBLen-1. * @param[out] pDst points to the location where the output result is written. Length srcALen + srcBLen-1.
*/ */
void arm_conv_q15( void arm_conv_q15(
q15_t * pSrcA, q15_t * pSrcA,
@ -2964,7 +2840,7 @@ void arm_rfft_fast_f32(
* @param[in] srcALen length of the first input sequence. * @param[in] srcALen length of the first input sequence.
* @param[in] pSrcB points to the second input sequence. * @param[in] pSrcB points to the second input sequence.
* @param[in] srcBLen length of the second input sequence. * @param[in] srcBLen length of the second input sequence.
* @param[out] pDst points to the block of output data Length srcALen+srcBLen-1. * @param[out] pDst points to the block of output data Length srcALen + srcBLen-1.
*/ */
void arm_conv_fast_q15( void arm_conv_fast_q15(
q15_t * pSrcA, q15_t * pSrcA,
@ -2980,7 +2856,7 @@ void arm_rfft_fast_f32(
* @param[in] srcALen length of the first input sequence. * @param[in] srcALen length of the first input sequence.
* @param[in] pSrcB points to the second input sequence. * @param[in] pSrcB points to the second input sequence.
* @param[in] srcBLen length of the second input sequence. * @param[in] srcBLen length of the second input sequence.
* @param[out] pDst points to the block of output data Length srcALen+srcBLen-1. * @param[out] pDst points to the block of output data Length srcALen + srcBLen-1.
* @param[in] pScratch1 points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2. * @param[in] pScratch1 points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2.
* @param[in] pScratch2 points to scratch buffer of size min(srcALen, srcBLen). * @param[in] pScratch2 points to scratch buffer of size min(srcALen, srcBLen).
*/ */
@ -3000,7 +2876,7 @@ void arm_rfft_fast_f32(
* @param[in] srcALen length of the first input sequence. * @param[in] srcALen length of the first input sequence.
* @param[in] pSrcB points to the second input sequence. * @param[in] pSrcB points to the second input sequence.
* @param[in] srcBLen length of the second input sequence. * @param[in] srcBLen length of the second input sequence.
* @param[out] pDst points to the block of output data Length srcALen+srcBLen-1. * @param[out] pDst points to the block of output data Length srcALen + srcBLen-1.
*/ */
void arm_conv_q31( void arm_conv_q31(
q31_t * pSrcA, q31_t * pSrcA,
@ -3016,7 +2892,7 @@ void arm_rfft_fast_f32(
* @param[in] srcALen length of the first input sequence. * @param[in] srcALen length of the first input sequence.
* @param[in] pSrcB points to the second input sequence. * @param[in] pSrcB points to the second input sequence.
* @param[in] srcBLen length of the second input sequence. * @param[in] srcBLen length of the second input sequence.
* @param[out] pDst points to the block of output data Length srcALen+srcBLen-1. * @param[out] pDst points to the block of output data Length srcALen + srcBLen-1.
*/ */
void arm_conv_fast_q31( void arm_conv_fast_q31(
q31_t * pSrcA, q31_t * pSrcA,
@ -3032,7 +2908,7 @@ void arm_rfft_fast_f32(
* @param[in] srcALen length of the first input sequence. * @param[in] srcALen length of the first input sequence.
* @param[in] pSrcB points to the second input sequence. * @param[in] pSrcB points to the second input sequence.
* @param[in] srcBLen length of the second input sequence. * @param[in] srcBLen length of the second input sequence.
* @param[out] pDst points to the block of output data Length srcALen+srcBLen-1. * @param[out] pDst points to the block of output data Length srcALen + srcBLen-1.
* @param[in] pScratch1 points to scratch buffer(of type q15_t) of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2. * @param[in] pScratch1 points to scratch buffer(of type q15_t) of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2.
* @param[in] pScratch2 points to scratch buffer (of type q15_t) of size min(srcALen, srcBLen). * @param[in] pScratch2 points to scratch buffer (of type q15_t) of size min(srcALen, srcBLen).
*/ */
@ -3052,7 +2928,7 @@ void arm_rfft_fast_f32(
* @param[in] srcALen length of the first input sequence. * @param[in] srcALen length of the first input sequence.
* @param[in] pSrcB points to the second input sequence. * @param[in] pSrcB points to the second input sequence.
* @param[in] srcBLen length of the second input sequence. * @param[in] srcBLen length of the second input sequence.
* @param[out] pDst points to the block of output data Length srcALen+srcBLen-1. * @param[out] pDst points to the block of output data Length srcALen + srcBLen-1.
*/ */
void arm_conv_q7( void arm_conv_q7(
q7_t * pSrcA, q7_t * pSrcA,
@ -3071,7 +2947,7 @@ void arm_rfft_fast_f32(
* @param[out] pDst points to the block of output data * @param[out] pDst points to the block of output data
* @param[in] firstIndex is the first output sample to start with. * @param[in] firstIndex is the first output sample to start with.
* @param[in] numPoints is the number of output points to be computed. * @param[in] numPoints is the number of output points to be computed.
* @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen + srcBLen-2].
*/ */
arm_status arm_conv_partial_f32( arm_status arm_conv_partial_f32(
float32_t * pSrcA, float32_t * pSrcA,
@ -3094,7 +2970,7 @@ void arm_rfft_fast_f32(
* @param[in] numPoints is the number of output points to be computed. * @param[in] numPoints is the number of output points to be computed.
* @param[in] pScratch1 points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2. * @param[in] pScratch1 points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2.
* @param[in] pScratch2 points to scratch buffer of size min(srcALen, srcBLen). * @param[in] pScratch2 points to scratch buffer of size min(srcALen, srcBLen).
* @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen + srcBLen-2].
*/ */
arm_status arm_conv_partial_opt_q15( arm_status arm_conv_partial_opt_q15(
q15_t * pSrcA, q15_t * pSrcA,
@ -3117,7 +2993,7 @@ void arm_rfft_fast_f32(
* @param[out] pDst points to the block of output data * @param[out] pDst points to the block of output data
* @param[in] firstIndex is the first output sample to start with. * @param[in] firstIndex is the first output sample to start with.
* @param[in] numPoints is the number of output points to be computed. * @param[in] numPoints is the number of output points to be computed.
* @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen + srcBLen-2].
*/ */
arm_status arm_conv_partial_q15( arm_status arm_conv_partial_q15(
q15_t * pSrcA, q15_t * pSrcA,
@ -3138,7 +3014,7 @@ void arm_rfft_fast_f32(
* @param[out] pDst points to the block of output data * @param[out] pDst points to the block of output data
* @param[in] firstIndex is the first output sample to start with. * @param[in] firstIndex is the first output sample to start with.
* @param[in] numPoints is the number of output points to be computed. * @param[in] numPoints is the number of output points to be computed.
* @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen + srcBLen-2].
*/ */
arm_status arm_conv_partial_fast_q15( arm_status arm_conv_partial_fast_q15(
q15_t * pSrcA, q15_t * pSrcA,
@ -3161,7 +3037,7 @@ void arm_rfft_fast_f32(
* @param[in] numPoints is the number of output points to be computed. * @param[in] numPoints is the number of output points to be computed.
* @param[in] pScratch1 points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2. * @param[in] pScratch1 points to scratch buffer of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2.
* @param[in] pScratch2 points to scratch buffer of size min(srcALen, srcBLen). * @param[in] pScratch2 points to scratch buffer of size min(srcALen, srcBLen).
* @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen + srcBLen-2].
*/ */
arm_status arm_conv_partial_fast_opt_q15( arm_status arm_conv_partial_fast_opt_q15(
q15_t * pSrcA, q15_t * pSrcA,
@ -3184,7 +3060,7 @@ void arm_rfft_fast_f32(
* @param[out] pDst points to the block of output data * @param[out] pDst points to the block of output data
* @param[in] firstIndex is the first output sample to start with. * @param[in] firstIndex is the first output sample to start with.
* @param[in] numPoints is the number of output points to be computed. * @param[in] numPoints is the number of output points to be computed.
* @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen + srcBLen-2].
*/ */
arm_status arm_conv_partial_q31( arm_status arm_conv_partial_q31(
q31_t * pSrcA, q31_t * pSrcA,
@ -3205,7 +3081,7 @@ void arm_rfft_fast_f32(
* @param[out] pDst points to the block of output data * @param[out] pDst points to the block of output data
* @param[in] firstIndex is the first output sample to start with. * @param[in] firstIndex is the first output sample to start with.
* @param[in] numPoints is the number of output points to be computed. * @param[in] numPoints is the number of output points to be computed.
* @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen + srcBLen-2].
*/ */
arm_status arm_conv_partial_fast_q31( arm_status arm_conv_partial_fast_q31(
q31_t * pSrcA, q31_t * pSrcA,
@ -3228,7 +3104,7 @@ void arm_rfft_fast_f32(
* @param[in] numPoints is the number of output points to be computed. * @param[in] numPoints is the number of output points to be computed.
* @param[in] pScratch1 points to scratch buffer(of type q15_t) of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2. * @param[in] pScratch1 points to scratch buffer(of type q15_t) of size max(srcALen, srcBLen) + 2*min(srcALen, srcBLen) - 2.
* @param[in] pScratch2 points to scratch buffer (of type q15_t) of size min(srcALen, srcBLen). * @param[in] pScratch2 points to scratch buffer (of type q15_t) of size min(srcALen, srcBLen).
* @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen + srcBLen-2].
*/ */
arm_status arm_conv_partial_opt_q7( arm_status arm_conv_partial_opt_q7(
q7_t * pSrcA, q7_t * pSrcA,
@ -3251,7 +3127,7 @@ void arm_rfft_fast_f32(
* @param[out] pDst points to the block of output data * @param[out] pDst points to the block of output data
* @param[in] firstIndex is the first output sample to start with. * @param[in] firstIndex is the first output sample to start with.
* @param[in] numPoints is the number of output points to be computed. * @param[in] numPoints is the number of output points to be computed.
* @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen+srcBLen-2]. * @return Returns either ARM_MATH_SUCCESS if the function completed correctly or ARM_MATH_ARGUMENT_ERROR if the requested subset is not in the range [0 srcALen + srcBLen-2].
*/ */
arm_status arm_conv_partial_q7( arm_status arm_conv_partial_q7(
q7_t * pSrcA, q7_t * pSrcA,
@ -3271,7 +3147,7 @@ void arm_rfft_fast_f32(
uint8_t M; /**< decimation factor. */ uint8_t M; /**< decimation factor. */
uint16_t numTaps; /**< number of coefficients in the filter. */ uint16_t numTaps; /**< number of coefficients in the filter. */
q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/
q15_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ q15_t *pState; /**< points to the state variable array. The array is of length numTaps + blockSize-1. */
} arm_fir_decimate_instance_q15; } arm_fir_decimate_instance_q15;
/** /**
@ -3282,7 +3158,7 @@ void arm_rfft_fast_f32(
uint8_t M; /**< decimation factor. */ uint8_t M; /**< decimation factor. */
uint16_t numTaps; /**< number of coefficients in the filter. */ uint16_t numTaps; /**< number of coefficients in the filter. */
q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/
q31_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ q31_t *pState; /**< points to the state variable array. The array is of length numTaps + blockSize-1. */
} arm_fir_decimate_instance_q31; } arm_fir_decimate_instance_q31;
/** /**
@ -3293,7 +3169,7 @@ void arm_rfft_fast_f32(
uint8_t M; /**< decimation factor. */ uint8_t M; /**< decimation factor. */
uint16_t numTaps; /**< number of coefficients in the filter. */ uint16_t numTaps; /**< number of coefficients in the filter. */
float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/
float32_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ float32_t *pState; /**< points to the state variable array. The array is of length numTaps + blockSize-1. */
} arm_fir_decimate_instance_f32; } arm_fir_decimate_instance_f32;
@ -3434,7 +3310,7 @@ void arm_rfft_fast_f32(
uint8_t L; /**< upsample factor. */ uint8_t L; /**< upsample factor. */
uint16_t phaseLength; /**< length of each polyphase filter component. */ uint16_t phaseLength; /**< length of each polyphase filter component. */
q15_t *pCoeffs; /**< points to the coefficient array. The array is of length L*phaseLength. */ q15_t *pCoeffs; /**< points to the coefficient array. The array is of length L*phaseLength. */
q15_t *pState; /**< points to the state variable array. The array is of length blockSize+phaseLength-1. */ q15_t *pState; /**< points to the state variable array. The array is of length blockSize + phaseLength-1. */
} arm_fir_interpolate_instance_q15; } arm_fir_interpolate_instance_q15;
/** /**
@ -3445,7 +3321,7 @@ void arm_rfft_fast_f32(
uint8_t L; /**< upsample factor. */ uint8_t L; /**< upsample factor. */
uint16_t phaseLength; /**< length of each polyphase filter component. */ uint16_t phaseLength; /**< length of each polyphase filter component. */
q31_t *pCoeffs; /**< points to the coefficient array. The array is of length L*phaseLength. */ q31_t *pCoeffs; /**< points to the coefficient array. The array is of length L*phaseLength. */
q31_t *pState; /**< points to the state variable array. The array is of length blockSize+phaseLength-1. */ q31_t *pState; /**< points to the state variable array. The array is of length blockSize + phaseLength-1. */
} arm_fir_interpolate_instance_q31; } arm_fir_interpolate_instance_q31;
/** /**
@ -3456,7 +3332,7 @@ void arm_rfft_fast_f32(
uint8_t L; /**< upsample factor. */ uint8_t L; /**< upsample factor. */
uint16_t phaseLength; /**< length of each polyphase filter component. */ uint16_t phaseLength; /**< length of each polyphase filter component. */
float32_t *pCoeffs; /**< points to the coefficient array. The array is of length L*phaseLength. */ float32_t *pCoeffs; /**< points to the coefficient array. The array is of length L*phaseLength. */
float32_t *pState; /**< points to the state variable array. The array is of length phaseLength+numTaps-1. */ float32_t *pState; /**< points to the state variable array. The array is of length phaseLength + numTaps-1. */
} arm_fir_interpolate_instance_f32; } arm_fir_interpolate_instance_f32;
@ -3838,9 +3714,9 @@ void arm_rfft_fast_f32(
typedef struct typedef struct
{ {
uint16_t numStages; /**< number of stages in the filter. */ uint16_t numStages; /**< number of stages in the filter. */
q15_t *pState; /**< points to the state variable array. The array is of length numStages+blockSize. */ q15_t *pState; /**< points to the state variable array. The array is of length numStages + blockSize. */
q15_t *pkCoeffs; /**< points to the reflection coefficient array. The array is of length numStages. */ q15_t *pkCoeffs; /**< points to the reflection coefficient array. The array is of length numStages. */
q15_t *pvCoeffs; /**< points to the ladder coefficient array. The array is of length numStages+1. */ q15_t *pvCoeffs; /**< points to the ladder coefficient array. The array is of length numStages + 1. */
} arm_iir_lattice_instance_q15; } arm_iir_lattice_instance_q15;
/** /**
@ -3849,9 +3725,9 @@ void arm_rfft_fast_f32(
typedef struct typedef struct
{ {
uint16_t numStages; /**< number of stages in the filter. */ uint16_t numStages; /**< number of stages in the filter. */
q31_t *pState; /**< points to the state variable array. The array is of length numStages+blockSize. */ q31_t *pState; /**< points to the state variable array. The array is of length numStages + blockSize. */
q31_t *pkCoeffs; /**< points to the reflection coefficient array. The array is of length numStages. */ q31_t *pkCoeffs; /**< points to the reflection coefficient array. The array is of length numStages. */
q31_t *pvCoeffs; /**< points to the ladder coefficient array. The array is of length numStages+1. */ q31_t *pvCoeffs; /**< points to the ladder coefficient array. The array is of length numStages + 1. */
} arm_iir_lattice_instance_q31; } arm_iir_lattice_instance_q31;
/** /**
@ -3860,9 +3736,9 @@ void arm_rfft_fast_f32(
typedef struct typedef struct
{ {
uint16_t numStages; /**< number of stages in the filter. */ uint16_t numStages; /**< number of stages in the filter. */
float32_t *pState; /**< points to the state variable array. The array is of length numStages+blockSize. */ float32_t *pState; /**< points to the state variable array. The array is of length numStages + blockSize. */
float32_t *pkCoeffs; /**< points to the reflection coefficient array. The array is of length numStages. */ float32_t *pkCoeffs; /**< points to the reflection coefficient array. The array is of length numStages. */
float32_t *pvCoeffs; /**< points to the ladder coefficient array. The array is of length numStages+1. */ float32_t *pvCoeffs; /**< points to the ladder coefficient array. The array is of length numStages + 1. */
} arm_iir_lattice_instance_f32; } arm_iir_lattice_instance_f32;
@ -3885,8 +3761,8 @@ void arm_rfft_fast_f32(
* @param[in] S points to an instance of the floating-point IIR lattice structure. * @param[in] S points to an instance of the floating-point IIR lattice structure.
* @param[in] numStages number of stages in the filter. * @param[in] numStages number of stages in the filter.
* @param[in] pkCoeffs points to the reflection coefficient buffer. The array is of length numStages. * @param[in] pkCoeffs points to the reflection coefficient buffer. The array is of length numStages.
* @param[in] pvCoeffs points to the ladder coefficient buffer. The array is of length numStages+1. * @param[in] pvCoeffs points to the ladder coefficient buffer. The array is of length numStages + 1.
* @param[in] pState points to the state buffer. The array is of length numStages+blockSize-1. * @param[in] pState points to the state buffer. The array is of length numStages + blockSize-1.
* @param[in] blockSize number of samples to process. * @param[in] blockSize number of samples to process.
*/ */
void arm_iir_lattice_init_f32( void arm_iir_lattice_init_f32(
@ -3917,8 +3793,8 @@ void arm_rfft_fast_f32(
* @param[in] S points to an instance of the Q31 IIR lattice structure. * @param[in] S points to an instance of the Q31 IIR lattice structure.
* @param[in] numStages number of stages in the filter. * @param[in] numStages number of stages in the filter.
* @param[in] pkCoeffs points to the reflection coefficient buffer. The array is of length numStages. * @param[in] pkCoeffs points to the reflection coefficient buffer. The array is of length numStages.
* @param[in] pvCoeffs points to the ladder coefficient buffer. The array is of length numStages+1. * @param[in] pvCoeffs points to the ladder coefficient buffer. The array is of length numStages + 1.
* @param[in] pState points to the state buffer. The array is of length numStages+blockSize. * @param[in] pState points to the state buffer. The array is of length numStages + blockSize.
* @param[in] blockSize number of samples to process. * @param[in] blockSize number of samples to process.
*/ */
void arm_iir_lattice_init_q31( void arm_iir_lattice_init_q31(
@ -3949,8 +3825,8 @@ void arm_rfft_fast_f32(
* @param[in] S points to an instance of the fixed-point Q15 IIR lattice structure. * @param[in] S points to an instance of the fixed-point Q15 IIR lattice structure.
* @param[in] numStages number of stages in the filter. * @param[in] numStages number of stages in the filter.
* @param[in] pkCoeffs points to reflection coefficient buffer. The array is of length numStages. * @param[in] pkCoeffs points to reflection coefficient buffer. The array is of length numStages.
* @param[in] pvCoeffs points to ladder coefficient buffer. The array is of length numStages+1. * @param[in] pvCoeffs points to ladder coefficient buffer. The array is of length numStages + 1.
* @param[in] pState points to state buffer. The array is of length numStages+blockSize. * @param[in] pState points to state buffer. The array is of length numStages + blockSize.
* @param[in] blockSize number of samples to process per call. * @param[in] blockSize number of samples to process per call.
*/ */
void arm_iir_lattice_init_q15( void arm_iir_lattice_init_q15(
@ -3968,7 +3844,7 @@ void arm_rfft_fast_f32(
typedef struct typedef struct
{ {
uint16_t numTaps; /**< number of coefficients in the filter. */ uint16_t numTaps; /**< number of coefficients in the filter. */
float32_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ float32_t *pState; /**< points to the state variable array. The array is of length numTaps + blockSize-1. */
float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */ float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */
float32_t mu; /**< step size that controls filter coefficient updates. */ float32_t mu; /**< step size that controls filter coefficient updates. */
} arm_lms_instance_f32; } arm_lms_instance_f32;
@ -4016,7 +3892,7 @@ void arm_rfft_fast_f32(
typedef struct typedef struct
{ {
uint16_t numTaps; /**< number of coefficients in the filter. */ uint16_t numTaps; /**< number of coefficients in the filter. */
q15_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ q15_t *pState; /**< points to the state variable array. The array is of length numTaps + blockSize-1. */
q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */ q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */
q15_t mu; /**< step size that controls filter coefficient updates. */ q15_t mu; /**< step size that controls filter coefficient updates. */
uint32_t postShift; /**< bit shift applied to coefficients. */ uint32_t postShift; /**< bit shift applied to coefficients. */
@ -4067,7 +3943,7 @@ void arm_rfft_fast_f32(
typedef struct typedef struct
{ {
uint16_t numTaps; /**< number of coefficients in the filter. */ uint16_t numTaps; /**< number of coefficients in the filter. */
q31_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ q31_t *pState; /**< points to the state variable array. The array is of length numTaps + blockSize-1. */
q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */ q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */
q31_t mu; /**< step size that controls filter coefficient updates. */ q31_t mu; /**< step size that controls filter coefficient updates. */
uint32_t postShift; /**< bit shift applied to coefficients. */ uint32_t postShift; /**< bit shift applied to coefficients. */
@ -4118,7 +3994,7 @@ void arm_rfft_fast_f32(
typedef struct typedef struct
{ {
uint16_t numTaps; /**< number of coefficients in the filter. */ uint16_t numTaps; /**< number of coefficients in the filter. */
float32_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ float32_t *pState; /**< points to the state variable array. The array is of length numTaps + blockSize-1. */
float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */ float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */
float32_t mu; /**< step size that control filter coefficient updates. */ float32_t mu; /**< step size that control filter coefficient updates. */
float32_t energy; /**< saves previous frame energy. */ float32_t energy; /**< saves previous frame energy. */
@ -4168,7 +4044,7 @@ void arm_rfft_fast_f32(
typedef struct typedef struct
{ {
uint16_t numTaps; /**< number of coefficients in the filter. */ uint16_t numTaps; /**< number of coefficients in the filter. */
q31_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ q31_t *pState; /**< points to the state variable array. The array is of length numTaps + blockSize-1. */
q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */ q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */
q31_t mu; /**< step size that controls filter coefficient updates. */ q31_t mu; /**< step size that controls filter coefficient updates. */
uint8_t postShift; /**< bit shift applied to coefficients. */ uint8_t postShift; /**< bit shift applied to coefficients. */
@ -4222,7 +4098,7 @@ void arm_rfft_fast_f32(
typedef struct typedef struct
{ {
uint16_t numTaps; /**< Number of coefficients in the filter. */ uint16_t numTaps; /**< Number of coefficients in the filter. */
q15_t *pState; /**< points to the state variable array. The array is of length numTaps+blockSize-1. */ q15_t *pState; /**< points to the state variable array. The array is of length numTaps + blockSize-1. */
q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */ q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps. */
q15_t mu; /**< step size that controls filter coefficient updates. */ q15_t mu; /**< step size that controls filter coefficient updates. */
uint8_t postShift; /**< bit shift applied to coefficients. */ uint8_t postShift; /**< bit shift applied to coefficients. */
@ -4431,7 +4307,7 @@ void arm_rfft_fast_f32(
{ {
uint16_t numTaps; /**< number of coefficients in the filter. */ uint16_t numTaps; /**< number of coefficients in the filter. */
uint16_t stateIndex; /**< state buffer index. Points to the oldest sample in the state buffer. */ uint16_t stateIndex; /**< state buffer index. Points to the oldest sample in the state buffer. */
float32_t *pState; /**< points to the state buffer array. The array is of length maxDelay+blockSize-1. */ float32_t *pState; /**< points to the state buffer array. The array is of length maxDelay + blockSize-1. */
float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ float32_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/
uint16_t maxDelay; /**< maximum offset specified by the pTapDelay array. */ uint16_t maxDelay; /**< maximum offset specified by the pTapDelay array. */
int32_t *pTapDelay; /**< points to the array of delay values. The array is of length numTaps. */ int32_t *pTapDelay; /**< points to the array of delay values. The array is of length numTaps. */
@ -4444,7 +4320,7 @@ void arm_rfft_fast_f32(
{ {
uint16_t numTaps; /**< number of coefficients in the filter. */ uint16_t numTaps; /**< number of coefficients in the filter. */
uint16_t stateIndex; /**< state buffer index. Points to the oldest sample in the state buffer. */ uint16_t stateIndex; /**< state buffer index. Points to the oldest sample in the state buffer. */
q31_t *pState; /**< points to the state buffer array. The array is of length maxDelay+blockSize-1. */ q31_t *pState; /**< points to the state buffer array. The array is of length maxDelay + blockSize-1. */
q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ q31_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/
uint16_t maxDelay; /**< maximum offset specified by the pTapDelay array. */ uint16_t maxDelay; /**< maximum offset specified by the pTapDelay array. */
int32_t *pTapDelay; /**< points to the array of delay values. The array is of length numTaps. */ int32_t *pTapDelay; /**< points to the array of delay values. The array is of length numTaps. */
@ -4457,7 +4333,7 @@ void arm_rfft_fast_f32(
{ {
uint16_t numTaps; /**< number of coefficients in the filter. */ uint16_t numTaps; /**< number of coefficients in the filter. */
uint16_t stateIndex; /**< state buffer index. Points to the oldest sample in the state buffer. */ uint16_t stateIndex; /**< state buffer index. Points to the oldest sample in the state buffer. */
q15_t *pState; /**< points to the state buffer array. The array is of length maxDelay+blockSize-1. */ q15_t *pState; /**< points to the state buffer array. The array is of length maxDelay + blockSize-1. */
q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ q15_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/
uint16_t maxDelay; /**< maximum offset specified by the pTapDelay array. */ uint16_t maxDelay; /**< maximum offset specified by the pTapDelay array. */
int32_t *pTapDelay; /**< points to the array of delay values. The array is of length numTaps. */ int32_t *pTapDelay; /**< points to the array of delay values. The array is of length numTaps. */
@ -4470,7 +4346,7 @@ void arm_rfft_fast_f32(
{ {
uint16_t numTaps; /**< number of coefficients in the filter. */ uint16_t numTaps; /**< number of coefficients in the filter. */
uint16_t stateIndex; /**< state buffer index. Points to the oldest sample in the state buffer. */ uint16_t stateIndex; /**< state buffer index. Points to the oldest sample in the state buffer. */
q7_t *pState; /**< points to the state buffer array. The array is of length maxDelay+blockSize-1. */ q7_t *pState; /**< points to the state buffer array. The array is of length maxDelay + blockSize-1. */
q7_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/ q7_t *pCoeffs; /**< points to the coefficient array. The array is of length numTaps.*/
uint16_t maxDelay; /**< maximum offset specified by the pTapDelay array. */ uint16_t maxDelay; /**< maximum offset specified by the pTapDelay array. */
int32_t *pTapDelay; /**< points to the array of delay values. The array is of length numTaps. */ int32_t *pTapDelay; /**< points to the array of delay values. The array is of length numTaps. */
@ -5444,12 +5320,12 @@ void arm_rfft_fast_f32(
/* Calculation of index */ /* Calculation of index */
i = (int32_t) ((x - S->x1) / xSpacing); i = (int32_t) ((x - S->x1) / xSpacing);
if(i < 0) if (i < 0)
{ {
/* Iniatilize output for below specified range as least output value of table */ /* Iniatilize output for below specified range as least output value of table */
y = pYData[0]; y = pYData[0];
} }
else if((uint32_t)i >= S->nValues) else if ((uint32_t)i >= S->nValues)
{ {
/* Iniatilize output for above specified range as last output value of table */ /* Iniatilize output for above specified range as last output value of table */
y = pYData[S->nValues - 1]; y = pYData[S->nValues - 1];
@ -5502,11 +5378,11 @@ void arm_rfft_fast_f32(
/* Index value calculation */ /* Index value calculation */
index = ((x & (q31_t)0xFFF00000) >> 20); index = ((x & (q31_t)0xFFF00000) >> 20);
if(index >= (int32_t)(nValues - 1)) if (index >= (int32_t)(nValues - 1))
{ {
return (pYData[nValues - 1]); return (pYData[nValues - 1]);
} }
else if(index < 0) else if (index < 0)
{ {
return (pYData[0]); return (pYData[0]);
} }
@ -5560,11 +5436,11 @@ void arm_rfft_fast_f32(
/* Index value calculation */ /* Index value calculation */
index = ((x & (int32_t)0xFFF00000) >> 20); index = ((x & (int32_t)0xFFF00000) >> 20);
if(index >= (int32_t)(nValues - 1)) if (index >= (int32_t)(nValues - 1))
{ {
return (pYData[nValues - 1]); return (pYData[nValues - 1]);
} }
else if(index < 0) else if (index < 0)
{ {
return (pYData[0]); return (pYData[0]);
} }
@ -5621,7 +5497,7 @@ void arm_rfft_fast_f32(
} }
index = (x >> 20) & 0xfff; index = (x >> 20) & 0xfff;
if(index >= (nValues - 1)) if (index >= (nValues - 1))
{ {
return (pYData[nValues - 1]); return (pYData[nValues - 1]);
} }
@ -5746,7 +5622,7 @@ void arm_rfft_fast_f32(
float32_t in, float32_t in,
float32_t * pOut) float32_t * pOut)
{ {
if(in >= 0.0f) if (in >= 0.0f)
{ {
#if (__FPU_USED == 1) && defined ( __CC_ARM ) #if (__FPU_USED == 1) && defined ( __CC_ARM )
@ -5821,7 +5697,7 @@ void arm_rfft_fast_f32(
/* Loop over the blockSize */ /* Loop over the blockSize */
i = blockSize; i = blockSize;
while(i > 0u) while (i > 0u)
{ {
/* copy the input sample to the circular buffer */ /* copy the input sample to the circular buffer */
circBuffer[wOffset] = *src; circBuffer[wOffset] = *src;
@ -5831,7 +5707,7 @@ void arm_rfft_fast_f32(
/* Circularly update wOffset. Watch out for positive and negative value */ /* Circularly update wOffset. Watch out for positive and negative value */
wOffset += bufferInc; wOffset += bufferInc;
if(wOffset >= L) if (wOffset >= L)
wOffset -= L; wOffset -= L;
/* Decrement the loop counter */ /* Decrement the loop counter */
@ -5869,7 +5745,7 @@ void arm_rfft_fast_f32(
/* Loop over the blockSize */ /* Loop over the blockSize */
i = blockSize; i = blockSize;
while(i > 0u) while (i > 0u)
{ {
/* copy the sample from the circular buffer to the destination buffer */ /* copy the sample from the circular buffer to the destination buffer */
*dst = circBuffer[rOffset]; *dst = circBuffer[rOffset];
@ -5877,7 +5753,7 @@ void arm_rfft_fast_f32(
/* Update the input pointer */ /* Update the input pointer */
dst += dstInc; dst += dstInc;
if(dst == (int32_t *) dst_end) if (dst == (int32_t *) dst_end)
{ {
dst = dst_base; dst = dst_base;
} }
@ -5885,7 +5761,7 @@ void arm_rfft_fast_f32(
/* Circularly update rOffset. Watch out for positive and negative value */ /* Circularly update rOffset. Watch out for positive and negative value */
rOffset += bufferInc; rOffset += bufferInc;
if(rOffset >= L) if (rOffset >= L)
{ {
rOffset -= L; rOffset -= L;
} }
@ -5921,7 +5797,7 @@ void arm_rfft_fast_f32(
/* Loop over the blockSize */ /* Loop over the blockSize */
i = blockSize; i = blockSize;
while(i > 0u) while (i > 0u)
{ {
/* copy the input sample to the circular buffer */ /* copy the input sample to the circular buffer */
circBuffer[wOffset] = *src; circBuffer[wOffset] = *src;
@ -5931,7 +5807,7 @@ void arm_rfft_fast_f32(
/* Circularly update wOffset. Watch out for positive and negative value */ /* Circularly update wOffset. Watch out for positive and negative value */
wOffset += bufferInc; wOffset += bufferInc;
if(wOffset >= L) if (wOffset >= L)
wOffset -= L; wOffset -= L;
/* Decrement the loop counter */ /* Decrement the loop counter */
@ -5969,7 +5845,7 @@ void arm_rfft_fast_f32(
/* Loop over the blockSize */ /* Loop over the blockSize */
i = blockSize; i = blockSize;
while(i > 0u) while (i > 0u)
{ {
/* copy the sample from the circular buffer to the destination buffer */ /* copy the sample from the circular buffer to the destination buffer */
*dst = circBuffer[rOffset]; *dst = circBuffer[rOffset];
@ -5977,7 +5853,7 @@ void arm_rfft_fast_f32(
/* Update the input pointer */ /* Update the input pointer */
dst += dstInc; dst += dstInc;
if(dst == (q15_t *) dst_end) if (dst == (q15_t *) dst_end)
{ {
dst = dst_base; dst = dst_base;
} }
@ -5985,7 +5861,7 @@ void arm_rfft_fast_f32(
/* Circularly update wOffset. Watch out for positive and negative value */ /* Circularly update wOffset. Watch out for positive and negative value */
rOffset += bufferInc; rOffset += bufferInc;
if(rOffset >= L) if (rOffset >= L)
{ {
rOffset -= L; rOffset -= L;
} }
@ -6021,7 +5897,7 @@ void arm_rfft_fast_f32(
/* Loop over the blockSize */ /* Loop over the blockSize */
i = blockSize; i = blockSize;
while(i > 0u) while (i > 0u)
{ {
/* copy the input sample to the circular buffer */ /* copy the input sample to the circular buffer */
circBuffer[wOffset] = *src; circBuffer[wOffset] = *src;
@ -6031,7 +5907,7 @@ void arm_rfft_fast_f32(
/* Circularly update wOffset. Watch out for positive and negative value */ /* Circularly update wOffset. Watch out for positive and negative value */
wOffset += bufferInc; wOffset += bufferInc;
if(wOffset >= L) if (wOffset >= L)
wOffset -= L; wOffset -= L;
/* Decrement the loop counter */ /* Decrement the loop counter */
@ -6069,7 +5945,7 @@ void arm_rfft_fast_f32(
/* Loop over the blockSize */ /* Loop over the blockSize */
i = blockSize; i = blockSize;
while(i > 0u) while (i > 0u)
{ {
/* copy the sample from the circular buffer to the destination buffer */ /* copy the sample from the circular buffer to the destination buffer */
*dst = circBuffer[rOffset]; *dst = circBuffer[rOffset];
@ -6077,7 +5953,7 @@ void arm_rfft_fast_f32(
/* Update the input pointer */ /* Update the input pointer */
dst += dstInc; dst += dstInc;
if(dst == (q7_t *) dst_end) if (dst == (q7_t *) dst_end)
{ {
dst = dst_base; dst = dst_base;
} }
@ -6085,7 +5961,7 @@ void arm_rfft_fast_f32(
/* Circularly update rOffset. Watch out for positive and negative value */ /* Circularly update rOffset. Watch out for positive and negative value */
rOffset += bufferInc; rOffset += bufferInc;
if(rOffset >= L) if (rOffset >= L)
{ {
rOffset -= L; rOffset -= L;
} }
@ -6723,9 +6599,9 @@ void arm_rfft_fast_f32(
* The interpolated output point is computed as: * The interpolated output point is computed as:
* <pre> * <pre>
* f(x, y) = f(XF, YF) * (1-(x-XF)) * (1-(y-YF)) * f(x, y) = f(XF, YF) * (1-(x-XF)) * (1-(y-YF))
* + f(XF+1, YF) * (x-XF)*(1-(y-YF)) * + f(XF + 1, YF) * (x-XF)*(1-(y-YF))
* + f(XF, YF+1) * (1-(x-XF))*(y-YF) * + f(XF, YF + 1) * (1-(x-XF))*(y-YF)
* + f(XF+1, YF+1) * (x-XF)*(y-YF) * + f(XF + 1, YF + 1) * (x-XF)*(y-YF)
* </pre> * </pre>
* Note that the coordinates (x, y) contain integer and fractional components. * Note that the coordinates (x, y) contain integer and fractional components.
* The integer components specify which portion of the table to use while the * The integer components specify which portion of the table to use while the
@ -6766,7 +6642,7 @@ void arm_rfft_fast_f32(
/* Care taken for table outside boundary */ /* Care taken for table outside boundary */
/* Returns zero output when values are outside table boundary */ /* Returns zero output when values are outside table boundary */
if(xIndex < 0 || xIndex > (S->numRows - 1) || yIndex < 0 || yIndex > (S->numCols - 1)) if (xIndex < 0 || xIndex > (S->numRows - 1) || yIndex < 0 || yIndex > (S->numCols - 1))
{ {
return (0); return (0);
} }
@ -6840,7 +6716,7 @@ void arm_rfft_fast_f32(
/* Care taken for table outside boundary */ /* Care taken for table outside boundary */
/* Returns zero output when values are outside table boundary */ /* Returns zero output when values are outside table boundary */
if(rI < 0 || rI > (S->numRows - 1) || cI < 0 || cI > (S->numCols - 1)) if (rI < 0 || rI > (S->numRows - 1) || cI < 0 || cI > (S->numCols - 1))
{ {
return (0); return (0);
} }
@ -6914,7 +6790,7 @@ void arm_rfft_fast_f32(
/* Care taken for table outside boundary */ /* Care taken for table outside boundary */
/* Returns zero output when values are outside table boundary */ /* Returns zero output when values are outside table boundary */
if(rI < 0 || rI > (S->numRows - 1) || cI < 0 || cI > (S->numCols - 1)) if (rI < 0 || rI > (S->numRows - 1) || cI < 0 || cI > (S->numCols - 1))
{ {
return (0); return (0);
} }
@ -6992,7 +6868,7 @@ void arm_rfft_fast_f32(
/* Care taken for table outside boundary */ /* Care taken for table outside boundary */
/* Returns zero output when values are outside table boundary */ /* Returns zero output when values are outside table boundary */
if(rI < 0 || rI > (S->numRows - 1) || cI < 0 || cI > (S->numCols - 1)) if (rI < 0 || rI > (S->numRows - 1) || cI < 0 || cI > (S->numCols - 1))
{ {
return (0); return (0);
} }

View File

@ -735,7 +735,7 @@ __STATIC_INLINE void NVIC_SystemReset(void)
SCB_AIRCR_SYSRESETREQ_Msk); SCB_AIRCR_SYSRESETREQ_Msk);
__DSB(); /* Ensure completion of memory access */ __DSB(); /* Ensure completion of memory access */
for(;;) /* wait until reset */ for (;;) /* wait until reset */
{ {
__NOP(); __NOP();
} }

View File

@ -851,7 +851,7 @@ __STATIC_INLINE void NVIC_SystemReset(void)
SCB_AIRCR_SYSRESETREQ_Msk); SCB_AIRCR_SYSRESETREQ_Msk);
__DSB(); /* Ensure completion of memory access */ __DSB(); /* Ensure completion of memory access */
for(;;) /* wait until reset */ for (;;) /* wait until reset */
{ {
__NOP(); __NOP();
} }

View File

@ -1622,7 +1622,7 @@ __STATIC_INLINE void NVIC_SystemReset(void)
SCB_AIRCR_SYSRESETREQ_Msk ); /* Keep priority group unchanged */ SCB_AIRCR_SYSRESETREQ_Msk ); /* Keep priority group unchanged */
__DSB(); /* Ensure completion of memory access */ __DSB(); /* Ensure completion of memory access */
for(;;) /* wait until reset */ for (;;) /* wait until reset */
{ {
__NOP(); __NOP();
} }

View File

@ -1796,7 +1796,7 @@ __STATIC_INLINE void NVIC_SystemReset(void)
SCB_AIRCR_SYSRESETREQ_Msk ); /* Keep priority group unchanged */ SCB_AIRCR_SYSRESETREQ_Msk ); /* Keep priority group unchanged */
__DSB(); /* Ensure completion of memory access */ __DSB(); /* Ensure completion of memory access */
for(;;) /* wait until reset */ for (;;) /* wait until reset */
{ {
__NOP(); __NOP();
} }

View File

@ -2004,7 +2004,7 @@ __STATIC_INLINE void NVIC_SystemReset(void)
SCB_AIRCR_SYSRESETREQ_Msk ); /* Keep priority group unchanged */ SCB_AIRCR_SYSRESETREQ_Msk ); /* Keep priority group unchanged */
__DSB(); /* Ensure completion of memory access */ __DSB(); /* Ensure completion of memory access */
for(;;) /* wait until reset */ for (;;) /* wait until reset */
{ {
__NOP(); __NOP();
} }
@ -2143,7 +2143,7 @@ __STATIC_INLINE void SCB_EnableDCache (void)
__schedule_barrier(); __schedule_barrier();
#endif #endif
} while (ways--); } while (ways--);
} while(sets--); } while (sets--);
__DSB(); __DSB();
SCB->CCR |= (uint32_t)SCB_CCR_DC_Msk; /* enable D-Cache */ SCB->CCR |= (uint32_t)SCB_CCR_DC_Msk; /* enable D-Cache */
@ -2183,7 +2183,7 @@ __STATIC_INLINE void SCB_DisableDCache (void)
__schedule_barrier(); __schedule_barrier();
#endif #endif
} while (ways--); } while (ways--);
} while(sets--); } while (sets--);
__DSB(); __DSB();
__ISB(); __ISB();
@ -2218,7 +2218,7 @@ __STATIC_INLINE void SCB_InvalidateDCache (void)
__schedule_barrier(); __schedule_barrier();
#endif #endif
} while (ways--); } while (ways--);
} while(sets--); } while (sets--);
__DSB(); __DSB();
__ISB(); __ISB();
@ -2253,7 +2253,7 @@ __STATIC_INLINE void SCB_CleanDCache (void)
__schedule_barrier(); __schedule_barrier();
#endif #endif
} while (ways--); } while (ways--);
} while(sets--); } while (sets--);
__DSB(); __DSB();
__ISB(); __ISB();
@ -2288,7 +2288,7 @@ __STATIC_INLINE void SCB_CleanInvalidateDCache (void)
__schedule_barrier(); __schedule_barrier();
#endif #endif
} while (ways--); } while (ways--);
} while(sets--); } while (sets--);
__DSB(); __DSB();
__ISB(); __ISB();

Some files were not shown because too many files have changed in this diff Show More