├── .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 --------------------------------------------------------------------------------