├── .gitignore
├── Comparissons.txt
├── CubeMXAI
├── 001Sine
│ ├── .ai
│ │ ├── sine_model_c_graph.json
│ │ └── sine_model_report.json
│ ├── .mxproject
│ ├── Inc
│ │ ├── app_x-cube-ai.h
│ │ ├── constants_ai.h
│ │ ├── crc.h
│ │ ├── gpio.h
│ │ ├── main.h
│ │ ├── sine_model.h
│ │ ├── sine_model_data.h
│ │ ├── stm32f4xx_hal_conf.h
│ │ ├── stm32f4xx_it.h
│ │ ├── tim.h
│ │ └── usart.h
│ ├── MDK-ARM
│ │ ├── RTE
│ │ │ └── _STM32F407_AI_Sine
│ │ │ │ └── RTE_Components.h
│ │ ├── STM32F407_AI_Sine.uvguix.fpolo
│ │ ├── STM32F407_AI_Sine.uvoptx
│ │ ├── STM32F407_AI_Sine.uvprojx
│ │ ├── STM32F407_AI_Sine
│ │ │ ├── STM32F407_AI_Sine.build_log.htm
│ │ │ └── STM32F407_AI_Sine.htm
│ │ └── startup_stm32f407xx.s
│ ├── Middlewares
│ │ └── ST
│ │ │ └── AI
│ │ │ ├── Inc
│ │ │ ├── ai_common_config.h
│ │ │ ├── ai_datatypes_defines.h
│ │ │ ├── ai_datatypes_format.h
│ │ │ ├── ai_datatypes_internal.h
│ │ │ ├── ai_log.h
│ │ │ ├── ai_math_helpers.h
│ │ │ ├── ai_network_inspector.h
│ │ │ ├── ai_platform.h
│ │ │ ├── ai_platform_interface.h
│ │ │ ├── core_common.h
│ │ │ ├── core_convert.h
│ │ │ ├── core_datatypes.h
│ │ │ ├── core_log.h
│ │ │ ├── core_net_inspect.h
│ │ │ ├── core_net_inspect_interface.h
│ │ │ ├── datatypes_network.h
│ │ │ ├── formats_list.h
│ │ │ ├── layers.h
│ │ │ ├── layers_common.h
│ │ │ ├── layers_conv2d.h
│ │ │ ├── layers_dense.h
│ │ │ ├── layers_generic.h
│ │ │ ├── layers_list.h
│ │ │ ├── layers_nl.h
│ │ │ ├── layers_norm.h
│ │ │ ├── layers_pool.h
│ │ │ ├── layers_rnn.h
│ │ │ └── layers_sm.h
│ │ │ └── Lib
│ │ │ └── NetworkRuntime520_CM4_Keil.lib
│ ├── STM32F407_AI_Sine.ioc
│ ├── Src
│ │ ├── app_x-cube-ai.c
│ │ ├── crc.c
│ │ ├── gpio.c
│ │ ├── main.c
│ │ ├── sine_model.c
│ │ ├── sine_model_data.c
│ │ ├── stm32f4xx_hal_msp.c
│ │ ├── stm32f4xx_it.c
│ │ ├── system_stm32f4xx.c
│ │ ├── tim.c
│ │ └── usart.c
│ └── sine_model_generate_report.txt
├── 002SineQuanti8
│ ├── .ai
│ │ ├── sine_model_c_graph.json
│ │ └── sine_model_report.json
│ ├── .mxproject
│ ├── Inc
│ │ ├── app_x-cube-ai.h
│ │ ├── constants_ai.h
│ │ ├── crc.h
│ │ ├── gpio.h
│ │ ├── main.h
│ │ ├── sine_model.h
│ │ ├── sine_model_data.h
│ │ ├── stm32f4xx_hal_conf.h
│ │ ├── stm32f4xx_it.h
│ │ ├── tim.h
│ │ └── usart.h
│ ├── MDK-ARM
│ │ ├── RTE
│ │ │ └── _STM32F407_AI_Sine
│ │ │ │ └── RTE_Components.h
│ │ ├── STM32F407_AI_Sine.uvguix.fpolo
│ │ ├── STM32F407_AI_Sine.uvoptx
│ │ ├── STM32F407_AI_Sine.uvprojx
│ │ ├── STM32F407_AI_Sine
│ │ │ ├── STM32F407_AI_Sine.build_log.htm
│ │ │ └── STM32F407_AI_Sine.htm
│ │ └── startup_stm32f407xx.s
│ ├── Middlewares
│ │ └── ST
│ │ │ └── AI
│ │ │ ├── Inc
│ │ │ ├── ai_common_config.h
│ │ │ ├── ai_datatypes_defines.h
│ │ │ ├── ai_datatypes_format.h
│ │ │ ├── ai_datatypes_internal.h
│ │ │ ├── ai_log.h
│ │ │ ├── ai_math_helpers.h
│ │ │ ├── ai_network_inspector.h
│ │ │ ├── ai_platform.h
│ │ │ ├── ai_platform_interface.h
│ │ │ ├── core_common.h
│ │ │ ├── core_convert.h
│ │ │ ├── core_datatypes.h
│ │ │ ├── core_log.h
│ │ │ ├── core_net_inspect.h
│ │ │ ├── core_net_inspect_interface.h
│ │ │ ├── datatypes_network.h
│ │ │ ├── formats_list.h
│ │ │ ├── layers.h
│ │ │ ├── layers_common.h
│ │ │ ├── layers_conv2d.h
│ │ │ ├── layers_dense.h
│ │ │ ├── layers_generic.h
│ │ │ ├── layers_list.h
│ │ │ ├── layers_nl.h
│ │ │ ├── layers_norm.h
│ │ │ ├── layers_pool.h
│ │ │ ├── layers_rnn.h
│ │ │ └── layers_sm.h
│ │ │ └── Lib
│ │ │ └── NetworkRuntime520_CM4_Keil.lib
│ ├── STM32F407_AI_Sine.ioc
│ ├── Src
│ │ ├── app_x-cube-ai.c
│ │ ├── crc.c
│ │ ├── gpio.c
│ │ ├── main.c
│ │ ├── sine_model.c
│ │ ├── sine_model_data.c
│ │ ├── stm32f4xx_hal_msp.c
│ │ ├── stm32f4xx_it.c
│ │ ├── system_stm32f4xx.c
│ │ ├── tim.c
│ │ └── usart.c
│ └── sine_model_generate_report.txt
└── 003MagicWand
│ ├── .mxproject
│ ├── BNO055
│ ├── LICENSE
│ ├── README.md
│ ├── bno055.c
│ ├── bno055.h
│ ├── bno055_stm32.h
│ └── bno055_support.c
│ ├── EdgeImpulse.my-smartphone-motion-project.1.0.5.pack
│ ├── Inc
│ ├── crc.h
│ ├── gpio.h
│ ├── i2c.h
│ ├── main.h
│ ├── stm32f4xx_hal_conf.h
│ ├── stm32f4xx_it.h
│ ├── tim.h
│ └── usart.h
│ ├── MDK-ARM
│ ├── EventRecorderStub.scvd
│ ├── RTE
│ │ ├── Compiler
│ │ │ └── EventRecorderConf.h
│ │ ├── _STM32F407_AI
│ │ │ └── RTE_Components.h
│ │ └── _STM32F407_AI_EventRecorder
│ │ │ └── RTE_Components.h
│ ├── STM32F407_AI.uvguix.fpolo
│ ├── STM32F407_AI.uvoptx
│ ├── STM32F407_AI.uvprojx
│ ├── STM32F407_AI
│ │ ├── ExtDll.iex
│ │ ├── STM32F407_AI.build_log.htm
│ │ └── STM32F407_AI.htm
│ └── startup_stm32f407xx.s
│ ├── Middlewares
│ └── Third_Party
│ │ └── MachineLearning
│ │ └── edgeimpulse
│ │ ├── Middlewares
│ │ └── ST
│ │ │ └── AI
│ │ │ ├── Inc
│ │ │ ├── ai_common_config.h
│ │ │ ├── ai_datatypes_defines.h
│ │ │ ├── ai_datatypes_format.h
│ │ │ ├── ai_datatypes_internal.h
│ │ │ ├── ai_log.h
│ │ │ ├── ai_math_helpers.h
│ │ │ ├── ai_network_inspector.h
│ │ │ ├── ai_platform.h
│ │ │ ├── ai_platform_interface.h
│ │ │ ├── core_common.h
│ │ │ ├── core_convert.h
│ │ │ ├── core_datatypes.h
│ │ │ ├── core_log.h
│ │ │ ├── core_net_inspect.h
│ │ │ ├── core_net_inspect_interface.h
│ │ │ ├── datatypes_network.h
│ │ │ ├── formats_list.h
│ │ │ ├── layers.h
│ │ │ ├── layers_common.h
│ │ │ ├── layers_conv2d.h
│ │ │ ├── layers_dense.h
│ │ │ ├── layers_generic.h
│ │ │ ├── layers_list.h
│ │ │ ├── layers_nl.h
│ │ │ ├── layers_norm.h
│ │ │ ├── layers_pool.h
│ │ │ ├── layers_rnn.h
│ │ │ └── layers_sm.h
│ │ │ └── Lib
│ │ │ └── MDK
│ │ │ ├── ARMCortexM33
│ │ │ └── NetworkRuntime500_CM33_Keil.lib
│ │ │ ├── ARMCortexM4
│ │ │ └── NetworkRuntime500_CM4_Keil.lib
│ │ │ ├── ARMCortexM7
│ │ │ └── NetworkRuntime500_CM7_Keil.lib
│ │ │ └── STM32H7
│ │ │ └── NetworkRuntime500_CM7_Keil.lib
│ │ ├── cubeai-model
│ │ ├── network.c
│ │ ├── network.h
│ │ ├── network_data.c
│ │ ├── network_data.h
│ │ └── network_generate_report.txt
│ │ ├── edge-impulse-sdk
│ │ ├── .gitignore
│ │ ├── .mbedignore
│ │ ├── CMSIS
│ │ │ ├── .clang-format
│ │ │ ├── DSP
│ │ │ │ ├── Include
│ │ │ │ │ ├── arm_common_tables.h
│ │ │ │ │ ├── arm_common_tables_f16.h
│ │ │ │ │ ├── arm_const_structs.h
│ │ │ │ │ ├── arm_const_structs_f16.h
│ │ │ │ │ ├── arm_helium_utils.h
│ │ │ │ │ ├── arm_math.h
│ │ │ │ │ ├── arm_math_f16.h
│ │ │ │ │ ├── arm_mve_tables.h
│ │ │ │ │ ├── arm_mve_tables_f16.h
│ │ │ │ │ └── arm_vec_math.h
│ │ │ │ ├── PrivateInclude
│ │ │ │ │ ├── arm_sorting.h
│ │ │ │ │ ├── arm_vec_fft.h
│ │ │ │ │ └── arm_vec_filtering.h
│ │ │ │ └── Source
│ │ │ │ │ ├── BasicMathFunctions
│ │ │ │ │ ├── BasicMathFunctionsF16.c
│ │ │ │ │ ├── arm_abs_f16.c
│ │ │ │ │ ├── arm_abs_f32.c
│ │ │ │ │ ├── arm_abs_q15.c
│ │ │ │ │ ├── arm_abs_q31.c
│ │ │ │ │ ├── arm_abs_q7.c
│ │ │ │ │ ├── arm_add_f16.c
│ │ │ │ │ ├── arm_add_f32.c
│ │ │ │ │ ├── arm_add_q15.c
│ │ │ │ │ ├── arm_add_q31.c
│ │ │ │ │ ├── arm_add_q7.c
│ │ │ │ │ ├── arm_and_u16.c
│ │ │ │ │ ├── arm_and_u32.c
│ │ │ │ │ ├── arm_and_u8.c
│ │ │ │ │ ├── arm_dot_prod_f16.c
│ │ │ │ │ ├── arm_dot_prod_f32.c
│ │ │ │ │ ├── arm_dot_prod_q15.c
│ │ │ │ │ ├── arm_dot_prod_q31.c
│ │ │ │ │ ├── arm_dot_prod_q7.c
│ │ │ │ │ ├── arm_mult_f16.c
│ │ │ │ │ ├── arm_mult_f32.c
│ │ │ │ │ ├── arm_mult_q15.c
│ │ │ │ │ ├── arm_mult_q31.c
│ │ │ │ │ ├── arm_mult_q7.c
│ │ │ │ │ ├── arm_negate_f16.c
│ │ │ │ │ ├── arm_negate_f32.c
│ │ │ │ │ ├── arm_negate_q15.c
│ │ │ │ │ ├── arm_negate_q31.c
│ │ │ │ │ ├── arm_negate_q7.c
│ │ │ │ │ ├── arm_not_u16.c
│ │ │ │ │ ├── arm_not_u32.c
│ │ │ │ │ ├── arm_not_u8.c
│ │ │ │ │ ├── arm_offset_f16.c
│ │ │ │ │ ├── arm_offset_f32.c
│ │ │ │ │ ├── arm_offset_q15.c
│ │ │ │ │ ├── arm_offset_q31.c
│ │ │ │ │ ├── arm_offset_q7.c
│ │ │ │ │ ├── arm_or_u16.c
│ │ │ │ │ ├── arm_or_u32.c
│ │ │ │ │ ├── arm_or_u8.c
│ │ │ │ │ ├── arm_scale_f16.c
│ │ │ │ │ ├── arm_scale_f32.c
│ │ │ │ │ ├── arm_scale_q15.c
│ │ │ │ │ ├── arm_scale_q31.c
│ │ │ │ │ ├── arm_scale_q7.c
│ │ │ │ │ ├── arm_shift_q15.c
│ │ │ │ │ ├── arm_shift_q31.c
│ │ │ │ │ ├── arm_shift_q7.c
│ │ │ │ │ ├── arm_sub_f16.c
│ │ │ │ │ ├── arm_sub_f32.c
│ │ │ │ │ ├── arm_sub_q15.c
│ │ │ │ │ ├── arm_sub_q31.c
│ │ │ │ │ ├── arm_sub_q7.c
│ │ │ │ │ ├── arm_xor_u16.c
│ │ │ │ │ ├── arm_xor_u32.c
│ │ │ │ │ └── arm_xor_u8.c
│ │ │ │ │ ├── BayesFunctions
│ │ │ │ │ └── arm_gaussian_naive_bayes_predict_f32.c
│ │ │ │ │ ├── CommonTables
│ │ │ │ │ ├── CommonTablesF16.c
│ │ │ │ │ ├── arm_common_tables.c
│ │ │ │ │ ├── arm_common_tables_f16.c
│ │ │ │ │ ├── arm_const_structs.c
│ │ │ │ │ ├── arm_const_structs_f16.c
│ │ │ │ │ ├── arm_mve_tables.c
│ │ │ │ │ └── arm_mve_tables_f16.c
│ │ │ │ │ ├── ComplexMathFunctions
│ │ │ │ │ ├── arm_cmplx_conj_f32.c
│ │ │ │ │ ├── arm_cmplx_conj_q15.c
│ │ │ │ │ ├── arm_cmplx_conj_q31.c
│ │ │ │ │ ├── arm_cmplx_dot_prod_f32.c
│ │ │ │ │ ├── arm_cmplx_dot_prod_q15.c
│ │ │ │ │ ├── arm_cmplx_dot_prod_q31.c
│ │ │ │ │ ├── arm_cmplx_mag_f32.c
│ │ │ │ │ ├── arm_cmplx_mag_q15.c
│ │ │ │ │ ├── arm_cmplx_mag_q31.c
│ │ │ │ │ ├── arm_cmplx_mag_squared_f32.c
│ │ │ │ │ ├── arm_cmplx_mag_squared_q15.c
│ │ │ │ │ ├── arm_cmplx_mag_squared_q31.c
│ │ │ │ │ ├── arm_cmplx_mult_cmplx_f32.c
│ │ │ │ │ ├── arm_cmplx_mult_cmplx_q15.c
│ │ │ │ │ ├── arm_cmplx_mult_cmplx_q31.c
│ │ │ │ │ ├── arm_cmplx_mult_real_f32.c
│ │ │ │ │ ├── arm_cmplx_mult_real_q15.c
│ │ │ │ │ └── arm_cmplx_mult_real_q31.c
│ │ │ │ │ ├── ControllerFunctions
│ │ │ │ │ ├── arm_pid_init_f32.c
│ │ │ │ │ ├── arm_pid_init_q15.c
│ │ │ │ │ ├── arm_pid_init_q31.c
│ │ │ │ │ ├── arm_pid_reset_f32.c
│ │ │ │ │ ├── arm_pid_reset_q15.c
│ │ │ │ │ ├── arm_pid_reset_q31.c
│ │ │ │ │ ├── arm_sin_cos_f32.c
│ │ │ │ │ └── arm_sin_cos_q31.c
│ │ │ │ │ ├── DistanceFunctions
│ │ │ │ │ ├── arm_boolean_distance.c
│ │ │ │ │ ├── arm_boolean_distance_template.h
│ │ │ │ │ ├── arm_braycurtis_distance_f32.c
│ │ │ │ │ ├── arm_canberra_distance_f32.c
│ │ │ │ │ ├── arm_chebyshev_distance_f32.c
│ │ │ │ │ ├── arm_cityblock_distance_f32.c
│ │ │ │ │ ├── arm_correlation_distance_f32.c
│ │ │ │ │ ├── arm_cosine_distance_f32.c
│ │ │ │ │ ├── arm_dice_distance.c
│ │ │ │ │ ├── arm_euclidean_distance_f32.c
│ │ │ │ │ ├── arm_hamming_distance.c
│ │ │ │ │ ├── arm_jaccard_distance.c
│ │ │ │ │ ├── arm_jensenshannon_distance_f32.c
│ │ │ │ │ ├── arm_kulsinski_distance.c
│ │ │ │ │ ├── arm_minkowski_distance_f32.c
│ │ │ │ │ ├── arm_rogerstanimoto_distance.c
│ │ │ │ │ ├── arm_russellrao_distance.c
│ │ │ │ │ ├── arm_sokalmichener_distance.c
│ │ │ │ │ ├── arm_sokalsneath_distance.c
│ │ │ │ │ └── arm_yule_distance.c
│ │ │ │ │ ├── FastMathFunctions
│ │ │ │ │ ├── arm_cos_f32.c
│ │ │ │ │ ├── arm_cos_q15.c
│ │ │ │ │ ├── arm_cos_q31.c
│ │ │ │ │ ├── arm_sin_f32.c
│ │ │ │ │ ├── arm_sin_q15.c
│ │ │ │ │ ├── arm_sin_q31.c
│ │ │ │ │ ├── arm_sqrt_q15.c
│ │ │ │ │ ├── arm_sqrt_q31.c
│ │ │ │ │ ├── arm_vexp_f32.c
│ │ │ │ │ └── arm_vlog_f32.c
│ │ │ │ │ ├── FilteringFunctions
│ │ │ │ │ ├── arm_biquad_cascade_df1_32x64_init_q31.c
│ │ │ │ │ ├── arm_biquad_cascade_df1_32x64_q31.c
│ │ │ │ │ ├── arm_biquad_cascade_df1_f32.c
│ │ │ │ │ ├── arm_biquad_cascade_df1_fast_q15.c
│ │ │ │ │ ├── arm_biquad_cascade_df1_fast_q31.c
│ │ │ │ │ ├── arm_biquad_cascade_df1_init_f32.c
│ │ │ │ │ ├── arm_biquad_cascade_df1_init_q15.c
│ │ │ │ │ ├── arm_biquad_cascade_df1_init_q31.c
│ │ │ │ │ ├── arm_biquad_cascade_df1_q15.c
│ │ │ │ │ ├── arm_biquad_cascade_df1_q31.c
│ │ │ │ │ ├── arm_biquad_cascade_df2T_f32.c
│ │ │ │ │ ├── arm_biquad_cascade_df2T_f64.c
│ │ │ │ │ ├── arm_biquad_cascade_df2T_init_f32.c
│ │ │ │ │ ├── arm_biquad_cascade_df2T_init_f64.c
│ │ │ │ │ ├── arm_biquad_cascade_stereo_df2T_f32.c
│ │ │ │ │ ├── arm_biquad_cascade_stereo_df2T_init_f32.c
│ │ │ │ │ ├── arm_conv_f32.c
│ │ │ │ │ ├── arm_conv_fast_opt_q15.c
│ │ │ │ │ ├── arm_conv_fast_q15.c
│ │ │ │ │ ├── arm_conv_fast_q31.c
│ │ │ │ │ ├── arm_conv_opt_q15.c
│ │ │ │ │ ├── arm_conv_opt_q7.c
│ │ │ │ │ ├── arm_conv_partial_f32.c
│ │ │ │ │ ├── arm_conv_partial_fast_opt_q15.c
│ │ │ │ │ ├── arm_conv_partial_fast_q15.c
│ │ │ │ │ ├── arm_conv_partial_fast_q31.c
│ │ │ │ │ ├── arm_conv_partial_opt_q15.c
│ │ │ │ │ ├── arm_conv_partial_opt_q7.c
│ │ │ │ │ ├── arm_conv_partial_q15.c
│ │ │ │ │ ├── arm_conv_partial_q31.c
│ │ │ │ │ ├── arm_conv_partial_q7.c
│ │ │ │ │ ├── arm_conv_q15.c
│ │ │ │ │ ├── arm_conv_q31.c
│ │ │ │ │ ├── arm_conv_q7.c
│ │ │ │ │ ├── arm_correlate_f32.c
│ │ │ │ │ ├── arm_correlate_fast_opt_q15.c
│ │ │ │ │ ├── arm_correlate_fast_q15.c
│ │ │ │ │ ├── arm_correlate_fast_q31.c
│ │ │ │ │ ├── arm_correlate_opt_q15.c
│ │ │ │ │ ├── arm_correlate_opt_q7.c
│ │ │ │ │ ├── arm_correlate_q15.c
│ │ │ │ │ ├── arm_correlate_q31.c
│ │ │ │ │ ├── arm_correlate_q7.c
│ │ │ │ │ ├── arm_fir_decimate_f32.c
│ │ │ │ │ ├── arm_fir_decimate_fast_q15.c
│ │ │ │ │ ├── arm_fir_decimate_fast_q31.c
│ │ │ │ │ ├── arm_fir_decimate_init_f32.c
│ │ │ │ │ ├── arm_fir_decimate_init_q15.c
│ │ │ │ │ ├── arm_fir_decimate_init_q31.c
│ │ │ │ │ ├── arm_fir_decimate_q15.c
│ │ │ │ │ ├── arm_fir_decimate_q31.c
│ │ │ │ │ ├── arm_fir_f32.c
│ │ │ │ │ ├── arm_fir_fast_q15.c
│ │ │ │ │ ├── arm_fir_fast_q31.c
│ │ │ │ │ ├── arm_fir_init_f32.c
│ │ │ │ │ ├── arm_fir_init_q15.c
│ │ │ │ │ ├── arm_fir_init_q31.c
│ │ │ │ │ ├── arm_fir_init_q7.c
│ │ │ │ │ ├── arm_fir_interpolate_f32.c
│ │ │ │ │ ├── arm_fir_interpolate_init_f32.c
│ │ │ │ │ ├── arm_fir_interpolate_init_q15.c
│ │ │ │ │ ├── arm_fir_interpolate_init_q31.c
│ │ │ │ │ ├── arm_fir_interpolate_q15.c
│ │ │ │ │ ├── arm_fir_interpolate_q31.c
│ │ │ │ │ ├── arm_fir_lattice_f32.c
│ │ │ │ │ ├── arm_fir_lattice_init_f32.c
│ │ │ │ │ ├── arm_fir_lattice_init_q15.c
│ │ │ │ │ ├── arm_fir_lattice_init_q31.c
│ │ │ │ │ ├── arm_fir_lattice_q15.c
│ │ │ │ │ ├── arm_fir_lattice_q31.c
│ │ │ │ │ ├── arm_fir_q15.c
│ │ │ │ │ ├── arm_fir_q31.c
│ │ │ │ │ ├── arm_fir_q7.c
│ │ │ │ │ ├── arm_fir_sparse_f32.c
│ │ │ │ │ ├── arm_fir_sparse_init_f32.c
│ │ │ │ │ ├── arm_fir_sparse_init_q15.c
│ │ │ │ │ ├── arm_fir_sparse_init_q31.c
│ │ │ │ │ ├── arm_fir_sparse_init_q7.c
│ │ │ │ │ ├── arm_fir_sparse_q15.c
│ │ │ │ │ ├── arm_fir_sparse_q31.c
│ │ │ │ │ ├── arm_fir_sparse_q7.c
│ │ │ │ │ ├── arm_iir_lattice_f32.c
│ │ │ │ │ ├── arm_iir_lattice_init_f32.c
│ │ │ │ │ ├── arm_iir_lattice_init_q15.c
│ │ │ │ │ ├── arm_iir_lattice_init_q31.c
│ │ │ │ │ ├── arm_iir_lattice_q15.c
│ │ │ │ │ ├── arm_iir_lattice_q31.c
│ │ │ │ │ ├── arm_lms_f32.c
│ │ │ │ │ ├── arm_lms_init_f32.c
│ │ │ │ │ ├── arm_lms_init_q15.c
│ │ │ │ │ ├── arm_lms_init_q31.c
│ │ │ │ │ ├── arm_lms_norm_f32.c
│ │ │ │ │ ├── arm_lms_norm_init_f32.c
│ │ │ │ │ ├── arm_lms_norm_init_q15.c
│ │ │ │ │ ├── arm_lms_norm_init_q31.c
│ │ │ │ │ ├── arm_lms_norm_q15.c
│ │ │ │ │ ├── arm_lms_norm_q31.c
│ │ │ │ │ ├── arm_lms_q15.c
│ │ │ │ │ └── arm_lms_q31.c
│ │ │ │ │ ├── MatrixFunctions
│ │ │ │ │ ├── arm_mat_add_f32.c
│ │ │ │ │ ├── arm_mat_add_q15.c
│ │ │ │ │ ├── arm_mat_add_q31.c
│ │ │ │ │ ├── arm_mat_cmplx_mult_f32.c
│ │ │ │ │ ├── arm_mat_cmplx_mult_q15.c
│ │ │ │ │ ├── arm_mat_cmplx_mult_q31.c
│ │ │ │ │ ├── arm_mat_init_f32.c
│ │ │ │ │ ├── arm_mat_init_q15.c
│ │ │ │ │ ├── arm_mat_init_q31.c
│ │ │ │ │ ├── arm_mat_inverse_f32.c
│ │ │ │ │ ├── arm_mat_inverse_f64.c
│ │ │ │ │ ├── arm_mat_mult_f32.c
│ │ │ │ │ ├── arm_mat_mult_fast_q15.c
│ │ │ │ │ ├── arm_mat_mult_fast_q31.c
│ │ │ │ │ ├── arm_mat_mult_q15.c
│ │ │ │ │ ├── arm_mat_mult_q31.c
│ │ │ │ │ ├── arm_mat_scale_f32.c
│ │ │ │ │ ├── arm_mat_scale_q15.c
│ │ │ │ │ ├── arm_mat_scale_q31.c
│ │ │ │ │ ├── arm_mat_sub_f32.c
│ │ │ │ │ ├── arm_mat_sub_q15.c
│ │ │ │ │ ├── arm_mat_sub_q31.c
│ │ │ │ │ ├── arm_mat_trans_f32.c
│ │ │ │ │ ├── arm_mat_trans_q15.c
│ │ │ │ │ └── arm_mat_trans_q31.c
│ │ │ │ │ ├── SVMFunctions
│ │ │ │ │ ├── arm_svm_linear_init_f32.c
│ │ │ │ │ ├── arm_svm_linear_predict_f32.c
│ │ │ │ │ ├── arm_svm_polynomial_init_f32.c
│ │ │ │ │ ├── arm_svm_polynomial_predict_f32.c
│ │ │ │ │ ├── arm_svm_rbf_init_f32.c
│ │ │ │ │ ├── arm_svm_rbf_predict_f32.c
│ │ │ │ │ ├── arm_svm_sigmoid_init_f32.c
│ │ │ │ │ └── arm_svm_sigmoid_predict_f32.c
│ │ │ │ │ ├── StatisticsFunctions
│ │ │ │ │ ├── arm_entropy_f32.c
│ │ │ │ │ ├── arm_entropy_f64.c
│ │ │ │ │ ├── arm_kullback_leibler_f32.c
│ │ │ │ │ ├── arm_kullback_leibler_f64.c
│ │ │ │ │ ├── arm_logsumexp_dot_prod_f32.c
│ │ │ │ │ ├── arm_logsumexp_f32.c
│ │ │ │ │ ├── arm_max_f32.c
│ │ │ │ │ ├── arm_max_no_idx_f32.c
│ │ │ │ │ ├── arm_max_q15.c
│ │ │ │ │ ├── arm_max_q31.c
│ │ │ │ │ ├── arm_max_q7.c
│ │ │ │ │ ├── arm_mean_f32.c
│ │ │ │ │ ├── arm_mean_q15.c
│ │ │ │ │ ├── arm_mean_q31.c
│ │ │ │ │ ├── arm_mean_q7.c
│ │ │ │ │ ├── arm_min_f32.c
│ │ │ │ │ ├── arm_min_q15.c
│ │ │ │ │ ├── arm_min_q31.c
│ │ │ │ │ ├── arm_min_q7.c
│ │ │ │ │ ├── arm_power_f32.c
│ │ │ │ │ ├── arm_power_q15.c
│ │ │ │ │ ├── arm_power_q31.c
│ │ │ │ │ ├── arm_power_q7.c
│ │ │ │ │ ├── arm_rms_f32.c
│ │ │ │ │ ├── arm_rms_q15.c
│ │ │ │ │ ├── arm_rms_q31.c
│ │ │ │ │ ├── arm_std_f32.c
│ │ │ │ │ ├── arm_std_q15.c
│ │ │ │ │ ├── arm_std_q31.c
│ │ │ │ │ ├── arm_var_f32.c
│ │ │ │ │ ├── arm_var_q15.c
│ │ │ │ │ └── arm_var_q31.c
│ │ │ │ │ ├── SupportFunctions
│ │ │ │ │ ├── arm_barycenter_f32.c
│ │ │ │ │ ├── arm_bitonic_sort_f32.c
│ │ │ │ │ ├── arm_bubble_sort_f32.c
│ │ │ │ │ ├── arm_copy_f32.c
│ │ │ │ │ ├── arm_copy_q15.c
│ │ │ │ │ ├── arm_copy_q31.c
│ │ │ │ │ ├── arm_copy_q7.c
│ │ │ │ │ ├── arm_fill_f32.c
│ │ │ │ │ ├── arm_fill_q15.c
│ │ │ │ │ ├── arm_fill_q31.c
│ │ │ │ │ ├── arm_fill_q7.c
│ │ │ │ │ ├── arm_float_to_q15.c
│ │ │ │ │ ├── arm_float_to_q31.c
│ │ │ │ │ ├── arm_float_to_q7.c
│ │ │ │ │ ├── arm_heap_sort_f32.c
│ │ │ │ │ ├── arm_insertion_sort_f32.c
│ │ │ │ │ ├── arm_merge_sort_f32.c
│ │ │ │ │ ├── arm_merge_sort_init_f32.c
│ │ │ │ │ ├── arm_q15_to_float.c
│ │ │ │ │ ├── arm_q15_to_q31.c
│ │ │ │ │ ├── arm_q15_to_q7.c
│ │ │ │ │ ├── arm_q31_to_float.c
│ │ │ │ │ ├── arm_q31_to_q15.c
│ │ │ │ │ ├── arm_q31_to_q7.c
│ │ │ │ │ ├── arm_q7_to_float.c
│ │ │ │ │ ├── arm_q7_to_q15.c
│ │ │ │ │ ├── arm_q7_to_q31.c
│ │ │ │ │ ├── arm_quick_sort_f32.c
│ │ │ │ │ ├── arm_selection_sort_f32.c
│ │ │ │ │ ├── arm_sort_f32.c
│ │ │ │ │ ├── arm_sort_init_f32.c
│ │ │ │ │ ├── arm_spline_interp_f32.c
│ │ │ │ │ ├── arm_spline_interp_init_f32.c
│ │ │ │ │ └── arm_weighted_sum_f32.c
│ │ │ │ │ └── TransformFunctions
│ │ │ │ │ ├── TransformFunctionsF16.c
│ │ │ │ │ ├── arm_bitreversal.c
│ │ │ │ │ ├── arm_bitreversal2.c
│ │ │ │ │ ├── arm_cfft_f16.c
│ │ │ │ │ ├── arm_cfft_f32.c
│ │ │ │ │ ├── arm_cfft_f64.c
│ │ │ │ │ ├── arm_cfft_init_f16.c
│ │ │ │ │ ├── arm_cfft_init_f32.c
│ │ │ │ │ ├── arm_cfft_init_f64.c
│ │ │ │ │ ├── arm_cfft_init_q15.c
│ │ │ │ │ ├── arm_cfft_init_q31.c
│ │ │ │ │ ├── arm_cfft_q15.c
│ │ │ │ │ ├── arm_cfft_q31.c
│ │ │ │ │ ├── arm_cfft_radix2_f16.c
│ │ │ │ │ ├── arm_cfft_radix2_f32.c
│ │ │ │ │ ├── arm_cfft_radix2_init_f32.c
│ │ │ │ │ ├── arm_cfft_radix2_init_q15.c
│ │ │ │ │ ├── arm_cfft_radix2_init_q31.c
│ │ │ │ │ ├── arm_cfft_radix2_q15.c
│ │ │ │ │ ├── arm_cfft_radix2_q31.c
│ │ │ │ │ ├── arm_cfft_radix4_f16.c
│ │ │ │ │ ├── arm_cfft_radix4_f32.c
│ │ │ │ │ ├── arm_cfft_radix4_init_f32.c
│ │ │ │ │ ├── arm_cfft_radix4_init_q15.c
│ │ │ │ │ ├── arm_cfft_radix4_init_q31.c
│ │ │ │ │ ├── arm_cfft_radix4_q15.c
│ │ │ │ │ ├── arm_cfft_radix4_q31.c
│ │ │ │ │ ├── arm_cfft_radix8_f32.c
│ │ │ │ │ ├── arm_dct4_f32.c
│ │ │ │ │ ├── arm_dct4_init_f32.c
│ │ │ │ │ ├── arm_dct4_init_q15.c
│ │ │ │ │ ├── arm_dct4_init_q31.c
│ │ │ │ │ ├── arm_dct4_q15.c
│ │ │ │ │ ├── arm_dct4_q31.c
│ │ │ │ │ ├── arm_rfft_f32.c
│ │ │ │ │ ├── arm_rfft_fast_f32.c
│ │ │ │ │ ├── arm_rfft_fast_f64.c
│ │ │ │ │ ├── arm_rfft_fast_init_f32.c
│ │ │ │ │ ├── arm_rfft_fast_init_f64.c
│ │ │ │ │ ├── arm_rfft_init_f32.c
│ │ │ │ │ ├── arm_rfft_init_q15.c
│ │ │ │ │ ├── arm_rfft_init_q31.c
│ │ │ │ │ ├── arm_rfft_q15.c
│ │ │ │ │ └── arm_rfft_q31.c
│ │ │ └── sources.txt
│ │ ├── LICENSE
│ │ ├── LICENSE-apache-2.0.txt
│ │ ├── README.md
│ │ ├── anomaly
│ │ │ └── anomaly.h
│ │ ├── classifier
│ │ │ ├── ei_aligned_malloc.h
│ │ │ ├── ei_classifier_config.h
│ │ │ ├── ei_classifier_smooth.h
│ │ │ ├── ei_classifier_types.h
│ │ │ ├── ei_model_types.h
│ │ │ ├── ei_run_classifier.h
│ │ │ ├── ei_run_classifier_image.h
│ │ │ └── ei_run_dsp.h
│ │ ├── cmake
│ │ │ ├── utils.cmake
│ │ │ └── zephyr
│ │ │ │ └── CMakeLists.txt
│ │ ├── create-arduino-library.sh
│ │ ├── dsp
│ │ │ ├── config.hpp
│ │ │ ├── dct
│ │ │ │ ├── .clang-format
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ ├── fast-dct-fft.cpp
│ │ │ │ └── fast-dct-fft.h
│ │ │ ├── ei_utils.h
│ │ │ ├── kissfft
│ │ │ │ ├── .clang-format
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ ├── _kiss_fft_guts.h
│ │ │ │ ├── kiss_fft.cpp
│ │ │ │ ├── kiss_fft.h
│ │ │ │ ├── kiss_fftr.cpp
│ │ │ │ ├── kiss_fftr.h
│ │ │ │ ├── kissfft.h
│ │ │ │ ├── kissfft.hh
│ │ │ │ └── kissfft_i32.hh
│ │ │ ├── memory.cpp
│ │ │ ├── memory.hpp
│ │ │ ├── numpy.hpp
│ │ │ ├── numpy_types.h
│ │ │ ├── returntypes.hpp
│ │ │ ├── spectral
│ │ │ │ ├── feature.hpp
│ │ │ │ ├── filters.hpp
│ │ │ │ ├── fir_filter.hpp
│ │ │ │ ├── processing.hpp
│ │ │ │ └── spectral.hpp
│ │ │ └── speechpy
│ │ │ │ ├── feature.hpp
│ │ │ │ ├── functions.hpp
│ │ │ │ ├── processing.hpp
│ │ │ │ └── speechpy.hpp
│ │ ├── porting
│ │ │ ├── .clang-format
│ │ │ ├── ei_classifier_porting.h
│ │ │ ├── himax
│ │ │ │ ├── debug_log.cpp
│ │ │ │ └── ei_classifier_porting.cpp
│ │ │ ├── mingw32
│ │ │ │ ├── debug_log.cpp
│ │ │ │ └── ei_classifier_porting.cpp
│ │ │ ├── stm32-cubeai
│ │ │ │ ├── debug_log.cpp
│ │ │ │ └── ei_classifier_porting.cpp
│ │ │ └── zephyr
│ │ │ │ ├── debug_log.cpp
│ │ │ │ └── ei_classifier_porting.cpp
│ │ ├── sources.txt
│ │ ├── tensorflow
│ │ │ └── lite
│ │ │ │ └── micro
│ │ │ │ └── debug_log.h
│ │ └── third_party
│ │ │ ├── .clang-format
│ │ │ ├── arc_mli_package
│ │ │ ├── LICENSE
│ │ │ └── include
│ │ │ │ ├── api
│ │ │ │ ├── mli_helpers_api.h
│ │ │ │ ├── mli_kernels_api.h
│ │ │ │ ├── mli_krn_avepool_spec_api.h
│ │ │ │ ├── mli_krn_conv2d_spec_api.h
│ │ │ │ ├── mli_krn_depthwise_conv2d_spec_api.h
│ │ │ │ ├── mli_krn_maxpool_spec_api.h
│ │ │ │ └── mli_mov_api.h
│ │ │ │ ├── mli_api.h
│ │ │ │ ├── mli_config.h
│ │ │ │ └── mli_types.h
│ │ │ ├── flatbuffers
│ │ │ ├── LICENSE.txt
│ │ │ └── include
│ │ │ │ └── flatbuffers
│ │ │ │ ├── base.h
│ │ │ │ ├── flatbuffers.h
│ │ │ │ └── stl_emulation.h
│ │ │ ├── gemmlowp
│ │ │ ├── LICENSE
│ │ │ ├── fixedpoint
│ │ │ │ ├── fixedpoint.h
│ │ │ │ ├── fixedpoint_neon.h
│ │ │ │ └── fixedpoint_sse.h
│ │ │ └── internal
│ │ │ │ └── detect_platform.h
│ │ │ └── ruy
│ │ │ └── ruy
│ │ │ └── profiler
│ │ │ └── instrumentation.h
│ │ └── model-parameters
│ │ ├── anomaly_clusters.h
│ │ ├── anomaly_types.h
│ │ ├── dsp_blocks.h
│ │ └── model_metadata.h
│ ├── STM32F407_AI.ioc
│ ├── Src
│ ├── crc.c
│ ├── gpio.c
│ ├── i2c.c
│ ├── main.c
│ ├── main.cpp
│ ├── stm32f4xx_hal_msp.c
│ ├── stm32f4xx_it.c
│ ├── system_stm32f4xx.c
│ ├── tim.c
│ └── usart.c
│ └── my-smartphone-motion-project-v4
│ ├── CMakeLists.txt
│ ├── edge-impulse-sdk
│ ├── .gitignore
│ ├── .mbedignore
│ ├── CMSIS
│ │ ├── .clang-format
│ │ ├── Core
│ │ │ └── Include
│ │ │ │ ├── cachel1_armv7.h
│ │ │ │ ├── cmsis_armcc.h
│ │ │ │ ├── cmsis_armclang.h
│ │ │ │ ├── cmsis_armclang_ltm.h
│ │ │ │ ├── cmsis_compiler.h
│ │ │ │ ├── cmsis_gcc.h
│ │ │ │ ├── cmsis_iccarm.h
│ │ │ │ ├── cmsis_version.h
│ │ │ │ ├── core_armv81mml.h
│ │ │ │ ├── core_armv8mbl.h
│ │ │ │ ├── core_armv8mml.h
│ │ │ │ ├── core_cm0.h
│ │ │ │ ├── core_cm0plus.h
│ │ │ │ ├── core_cm1.h
│ │ │ │ ├── core_cm23.h
│ │ │ │ ├── core_cm3.h
│ │ │ │ ├── core_cm33.h
│ │ │ │ ├── core_cm35p.h
│ │ │ │ ├── core_cm4.h
│ │ │ │ ├── core_cm55.h
│ │ │ │ ├── core_cm7.h
│ │ │ │ ├── core_sc000.h
│ │ │ │ ├── core_sc300.h
│ │ │ │ ├── mpu_armv7.h
│ │ │ │ ├── mpu_armv8.h
│ │ │ │ ├── pmu_armv8.h
│ │ │ │ └── tz_context.h
│ │ ├── DSP
│ │ │ ├── Include
│ │ │ │ ├── arm_common_tables.h
│ │ │ │ ├── arm_common_tables_f16.h
│ │ │ │ ├── arm_const_structs.h
│ │ │ │ ├── arm_const_structs_f16.h
│ │ │ │ ├── arm_helium_utils.h
│ │ │ │ ├── arm_math.h
│ │ │ │ ├── arm_math_f16.h
│ │ │ │ ├── arm_mve_tables.h
│ │ │ │ ├── arm_mve_tables_f16.h
│ │ │ │ └── arm_vec_math.h
│ │ │ ├── PrivateInclude
│ │ │ │ ├── arm_sorting.h
│ │ │ │ ├── arm_vec_fft.h
│ │ │ │ └── arm_vec_filtering.h
│ │ │ └── Source
│ │ │ │ ├── BasicMathFunctions
│ │ │ │ ├── BasicMathFunctionsF16.c
│ │ │ │ ├── arm_abs_f16.c
│ │ │ │ ├── arm_abs_f32.c
│ │ │ │ ├── arm_abs_q15.c
│ │ │ │ ├── arm_abs_q31.c
│ │ │ │ ├── arm_abs_q7.c
│ │ │ │ ├── arm_add_f16.c
│ │ │ │ ├── arm_add_f32.c
│ │ │ │ ├── arm_add_q15.c
│ │ │ │ ├── arm_add_q31.c
│ │ │ │ ├── arm_add_q7.c
│ │ │ │ ├── arm_and_u16.c
│ │ │ │ ├── arm_and_u32.c
│ │ │ │ ├── arm_and_u8.c
│ │ │ │ ├── arm_dot_prod_f16.c
│ │ │ │ ├── arm_dot_prod_f32.c
│ │ │ │ ├── arm_dot_prod_q15.c
│ │ │ │ ├── arm_dot_prod_q31.c
│ │ │ │ ├── arm_dot_prod_q7.c
│ │ │ │ ├── arm_mult_f16.c
│ │ │ │ ├── arm_mult_f32.c
│ │ │ │ ├── arm_mult_q15.c
│ │ │ │ ├── arm_mult_q31.c
│ │ │ │ ├── arm_mult_q7.c
│ │ │ │ ├── arm_negate_f16.c
│ │ │ │ ├── arm_negate_f32.c
│ │ │ │ ├── arm_negate_q15.c
│ │ │ │ ├── arm_negate_q31.c
│ │ │ │ ├── arm_negate_q7.c
│ │ │ │ ├── arm_not_u16.c
│ │ │ │ ├── arm_not_u32.c
│ │ │ │ ├── arm_not_u8.c
│ │ │ │ ├── arm_offset_f16.c
│ │ │ │ ├── arm_offset_f32.c
│ │ │ │ ├── arm_offset_q15.c
│ │ │ │ ├── arm_offset_q31.c
│ │ │ │ ├── arm_offset_q7.c
│ │ │ │ ├── arm_or_u16.c
│ │ │ │ ├── arm_or_u32.c
│ │ │ │ ├── arm_or_u8.c
│ │ │ │ ├── arm_scale_f16.c
│ │ │ │ ├── arm_scale_f32.c
│ │ │ │ ├── arm_scale_q15.c
│ │ │ │ ├── arm_scale_q31.c
│ │ │ │ ├── arm_scale_q7.c
│ │ │ │ ├── arm_shift_q15.c
│ │ │ │ ├── arm_shift_q31.c
│ │ │ │ ├── arm_shift_q7.c
│ │ │ │ ├── arm_sub_f16.c
│ │ │ │ ├── arm_sub_f32.c
│ │ │ │ ├── arm_sub_q15.c
│ │ │ │ ├── arm_sub_q31.c
│ │ │ │ ├── arm_sub_q7.c
│ │ │ │ ├── arm_xor_u16.c
│ │ │ │ ├── arm_xor_u32.c
│ │ │ │ └── arm_xor_u8.c
│ │ │ │ ├── BayesFunctions
│ │ │ │ └── arm_gaussian_naive_bayes_predict_f32.c
│ │ │ │ ├── CommonTables
│ │ │ │ ├── CommonTablesF16.c
│ │ │ │ ├── arm_common_tables.c
│ │ │ │ ├── arm_common_tables_f16.c
│ │ │ │ ├── arm_const_structs.c
│ │ │ │ ├── arm_const_structs_f16.c
│ │ │ │ ├── arm_mve_tables.c
│ │ │ │ └── arm_mve_tables_f16.c
│ │ │ │ ├── ComplexMathFunctions
│ │ │ │ ├── arm_cmplx_conj_f32.c
│ │ │ │ ├── arm_cmplx_conj_q15.c
│ │ │ │ ├── arm_cmplx_conj_q31.c
│ │ │ │ ├── arm_cmplx_dot_prod_f32.c
│ │ │ │ ├── arm_cmplx_dot_prod_q15.c
│ │ │ │ ├── arm_cmplx_dot_prod_q31.c
│ │ │ │ ├── arm_cmplx_mag_f32.c
│ │ │ │ ├── arm_cmplx_mag_q15.c
│ │ │ │ ├── arm_cmplx_mag_q31.c
│ │ │ │ ├── arm_cmplx_mag_squared_f32.c
│ │ │ │ ├── arm_cmplx_mag_squared_q15.c
│ │ │ │ ├── arm_cmplx_mag_squared_q31.c
│ │ │ │ ├── arm_cmplx_mult_cmplx_f32.c
│ │ │ │ ├── arm_cmplx_mult_cmplx_q15.c
│ │ │ │ ├── arm_cmplx_mult_cmplx_q31.c
│ │ │ │ ├── arm_cmplx_mult_real_f32.c
│ │ │ │ ├── arm_cmplx_mult_real_q15.c
│ │ │ │ └── arm_cmplx_mult_real_q31.c
│ │ │ │ ├── ControllerFunctions
│ │ │ │ ├── arm_pid_init_f32.c
│ │ │ │ ├── arm_pid_init_q15.c
│ │ │ │ ├── arm_pid_init_q31.c
│ │ │ │ ├── arm_pid_reset_f32.c
│ │ │ │ ├── arm_pid_reset_q15.c
│ │ │ │ ├── arm_pid_reset_q31.c
│ │ │ │ ├── arm_sin_cos_f32.c
│ │ │ │ └── arm_sin_cos_q31.c
│ │ │ │ ├── DistanceFunctions
│ │ │ │ ├── arm_boolean_distance.c
│ │ │ │ ├── arm_boolean_distance_template.h
│ │ │ │ ├── arm_braycurtis_distance_f32.c
│ │ │ │ ├── arm_canberra_distance_f32.c
│ │ │ │ ├── arm_chebyshev_distance_f32.c
│ │ │ │ ├── arm_cityblock_distance_f32.c
│ │ │ │ ├── arm_correlation_distance_f32.c
│ │ │ │ ├── arm_cosine_distance_f32.c
│ │ │ │ ├── arm_dice_distance.c
│ │ │ │ ├── arm_euclidean_distance_f32.c
│ │ │ │ ├── arm_hamming_distance.c
│ │ │ │ ├── arm_jaccard_distance.c
│ │ │ │ ├── arm_jensenshannon_distance_f32.c
│ │ │ │ ├── arm_kulsinski_distance.c
│ │ │ │ ├── arm_minkowski_distance_f32.c
│ │ │ │ ├── arm_rogerstanimoto_distance.c
│ │ │ │ ├── arm_russellrao_distance.c
│ │ │ │ ├── arm_sokalmichener_distance.c
│ │ │ │ ├── arm_sokalsneath_distance.c
│ │ │ │ └── arm_yule_distance.c
│ │ │ │ ├── FastMathFunctions
│ │ │ │ ├── arm_cos_f32.c
│ │ │ │ ├── arm_cos_q15.c
│ │ │ │ ├── arm_cos_q31.c
│ │ │ │ ├── arm_sin_f32.c
│ │ │ │ ├── arm_sin_q15.c
│ │ │ │ ├── arm_sin_q31.c
│ │ │ │ ├── arm_sqrt_q15.c
│ │ │ │ ├── arm_sqrt_q31.c
│ │ │ │ ├── arm_vexp_f32.c
│ │ │ │ └── arm_vlog_f32.c
│ │ │ │ ├── FilteringFunctions
│ │ │ │ ├── arm_biquad_cascade_df1_32x64_init_q31.c
│ │ │ │ ├── arm_biquad_cascade_df1_32x64_q31.c
│ │ │ │ ├── arm_biquad_cascade_df1_f32.c
│ │ │ │ ├── arm_biquad_cascade_df1_fast_q15.c
│ │ │ │ ├── arm_biquad_cascade_df1_fast_q31.c
│ │ │ │ ├── arm_biquad_cascade_df1_init_f32.c
│ │ │ │ ├── arm_biquad_cascade_df1_init_q15.c
│ │ │ │ ├── arm_biquad_cascade_df1_init_q31.c
│ │ │ │ ├── arm_biquad_cascade_df1_q15.c
│ │ │ │ ├── arm_biquad_cascade_df1_q31.c
│ │ │ │ ├── arm_biquad_cascade_df2T_f32.c
│ │ │ │ ├── arm_biquad_cascade_df2T_f64.c
│ │ │ │ ├── arm_biquad_cascade_df2T_init_f32.c
│ │ │ │ ├── arm_biquad_cascade_df2T_init_f64.c
│ │ │ │ ├── arm_biquad_cascade_stereo_df2T_f32.c
│ │ │ │ ├── arm_biquad_cascade_stereo_df2T_init_f32.c
│ │ │ │ ├── arm_conv_f32.c
│ │ │ │ ├── arm_conv_fast_opt_q15.c
│ │ │ │ ├── arm_conv_fast_q15.c
│ │ │ │ ├── arm_conv_fast_q31.c
│ │ │ │ ├── arm_conv_opt_q15.c
│ │ │ │ ├── arm_conv_opt_q7.c
│ │ │ │ ├── arm_conv_partial_f32.c
│ │ │ │ ├── arm_conv_partial_fast_opt_q15.c
│ │ │ │ ├── arm_conv_partial_fast_q15.c
│ │ │ │ ├── arm_conv_partial_fast_q31.c
│ │ │ │ ├── arm_conv_partial_opt_q15.c
│ │ │ │ ├── arm_conv_partial_opt_q7.c
│ │ │ │ ├── arm_conv_partial_q15.c
│ │ │ │ ├── arm_conv_partial_q31.c
│ │ │ │ ├── arm_conv_partial_q7.c
│ │ │ │ ├── arm_conv_q15.c
│ │ │ │ ├── arm_conv_q31.c
│ │ │ │ ├── arm_conv_q7.c
│ │ │ │ ├── arm_correlate_f32.c
│ │ │ │ ├── arm_correlate_fast_opt_q15.c
│ │ │ │ ├── arm_correlate_fast_q15.c
│ │ │ │ ├── arm_correlate_fast_q31.c
│ │ │ │ ├── arm_correlate_opt_q15.c
│ │ │ │ ├── arm_correlate_opt_q7.c
│ │ │ │ ├── arm_correlate_q15.c
│ │ │ │ ├── arm_correlate_q31.c
│ │ │ │ ├── arm_correlate_q7.c
│ │ │ │ ├── arm_fir_decimate_f32.c
│ │ │ │ ├── arm_fir_decimate_fast_q15.c
│ │ │ │ ├── arm_fir_decimate_fast_q31.c
│ │ │ │ ├── arm_fir_decimate_init_f32.c
│ │ │ │ ├── arm_fir_decimate_init_q15.c
│ │ │ │ ├── arm_fir_decimate_init_q31.c
│ │ │ │ ├── arm_fir_decimate_q15.c
│ │ │ │ ├── arm_fir_decimate_q31.c
│ │ │ │ ├── arm_fir_f32.c
│ │ │ │ ├── arm_fir_fast_q15.c
│ │ │ │ ├── arm_fir_fast_q31.c
│ │ │ │ ├── arm_fir_init_f32.c
│ │ │ │ ├── arm_fir_init_q15.c
│ │ │ │ ├── arm_fir_init_q31.c
│ │ │ │ ├── arm_fir_init_q7.c
│ │ │ │ ├── arm_fir_interpolate_f32.c
│ │ │ │ ├── arm_fir_interpolate_init_f32.c
│ │ │ │ ├── arm_fir_interpolate_init_q15.c
│ │ │ │ ├── arm_fir_interpolate_init_q31.c
│ │ │ │ ├── arm_fir_interpolate_q15.c
│ │ │ │ ├── arm_fir_interpolate_q31.c
│ │ │ │ ├── arm_fir_lattice_f32.c
│ │ │ │ ├── arm_fir_lattice_init_f32.c
│ │ │ │ ├── arm_fir_lattice_init_q15.c
│ │ │ │ ├── arm_fir_lattice_init_q31.c
│ │ │ │ ├── arm_fir_lattice_q15.c
│ │ │ │ ├── arm_fir_lattice_q31.c
│ │ │ │ ├── arm_fir_q15.c
│ │ │ │ ├── arm_fir_q31.c
│ │ │ │ ├── arm_fir_q7.c
│ │ │ │ ├── arm_fir_sparse_f32.c
│ │ │ │ ├── arm_fir_sparse_init_f32.c
│ │ │ │ ├── arm_fir_sparse_init_q15.c
│ │ │ │ ├── arm_fir_sparse_init_q31.c
│ │ │ │ ├── arm_fir_sparse_init_q7.c
│ │ │ │ ├── arm_fir_sparse_q15.c
│ │ │ │ ├── arm_fir_sparse_q31.c
│ │ │ │ ├── arm_fir_sparse_q7.c
│ │ │ │ ├── arm_iir_lattice_f32.c
│ │ │ │ ├── arm_iir_lattice_init_f32.c
│ │ │ │ ├── arm_iir_lattice_init_q15.c
│ │ │ │ ├── arm_iir_lattice_init_q31.c
│ │ │ │ ├── arm_iir_lattice_q15.c
│ │ │ │ ├── arm_iir_lattice_q31.c
│ │ │ │ ├── arm_lms_f32.c
│ │ │ │ ├── arm_lms_init_f32.c
│ │ │ │ ├── arm_lms_init_q15.c
│ │ │ │ ├── arm_lms_init_q31.c
│ │ │ │ ├── arm_lms_norm_f32.c
│ │ │ │ ├── arm_lms_norm_init_f32.c
│ │ │ │ ├── arm_lms_norm_init_q15.c
│ │ │ │ ├── arm_lms_norm_init_q31.c
│ │ │ │ ├── arm_lms_norm_q15.c
│ │ │ │ ├── arm_lms_norm_q31.c
│ │ │ │ ├── arm_lms_q15.c
│ │ │ │ └── arm_lms_q31.c
│ │ │ │ ├── MatrixFunctions
│ │ │ │ ├── arm_mat_add_f32.c
│ │ │ │ ├── arm_mat_add_q15.c
│ │ │ │ ├── arm_mat_add_q31.c
│ │ │ │ ├── arm_mat_cmplx_mult_f32.c
│ │ │ │ ├── arm_mat_cmplx_mult_q15.c
│ │ │ │ ├── arm_mat_cmplx_mult_q31.c
│ │ │ │ ├── arm_mat_init_f32.c
│ │ │ │ ├── arm_mat_init_q15.c
│ │ │ │ ├── arm_mat_init_q31.c
│ │ │ │ ├── arm_mat_inverse_f32.c
│ │ │ │ ├── arm_mat_inverse_f64.c
│ │ │ │ ├── arm_mat_mult_f32.c
│ │ │ │ ├── arm_mat_mult_fast_q15.c
│ │ │ │ ├── arm_mat_mult_fast_q31.c
│ │ │ │ ├── arm_mat_mult_q15.c
│ │ │ │ ├── arm_mat_mult_q31.c
│ │ │ │ ├── arm_mat_scale_f32.c
│ │ │ │ ├── arm_mat_scale_q15.c
│ │ │ │ ├── arm_mat_scale_q31.c
│ │ │ │ ├── arm_mat_sub_f32.c
│ │ │ │ ├── arm_mat_sub_q15.c
│ │ │ │ ├── arm_mat_sub_q31.c
│ │ │ │ ├── arm_mat_trans_f32.c
│ │ │ │ ├── arm_mat_trans_q15.c
│ │ │ │ └── arm_mat_trans_q31.c
│ │ │ │ ├── SVMFunctions
│ │ │ │ ├── arm_svm_linear_init_f32.c
│ │ │ │ ├── arm_svm_linear_predict_f32.c
│ │ │ │ ├── arm_svm_polynomial_init_f32.c
│ │ │ │ ├── arm_svm_polynomial_predict_f32.c
│ │ │ │ ├── arm_svm_rbf_init_f32.c
│ │ │ │ ├── arm_svm_rbf_predict_f32.c
│ │ │ │ ├── arm_svm_sigmoid_init_f32.c
│ │ │ │ └── arm_svm_sigmoid_predict_f32.c
│ │ │ │ ├── StatisticsFunctions
│ │ │ │ ├── arm_entropy_f32.c
│ │ │ │ ├── arm_entropy_f64.c
│ │ │ │ ├── arm_kullback_leibler_f32.c
│ │ │ │ ├── arm_kullback_leibler_f64.c
│ │ │ │ ├── arm_logsumexp_dot_prod_f32.c
│ │ │ │ ├── arm_logsumexp_f32.c
│ │ │ │ ├── arm_max_f32.c
│ │ │ │ ├── arm_max_no_idx_f32.c
│ │ │ │ ├── arm_max_q15.c
│ │ │ │ ├── arm_max_q31.c
│ │ │ │ ├── arm_max_q7.c
│ │ │ │ ├── arm_mean_f32.c
│ │ │ │ ├── arm_mean_q15.c
│ │ │ │ ├── arm_mean_q31.c
│ │ │ │ ├── arm_mean_q7.c
│ │ │ │ ├── arm_min_f32.c
│ │ │ │ ├── arm_min_q15.c
│ │ │ │ ├── arm_min_q31.c
│ │ │ │ ├── arm_min_q7.c
│ │ │ │ ├── arm_power_f32.c
│ │ │ │ ├── arm_power_q15.c
│ │ │ │ ├── arm_power_q31.c
│ │ │ │ ├── arm_power_q7.c
│ │ │ │ ├── arm_rms_f32.c
│ │ │ │ ├── arm_rms_q15.c
│ │ │ │ ├── arm_rms_q31.c
│ │ │ │ ├── arm_std_f32.c
│ │ │ │ ├── arm_std_q15.c
│ │ │ │ ├── arm_std_q31.c
│ │ │ │ ├── arm_var_f32.c
│ │ │ │ ├── arm_var_q15.c
│ │ │ │ └── arm_var_q31.c
│ │ │ │ ├── SupportFunctions
│ │ │ │ ├── arm_barycenter_f32.c
│ │ │ │ ├── arm_bitonic_sort_f32.c
│ │ │ │ ├── arm_bubble_sort_f32.c
│ │ │ │ ├── arm_copy_f32.c
│ │ │ │ ├── arm_copy_q15.c
│ │ │ │ ├── arm_copy_q31.c
│ │ │ │ ├── arm_copy_q7.c
│ │ │ │ ├── arm_fill_f32.c
│ │ │ │ ├── arm_fill_q15.c
│ │ │ │ ├── arm_fill_q31.c
│ │ │ │ ├── arm_fill_q7.c
│ │ │ │ ├── arm_float_to_q15.c
│ │ │ │ ├── arm_float_to_q31.c
│ │ │ │ ├── arm_float_to_q7.c
│ │ │ │ ├── arm_heap_sort_f32.c
│ │ │ │ ├── arm_insertion_sort_f32.c
│ │ │ │ ├── arm_merge_sort_f32.c
│ │ │ │ ├── arm_merge_sort_init_f32.c
│ │ │ │ ├── arm_q15_to_float.c
│ │ │ │ ├── arm_q15_to_q31.c
│ │ │ │ ├── arm_q15_to_q7.c
│ │ │ │ ├── arm_q31_to_float.c
│ │ │ │ ├── arm_q31_to_q15.c
│ │ │ │ ├── arm_q31_to_q7.c
│ │ │ │ ├── arm_q7_to_float.c
│ │ │ │ ├── arm_q7_to_q15.c
│ │ │ │ ├── arm_q7_to_q31.c
│ │ │ │ ├── arm_quick_sort_f32.c
│ │ │ │ ├── arm_selection_sort_f32.c
│ │ │ │ ├── arm_sort_f32.c
│ │ │ │ ├── arm_sort_init_f32.c
│ │ │ │ ├── arm_spline_interp_f32.c
│ │ │ │ ├── arm_spline_interp_init_f32.c
│ │ │ │ └── arm_weighted_sum_f32.c
│ │ │ │ └── TransformFunctions
│ │ │ │ ├── TransformFunctionsF16.c
│ │ │ │ ├── arm_bitreversal.c
│ │ │ │ ├── arm_bitreversal2.c
│ │ │ │ ├── arm_cfft_f16.c
│ │ │ │ ├── arm_cfft_f32.c
│ │ │ │ ├── arm_cfft_f64.c
│ │ │ │ ├── arm_cfft_init_f16.c
│ │ │ │ ├── arm_cfft_init_f32.c
│ │ │ │ ├── arm_cfft_init_f64.c
│ │ │ │ ├── arm_cfft_init_q15.c
│ │ │ │ ├── arm_cfft_init_q31.c
│ │ │ │ ├── arm_cfft_q15.c
│ │ │ │ ├── arm_cfft_q31.c
│ │ │ │ ├── arm_cfft_radix2_f16.c
│ │ │ │ ├── arm_cfft_radix2_f32.c
│ │ │ │ ├── arm_cfft_radix2_init_f32.c
│ │ │ │ ├── arm_cfft_radix2_init_q15.c
│ │ │ │ ├── arm_cfft_radix2_init_q31.c
│ │ │ │ ├── arm_cfft_radix2_q15.c
│ │ │ │ ├── arm_cfft_radix2_q31.c
│ │ │ │ ├── arm_cfft_radix4_f16.c
│ │ │ │ ├── arm_cfft_radix4_f32.c
│ │ │ │ ├── arm_cfft_radix4_init_f32.c
│ │ │ │ ├── arm_cfft_radix4_init_q15.c
│ │ │ │ ├── arm_cfft_radix4_init_q31.c
│ │ │ │ ├── arm_cfft_radix4_q15.c
│ │ │ │ ├── arm_cfft_radix4_q31.c
│ │ │ │ ├── arm_cfft_radix8_f32.c
│ │ │ │ ├── arm_dct4_f32.c
│ │ │ │ ├── arm_dct4_init_f32.c
│ │ │ │ ├── arm_dct4_init_q15.c
│ │ │ │ ├── arm_dct4_init_q31.c
│ │ │ │ ├── arm_dct4_q15.c
│ │ │ │ ├── arm_dct4_q31.c
│ │ │ │ ├── arm_rfft_f32.c
│ │ │ │ ├── arm_rfft_fast_f32.c
│ │ │ │ ├── arm_rfft_fast_f64.c
│ │ │ │ ├── arm_rfft_fast_init_f32.c
│ │ │ │ ├── arm_rfft_fast_init_f64.c
│ │ │ │ ├── arm_rfft_init_f32.c
│ │ │ │ ├── arm_rfft_init_q15.c
│ │ │ │ ├── arm_rfft_init_q31.c
│ │ │ │ ├── arm_rfft_q15.c
│ │ │ │ └── arm_rfft_q31.c
│ │ ├── NN
│ │ │ ├── Include
│ │ │ │ ├── arm_nn_tables.h
│ │ │ │ ├── arm_nn_types.h
│ │ │ │ ├── arm_nnfunctions.h
│ │ │ │ └── arm_nnsupportfunctions.h
│ │ │ └── Source
│ │ │ │ ├── ActivationFunctions
│ │ │ │ ├── arm_nn_activations_q15.c
│ │ │ │ ├── arm_nn_activations_q7.c
│ │ │ │ ├── arm_relu6_s8.c
│ │ │ │ ├── arm_relu_q15.c
│ │ │ │ └── arm_relu_q7.c
│ │ │ │ ├── BasicMathFunctions
│ │ │ │ ├── arm_elementwise_add_s8.c
│ │ │ │ └── arm_elementwise_mul_s8.c
│ │ │ │ ├── ConcatenationFunctions
│ │ │ │ ├── arm_concatenation_s8_w.c
│ │ │ │ ├── arm_concatenation_s8_x.c
│ │ │ │ ├── arm_concatenation_s8_y.c
│ │ │ │ └── arm_concatenation_s8_z.c
│ │ │ │ ├── ConvolutionFunctions
│ │ │ │ ├── arm_convolve_1_x_n_s8.c
│ │ │ │ ├── arm_convolve_1x1_HWC_q7_fast_nonsquare.c
│ │ │ │ ├── arm_convolve_1x1_s8_fast.c
│ │ │ │ ├── arm_convolve_HWC_q15_basic.c
│ │ │ │ ├── arm_convolve_HWC_q15_fast.c
│ │ │ │ ├── arm_convolve_HWC_q15_fast_nonsquare.c
│ │ │ │ ├── arm_convolve_HWC_q7_RGB.c
│ │ │ │ ├── arm_convolve_HWC_q7_basic.c
│ │ │ │ ├── arm_convolve_HWC_q7_basic_nonsquare.c
│ │ │ │ ├── arm_convolve_HWC_q7_fast.c
│ │ │ │ ├── arm_convolve_HWC_q7_fast_nonsquare.c
│ │ │ │ ├── arm_convolve_s8.c
│ │ │ │ ├── arm_convolve_wrapper_s8.c
│ │ │ │ ├── arm_depthwise_conv_3x3_s8.c
│ │ │ │ ├── arm_depthwise_conv_s8.c
│ │ │ │ ├── arm_depthwise_conv_s8_opt.c
│ │ │ │ ├── arm_depthwise_conv_u8_basic_ver1.c
│ │ │ │ ├── arm_depthwise_separable_conv_HWC_q7.c
│ │ │ │ ├── arm_depthwise_separable_conv_HWC_q7_nonsquare.c
│ │ │ │ ├── arm_nn_depthwise_conv_s8_core.c
│ │ │ │ ├── arm_nn_mat_mult_kernel_q7_q15.c
│ │ │ │ ├── arm_nn_mat_mult_kernel_q7_q15_reordered.c
│ │ │ │ ├── arm_nn_mat_mult_kernel_s8_s16.c
│ │ │ │ ├── arm_nn_mat_mult_kernel_s8_s16_reordered.c
│ │ │ │ └── arm_nn_mat_mult_s8.c
│ │ │ │ ├── FullyConnectedFunctions
│ │ │ │ ├── arm_fully_connected_mat_q7_vec_q15.c
│ │ │ │ ├── arm_fully_connected_mat_q7_vec_q15_opt.c
│ │ │ │ ├── arm_fully_connected_q15.c
│ │ │ │ ├── arm_fully_connected_q15_opt.c
│ │ │ │ ├── arm_fully_connected_q7.c
│ │ │ │ ├── arm_fully_connected_q7_opt.c
│ │ │ │ └── arm_fully_connected_s8.c
│ │ │ │ ├── NNSupportFunctions
│ │ │ │ ├── arm_nn_accumulate_q7_to_q15.c
│ │ │ │ ├── arm_nn_add_q7.c
│ │ │ │ ├── arm_nn_depthwise_conv_nt_t_padded_s8.c
│ │ │ │ ├── arm_nn_depthwise_conv_nt_t_s8.c
│ │ │ │ ├── arm_nn_mat_mul_core_1x_s8.c
│ │ │ │ ├── arm_nn_mat_mul_core_4x_s8.c
│ │ │ │ ├── arm_nn_mat_mult_nt_t_s8.c
│ │ │ │ ├── arm_nn_mult_q15.c
│ │ │ │ ├── arm_nn_mult_q7.c
│ │ │ │ ├── arm_nn_vec_mat_mult_t_s8.c
│ │ │ │ ├── arm_nntables.c
│ │ │ │ ├── arm_q7_to_q15_no_shift.c
│ │ │ │ ├── arm_q7_to_q15_reordered_no_shift.c
│ │ │ │ ├── arm_q7_to_q15_reordered_with_offset.c
│ │ │ │ └── arm_q7_to_q15_with_offset.c
│ │ │ │ ├── PoolingFunctions
│ │ │ │ ├── arm_avgpool_s8.c
│ │ │ │ ├── arm_max_pool_s8.c
│ │ │ │ ├── arm_max_pool_s8_opt.c
│ │ │ │ └── arm_pool_q7_HWC.c
│ │ │ │ ├── ReshapeFunctions
│ │ │ │ └── arm_reshape_s8.c
│ │ │ │ └── SoftmaxFunctions
│ │ │ │ ├── arm_softmax_q15.c
│ │ │ │ ├── arm_softmax_q7.c
│ │ │ │ ├── arm_softmax_s8.c
│ │ │ │ ├── arm_softmax_u8.c
│ │ │ │ └── arm_softmax_with_batch_q7.c
│ │ └── sources.txt
│ ├── LICENSE
│ ├── LICENSE-apache-2.0.txt
│ ├── README.md
│ ├── anomaly
│ │ └── anomaly.h
│ ├── classifier
│ │ ├── ei_aligned_malloc.h
│ │ ├── ei_classifier_config.h
│ │ ├── ei_classifier_smooth.h
│ │ ├── ei_classifier_types.h
│ │ ├── ei_model_types.h
│ │ ├── ei_run_classifier.h
│ │ ├── ei_run_classifier_c.cpp
│ │ ├── ei_run_classifier_c.h
│ │ ├── ei_run_classifier_image.h
│ │ └── ei_run_dsp.h
│ ├── cmake
│ │ ├── utils.cmake
│ │ └── zephyr
│ │ │ └── CMakeLists.txt
│ ├── dsp
│ │ ├── config.hpp
│ │ ├── dct
│ │ │ ├── .clang-format
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── fast-dct-fft.cpp
│ │ │ └── fast-dct-fft.h
│ │ ├── ei_utils.h
│ │ ├── kissfft
│ │ │ ├── .clang-format
│ │ │ ├── LICENSE
│ │ │ ├── README.md
│ │ │ ├── _kiss_fft_guts.h
│ │ │ ├── kiss_fft.cpp
│ │ │ ├── kiss_fft.h
│ │ │ ├── kiss_fftr.cpp
│ │ │ ├── kiss_fftr.h
│ │ │ ├── kissfft.h
│ │ │ ├── kissfft.hh
│ │ │ └── kissfft_i32.hh
│ │ ├── memory.cpp
│ │ ├── memory.hpp
│ │ ├── numpy.hpp
│ │ ├── numpy_types.h
│ │ ├── returntypes.hpp
│ │ ├── spectral
│ │ │ ├── feature.hpp
│ │ │ ├── filters.hpp
│ │ │ ├── fir_filter.hpp
│ │ │ ├── processing.hpp
│ │ │ └── spectral.hpp
│ │ └── speechpy
│ │ │ ├── feature.hpp
│ │ │ ├── functions.hpp
│ │ │ ├── processing.hpp
│ │ │ └── speechpy.hpp
│ ├── porting
│ │ ├── .clang-format
│ │ ├── arduino
│ │ │ ├── debug_log.cpp
│ │ │ └── ei_classifier_porting.cpp
│ │ ├── ecm3532
│ │ │ ├── debug_log.cpp
│ │ │ └── ei_classifier_porting.cpp
│ │ ├── ei_classifier_porting.h
│ │ ├── himax
│ │ │ ├── debug_log.cpp
│ │ │ └── ei_classifier_porting.cpp
│ │ ├── mbed
│ │ │ ├── debug_log.cpp
│ │ │ └── ei_classifier_porting.cpp
│ │ ├── mingw32
│ │ │ ├── debug_log.cpp
│ │ │ └── ei_classifier_porting.cpp
│ │ ├── posix
│ │ │ ├── debug_log.cpp
│ │ │ └── ei_classifier_porting.cpp
│ │ ├── silabs
│ │ │ ├── debug_log.cpp
│ │ │ └── ei_classifier_porting.cpp
│ │ ├── stm32-cubeai
│ │ │ ├── debug_log.cpp
│ │ │ └── ei_classifier_porting.cpp
│ │ └── zephyr
│ │ │ ├── debug_log.cpp
│ │ │ └── ei_classifier_porting.cpp
│ ├── sources.txt
│ ├── tensorflow
│ │ ├── .clang-format
│ │ ├── LICENSE
│ │ ├── core
│ │ │ └── public
│ │ │ │ └── version.h
│ │ └── lite
│ │ │ ├── c
│ │ │ ├── builtin_op_data.h
│ │ │ ├── common.c
│ │ │ └── common.h
│ │ │ ├── core
│ │ │ └── api
│ │ │ │ ├── error_reporter.cc
│ │ │ │ ├── error_reporter.h
│ │ │ │ ├── flatbuffer_conversions.cc
│ │ │ │ ├── flatbuffer_conversions.h
│ │ │ │ ├── op_resolver.cc
│ │ │ │ ├── op_resolver.h
│ │ │ │ ├── profiler.h
│ │ │ │ ├── tensor_utils.cc
│ │ │ │ └── tensor_utils.h
│ │ │ ├── kernels
│ │ │ ├── internal
│ │ │ │ ├── common.h
│ │ │ │ ├── compatibility.h
│ │ │ │ ├── cppmath.h
│ │ │ │ ├── max.h
│ │ │ │ ├── min.h
│ │ │ │ ├── optimized
│ │ │ │ │ └── neon_check.h
│ │ │ │ ├── quantization_util.cc
│ │ │ │ ├── quantization_util.h
│ │ │ │ ├── reference
│ │ │ │ │ ├── add.h
│ │ │ │ │ ├── arg_min_max.h
│ │ │ │ │ ├── binary_function.h
│ │ │ │ │ ├── ceil.h
│ │ │ │ │ ├── comparisons.h
│ │ │ │ │ ├── concatenation.h
│ │ │ │ │ ├── conv.h
│ │ │ │ │ ├── depthwiseconv_float.h
│ │ │ │ │ ├── depthwiseconv_uint8.h
│ │ │ │ │ ├── dequantize.h
│ │ │ │ │ ├── floor.h
│ │ │ │ │ ├── fully_connected.h
│ │ │ │ │ ├── integer_ops
│ │ │ │ │ │ ├── add.h
│ │ │ │ │ │ ├── conv.h
│ │ │ │ │ │ ├── depthwise_conv.h
│ │ │ │ │ │ ├── fully_connected.h
│ │ │ │ │ │ ├── l2normalization.h
│ │ │ │ │ │ ├── logistic.h
│ │ │ │ │ │ ├── mul.h
│ │ │ │ │ │ ├── pooling.h
│ │ │ │ │ │ └── tanh.h
│ │ │ │ │ ├── l2normalization.h
│ │ │ │ │ ├── logistic.h
│ │ │ │ │ ├── maximum_minimum.h
│ │ │ │ │ ├── mul.h
│ │ │ │ │ ├── neg.h
│ │ │ │ │ ├── pad.h
│ │ │ │ │ ├── pooling.h
│ │ │ │ │ ├── prelu.h
│ │ │ │ │ ├── process_broadcast_shapes.h
│ │ │ │ │ ├── quantize.h
│ │ │ │ │ ├── reduce.h
│ │ │ │ │ ├── requantize.h
│ │ │ │ │ ├── resize_nearest_neighbor.h
│ │ │ │ │ ├── round.h
│ │ │ │ │ ├── softmax.h
│ │ │ │ │ ├── strided_slice.h
│ │ │ │ │ ├── sub.h
│ │ │ │ │ └── tanh.h
│ │ │ │ ├── strided_slice_logic.h
│ │ │ │ ├── tensor.h
│ │ │ │ ├── tensor_ctypes.h
│ │ │ │ └── types.h
│ │ │ ├── kernel_util.h
│ │ │ ├── kernel_util_lite.cc
│ │ │ ├── op_macros.h
│ │ │ └── padding.h
│ │ │ ├── micro
│ │ │ ├── all_ops_resolver.cc
│ │ │ ├── all_ops_resolver.h
│ │ │ ├── compatibility.h
│ │ │ ├── debug_log.h
│ │ │ ├── kernels
│ │ │ │ ├── activation_utils.h
│ │ │ │ ├── activations.cc
│ │ │ │ ├── add.cc
│ │ │ │ ├── arg_min_max.cc
│ │ │ │ ├── ceil.cc
│ │ │ │ ├── circular_buffer.cc
│ │ │ │ ├── comparisons.cc
│ │ │ │ ├── concatenation.cc
│ │ │ │ ├── conv.cc
│ │ │ │ ├── depthwise_conv.cc
│ │ │ │ ├── dequantize.cc
│ │ │ │ ├── elementwise.cc
│ │ │ │ ├── ethosu.cc
│ │ │ │ ├── floor.cc
│ │ │ │ ├── fully_connected.cc
│ │ │ │ ├── l2norm.cc
│ │ │ │ ├── logical.cc
│ │ │ │ ├── logistic.cc
│ │ │ │ ├── maximum_minimum.cc
│ │ │ │ ├── micro_ops.h
│ │ │ │ ├── micro_utils.h
│ │ │ │ ├── mli_slicers.cc
│ │ │ │ ├── mli_slicers.h
│ │ │ │ ├── mli_tf_utils.h
│ │ │ │ ├── mul.cc
│ │ │ │ ├── neg.cc
│ │ │ │ ├── pack.cc
│ │ │ │ ├── pad.cc
│ │ │ │ ├── pooling.cc
│ │ │ │ ├── prelu.cc
│ │ │ │ ├── quantize.cc
│ │ │ │ ├── reduce.cc
│ │ │ │ ├── reshape.cc
│ │ │ │ ├── resize_nearest_neighbor.cc
│ │ │ │ ├── round.cc
│ │ │ │ ├── scratch_buf_mgr.cc
│ │ │ │ ├── scratch_buf_mgr.h
│ │ │ │ ├── scratch_buffers.cc
│ │ │ │ ├── scratch_buffers.h
│ │ │ │ ├── softmax.cc
│ │ │ │ ├── split.cc
│ │ │ │ ├── strided_slice.cc
│ │ │ │ ├── sub.cc
│ │ │ │ ├── svdf.cc
│ │ │ │ ├── tanh.cc
│ │ │ │ └── unpack.cc
│ │ │ ├── memory_helpers.cc
│ │ │ ├── memory_helpers.h
│ │ │ ├── memory_planner
│ │ │ │ ├── greedy_memory_planner.cc
│ │ │ │ ├── greedy_memory_planner.h
│ │ │ │ ├── linear_memory_planner.cc
│ │ │ │ ├── linear_memory_planner.h
│ │ │ │ └── memory_planner.h
│ │ │ ├── micro_allocator.cc
│ │ │ ├── micro_allocator.h
│ │ │ ├── micro_error_reporter.cc
│ │ │ ├── micro_error_reporter.h
│ │ │ ├── micro_interpreter.cc
│ │ │ ├── micro_interpreter.h
│ │ │ ├── micro_mutable_op_resolver.h
│ │ │ ├── micro_op_resolver.h
│ │ │ ├── micro_optional_debug_tools.cc
│ │ │ ├── micro_optional_debug_tools.h
│ │ │ ├── micro_profiler.cc
│ │ │ ├── micro_profiler.h
│ │ │ ├── micro_string.cc
│ │ │ ├── micro_string.h
│ │ │ ├── micro_time.cc
│ │ │ ├── micro_time.h
│ │ │ ├── micro_utils.cc
│ │ │ ├── micro_utils.h
│ │ │ ├── recording_micro_allocator.cc
│ │ │ ├── recording_micro_allocator.h
│ │ │ ├── recording_micro_interpreter.h
│ │ │ ├── recording_simple_memory_allocator.cc
│ │ │ ├── recording_simple_memory_allocator.h
│ │ │ ├── simple_memory_allocator.cc
│ │ │ ├── simple_memory_allocator.h
│ │ │ ├── test_helpers.cc
│ │ │ ├── test_helpers.h
│ │ │ └── testing
│ │ │ │ ├── micro_test.h
│ │ │ │ ├── test_conv_model.cc
│ │ │ │ ├── test_conv_model.h
│ │ │ │ ├── test_utils.cc
│ │ │ │ └── test_utils.h
│ │ │ ├── schema
│ │ │ └── schema_generated.h
│ │ │ ├── string_type.h
│ │ │ ├── string_util.h
│ │ │ ├── type_to_tflitetype.h
│ │ │ └── version.h
│ └── third_party
│ │ ├── .clang-format
│ │ ├── arc_mli_package
│ │ ├── LICENSE
│ │ └── include
│ │ │ ├── api
│ │ │ ├── mli_helpers_api.h
│ │ │ ├── mli_kernels_api.h
│ │ │ ├── mli_krn_avepool_spec_api.h
│ │ │ ├── mli_krn_conv2d_spec_api.h
│ │ │ ├── mli_krn_depthwise_conv2d_spec_api.h
│ │ │ ├── mli_krn_maxpool_spec_api.h
│ │ │ └── mli_mov_api.h
│ │ │ ├── mli_api.h
│ │ │ ├── mli_config.h
│ │ │ └── mli_types.h
│ │ ├── flatbuffers
│ │ ├── LICENSE.txt
│ │ └── include
│ │ │ └── flatbuffers
│ │ │ ├── base.h
│ │ │ ├── flatbuffers.h
│ │ │ └── stl_emulation.h
│ │ ├── gemmlowp
│ │ ├── LICENSE
│ │ ├── fixedpoint
│ │ │ ├── fixedpoint.h
│ │ │ ├── fixedpoint_neon.h
│ │ │ └── fixedpoint_sse.h
│ │ └── internal
│ │ │ └── detect_platform.h
│ │ └── ruy
│ │ └── ruy
│ │ └── profiler
│ │ └── instrumentation.h
│ ├── model-parameters
│ ├── anomaly_clusters.h
│ ├── anomaly_types.h
│ ├── dsp_blocks.h
│ └── model_metadata.h
│ └── tflite-model
│ ├── trained_model_compiled.cpp
│ └── trained_model_compiled.h
├── README.md
├── TFLite
├── 001Sine
│ ├── .ai
│ │ ├── sine_model_c_graph.json
│ │ └── sine_model_report.json
│ ├── .mxproject
│ ├── Inc
│ │ ├── crc.h
│ │ ├── gpio.h
│ │ ├── main.h
│ │ ├── sine_model.h
│ │ ├── stm32f4xx_hal_conf.h
│ │ ├── stm32f4xx_it.h
│ │ ├── tim.h
│ │ └── usart.h
│ ├── MDK-ARM
│ │ ├── EventRecorderStub.scvd
│ │ ├── RTE
│ │ │ └── _STM32F407_AI_Sine
│ │ │ │ └── RTE_Components.h
│ │ ├── STM32F407_AI_Sine.uvguix.fpolo
│ │ ├── STM32F407_AI_Sine.uvoptx
│ │ ├── STM32F407_AI_Sine.uvprojx
│ │ ├── STM32F407_AI_Sine
│ │ │ ├── ExtDll.iex
│ │ │ ├── STM32F407_AI_Sine.build_log.htm
│ │ │ └── STM32F407_AI_Sine.htm
│ │ └── startup_stm32f407xx.s
│ ├── STM32F407_AI_Sine.ioc
│ ├── Src
│ │ ├── crc.c
│ │ ├── gpio.c
│ │ ├── main.cpp
│ │ ├── sine_model.cpp
│ │ ├── stm32f4xx_hal_msp.c
│ │ ├── stm32f4xx_it.c
│ │ ├── system_stm32f4xx.c
│ │ ├── tim.c
│ │ └── usart.c
│ └── models
│ │ ├── model_no_quant.tflite
│ │ ├── sine
│ │ ├── noquant
│ │ │ └── model_no_quant.tflite
│ │ ├── quantint8
│ │ │ └── model.tflite
│ │ └── sinemodel.tflite
│ │ ├── sine_model.cc
│ │ └── sine_model.h
├── 002SineQuanti8
│ ├── .ai
│ │ ├── sine_model_c_graph.json
│ │ └── sine_model_report.json
│ ├── .mxproject
│ ├── Inc
│ │ ├── crc.h
│ │ ├── gpio.h
│ │ ├── main.h
│ │ ├── sine_model.h
│ │ ├── stm32f4xx_hal_conf.h
│ │ ├── stm32f4xx_it.h
│ │ ├── tim.h
│ │ └── usart.h
│ ├── MDK-ARM
│ │ ├── EventRecorderStub.scvd
│ │ ├── RTE
│ │ │ └── _STM32F407_AI_Sine
│ │ │ │ └── RTE_Components.h
│ │ ├── STM32F407_AI_Sine.uvguix.fpolo
│ │ ├── STM32F407_AI_Sine.uvoptx
│ │ ├── STM32F407_AI_Sine.uvprojx
│ │ ├── STM32F407_AI_Sine
│ │ │ ├── ExtDll.iex
│ │ │ ├── STM32F407_AI_Sine.build_log.htm
│ │ │ └── STM32F407_AI_Sine.htm
│ │ └── startup_stm32f407xx.s
│ ├── STM32F407_AI_Sine.ioc
│ ├── Src
│ │ ├── crc.c
│ │ ├── gpio.c
│ │ ├── main.cpp
│ │ ├── sine_model.cpp
│ │ ├── stm32f4xx_hal_msp.c
│ │ ├── stm32f4xx_it.c
│ │ ├── system_stm32f4xx.c
│ │ ├── tim.c
│ │ └── usart.c
│ └── models
│ │ ├── model_no_quant.tflite
│ │ ├── sine
│ │ ├── noquant
│ │ │ └── model_no_quant.tflite
│ │ ├── quantint8
│ │ │ └── model.tflite
│ │ └── sinemodel.tflite
│ │ ├── sine_model.cc
│ │ └── sine_model.h
└── tensorflowlite
│ ├── tensorflow
│ ├── core
│ │ └── public
│ │ │ └── version.h
│ └── lite
│ │ ├── c
│ │ ├── builtin_op_data.h
│ │ ├── common.c
│ │ └── common.h
│ │ ├── core
│ │ └── api
│ │ │ ├── error_reporter.cc
│ │ │ ├── error_reporter.h
│ │ │ ├── flatbuffer_conversions.cc
│ │ │ ├── flatbuffer_conversions.h
│ │ │ ├── op_resolver.cc
│ │ │ ├── op_resolver.h
│ │ │ ├── tensor_utils.cc
│ │ │ └── tensor_utils.h
│ │ ├── kernels
│ │ ├── internal
│ │ │ ├── common.h
│ │ │ ├── compatibility.h
│ │ │ ├── cppmath.h
│ │ │ ├── optimized
│ │ │ │ └── neon_check.h
│ │ │ ├── quantization_util.cc
│ │ │ ├── quantization_util.h
│ │ │ ├── reference
│ │ │ │ ├── add.h
│ │ │ │ ├── arg_min_max.h
│ │ │ │ ├── binary_function.h
│ │ │ │ ├── ceil.h
│ │ │ │ ├── comparisons.h
│ │ │ │ ├── concatenation.h
│ │ │ │ ├── conv.h
│ │ │ │ ├── depthwiseconv_float.h
│ │ │ │ ├── depthwiseconv_uint8.h
│ │ │ │ ├── dequantize.h
│ │ │ │ ├── floor.h
│ │ │ │ ├── fully_connected.h
│ │ │ │ ├── integer_ops
│ │ │ │ │ ├── add.h
│ │ │ │ │ ├── conv.h
│ │ │ │ │ ├── depthwise_conv.h
│ │ │ │ │ ├── fully_connected.h
│ │ │ │ │ ├── l2normalization.h
│ │ │ │ │ ├── logistic.h
│ │ │ │ │ ├── mul.h
│ │ │ │ │ └── pooling.h
│ │ │ │ ├── l2normalization.h
│ │ │ │ ├── logistic.h
│ │ │ │ ├── maximum_minimum.h
│ │ │ │ ├── mul.h
│ │ │ │ ├── neg.h
│ │ │ │ ├── pad.h
│ │ │ │ ├── pooling.h
│ │ │ │ ├── prelu.h
│ │ │ │ ├── process_broadcast_shapes.h
│ │ │ │ ├── quantize.h
│ │ │ │ ├── reduce.h
│ │ │ │ ├── requantize.h
│ │ │ │ ├── resize_nearest_neighbor.h
│ │ │ │ ├── round.h
│ │ │ │ ├── softmax.h
│ │ │ │ ├── strided_slice.h
│ │ │ │ └── sub.h
│ │ │ ├── strided_slice_logic.h
│ │ │ ├── tensor.h
│ │ │ ├── tensor_ctypes.h
│ │ │ └── types.h
│ │ ├── kernel_util.cc
│ │ ├── kernel_util.h
│ │ ├── op_macros.h
│ │ └── padding.h
│ │ ├── micro
│ │ ├── compatibility.h
│ │ ├── debug_log.h
│ │ ├── kernels
│ │ │ ├── activation_utils.h
│ │ │ ├── activations.cc
│ │ │ ├── add.cc
│ │ │ ├── all_ops_resolver.cc
│ │ │ ├── all_ops_resolver.h
│ │ │ ├── arg_min_max.cc
│ │ │ ├── ceil.cc
│ │ │ ├── circular_buffer.cc
│ │ │ ├── comparisons.cc
│ │ │ ├── concatenation.cc
│ │ │ ├── conv.cc
│ │ │ ├── depthwise_conv.cc
│ │ │ ├── dequantize.cc
│ │ │ ├── elementwise.cc
│ │ │ ├── floor.cc
│ │ │ ├── fully_connected.cc
│ │ │ ├── l2norm.cc
│ │ │ ├── logical.cc
│ │ │ ├── logistic.cc
│ │ │ ├── maximum_minimum.cc
│ │ │ ├── micro_ops.h
│ │ │ ├── micro_utils.h
│ │ │ ├── mul.cc
│ │ │ ├── neg.cc
│ │ │ ├── pack.cc
│ │ │ ├── pad.cc
│ │ │ ├── pooling.cc
│ │ │ ├── prelu.cc
│ │ │ ├── quantize.cc
│ │ │ ├── reduce.cc
│ │ │ ├── reshape.cc
│ │ │ ├── resize_nearest_neighbor.cc
│ │ │ ├── round.cc
│ │ │ ├── softmax.cc
│ │ │ ├── split.cc
│ │ │ ├── strided_slice.cc
│ │ │ ├── sub.cc
│ │ │ ├── svdf.cc
│ │ │ └── unpack.cc
│ │ ├── memory_helpers.cc
│ │ ├── memory_helpers.h
│ │ ├── memory_planner
│ │ │ ├── greedy_memory_planner.cc
│ │ │ ├── greedy_memory_planner.h
│ │ │ ├── linear_memory_planner.cc
│ │ │ ├── linear_memory_planner.h
│ │ │ └── memory_planner.h
│ │ ├── micro_allocator.cc
│ │ ├── micro_allocator.h
│ │ ├── micro_error_reporter.cc
│ │ ├── micro_error_reporter.h
│ │ ├── micro_interpreter.cc
│ │ ├── micro_interpreter.h
│ │ ├── micro_mutable_op_resolver.h
│ │ ├── micro_optional_debug_tools.cc
│ │ ├── micro_optional_debug_tools.h
│ │ ├── micro_string.cc
│ │ ├── micro_string.h
│ │ ├── micro_time.cc
│ │ ├── micro_time.h
│ │ ├── micro_utils.cc
│ │ ├── micro_utils.h
│ │ ├── simple_memory_allocator.cc
│ │ ├── simple_memory_allocator.h
│ │ ├── test_helpers.cc
│ │ ├── test_helpers.h
│ │ └── testing
│ │ │ ├── micro_benchmark.h
│ │ │ ├── micro_test.h
│ │ │ ├── test_utils.cc
│ │ │ └── test_utils.h
│ │ ├── schema
│ │ └── schema_generated.h
│ │ ├── string_type.h
│ │ ├── string_util.h
│ │ ├── type_to_tflitetype.h
│ │ └── version.h
│ └── third_party
│ ├── flatbuffers
│ ├── LICENSE.txt
│ └── include
│ │ └── flatbuffers
│ │ ├── base.h
│ │ ├── flatbuffers.h
│ │ └── stl_emulation.h
│ ├── gemmlowp
│ ├── LICENSE
│ ├── fixedpoint
│ │ ├── fixedpoint.h
│ │ └── fixedpoint_sse.h
│ └── internal
│ │ └── detect_platform.h
│ └── ruy
│ └── profiler
│ └── instrumentation.h
└── models
├── MagicWand
├── ei-my-smartphone-motion-project-nn-classifier-tensorflow-lite-float32-model.lite
└── ei-my-smartphone-motion-project-nn-classifier-tensorflow-lite-int8-quantized-model.lite
└── sine
├── noquant
└── model_no_quant.tflite
├── quantint8
└── model.tflite
└── sinemodel.tflite
/.gitignore:
--------------------------------------------------------------------------------
1 | # For a project mostly in C, the following would be a good set of
2 | # exclude patterns (uncomment them if you want to use them):
3 | *.[oa]
4 | *~
5 | # Exclude Drivers folder, can be included
6 | #again using CubeMX
7 | Drivers/
8 | # Ignore build files from Keil uVision
9 | MDK-ARM/DebugConfig/
10 | MDK-ARM/project/
11 | MDK-ARM/RTE/
12 | # Ignore .o .dbgconf .
13 | *.dbgconf
14 | *.o
15 | *.crf
16 | *.d
17 | *.lnp
18 | *.map
19 | *.axf
20 | *.hex
21 | *.sct
22 | *.dep
23 | *.lst
24 | *.fw
25 | PDT3.htm
26 | PDT3.build_log.htm
27 | .code-workspace
28 | # Doxygen
29 | /Doxygen/html
30 |
31 |
--------------------------------------------------------------------------------
/CubeMXAI/001Sine/Inc/crc.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : CRC.h
4 | * Description : This file provides code for the configuration
5 | * of the CRC instances.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | *
© Copyright (c) 2021 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under Ultimate Liberty license
13 | * SLA0044, the "License"; You may not use this file except in compliance with
14 | * the License. You may obtain a copy of the License at:
15 | * www.st.com/SLA0044
16 | *
17 | ******************************************************************************
18 | */
19 | /* Define to prevent recursive inclusion -------------------------------------*/
20 | #ifndef __crc_H
21 | #define __crc_H
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | /* Includes ------------------------------------------------------------------*/
27 | #include "main.h"
28 |
29 | /* USER CODE BEGIN Includes */
30 |
31 | /* USER CODE END Includes */
32 |
33 | extern CRC_HandleTypeDef hcrc;
34 |
35 | /* USER CODE BEGIN Private defines */
36 |
37 | /* USER CODE END Private defines */
38 |
39 | void MX_CRC_Init(void);
40 |
41 | /* USER CODE BEGIN Prototypes */
42 |
43 | /* USER CODE END Prototypes */
44 |
45 | #ifdef __cplusplus
46 | }
47 | #endif
48 | #endif /*__ crc_H */
49 |
50 | /**
51 | * @}
52 | */
53 |
54 | /**
55 | * @}
56 | */
57 |
58 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
59 |
--------------------------------------------------------------------------------
/CubeMXAI/001Sine/Inc/gpio.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : gpio.h
4 | * Description : This file contains all the functions prototypes for
5 | * the gpio
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2021 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under Ultimate Liberty license
13 | * SLA0044, the "License"; You may not use this file except in compliance with
14 | * the License. You may obtain a copy of the License at:
15 | * www.st.com/SLA0044
16 | *
17 | ******************************************************************************
18 | */
19 |
20 | /* Define to prevent recursive inclusion -------------------------------------*/
21 | #ifndef __gpio_H
22 | #define __gpio_H
23 | #ifdef __cplusplus
24 | extern "C" {
25 | #endif
26 |
27 | /* Includes ------------------------------------------------------------------*/
28 | #include "main.h"
29 |
30 | /* USER CODE BEGIN Includes */
31 |
32 | /* USER CODE END Includes */
33 |
34 | /* USER CODE BEGIN Private defines */
35 |
36 | /* USER CODE END Private defines */
37 |
38 | void MX_GPIO_Init(void);
39 |
40 | /* USER CODE BEGIN Prototypes */
41 |
42 | /* USER CODE END Prototypes */
43 |
44 | #ifdef __cplusplus
45 | }
46 | #endif
47 | #endif /*__ pinoutConfig_H */
48 |
49 | /**
50 | * @}
51 | */
52 |
53 | /**
54 | * @}
55 | */
56 |
57 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
58 |
--------------------------------------------------------------------------------
/CubeMXAI/001Sine/Inc/tim.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : TIM.h
4 | * Description : This file provides code for the configuration
5 | * of the TIM instances.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2021 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under Ultimate Liberty license
13 | * SLA0044, the "License"; You may not use this file except in compliance with
14 | * the License. You may obtain a copy of the License at:
15 | * www.st.com/SLA0044
16 | *
17 | ******************************************************************************
18 | */
19 | /* Define to prevent recursive inclusion -------------------------------------*/
20 | #ifndef __tim_H
21 | #define __tim_H
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | /* Includes ------------------------------------------------------------------*/
27 | #include "main.h"
28 |
29 | /* USER CODE BEGIN Includes */
30 |
31 | /* USER CODE END Includes */
32 |
33 | extern TIM_HandleTypeDef htim2;
34 | extern TIM_HandleTypeDef htim14;
35 |
36 | /* USER CODE BEGIN Private defines */
37 |
38 | /* USER CODE END Private defines */
39 |
40 | void MX_TIM2_Init(void);
41 | void MX_TIM14_Init(void);
42 |
43 | /* USER CODE BEGIN Prototypes */
44 |
45 | /* USER CODE END Prototypes */
46 |
47 | #ifdef __cplusplus
48 | }
49 | #endif
50 | #endif /*__ tim_H */
51 |
52 | /**
53 | * @}
54 | */
55 |
56 | /**
57 | * @}
58 | */
59 |
60 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
61 |
--------------------------------------------------------------------------------
/CubeMXAI/001Sine/Inc/usart.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : USART.h
4 | * Description : This file provides code for the configuration
5 | * of the USART instances.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2021 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under Ultimate Liberty license
13 | * SLA0044, the "License"; You may not use this file except in compliance with
14 | * the License. You may obtain a copy of the License at:
15 | * www.st.com/SLA0044
16 | *
17 | ******************************************************************************
18 | */
19 | /* Define to prevent recursive inclusion -------------------------------------*/
20 | #ifndef __usart_H
21 | #define __usart_H
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | /* Includes ------------------------------------------------------------------*/
27 | #include "main.h"
28 |
29 | /* USER CODE BEGIN Includes */
30 |
31 | /* USER CODE END Includes */
32 |
33 | extern UART_HandleTypeDef huart6;
34 |
35 | /* USER CODE BEGIN Private defines */
36 |
37 | /* USER CODE END Private defines */
38 |
39 | void MX_USART6_UART_Init(void);
40 |
41 | /* USER CODE BEGIN Prototypes */
42 |
43 | /* USER CODE END Prototypes */
44 |
45 | #ifdef __cplusplus
46 | }
47 | #endif
48 | #endif /*__ usart_H */
49 |
50 | /**
51 | * @}
52 | */
53 |
54 | /**
55 | * @}
56 | */
57 |
58 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
59 |
--------------------------------------------------------------------------------
/CubeMXAI/001Sine/MDK-ARM/RTE/_STM32F407_AI_Sine/RTE_Components.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Auto generated Run-Time-Environment Configuration File
4 | * *** Do not modify ! ***
5 | *
6 | * Project: 'STM32F407_AI_Sine'
7 | * Target: 'STM32F407_AI_Sine'
8 | */
9 |
10 | #ifndef RTE_COMPONENTS_H
11 | #define RTE_COMPONENTS_H
12 |
13 |
14 | /*
15 | * Define the Device Header File:
16 | */
17 | #define CMSIS_device_header "stm32f4xx.h"
18 |
19 |
20 |
21 | #endif /* RTE_COMPONENTS_H */
22 |
--------------------------------------------------------------------------------
/CubeMXAI/001Sine/MDK-ARM/STM32F407_AI_Sine/STM32F407_AI_Sine.build_log.htm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/CubeMXAI/001Sine/MDK-ARM/STM32F407_AI_Sine/STM32F407_AI_Sine.build_log.htm
--------------------------------------------------------------------------------
/CubeMXAI/001Sine/Middlewares/ST/AI/Inc/ai_common_config.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file ai_common_config.h
4 | * @author AST Embedded Analytics Research Platform
5 | * @date 18-May-2018
6 | * @brief header file of AI platform common compile configuration defines
7 | ******************************************************************************
8 | * @attention
9 | *
10 | * © Copyright (c) 2018 STMicroelectronics.
11 | * All rights reserved.
12 | *
13 | * This software component is licensed by ST under Ultimate Liberty license
14 | * SLA0044, the "License"; You may not use this file except in compliance with
15 | * the License. You may obtain a copy of the License at:
16 | * www.st.com/SLA0044
17 | *
18 | ******************************************************************************
19 | */
20 | #ifndef __AI_COMMON_CONFIG_H_
21 | #define __AI_COMMON_CONFIG_H_
22 | #pragma once
23 |
24 | /*!
25 | * @defgroup layers Layers Compilation Config Definitions
26 | * @brief definition
27 | *
28 | */
29 |
30 | #define HAS_PROFILE_FLOAT
31 | #define HAS_PROFILE_FIXED
32 |
33 |
34 | #endif /*__AI_COMMON_CONFIG_H_*/
35 |
--------------------------------------------------------------------------------
/CubeMXAI/001Sine/Middlewares/ST/AI/Lib/NetworkRuntime520_CM4_Keil.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/CubeMXAI/001Sine/Middlewares/ST/AI/Lib/NetworkRuntime520_CM4_Keil.lib
--------------------------------------------------------------------------------
/CubeMXAI/002SineQuanti8/Inc/crc.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : CRC.h
4 | * Description : This file provides code for the configuration
5 | * of the CRC instances.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2021 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under Ultimate Liberty license
13 | * SLA0044, the "License"; You may not use this file except in compliance with
14 | * the License. You may obtain a copy of the License at:
15 | * www.st.com/SLA0044
16 | *
17 | ******************************************************************************
18 | */
19 | /* Define to prevent recursive inclusion -------------------------------------*/
20 | #ifndef __crc_H
21 | #define __crc_H
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | /* Includes ------------------------------------------------------------------*/
27 | #include "main.h"
28 |
29 | /* USER CODE BEGIN Includes */
30 |
31 | /* USER CODE END Includes */
32 |
33 | extern CRC_HandleTypeDef hcrc;
34 |
35 | /* USER CODE BEGIN Private defines */
36 |
37 | /* USER CODE END Private defines */
38 |
39 | void MX_CRC_Init(void);
40 |
41 | /* USER CODE BEGIN Prototypes */
42 |
43 | /* USER CODE END Prototypes */
44 |
45 | #ifdef __cplusplus
46 | }
47 | #endif
48 | #endif /*__ crc_H */
49 |
50 | /**
51 | * @}
52 | */
53 |
54 | /**
55 | * @}
56 | */
57 |
58 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
59 |
--------------------------------------------------------------------------------
/CubeMXAI/002SineQuanti8/Inc/gpio.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : gpio.h
4 | * Description : This file contains all the functions prototypes for
5 | * the gpio
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2021 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under Ultimate Liberty license
13 | * SLA0044, the "License"; You may not use this file except in compliance with
14 | * the License. You may obtain a copy of the License at:
15 | * www.st.com/SLA0044
16 | *
17 | ******************************************************************************
18 | */
19 |
20 | /* Define to prevent recursive inclusion -------------------------------------*/
21 | #ifndef __gpio_H
22 | #define __gpio_H
23 | #ifdef __cplusplus
24 | extern "C" {
25 | #endif
26 |
27 | /* Includes ------------------------------------------------------------------*/
28 | #include "main.h"
29 |
30 | /* USER CODE BEGIN Includes */
31 |
32 | /* USER CODE END Includes */
33 |
34 | /* USER CODE BEGIN Private defines */
35 |
36 | /* USER CODE END Private defines */
37 |
38 | void MX_GPIO_Init(void);
39 |
40 | /* USER CODE BEGIN Prototypes */
41 |
42 | /* USER CODE END Prototypes */
43 |
44 | #ifdef __cplusplus
45 | }
46 | #endif
47 | #endif /*__ pinoutConfig_H */
48 |
49 | /**
50 | * @}
51 | */
52 |
53 | /**
54 | * @}
55 | */
56 |
57 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
58 |
--------------------------------------------------------------------------------
/CubeMXAI/002SineQuanti8/Inc/tim.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : TIM.h
4 | * Description : This file provides code for the configuration
5 | * of the TIM instances.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2021 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under Ultimate Liberty license
13 | * SLA0044, the "License"; You may not use this file except in compliance with
14 | * the License. You may obtain a copy of the License at:
15 | * www.st.com/SLA0044
16 | *
17 | ******************************************************************************
18 | */
19 | /* Define to prevent recursive inclusion -------------------------------------*/
20 | #ifndef __tim_H
21 | #define __tim_H
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | /* Includes ------------------------------------------------------------------*/
27 | #include "main.h"
28 |
29 | /* USER CODE BEGIN Includes */
30 |
31 | /* USER CODE END Includes */
32 |
33 | extern TIM_HandleTypeDef htim2;
34 | extern TIM_HandleTypeDef htim14;
35 |
36 | /* USER CODE BEGIN Private defines */
37 |
38 | /* USER CODE END Private defines */
39 |
40 | void MX_TIM2_Init(void);
41 | void MX_TIM14_Init(void);
42 |
43 | /* USER CODE BEGIN Prototypes */
44 |
45 | /* USER CODE END Prototypes */
46 |
47 | #ifdef __cplusplus
48 | }
49 | #endif
50 | #endif /*__ tim_H */
51 |
52 | /**
53 | * @}
54 | */
55 |
56 | /**
57 | * @}
58 | */
59 |
60 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
61 |
--------------------------------------------------------------------------------
/CubeMXAI/002SineQuanti8/Inc/usart.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : USART.h
4 | * Description : This file provides code for the configuration
5 | * of the USART instances.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2021 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under Ultimate Liberty license
13 | * SLA0044, the "License"; You may not use this file except in compliance with
14 | * the License. You may obtain a copy of the License at:
15 | * www.st.com/SLA0044
16 | *
17 | ******************************************************************************
18 | */
19 | /* Define to prevent recursive inclusion -------------------------------------*/
20 | #ifndef __usart_H
21 | #define __usart_H
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | /* Includes ------------------------------------------------------------------*/
27 | #include "main.h"
28 |
29 | /* USER CODE BEGIN Includes */
30 |
31 | /* USER CODE END Includes */
32 |
33 | extern UART_HandleTypeDef huart6;
34 |
35 | /* USER CODE BEGIN Private defines */
36 |
37 | /* USER CODE END Private defines */
38 |
39 | void MX_USART6_UART_Init(void);
40 |
41 | /* USER CODE BEGIN Prototypes */
42 |
43 | /* USER CODE END Prototypes */
44 |
45 | #ifdef __cplusplus
46 | }
47 | #endif
48 | #endif /*__ usart_H */
49 |
50 | /**
51 | * @}
52 | */
53 |
54 | /**
55 | * @}
56 | */
57 |
58 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
59 |
--------------------------------------------------------------------------------
/CubeMXAI/002SineQuanti8/MDK-ARM/RTE/_STM32F407_AI_Sine/RTE_Components.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Auto generated Run-Time-Environment Configuration File
4 | * *** Do not modify ! ***
5 | *
6 | * Project: 'STM32F407_AI_Sine'
7 | * Target: 'STM32F407_AI_Sine'
8 | */
9 |
10 | #ifndef RTE_COMPONENTS_H
11 | #define RTE_COMPONENTS_H
12 |
13 |
14 | /*
15 | * Define the Device Header File:
16 | */
17 | #define CMSIS_device_header "stm32f4xx.h"
18 |
19 |
20 |
21 | #endif /* RTE_COMPONENTS_H */
22 |
--------------------------------------------------------------------------------
/CubeMXAI/002SineQuanti8/MDK-ARM/STM32F407_AI_Sine/STM32F407_AI_Sine.build_log.htm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/CubeMXAI/002SineQuanti8/MDK-ARM/STM32F407_AI_Sine/STM32F407_AI_Sine.build_log.htm
--------------------------------------------------------------------------------
/CubeMXAI/002SineQuanti8/Middlewares/ST/AI/Inc/ai_common_config.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file ai_common_config.h
4 | * @author AST Embedded Analytics Research Platform
5 | * @date 18-May-2018
6 | * @brief header file of AI platform common compile configuration defines
7 | ******************************************************************************
8 | * @attention
9 | *
10 | * © Copyright (c) 2018 STMicroelectronics.
11 | * All rights reserved.
12 | *
13 | * This software component is licensed by ST under Ultimate Liberty license
14 | * SLA0044, the "License"; You may not use this file except in compliance with
15 | * the License. You may obtain a copy of the License at:
16 | * www.st.com/SLA0044
17 | *
18 | ******************************************************************************
19 | */
20 | #ifndef __AI_COMMON_CONFIG_H_
21 | #define __AI_COMMON_CONFIG_H_
22 | #pragma once
23 |
24 | /*!
25 | * @defgroup layers Layers Compilation Config Definitions
26 | * @brief definition
27 | *
28 | */
29 |
30 | #define HAS_PROFILE_FLOAT
31 | #define HAS_PROFILE_FIXED
32 |
33 |
34 | #endif /*__AI_COMMON_CONFIG_H_*/
35 |
--------------------------------------------------------------------------------
/CubeMXAI/002SineQuanti8/Middlewares/ST/AI/Lib/NetworkRuntime520_CM4_Keil.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/CubeMXAI/002SineQuanti8/Middlewares/ST/AI/Lib/NetworkRuntime520_CM4_Keil.lib
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/BNO055/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2020 Bosch Sensortec GmbH. All rights reserved.
2 |
3 | BSD-3-Clause
4 |
5 | Redistribution and use in source and binary forms, with or without
6 | modification, are permitted provided that the following conditions are met:
7 |
8 | 1. Redistributions of source code must retain the above copyright
9 | notice, this list of conditions and the following disclaimer.
10 |
11 | 2. Redistributions in binary form must reproduce the above copyright
12 | notice, this list of conditions and the following disclaimer in the
13 | documentation and/or other materials provided with the distribution.
14 |
15 | 3. Neither the name of the copyright holder nor the names of its
16 | contributors may be used to endorse or promote products derived from
17 | this software without specific prior written permission.
18 |
19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
22 | FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
23 | COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
24 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
25 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 | HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
28 | STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
29 | IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30 | POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/BNO055/bno055.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/CubeMXAI/003MagicWand/BNO055/bno055.h
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/EdgeImpulse.my-smartphone-motion-project.1.0.5.pack:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/CubeMXAI/003MagicWand/EdgeImpulse.my-smartphone-motion-project.1.0.5.pack
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Inc/crc.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : CRC.h
4 | * Description : This file provides code for the configuration
5 | * of the CRC instances.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2021 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under Ultimate Liberty license
13 | * SLA0044, the "License"; You may not use this file except in compliance with
14 | * the License. You may obtain a copy of the License at:
15 | * www.st.com/SLA0044
16 | *
17 | ******************************************************************************
18 | */
19 | /* Define to prevent recursive inclusion -------------------------------------*/
20 | #ifndef __crc_H
21 | #define __crc_H
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | /* Includes ------------------------------------------------------------------*/
27 | #include "main.h"
28 |
29 | /* USER CODE BEGIN Includes */
30 |
31 | /* USER CODE END Includes */
32 |
33 | extern CRC_HandleTypeDef hcrc;
34 |
35 | /* USER CODE BEGIN Private defines */
36 |
37 | /* USER CODE END Private defines */
38 |
39 | void MX_CRC_Init(void);
40 |
41 | /* USER CODE BEGIN Prototypes */
42 |
43 | /* USER CODE END Prototypes */
44 |
45 | #ifdef __cplusplus
46 | }
47 | #endif
48 | #endif /*__ crc_H */
49 |
50 | /**
51 | * @}
52 | */
53 |
54 | /**
55 | * @}
56 | */
57 |
58 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
59 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Inc/gpio.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : gpio.h
4 | * Description : This file contains all the functions prototypes for
5 | * the gpio
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2021 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under Ultimate Liberty license
13 | * SLA0044, the "License"; You may not use this file except in compliance with
14 | * the License. You may obtain a copy of the License at:
15 | * www.st.com/SLA0044
16 | *
17 | ******************************************************************************
18 | */
19 |
20 | /* Define to prevent recursive inclusion -------------------------------------*/
21 | #ifndef __gpio_H
22 | #define __gpio_H
23 | #ifdef __cplusplus
24 | extern "C" {
25 | #endif
26 |
27 | /* Includes ------------------------------------------------------------------*/
28 | #include "main.h"
29 |
30 | /* USER CODE BEGIN Includes */
31 |
32 | /* USER CODE END Includes */
33 |
34 | /* USER CODE BEGIN Private defines */
35 |
36 | /* USER CODE END Private defines */
37 |
38 | void MX_GPIO_Init(void);
39 |
40 | /* USER CODE BEGIN Prototypes */
41 |
42 | /* USER CODE END Prototypes */
43 |
44 | #ifdef __cplusplus
45 | }
46 | #endif
47 | #endif /*__ pinoutConfig_H */
48 |
49 | /**
50 | * @}
51 | */
52 |
53 | /**
54 | * @}
55 | */
56 |
57 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
58 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Inc/i2c.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : I2C.h
4 | * Description : This file provides code for the configuration
5 | * of the I2C instances.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2021 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under Ultimate Liberty license
13 | * SLA0044, the "License"; You may not use this file except in compliance with
14 | * the License. You may obtain a copy of the License at:
15 | * www.st.com/SLA0044
16 | *
17 | ******************************************************************************
18 | */
19 | /* Define to prevent recursive inclusion -------------------------------------*/
20 | #ifndef __i2c_H
21 | #define __i2c_H
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | /* Includes ------------------------------------------------------------------*/
27 | #include "main.h"
28 |
29 | /* USER CODE BEGIN Includes */
30 |
31 | /* USER CODE END Includes */
32 |
33 | extern I2C_HandleTypeDef hi2c3;
34 |
35 | /* USER CODE BEGIN Private defines */
36 |
37 | /* USER CODE END Private defines */
38 |
39 | void MX_I2C3_Init(void);
40 |
41 | /* USER CODE BEGIN Prototypes */
42 |
43 | /* USER CODE END Prototypes */
44 |
45 | #ifdef __cplusplus
46 | }
47 | #endif
48 | #endif /*__ i2c_H */
49 |
50 | /**
51 | * @}
52 | */
53 |
54 | /**
55 | * @}
56 | */
57 |
58 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
59 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Inc/usart.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : USART.h
4 | * Description : This file provides code for the configuration
5 | * of the USART instances.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2021 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under Ultimate Liberty license
13 | * SLA0044, the "License"; You may not use this file except in compliance with
14 | * the License. You may obtain a copy of the License at:
15 | * www.st.com/SLA0044
16 | *
17 | ******************************************************************************
18 | */
19 | /* Define to prevent recursive inclusion -------------------------------------*/
20 | #ifndef __usart_H
21 | #define __usart_H
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | /* Includes ------------------------------------------------------------------*/
27 | #include "main.h"
28 |
29 | /* USER CODE BEGIN Includes */
30 |
31 | /* USER CODE END Includes */
32 |
33 | extern UART_HandleTypeDef huart6;
34 |
35 | /* USER CODE BEGIN Private defines */
36 |
37 | /* USER CODE END Private defines */
38 |
39 | void MX_USART6_UART_Init(void);
40 |
41 | /* USER CODE BEGIN Prototypes */
42 |
43 | /* USER CODE END Prototypes */
44 |
45 | #ifdef __cplusplus
46 | }
47 | #endif
48 | #endif /*__ usart_H */
49 |
50 | /**
51 | * @}
52 | */
53 |
54 | /**
55 | * @}
56 | */
57 |
58 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
59 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/MDK-ARM/EventRecorderStub.scvd:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/MDK-ARM/RTE/Compiler/EventRecorderConf.h:
--------------------------------------------------------------------------------
1 | /*------------------------------------------------------------------------------
2 | * MDK - Component ::Event Recorder
3 | * Copyright (c) 2016-2018 ARM Germany GmbH. All rights reserved.
4 | *------------------------------------------------------------------------------
5 | * Name: EventRecorderConf.h
6 | * Purpose: Event Recorder Configuration
7 | * Rev.: V1.1.0
8 | *----------------------------------------------------------------------------*/
9 |
10 | //-------- <<< Use Configuration Wizard in Context Menu >>> --------------------
11 |
12 | // Event Recorder
13 |
14 | // Number of Records
15 | // <8=>8 <16=>16 <32=>32 <64=>64 <128=>128 <256=>256 <512=>512 <1024=>1024
16 | // <2048=>2048 <4096=>4096 <8192=>8192 <16384=>16384 <32768=>32768
17 | // <65536=>65536
18 | // Configures size of Event Record Buffer (each record is 16 bytes)
19 | // Must be 2^n (min=8, max=65536)
20 | #define EVENT_RECORD_COUNT 1024U
21 |
22 | // Time Stamp Source
23 | // <0=> DWT Cycle Counter <1=> SysTick <2=> CMSIS-RTOS2 System Timer
24 | // <3=> User Timer (Normal Reset) <4=> User Timer (Power-On Reset)
25 | // Selects source for 32-bit time stamp
26 | #define EVENT_TIMESTAMP_SOURCE 0
27 |
28 | // Time Stamp Clock Frequency [Hz] <0-1000000000>
29 | // Defines default time stamp clock frequency (0 when not used)
30 | #define EVENT_TIMESTAMP_FREQ 160000000U
31 |
32 | //
33 |
34 | //------------- <<< end of configuration section >>> ---------------------------
35 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/MDK-ARM/RTE/_STM32F407_AI/RTE_Components.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Auto generated Run-Time-Environment Configuration File
4 | * *** Do not modify ! ***
5 | *
6 | * Project: 'STM32F407_AI'
7 | * Target: 'STM32F407_AI'
8 | */
9 |
10 | #ifndef RTE_COMPONENTS_H
11 | #define RTE_COMPONENTS_H
12 |
13 |
14 | /*
15 | * Define the Device Header File:
16 | */
17 | #define CMSIS_device_header "stm32f4xx.h"
18 |
19 | /* Keil.ARM Compiler::Compiler:Event Recorder:DAP:1.4.0 */
20 | #define RTE_Compiler_EventRecorder
21 | #define RTE_Compiler_EventRecorder_DAP
22 |
23 |
24 | #endif /* RTE_COMPONENTS_H */
25 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/MDK-ARM/RTE/_STM32F407_AI_EventRecorder/RTE_Components.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Auto generated Run-Time-Environment Configuration File
4 | * *** Do not modify ! ***
5 | *
6 | * Project: 'STM32F407_AI'
7 | * Target: 'STM32F407_AI_EventRecorder'
8 | */
9 |
10 | #ifndef RTE_COMPONENTS_H
11 | #define RTE_COMPONENTS_H
12 |
13 |
14 | /*
15 | * Define the Device Header File:
16 | */
17 | #define CMSIS_device_header "stm32f4xx.h"
18 |
19 | /* Keil.ARM Compiler::Compiler:Event Recorder:DAP:1.4.0 */
20 | #define RTE_Compiler_EventRecorder
21 | #define RTE_Compiler_EventRecorder_DAP
22 |
23 |
24 | #endif /* RTE_COMPONENTS_H */
25 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/MDK-ARM/STM32F407_AI/ExtDll.iex:
--------------------------------------------------------------------------------
1 | [EXTDLL]
2 | Count=0
3 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/MDK-ARM/STM32F407_AI/STM32F407_AI.build_log.htm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/CubeMXAI/003MagicWand/MDK-ARM/STM32F407_AI/STM32F407_AI.build_log.htm
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/Middlewares/ST/AI/Inc/ai_common_config.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * @file ai_common_config.h
4 | * @author AST Embedded Analytics Research Platform
5 | * @date 18-May-2018
6 | * @brief header file of AI platform common compile configuration defines
7 | ******************************************************************************
8 | * @attention
9 | *
10 | * © Copyright (c) 2018 STMicroelectronics.
11 | * All rights reserved.
12 | *
13 | * This software component is licensed by ST under Ultimate Liberty license
14 | * SLA0044, the "License"; You may not use this file except in compliance with
15 | * the License. You may obtain a copy of the License at:
16 | * www.st.com/SLA0044
17 | *
18 | ******************************************************************************
19 | */
20 | #ifndef __AI_COMMON_CONFIG_H_
21 | #define __AI_COMMON_CONFIG_H_
22 | #pragma once
23 |
24 | /*!
25 | * @defgroup layers Layers Compilation Config Definitions
26 | * @brief definition
27 | *
28 | */
29 |
30 | #define HAS_PROFILE_FLOAT
31 | #define HAS_PROFILE_FIXED
32 |
33 |
34 | #endif /*__AI_COMMON_CONFIG_H_*/
35 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/Middlewares/ST/AI/Lib/MDK/ARMCortexM33/NetworkRuntime500_CM33_Keil.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/Middlewares/ST/AI/Lib/MDK/ARMCortexM33/NetworkRuntime500_CM33_Keil.lib
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/Middlewares/ST/AI/Lib/MDK/ARMCortexM4/NetworkRuntime500_CM4_Keil.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/Middlewares/ST/AI/Lib/MDK/ARMCortexM4/NetworkRuntime500_CM4_Keil.lib
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/Middlewares/ST/AI/Lib/MDK/ARMCortexM7/NetworkRuntime500_CM7_Keil.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/Middlewares/ST/AI/Lib/MDK/ARMCortexM7/NetworkRuntime500_CM7_Keil.lib
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/Middlewares/ST/AI/Lib/MDK/STM32H7/NetworkRuntime500_CM7_Keil.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/Middlewares/ST/AI/Lib/MDK/STM32H7/NetworkRuntime500_CM7_Keil.lib
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/.gitignore:
--------------------------------------------------------------------------------
1 | utensor/CTestTestfile.cmake
2 | utensor/cmake_install.cmake
3 | utensor/CMakeFiles/
4 | utensor/Makefile
5 | utensor/CMakeCache.txt
6 | utensor.lib
7 | utensor/libutensor.a
8 | *.o
9 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/.mbedignore:
--------------------------------------------------------------------------------
1 | utensor/CMakeFiles/
2 | tensorflow/lite/micro/mbed/
3 | porting/arduino/
4 | porting/ecm3532/
5 | porting/himax/
6 | porting/posix/
7 | porting/silabs/
8 | porting/stm32-cubeai/
9 | porting/zephyr/
10 | classifier/ei_run_classifier_c*
11 | third_party/arc_mli_package/
12 | tensorflow-lite/
13 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/CMSIS/.clang-format:
--------------------------------------------------------------------------------
1 | "DisableFormat": true
2 | "SortIncludes": false
3 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/CMSIS/DSP/Source/BasicMathFunctions/BasicMathFunctionsF16.c:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Project: CMSIS DSP Library
3 | * Title: BasicMathFunctionsF16.c
4 | * Description: Combination of all basic math function f16 source files.
5 | *
6 | * $Date: 20. April 2020
7 | * $Revision: V1.1.0
8 | *
9 | * Target Processor: Cortex-M cores
10 | * -------------------------------------------------------------------- */
11 | /*
12 | * Copyright (C) 2019-2020 ARM Limited or its affiliates. All rights reserved.
13 | *
14 | * SPDX-License-Identifier: Apache-2.0
15 | *
16 | * Licensed under the Apache License, Version 2.0 (the License); you may
17 | * not use this file except in compliance with the License.
18 | * You may obtain a copy of the License at
19 | *
20 | * www.apache.org/licenses/LICENSE-2.0
21 | *
22 | * Unless required by applicable law or agreed to in writing, software
23 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT
24 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
25 | * See the License for the specific language governing permissions and
26 | * limitations under the License.
27 | */
28 |
29 | #include "arm_abs_f16.c"
30 | #include "arm_add_f16.c"
31 | #include "arm_dot_prod_f16.c"
32 | #include "arm_mult_f16.c"
33 | #include "arm_negate_f16.c"
34 | #include "arm_offset_f16.c"
35 | #include "arm_scale_f16.c"
36 | #include "arm_sub_f16.c"
37 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/CMSIS/DSP/Source/CommonTables/CommonTablesF16.c:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Project: CMSIS DSP Library
3 | * Title: CommonTables.c
4 | * Description: Combination of all common table source files.
5 | *
6 | * $Date: 08. January 2020
7 | * $Revision: V1.1.0
8 | *
9 | * Target Processor: Cortex-M cores
10 | * -------------------------------------------------------------------- */
11 | /*
12 | * Copyright (C) 2019-2020 ARM Limited or its affiliates. All rights reserved.
13 | *
14 | * SPDX-License-Identifier: Apache-2.0
15 | *
16 | * Licensed under the Apache License, Version 2.0 (the License); you may
17 | * not use this file except in compliance with the License.
18 | * You may obtain a copy of the License at
19 | *
20 | * www.apache.org/licenses/LICENSE-2.0
21 | *
22 | * Unless required by applicable law or agreed to in writing, software
23 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT
24 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
25 | * See the License for the specific language governing permissions and
26 | * limitations under the License.
27 | */
28 |
29 | #include "arm_common_tables_f16.c"
30 | #include "arm_const_structs_f16.c"
31 | #include "arm_mve_tables_f16.c"
32 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/CMSIS/DSP/Source/TransformFunctions/TransformFunctionsF16.c:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Project: CMSIS DSP Library
3 | * Title: TransformFunctionsF16.c
4 | * Description: Combination of all transform function f16 source files.
5 | *
6 | * $Date: 20. April 2020
7 | * $Revision: V1.0.0
8 | *
9 | * Target Processor: Cortex-M cores
10 | * -------------------------------------------------------------------- */
11 | /*
12 | * Copyright (C) 2019 ARM Limited or its affiliates. All rights reserved.
13 | *
14 | * SPDX-License-Identifier: Apache-2.0
15 | *
16 | * Licensed under the Apache License, Version 2.0 (the License); you may
17 | * not use this file except in compliance with the License.
18 | * You may obtain a copy of the License at
19 | *
20 | * www.apache.org/licenses/LICENSE-2.0
21 | *
22 | * Unless required by applicable law or agreed to in writing, software
23 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT
24 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
25 | * See the License for the specific language governing permissions and
26 | * limitations under the License.
27 | */
28 |
29 | #include "arm_cfft_f16.c"
30 | #include "arm_cfft_init_f16.c"
31 | #include "arm_cfft_radix2_f16.c"
32 | #include "arm_cfft_radix4_f16.c"
33 |
34 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/CMSIS/sources.txt:
--------------------------------------------------------------------------------
1 | Created by update_tflite.sh
2 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/LICENSE:
--------------------------------------------------------------------------------
1 | Unless specifically indicated otherwise in a file, files are licensed under the Apache 2.0 license, as can be found in: LICENSE-apache-2.0.txt
2 |
3 | Folders containing files under different permissive license than Apache 2.0 are listed below. Each folder contains its own license specified for its files.
4 |
5 | * CMSIS - Apache 2.0
6 | * dsp/kissfft - BSD-3-Clause
7 | * dsp/dct - MIT
8 | * tensorflow - Apache 2.0
9 | * third_party/flatbuffers - Apache 2.0
10 | * third_party/gemmlowp - Apache 2.0
11 | * utensor - Apache 2.0
12 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/README.md:
--------------------------------------------------------------------------------
1 | # Edge Impulse DSP and Inferencing SDK
2 |
3 | Portable library for digital signal processing and machine learning inferencing. This repository contains the device implementation in C++ for both processing and learning blocks in [Edge Impulse](https://www.edgeimpulse.com).
4 |
5 | [Documentation](https://docs.edgeimpulse.com/reference#inferencing-sdk)
6 |
7 | ## Develop locally
8 |
9 | If you want to develop locally the easiest is to grab the [example-standalone-inferencing](https://github.com/edgeimpulse/example-standalone-inferencing) (Desktop) or [example-standalone-inferencing-mbed](https://github.com/edgeimpulse/example-standalone-inferencing-mbed) (ST IoT Discovery Kit, f.e. to test CMSIS-DSP / CMSIS-NN integration) example applications, add your Edge Impulse project (use the C++ Library export option), then symlink this repository in.
10 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/classifier/ei_run_classifier_image.h:
--------------------------------------------------------------------------------
1 | #ifndef _EDGE_IMPULSE_RUN_CLASSIFIER_IMAGE_H_
2 | #define _EDGE_IMPULSE_RUN_CLASSIFIER_IMAGE_H_
3 |
4 | #include "ei_run_classifier.h"
5 |
6 |
7 |
8 | #endif // _EDGE_IMPULSE_RUN_CLASSIFIER_IMAGE_H_
9 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/cmake/zephyr/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.13.1)
2 |
3 | set(CMAKE_CXX_STANDARD 11)
4 | set(CMAKE_CXX_STANDARD_REQUIRED ON)
5 |
6 | set(EI_SDK_FOLDER ../../)
7 |
8 | include(${EI_SDK_FOLDER}/cmake/utils.cmake)
9 |
10 | target_include_directories(app PRIVATE
11 | ${EI_SDK_FOLDER}
12 | ${EI_SDK_FOLDER}/third_party/ruy
13 | ${EI_SDK_FOLDER}/third_party/gemmlowp
14 | ${EI_SDK_FOLDER}/third_party/flatbuffers/include
15 | ${EI_SDK_FOLDER}/third_party
16 | ${EI_SDK_FOLDER}/tensorflow
17 | ${EI_SDK_FOLDER}/dsp
18 | ${EI_SDK_FOLDER}/classifier
19 | ${EI_SDK_FOLDER}/anomaly
20 | ${EI_SDK_FOLDER}/CMSIS/NN/Include
21 | ${EI_SDK_FOLDER}/CMSIS/DSP/PrivateInclude
22 | ${EI_SDK_FOLDER}/CMSIS/DSP/Include
23 | ${EI_SDK_FOLDER}/CMSIS/Core/Include
24 | )
25 |
26 | RECURSIVE_FIND_FILE(SOURCE_FILES "${EI_SDK_FOLDER}" "*.cpp")
27 | RECURSIVE_FIND_FILE(CC_FILES "${EI_SDK_FOLDER}" "*.cc")
28 | RECURSIVE_FIND_FILE(S_FILES "${EI_SDK_FOLDER}" "*.s")
29 | RECURSIVE_FIND_FILE(C_FILES "${EI_SDK_FOLDER}" "*.c")
30 | list(APPEND SOURCE_FILES ${S_FILES})
31 | list(APPEND SOURCE_FILES ${C_FILES})
32 | list(APPEND SOURCE_FILES ${CC_FILES})
33 |
34 | target_sources(app PRIVATE ${SOURCE_FILES})
35 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/dsp/dct/.clang-format:
--------------------------------------------------------------------------------
1 | "DisableFormat": true
2 | "SortIncludes": false
3 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/dsp/dct/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2018 Project Nayuki. (MIT License)
2 | https://www.nayuki.io/page/fast-discrete-cosine-transform-algorithms
3 |
4 | Permission is hereby granted, free of charge, to any person obtaining a copy of
5 | this software and associated documentation files (the "Software"), to deal in
6 | the Software without restriction, including without limitation the rights to
7 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 | the Software, and to permit persons to whom the Software is furnished to do so,
9 | subject to the following conditions:
10 | - The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 | - The Software is provided "as is", without warranty of any kind, express or
13 | implied, including but not limited to the warranties of merchantability,
14 | fitness for a particular purpose and noninfringement. In no event shall the
15 | authors or copyright holders be liable for any claim, damages or other
16 | liability, whether in an action of contract, tort or otherwise, arising from,
17 | out of or in connection with the Software or the use or other dealings in the
18 | Software.
19 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/dsp/dct/README.md:
--------------------------------------------------------------------------------
1 | # Fast discrete cosine transform algorithms (C)
2 |
3 | DCT type 2 and type 3 algorithms based on https://www.nayuki.io/page/fast-discrete-cosine-transform-algorithms. These are modified to use KissFFT or hardware accelerated RFFT support with CMSIS-DSP.
4 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/dsp/dct/fast-dct-fft.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Fast discrete cosine transform algorithms (C)
3 | *
4 | * Copyright (c) 2018 Project Nayuki. (MIT License)
5 | * https://www.nayuki.io/page/fast-discrete-cosine-transform-algorithms
6 | *
7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of
8 | * this software and associated documentation files (the "Software"), to deal in
9 | * the Software without restriction, including without limitation the rights to
10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
11 | * the Software, and to permit persons to whom the Software is furnished to do so,
12 | * subject to the following conditions:
13 | * - The above copyright notice and this permission notice shall be included in
14 | * all copies or substantial portions of the Software.
15 | * - The Software is provided "as is", without warranty of any kind, express or
16 | * implied, including but not limited to the warranties of merchantability,
17 | * fitness for a particular purpose and noninfringement. In no event shall the
18 | * authors or copyright holders be liable for any claim, damages or other
19 | * liability, whether in an action of contract, tort or otherwise, arising from,
20 | * out of or in connection with the Software or the use or other dealings in the
21 | * Software.
22 | */
23 |
24 | #pragma once
25 |
26 | #include
27 | #include
28 | #include "../kissfft/kiss_fft.h"
29 |
30 | namespace ei {
31 | namespace dct {
32 |
33 | int transform(float vector[], size_t len);
34 | int inverse_transform(float vector[], size_t len);
35 |
36 | } // namespace dct
37 | } // namespace ei
38 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/dsp/ei_utils.h:
--------------------------------------------------------------------------------
1 | /* Edge Impulse inferencing library
2 | * Copyright (c) 2020 EdgeImpulse Inc.
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 | * SOFTWARE.
21 | */
22 | #pragma once
23 |
24 | #define ARRAY_LENGTH(array) (sizeof((array))/sizeof((array)[0]))
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/dsp/kissfft/.clang-format:
--------------------------------------------------------------------------------
1 | "DisableFormat": true
2 | "SortIncludes": false
3 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/dsp/kissfft/LICENSE:
--------------------------------------------------------------------------------
1 | Revised BSD License, see COPYING for verbiage.
2 | Basically, "free to use&change, give credit where due, no guarantees"
3 | Note this license is compatible with GPL at one end of the spectrum and closed, commercial software at
4 | the other end. See http://www.fsf.org/licensing/licenses
5 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/dsp/kissfft/README.md:
--------------------------------------------------------------------------------
1 | # KissFFT
2 |
3 | Software FFT library used for devices that do not have hardware accelerated RFFT, or where we want to use mixed-radix FFT. Based off of https://github.com/mborgerding/kissfft.
4 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/dsp/kissfft/kiss_fftr.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2003-2004, Mark Borgerding. All rights reserved.
3 | * This file is part of KISS FFT - https://github.com/mborgerding/kissfft
4 | *
5 | * SPDX-License-Identifier: BSD-3-Clause
6 | * See COPYING file for more information.
7 | */
8 |
9 | #ifndef KISS_FTR_H
10 | #define KISS_FTR_H
11 |
12 | #include "kiss_fft.h"
13 | #ifdef __cplusplus
14 | extern "C" {
15 | #endif
16 |
17 |
18 | /*
19 |
20 | Real optimized version can save about 45% cpu time vs. complex fft of a real seq.
21 |
22 |
23 |
24 | */
25 |
26 | typedef struct kiss_fftr_state *kiss_fftr_cfg;
27 |
28 |
29 | kiss_fftr_cfg kiss_fftr_alloc(int nfft,int inverse_fft,void * mem, size_t * lenmem, size_t * memallocated = NULL);
30 | /*
31 | nfft must be even
32 |
33 | If you don't care to allocate space, use mem = lenmem = NULL
34 | */
35 |
36 |
37 | void kiss_fftr(kiss_fftr_cfg cfg,const kiss_fft_scalar *timedata,kiss_fft_cpx *freqdata);
38 | /*
39 | input timedata has nfft scalar points
40 | output freqdata has nfft/2+1 complex points
41 | */
42 |
43 | void kiss_fftri(kiss_fftr_cfg cfg,const kiss_fft_cpx *freqdata,kiss_fft_scalar *timedata);
44 | /*
45 | input freqdata has nfft/2+1 complex points
46 | output timedata has nfft scalar points
47 | */
48 |
49 | #define kiss_fftr_free KISS_FFT_FREE
50 |
51 | #ifdef __cplusplus
52 | }
53 | #endif
54 | #endif
55 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/dsp/memory.cpp:
--------------------------------------------------------------------------------
1 | /* Edge Impulse inferencing library
2 | * Copyright (c) 2021 EdgeImpulse Inc.
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 | * SOFTWARE.
21 | */
22 |
23 | #include "memory.hpp"
24 |
25 | size_t ei_memory_in_use = 0;
26 | size_t ei_memory_peak_use = 0;
27 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/dsp/spectral/spectral.hpp:
--------------------------------------------------------------------------------
1 | /* Edge Impulse inferencing library
2 | * Copyright (c) 2021 EdgeImpulse Inc.
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 | * SOFTWARE.
21 | */
22 |
23 | #ifndef _EIDSP_SPECTRAL_SPECTRAL_H_
24 | #define _EIDSP_SPECTRAL_SPECTRAL_H_
25 |
26 | #include "../config.hpp"
27 | #include "processing.hpp"
28 | #include "feature.hpp"
29 |
30 | #endif // _EIDSP_SPECTRAL_SPECTRAL_H_
31 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/dsp/speechpy/speechpy.hpp:
--------------------------------------------------------------------------------
1 | /* Edge Impulse inferencing library
2 | * Copyright (c) 2021 EdgeImpulse Inc.
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 | * SOFTWARE.
21 | */
22 |
23 | #ifndef _EIDSP_SPEECHPY_SPEECHPY_H_
24 | #define _EIDSP_SPEECHPY_SPEECHPY_H_
25 |
26 | #include "../config.hpp"
27 | #include "feature.hpp"
28 | #include "functions.hpp"
29 | #include "processing.hpp"
30 |
31 | #endif // _EIDSP_SPEECHPY_SPEECHPY_H_
32 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/porting/.clang-format:
--------------------------------------------------------------------------------
1 | "DisableFormat": true
2 | "SortIncludes": false
3 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/porting/himax/debug_log.cpp:
--------------------------------------------------------------------------------
1 | /* Edge Impulse inferencing library
2 | * Copyright (c) 2021 EdgeImpulse Inc.
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 | * SOFTWARE.
21 | */
22 |
23 | #include "../ei_classifier_porting.h"
24 | #if EI_PORTING_HIMAX == 1
25 |
26 | #include "tensorflow/lite/micro/debug_log.h"
27 | #include
28 | #include
29 |
30 | // Redirect TFLite DebugLog to ei_printf
31 | #if defined(__cplusplus) && EI_C_LINKAGE == 1
32 | extern "C"
33 | #endif // defined(__cplusplus) && EI_C_LINKAGE == 1
34 | void DebugLog(const char* s) {
35 | ei_printf("%s", s);
36 | }
37 |
38 | #endif // EI_PORTING_HIMAX == 1
39 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/porting/mingw32/debug_log.cpp:
--------------------------------------------------------------------------------
1 | /* Edge Impulse inferencing library
2 | * Copyright (c) 2020 EdgeImpulse Inc.
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 | * SOFTWARE.
21 | */
22 |
23 | #include "../ei_classifier_porting.h"
24 | #if EI_PORTING_MINGW32 == 1
25 |
26 | #include "tensorflow/lite/micro/debug_log.h"
27 | #include
28 | #include
29 |
30 | // Redirect TFLite DebugLog to ei_printf
31 | #if defined(__cplusplus) && EI_C_LINKAGE == 1
32 | extern "C"
33 | #endif // defined(__cplusplus) && EI_C_LINKAGE == 1
34 | void DebugLog(const char* s) {
35 | ei_printf("%s", s);
36 | }
37 |
38 | #endif // EI_PORTING_MINGW32 == 1
39 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/porting/stm32-cubeai/debug_log.cpp:
--------------------------------------------------------------------------------
1 | /* Edge Impulse inferencing library
2 | * Copyright (c) 2021 EdgeImpulse Inc.
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 | * SOFTWARE.
21 | */
22 |
23 | #include "../ei_classifier_porting.h"
24 | #if EI_PORTING_STM32_CUBEAI == 1
25 |
26 | #include "tensorflow/lite/micro/debug_log.h"
27 | #include
28 | #include
29 |
30 | // Redirect TFLite DebugLog to ei_printf
31 | #if defined(__cplusplus) && EI_C_LINKAGE == 1
32 | extern "C"
33 | #endif // defined(__cplusplus) && EI_C_LINKAGE == 1
34 | void DebugLog(const char* s) {
35 | ei_printf("%s", s);
36 | }
37 |
38 | #endif // EI_PORTING_STM32_CUBEAI == 1
39 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/porting/zephyr/debug_log.cpp:
--------------------------------------------------------------------------------
1 | /* Edge Impulse inferencing library
2 | * Copyright (c) 2021 EdgeImpulse Inc.
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 | * SOFTWARE.
21 | */
22 |
23 | #include "../ei_classifier_porting.h"
24 | #if EI_PORTING_ZEPHYR == 1
25 |
26 | #include "tensorflow/lite/micro/debug_log.h"
27 | #include
28 | #include
29 |
30 | // Route back to `ei_printf`
31 | #if defined(__cplusplus) && EI_C_LINKAGE == 1
32 | extern "C"
33 | #endif // defined(__cplusplus) && EI_C_LINKAGE == 1
34 | void DebugLog(const char* s) {
35 | ei_printf("%s", s);
36 | }
37 |
38 | #endif // #if EI_PORTING_ZEPHYR == 1
39 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/sources.txt:
--------------------------------------------------------------------------------
1 | tensorflow and third_party folders based on: https://github.com/tensorflow/tensorflow/#c903b4607821a03c36c17b0befa2535c7dd0e066
2 | TensorFlow source was prepared using `make -f tensorflow/lite/micro/tools/make/Makefile generate_projects`
3 | The folders were taken from `tensorflow/lite/micro/tools/make/gen/osx_x86_64/prj/hello_world/make`
4 | These files and directories were then deleted:
5 | - `tensorflow/lite/micro/debug_log.cc`
6 | - `tensorflow/lite/micro/examples/hello_world`
7 | CMSIS-DSP based on: https://github.com/ARM-software/CMSIS_5/tree/4d378e81968c6bec5441a42885b24db7cf189bca
8 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/tensorflow/lite/micro/debug_log.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2018 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef TENSORFLOW_LITE_MICRO_DEBUG_LOG_H_
16 | #define TENSORFLOW_LITE_MICRO_DEBUG_LOG_H_
17 |
18 | // This function should be implemented by each target platform, and provide a
19 | // way for strings to be output to some text stream. For more information, see
20 | // tensorflow/lite/micro/debug_log.cc.
21 | #if defined(__cplusplus) && EI_C_LINKAGE == 1
22 | extern "C" void DebugLog(const char* s);
23 | #else
24 | void DebugLog(const char* s);
25 | #endif // defined(__cplusplus) && EI_C_LINKAGE == 1
26 |
27 | #endif // TENSORFLOW_LITE_MICRO_DEBUG_LOG_H_
28 |
29 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/third_party/.clang-format:
--------------------------------------------------------------------------------
1 | "DisableFormat": true
2 | "SortIncludes": false
3 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/third_party/arc_mli_package/LICENSE:
--------------------------------------------------------------------------------
1 | embARC Machine Learning Inference (embARC MLI) library
2 |
3 | Copyright (c) 2019-2020 Synopsys, Inc. All rights reserved.
4 |
5 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
6 |
7 | 1) Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
8 |
9 | 2) Redistributions in binary form 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.
10 |
11 | 3) Neither the name of the Synopsys, Inc., nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
12 |
13 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER 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.
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/third_party/arc_mli_package/include/api/mli_helpers_api.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/third_party/arc_mli_package/include/api/mli_helpers_api.h
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/edge-impulse-sdk/third_party/arc_mli_package/include/mli_api.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2019-2020, Synopsys, Inc.
3 | * All rights reserved.
4 | *
5 | * This source code is licensed under the BSD-3-Clause license found in
6 | * the LICENSE file in the root directory of this source tree.
7 | *
8 | */
9 |
10 | /**
11 | * @file MLI Library API
12 | *
13 | * @brief This header includes all necessary files for using MLI Library
14 | */
15 |
16 | #ifndef _MLI_API_H_
17 | #define _MLI_API_H_
18 |
19 | #include "mli_types.h"
20 |
21 | #include "api/mli_helpers_api.h"
22 | #include "api/mli_kernels_api.h"
23 | #include "api/mli_mov_api.h"
24 |
25 | #endif //#ifndef _MLI_API_H_
26 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/Middlewares/Third_Party/MachineLearning/edgeimpulse/model-parameters/anomaly_types.h:
--------------------------------------------------------------------------------
1 | /* Generated by Edge Impulse
2 | *
3 | * Permission is hereby granted, free of charge, to any person obtaining a copy
4 | * of this software and associated documentation files (the "Software"), to deal
5 | * in the Software without restriction, including without limitation the rights
6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | * copies of the Software, and to permit persons to whom the Software is
8 | * furnished to do so, subject to the following conditions:
9 | *
10 | * The above copyright notice and this permission notice shall be included in
11 | * all copies or substantial portions of the Software.
12 | *
13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19 | * SOFTWARE.
20 | */
21 |
22 | #ifndef _EI_CLASSIFIER_ANOMALY_TYPES_HEADER_H_
23 | #define _EI_CLASSIFIER_ANOMALY_TYPES_HEADER_H_
24 |
25 | #define EI_CLASSIFIER_HAS_ANOMALY 1
26 |
27 | const uint16_t EI_CLASSIFIER_ANOM_AXIS[] { 0, 11, 22 };
28 | #define EI_CLASSIFIER_ANOM_AXIS_SIZE 3
29 | #define EI_CLASSIFIER_ANOM_CLUSTER_COUNT 32
30 |
31 | typedef struct {
32 | float centroid[EI_CLASSIFIER_ANOM_AXIS_SIZE];
33 | float max_error;
34 | } ei_classifier_anom_cluster_t;
35 |
36 | #endif // _EI_CLASSIFIER_ANOMALY_TYPES_HEADER_H_
37 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.13.1)
2 |
3 | set(MODEL_FOLDER .)
4 |
5 | include(${MODEL_FOLDER}/edge-impulse-sdk/cmake/utils.cmake)
6 |
7 | add_subdirectory(${MODEL_FOLDER}/edge-impulse-sdk/cmake/zephyr)
8 |
9 | target_include_directories(app PRIVATE
10 | ${MODEL_FOLDER}
11 | ${MODEL_FOLDER}/tflite-model
12 | ${MODEL_FOLDER}/model-parameters
13 | )
14 | include_directories(${INCLUDES})
15 |
16 | # find model source files
17 | RECURSIVE_FIND_FILE(MODEL_FILES "${MODEL_FOLDER}/tflite-model" "*.cpp")
18 | list(APPEND SOURCE_FILES ${MODEL_FILES})
19 |
20 | # add all sources to the project
21 | target_sources(app PRIVATE ${SOURCE_FILES})
22 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/.gitignore:
--------------------------------------------------------------------------------
1 | utensor/CTestTestfile.cmake
2 | utensor/cmake_install.cmake
3 | utensor/CMakeFiles/
4 | utensor/Makefile
5 | utensor/CMakeCache.txt
6 | utensor.lib
7 | utensor/libutensor.a
8 | *.o
9 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/.mbedignore:
--------------------------------------------------------------------------------
1 | utensor/CMakeFiles/
2 | tensorflow/lite/micro/mbed/
3 | porting/arduino/
4 | porting/ecm3532/
5 | porting/himax/
6 | porting/posix/
7 | porting/silabs/
8 | porting/stm32-cubeai/
9 | porting/zephyr/
10 | classifier/ei_run_classifier_c*
11 | third_party/arc_mli_package/
12 | tensorflow-lite/
13 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/CMSIS/.clang-format:
--------------------------------------------------------------------------------
1 | "DisableFormat": true
2 | "SortIncludes": false
3 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/CMSIS/DSP/Source/BasicMathFunctions/BasicMathFunctionsF16.c:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Project: CMSIS DSP Library
3 | * Title: BasicMathFunctionsF16.c
4 | * Description: Combination of all basic math function f16 source files.
5 | *
6 | * $Date: 20. April 2020
7 | * $Revision: V1.1.0
8 | *
9 | * Target Processor: Cortex-M cores
10 | * -------------------------------------------------------------------- */
11 | /*
12 | * Copyright (C) 2019-2020 ARM Limited or its affiliates. All rights reserved.
13 | *
14 | * SPDX-License-Identifier: Apache-2.0
15 | *
16 | * Licensed under the Apache License, Version 2.0 (the License); you may
17 | * not use this file except in compliance with the License.
18 | * You may obtain a copy of the License at
19 | *
20 | * www.apache.org/licenses/LICENSE-2.0
21 | *
22 | * Unless required by applicable law or agreed to in writing, software
23 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT
24 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
25 | * See the License for the specific language governing permissions and
26 | * limitations under the License.
27 | */
28 |
29 | #include "arm_abs_f16.c"
30 | #include "arm_add_f16.c"
31 | #include "arm_dot_prod_f16.c"
32 | #include "arm_mult_f16.c"
33 | #include "arm_negate_f16.c"
34 | #include "arm_offset_f16.c"
35 | #include "arm_scale_f16.c"
36 | #include "arm_sub_f16.c"
37 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/CMSIS/DSP/Source/CommonTables/CommonTablesF16.c:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Project: CMSIS DSP Library
3 | * Title: CommonTables.c
4 | * Description: Combination of all common table source files.
5 | *
6 | * $Date: 08. January 2020
7 | * $Revision: V1.1.0
8 | *
9 | * Target Processor: Cortex-M cores
10 | * -------------------------------------------------------------------- */
11 | /*
12 | * Copyright (C) 2019-2020 ARM Limited or its affiliates. All rights reserved.
13 | *
14 | * SPDX-License-Identifier: Apache-2.0
15 | *
16 | * Licensed under the Apache License, Version 2.0 (the License); you may
17 | * not use this file except in compliance with the License.
18 | * You may obtain a copy of the License at
19 | *
20 | * www.apache.org/licenses/LICENSE-2.0
21 | *
22 | * Unless required by applicable law or agreed to in writing, software
23 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT
24 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
25 | * See the License for the specific language governing permissions and
26 | * limitations under the License.
27 | */
28 |
29 | #include "arm_common_tables_f16.c"
30 | #include "arm_const_structs_f16.c"
31 | #include "arm_mve_tables_f16.c"
32 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/CMSIS/DSP/Source/ControllerFunctions/arm_pid_reset_q15.c:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Project: CMSIS DSP Library
3 | * Title: arm_pid_reset_q15.c
4 | * Description: Q15 PID Control reset function
5 | *
6 | * $Date: 18. March 2019
7 | * $Revision: V1.6.0
8 | *
9 | * Target Processor: Cortex-M cores
10 | * -------------------------------------------------------------------- */
11 | /*
12 | * Copyright (C) 2010-2019 ARM Limited or its affiliates. All rights reserved.
13 | *
14 | * SPDX-License-Identifier: Apache-2.0
15 | *
16 | * Licensed under the Apache License, Version 2.0 (the License); you may
17 | * not use this file except in compliance with the License.
18 | * You may obtain a copy of the License at
19 | *
20 | * www.apache.org/licenses/LICENSE-2.0
21 | *
22 | * Unless required by applicable law or agreed to in writing, software
23 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT
24 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
25 | * See the License for the specific language governing permissions and
26 | * limitations under the License.
27 | */
28 |
29 | #include "edge-impulse-sdk/CMSIS/DSP/Include/arm_math.h"
30 |
31 | /**
32 | @addtogroup PID
33 | @{
34 | */
35 |
36 | /**
37 | @brief Reset function for the Q15 PID Control.
38 | @param[in,out] S points to an instance of the Q15 PID structure
39 | @return none
40 |
41 | @par Details
42 | The function resets the state buffer to zeros.
43 | */
44 |
45 | void arm_pid_reset_q15(
46 | arm_pid_instance_q15 * S)
47 | {
48 | /* Reset state to zero, The size will be always 3 samples */
49 | memset(S->state, 0, 3U * sizeof(q15_t));
50 | }
51 |
52 | /**
53 | @} end of PID group
54 | */
55 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/CMSIS/DSP/Source/ControllerFunctions/arm_pid_reset_q31.c:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Project: CMSIS DSP Library
3 | * Title: arm_pid_reset_q31.c
4 | * Description: Q31 PID Control reset function
5 | *
6 | * $Date: 18. March 2019
7 | * $Revision: V1.6.0
8 | *
9 | * Target Processor: Cortex-M cores
10 | * -------------------------------------------------------------------- */
11 | /*
12 | * Copyright (C) 2010-2019 ARM Limited or its affiliates. All rights reserved.
13 | *
14 | * SPDX-License-Identifier: Apache-2.0
15 | *
16 | * Licensed under the Apache License, Version 2.0 (the License); you may
17 | * not use this file except in compliance with the License.
18 | * You may obtain a copy of the License at
19 | *
20 | * www.apache.org/licenses/LICENSE-2.0
21 | *
22 | * Unless required by applicable law or agreed to in writing, software
23 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT
24 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
25 | * See the License for the specific language governing permissions and
26 | * limitations under the License.
27 | */
28 |
29 | #include "edge-impulse-sdk/CMSIS/DSP/Include/arm_math.h"
30 |
31 | /**
32 | @addtogroup PID
33 | @{
34 | */
35 |
36 | /**
37 | @brief Reset function for the Q31 PID Control.
38 | @param[in,out] S points to an instance of the Q31 PID structure
39 | @return none
40 |
41 | @par Details
42 | The function resets the state buffer to zeros.
43 | */
44 |
45 | void arm_pid_reset_q31(
46 | arm_pid_instance_q31 * S)
47 | {
48 | /* Reset state to zero, The size will be always 3 samples */
49 | memset(S->state, 0, 3U * sizeof(q31_t));
50 | }
51 |
52 | /**
53 | @} end of PID group
54 | */
55 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/CMSIS/DSP/Source/SupportFunctions/arm_merge_sort_init_f32.c:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Project: CMSIS DSP Library
3 | * Title: arm_merge_sort_init_f32.c
4 | * Description: Floating point merge sort initialization function
5 | *
6 | * $Date: 2019
7 | * $Revision: V1.6.0
8 | *
9 | * Target Processor: Cortex-M and Cortex-A cores
10 | * -------------------------------------------------------------------- */
11 | /*
12 | * Copyright (C) 2010-2019 ARM Limited or its affiliates. All rights reserved.
13 | *
14 | * SPDX-License-Identifier: Apache-2.0
15 | *
16 | * Licensed under the Apache License, Version 2.0 (the License); you may
17 | * not use this file except in compliance with the License.
18 | * You may obtain a copy of the License at
19 | *
20 | * www.apache.org/licenses/LICENSE-2.0
21 | *
22 | * Unless required by applicable law or agreed to in writing, software
23 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT
24 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
25 | * See the License for the specific language governing permissions and
26 | * limitations under the License.
27 | */
28 |
29 | #include "edge-impulse-sdk/CMSIS/DSP/Include/arm_math.h"
30 |
31 | /**
32 | @ingroup groupSupport
33 | */
34 |
35 | /**
36 | @addtogroup Sorting
37 | @{
38 | */
39 |
40 |
41 | /**
42 | * @param[in,out] S points to an instance of the sorting structure.
43 | * @param[in] dir Sorting order.
44 | * @param[in] buffer Working buffer.
45 | */
46 | void arm_merge_sort_init_f32(arm_merge_sort_instance_f32 * S, arm_sort_dir dir, float32_t * buffer)
47 | {
48 | S->dir = dir;
49 | S->buffer = buffer;
50 | }
51 | /**
52 | @} end of Sorting group
53 | */
54 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/CMSIS/DSP/Source/TransformFunctions/TransformFunctionsF16.c:
--------------------------------------------------------------------------------
1 | /* ----------------------------------------------------------------------
2 | * Project: CMSIS DSP Library
3 | * Title: TransformFunctionsF16.c
4 | * Description: Combination of all transform function f16 source files.
5 | *
6 | * $Date: 20. April 2020
7 | * $Revision: V1.0.0
8 | *
9 | * Target Processor: Cortex-M cores
10 | * -------------------------------------------------------------------- */
11 | /*
12 | * Copyright (C) 2019 ARM Limited or its affiliates. All rights reserved.
13 | *
14 | * SPDX-License-Identifier: Apache-2.0
15 | *
16 | * Licensed under the Apache License, Version 2.0 (the License); you may
17 | * not use this file except in compliance with the License.
18 | * You may obtain a copy of the License at
19 | *
20 | * www.apache.org/licenses/LICENSE-2.0
21 | *
22 | * Unless required by applicable law or agreed to in writing, software
23 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT
24 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
25 | * See the License for the specific language governing permissions and
26 | * limitations under the License.
27 | */
28 |
29 | #include "arm_cfft_f16.c"
30 | #include "arm_cfft_init_f16.c"
31 | #include "arm_cfft_radix2_f16.c"
32 | #include "arm_cfft_radix4_f16.c"
33 |
34 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/CMSIS/NN/Source/ReshapeFunctions/arm_reshape_s8.c:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010-2019 Arm Limited or its affiliates. All rights reserved.
3 | *
4 | * SPDX-License-Identifier: Apache-2.0
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the License); you may
7 | * not use this file except in compliance with the License.
8 | * You may obtain a copy of the License at
9 | *
10 | * www.apache.org/licenses/LICENSE-2.0
11 | *
12 | * Unless required by applicable law or agreed to in writing, software
13 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT
14 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 | * See the License for the specific language governing permissions and
16 | * limitations under the License.
17 | */
18 |
19 | /* ----------------------------------------------------------------------
20 | * Project: CMSIS NN Library
21 | * Title: arm_reshape_s8.c
22 | * Description: Reshape a s8 vector
23 | *
24 | * $Date: September 2019
25 | * $Revision: V.1.0.0
26 | *
27 | * Target Processor: Cortex-M cores
28 | *
29 | * -------------------------------------------------------------------- */
30 |
31 | #include "edge-impulse-sdk/CMSIS/NN/Include/arm_nnfunctions.h"
32 |
33 | /**
34 | * @ingroup groupNN
35 | */
36 |
37 | /**
38 | * @addtogroup Reshape
39 | * @{
40 | */
41 |
42 | /**
43 | * Basic s8 reshape function.
44 | *
45 | * Refer header file for details.
46 | *
47 | */
48 |
49 | void arm_reshape_s8(const int8_t *input,
50 | int8_t *output,
51 | const uint32_t total_size)
52 | {
53 | memcpy(output, input, total_size);
54 | }
55 |
56 | /**
57 | * @} end of Reshape group
58 | */
59 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/CMSIS/sources.txt:
--------------------------------------------------------------------------------
1 | Created by update_tflite.sh
2 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/LICENSE:
--------------------------------------------------------------------------------
1 | Unless specifically indicated otherwise in a file, files are licensed under the Apache 2.0 license, as can be found in: LICENSE-apache-2.0.txt
2 |
3 | Folders containing files under different permissive license than Apache 2.0 are listed below. Each folder contains its own license specified for its files.
4 |
5 | * CMSIS - Apache 2.0
6 | * dsp/kissfft - BSD-3-Clause
7 | * dsp/dct - MIT
8 | * tensorflow - Apache 2.0
9 | * third_party/flatbuffers - Apache 2.0
10 | * third_party/gemmlowp - Apache 2.0
11 | * utensor - Apache 2.0
12 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/README.md:
--------------------------------------------------------------------------------
1 | # Edge Impulse DSP and Inferencing SDK
2 |
3 | Portable library for digital signal processing and machine learning inferencing. This repository contains the device implementation in C++ for both processing and learning blocks in [Edge Impulse](https://www.edgeimpulse.com).
4 |
5 | [Documentation](https://docs.edgeimpulse.com/reference#inferencing-sdk)
6 |
7 | ## Develop locally
8 |
9 | If you want to develop locally the easiest is to grab the [example-standalone-inferencing](https://github.com/edgeimpulse/example-standalone-inferencing) (Desktop) or [example-standalone-inferencing-mbed](https://github.com/edgeimpulse/example-standalone-inferencing-mbed) (ST IoT Discovery Kit, f.e. to test CMSIS-DSP / CMSIS-NN integration) example applications, add your Edge Impulse project (use the C++ Library export option), then symlink this repository in.
10 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/classifier/ei_run_classifier_c.cpp:
--------------------------------------------------------------------------------
1 | /* Edge Impulse inferencing library
2 | * Copyright (c) 2021 EdgeImpulse Inc.
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 | * SOFTWARE.
21 | */
22 |
23 | #if defined(__cplusplus) && EI_C_LINKAGE == 1
24 |
25 | #include "ei_run_classifier_c.h"
26 |
27 | /**
28 | * This function definition is just there to make sure
29 | * that the symbol is not removed from the library.
30 | */
31 | EI_IMPULSE_ERROR ei_run_classifier(
32 | signal_t *signal,
33 | ei_impulse_result_t *result,
34 | bool debug) {
35 |
36 | return run_classifier(signal, result, debug);
37 | }
38 |
39 | #endif // #if defined(__cplusplus) && EI_C_LINKAGE == 1
40 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/classifier/ei_run_classifier_image.h:
--------------------------------------------------------------------------------
1 | #ifndef _EDGE_IMPULSE_RUN_CLASSIFIER_IMAGE_H_
2 | #define _EDGE_IMPULSE_RUN_CLASSIFIER_IMAGE_H_
3 |
4 | #include "ei_run_classifier.h"
5 |
6 |
7 |
8 | #endif // _EDGE_IMPULSE_RUN_CLASSIFIER_IMAGE_H_
9 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/cmake/zephyr/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 3.13.1)
2 |
3 | set(CMAKE_CXX_STANDARD 11)
4 | set(CMAKE_CXX_STANDARD_REQUIRED ON)
5 |
6 | set(EI_SDK_FOLDER ../../)
7 |
8 | include(${EI_SDK_FOLDER}/cmake/utils.cmake)
9 |
10 | target_include_directories(app PRIVATE
11 | ${EI_SDK_FOLDER}
12 | ${EI_SDK_FOLDER}/third_party/ruy
13 | ${EI_SDK_FOLDER}/third_party/gemmlowp
14 | ${EI_SDK_FOLDER}/third_party/flatbuffers/include
15 | ${EI_SDK_FOLDER}/third_party
16 | ${EI_SDK_FOLDER}/tensorflow
17 | ${EI_SDK_FOLDER}/dsp
18 | ${EI_SDK_FOLDER}/classifier
19 | ${EI_SDK_FOLDER}/anomaly
20 | ${EI_SDK_FOLDER}/CMSIS/NN/Include
21 | ${EI_SDK_FOLDER}/CMSIS/DSP/PrivateInclude
22 | ${EI_SDK_FOLDER}/CMSIS/DSP/Include
23 | ${EI_SDK_FOLDER}/CMSIS/Core/Include
24 | )
25 |
26 | RECURSIVE_FIND_FILE(SOURCE_FILES "${EI_SDK_FOLDER}" "*.cpp")
27 | RECURSIVE_FIND_FILE(CC_FILES "${EI_SDK_FOLDER}" "*.cc")
28 | RECURSIVE_FIND_FILE(S_FILES "${EI_SDK_FOLDER}" "*.s")
29 | RECURSIVE_FIND_FILE(C_FILES "${EI_SDK_FOLDER}" "*.c")
30 | list(APPEND SOURCE_FILES ${S_FILES})
31 | list(APPEND SOURCE_FILES ${C_FILES})
32 | list(APPEND SOURCE_FILES ${CC_FILES})
33 |
34 | target_sources(app PRIVATE ${SOURCE_FILES})
35 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/dsp/dct/.clang-format:
--------------------------------------------------------------------------------
1 | "DisableFormat": true
2 | "SortIncludes": false
3 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/dsp/dct/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2018 Project Nayuki. (MIT License)
2 | https://www.nayuki.io/page/fast-discrete-cosine-transform-algorithms
3 |
4 | Permission is hereby granted, free of charge, to any person obtaining a copy of
5 | this software and associated documentation files (the "Software"), to deal in
6 | the Software without restriction, including without limitation the rights to
7 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
8 | the Software, and to permit persons to whom the Software is furnished to do so,
9 | subject to the following conditions:
10 | - The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 | - The Software is provided "as is", without warranty of any kind, express or
13 | implied, including but not limited to the warranties of merchantability,
14 | fitness for a particular purpose and noninfringement. In no event shall the
15 | authors or copyright holders be liable for any claim, damages or other
16 | liability, whether in an action of contract, tort or otherwise, arising from,
17 | out of or in connection with the Software or the use or other dealings in the
18 | Software.
19 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/dsp/dct/README.md:
--------------------------------------------------------------------------------
1 | # Fast discrete cosine transform algorithms (C)
2 |
3 | DCT type 2 and type 3 algorithms based on https://www.nayuki.io/page/fast-discrete-cosine-transform-algorithms. These are modified to use KissFFT or hardware accelerated RFFT support with CMSIS-DSP.
4 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/dsp/dct/fast-dct-fft.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Fast discrete cosine transform algorithms (C)
3 | *
4 | * Copyright (c) 2018 Project Nayuki. (MIT License)
5 | * https://www.nayuki.io/page/fast-discrete-cosine-transform-algorithms
6 | *
7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of
8 | * this software and associated documentation files (the "Software"), to deal in
9 | * the Software without restriction, including without limitation the rights to
10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
11 | * the Software, and to permit persons to whom the Software is furnished to do so,
12 | * subject to the following conditions:
13 | * - The above copyright notice and this permission notice shall be included in
14 | * all copies or substantial portions of the Software.
15 | * - The Software is provided "as is", without warranty of any kind, express or
16 | * implied, including but not limited to the warranties of merchantability,
17 | * fitness for a particular purpose and noninfringement. In no event shall the
18 | * authors or copyright holders be liable for any claim, damages or other
19 | * liability, whether in an action of contract, tort or otherwise, arising from,
20 | * out of or in connection with the Software or the use or other dealings in the
21 | * Software.
22 | */
23 |
24 | #pragma once
25 |
26 | #include
27 | #include
28 | #include "../kissfft/kiss_fft.h"
29 |
30 | namespace ei {
31 | namespace dct {
32 |
33 | int transform(float vector[], size_t len);
34 | int inverse_transform(float vector[], size_t len);
35 |
36 | } // namespace dct
37 | } // namespace ei
38 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/dsp/ei_utils.h:
--------------------------------------------------------------------------------
1 | /* Edge Impulse inferencing library
2 | * Copyright (c) 2020 EdgeImpulse Inc.
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 | * SOFTWARE.
21 | */
22 | #pragma once
23 |
24 | #define ARRAY_LENGTH(array) (sizeof((array))/sizeof((array)[0]))
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/dsp/kissfft/.clang-format:
--------------------------------------------------------------------------------
1 | "DisableFormat": true
2 | "SortIncludes": false
3 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/dsp/kissfft/LICENSE:
--------------------------------------------------------------------------------
1 | Revised BSD License, see COPYING for verbiage.
2 | Basically, "free to use&change, give credit where due, no guarantees"
3 | Note this license is compatible with GPL at one end of the spectrum and closed, commercial software at
4 | the other end. See http://www.fsf.org/licensing/licenses
5 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/dsp/kissfft/README.md:
--------------------------------------------------------------------------------
1 | # KissFFT
2 |
3 | Software FFT library used for devices that do not have hardware accelerated RFFT, or where we want to use mixed-radix FFT. Based off of https://github.com/mborgerding/kissfft.
4 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/dsp/kissfft/kiss_fftr.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) 2003-2004, Mark Borgerding. All rights reserved.
3 | * This file is part of KISS FFT - https://github.com/mborgerding/kissfft
4 | *
5 | * SPDX-License-Identifier: BSD-3-Clause
6 | * See COPYING file for more information.
7 | */
8 |
9 | #ifndef KISS_FTR_H
10 | #define KISS_FTR_H
11 |
12 | #include "kiss_fft.h"
13 | #ifdef __cplusplus
14 | extern "C" {
15 | #endif
16 |
17 |
18 | /*
19 |
20 | Real optimized version can save about 45% cpu time vs. complex fft of a real seq.
21 |
22 |
23 |
24 | */
25 |
26 | typedef struct kiss_fftr_state *kiss_fftr_cfg;
27 |
28 |
29 | kiss_fftr_cfg kiss_fftr_alloc(int nfft,int inverse_fft,void * mem, size_t * lenmem, size_t * memallocated = NULL);
30 | /*
31 | nfft must be even
32 |
33 | If you don't care to allocate space, use mem = lenmem = NULL
34 | */
35 |
36 |
37 | void kiss_fftr(kiss_fftr_cfg cfg,const kiss_fft_scalar *timedata,kiss_fft_cpx *freqdata);
38 | /*
39 | input timedata has nfft scalar points
40 | output freqdata has nfft/2+1 complex points
41 | */
42 |
43 | void kiss_fftri(kiss_fftr_cfg cfg,const kiss_fft_cpx *freqdata,kiss_fft_scalar *timedata);
44 | /*
45 | input freqdata has nfft/2+1 complex points
46 | output timedata has nfft scalar points
47 | */
48 |
49 | #define kiss_fftr_free KISS_FFT_FREE
50 |
51 | #ifdef __cplusplus
52 | }
53 | #endif
54 | #endif
55 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/dsp/memory.cpp:
--------------------------------------------------------------------------------
1 | /* Edge Impulse inferencing library
2 | * Copyright (c) 2021 EdgeImpulse Inc.
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 | * SOFTWARE.
21 | */
22 |
23 | #include "memory.hpp"
24 |
25 | size_t ei_memory_in_use = 0;
26 | size_t ei_memory_peak_use = 0;
27 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/dsp/spectral/spectral.hpp:
--------------------------------------------------------------------------------
1 | /* Edge Impulse inferencing library
2 | * Copyright (c) 2021 EdgeImpulse Inc.
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 | * SOFTWARE.
21 | */
22 |
23 | #ifndef _EIDSP_SPECTRAL_SPECTRAL_H_
24 | #define _EIDSP_SPECTRAL_SPECTRAL_H_
25 |
26 | #include "../config.hpp"
27 | #include "processing.hpp"
28 | #include "feature.hpp"
29 |
30 | #endif // _EIDSP_SPECTRAL_SPECTRAL_H_
31 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/dsp/speechpy/speechpy.hpp:
--------------------------------------------------------------------------------
1 | /* Edge Impulse inferencing library
2 | * Copyright (c) 2021 EdgeImpulse Inc.
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 | * SOFTWARE.
21 | */
22 |
23 | #ifndef _EIDSP_SPEECHPY_SPEECHPY_H_
24 | #define _EIDSP_SPEECHPY_SPEECHPY_H_
25 |
26 | #include "../config.hpp"
27 | #include "feature.hpp"
28 | #include "functions.hpp"
29 | #include "processing.hpp"
30 |
31 | #endif // _EIDSP_SPEECHPY_SPEECHPY_H_
32 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/porting/.clang-format:
--------------------------------------------------------------------------------
1 | "DisableFormat": true
2 | "SortIncludes": false
3 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/porting/arduino/debug_log.cpp:
--------------------------------------------------------------------------------
1 | /* Edge Impulse inferencing library
2 | * Copyright (c) 2021 EdgeImpulse Inc.
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 | * SOFTWARE.
21 | */
22 |
23 | #include "../ei_classifier_porting.h"
24 | #if EI_PORTING_ARDUINO == 1
25 |
26 | #include "tensorflow/lite/micro/debug_log.h"
27 | #include
28 | #include
29 |
30 | // On mbed platforms, we set up a serial port and write to it for debug logging.
31 | #if defined(__cplusplus) && EI_C_LINKAGE == 1
32 | extern "C"
33 | #endif // defined(__cplusplus) && EI_C_LINKAGE == 1
34 | void DebugLog(const char* s) {
35 | ei_printf("%s", s);
36 | }
37 |
38 | #endif // EI_PORTING_ARDUINO
39 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/porting/ecm3532/debug_log.cpp:
--------------------------------------------------------------------------------
1 | /* Edge Impulse inferencing library
2 | * Copyright (c) 2021 EdgeImpulse Inc.
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 | * SOFTWARE.
21 | */
22 |
23 | #include "../ei_classifier_porting.h"
24 | #if EI_PORTING_ECM3532 == 1
25 |
26 | #include "tensorflow/lite/micro/debug_log.h"
27 | #include
28 | #include
29 |
30 | // Redirect TFLite DebugLog to ei_printf
31 | #if defined(__cplusplus) && EI_C_LINKAGE == 1
32 | extern "C"
33 | #endif // defined(__cplusplus) && EI_C_LINKAGE == 1
34 | void DebugLog(const char* s) {
35 | ei_printf("%s", s);
36 | }
37 |
38 | #endif // EI_PORTING_ECM3532 == 1
39 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/porting/himax/debug_log.cpp:
--------------------------------------------------------------------------------
1 | /* Edge Impulse inferencing library
2 | * Copyright (c) 2021 EdgeImpulse Inc.
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 | * SOFTWARE.
21 | */
22 |
23 | #include "../ei_classifier_porting.h"
24 | #if EI_PORTING_HIMAX == 1
25 |
26 | #include "tensorflow/lite/micro/debug_log.h"
27 | #include
28 | #include
29 |
30 | // Redirect TFLite DebugLog to ei_printf
31 | #if defined(__cplusplus) && EI_C_LINKAGE == 1
32 | extern "C"
33 | #endif // defined(__cplusplus) && EI_C_LINKAGE == 1
34 | void DebugLog(const char* s) {
35 | ei_printf("%s", s);
36 | }
37 |
38 | #endif // EI_PORTING_HIMAX == 1
39 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/porting/mbed/debug_log.cpp:
--------------------------------------------------------------------------------
1 | /* Edge Impulse inferencing library
2 | * Copyright (c) 2021 EdgeImpulse Inc.
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 | * SOFTWARE.
21 | */
22 |
23 | #include "../ei_classifier_porting.h"
24 | #if EI_PORTING_MBED == 1
25 |
26 | #include "tensorflow/lite/micro/debug_log.h"
27 | #include
28 | #include
29 |
30 | // On mbed platforms, we set up a serial port and write to it for debug logging.
31 | #if defined(__cplusplus) && EI_C_LINKAGE == 1
32 | extern "C"
33 | #endif // defined(__cplusplus) && EI_C_LINKAGE == 1
34 | void DebugLog(const char* s) {
35 | ei_printf("%s", s);
36 | }
37 |
38 | #endif // EI_PORTING_MBED == 1
39 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/porting/mingw32/debug_log.cpp:
--------------------------------------------------------------------------------
1 | /* Edge Impulse inferencing library
2 | * Copyright (c) 2020 EdgeImpulse Inc.
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 | * SOFTWARE.
21 | */
22 |
23 | #include "../ei_classifier_porting.h"
24 | #if EI_PORTING_MINGW32 == 1
25 |
26 | #include "tensorflow/lite/micro/debug_log.h"
27 | #include
28 | #include
29 |
30 | // Redirect TFLite DebugLog to ei_printf
31 | #if defined(__cplusplus) && EI_C_LINKAGE == 1
32 | extern "C"
33 | #endif // defined(__cplusplus) && EI_C_LINKAGE == 1
34 | void DebugLog(const char* s) {
35 | ei_printf("%s", s);
36 | }
37 |
38 | #endif // EI_PORTING_MINGW32 == 1
39 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/porting/posix/debug_log.cpp:
--------------------------------------------------------------------------------
1 | /* Edge Impulse inferencing library
2 | * Copyright (c) 2021 EdgeImpulse Inc.
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 | * SOFTWARE.
21 | */
22 |
23 | #include "../ei_classifier_porting.h"
24 | #if EI_PORTING_POSIX == 1
25 |
26 | #include "tensorflow/lite/micro/debug_log.h"
27 | #include
28 | #include
29 |
30 | // Redirect TFLite DebugLog to ei_printf
31 | #if defined(__cplusplus) && EI_C_LINKAGE == 1
32 | extern "C"
33 | #endif // defined(__cplusplus) && EI_C_LINKAGE == 1
34 | void DebugLog(const char* s) {
35 | ei_printf("%s", s);
36 | }
37 |
38 | #endif // EI_PORTING_POSIX == 1
39 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/porting/silabs/debug_log.cpp:
--------------------------------------------------------------------------------
1 | /* Edge Impulse inferencing library
2 | * Copyright (c) 2021 EdgeImpulse Inc.
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 | * SOFTWARE.
21 | */
22 |
23 | #include "../ei_classifier_porting.h"
24 | #if EI_PORTING_SILABS == 1
25 |
26 | #include "tensorflow/lite/micro/debug_log.h"
27 | #include
28 | #include
29 |
30 | // Redirect TFLite DebugLog to ei_printf
31 | #if defined(__cplusplus) && EI_C_LINKAGE == 1
32 | extern "C"
33 | #endif // defined(__cplusplus) && EI_C_LINKAGE == 1
34 | void DebugLog(const char* s) {
35 | ei_printf("%s", s);
36 | }
37 |
38 | #endif // EI_PORTING_SILABS == 1
39 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/porting/stm32-cubeai/debug_log.cpp:
--------------------------------------------------------------------------------
1 | /* Edge Impulse inferencing library
2 | * Copyright (c) 2021 EdgeImpulse Inc.
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 | * SOFTWARE.
21 | */
22 |
23 | #include "../ei_classifier_porting.h"
24 | #if EI_PORTING_STM32_CUBEAI == 1
25 |
26 | #include "tensorflow/lite/micro/debug_log.h"
27 | #include
28 | #include
29 |
30 | // Redirect TFLite DebugLog to ei_printf
31 | #if defined(__cplusplus) && EI_C_LINKAGE == 1
32 | extern "C"
33 | #endif // defined(__cplusplus) && EI_C_LINKAGE == 1
34 | void DebugLog(const char* s) {
35 | ei_printf("%s", s);
36 | }
37 |
38 | #endif // EI_PORTING_STM32_CUBEAI == 1
39 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/porting/zephyr/debug_log.cpp:
--------------------------------------------------------------------------------
1 | /* Edge Impulse inferencing library
2 | * Copyright (c) 2021 EdgeImpulse Inc.
3 | *
4 | * Permission is hereby granted, free of charge, to any person obtaining a copy
5 | * of this software and associated documentation files (the "Software"), to deal
6 | * in the Software without restriction, including without limitation the rights
7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 | * copies of the Software, and to permit persons to whom the Software is
9 | * furnished to do so, subject to the following conditions:
10 | *
11 | * The above copyright notice and this permission notice shall be included in
12 | * all copies or substantial portions of the Software.
13 | *
14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 | * SOFTWARE.
21 | */
22 |
23 | #include "../ei_classifier_porting.h"
24 | #if EI_PORTING_ZEPHYR == 1
25 |
26 | #include "tensorflow/lite/micro/debug_log.h"
27 | #include
28 | #include
29 |
30 | // Route back to `ei_printf`
31 | #if defined(__cplusplus) && EI_C_LINKAGE == 1
32 | extern "C"
33 | #endif // defined(__cplusplus) && EI_C_LINKAGE == 1
34 | void DebugLog(const char* s) {
35 | ei_printf("%s", s);
36 | }
37 |
38 | #endif // #if EI_PORTING_ZEPHYR == 1
39 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/sources.txt:
--------------------------------------------------------------------------------
1 | tensorflow and third_party folders based on: https://github.com/tensorflow/tensorflow/#c903b4607821a03c36c17b0befa2535c7dd0e066
2 | TensorFlow source was prepared using `make -f tensorflow/lite/micro/tools/make/Makefile generate_projects`
3 | The folders were taken from `tensorflow/lite/micro/tools/make/gen/osx_x86_64/prj/hello_world/make`
4 | These files and directories were then deleted:
5 | - `tensorflow/lite/micro/debug_log.cc`
6 | - `tensorflow/lite/micro/examples/hello_world`
7 | CMSIS-DSP based on: https://github.com/ARM-software/CMSIS_5/tree/4d378e81968c6bec5441a42885b24db7cf189bca
8 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/tensorflow/.clang-format:
--------------------------------------------------------------------------------
1 | "DisableFormat": true
2 | "SortIncludes": false
3 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/tensorflow/lite/core/api/error_reporter.cc:
--------------------------------------------------------------------------------
1 | /* Copyright 2017 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #include "tensorflow/lite/core/api/error_reporter.h"
16 | #include
17 |
18 | namespace tflite {
19 |
20 | int ErrorReporter::Report(const char* format, ...) {
21 | va_list args;
22 | va_start(args, format);
23 | int code = Report(format, args);
24 | va_end(args);
25 | return code;
26 | }
27 |
28 | // TODO(aselle): Make the name of ReportError on context the same, so
29 | // we can use the ensure functions w/o a context and w/ a reporter.
30 | int ErrorReporter::ReportError(void*, const char* format, ...) {
31 | va_list args;
32 | va_start(args, format);
33 | int code = Report(format, args);
34 | va_end(args);
35 | return code;
36 | }
37 |
38 | } // namespace tflite
39 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/tensorflow/lite/core/api/tensor_utils.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2019 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 |
16 | #ifndef TENSORFLOW_LITE_CORE_API_TENSOR_UTILS_H_
17 | #define TENSORFLOW_LITE_CORE_API_TENSOR_UTILS_H_
18 |
19 | #include "tensorflow/lite/c/common.h"
20 |
21 | namespace tflite {
22 |
23 | // Resets a variable tensor to the default value.
24 | TfLiteStatus ResetVariableTensor(TfLiteTensor* tensor);
25 |
26 | } // namespace tflite
27 |
28 | #endif // TENSORFLOW_LITE_CORE_API_TENSOR_UTILS_H_
29 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/tensorflow/lite/kernels/internal/cppmath.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2020 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef TENSORFLOW_LITE_KERNELS_INTERNAL_CPPMATH_H_
16 | #define TENSORFLOW_LITE_KERNELS_INTERNAL_CPPMATH_H_
17 |
18 | #include
19 |
20 | namespace tflite {
21 |
22 | #if defined(TF_LITE_USE_GLOBAL_CMATH_FUNCTIONS) || \
23 | (defined(__ANDROID__) && !defined(__NDK_MAJOR__)) || defined(ARDUINO) || \
24 | defined(__ZEPHYR__)
25 | #define TF_LITE_GLOBAL_STD_PREFIX
26 | #else
27 | #define TF_LITE_GLOBAL_STD_PREFIX std
28 | #endif
29 |
30 | #define DECLARE_STD_GLOBAL_SWITCH1(tf_name, std_name) \
31 | template \
32 | inline T tf_name(const T x) { \
33 | return TF_LITE_GLOBAL_STD_PREFIX::std_name(x); \
34 | }
35 |
36 | DECLARE_STD_GLOBAL_SWITCH1(TfLiteRound, round);
37 |
38 | } // namespace tflite
39 |
40 | #endif // TENSORFLOW_LITE_KERNELS_INTERNAL_CPPMATH_H_
41 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/tensorflow/lite/kernels/internal/max.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2020 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef TENSORFLOW_LITE_KERNELS_INTERNAL_MAX_H_
16 | #define TENSORFLOW_LITE_KERNELS_INTERNAL_MAX_H_
17 |
18 | #include
19 |
20 | namespace tflite {
21 |
22 | // Patched by Edge Impulse, remove std::fmax
23 | template
24 | inline T TfLiteMax(const T& x, const T& y) {
25 | return std::max(x, y);
26 | }
27 |
28 | } // namespace tflite
29 |
30 | #endif // TENSORFLOW_LITE_KERNELS_INTERNAL_MAX_H_
31 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/tensorflow/lite/kernels/internal/min.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2020 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef TENSORFLOW_LITE_KERNELS_INTERNAL_MIN_H_
16 | #define TENSORFLOW_LITE_KERNELS_INTERNAL_MIN_H_
17 |
18 | #include
19 |
20 | namespace tflite {
21 |
22 | // Patched by Edge Impulse, remove std::fmin
23 | template
24 | inline T TfLiteMin(const T& x, const T& y) {
25 | return std::min(x, y);
26 | }
27 |
28 | } // namespace tflite
29 |
30 | #endif // TENSORFLOW_LITE_KERNELS_INTERNAL_MIN_H_
31 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/tensorflow/lite/kernels/internal/optimized/neon_check.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2019 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef TENSORFLOW_LITE_KERNELS_INTERNAL_OPTIMIZED_NEON_CHECK_H_
16 | #define TENSORFLOW_LITE_KERNELS_INTERNAL_OPTIMIZED_NEON_CHECK_H_
17 |
18 | #if defined(__ARM_NEON__) || defined(__ARM_NEON)
19 | #define USE_NEON
20 | #include
21 | #endif
22 |
23 | #if defined __GNUC__ && defined __SSE4_1__ && !defined TF_LITE_DISABLE_X86_NEON
24 | #define USE_NEON
25 | #include "NEON_2_SSE.h"
26 | #endif
27 |
28 | // NEON_OR_PORTABLE(SomeFunc, args) calls NeonSomeFunc(args) if USE_NEON is
29 | // defined, PortableSomeFunc(args) otherwise.
30 | #ifdef USE_NEON
31 | // Always use Neon code
32 | #define NEON_OR_PORTABLE(funcname, ...) Neon##funcname(__VA_ARGS__)
33 |
34 | #else
35 | // No NEON available: Use Portable code
36 | #define NEON_OR_PORTABLE(funcname, ...) Portable##funcname(__VA_ARGS__)
37 |
38 | #endif // defined(USE_NEON)
39 |
40 | #endif // TENSORFLOW_LITE_KERNELS_INTERNAL_OPTIMIZED_NEON_CHECK_H_
41 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/tensorflow/lite/kernels/internal/reference/ceil.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2018 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef TENSORFLOW_LITE_KERNELS_INTERNAL_REFERENCE_CEIL_H_
16 | #define TENSORFLOW_LITE_KERNELS_INTERNAL_REFERENCE_CEIL_H_
17 |
18 | #include
19 |
20 | #include "tensorflow/lite/kernels/internal/types.h"
21 |
22 | namespace tflite {
23 |
24 | namespace reference_ops {
25 |
26 | inline void Ceil(const RuntimeShape& input_shape, const float* input_data,
27 | const RuntimeShape& output_shape, float* output_data) {
28 | const int flat_size = MatchingFlatSize(input_shape, output_shape);
29 |
30 | for (int i = 0; i < flat_size; ++i) {
31 | output_data[i] = std::ceil(input_data[i]);
32 | }
33 | }
34 |
35 | } // namespace reference_ops
36 | } // namespace tflite
37 | #endif // TENSORFLOW_LITE_KERNELS_INTERNAL_REFERENCE_CEIL_H_
38 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/tensorflow/lite/kernels/internal/reference/floor.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2019 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef TENSORFLOW_LITE_KERNELS_INTERNAL_REFERENCE_FLOOR_H_
16 | #define TENSORFLOW_LITE_KERNELS_INTERNAL_REFERENCE_FLOOR_H_
17 |
18 | #include
19 |
20 | #include "tensorflow/lite/kernels/internal/types.h"
21 |
22 | namespace tflite {
23 |
24 | namespace reference_ops {
25 |
26 | inline void Floor(const RuntimeShape& input_shape, const float* input_data,
27 | const RuntimeShape& output_shape, float* output_data) {
28 | const int flat_size = MatchingFlatSize(input_shape, output_shape);
29 |
30 | for (int i = 0; i < flat_size; i++) {
31 | int offset = i;
32 | output_data[offset] = std::floor(input_data[offset]);
33 | }
34 | }
35 |
36 | } // namespace reference_ops
37 | } // namespace tflite
38 |
39 | #endif // TENSORFLOW_LITE_KERNELS_INTERNAL_REFERENCE_FLOOR_H_
40 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/tensorflow/lite/kernels/internal/reference/neg.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2019 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef TENSORFLOW_LITE_KERNELS_INTERNAL_REFERENCE_NEG_H_
16 | #define TENSORFLOW_LITE_KERNELS_INTERNAL_REFERENCE_NEG_H_
17 |
18 | #include "tensorflow/lite/kernels/internal/types.h"
19 |
20 | namespace tflite {
21 |
22 | namespace reference_ops {
23 |
24 | template
25 | inline void Negate(const RuntimeShape& input_shape, const T* input_data,
26 | const RuntimeShape& output_shape, T* output_data) {
27 | const int flat_size = MatchingFlatSize(input_shape, output_shape);
28 |
29 | for (int i = 0; i < flat_size; ++i) {
30 | output_data[i] = -input_data[i];
31 | }
32 | }
33 |
34 | } // namespace reference_ops
35 | } // namespace tflite
36 |
37 | #endif // TENSORFLOW_LITE_KERNELS_INTERNAL_REFERENCE_NEG_H_
38 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/tensorflow/lite/micro/all_ops_resolver.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2018 The TensorFlow Authors. All Rights Reserved.
2 | Licensed under the Apache License, Version 2.0 (the "License");
3 | you may not use this file except in compliance with the License.
4 | You may obtain a copy of the License at
5 | http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software
7 | distributed under the License is distributed on an "AS IS" BASIS,
8 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9 | See the License for the specific language governing permissions and
10 | limitations under the License.
11 | ==============================================================================*/
12 | #ifndef TENSORFLOW_LITE_MICRO_ALL_OPS_RESOLVER_H_
13 | #define TENSORFLOW_LITE_MICRO_ALL_OPS_RESOLVER_H_
14 |
15 | #include "tensorflow/lite/micro/compatibility.h"
16 | #include "tensorflow/lite/micro/micro_mutable_op_resolver.h"
17 |
18 | namespace tflite {
19 |
20 | // The magic number in the template parameter is the maximum number of ops that
21 | // can be added to AllOpsResolver. It can be increased if needed. And most
22 | // applications that care about the memory footprint will want to directly use
23 | // MicroMutableOpResolver and have an application specific template parameter.
24 | // The examples directory has sample code for this.
25 | class AllOpsResolver : public MicroMutableOpResolver<128> {
26 | public:
27 | AllOpsResolver();
28 |
29 | private:
30 | TF_LITE_REMOVE_VIRTUAL_DELETE
31 | };
32 |
33 | } // namespace tflite
34 |
35 | #endif // TENSORFLOW_LITE_MICRO_ALL_OPS_RESOLVER_H_
36 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/tensorflow/lite/micro/compatibility.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2018 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef TENSORFLOW_LITE_MICRO_COMPATIBILITY_H_
16 | #define TENSORFLOW_LITE_MICRO_COMPATIBILITY_H_
17 |
18 | // C++ will automatically create class-specific delete operators for virtual
19 | // objects, which by default call the global delete function. For embedded
20 | // applications we want to avoid this, and won't be calling new/delete on these
21 | // objects, so we need to override the default implementation with one that does
22 | // nothing to avoid linking in ::delete().
23 | // This macro needs to be included in all subclasses of a virtual base class in
24 | // the private section.
25 | #ifdef TF_LITE_STATIC_MEMORY
26 | #define TF_LITE_REMOVE_VIRTUAL_DELETE \
27 | void operator delete(void* p) {}
28 | #else
29 | #define TF_LITE_REMOVE_VIRTUAL_DELETE
30 | #endif
31 |
32 | #endif // TENSORFLOW_LITE_MICRO_COMPATIBILITY_H_
33 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/tensorflow/lite/micro/debug_log.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2018 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef TENSORFLOW_LITE_MICRO_DEBUG_LOG_H_
16 | #define TENSORFLOW_LITE_MICRO_DEBUG_LOG_H_
17 |
18 | // This function should be implemented by each target platform, and provide a
19 | // way for strings to be output to some text stream. For more information, see
20 | // tensorflow/lite/micro/debug_log.cc.
21 | #if defined(__cplusplus) && EI_C_LINKAGE == 1
22 | extern "C" void DebugLog(const char* s);
23 | #else
24 | void DebugLog(const char* s);
25 | #endif // defined(__cplusplus) && EI_C_LINKAGE == 1
26 |
27 | #endif // TENSORFLOW_LITE_MICRO_DEBUG_LOG_H_
28 |
29 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/tensorflow/lite/micro/kernels/ethosu.cc:
--------------------------------------------------------------------------------
1 | /* Copyright 2020 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 |
16 | //
17 | // This is a stub file for non-Ethos platforms
18 | //
19 | #include "tensorflow/lite/c/common.h"
20 |
21 | namespace tflite {
22 | namespace ops {
23 | namespace micro {
24 | namespace custom {
25 | TfLiteRegistration* Register_ETHOSU() { return nullptr; }
26 |
27 | const char* GetString_ETHOSU() { return ""; }
28 |
29 | } // namespace custom
30 | } // namespace micro
31 | } // namespace ops
32 | } // namespace tflite
33 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/tensorflow/lite/micro/kernels/micro_utils.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2018 The TensorFlow Authors. All Rights Reserved.
2 | Licensed under the Apache License, Version 2.0 (the "License");
3 | you may not use this file except in compliance with the License.
4 | You may obtain a copy of the License at
5 | http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software
7 | distributed under the License is distributed on an "AS IS" BASIS,
8 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9 | See the License for the specific language governing permissions and
10 | limitations under the License.
11 | ==============================================================================*/
12 | #ifndef TENSORFLOW_LITE_MICRO_KERNELS_MICRO_UTILS_H_
13 | #define TENSORFLOW_LITE_MICRO_KERNELS_MICRO_UTILS_H_
14 | namespace tflite {
15 | namespace ops {
16 | namespace micro {
17 |
18 | // Same as gtl::Greater but defined here to reduce dependencies and
19 | // binary size for micro environment.
20 | struct Greater {
21 | template
22 | bool operator()(const T& x, const T& y) const {
23 | return x > y;
24 | }
25 | };
26 |
27 | struct Less {
28 | template
29 | bool operator()(const T& x, const T& y) const {
30 | return x < y;
31 | }
32 | };
33 |
34 | } // namespace micro
35 | } // namespace ops
36 | } // namespace tflite
37 | #endif // TENSORFLOW_LITE_MICRO_KERNELS_MICRO_UTILS_H_
38 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/tensorflow/lite/micro/micro_error_reporter.cc:
--------------------------------------------------------------------------------
1 | /* Copyright 2018 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 |
16 | #include "tensorflow/lite/micro/micro_error_reporter.h"
17 |
18 | #include
19 |
20 | #ifndef TF_LITE_STRIP_ERROR_STRINGS
21 | #include "tensorflow/lite/micro/debug_log.h"
22 | #include "tensorflow/lite/micro/micro_string.h"
23 | #endif
24 |
25 | namespace tflite {
26 |
27 | int MicroErrorReporter::Report(const char* format, va_list args) {
28 | #ifndef TF_LITE_STRIP_ERROR_STRINGS
29 | // Only pulling in the implementation of this function for builds where we
30 | // expect to make use of it to be extra cautious about not increasing the code
31 | // size.
32 | static constexpr int kMaxLogLen = 256;
33 | char log_buffer[kMaxLogLen];
34 | MicroVsnprintf(log_buffer, kMaxLogLen, format, args);
35 | DebugLog(log_buffer);
36 | DebugLog("\r\n");
37 | #endif
38 | return 0;
39 | }
40 |
41 | } // namespace tflite
42 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/tensorflow/lite/micro/micro_error_reporter.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2018 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef TENSORFLOW_LITE_MICRO_MICRO_ERROR_REPORTER_H_
16 | #define TENSORFLOW_LITE_MICRO_MICRO_ERROR_REPORTER_H_
17 |
18 | #include
19 |
20 | #include "tensorflow/lite/core/api/error_reporter.h"
21 | #include "tensorflow/lite/micro/compatibility.h"
22 |
23 | namespace tflite {
24 |
25 | class MicroErrorReporter : public ErrorReporter {
26 | public:
27 | ~MicroErrorReporter() override {}
28 | int Report(const char* format, va_list args) override;
29 |
30 | private:
31 | TF_LITE_REMOVE_VIRTUAL_DELETE
32 | };
33 |
34 | } // namespace tflite
35 |
36 | #endif // TENSORFLOW_LITE_MICRO_MICRO_ERROR_REPORTER_H_
37 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/tensorflow/lite/micro/micro_optional_debug_tools.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2017 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | // Optional debugging functionality. For small sized binaries, these are not
16 | // needed.
17 | #ifndef TENSORFLOW_LITE_MICRO_MICRO_OPTIONAL_DEBUG_TOOLS_H_
18 | #define TENSORFLOW_LITE_MICRO_MICRO_OPTIONAL_DEBUG_TOOLS_H_
19 |
20 | #include "tensorflow/lite/micro/micro_interpreter.h"
21 |
22 | namespace tflite {
23 | // Helper function to print model flatbuffer data. This function is not called
24 | // by default. Hence it's not linked in to the final binary code.
25 | void PrintModelData(const Model* model, ErrorReporter* error_reporter);
26 | // Prints a dump of what tensors and what nodes are in the interpreter.
27 | void PrintInterpreterState(MicroInterpreter* interpreter);
28 | } // namespace tflite
29 |
30 | #endif // TENSORFLOW_LITE_MICRO_MICRO_OPTIONAL_DEBUG_TOOLS_H_
31 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/tensorflow/lite/micro/micro_profiler.cc:
--------------------------------------------------------------------------------
1 | /* Copyright 2020 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 |
16 | #include "tensorflow/lite/micro/micro_profiler.h"
17 |
18 | #include "tensorflow/lite/kernels/internal/compatibility.h"
19 | #include "tensorflow/lite/micro/micro_time.h"
20 |
21 | namespace tflite {
22 |
23 | MicroProfiler::MicroProfiler(tflite::ErrorReporter* reporter)
24 | : reporter_(reporter) {}
25 |
26 | uint32_t MicroProfiler::BeginEvent(const char* tag, EventType event_type,
27 | int64_t event_metadata1,
28 | int64_t event_metadata2) {
29 | start_time_ = GetCurrentTimeTicks();
30 | TFLITE_DCHECK(tag != nullptr);
31 | event_tag_ = tag;
32 | return 0;
33 | }
34 |
35 | void MicroProfiler::EndEvent(uint32_t event_handle) {
36 | int32_t end_time = GetCurrentTimeTicks();
37 | TF_LITE_REPORT_ERROR(reporter_, "%s took %d cycles\n", event_tag_,
38 | end_time - start_time_);
39 | }
40 |
41 | } // namespace tflite
42 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/tensorflow/lite/micro/micro_string.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2018 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef TENSORFLOW_LITE_MICRO_MICRO_STRING_H_
16 | #define TENSORFLOW_LITE_MICRO_MICRO_STRING_H_
17 |
18 | #include
19 |
20 | // Implements simple string formatting for numeric types. Returns the number of
21 | // bytes written to output.
22 | extern "C" {
23 | // Functionally equivalent to vsnprintf, trimmed down for TFLite Micro.
24 | // MicroSnprintf() is implemented using MicroVsnprintf().
25 | int MicroVsnprintf(char* output, int len, const char* format, va_list args);
26 | // Functionally equavalent to snprintf, trimmed down for TFLite Micro.
27 | // For example, MicroSnprintf(buffer, 10, "int %d", 10) will put the string
28 | // "int 10" in the buffer.
29 | // Floating point values are logged in exponent notation (1.XXX*2^N).
30 | int MicroSnprintf(char* output, int len, const char* format, ...);
31 | }
32 |
33 | #endif // TENSORFLOW_LITE_MICRO_MICRO_STRING_H_
34 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/tensorflow/lite/micro/micro_time.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2020 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef TENSORFLOW_LITE_MICRO_MICRO_TIME_H_
16 | #define TENSORFLOW_LITE_MICRO_MICRO_TIME_H_
17 |
18 | #include
19 |
20 | namespace tflite {
21 |
22 | // These functions should be implemented by each target platform, and provide an
23 | // accurate tick count along with how many ticks there are per second.
24 | int32_t ticks_per_second();
25 |
26 | // Return time in ticks. The meaning of a tick varies per platform.
27 | int32_t GetCurrentTimeTicks();
28 |
29 | } // namespace tflite
30 |
31 | #endif // TENSORFLOW_LITE_MICRO_MICRO_TIME_H_
32 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/tensorflow/lite/micro/testing/test_conv_model.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2020 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 |
16 | #ifndef TENSORFLOW_LITE_MICRO_TESTING_TEST_CONV_MODEL_H_
17 | #define TENSORFLOW_LITE_MICRO_TESTING_TEST_CONV_MODEL_H_
18 |
19 | // See generate_test_models.py for updating the contents of this model:
20 | extern const unsigned char kTestConvModelData[];
21 | extern const unsigned int kTestConvModelDataSize;
22 |
23 | #endif // TENSORFLOW_LITE_MICRO_TESTING_TEST_CONV_MODEL_H_
24 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/tensorflow/lite/string_type.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2017 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | // Abstract string. We don't want even absl at this level.
16 | #ifndef TENSORFLOW_LITE_STRING_TYPE_H_
17 | #define TENSORFLOW_LITE_STRING_TYPE_H_
18 |
19 | #include
20 |
21 | namespace tflite {
22 |
23 | using std::string;
24 |
25 | } // namespace tflite
26 |
27 | #endif // TENSORFLOW_LITE_STRING_TYPE_H_
28 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/tensorflow/lite/version.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2017 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef TENSORFLOW_LITE_VERSION_H_
16 | #define TENSORFLOW_LITE_VERSION_H_
17 |
18 | #include "tensorflow/core/public/version.h"
19 |
20 | // The version number of the Schema. Ideally all changes will be backward
21 | // compatible. If that ever changes, we must ensure that version is the first
22 | // entry in the new tflite root so that we can see that version is not 1.
23 | #define TFLITE_SCHEMA_VERSION (3)
24 |
25 | // TensorFlow Lite Runtime version.
26 | // This value is currently shared with that of TensorFlow.
27 | #define TFLITE_VERSION_STRING TF_VERSION_STRING
28 |
29 | #endif // TENSORFLOW_LITE_VERSION_H_
30 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/third_party/.clang-format:
--------------------------------------------------------------------------------
1 | "DisableFormat": true
2 | "SortIncludes": false
3 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/third_party/arc_mli_package/LICENSE:
--------------------------------------------------------------------------------
1 | embARC Machine Learning Inference (embARC MLI) library
2 |
3 | Copyright (c) 2019-2020 Synopsys, Inc. All rights reserved.
4 |
5 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
6 |
7 | 1) Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
8 |
9 | 2) Redistributions in binary form 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.
10 |
11 | 3) Neither the name of the Synopsys, Inc., nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
12 |
13 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER 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.
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/third_party/arc_mli_package/include/api/mli_helpers_api.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/third_party/arc_mli_package/include/api/mli_helpers_api.h
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/edge-impulse-sdk/third_party/arc_mli_package/include/mli_api.h:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2019-2020, Synopsys, Inc.
3 | * All rights reserved.
4 | *
5 | * This source code is licensed under the BSD-3-Clause license found in
6 | * the LICENSE file in the root directory of this source tree.
7 | *
8 | */
9 |
10 | /**
11 | * @file MLI Library API
12 | *
13 | * @brief This header includes all necessary files for using MLI Library
14 | */
15 |
16 | #ifndef _MLI_API_H_
17 | #define _MLI_API_H_
18 |
19 | #include "mli_types.h"
20 |
21 | #include "api/mli_helpers_api.h"
22 | #include "api/mli_kernels_api.h"
23 | #include "api/mli_mov_api.h"
24 |
25 | #endif //#ifndef _MLI_API_H_
26 |
--------------------------------------------------------------------------------
/CubeMXAI/003MagicWand/my-smartphone-motion-project-v4/model-parameters/anomaly_types.h:
--------------------------------------------------------------------------------
1 | /* Generated by Edge Impulse
2 | *
3 | * Permission is hereby granted, free of charge, to any person obtaining a copy
4 | * of this software and associated documentation files (the "Software"), to deal
5 | * in the Software without restriction, including without limitation the rights
6 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | * copies of the Software, and to permit persons to whom the Software is
8 | * furnished to do so, subject to the following conditions:
9 | *
10 | * The above copyright notice and this permission notice shall be included in
11 | * all copies or substantial portions of the Software.
12 | *
13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19 | * SOFTWARE.
20 | */
21 |
22 | #ifndef _EI_CLASSIFIER_ANOMALY_TYPES_HEADER_H_
23 | #define _EI_CLASSIFIER_ANOMALY_TYPES_HEADER_H_
24 |
25 | #define EI_CLASSIFIER_HAS_ANOMALY 1
26 |
27 | const uint16_t EI_CLASSIFIER_ANOM_AXIS[] { 0, 11, 22 };
28 | #define EI_CLASSIFIER_ANOM_AXIS_SIZE 3
29 | #define EI_CLASSIFIER_ANOM_CLUSTER_COUNT 32
30 |
31 | typedef struct {
32 | float centroid[EI_CLASSIFIER_ANOM_AXIS_SIZE];
33 | float max_error;
34 | } ei_classifier_anom_cluster_t;
35 |
36 | #endif // _EI_CLASSIFIER_ANOMALY_TYPES_HEADER_H_
37 |
--------------------------------------------------------------------------------
/TFLite/001Sine/Inc/crc.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : CRC.h
4 | * Description : This file provides code for the configuration
5 | * of the CRC instances.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2021 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 | /* Define to prevent recursive inclusion -------------------------------------*/
20 | #ifndef __crc_H
21 | #define __crc_H
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | /* Includes ------------------------------------------------------------------*/
27 | #include "main.h"
28 |
29 | /* USER CODE BEGIN Includes */
30 |
31 | /* USER CODE END Includes */
32 |
33 | extern CRC_HandleTypeDef hcrc;
34 |
35 | /* USER CODE BEGIN Private defines */
36 |
37 | /* USER CODE END Private defines */
38 |
39 | void MX_CRC_Init(void);
40 |
41 | /* USER CODE BEGIN Prototypes */
42 |
43 | /* USER CODE END Prototypes */
44 |
45 | #ifdef __cplusplus
46 | }
47 | #endif
48 | #endif /*__ crc_H */
49 |
50 | /**
51 | * @}
52 | */
53 |
54 | /**
55 | * @}
56 | */
57 |
58 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
59 |
--------------------------------------------------------------------------------
/TFLite/001Sine/Inc/gpio.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : gpio.h
4 | * Description : This file contains all the functions prototypes for
5 | * the gpio
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2021 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 |
20 | /* Define to prevent recursive inclusion -------------------------------------*/
21 | #ifndef __gpio_H
22 | #define __gpio_H
23 | #ifdef __cplusplus
24 | extern "C" {
25 | #endif
26 |
27 | /* Includes ------------------------------------------------------------------*/
28 | #include "main.h"
29 |
30 | /* USER CODE BEGIN Includes */
31 |
32 | /* USER CODE END Includes */
33 |
34 | /* USER CODE BEGIN Private defines */
35 |
36 | /* USER CODE END Private defines */
37 |
38 | void MX_GPIO_Init(void);
39 |
40 | /* USER CODE BEGIN Prototypes */
41 |
42 | /* USER CODE END Prototypes */
43 |
44 | #ifdef __cplusplus
45 | }
46 | #endif
47 | #endif /*__ pinoutConfig_H */
48 |
49 | /**
50 | * @}
51 | */
52 |
53 | /**
54 | * @}
55 | */
56 |
57 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
58 |
--------------------------------------------------------------------------------
/TFLite/001Sine/Inc/sine_model.h:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | // This is a TensorFlow Lite model file that has been converted into a C data
5 | // array using the tensorflow.lite.util.convert_bytes_to_c_source() function.
6 | // This form is useful for compiling into a binary for devices that don't have a
7 | // file system.
8 |
9 | #ifndef TENSORFLOW_LITE_UTIL_SINE_MODEL_DATA_H_
10 | #define TENSORFLOW_LITE_UTIL_SINE_MODEL_DATA_H_
11 |
12 | extern const unsigned char sine_model[];
13 | extern const unsigned int sine_model_len;
14 |
15 | #endif // TENSORFLOW_LITE_UTIL_SINE_MODEL_DATA_H_
16 |
--------------------------------------------------------------------------------
/TFLite/001Sine/Inc/tim.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : TIM.h
4 | * Description : This file provides code for the configuration
5 | * of the TIM instances.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2021 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 | /* Define to prevent recursive inclusion -------------------------------------*/
20 | #ifndef __tim_H
21 | #define __tim_H
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | /* Includes ------------------------------------------------------------------*/
27 | #include "main.h"
28 |
29 | /* USER CODE BEGIN Includes */
30 |
31 | /* USER CODE END Includes */
32 |
33 | extern TIM_HandleTypeDef htim2;
34 | extern TIM_HandleTypeDef htim14;
35 |
36 | /* USER CODE BEGIN Private defines */
37 |
38 | /* USER CODE END Private defines */
39 |
40 | void MX_TIM2_Init(void);
41 | void MX_TIM14_Init(void);
42 |
43 | /* USER CODE BEGIN Prototypes */
44 |
45 | /* USER CODE END Prototypes */
46 |
47 | #ifdef __cplusplus
48 | }
49 | #endif
50 | #endif /*__ tim_H */
51 |
52 | /**
53 | * @}
54 | */
55 |
56 | /**
57 | * @}
58 | */
59 |
60 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
61 |
--------------------------------------------------------------------------------
/TFLite/001Sine/Inc/usart.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : USART.h
4 | * Description : This file provides code for the configuration
5 | * of the USART instances.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2021 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 | /* Define to prevent recursive inclusion -------------------------------------*/
20 | #ifndef __usart_H
21 | #define __usart_H
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | /* Includes ------------------------------------------------------------------*/
27 | #include "main.h"
28 |
29 | /* USER CODE BEGIN Includes */
30 |
31 | /* USER CODE END Includes */
32 |
33 | extern UART_HandleTypeDef huart6;
34 |
35 | /* USER CODE BEGIN Private defines */
36 |
37 | /* USER CODE END Private defines */
38 |
39 | void MX_USART6_UART_Init(void);
40 |
41 | /* USER CODE BEGIN Prototypes */
42 |
43 | /* USER CODE END Prototypes */
44 |
45 | #ifdef __cplusplus
46 | }
47 | #endif
48 | #endif /*__ usart_H */
49 |
50 | /**
51 | * @}
52 | */
53 |
54 | /**
55 | * @}
56 | */
57 |
58 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
59 |
--------------------------------------------------------------------------------
/TFLite/001Sine/MDK-ARM/EventRecorderStub.scvd:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/TFLite/001Sine/MDK-ARM/RTE/_STM32F407_AI_Sine/RTE_Components.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Auto generated Run-Time-Environment Configuration File
4 | * *** Do not modify ! ***
5 | *
6 | * Project: 'STM32F407_AI_Sine'
7 | * Target: 'STM32F407_AI_Sine'
8 | */
9 |
10 | #ifndef RTE_COMPONENTS_H
11 | #define RTE_COMPONENTS_H
12 |
13 |
14 | /*
15 | * Define the Device Header File:
16 | */
17 | #define CMSIS_device_header "stm32f4xx.h"
18 |
19 |
20 |
21 | #endif /* RTE_COMPONENTS_H */
22 |
--------------------------------------------------------------------------------
/TFLite/001Sine/MDK-ARM/STM32F407_AI_Sine/ExtDll.iex:
--------------------------------------------------------------------------------
1 | [EXTDLL]
2 | Count=0
3 |
--------------------------------------------------------------------------------
/TFLite/001Sine/MDK-ARM/STM32F407_AI_Sine/STM32F407_AI_Sine.build_log.htm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/TFLite/001Sine/MDK-ARM/STM32F407_AI_Sine/STM32F407_AI_Sine.build_log.htm
--------------------------------------------------------------------------------
/TFLite/001Sine/models/model_no_quant.tflite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/TFLite/001Sine/models/model_no_quant.tflite
--------------------------------------------------------------------------------
/TFLite/001Sine/models/sine/noquant/model_no_quant.tflite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/TFLite/001Sine/models/sine/noquant/model_no_quant.tflite
--------------------------------------------------------------------------------
/TFLite/001Sine/models/sine/quantint8/model.tflite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/TFLite/001Sine/models/sine/quantint8/model.tflite
--------------------------------------------------------------------------------
/TFLite/001Sine/models/sine/sinemodel.tflite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/TFLite/001Sine/models/sine/sinemodel.tflite
--------------------------------------------------------------------------------
/TFLite/001Sine/models/sine_model.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2020 The TensorFlow Authors. All Rights Reserved.
2 | Licensed under the Apache License, Version 2.0 (the "License");
3 | you may not use this file except in compliance with the License.
4 | You may obtain a copy of the License at
5 | http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software
7 | distributed under the License is distributed on an "AS IS" BASIS,
8 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9 | See the License for the specific language governing permissions and
10 | limitations under the License.
11 | ==============================================================================*/
12 |
13 | // Automatically created from a TensorFlow Lite flatbuffer using the command:
14 | // xxd -i model.tflite > model.cc
15 |
16 | // This is a standard TensorFlow Lite model file that has been converted into a
17 | // C data array, so it can be easily compiled into a binary for devices that
18 | // don't have a file system.
19 |
20 | // See train/README.md for a full description of the creation process.
21 |
22 | #ifndef TENSORFLOW_LITE_MICRO_MODEL_H_
23 | #define TENSORFLOW_LITE_MICRO_MODEL_H_
24 |
25 | extern const unsigned char sine_model[];
26 | extern const int sine_model;
27 |
28 | #endif // TENSORFLOW_LITE_MICRO_MODEL_H_
--------------------------------------------------------------------------------
/TFLite/002SineQuanti8/Inc/crc.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : CRC.h
4 | * Description : This file provides code for the configuration
5 | * of the CRC instances.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2021 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 | /* Define to prevent recursive inclusion -------------------------------------*/
20 | #ifndef __crc_H
21 | #define __crc_H
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | /* Includes ------------------------------------------------------------------*/
27 | #include "main.h"
28 |
29 | /* USER CODE BEGIN Includes */
30 |
31 | /* USER CODE END Includes */
32 |
33 | extern CRC_HandleTypeDef hcrc;
34 |
35 | /* USER CODE BEGIN Private defines */
36 |
37 | /* USER CODE END Private defines */
38 |
39 | void MX_CRC_Init(void);
40 |
41 | /* USER CODE BEGIN Prototypes */
42 |
43 | /* USER CODE END Prototypes */
44 |
45 | #ifdef __cplusplus
46 | }
47 | #endif
48 | #endif /*__ crc_H */
49 |
50 | /**
51 | * @}
52 | */
53 |
54 | /**
55 | * @}
56 | */
57 |
58 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
59 |
--------------------------------------------------------------------------------
/TFLite/002SineQuanti8/Inc/gpio.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : gpio.h
4 | * Description : This file contains all the functions prototypes for
5 | * the gpio
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2021 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 |
20 | /* Define to prevent recursive inclusion -------------------------------------*/
21 | #ifndef __gpio_H
22 | #define __gpio_H
23 | #ifdef __cplusplus
24 | extern "C" {
25 | #endif
26 |
27 | /* Includes ------------------------------------------------------------------*/
28 | #include "main.h"
29 |
30 | /* USER CODE BEGIN Includes */
31 |
32 | /* USER CODE END Includes */
33 |
34 | /* USER CODE BEGIN Private defines */
35 |
36 | /* USER CODE END Private defines */
37 |
38 | void MX_GPIO_Init(void);
39 |
40 | /* USER CODE BEGIN Prototypes */
41 |
42 | /* USER CODE END Prototypes */
43 |
44 | #ifdef __cplusplus
45 | }
46 | #endif
47 | #endif /*__ pinoutConfig_H */
48 |
49 | /**
50 | * @}
51 | */
52 |
53 | /**
54 | * @}
55 | */
56 |
57 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
58 |
--------------------------------------------------------------------------------
/TFLite/002SineQuanti8/Inc/sine_model.h:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | // This is a TensorFlow Lite model file that has been converted into a C data
5 | // array using the tensorflow.lite.util.convert_bytes_to_c_source() function.
6 | // This form is useful for compiling into a binary for devices that don't have a
7 | // file system.
8 |
9 | #ifndef TENSORFLOW_LITE_UTIL_SINE_MODEL_DATA_H_
10 | #define TENSORFLOW_LITE_UTIL_SINE_MODEL_DATA_H_
11 |
12 | extern unsigned char sine_model[];
13 | extern unsigned int sine_model_len;
14 |
15 | #endif // TENSORFLOW_LITE_UTIL_SINE_MODEL_DATA_H_
16 |
--------------------------------------------------------------------------------
/TFLite/002SineQuanti8/Inc/tim.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : TIM.h
4 | * Description : This file provides code for the configuration
5 | * of the TIM instances.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2021 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 | /* Define to prevent recursive inclusion -------------------------------------*/
20 | #ifndef __tim_H
21 | #define __tim_H
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | /* Includes ------------------------------------------------------------------*/
27 | #include "main.h"
28 |
29 | /* USER CODE BEGIN Includes */
30 |
31 | /* USER CODE END Includes */
32 |
33 | extern TIM_HandleTypeDef htim2;
34 | extern TIM_HandleTypeDef htim14;
35 |
36 | /* USER CODE BEGIN Private defines */
37 |
38 | /* USER CODE END Private defines */
39 |
40 | void MX_TIM2_Init(void);
41 | void MX_TIM14_Init(void);
42 |
43 | /* USER CODE BEGIN Prototypes */
44 |
45 | /* USER CODE END Prototypes */
46 |
47 | #ifdef __cplusplus
48 | }
49 | #endif
50 | #endif /*__ tim_H */
51 |
52 | /**
53 | * @}
54 | */
55 |
56 | /**
57 | * @}
58 | */
59 |
60 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
61 |
--------------------------------------------------------------------------------
/TFLite/002SineQuanti8/Inc/usart.h:
--------------------------------------------------------------------------------
1 | /**
2 | ******************************************************************************
3 | * File Name : USART.h
4 | * Description : This file provides code for the configuration
5 | * of the USART instances.
6 | ******************************************************************************
7 | * @attention
8 | *
9 | * © Copyright (c) 2021 STMicroelectronics.
10 | * All rights reserved.
11 | *
12 | * This software component is licensed by ST under BSD 3-Clause license,
13 | * the "License"; You may not use this file except in compliance with the
14 | * License. You may obtain a copy of the License at:
15 | * opensource.org/licenses/BSD-3-Clause
16 | *
17 | ******************************************************************************
18 | */
19 | /* Define to prevent recursive inclusion -------------------------------------*/
20 | #ifndef __usart_H
21 | #define __usart_H
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | /* Includes ------------------------------------------------------------------*/
27 | #include "main.h"
28 |
29 | /* USER CODE BEGIN Includes */
30 |
31 | /* USER CODE END Includes */
32 |
33 | extern UART_HandleTypeDef huart6;
34 |
35 | /* USER CODE BEGIN Private defines */
36 |
37 | /* USER CODE END Private defines */
38 |
39 | void MX_USART6_UART_Init(void);
40 |
41 | /* USER CODE BEGIN Prototypes */
42 |
43 | /* USER CODE END Prototypes */
44 |
45 | #ifdef __cplusplus
46 | }
47 | #endif
48 | #endif /*__ usart_H */
49 |
50 | /**
51 | * @}
52 | */
53 |
54 | /**
55 | * @}
56 | */
57 |
58 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
59 |
--------------------------------------------------------------------------------
/TFLite/002SineQuanti8/MDK-ARM/EventRecorderStub.scvd:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/TFLite/002SineQuanti8/MDK-ARM/RTE/_STM32F407_AI_Sine/RTE_Components.h:
--------------------------------------------------------------------------------
1 |
2 | /*
3 | * Auto generated Run-Time-Environment Configuration File
4 | * *** Do not modify ! ***
5 | *
6 | * Project: 'STM32F407_AI_Sine'
7 | * Target: 'STM32F407_AI_Sine'
8 | */
9 |
10 | #ifndef RTE_COMPONENTS_H
11 | #define RTE_COMPONENTS_H
12 |
13 |
14 | /*
15 | * Define the Device Header File:
16 | */
17 | #define CMSIS_device_header "stm32f4xx.h"
18 |
19 |
20 |
21 | #endif /* RTE_COMPONENTS_H */
22 |
--------------------------------------------------------------------------------
/TFLite/002SineQuanti8/MDK-ARM/STM32F407_AI_Sine/ExtDll.iex:
--------------------------------------------------------------------------------
1 | [EXTDLL]
2 | Count=0
3 |
--------------------------------------------------------------------------------
/TFLite/002SineQuanti8/MDK-ARM/STM32F407_AI_Sine/STM32F407_AI_Sine.build_log.htm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/TFLite/002SineQuanti8/MDK-ARM/STM32F407_AI_Sine/STM32F407_AI_Sine.build_log.htm
--------------------------------------------------------------------------------
/TFLite/002SineQuanti8/models/model_no_quant.tflite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/TFLite/002SineQuanti8/models/model_no_quant.tflite
--------------------------------------------------------------------------------
/TFLite/002SineQuanti8/models/sine/noquant/model_no_quant.tflite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/TFLite/002SineQuanti8/models/sine/noquant/model_no_quant.tflite
--------------------------------------------------------------------------------
/TFLite/002SineQuanti8/models/sine/quantint8/model.tflite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/TFLite/002SineQuanti8/models/sine/quantint8/model.tflite
--------------------------------------------------------------------------------
/TFLite/002SineQuanti8/models/sine/sinemodel.tflite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/TFLite/002SineQuanti8/models/sine/sinemodel.tflite
--------------------------------------------------------------------------------
/TFLite/002SineQuanti8/models/sine_model.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2020 The TensorFlow Authors. All Rights Reserved.
2 | Licensed under the Apache License, Version 2.0 (the "License");
3 | you may not use this file except in compliance with the License.
4 | You may obtain a copy of the License at
5 | http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software
7 | distributed under the License is distributed on an "AS IS" BASIS,
8 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9 | See the License for the specific language governing permissions and
10 | limitations under the License.
11 | ==============================================================================*/
12 |
13 | // Automatically created from a TensorFlow Lite flatbuffer using the command:
14 | // xxd -i model.tflite > model.cc
15 |
16 | // This is a standard TensorFlow Lite model file that has been converted into a
17 | // C data array, so it can be easily compiled into a binary for devices that
18 | // don't have a file system.
19 |
20 | // See train/README.md for a full description of the creation process.
21 |
22 | #ifndef TENSORFLOW_LITE_MICRO_MODEL_H_
23 | #define TENSORFLOW_LITE_MICRO_MODEL_H_
24 |
25 | extern const unsigned char sine_model[];
26 | extern const int sine_model;
27 |
28 | #endif // TENSORFLOW_LITE_MICRO_MODEL_H_
--------------------------------------------------------------------------------
/TFLite/tensorflowlite/tensorflow/lite/core/api/error_reporter.cc:
--------------------------------------------------------------------------------
1 | /* Copyright 2017 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #include "tensorflow/lite/core/api/error_reporter.h"
16 | #include
17 |
18 | namespace tflite {
19 |
20 | int ErrorReporter::Report(const char* format, ...) {
21 | va_list args;
22 | va_start(args, format);
23 | int code = Report(format, args);
24 | va_end(args);
25 | return code;
26 | }
27 |
28 | // TODO(aselle): Make the name of ReportError on context the same, so
29 | // we can use the ensure functions w/o a context and w/ a reporter.
30 | int ErrorReporter::ReportError(void*, const char* format, ...) {
31 | va_list args;
32 | va_start(args, format);
33 | int code = Report(format, args);
34 | va_end(args);
35 | return code;
36 | }
37 |
38 | } // namespace tflite
39 |
--------------------------------------------------------------------------------
/TFLite/tensorflowlite/tensorflow/lite/core/api/tensor_utils.cc:
--------------------------------------------------------------------------------
1 | /* Copyright 2019 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 |
16 | #include "tensorflow/lite/core/api/tensor_utils.h"
17 |
18 | #include
19 |
20 | namespace tflite {
21 |
22 | TfLiteStatus ResetVariableTensor(TfLiteTensor* tensor) {
23 | if (!tensor->is_variable) {
24 | return kTfLiteOk;
25 | }
26 | // TODO(b/115961645): Implement - If a variable tensor has a buffer, reset it
27 | // to the value of the buffer.
28 | int value = 0;
29 | if (tensor->type == kTfLiteInt8) {
30 | value = tensor->params.zero_point;
31 | }
32 | // TODO(b/139446230): Provide a platform header to better handle these
33 | // specific scenarios.
34 | #if __ANDROID__ || defined(__x86_64__) || defined(__i386__) || \
35 | defined(__i386) || defined(__x86__) || defined(__X86__) || \
36 | defined(_X86_) || defined(_M_IX86) || defined(_M_X64)
37 | memset(tensor->data.raw, value, tensor->bytes);
38 | #else
39 | char* raw_ptr = tensor->data.raw;
40 | for (size_t i = 0; i < tensor->bytes; ++i) {
41 | *raw_ptr = value;
42 | raw_ptr++;
43 | }
44 | #endif
45 | return kTfLiteOk;
46 | }
47 |
48 | } // namespace tflite
49 |
--------------------------------------------------------------------------------
/TFLite/tensorflowlite/tensorflow/lite/core/api/tensor_utils.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2019 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 |
16 | #ifndef TENSORFLOW_LITE_CORE_API_TENSOR_UTILS_H_
17 | #define TENSORFLOW_LITE_CORE_API_TENSOR_UTILS_H_
18 |
19 | #include "tensorflow/lite/c/common.h"
20 |
21 | namespace tflite {
22 |
23 | // Resets a variable tensor to the default value.
24 | TfLiteStatus ResetVariableTensor(TfLiteTensor* tensor);
25 |
26 | } // namespace tflite
27 |
28 | #endif // TENSORFLOW_LITE_CORE_API_TENSOR_UTILS_H_
29 |
--------------------------------------------------------------------------------
/TFLite/tensorflowlite/tensorflow/lite/kernels/internal/cppmath.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2020 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef TENSORFLOW_LITE_KERNELS_INTERNAL_CPPMATH_H_
16 | #define TENSORFLOW_LITE_KERNELS_INTERNAL_CPPMATH_H_
17 |
18 | #include
19 |
20 | namespace tflite {
21 |
22 | #if defined(TF_LITE_USE_GLOBAL_CMATH_FUNCTIONS) || \
23 | (defined(__ANDROID__) && !defined(__NDK_MAJOR__)) || defined(ARDUINO)
24 | #define TF_LITE_GLOBAL_STD_PREFIX
25 | #else
26 | #define TF_LITE_GLOBAL_STD_PREFIX std
27 | #endif
28 |
29 | #define DECLARE_STD_GLOBAL_SWITCH1(tf_name, std_name) \
30 | template \
31 | inline T tf_name(const T x) { \
32 | return TF_LITE_GLOBAL_STD_PREFIX::std_name(x); \
33 | }
34 |
35 | DECLARE_STD_GLOBAL_SWITCH1(TfLiteRound, round);
36 |
37 | } // namespace tflite
38 |
39 | #endif // TENSORFLOW_LITE_KERNELS_INTERNAL_CPPMATH_H_
40 |
--------------------------------------------------------------------------------
/TFLite/tensorflowlite/tensorflow/lite/kernels/internal/optimized/neon_check.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2019 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef TENSORFLOW_LITE_KERNELS_INTERNAL_OPTIMIZED_NEON_CHECK_H_
16 | #define TENSORFLOW_LITE_KERNELS_INTERNAL_OPTIMIZED_NEON_CHECK_H_
17 |
18 | #if defined(__ARM_NEON__) || defined(__ARM_NEON)
19 | #define USE_NEON
20 | #include
21 | #endif
22 |
23 | #if defined __GNUC__ && defined __SSE4_1__ && !defined TF_LITE_DISABLE_X86_NEON
24 | #define USE_NEON
25 | #include "NEON_2_SSE.h"
26 | #endif
27 |
28 | // NEON_OR_PORTABLE(SomeFunc, args) calls NeonSomeFunc(args) if USE_NEON is
29 | // defined, PortableSomeFunc(args) otherwise.
30 | #ifdef USE_NEON
31 | // Always use Neon code
32 | #define NEON_OR_PORTABLE(funcname, ...) Neon##funcname(__VA_ARGS__)
33 |
34 | #else
35 | // No NEON available: Use Portable code
36 | #define NEON_OR_PORTABLE(funcname, ...) Portable##funcname(__VA_ARGS__)
37 |
38 | #endif // defined(USE_NEON)
39 |
40 | #endif // TENSORFLOW_LITE_KERNELS_INTERNAL_OPTIMIZED_NEON_CHECK_H_
41 |
--------------------------------------------------------------------------------
/TFLite/tensorflowlite/tensorflow/lite/kernels/internal/reference/ceil.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2018 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef TENSORFLOW_LITE_KERNELS_INTERNAL_REFERENCE_CEIL_H_
16 | #define TENSORFLOW_LITE_KERNELS_INTERNAL_REFERENCE_CEIL_H_
17 |
18 | #include
19 |
20 | #include "tensorflow/lite/kernels/internal/types.h"
21 |
22 | namespace tflite {
23 |
24 | namespace reference_ops {
25 |
26 | inline void Ceil(const RuntimeShape& input_shape, const float* input_data,
27 | const RuntimeShape& output_shape, float* output_data) {
28 | const int flat_size = MatchingFlatSize(input_shape, output_shape);
29 |
30 | for (int i = 0; i < flat_size; ++i) {
31 | output_data[i] = std::ceil(input_data[i]);
32 | }
33 | }
34 |
35 | } // namespace reference_ops
36 | } // namespace tflite
37 | #endif // TENSORFLOW_LITE_KERNELS_INTERNAL_REFERENCE_CEIL_H_
38 |
--------------------------------------------------------------------------------
/TFLite/tensorflowlite/tensorflow/lite/kernels/internal/reference/floor.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2019 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef TENSORFLOW_LITE_KERNELS_INTERNAL_REFERENCE_FLOOR_H_
16 | #define TENSORFLOW_LITE_KERNELS_INTERNAL_REFERENCE_FLOOR_H_
17 |
18 | #include
19 |
20 | #include "tensorflow/lite/kernels/internal/types.h"
21 |
22 | namespace tflite {
23 |
24 | namespace reference_ops {
25 |
26 | inline void Floor(const RuntimeShape& input_shape, const float* input_data,
27 | const RuntimeShape& output_shape, float* output_data) {
28 | const int flat_size = MatchingFlatSize(input_shape, output_shape);
29 |
30 | for (int i = 0; i < flat_size; i++) {
31 | int offset = i;
32 | output_data[offset] = std::floor(input_data[offset]);
33 | }
34 | }
35 |
36 | } // namespace reference_ops
37 | } // namespace tflite
38 |
39 | #endif // TENSORFLOW_LITE_KERNELS_INTERNAL_REFERENCE_FLOOR_H_
40 |
--------------------------------------------------------------------------------
/TFLite/tensorflowlite/tensorflow/lite/kernels/internal/reference/neg.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2019 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef TENSORFLOW_LITE_KERNELS_INTERNAL_REFERENCE_NEG_H_
16 | #define TENSORFLOW_LITE_KERNELS_INTERNAL_REFERENCE_NEG_H_
17 |
18 | #include "tensorflow/lite/kernels/internal/types.h"
19 |
20 | namespace tflite {
21 |
22 | namespace reference_ops {
23 |
24 | template
25 | inline void Negate(const RuntimeShape& input_shape, const T* input_data,
26 | const RuntimeShape& output_shape, T* output_data) {
27 | const int flat_size = MatchingFlatSize(input_shape, output_shape);
28 |
29 | for (int i = 0; i < flat_size; ++i) {
30 | output_data[i] = -input_data[i];
31 | }
32 | }
33 |
34 | } // namespace reference_ops
35 | } // namespace tflite
36 |
37 | #endif // TENSORFLOW_LITE_KERNELS_INTERNAL_REFERENCE_NEG_H_
38 |
--------------------------------------------------------------------------------
/TFLite/tensorflowlite/tensorflow/lite/kernels/internal/tensor_ctypes.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2017 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef TENSORFLOW_LITE_KERNELS_INTERNAL_TENSOR_CTYPES_H_
16 | #define TENSORFLOW_LITE_KERNELS_INTERNAL_TENSOR_CTYPES_H_
17 |
18 | #include "tensorflow/lite/c/common.h"
19 | #include "tensorflow/lite/kernels/internal/types.h"
20 |
21 | namespace tflite {
22 |
23 | template
24 | inline T* GetTensorData(TfLiteTensor* tensor) {
25 | return tensor != nullptr ? reinterpret_cast(tensor->data.raw) : nullptr;
26 | }
27 |
28 | template
29 | inline const T* GetTensorData(const TfLiteTensor* tensor) {
30 | return tensor != nullptr ? reinterpret_cast(tensor->data.raw)
31 | : nullptr;
32 | }
33 |
34 | inline RuntimeShape GetTensorShape(const TfLiteTensor* tensor) {
35 | if (tensor == nullptr) {
36 | return RuntimeShape();
37 | }
38 |
39 | TfLiteIntArray* dims = tensor->dims;
40 | const int dims_size = dims->size;
41 | const int32_t* dims_data = reinterpret_cast(dims->data);
42 | return RuntimeShape(dims_size, dims_data);
43 | }
44 |
45 | } // namespace tflite
46 |
47 | #endif // TENSORFLOW_LITE_KERNELS_INTERNAL_TENSOR_CTYPES_H_
48 |
--------------------------------------------------------------------------------
/TFLite/tensorflowlite/tensorflow/lite/micro/compatibility.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2018 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef TENSORFLOW_LITE_MICRO_COMPATIBILITY_H_
16 | #define TENSORFLOW_LITE_MICRO_COMPATIBILITY_H_
17 |
18 | // C++ will automatically create class-specific delete operators for virtual
19 | // objects, which by default call the global delete function. For embedded
20 | // applications we want to avoid this, and won't be calling new/delete on these
21 | // objects, so we need to override the default implementation with one that does
22 | // nothing to avoid linking in ::delete().
23 | // This macro needs to be included in all subclasses of a virtual base class in
24 | // the private section.
25 | #ifdef TF_LITE_STATIC_MEMORY
26 | #define TF_LITE_REMOVE_VIRTUAL_DELETE \
27 | void operator delete(void* p) {}
28 | #else
29 | #define TF_LITE_REMOVE_VIRTUAL_DELETE
30 | #endif
31 |
32 | #endif // TENSORFLOW_LITE_MICRO_COMPATIBILITY_H_
33 |
--------------------------------------------------------------------------------
/TFLite/tensorflowlite/tensorflow/lite/micro/debug_log.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2018 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef TENSORFLOW_LITE_MICRO_DEBUG_LOG_H_
16 | #define TENSORFLOW_LITE_MICRO_DEBUG_LOG_H_
17 |
18 | // This function should be implemented by each target platform, and provide a
19 | // way for strings to be output to some text stream. For more information, see
20 | // tensorflow/lite/micro/debug_log.cc.
21 |
22 | #ifdef __cplusplus
23 | extern "C" {
24 | #endif
25 |
26 | void DebugLog(const char* s);
27 |
28 | #ifdef __cplusplus
29 | }
30 | #endif
31 |
32 | #endif // TENSORFLOW_LITE_MICRO_DEBUG_LOG_H_
33 |
--------------------------------------------------------------------------------
/TFLite/tensorflowlite/tensorflow/lite/micro/kernels/all_ops_resolver.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2018 The TensorFlow Authors. All Rights Reserved.
2 | Licensed under the Apache License, Version 2.0 (the "License");
3 | you may not use this file except in compliance with the License.
4 | You may obtain a copy of the License at
5 | http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software
7 | distributed under the License is distributed on an "AS IS" BASIS,
8 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9 | See the License for the specific language governing permissions and
10 | limitations under the License.
11 | ==============================================================================*/
12 | #ifndef TENSORFLOW_LITE_MICRO_KERNELS_ALL_OPS_RESOLVER_H_
13 | #define TENSORFLOW_LITE_MICRO_KERNELS_ALL_OPS_RESOLVER_H_
14 |
15 | #include "tensorflow/lite/micro/compatibility.h"
16 | #include "tensorflow/lite/micro/micro_mutable_op_resolver.h"
17 |
18 | namespace tflite {
19 | namespace ops {
20 | namespace micro {
21 |
22 | class AllOpsResolver : public MicroMutableOpResolver {
23 | public:
24 | AllOpsResolver();
25 |
26 | private:
27 | TF_LITE_REMOVE_VIRTUAL_DELETE
28 | };
29 |
30 | } // namespace micro
31 | } // namespace ops
32 | } // namespace tflite
33 |
34 | #endif // TENSORFLOW_LITE_MICRO_KERNELS_ALL_OPS_RESOLVER_H_
35 |
--------------------------------------------------------------------------------
/TFLite/tensorflowlite/tensorflow/lite/micro/kernels/micro_utils.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2018 The TensorFlow Authors. All Rights Reserved.
2 | Licensed under the Apache License, Version 2.0 (the "License");
3 | you may not use this file except in compliance with the License.
4 | You may obtain a copy of the License at
5 | http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software
7 | distributed under the License is distributed on an "AS IS" BASIS,
8 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9 | See the License for the specific language governing permissions and
10 | limitations under the License.
11 | ==============================================================================*/
12 | #ifndef TENSORFLOW_LITE_MICRO_KERNELS_MICRO_UTILS_H_
13 | #define TENSORFLOW_LITE_MICRO_KERNELS_MICRO_UTILS_H_
14 | namespace tflite {
15 | namespace ops {
16 | namespace micro {
17 |
18 | // Same as gtl::Greater but defined here to reduce dependencies and
19 | // binary size for micro environment.
20 | struct Greater {
21 | template
22 | bool operator()(const T& x, const T& y) const {
23 | return x > y;
24 | }
25 | };
26 |
27 | struct Less {
28 | template
29 | bool operator()(const T& x, const T& y) const {
30 | return x < y;
31 | }
32 | };
33 |
34 | } // namespace micro
35 | } // namespace ops
36 | } // namespace tflite
37 | #endif // TENSORFLOW_LITE_MICRO_KERNELS_MICRO_UTILS_H_
38 |
--------------------------------------------------------------------------------
/TFLite/tensorflowlite/tensorflow/lite/micro/micro_error_reporter.cc:
--------------------------------------------------------------------------------
1 | /* Copyright 2018 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 |
16 | #include "tensorflow/lite/micro/micro_error_reporter.h"
17 |
18 | #ifndef TF_LITE_STRIP_ERROR_STRINGS
19 | #include "tensorflow/lite/micro/micro_string.h"
20 | #endif
21 |
22 | namespace tflite {
23 |
24 | int MicroErrorReporter::Report(const char* format, va_list args) {
25 | #ifndef TF_LITE_STRIP_ERROR_STRINGS
26 | // Only pulling in the implementation of this function for builds where we
27 | // expect to make use of it to be extra cautious about not increasing the code
28 | // size.
29 | static constexpr int kMaxLogLen = 256;
30 | char log_buffer[kMaxLogLen];
31 | MicroVsnprintf(log_buffer, kMaxLogLen, format, args);
32 | DebugLog(log_buffer);
33 | DebugLog("\r\n");
34 | #endif
35 | return 0;
36 | }
37 |
38 | } // namespace tflite
39 |
--------------------------------------------------------------------------------
/TFLite/tensorflowlite/tensorflow/lite/micro/micro_error_reporter.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2018 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef TENSORFLOW_LITE_MICRO_MICRO_ERROR_REPORTER_H_
16 | #define TENSORFLOW_LITE_MICRO_MICRO_ERROR_REPORTER_H_
17 |
18 | #include "tensorflow/lite/core/api/error_reporter.h"
19 | #include "tensorflow/lite/micro/compatibility.h"
20 | #include "tensorflow/lite/micro/debug_log.h"
21 |
22 | namespace tflite {
23 |
24 | class MicroErrorReporter : public ErrorReporter {
25 | public:
26 | ~MicroErrorReporter() override {};
27 | int Report(const char* format, va_list args) override;
28 |
29 | private:
30 | TF_LITE_REMOVE_VIRTUAL_DELETE
31 | };
32 |
33 | } // namespace tflite
34 |
35 | #endif // TENSORFLOW_LITE_MICRO_MICRO_ERROR_REPORTER_H_
36 |
--------------------------------------------------------------------------------
/TFLite/tensorflowlite/tensorflow/lite/micro/micro_optional_debug_tools.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2017 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | // Optional debugging functionality. For small sized binaries, these are not
16 | // needed.
17 | #ifndef TENSORFLOW_LITE_MICRO_MICRO_OPTIONAL_DEBUG_TOOLS_H_
18 | #define TENSORFLOW_LITE_MICRO_MICRO_OPTIONAL_DEBUG_TOOLS_H_
19 |
20 | #include "tensorflow/lite/micro/micro_interpreter.h"
21 |
22 | namespace tflite {
23 | // Prints a dump of what tensors and what nodes are in the interpreter.
24 | void PrintInterpreterState(MicroInterpreter* interpreter);
25 | } // namespace tflite
26 |
27 | #endif // TENSORFLOW_LITE_MICRO_MICRO_OPTIONAL_DEBUG_TOOLS_H_
28 |
--------------------------------------------------------------------------------
/TFLite/tensorflowlite/tensorflow/lite/micro/micro_string.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2018 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef TENSORFLOW_LITE_MICRO_MICRO_STRING_H_
16 | #define TENSORFLOW_LITE_MICRO_MICRO_STRING_H_
17 |
18 | #include
19 |
20 | // Implements simple string formatting for numeric types. Returns the number of
21 | // bytes written to output.
22 | extern "C" {
23 | // Functionally equivalent to vsnprintf, trimmed down for TFLite Micro.
24 | // MicroSnprintf() is implemented using MicroVsnprintf().
25 | int MicroVsnprintf(char* output, int len, const char* format, va_list args);
26 | // Functionally equavalent to snprintf, trimmed down for TFLite Micro.
27 | // For example, MicroSnprintf(buffer, 10, "int %d", 10) will put the string
28 | // "int 10" in the buffer.
29 | // Floating point values are logged in exponent notation (1.XXX*2^N).
30 | int MicroSnprintf(char* output, int len, const char* format, ...);
31 | }
32 |
33 | #endif // TENSORFLOW_LITE_MICRO_MICRO_STRING_H_
34 |
--------------------------------------------------------------------------------
/TFLite/tensorflowlite/tensorflow/lite/micro/micro_time.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2020 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef TENSORFLOW_LITE_MICRO_MICRO_TIME_H_
16 | #define TENSORFLOW_LITE_MICRO_MICRO_TIME_H_
17 |
18 | #include
19 |
20 | namespace tflite {
21 |
22 | // These functions should be implemented by each target platform, and provide an
23 | // accurate tick count along with how many ticks there are per second.
24 | int32_t ticks_per_second();
25 |
26 | // Return time in ticks. The meaning of a tick varies per platform.
27 | int32_t GetCurrentTimeTicks();
28 |
29 | } // namespace tflite
30 |
31 | #endif // TENSORFLOW_LITE_MICRO_MICRO_TIME_H_
32 |
--------------------------------------------------------------------------------
/TFLite/tensorflowlite/tensorflow/lite/string_type.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2017 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | // Abstract string. We don't want even absl at this level.
16 | #ifndef TENSORFLOW_LITE_STRING_TYPE_H_
17 | #define TENSORFLOW_LITE_STRING_TYPE_H_
18 |
19 | #include
20 |
21 | namespace tflite {
22 |
23 | using std::string;
24 |
25 | } // namespace tflite
26 |
27 | #endif // TENSORFLOW_LITE_STRING_TYPE_H_
28 |
--------------------------------------------------------------------------------
/TFLite/tensorflowlite/tensorflow/lite/version.h:
--------------------------------------------------------------------------------
1 | /* Copyright 2017 The TensorFlow Authors. All Rights Reserved.
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 | ==============================================================================*/
15 | #ifndef TENSORFLOW_LITE_VERSION_H_
16 | #define TENSORFLOW_LITE_VERSION_H_
17 |
18 | #include "tensorflow/core/public/version.h"
19 |
20 | // The version number of the Schema. Ideally all changes will be backward
21 | // compatible. If that ever changes, we must ensure that version is the first
22 | // entry in the new tflite root so that we can see that version is not 1.
23 | #define TFLITE_SCHEMA_VERSION (3)
24 |
25 | // TensorFlow Lite Runtime version.
26 | // This value is currently shared with that of TensorFlow.
27 | #define TFLITE_VERSION_STRING TF_VERSION_STRING
28 |
29 | #endif // TENSORFLOW_LITE_VERSION_H_
30 |
--------------------------------------------------------------------------------
/models/MagicWand/ei-my-smartphone-motion-project-nn-classifier-tensorflow-lite-float32-model.lite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/models/MagicWand/ei-my-smartphone-motion-project-nn-classifier-tensorflow-lite-float32-model.lite
--------------------------------------------------------------------------------
/models/MagicWand/ei-my-smartphone-motion-project-nn-classifier-tensorflow-lite-int8-quantized-model.lite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/models/MagicWand/ei-my-smartphone-motion-project-nn-classifier-tensorflow-lite-int8-quantized-model.lite
--------------------------------------------------------------------------------
/models/sine/noquant/model_no_quant.tflite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/models/sine/noquant/model_no_quant.tflite
--------------------------------------------------------------------------------
/models/sine/quantint8/model.tflite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/models/sine/quantint8/model.tflite
--------------------------------------------------------------------------------
/models/sine/sinemodel.tflite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/fjpolo/STM32F407TinyML/4c557397b59a9bc9f7ebd25239a89ecbde5b4f5e/models/sine/sinemodel.tflite
--------------------------------------------------------------------------------