Edge AI Add-on API 2.2.0
Loading...
Searching...
No Matches
nrf_axon_dsp_intrinsics.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2024, Nordic Semiconductor ASA. All Rights Reserved.
3 *
4 * The information contained herein is confidential property of Nordic Semiconductor ASA.
5 * The use, copying, transfer or disclosure of such information is prohibited except by
6 * express written agreement with Nordic Semiconductor ASA.
7 */
8
9#pragma once
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15#include <stdint.h>
16#include <stdbool.h>
17#include "nrf_axon_driver.h"
18
22#define NRF_AXON_DSP_VECTOR_MULTPLE (4)
23#define NRF_AXON_DSP_VECTOR_LENGTH_CEIL(vector_length) (NRF_AXON_DSP_VECTOR_MULTPLE * (((vector_length)+NRF_AXON_DSP_VECTOR_MULTPLE-1)/NRF_AXON_DSP_VECTOR_MULTPLE))
24
34
48 const int32_t *in_ptr,
49 int32_t *out_ptr,
50 uint16_t length_log2,
51 bool half_output,
52 bool round_by_length_log2,
54 bool keep_reservation);
55
71 const int32_t *in_ptr,
72 int32_t *out_ptr,
73 uint16_t length_log2,
74 bool half_output,
75 uint8_t rounding_bits,
77 bool keep_reservation);
78
99 const int32_t *in_ptr,
100 const int32_t *filter_ptr,
101 int32_t *out_ptr,
102 uint16_t input_length,
103 uint16_t filter_length,
104 uint8_t rounding_bits,
106 bool keep_reservation);
107
128 const int32_t *in_ptr,
129 const int16_t *filter_ptr,
130 int32_t *out_ptr,
131 uint16_t input_length,
132 uint16_t filter_length,
133 uint8_t rounding_bits,
135 bool keep_reservation);
154 const int32_t *in_ptr,
155 int32_t *out_ptr,
156 uint16_t length,
158 bool keep_reservation);
159
177 const int32_t *in_ptr,
178 int32_t *out_ptr,
179 uint16_t length,
181 bool keep_reservation);
182
201 const int32_t *in_ptr,
202 int32_t *out_ptr,
203 uint16_t length,
205 bool keep_reservation);
206
227 const int32_t *x_ptr,
228 const int32_t *y_ptr,
229 int32_t *out_ptr,
230 uint16_t length,
231 uint8_t rounding_bits,
233 bool keep_reservation);
234
253 const int32_t *x_ptr,
254 const int32_t *y_ptr,
255 int32_t *out_ptr,
256 uint16_t length,
257 uint8_t rounding_bits,
259 bool keep_reservation);
260
277 const int32_t *x_ptr,
278 const int32_t *y_ptr,
279 int32_t *out_ptr,
280 uint16_t length,
281 uint8_t rounding_bits,
283 bool keep_reservation);
284
300 const int32_t *x_ptr,
301 const int32_t *y_ptr,
302 int32_t *out_ptr,
303 uint16_t length,
304 uint8_t rounding_bits,
306 bool keep_reservation);
307
323 const int32_t *x_ptr,
324 const int32_t *y_ptr,
325 int32_t *out_ptr,
326 uint16_t length,
327 uint8_t rounding_bits,
329 bool keep_reservation);
330
346 const int32_t *x_ptr,
347 const int32_t *y_ptr,
348 int32_t *out_ptr,
349 uint16_t length,
350 uint8_t rounding_bits,
352 bool keep_reservation);
353
370 const int32_t *x_ptr,
371 const int32_t *a_scalar,
372 const int32_t *b_scalar,
373 int32_t *output,
374 uint16_t length,
375 uint8_t rounding_bits,
377 bool keep_reservation);
378
397 const int32_t *x_ptr,
398 const int32_t *y_ptr,
399 const int32_t *a_scalar,
400 const int32_t *b_scalar,
401 int32_t *out_ptr,
402 uint16_t length,
403 uint8_t rounding_bits,
405 bool keep_reservation);
406
421 const int32_t *x_ptr,
422 int32_t *out_ptr,
423 uint16_t length,
424 uint8_t rounding_bits,
426 bool keep_reservation);
427
443 const int32_t *x_ptr,
444 const int32_t *y_ptr,
445 int32_t *out_ptr,
446 uint16_t length,
447 uint8_t rounding_bits,
449 bool keep_reservation);
450
466 const int16_t *x_ptr,
467 const int32_t *y_ptr,
468 int32_t *out_ptr,
469 uint16_t length,
470 uint8_t rounding_bits,
472 bool keep_reservation);
473
489 const int16_t *x_ptr,
490 const int16_t *y_ptr,
491 int32_t *out_ptr,
492 uint16_t length,
493 uint8_t rounding_bits,
495 bool keep_reservation);
496
512 const int32_t *x_ptr,
513 const int32_t *y_ptr,
514 int32_t *out_ptr,
515 uint16_t length,
516 uint8_t rounding_bits,
518 bool keep_reservation);
519
535 const int16_t *x_ptr,
536 const int32_t *y_ptr,
537 int32_t *out_ptr,
538 uint16_t length,
539 uint8_t rounding_bits,
541 bool keep_reservation);
542
558 const int16_t *x_ptr,
559 const int16_t *y_ptr,
560 int32_t *out_ptr,
561 uint16_t length,
562 uint8_t rounding_bits,
564 bool keep_reservation);
565
581 const int32_t *x_ptr,
582 int32_t *out_ptr,
583 uint16_t length,
584 uint8_t rounding_bits,
586 bool keep_reservation);
587
603 const int16_t *x_ptr,
604 int32_t *out_ptr,
605 uint16_t length,
606 uint8_t rounding_bits,
608 bool keep_reservation);
609
625 const int32_t *x_ptr,
626 int32_t *out_ptr,
627 uint16_t length,
628 uint8_t rounding_bits,
630 bool keep_reservation);
631
647 const int16_t *x_ptr,
648 int32_t *out_ptr,
649 uint16_t length,
650 uint8_t rounding_bits,
652 bool keep_reservation);
653
654
668 const int32_t *x_ptr,
669 int32_t *out_ptr,
670 uint16_t length,
671 uint8_t rounding_bits,
673 bool keep_reservation);
674
688 const int16_t *x_ptr,
689 int32_t *out_ptr,
690 uint16_t length,
691 uint8_t rounding_bits,
693 bool keep_reservation);
694
708 const int32_t *x_ptr,
709 int32_t *out_ptr,
710 uint16_t length,
711 uint8_t rounding_bits,
713 bool keep_reservation);
714
728 const int16_t *x_ptr,
729 int32_t *out_ptr,
730 uint16_t length,
731 uint8_t rounding_bits,
733 bool keep_reservation);
734
748 const int32_t *x_ptr,
749 int32_t *out_ptr,
750 uint16_t length,
751 uint8_t rounding_bits,
753 bool keep_reservation);
754
768 const int16_t *x_ptr,
769 int32_t *out_ptr,
770 uint16_t length,
771 uint8_t rounding_bits,
773 bool keep_reservation);
774
788 const int32_t *x_ptr,
789 int32_t *out_ptr,
790 uint16_t length,
791 uint8_t rounding_bits,
793 bool keep_reservation);
794
808 const int16_t *x_ptr,
809 int32_t *out_ptr,
810 uint16_t length,
811 uint8_t rounding_bits,
813 bool keep_reservation);
814
824 const int16_t *x_ptr,
825 const int16_t *y_ptr,
826 int32_t *out_ptr,
827 uint16_t length,
828 uint8_t rounding_bits,
830 bool keep_reservation);
831
852 const int16_t *x_ptr,
853 const int16_t *y_ptr,
854 int32_t *out_ptr,
855 uint16_t length,
856 uint8_t rounding_bits,
857 uint8_t output_extra_stride,
859 bool keep_reservation);
860
877 int16_t set_val,
878 int32_t *out_ptr,
879 uint16_t length,
880 uint8_t output_extra_stride,
882 bool keep_reservation);
883
890 const int32_t *in_ptr,
891 int32_t *out_ptr,
892 uint16_t length,
894 bool keep_reservation);
895
906 const int32_t *in_ptr,
907 int8_t *out_ptr,
908 uint16_t length,
910 bool keep_reservation);
911
950 const int16_t *input_ptr,
951 const int16_t *filter_ptr,
952 int32_t *out_ptr,
953 uint16_t input_height,
954 uint16_t filter_height,
955 uint16_t decimate_width,
956 uint8_t rounding_bits,
958 bool keep_reservation);
959
998 const int16_t *input_ptr,
999 const int16_t *filter_ptr,
1000 int32_t *out_ptr,
1001 uint16_t input_height,
1002 uint16_t filter_height,
1003 uint16_t decimate_width,
1004 uint8_t rounding_bits,
1006 bool keep_reservation);
1007
1042 const int16_t *input_ptr,
1043 const int16_t *filter_ptr,
1044 int32_t *out_ptr,
1045 uint16_t input_length,
1046 uint16_t filter_length,
1047 uint16_t decimate,
1048 uint8_t rounding_bits,
1050 bool keep_reservation);
1051
1080 const int16_t *input_ptr,
1081 const int16_t *filter_ptr,
1082 int32_t *out_ptr,
1083 uint8_t rounding_bits,
1085 bool keep_reservation);
1086
1115 const int16_t *input_ptr,
1116 const int16_t *filter_ptr,
1117 int32_t *out_ptr,
1118 uint8_t rounding_bits,
1120 bool keep_reservation);
1121
1122#ifdef __cplusplus
1123}
1124#endif
nrf_axon_result_e
Axon driver return codes.
Definition nrf_axon_driver.h:86
nrf_axon_syncmode_blocking_e
Specifies the blocking mechanism for synchronous Axon command buffer execution.
Definition nrf_axon_driver.h:152
nrf_axon_result_e nrf_axon_acc_24_24(const int32_t *x_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"Acc" => "Accumulate" sums the elements in vector X
nrf_axon_result_e nrf_axon_marx_16_24(const int16_t *x_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"Marx" => "Multiply, Accumulate, recursive, only reload the x vector" sums the products of elements i...
nrf_axon_result_e nrf_axon_l2norm_16_32(const int16_t *x_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"l2norm" => sums the square of the elements in vector X
nrf_axon_result_e nrf_axon_fir_2d_16_16_24_decimate(const int16_t *input_ptr, const int16_t *filter_ptr, int32_t *out_ptr, uint16_t input_height, uint16_t filter_height, uint16_t decimate_width, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"FIR" => "Finite Impulse Response" filter with decimation multiple. Filter coefficients are MAC'd wit...
nrf_axon_result_e nrf_axon_exp_11p12(const int32_t *in_ptr, int32_t *out_ptr, uint16_t length, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"exp"=> "exponent" (e to the x) Calculates the exponent of vector input, output=exp(input)....
nrf_axon_result_e nrf_axon_saturate_32_8(const int32_t *in_ptr, int8_t *out_ptr, uint16_t length, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
Saturates a 32bit vector to 8bits, unpacked.
nrf_axon_result_e nrf_axon_fir_16_16_32_decimate(const int16_t *input_ptr, const int16_t *filter_ptr, int32_t *out_ptr, uint16_t input_length, uint16_t filter_length, uint16_t decimate, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"FIR" => "Finite Impulse Response" filter with decimation multiple. Filter coefficients are MAC'd wit...
nrf_axon_result_e nrf_axon_fft_power_24(const int32_t *in_ptr, int32_t *out_ptr, uint16_t length_log2, bool half_output, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
Performs a 24bit (unpacked) complex FFT, then sums the squares of the complex coefficients,...
nrf_axon_result_e nrf_axon_axpb_24_24(const int32_t *x_ptr, const int32_t *a_scalar, const int32_t *b_scalar, int32_t *output, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"axpb"=>"a times x + b" Multiplies eache vector value by "a" and adds "b"
nrf_axon_result_e nrf_axon_acc_16_24(const int16_t *x_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"Acc" => "Accumulate" sums the elements in vector X
nrf_axon_result_e nrf_axon_mar_16_16_32(const int16_t *x_ptr, const int16_t *y_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"Mar" => "Multiply, Accumulate, recursive" sums the products of elements in input vector X and input ...
nrf_axon_result_e nrf_axon_l2norm_24_24(const int32_t *x_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"l2norm" => sums the square of the elements in vector X
nrf_axon_result_e nrf_axon_xty_24_24_24(const int32_t *x_ptr, const int32_t *y_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"Xty"=>"X Times Y " multiplies vector X and vector Y.
nrf_axon_result_e nrf_axon_xmy_24_24_24(const int32_t *x_ptr, const int32_t *y_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"Xmy"=>"X Minus Y" subtracts vector Y from vector X.
nrf_axon_result_e nrf_axon_marx_24_32(const int32_t *x_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"Marx" => "Multiply, Accumulate, recursive, only reload the x vector" sums the products of elements i...
nrf_axon_result_e nrf_axon_mar_16_16_24(const int16_t *x_ptr, const int16_t *y_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"Mar" => "Multiply, Accumulate, recursive" sums the products of elements in input vector X and input ...
nrf_axon_result_e nrf_axon_xsmys_24_24_24(const int32_t *x_ptr, const int32_t *y_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"Xsmys"=>"X Squared Minus Y Squared" subtracts the square of vector Y from the square of vector X.
nrf_axon_result_e nrf_axon_sqrt_24(const int32_t *in_ptr, int32_t *out_ptr, uint16_t length, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"Sqrt"=> "Square Root" Calculates a the square root of vector input, output=SQRT(input)....
nrf_axon_result_e nrf_axon_xpy_24_24_24(const int32_t *x_ptr, const int32_t *y_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"Xpy"=>"X Plus Y " vector adds vector X and vector Y.
nrf_axon_result_e nrf_axon_mar_16_24_24(const int16_t *x_ptr, const int32_t *y_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"Mar" => "Multiply, Accumulate, recursive" sums the products of elements in input vector X and input ...
nrf_axon_result_e nrf_axon_fir_2d_16_16_32_decimate(const int16_t *input_ptr, const int16_t *filter_ptr, int32_t *out_ptr, uint16_t input_height, uint16_t filter_height, uint16_t decimate_width, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"FIR" => "Finite Impulse Response" filter with decimation multiple. Filter coefficients are MAC'd wit...
nrf_axon_result_e nrf_axon_marx_16_32(const int16_t *x_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"Marx" => "Multiply, Accumulate, recursive, only reload the x vector" sums the products of elements i...
nrf_axon_result_e nrf_axon_acc_24_32(const int32_t *x_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"Acc" => "Accumulate" sums the elements in vector X
nrf_axon_result_e nrf_axon_l2norm_16_24(const int16_t *x_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"l2norm" => sums the square of the elements in vector X
nrf_axon_result_e nrf_axon_xs_24_24(const int32_t *x_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"xs"=>"x squared" Each vector value is multiplied by itself
nrf_axon_result_e nrf_axon_mar_16_24_32(const int16_t *x_ptr, const int32_t *y_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"Mar" => "Multiply, Accumulate, recursive" sums the products of elements in input vector X and input ...
nrf_axon_result_e nrf_axon_xty_16_16_32(const int16_t *x_ptr, const int16_t *y_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
vector multiplies 2 16bit vectors to produce a 32bit vector
nrf_axon_result_e nrf_axon_memset_32_output_stride(int16_t set_val, int32_t *out_ptr, uint16_t length, uint8_t output_extra_stride, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
Sets 32bit words with the value in set_val (which is limited to 16bits, but sign extended to 32bits).
nrf_axon_result_e nrf_axon_xspys_24_24_24(const int32_t *x_ptr, const int32_t *y_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"Xspys"=>"X Squared Plus Y Squared" adds the square of vector Y to the square of vector X.
nrf_axon_result_e nrf_axon_marx_24_24(const int32_t *x_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"Marx" => "Multiply, Accumulate, recursive, only reload the x vector" sums the products of elements i...
nrf_axon_result_e nrf_axon_axpby_24_24_24(const int32_t *x_ptr, const int32_t *y_ptr, const int32_t *a_scalar, const int32_t *b_scalar, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"axpby"=>"a times x + b times y" Multiplies each x vector value by "a" and adds the product of "b" an...
nrf_axon_result_e nrf_axon_fir_16_16_32_1024_256_decimate_1(const int16_t *input_ptr, const int16_t *filter_ptr, int32_t *out_ptr, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"FIR" => "Finite Impulse Response" filter with decimation multiple. Filter coefficients are MAC'd wit...
nrf_axon_result_e nrf_axon_fir_24_16_24(const int32_t *in_ptr, const int16_t *filter_ptr, int32_t *out_ptr, uint16_t input_length, uint16_t filter_length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"FIR" => "Finite Impulse Response" filter. Filter coefficients are MAC'd with the input in reverse or...
nrf_axon_result_e nrf_axon_logn_11p12(const int32_t *in_ptr, int32_t *out_ptr, uint16_t length, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"logn"=> "Natural Log" Calculates the natural log of vector input, output=ln(input)....
nrf_axon_result_e nrf_axon_mar_24_24_32(const int32_t *x_ptr, const int32_t *y_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"Mar" => "Multiply, Accumulate, recursive" sums the products of elements in input vector X and input ...
nrf_axon_result_e nrf_axon_l2norm_24_32(const int32_t *x_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"l2norm" => sums the square of the elements in vector X
nrf_axon_result_e nrf_axon_fir_24_24_24(const int32_t *in_ptr, const int32_t *filter_ptr, int32_t *out_ptr, uint16_t input_length, uint16_t filter_length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"FIR" => "Finite Impulse Response" filter. Filter coefficients are MAC'd with the input in reverse or...
nrf_axon_result_e nrf_axon_fft_24(const int32_t *in_ptr, int32_t *out_ptr, uint16_t length_log2, bool half_output, bool round_by_length_log2, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
Performs a 24bit (unpacked) complex FFT. complex numbers are stored in pairs, real component,...
nrf_axon_result_e nrf_axon_acc_16_32(const int16_t *x_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"Acc" => "Accumulate" sums the elements in vector X
nrf_axon_result_e nrf_axon_mar_24_24_24(const int32_t *x_ptr, const int32_t *y_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"Mar" => "Multiply, Accumulate, recursive" sums the products of elements in input vector X and input ...
nrf_axon_result_e nrf_axon_xty_16_16_32_output_stride(const int16_t *x_ptr, const int16_t *y_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, uint8_t output_extra_stride, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
vector multiplies 2 16bit vectors to produce a 32bit vector, with option to have unpacked output vect...
nrf_axon_result_e nrf_axon_xspys_24_24_24_input_stride2(const int32_t *x_ptr, const int32_t *y_ptr, int32_t *out_ptr, uint16_t length, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"Xspys"=>"X Squared Plus Y Squared" adds the square of vector Y to the square of vector X....
AxonRoundingEnum
Definition nrf_axon_dsp_intrinsics.h:30
@ kAxonRoundingNone
Definition nrf_axon_dsp_intrinsics.h:31
@ kAxonRoundingMax
Definition nrf_axon_dsp_intrinsics.h:32
nrf_axon_result_e nrf_axon_fir_16_16_32_1024_256_decimate_4(const int16_t *input_ptr, const int16_t *filter_ptr, int32_t *out_ptr, uint8_t rounding_bits, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
"FIR" => "Finite Impulse Response" filter with decimation multiple. Filter coefficients are MAC'd wit...
nrf_axon_result_e nrf_axon_saturate_32_24(const int32_t *in_ptr, int32_t *out_ptr, uint16_t length, nrf_axon_syncmode_blocking_e block_mode, bool keep_reservation)
Saturates a 32bit vector to 24bits, unpacked. Used to convert 32bit output into 24bit input needed by...