QuakeGod
2024-04-12 5dd1b7fdcc52a43867f924e8d220de8467af372a
Change KBus to OOP and Packge
1,564个文件已删除
46个文件已修改
7 文件已重命名
103个文件已添加
6 文件已复制
1395167 ■■■■■ 已修改文件
BootLoader/.gitignore 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/.mxproject 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_f32.c 165 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q15.c 179 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q31.c 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q7.c 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_f32.c 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q15.c 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q31.c 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q7.c 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_f32.c 135 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q15.c 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q31.c 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q7.c 159 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_f32.c 174 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q15.c 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q31.c 160 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q7.c 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_f32.c 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q15.c 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q31.c 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q7.c 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_f32.c 165 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q15.c 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q31.c 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q7.c 135 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_f32.c 169 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q15.c 162 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q31.c 239 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q7.c 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q15.c 248 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q31.c 203 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q7.c 220 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_f32.c 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q15.c 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q31.c 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q7.c 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/CommonTables/arm_common_tables.c 27251 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/CommonTables/arm_const_structs.c 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_f32.c 182 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_q15.c 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_q31.c 180 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_f32.c 203 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_q15.c 189 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_q31.c 187 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_f32.c 165 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_q15.c 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_q31.c 185 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_f32.c 215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_q15.c 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_q31.c 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_f32.c 207 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_q15.c 193 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_q31.c 326 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_f32.c 225 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_q15.c 203 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_q31.c 223 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_f32.c 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_q15.c 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_q31.c 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_f32.c 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_q15.c 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_q31.c 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_sin_cos_f32.c 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_sin_cos_q31.c 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_f32.c 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_q15.c 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_q31.c 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_f32.c 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_q15.c 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_q31.c 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sqrt_q15.c 155 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sqrt_q31.c 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_init_q31.c 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c 561 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_f32.c 425 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_fast_q15.c 286 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_fast_q31.c 305 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_f32.c 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_q15.c 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_q31.c 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_q15.c 411 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_q31.c 405 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_f32.c 603 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_f64.c 603 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f32.c 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f64.c 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f32.c 683 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f32.c 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_f32.c 647 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_opt_q15.c 543 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_q15.c 1410 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_q31.c 577 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_opt_q15.c 545 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_opt_q7.c 435 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_f32.c 669 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_opt_q15.c 768 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_q15.c 1492 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_q31.c 611 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_opt_q15.c 765 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_opt_q7.c 803 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q15.c 786 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q31.c 607 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q7.c 741 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q15.c 734 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q31.c 565 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q7.c 690 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_f32.c 739 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_opt_q15.c 512 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_q15.c 1319 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_q31.c 612 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_opt_q15.c 513 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_opt_q7.c 464 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q15.c 719 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q31.c 665 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q7.c 790 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_f32.c 524 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_fast_q15.c 598 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_fast_q31.c 351 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_f32.c 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_q15.c 119 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_q31.c 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_q15.c 696 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_q31.c 311 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_f32.c 997 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_fast_q15.c 345 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_fast_q31.c 305 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_f32.c 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q15.c 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q31.c 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q7.c 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_f32.c 581 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_f32.c 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_q15.c 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_q31.c 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_q15.c 508 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_q31.c 504 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_f32.c 506 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_f32.c 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_q15.c 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_q31.c 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_q15.c 536 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_q31.c 353 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q15.c 691 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q31.c 365 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q7.c 397 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_f32.c 444 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_f32.c 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q15.c 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q31.c 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q7.c 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q15.c 481 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q31.c 461 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q7.c 480 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_f32.c 447 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_f32.c 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_q15.c 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_q31.c 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_q15.c 464 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_q31.c 350 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_f32.c 442 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_f32.c 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_q15.c 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_q31.c 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_f32.c 466 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_f32.c 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_q15.c 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_q31.c 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_q15.c 440 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_q31.c 431 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_q15.c 380 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_q31.c 369 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_f32.c 208 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_q15.c 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_q31.c 207 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_cmplx_mult_f32.c 283 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_cmplx_mult_q15.c 424 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_cmplx_mult_q31.c 293 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_f32.c 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_q15.c 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_q31.c 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_inverse_f32.c 703 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_inverse_f64.c 703 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_f32.c 286 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_fast_q15.c 369 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_fast_q31.c 226 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_q15.c 469 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_q31.c 294 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_f32.c 181 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_q15.c 183 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_q31.c 202 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_f32.c 209 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_q15.c 160 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_q31.c 208 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_f32.c 218 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_q15.c 284 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_q31.c 210 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_f32.c 186 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q15.c 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q31.c 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q7.c 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_f32.c 139 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q15.c 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q31.c 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q7.c 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_f32.c 183 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q15.c 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q31.c 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q7.c 178 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_f32.c 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q15.c 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q31.c 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q7.c 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_f32.c 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_q15.c 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_q31.c 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_f32.c 208 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_q15.c 195 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_q31.c 186 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_f32.c 204 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_q15.c 195 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_q31.c 187 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_f32.c 135 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q15.c 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q31.c 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q7.c 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_f32.c 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q15.c 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q31.c 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q7.c 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q15.c 204 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q31.c 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q7.c 203 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_float.c 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_q31.c 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_q7.c 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_float.c 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_q15.c 145 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_q7.c 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_float.c 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_q15.c 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_q31.c 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_bitreversal.c 242 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_f32.c 632 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_q15.c 357 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_q31.c 264 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_f32.c 485 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_init_f32.c 205 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_init_q15.c 189 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_init_q31.c 187 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_q15.c 742 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_q31.c 351 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_f32.c 1210 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_f32.c 165 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_q15.c 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_q31.c 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_q15.c 1924 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_q31.c 1404 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix8_f32.c 384 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_f32.c 461 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_f32.c 16519 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_q15.c 4284 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_q31.c 8364 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_q15.c 394 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_q31.c 395 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_f32.c 329 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_fast_f32.c 353 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_fast_init_f32.c 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_f32.c 8376 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_q15.c 2235 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_q31.c 4285 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_q15.c 439 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_q31.c 296 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f030x6.h 5390 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f030x8.h 5457 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f030xc.h 5834 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f031x6.h 5709 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f038xx.h 5674 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h 10684 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f048xx.h 10648 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f051x8.h 6791 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f058xx.h 6756 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f070x6.h 5635 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f070xb.h 5821 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f071xb.h 7389 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h 11309 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f078xx.h 11279 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f091xc.h 11868 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f098xx.h 11835 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h 242 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f030x6.s 242 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f030x8.s 252 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f030xc.s 257 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f031x6.s 246 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f038xx.s 244 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f042x6.s 287 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f048xx.s 259 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f051x8.s 262 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f058xx.s 260 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f070x6.s 277 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f070xb.s 261 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f071xb.s 266 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f072xb.s 269 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f078xx.s 269 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f091xc.s 266 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f098xx.s 266 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030x6.s 271 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030x8.s 286 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030xc.s 291 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f031x6.s 277 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f038xx.s 274 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f042x6.s 322 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f048xx.s 292 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f051x8.s 298 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f058xx.s 295 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f070x6.s 307 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f070xb.s 295 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f071xb.s 304 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f072xb.s 307 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f078xx.s 307 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f091xc.s 303 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f098xx.s 303 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f030x6_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f030x8_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f030xc_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f031x6_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f038xx_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f042x6_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f048xx_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f051x8_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f058xx_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f070x6_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f070xb_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f071xb_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f072xb_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f078xx_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f091xc_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f091xc_sram.icf 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f098xx_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f098xx_sram.icf 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f030x6.s 258 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f030x8.s 287 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f030xc.s 296 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f031x6.s 268 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f038xx.s 263 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f042x6.s 319 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f048xx.s 296 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f051x8.s 306 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f058xx.s 300 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f070x6.s 294 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f070xb.s 301 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f071xb.s 315 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f072xb.s 321 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f078xx.s 321 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f091xc.s 315 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f098xx.s 315 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c 333 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Include/arm_common_tables.h 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Include/arm_const_structs.h 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Include/arm_math.h 7154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Include/cmsis_armcc.h 734 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Include/cmsis_armcc_V6.h 1800 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Include/cmsis_gcc.h 1373 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Include/core_cm0.h 798 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Include/core_cm0plus.h 914 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Include/core_cm3.h 1763 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Include/core_cm4.h 1937 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Include/core_cm7.h 2512 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Include/core_cmFunc.h 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Include/core_cmInstr.h 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Include/core_cmSimd.h 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Include/core_sc000.h 926 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Include/core_sc300.h 1745 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Lib/ARM/arm_cortexM0b_math.lib 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Lib/ARM/arm_cortexM0l_math.lib 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/Lib/GCC/libarm_cortexM0l_math.a 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/CMSIS/RTOS/Template/cmsis_os.h 707 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h 3215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32_assert_template.h 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h 562 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h 982 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h 315 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_can.h 810 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cec.h 753 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_comp.h 662 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_conf_template.h 313 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_crc.h 345 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_crc_ex.h 200 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dac.h 395 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dac_ex.h 308 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h 182 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h 579 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h 827 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h 369 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h 464 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h 312 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h 816 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h 708 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h 188 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2s.h 451 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_irda.h 792 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_irda_ex.h 429 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_iwdg.h 256 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h 835 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h 205 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h 475 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h 1702 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h 2101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rtc.h 797 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rtc_ex.h 1064 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_smartcard.h 1078 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_smartcard_ex.h 325 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_smbus.h 699 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi.h 704 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi_ex.h 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h 1830 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h 325 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tsc.h 722 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h 1391 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h 859 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_usart.h 683 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_usart_ex.h 585 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_wwdg.h 283 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_adc.h 3424 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_bus.h 861 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_comp.h 847 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_cortex.h 336 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_crc.h 501 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_crs.h 799 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_dac.h 1438 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_dma.h 2224 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_exti.h 1032 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_gpio.h 955 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_i2c.h 2246 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_iwdg.h 361 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_pwr.h 568 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_rcc.h 2257 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_rtc.h 3215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_spi.h 2293 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_system.h 1868 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_tim.h 3964 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usart.h 3819 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_utils.h 287 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_wwdg.h 340 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c 467 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c 2186 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c 204 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c 1697 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cec.c 676 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_comp.c 744 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c 357 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_crc.c 531 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_crc_ex.c 270 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dac.c 785 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dac_ex.c 1187 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c 905 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c 706 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c 1000 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c 543 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c 4868 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c 347 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2s.c 1411 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_irda.c 2379 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_iwdg.c 280 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_msp_template.c 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c 1404 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c 470 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c 290 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c 1332 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c 980 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rtc.c 1391 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rtc_ex.c 1594 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_smartcard.c 2303 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_smartcard_ex.c 210 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_smbus.c 2172 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_spi.c 3910 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_spi_ex.c 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c 5495 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c 2012 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_timebase_rtc_alarm_template.c 315 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_timebase_rtc_wakeup_template.c 294 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_timebase_tim_template.c 184 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tsc.c 824 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c 2796 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c 621 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_usart.c 2521 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_wwdg.c 320 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_adc.c 567 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_comp.c 331 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_crc.c 137 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_crs.c 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_dac.c 292 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_dma.c 412 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_exti.c 238 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_gpio.c 279 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_i2c.c 245 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_pwr.c 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_rcc.c 599 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_rtc.c 740 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_spi.c 545 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_tim.c 1175 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usart.c 529 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_utils.c 620 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/F030C8T6_Test2.ioc 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Inc/GlobalDef.h 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Inc/debug.h 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Inc/functions.h 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Inc/main.h 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Inc/shell.h 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Inc/stm32_assert.h 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Inc/stm32f0xx_hal_conf.h 324 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Inc/stm32f0xx_it.h 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/MDK-ARM/BootLoader.uvprojx 609 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/MDK-ARM/DebugConfig/F030C8T6_BtLdr_STM32F030C8Tx.dbgconf 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/MDK-ARM/DebugConfig/F030C8T6_STM32F030C8Tx.dbgconf 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/MDK-ARM/DebugConfig/F030C8T6_Test2_STM32F030C8Tx.dbgconf 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/MDK-ARM/F030C8T6_BtLdr/F030C8T6_BtLdr.hex 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/MDK-ARM/F030C8T6_BtLdr/F030C8T6_BtLdr.sct 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/MDK-ARM/JLinkSettings.ini 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/MDK-ARM/debug.ini 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/MDK-ARM/pemicro_connection_settings.ini 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/MDK-ARM/startup_stm32f030x6.s 242 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/MDK-ARM/startup_stm32f030x8.s 252 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/MDK-ARM/startup_stm32f030xc.s 257 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Src/BSP.c 612 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Src/GlobalDef.c 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Src/debug.c 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Src/functions.c 208 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Src/main.c 233 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Src/shell.c 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Src/stm32f0xx_hal_msp.c 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Src/stm32f0xx_it.c 276 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/Src/system_stm32f0xx.c 333 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_f32.c 165 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q15.c 179 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q31.c 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q7.c 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_f32.c 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q15.c 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q31.c 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q7.c 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_f32.c 135 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q15.c 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q31.c 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q7.c 159 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_f32.c 174 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q15.c 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q31.c 160 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q7.c 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_f32.c 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q15.c 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q31.c 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q7.c 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_f32.c 165 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q15.c 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q31.c 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q7.c 135 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_f32.c 169 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q15.c 162 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q31.c 239 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q7.c 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q15.c 248 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q31.c 203 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q7.c 220 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_f32.c 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q15.c 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q31.c 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q7.c 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/CommonTables/arm_common_tables.c 27251 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/CommonTables/arm_const_structs.c 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_f32.c 182 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_q15.c 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_q31.c 180 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_f32.c 203 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_q15.c 189 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_q31.c 187 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_f32.c 165 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_q15.c 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_q31.c 185 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_f32.c 215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_q15.c 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_q31.c 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_f32.c 207 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_q15.c 193 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_q31.c 326 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_f32.c 225 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_q15.c 203 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_q31.c 223 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_f32.c 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_q15.c 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_q31.c 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_f32.c 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_q15.c 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_q31.c 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_sin_cos_f32.c 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_sin_cos_q31.c 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_f32.c 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_q15.c 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_q31.c 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_f32.c 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_q15.c 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_q31.c 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sqrt_q15.c 155 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sqrt_q31.c 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_init_q31.c 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c 561 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_f32.c 425 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_fast_q15.c 286 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_fast_q31.c 305 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_f32.c 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_q15.c 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_q31.c 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_q15.c 411 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_q31.c 405 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_f32.c 603 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_f64.c 603 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f32.c 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f64.c 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f32.c 683 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f32.c 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_f32.c 647 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_opt_q15.c 543 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_q15.c 1410 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_q31.c 577 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_opt_q15.c 545 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_opt_q7.c 435 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_f32.c 669 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_opt_q15.c 768 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_q15.c 1492 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_q31.c 611 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_opt_q15.c 765 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_opt_q7.c 803 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q15.c 786 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q31.c 607 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q7.c 741 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q15.c 734 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q31.c 565 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q7.c 690 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_f32.c 739 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_opt_q15.c 512 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_q15.c 1319 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_q31.c 612 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_opt_q15.c 513 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_opt_q7.c 464 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q15.c 719 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q31.c 665 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q7.c 790 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_f32.c 524 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_fast_q15.c 598 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_fast_q31.c 351 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_f32.c 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_q15.c 119 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_q31.c 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_q15.c 696 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_q31.c 311 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_f32.c 997 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_fast_q15.c 345 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_fast_q31.c 305 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_f32.c 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q15.c 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q31.c 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q7.c 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_f32.c 581 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_f32.c 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_q15.c 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_q31.c 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_q15.c 508 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_q31.c 504 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_f32.c 506 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_f32.c 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_q15.c 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_q31.c 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_q15.c 536 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_q31.c 353 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q15.c 691 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q31.c 365 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q7.c 397 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_f32.c 444 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_f32.c 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q15.c 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q31.c 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q7.c 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q15.c 481 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q31.c 461 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q7.c 480 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_f32.c 447 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_f32.c 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_q15.c 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_q31.c 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_q15.c 464 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_q31.c 350 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_f32.c 442 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_f32.c 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_q15.c 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_q31.c 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_f32.c 466 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_f32.c 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_q15.c 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_q31.c 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_q15.c 440 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_q31.c 431 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_q15.c 380 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_q31.c 369 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_f32.c 208 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_q15.c 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_q31.c 207 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_cmplx_mult_f32.c 283 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_cmplx_mult_q15.c 424 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_cmplx_mult_q31.c 293 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_f32.c 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_q15.c 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_q31.c 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_inverse_f32.c 703 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_inverse_f64.c 703 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_f32.c 286 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_fast_q15.c 369 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_fast_q31.c 226 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_q15.c 469 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_q31.c 294 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_f32.c 181 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_q15.c 183 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_q31.c 202 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_f32.c 209 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_q15.c 160 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_q31.c 208 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_f32.c 218 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_q15.c 284 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_q31.c 210 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_f32.c 186 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q15.c 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q31.c 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q7.c 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_f32.c 139 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q15.c 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q31.c 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q7.c 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_f32.c 183 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q15.c 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q31.c 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q7.c 178 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_f32.c 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q15.c 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q31.c 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q7.c 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_f32.c 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_q15.c 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_q31.c 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_f32.c 208 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_q15.c 195 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_q31.c 186 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_f32.c 204 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_q15.c 195 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_q31.c 187 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_f32.c 135 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q15.c 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q31.c 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q7.c 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_f32.c 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q15.c 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q31.c 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q7.c 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q15.c 204 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q31.c 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q7.c 203 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_float.c 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_q31.c 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_q7.c 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_float.c 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_q15.c 145 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_q7.c 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_float.c 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_q15.c 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_q31.c 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_bitreversal.c 242 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_f32.c 632 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_q15.c 357 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_q31.c 264 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_f32.c 485 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_init_f32.c 205 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_init_q15.c 189 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_init_q31.c 187 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_q15.c 742 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_q31.c 351 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_f32.c 1210 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_f32.c 165 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_q15.c 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_q31.c 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_q15.c 1924 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_q31.c 1404 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix8_f32.c 384 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_f32.c 461 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_f32.c 16519 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_q15.c 4284 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_q31.c 8364 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_q15.c 394 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_q31.c 395 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_f32.c 329 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_fast_f32.c 353 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_fast_init_f32.c 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_f32.c 8376 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_q15.c 2235 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_q31.c 4285 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_q15.c 439 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_q31.c 296 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f030x6.h 5390 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f030x8.h 5457 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f030xc.h 5834 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f031x6.h 5709 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f038xx.h 5674 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h 10684 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f048xx.h 10648 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f051x8.h 6791 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f058xx.h 6756 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f070x6.h 5635 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f070xb.h 5821 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f071xb.h 7389 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h 11309 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f078xx.h 11279 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f091xc.h 11868 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f098xx.h 11835 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h 242 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f030x6.s 242 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f030x8.s 252 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f030xc.s 257 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f031x6.s 246 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f038xx.s 244 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f042x6.s 287 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f048xx.s 259 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f051x8.s 262 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f058xx.s 260 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f070x6.s 277 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f070xb.s 261 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f071xb.s 266 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f072xb.s 269 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f078xx.s 269 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f091xc.s 266 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f098xx.s 266 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030x6.s 271 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030x8.s 286 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030xc.s 291 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f031x6.s 277 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f038xx.s 274 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f042x6.s 322 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f048xx.s 292 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f051x8.s 298 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f058xx.s 295 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f070x6.s 307 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f070xb.s 295 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f071xb.s 304 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f072xb.s 307 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f078xx.s 307 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f091xc.s 303 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f098xx.s 303 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f030x6_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f030x8_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f030xc_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f031x6_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f038xx_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f042x6_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f048xx_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f051x8_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f058xx_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f070x6_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f070xb_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f071xb_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f072xb_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f078xx_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f091xc_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f091xc_sram.icf 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f098xx_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f098xx_sram.icf 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f030x6.s 258 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f030x8.s 287 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f030xc.s 296 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f031x6.s 268 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f038xx.s 263 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f042x6.s 319 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f048xx.s 296 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f051x8.s 306 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f058xx.s 300 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f070x6.s 294 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f070xb.s 301 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f071xb.s 315 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f072xb.s 321 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f078xx.s 321 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f091xc.s 315 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f098xx.s 315 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c 333 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Include/arm_common_tables.h 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Include/arm_const_structs.h 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Include/arm_math.h 7154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Include/cmsis_armcc.h 734 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Include/cmsis_armcc_V6.h 1800 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Include/cmsis_gcc.h 1373 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Include/core_cm0.h 798 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Include/core_cm0plus.h 914 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Include/core_cm3.h 1763 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Include/core_cm4.h 1937 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Include/core_cm7.h 2512 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Include/core_cmFunc.h 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Include/core_cmInstr.h 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Include/core_cmSimd.h 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Include/core_sc000.h 926 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Include/core_sc300.h 1745 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Lib/ARM/arm_cortexM0b_math.lib 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Lib/ARM/arm_cortexM0l_math.lib 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/Lib/GCC/libarm_cortexM0l_math.a 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/CMSIS/RTOS/Template/cmsis_os.h 707 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h 3215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32_assert_template.h 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h 562 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h 982 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h 315 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_can.h 810 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cec.h 753 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_comp.h 662 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_conf_template.h 313 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_crc.h 345 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_crc_ex.h 200 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dac.h 395 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dac_ex.h 308 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h 182 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h 579 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h 827 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h 369 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h 464 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h 312 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h 816 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h 708 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h 188 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2s.h 451 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_irda.h 792 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_irda_ex.h 429 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_iwdg.h 256 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h 835 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h 205 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h 475 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h 1702 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h 2101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rtc.h 797 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rtc_ex.h 1064 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_smartcard.h 1078 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_smartcard_ex.h 325 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_smbus.h 699 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi.h 704 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi_ex.h 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h 1830 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h 325 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tsc.h 722 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h 1391 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h 859 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_usart.h 683 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_usart_ex.h 585 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_wwdg.h 283 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_adc.h 3424 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_bus.h 861 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_comp.h 847 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_cortex.h 336 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_crc.h 501 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_crs.h 799 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_dac.h 1438 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_dma.h 2224 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_exti.h 1032 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_gpio.h 955 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_i2c.h 2246 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_iwdg.h 361 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_pwr.h 568 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_rcc.h 2257 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_rtc.h 3215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_spi.h 2293 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_system.h 1868 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_tim.h 3964 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usart.h 3819 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_utils.h 287 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_wwdg.h 340 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c 467 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c 2186 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c 204 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c 1697 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cec.c 676 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_comp.c 744 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c 357 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_crc.c 531 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_crc_ex.c 270 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dac.c 785 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dac_ex.c 1187 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c 905 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c 706 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c 1000 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c 543 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c 4868 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c 347 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2s.c 1411 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_irda.c 2379 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_iwdg.c 280 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_msp_template.c 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c 1404 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c 470 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c 290 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c 1332 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c 980 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rtc.c 1391 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rtc_ex.c 1594 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_smartcard.c 2303 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_smartcard_ex.c 210 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_smbus.c 2172 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_spi.c 3910 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_spi_ex.c 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c 5495 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c 2012 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_timebase_rtc_alarm_template.c 315 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_timebase_rtc_wakeup_template.c 294 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_timebase_tim_template.c 184 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tsc.c 824 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c 2796 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c 621 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_usart.c 2521 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_wwdg.c 320 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_adc.c 567 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_comp.c 331 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_crc.c 137 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_crs.c 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_dac.c 292 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_dma.c 412 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_exti.c 238 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_gpio.c 279 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_i2c.c 245 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_pwr.c 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_rcc.c 599 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_rtc.c 740 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_spi.c 545 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_tim.c 1175 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usart.c 529 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_utils.c 620 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/MDK-ARM/C8T6_BtLdr.uvprojx 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_BootLoader/Src/main.c 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_TestApp1/Inc/BoardType.h 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_TestApp1/Inc/FP0.h 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_TestApp1/Inc/FPx.h 165 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_TestApp1/Inc/main.h 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_TestApp1/MDK-ARM/EventRecorderStub.scvd 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_TestApp1/MDK-ARM/F030C8T6_Ext_FPx_New.uvprojx 734 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_TestApp1/MDK-ARM/F030C8T6_TestApp1.uvprojx 729 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_TestApp1/MDK-ARM/F030C8T6_TestApp1/F030C8T6_TestApp1.hex 2820 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_TestApp1/MDK-ARM/F030C8T6_TestApp1/F030C8T6_TestApp1.map 1890 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_TestApp1/MDK-ARM/RTE/_F030C8T6_TestApp1/RTE_Components.h 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_TestApp1/Src/BoardType.c 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_TestApp1/Src/FP0.c 293 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_TestApp1/Src/FPx.c 304 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
C8T6_TestApp1/Src/main.c 221 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_f32.c 165 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q15.c 179 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q31.c 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q7.c 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_f32.c 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q15.c 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q31.c 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q7.c 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_f32.c 135 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q15.c 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q31.c 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q7.c 159 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_f32.c 174 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q15.c 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q31.c 160 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q7.c 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_f32.c 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q15.c 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q31.c 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q7.c 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_f32.c 165 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q15.c 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q31.c 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q7.c 135 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_f32.c 169 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q15.c 162 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q31.c 239 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q7.c 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q15.c 248 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q31.c 203 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q7.c 220 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_f32.c 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q15.c 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q31.c 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q7.c 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/CommonTables/arm_common_tables.c 27251 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/CommonTables/arm_const_structs.c 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_f32.c 182 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_q15.c 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_q31.c 180 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_f32.c 203 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_q15.c 189 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_q31.c 187 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_f32.c 165 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_q15.c 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_q31.c 185 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_f32.c 215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_q15.c 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_q31.c 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_f32.c 207 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_q15.c 193 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_q31.c 326 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_f32.c 225 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_q15.c 203 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_q31.c 223 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_f32.c 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_q15.c 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_q31.c 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_f32.c 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_q15.c 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_q31.c 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_sin_cos_f32.c 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_sin_cos_q31.c 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_f32.c 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_q15.c 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_q31.c 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_f32.c 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_q15.c 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_q31.c 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sqrt_q15.c 155 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sqrt_q31.c 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_init_q31.c 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c 561 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_f32.c 425 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_fast_q15.c 286 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_fast_q31.c 305 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_f32.c 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_q15.c 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_q31.c 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_q15.c 411 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_q31.c 405 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_f32.c 603 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_f64.c 603 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f32.c 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f64.c 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f32.c 683 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f32.c 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_f32.c 647 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_opt_q15.c 543 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_q15.c 1410 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_q31.c 577 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_opt_q15.c 545 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_opt_q7.c 435 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_f32.c 669 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_opt_q15.c 768 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_q15.c 1492 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_q31.c 611 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_opt_q15.c 765 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_opt_q7.c 803 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q15.c 786 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q31.c 607 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q7.c 741 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q15.c 734 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q31.c 565 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q7.c 690 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_f32.c 739 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_opt_q15.c 512 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_q15.c 1319 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_q31.c 612 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_opt_q15.c 513 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_opt_q7.c 464 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q15.c 719 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q31.c 665 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q7.c 790 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_f32.c 524 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_fast_q15.c 598 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_fast_q31.c 351 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_f32.c 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_q15.c 119 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_q31.c 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_q15.c 696 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_q31.c 311 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_f32.c 997 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_fast_q15.c 345 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_fast_q31.c 305 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_f32.c 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q15.c 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q31.c 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q7.c 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_f32.c 581 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_f32.c 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_q15.c 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_q31.c 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_q15.c 508 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_q31.c 504 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_f32.c 506 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_f32.c 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_q15.c 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_q31.c 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_q15.c 536 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_q31.c 353 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q15.c 691 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q31.c 365 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q7.c 397 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_f32.c 444 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_f32.c 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q15.c 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q31.c 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q7.c 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q15.c 481 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q31.c 461 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q7.c 480 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_f32.c 447 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_f32.c 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_q15.c 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_q31.c 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_q15.c 464 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_q31.c 350 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_f32.c 442 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_f32.c 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_q15.c 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_q31.c 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_f32.c 466 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_f32.c 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_q15.c 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_q31.c 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_q15.c 440 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_q31.c 431 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_q15.c 380 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_q31.c 369 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_f32.c 208 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_q15.c 163 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_q31.c 207 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_cmplx_mult_f32.c 283 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_cmplx_mult_q15.c 424 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_cmplx_mult_q31.c 293 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_f32.c 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_q15.c 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_q31.c 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_inverse_f32.c 703 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_inverse_f64.c 703 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_f32.c 286 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_fast_q15.c 369 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_fast_q31.c 226 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_q15.c 469 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_q31.c 294 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_f32.c 181 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_q15.c 183 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_q31.c 202 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_f32.c 209 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_q15.c 160 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_q31.c 208 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_f32.c 218 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_q15.c 284 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_q31.c 210 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_f32.c 186 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q15.c 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q31.c 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q7.c 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_f32.c 139 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q15.c 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q31.c 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q7.c 133 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_f32.c 183 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q15.c 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q31.c 176 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q7.c 178 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_f32.c 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q15.c 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q31.c 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q7.c 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_f32.c 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_q15.c 153 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_q31.c 150 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_f32.c 208 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_q15.c 195 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_q31.c 186 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_f32.c 204 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_q15.c 195 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_q31.c 187 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_f32.c 135 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q15.c 114 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q31.c 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q7.c 115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_f32.c 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q15.c 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q31.c 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q7.c 118 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q15.c 204 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q31.c 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q7.c 203 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_float.c 134 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_q31.c 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_q7.c 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_float.c 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_q15.c 145 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_q7.c 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_float.c 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_q15.c 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_q31.c 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_bitreversal.c 242 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_f32.c 632 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_q15.c 357 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_q31.c 264 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_f32.c 485 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_init_f32.c 205 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_init_q15.c 189 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_init_q31.c 187 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_q15.c 742 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_q31.c 351 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_f32.c 1210 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_f32.c 165 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_q15.c 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_q31.c 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_q15.c 1924 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_q31.c 1404 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix8_f32.c 384 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_f32.c 461 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_f32.c 16519 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_q15.c 4284 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_q31.c 8364 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_q15.c 394 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_q31.c 395 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_f32.c 329 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_fast_f32.c 353 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_fast_init_f32.c 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_f32.c 8376 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_q15.c 2235 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_q31.c 4285 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_q15.c 439 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_q31.c 296 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f030x6.h 5390 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f030x8.h 5457 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f030xc.h 5834 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f031x6.h 5709 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f038xx.h 5674 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h 10684 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f048xx.h 10648 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f051x8.h 6791 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f058xx.h 6756 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f070x6.h 5635 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f070xb.h 5821 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f071xb.h 7389 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h 11309 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f078xx.h 11279 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f091xc.h 11868 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f098xx.h 11835 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h 242 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f030x6.s 242 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f030x8.s 252 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f030xc.s 257 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f031x6.s 246 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f038xx.s 244 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f042x6.s 287 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f048xx.s 259 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f051x8.s 262 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f058xx.s 260 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f070x6.s 277 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f070xb.s 261 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f071xb.s 266 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f072xb.s 269 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f078xx.s 269 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f091xc.s 266 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f098xx.s 266 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030x6.s 271 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030x8.s 286 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030xc.s 291 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f031x6.s 277 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f038xx.s 274 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f042x6.s 322 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f048xx.s 292 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f051x8.s 298 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f058xx.s 295 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f070x6.s 307 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f070xb.s 295 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f071xb.s 304 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f072xb.s 307 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f078xx.s 307 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f091xc.s 303 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f098xx.s 303 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f030x6_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f030x8_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f030xc_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f031x6_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f038xx_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f042x6_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f048xx_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f051x8_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f058xx_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f070x6_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f070xb_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f071xb_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f072xb_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f078xx_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f091xc_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f091xc_sram.icf 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f098xx_flash.icf 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f098xx_sram.icf 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f030x6.s 258 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f030x8.s 287 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f030xc.s 296 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f031x6.s 268 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f038xx.s 263 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f042x6.s 319 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f048xx.s 296 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f051x8.s 306 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f058xx.s 300 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f070x6.s 294 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f070xb.s 301 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f071xb.s 315 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f072xb.s 321 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f078xx.s 321 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f091xc.s 315 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f098xx.s 315 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c 333 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Include/arm_common_tables.h 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Include/arm_const_structs.h 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Include/arm_math.h 7154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Include/cmsis_armcc.h 734 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Include/cmsis_armcc_V6.h 1800 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Include/cmsis_gcc.h 1373 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Include/core_cm0.h 798 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Include/core_cm0plus.h 914 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Include/core_cm3.h 1763 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Include/core_cm4.h 1937 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Include/core_cm7.h 2512 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Include/core_cmFunc.h 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Include/core_cmInstr.h 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Include/core_cmSimd.h 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Include/core_sc000.h 926 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Include/core_sc300.h 1745 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Lib/ARM/arm_cortexM0b_math.lib 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Lib/ARM/arm_cortexM0l_math.lib 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/Lib/GCC/libarm_cortexM0l_math.a 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/CMSIS/RTOS/Template/cmsis_os.h 707 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h 3215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32_assert_template.h 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h 562 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h 982 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h 315 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_can.h 810 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cec.h 753 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_comp.h 662 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_conf_template.h 313 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_crc.h 345 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_crc_ex.h 200 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dac.h 395 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dac_ex.h 308 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h 182 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h 579 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h 827 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h 369 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h 464 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h 312 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h 816 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h 708 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h 188 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2s.h 451 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_irda.h 792 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_irda_ex.h 429 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_iwdg.h 256 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h 835 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h 205 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h 475 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h 1702 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h 2101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rtc.h 797 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rtc_ex.h 1064 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_smartcard.h 1078 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_smartcard_ex.h 325 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_smbus.h 699 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi.h 704 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi_ex.h 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h 1830 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h 325 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tsc.h 722 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h 1391 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h 859 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_usart.h 683 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_usart_ex.h 585 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_wwdg.h 283 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_adc.h 3424 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_bus.h 861 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_comp.h 847 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_cortex.h 336 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_crc.h 501 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_crs.h 799 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_dac.h 1438 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_dma.h 2224 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_exti.h 1032 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_gpio.h 955 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_i2c.h 2246 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_iwdg.h 361 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_pwr.h 568 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_rcc.h 2257 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_rtc.h 3215 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_spi.h 2293 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_system.h 1868 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_tim.h 3964 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usart.h 3819 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_utils.h 287 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_wwdg.h 340 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c 467 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c 2186 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c 204 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c 1697 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cec.c 676 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_comp.c 744 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c 357 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_crc.c 531 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_crc_ex.c 270 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dac.c 785 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dac_ex.c 1187 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c 905 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c 706 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c 1000 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c 543 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c 4868 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c 347 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2s.c 1411 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_irda.c 2379 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_iwdg.c 280 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_msp_template.c 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c 1404 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c 470 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c 290 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c 1332 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c 980 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rtc.c 1391 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rtc_ex.c 1594 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_smartcard.c 2303 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_smartcard_ex.c 210 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_smbus.c 2172 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_spi.c 3910 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_spi_ex.c 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c 5495 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c 2012 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_timebase_rtc_alarm_template.c 315 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_timebase_rtc_wakeup_template.c 294 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_timebase_tim_template.c 184 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tsc.c 824 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c 2796 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c 621 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_usart.c 2521 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_wwdg.c 320 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_adc.c 567 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_comp.c 331 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_crc.c 137 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_crs.c 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_dac.c 292 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_dma.c 412 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_exti.c 238 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_gpio.c 279 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_i2c.c 245 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_pwr.c 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_rcc.c 599 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_rtc.c 740 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_spi.c 545 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_tim.c 1175 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usart.c 529 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_utils.c 620 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/MDK-ARM/CCT6_BtLdr.uvprojx 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_BootLoader/Src/main.c 85 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_TestApp1/Inc/LindarPos.h 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_TestApp1/Inc/OrdLidar.h 174 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_TestApp1/Inc/SLP.h 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_TestApp1/Inc/functions.h 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_TestApp1/Inc/main.h 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_TestApp1/Inc/stm32f0xx_hal_conf.h 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_TestApp1/MDK-ARM/CCT6_TestApp1/F030CCT6_TestApp1.hex 3300 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_TestApp1/MDK-ARM/F030CCT6_TestApp1.uvprojx 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_TestApp1/Src/BSP.c 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_TestApp1/Src/LidarPos.c 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_TestApp1/Src/OrdLidar.c 348 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_TestApp1/Src/SLP.c 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_TestApp1/Src/YDLidar.c 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_TestApp1/Src/functions.c 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_TestApp1/Src/main.c 251 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CCT6_TestApp1/Src/stm32f0xx_it.c 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CleanUp2.bat 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ComLib/Inc/KBus.h 249 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ComLib/Inc/KBusDefine.h 259 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ComLib/Inc/KLink.h 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ComLib/Inc/KMachine.h 100 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ComLib/Inc/functions.h 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ComLib/Src/BSP.c 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ComLib/Src/KBus.c 1064 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ComLib/Src/KLink.c 72 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ComLib/Src/KMachine.c 210 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ComLib/Src/debug.c 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ComLib/Src/functions.c 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_flash.h 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_flash.c 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Ext_FP0/Inc/FP0.h 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Ext_FP0/Src/FP0.c 290 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Ext_FP0/Src/main.c 703 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Ext_FPx/Inc/BoardType.h 补丁 | 查看 | 原始文档 | blame | 历史
Ext_FPx/Inc/FPx.h 165 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Ext_FPx/Inc/main.h 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Ext_FPx/Inc/stm32f0xx_hal_conf.h 补丁 | 查看 | 原始文档 | blame | 历史
Ext_FPx/Inc/stm32f0xx_ll_rcc.h 补丁 | 查看 | 原始文档 | blame | 历史
Ext_FPx/Src/BoardType.c 补丁 | 查看 | 原始文档 | blame | 历史
Ext_FPx/Src/FPx.c 304 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Ext_FPx/Src/main.c 794 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Ext_FPx/Src/main.c.old 705 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Ethernet/W5500/w5500.c 367 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Ethernet/W5500/w5500.h 2054 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Ethernet/loopback.c 225 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Ethernet/loopback.h 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Ethernet/socket.c 688 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Ethernet/socket.h 466 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Ethernet/wizchip_conf.c 636 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Ethernet/wizchip_conf.h 548 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Inc/BSP.h 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Inc/BoardType.h 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Inc/main.h 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Inc/stm32f0xx_hal_conf.h 324 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Internet/DHCP/dhcp.c 976 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Internet/DHCP/dhcp.h 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Internet/DNS/dns.c 563 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Internet/DNS/dns.h 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Radio/inc/crc.h 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Radio/inc/radio.h 379 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Radio/inc/sx126x-board.h 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Radio/inc/sx126x.h 1115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Radio/src/crc.c 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Radio/src/radio.c 1151 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Radio/src/sx126x-board.c 216 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Radio/src/sx126x.c 716 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Src/BSP.c 828 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Src/BoardType.c 补丁 | 查看 | 原始文档 | blame | 历史
KAD/Src/main.c 623 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KBus/Inc/BoardType.h 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
KBus/Src/main.c 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KNet.uvmpw 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KPLC/Ethernet/W5500/w5500.c 367 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KPLC/Ethernet/W5500/w5500.h 2054 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KPLC/Ethernet/loopback.c 225 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KPLC/Ethernet/loopback.h 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KPLC/Ethernet/socket.c 688 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KPLC/Ethernet/socket.h 466 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KPLC/Ethernet/wizchip_conf.c 636 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KPLC/Ethernet/wizchip_conf.h 548 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KPLC/Inc/BoardType.h 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KPLC/Inc/main.h 补丁 | 查看 | 原始文档 | blame | 历史
KPLC/Inc/stm32f0xx_hal_conf.h 324 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KPLC/Internet/DHCP/dhcp.c 976 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KPLC/Internet/DHCP/dhcp.h 152 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KPLC/Internet/DNS/dns.c 563 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KPLC/Internet/DNS/dns.h 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KPLC/Radio/inc/crc.h 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KPLC/Radio/inc/radio.h 379 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KPLC/Radio/inc/sx126x-board.h 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KPLC/Radio/inc/sx126x.h 1115 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KPLC/Radio/src/crc.c 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KPLC/Radio/src/radio.c 1151 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KPLC/Radio/src/sx126x-board.c 216 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KPLC/Radio/src/sx126x.c 716 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KPLC/Src/BoardType.c 补丁 | 查看 | 原始文档 | blame | 历史
KPLC/Src/main.c 713 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/KSingleLineBus.uvopt 275 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/KSingleLineBus.uvproj 420 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/Listings/demo.m51 658 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/ModBus.c 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/Modbus.h 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/Objects/ModBus.obj 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/Objects/SLP.obj 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/Objects/STARTUP.obj 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/Objects/delay.__i 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/Objects/delay.obj 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/Objects/demo 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/Objects/demo.hex 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/Objects/gpio.__i 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/Objects/gpio.obj 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/Objects/main.__i 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/Objects/main.obj 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/Objects/pwm.__i 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/Objects/tim.__i 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/Objects/tim.obj 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/Objects/uart.__i 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/Objects/unibus.__i 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/SLP.c 129 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/SLP.h 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/STARTUP.A51 198 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/drivers/gpio.c 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/drivers/gpio.h 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/drivers/pwm.c 181 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/drivers/pwm.h 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/drivers/tim.c 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/drivers/tim.h 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/drivers/uart.c 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/drivers/uart.h 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/main.h 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/user/delay.c 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/user/delay.h 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/user/main.c 465 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/user/main.h 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/user/modbus.c 779 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/user/modbus.h 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/user/unibus.c 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/user/unibus.h 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
KSingleLineBus/按钮控制器引脚映射.txt 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MDK-ARM/EXT_FPX/Ext_FPx.hex 1425 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MDK-ARM/EXT_FPX/Ext_FPx.sct 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MDK-ARM/EXT_FPX/F030C8T6_Ext_FPx.sct 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MDK-ARM/EXT_FPX/F030C8T6_Ext_FPx_V105.hex 1444 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MDK-ARM/F030C8T6_Ext_FP0.uvprojx 729 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MDK-ARM/F030C8T6_Ext_FPx.uvprojx 734 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MDK-ARM/F030C8T6_KAD.uvprojx 714 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MDK-ARM/F030C8T6_KBox.uvprojx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MDK-ARM/F030C8T6_KBus.uvprojx 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MDK-ARM/F030C8T6_KBus/F030C8T6_KBus.hex 1415 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MDK-ARM/F030C8T6_KBus/F030C8T6_KBus.sct 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MDK-ARM/F030C8T6_KLink.uvprojx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MDK-ARM/F030C8T6_KMini.uvprojx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MDK-ARM/F030C8T6_KNet.uvprojx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MDK-ARM/F030C8T6_KPLC.uvprojx 714 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MDK-ARM/F030C8T6_Radio/F030C8T6_Ext_FPx.map 2694 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MDK-ARM/F030C8T6_Radio/F030C8T6_KBus.map 2633 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MDK-ARM/F030C8T6_Radio/F030C8T6_KLink.map 2661 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MDK-ARM/F030C8T6_Radio/F030C8T6_Radio_LLCC68.hex 1954 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MDK-ARM/F030C8T6_Radio/F030C8T6_Radio_LLCC68.map 3479 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MDK-ARM/F030C8T6_Radio_LLCC68.uvprojx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
MDK-ARM/F030CCT6_KMini.uvprojx 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BootLoader/.gitignore
File was deleted
BootLoader/.mxproject
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/CommonTables/arm_common_tables.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/CommonTables/arm_const_structs.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_sin_cos_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_sin_cos_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sqrt_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sqrt_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_init_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_fast_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_fast_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_f64.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f64.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_opt_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_opt_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_opt_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_opt_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_opt_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_opt_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_opt_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_opt_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_opt_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_fast_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_fast_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_fast_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_fast_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_cmplx_mult_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_cmplx_mult_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_cmplx_mult_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_inverse_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_inverse_f64.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_fast_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_fast_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_float.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_float.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_q7.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_float.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_bitreversal.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_init_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_init_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_init_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix8_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_fast_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_fast_init_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_f32.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_q31.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_q15.c
File was deleted
BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_q31.c
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f030x6.h
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f030x8.h
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f030xc.h
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f031x6.h
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f038xx.h
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f048xx.h
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f051x8.h
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f058xx.h
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f070x6.h
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f070xb.h
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f071xb.h
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f078xx.h
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f091xc.h
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f098xx.h
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f030x6.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f030x8.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f030xc.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f031x6.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f038xx.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f042x6.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f048xx.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f051x8.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f058xx.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f070x6.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f070xb.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f071xb.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f072xb.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f078xx.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f091xc.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f098xx.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030x6.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030x8.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030xc.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f031x6.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f038xx.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f042x6.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f048xx.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f051x8.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f058xx.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f070x6.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f070xb.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f071xb.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f072xb.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f078xx.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f091xc.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f098xx.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f030x6_flash.icf
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f030x8_flash.icf
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f030xc_flash.icf
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f031x6_flash.icf
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f038xx_flash.icf
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f042x6_flash.icf
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f048xx_flash.icf
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f051x8_flash.icf
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f058xx_flash.icf
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f070x6_flash.icf
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f070xb_flash.icf
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f071xb_flash.icf
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f072xb_flash.icf
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f078xx_flash.icf
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f091xc_flash.icf
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f091xc_sram.icf
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f098xx_flash.icf
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f098xx_sram.icf
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f030x6.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f030x8.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f030xc.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f031x6.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f038xx.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f042x6.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f048xx.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f051x8.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f058xx.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f070x6.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f070xb.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f071xb.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f072xb.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f078xx.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f091xc.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f098xx.s
File was deleted
BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c
File was deleted
BootLoader/Drivers/CMSIS/Include/arm_common_tables.h
File was deleted
BootLoader/Drivers/CMSIS/Include/arm_const_structs.h
File was deleted
BootLoader/Drivers/CMSIS/Include/arm_math.h
File was deleted
BootLoader/Drivers/CMSIS/Include/cmsis_armcc.h
File was deleted
BootLoader/Drivers/CMSIS/Include/cmsis_armcc_V6.h
File was deleted
BootLoader/Drivers/CMSIS/Include/cmsis_gcc.h
File was deleted
BootLoader/Drivers/CMSIS/Include/core_cm0.h
File was deleted
BootLoader/Drivers/CMSIS/Include/core_cm0plus.h
File was deleted
BootLoader/Drivers/CMSIS/Include/core_cm3.h
File was deleted
BootLoader/Drivers/CMSIS/Include/core_cm4.h
File was deleted
BootLoader/Drivers/CMSIS/Include/core_cm7.h
File was deleted
BootLoader/Drivers/CMSIS/Include/core_cmFunc.h
File was deleted
BootLoader/Drivers/CMSIS/Include/core_cmInstr.h
File was deleted
BootLoader/Drivers/CMSIS/Include/core_cmSimd.h
File was deleted
BootLoader/Drivers/CMSIS/Include/core_sc000.h
File was deleted
BootLoader/Drivers/CMSIS/Include/core_sc300.h
File was deleted
BootLoader/Drivers/CMSIS/Lib/ARM/arm_cortexM0b_math.lib
Binary files differ
BootLoader/Drivers/CMSIS/Lib/ARM/arm_cortexM0l_math.lib
Binary files differ
BootLoader/Drivers/CMSIS/Lib/GCC/libarm_cortexM0l_math.a
Binary files differ
BootLoader/Drivers/CMSIS/RTOS/Template/cmsis_os.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32_assert_template.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_can.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cec.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_comp.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_conf_template.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_crc.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_crc_ex.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dac.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dac_ex.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2s.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_irda.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_irda_ex.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_iwdg.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rtc.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rtc_ex.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_smartcard.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_smartcard_ex.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_smbus.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi_ex.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tsc.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_usart.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_usart_ex.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_wwdg.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_adc.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_bus.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_comp.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_cortex.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_crc.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_crs.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_dac.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_dma.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_exti.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_gpio.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_i2c.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_iwdg.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_pwr.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_rcc.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_rtc.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_spi.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_system.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_tim.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usart.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_utils.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_wwdg.h
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cec.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_comp.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_crc.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_crc_ex.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dac.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dac_ex.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2s.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_irda.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_iwdg.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_msp_template.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rtc.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rtc_ex.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_smartcard.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_smartcard_ex.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_smbus.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_spi.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_spi_ex.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_timebase_rtc_alarm_template.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_timebase_rtc_wakeup_template.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_timebase_tim_template.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tsc.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_usart.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_wwdg.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_adc.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_comp.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_crc.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_crs.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_dac.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_dma.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_exti.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_gpio.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_i2c.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_pwr.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_rcc.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_rtc.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_spi.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_tim.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usart.c
File was deleted
BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_utils.c
File was deleted
BootLoader/F030C8T6_Test2.ioc
File was deleted
BootLoader/Inc/GlobalDef.h
File was deleted
BootLoader/Inc/debug.h
File was deleted
BootLoader/Inc/functions.h
File was deleted
BootLoader/Inc/main.h
File was deleted
BootLoader/Inc/shell.h
File was deleted
BootLoader/Inc/stm32_assert.h
File was deleted
BootLoader/Inc/stm32f0xx_hal_conf.h
File was deleted
BootLoader/Inc/stm32f0xx_it.h
File was deleted
BootLoader/MDK-ARM/BootLoader.uvprojx
File was deleted
BootLoader/MDK-ARM/DebugConfig/F030C8T6_BtLdr_STM32F030C8Tx.dbgconf
File was deleted
BootLoader/MDK-ARM/DebugConfig/F030C8T6_STM32F030C8Tx.dbgconf
File was deleted
BootLoader/MDK-ARM/DebugConfig/F030C8T6_Test2_STM32F030C8Tx.dbgconf
File was deleted
BootLoader/MDK-ARM/F030C8T6_BtLdr/F030C8T6_BtLdr.hex
File was deleted
BootLoader/MDK-ARM/F030C8T6_BtLdr/F030C8T6_BtLdr.sct
File was deleted
BootLoader/MDK-ARM/JLinkSettings.ini
File was deleted
BootLoader/MDK-ARM/debug.ini
File was deleted
BootLoader/MDK-ARM/pemicro_connection_settings.ini
File was deleted
BootLoader/MDK-ARM/startup_stm32f030x6.s
File was deleted
BootLoader/MDK-ARM/startup_stm32f030x8.s
File was deleted
BootLoader/MDK-ARM/startup_stm32f030xc.s
File was deleted
BootLoader/Src/BSP.c
File was deleted
BootLoader/Src/GlobalDef.c
File was deleted
BootLoader/Src/debug.c
File was deleted
BootLoader/Src/functions.c
File was deleted
BootLoader/Src/main.c
File was deleted
BootLoader/Src/shell.c
File was deleted
BootLoader/Src/stm32f0xx_hal_msp.c
File was deleted
BootLoader/Src/stm32f0xx_it.c
File was deleted
BootLoader/Src/system_stm32f0xx.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/CommonTables/arm_common_tables.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/CommonTables/arm_const_structs.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_sin_cos_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_sin_cos_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sqrt_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sqrt_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_init_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_fast_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_fast_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_f64.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f64.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_opt_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_opt_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_opt_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_opt_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_opt_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_opt_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_opt_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_opt_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_opt_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_fast_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_fast_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_fast_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_fast_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_cmplx_mult_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_cmplx_mult_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_cmplx_mult_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_inverse_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_inverse_f64.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_fast_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_fast_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_float.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_float.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_q7.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_float.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_bitreversal.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_init_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_init_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_init_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix8_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_fast_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_fast_init_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_f32.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_q15.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_q31.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f030x6.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f030x8.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f030xc.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f031x6.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f038xx.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f048xx.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f051x8.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f058xx.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f070x6.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f070xb.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f071xb.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f078xx.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f091xc.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f098xx.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f030x6.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f030x8.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f030xc.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f031x6.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f038xx.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f042x6.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f048xx.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f051x8.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f058xx.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f070x6.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f070xb.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f071xb.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f072xb.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f078xx.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f091xc.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f098xx.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030x6.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030x8.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030xc.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f031x6.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f038xx.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f042x6.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f048xx.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f051x8.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f058xx.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f070x6.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f070xb.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f071xb.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f072xb.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f078xx.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f091xc.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f098xx.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f030x6_flash.icf
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f030x8_flash.icf
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f030xc_flash.icf
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f031x6_flash.icf
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f038xx_flash.icf
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f042x6_flash.icf
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f048xx_flash.icf
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f051x8_flash.icf
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f058xx_flash.icf
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f070x6_flash.icf
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f070xb_flash.icf
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f071xb_flash.icf
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f072xb_flash.icf
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f078xx_flash.icf
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f091xc_flash.icf
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f091xc_sram.icf
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f098xx_flash.icf
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f098xx_sram.icf
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f030x6.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f030x8.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f030xc.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f031x6.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f038xx.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f042x6.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f048xx.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f051x8.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f058xx.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f070x6.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f070xb.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f071xb.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f072xb.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f078xx.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f091xc.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f098xx.s
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Include/arm_common_tables.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Include/arm_const_structs.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Include/arm_math.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Include/cmsis_armcc.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Include/cmsis_armcc_V6.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Include/cmsis_gcc.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Include/core_cm0.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Include/core_cm0plus.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Include/core_cm3.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Include/core_cm4.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Include/core_cm7.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Include/core_cmFunc.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Include/core_cmInstr.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Include/core_cmSimd.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Include/core_sc000.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Include/core_sc300.h
File was deleted
C8T6_BootLoader/Drivers/CMSIS/Lib/ARM/arm_cortexM0b_math.lib
Binary files differ
C8T6_BootLoader/Drivers/CMSIS/Lib/ARM/arm_cortexM0l_math.lib
Binary files differ
C8T6_BootLoader/Drivers/CMSIS/Lib/GCC/libarm_cortexM0l_math.a
Binary files differ
C8T6_BootLoader/Drivers/CMSIS/RTOS/Template/cmsis_os.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32_assert_template.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_can.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cec.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_comp.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_conf_template.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_crc.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_crc_ex.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dac.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dac_ex.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2s.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_irda.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_irda_ex.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_iwdg.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rtc.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rtc_ex.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_smartcard.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_smartcard_ex.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_smbus.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi_ex.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tsc.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_usart.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_usart_ex.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_wwdg.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_adc.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_bus.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_comp.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_cortex.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_crc.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_crs.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_dac.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_dma.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_exti.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_gpio.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_i2c.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_iwdg.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_pwr.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_rcc.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_rtc.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_spi.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_system.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_tim.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usart.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_utils.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_wwdg.h
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cec.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_comp.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_crc.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_crc_ex.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dac.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dac_ex.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2s.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_irda.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_iwdg.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_msp_template.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rtc.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rtc_ex.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_smartcard.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_smartcard_ex.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_smbus.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_spi.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_spi_ex.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_timebase_rtc_alarm_template.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_timebase_rtc_wakeup_template.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_timebase_tim_template.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tsc.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_usart.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_wwdg.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_adc.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_comp.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_crc.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_crs.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_dac.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_dma.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_exti.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_gpio.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_i2c.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_pwr.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_rcc.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_rtc.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_spi.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_tim.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usart.c
File was deleted
C8T6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_utils.c
File was deleted
C8T6_BootLoader/MDK-ARM/C8T6_BtLdr.uvprojx
@@ -335,7 +335,7 @@
              <MiscControls></MiscControls>
              <Define>USE_FULL_LL_DRIVER,USE_HAL_DRIVER</Define>
              <Undefine></Undefine>
              <IncludePath>../Inc;../Src;           ../Drivers/STM32F0xx_HAL_Driver/Inc;           ../Drivers/CMSIS/Device/ST/STM32F0xx/Include;           ../Drivers/CMSIS/Include;    ../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy</IncludePath>
              <IncludePath>../Inc;../Src;           ../../Drivers/STM32F0xx_HAL_Driver/Inc;           ../../Drivers/CMSIS/Device/ST/STM32F0xx/Include;           ../../Drivers/CMSIS/Include;    ../../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy</IncludePath>
            </VariousControls>
          </Cads>
          <Aads>
@@ -447,152 +447,152 @@
            <File>
              <FileName>stm32f0xx_ll_gpio.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_gpio.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_gpio.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_exti.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_exti.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_exti.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_adc.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_adc.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_adc.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_dma.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_dma.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_dma.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_spi.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_spi.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_spi.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_tim.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_tim_ex.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_usart.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usart.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usart.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_rcc.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_rcc.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_rcc.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_rcc.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_rcc_ex.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_i2c.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_i2c_ex.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_gpio.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_dma.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_cortex.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_pwr.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_pwr_ex.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_flash.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_flash_ex.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_utils.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_utils.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_utils.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_tim.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_tim.c</FilePath>
              <FilePath>..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_tim.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_comp.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_comp.c</FilePath>
              <FilePath>..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_comp.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_crc.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_crc.c</FilePath>
              <FilePath>..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_crc.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_crs.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_crs.c</FilePath>
              <FilePath>..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_crs.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_dac.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_dac.c</FilePath>
              <FilePath>..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_dac.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_i2c.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_i2c.c</FilePath>
              <FilePath>..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_i2c.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_pwr.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_pwr.c</FilePath>
              <FilePath>..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_pwr.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_rtc.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_rtc.c</FilePath>
              <FilePath>..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_rtc.c</FilePath>
            </File>
          </Files>
        </Group>
C8T6_BootLoader/Src/main.c
@@ -72,6 +72,63 @@
/* USER CODE BEGIN 0 */
/* Table of CRC values for high-order byte */
const uint8_t crctablehi[] = {
    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
    0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
    0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,
    0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81,
    0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
    0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,
    0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
    0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
    0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,
    0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
    0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
    0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
    0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,
    0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
    0x40
};
/* Table of CRC values for low-order byte */
const uint8_t crctablelo[] = {
    0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4,
    0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09,
    0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD,
    0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,
    0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7,
    0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A,
    0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE,
    0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26,
    0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2,
    0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F,
    0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB,
    0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5,
    0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91,
    0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C,
    0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88,
    0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C,
    0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80,
    0x40
};
uint16_t crc16table(const uint8_t *ptr, uint16_t len)
{
    uint8_t crchi = 0xff;
    uint8_t crclo = 0xff;
    uint16_t index;
    while (len--)
    {
        index = crclo ^ *ptr++;
        crclo = crchi ^ crctablehi[index];
        crchi = crctablelo[index];
    }
    return (crchi << 8 | crclo);
}
void HAL_SYSTICK_Callback(void)
{
static int Count=0;
@@ -85,6 +142,17 @@
}
#define  ApplicationAddress  0x08001000  //应用程序首地址定义
#define  NewAppInfoBlockAddress 0x08008000                // 存储的新应用程序信息块的地址
#define  NewAppAddress 0x08009000                // 存储的新应用程序的地址
typedef struct tagNewAppInfoBlock
{
    unsigned short Sign;
    unsigned short Version;
    unsigned int Length;
    unsigned int nCRC;
}stNewAppInfoBlock,*pNewAppInfoBlock;
typedef void (*pFunction)(void);     //定义跳转函数指针类型
@@ -92,28 +160,66 @@
/*跳转到应用程序处理函数*/
static void JumpToApplication(void)
{
  uint32_t StackAddr;           //应用程序栈地址
  uint32_t ResetVector;         //应用程序中断向量表的地址
  uint32_t AppStackAddr;           //应用程序栈地址
  uint32_t AppResetVector;         //应用程序中断向量表的地址
 
  pFunction JumpToApp;          //定义跳转函数指针
 
  __set_PRIMASK(1);    //关闭全局中断
 
  StackAddr = *(__IO uint32_t*)ApplicationAddress;              //0x08001000;
  ResetVector = *(__IO uint32_t*)(ApplicationAddress + 4);      //0x08001004;
  AppStackAddr = *(__IO uint32_t*)ApplicationAddress;              //0x08001000;
  AppResetVector = *(__IO uint32_t*)(ApplicationAddress + 4);      //0x08001004;
 
  if((StackAddr&0x2FFC0000)==0x20000000)        //检查栈顶地址是否合法.
  if((AppStackAddr&0x2FFC0000)==0x20000000)        //检查栈顶地址是否合法.
  {
        __disable_irq();
        memcpy((void *)0x20000000,(void *)ApplicationAddress,0xc0);
        
        __set_MSP(StackAddr);                       //初始化应用程序栈指针
        __set_MSP(AppStackAddr);                       //初始化应用程序栈指针
        LL_APB1_GRP2_EnableClock(LL_APB1_GRP2_PERIPH_SYSCFG);
        LL_SYSCFG_SetRemapMemory(LL_SYSCFG_REMAP_SRAM);
//        SYSCFG
    JumpToApp = (pFunction)ResetVector;
    JumpToApp = (pFunction)AppResetVector;
    JumpToApp();
  }
}
int EraseFlashMem(void * pAddrFlash, unsigned int Pages)
{
    HAL_StatusTypeDef res;
    res = HAL_FLASH_Unlock();
    uint32_t ErrNo;
    FLASH_EraseInitTypeDef erase1;
    erase1.NbPages=Pages;
    erase1.PageAddress=(unsigned int)pAddrFlash;
    erase1.TypeErase=FLASH_TYPEERASE_PAGES;
    res = HAL_FLASHEx_Erase(&erase1,&ErrNo);
    res = HAL_FLASH_Lock();
    return res;
}
int EraseAndWriteToFlashMem(void * pBuf, void * pAddrFlash, unsigned int nByteSize)
{
    HAL_StatusTypeDef res;
    res = HAL_FLASH_Unlock();
    uint32_t ErrNo;
    FLASH_EraseInitTypeDef erase1;
    erase1.NbPages= (nByteSize-1) / FLASH_PAGE_SIZE + 1;
    erase1.PageAddress=(unsigned int)pAddrFlash;
    erase1.TypeErase=FLASH_TYPEERASE_PAGES;
    res = HAL_FLASHEx_Erase(&erase1,&ErrNo);
    for (int i=0;i<(nByteSize+1)/2;i++)
    {
        res = HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, (uint32_t)pAddrFlash + i*2, ((uint16_t *)pBuf)[i]);
        if ((i&0x7ff) == 0) {ToggleRunLed();                ToggleErrLed();}
    }
    res = HAL_FLASH_Lock();
    return res;
}
/* USER CODE END 0 */
@@ -160,6 +266,28 @@
    SetRunLed(1);                //Turn On Run Led
    SetErrLed(0);                //Turn Off Err Led
// check for app update
///*
    pNewAppInfoBlock ptheNewAppInfoBlock = (pNewAppInfoBlock) NewAppInfoBlockAddress;
    if (ptheNewAppInfoBlock->Sign == 0x55AA)
    {
        //check length and CRC;
        int length = ptheNewAppInfoBlock->Length;
        int nCRC = crc16table((uint8_t *)NewAppAddress,length);
        if (nCRC == ptheNewAppInfoBlock->nCRC)
        {
            // copy program
            EraseAndWriteToFlashMem((void *)NewAppAddress,(void*)ApplicationAddress,length);
            // verify copyed program
            //int nCRC2 = CalCRC((void *)NewAppAddress,length);
            //erease infoBlock
            EraseFlashMem((void *)NewAppInfoBlockAddress,1);
        }
    }
// */
int nCount=0;
  while (1)
  {
C8T6_TestApp1/Inc/BoardType.h
@@ -37,7 +37,7 @@
    
    BOARD_V30_MINI    =11,        //11  Mini Board
    BOARD_V45_NET = 13,
    BOARD_EXT_FP0 = 14,
    BOARD_EXT_FPx = 14,
    BOARD_V50_RADIO_16 = 15, 
    BOARD_V50_RADIO_8 = 16, 
    
@@ -77,6 +77,5 @@
#define DINPUT        0
#define DOUTPUT        0
#endif
#endif  /* __BOARDTYPE_H__ */
C8T6_TestApp1/Inc/FP0.h
File was deleted
C8T6_TestApp1/Inc/FPx.h
New file
@@ -0,0 +1,165 @@
/**
  ******************************************************************************
  * @file           : FPx.h
  * @brief          : Header for FPx.c file.
  *                   This file contains the function defines of the FPx .
  ******************************************************************************
    */
#ifndef __FPX_H__
#define __FPX_H__
#include "main.h"
enum enCMD_TYPE
{
    CMD_0_QUERY =0,
    CMD_1=0x1,    //
    CMD_2=0x2,    //
    CMD_3_EXCHG=0x3,    //
    CMD_4=0x4,    //
    CMD_5=0x5,    //
    CMD_6=0x6,    //
    CMD_7_END=0x7,    //
};
typedef struct tagFPxPinStat
{
    unsigned short OE:1;
    unsigned short RST:1;
    unsigned short SYN:1;
    unsigned short ACK:1;
    unsigned short SEL:1;
}stFPxPinStat;
#define RST_PORT GPIOB
#define RST_PIN LL_GPIO_PIN_9
#define SYN_PORT GPIOF
#define SYN_PIN LL_GPIO_PIN_6
#define ACK_PORT GPIOA
#define ACK_PIN LL_GPIO_PIN_11
#define FPxDE_PORT GPIOF
#define FPxDE_PIN LL_GPIO_PIN_7
#define OE_PORT GPIOB
#define OE_PIN LL_GPIO_PIN_6
#define SEL_PORT GPIOB
#define SEL_PIN LL_GPIO_PIN_8
#define FPX_WX_NUM 16
#define FPX_WY_NUM 16
#define GetRSTPin() LL_GPIO_IsInputPinSet(RST_PORT,RST_PIN)
#define GetSYNPin() LL_GPIO_IsInputPinSet(SYN_PORT,SYN_PIN)
#define GetOEPin() LL_GPIO_IsInputPinSet(OE_PORT,OE_PIN)
#define GetSELPin() (1) //LL_GPIO_IsInputPinSet(SEL_PORT,SEL_PIN)
#define GetACKPin() LL_GPIO_IsInputPinSet(ACK_PORT,ACK_PIN)
#define SetACKPin_0() LL_GPIO_ResetOutputPin(ACK_PORT,ACK_PIN)
#define SetACKPin_1() LL_GPIO_SetOutputPin(ACK_PORT,ACK_PIN)
#define SetFPxDEPin_0() LL_GPIO_ResetOutputPin(FPxDE_PORT,FPxDE_PIN)
#define SetFPxDEPin_1() LL_GPIO_SetOutputPin(FPxDE_PORT,FPxDE_PIN)
typedef void *(*FPxCBFuncDef) (int nEvent, void * pBuf, int);    //callback func ,prama s is  void *,void *,int; return void *;
// extern uint8_t PktBuf1[64];
extern uint8_t PktBuf2[64];
extern uint8_t PktLen1;
extern uint8_t PktLen2;
typedef struct tagFPxStat{
    uint8_t bConfiged;
    uint8_t nConfigStationId;
    uint8_t nInputBytes;
    uint8_t nOutputBytes;
    uint8_t bReceiving;
    uint8_t nReceivedLen;
    uint8_t bSending;
    uint8_t bSentLen;
    volatile uint8_t oldSYN;
    int RSTCount0;
    int bFirstReq;
    FPxCBFuncDef FPxCBFunc;
    uint8_t bFPxCallBackFuncSet;
}stFPxStat;
extern stFPxStat FPxStat;
#pragma anon_unions
typedef struct tagFPxMem{
    union {
    unsigned short WLX[16];        //虚拟的X和Y,远程通讯时映射用。
    unsigned char WLXB[32];        //虚拟的X和Y,远程通讯时映射用。
    };
    union {
    unsigned short WLY[16];        //虚拟的X和Y,远程通讯时映射用。
    unsigned char WLYB[32];        //虚拟的X和Y,远程通讯时映射用。
    };
}stFPxMem;
extern stFPxMem FPxMem;
typedef struct tagFPxQuRplyPkt
{
    uint8_t Hdr1;
    uint8_t nInputBytes;
    uint8_t nOutputBytes;
    uint8_t nParam1;
    uint8_t nBCC;
    uint8_t End1;
}stFPxQuRplyPkt, *pFPxQuRplyPkt;
typedef struct tagFPxEXGRplyPkt
{
    uint8_t Hdr1;
    uint8_t nInputBytes[6];
    uint8_t nBCC;
    uint8_t End1;
}stFPxEXGRplyPkt, * pFPxEXGRplyPkt;
uint8_t FPx_Init(int nChilds);
uint8_t FPx_SetIOCount(int nInputBytes, int nOutputBytes);
uint8_t FPx_Proc(void);
uint8_t FPxCalBCC(uint8_t* pBuf, uint8_t len1);
uint8_t FPxCheckPkt(uint8_t * pBuf, uint8_t len1);
uint8_t FPxParsePkt(uint8_t * pBuf, uint8_t len1);
uint8_t FPxSendPkt(uint8_t * pBuf, uint8_t len1);
int FPxSetCallBackFunc(FPxCBFuncDef Func1);
enum enumFPxCallBackEvent
{
    evFPxNone = 0,
    evFPxCreate = 1,
    evFPxConnected = 2,
    evFPxDisConnected = 3,
    evFPxClosed = 4,
    evFPxStateChange =5,
    evFPxTimeSync=6,
    evFPxDataUpdate =7,
};
#endif  /* __FPX_H__ */
C8T6_TestApp1/Inc/main.h
@@ -74,7 +74,9 @@
/* #define USE_FULL_ASSERT    1U */
/* USER CODE BEGIN Private defines */
#include "KBus.h"
extern stKBusDef KBus1;
/* USER CODE END Private defines */
#ifdef __cplusplus
C8T6_TestApp1/MDK-ARM/EventRecorderStub.scvd
C8T6_TestApp1/MDK-ARM/F030C8T6_Ext_FPx_New.uvprojx
New file
@@ -0,0 +1,734 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd">
  <SchemaVersion>2.1</SchemaVersion>
  <Header>### uVision Project, (C) Keil Software</Header>
  <Targets>
    <Target>
      <TargetName>F030C8T6_TestApp1</TargetName>
      <ToolsetNumber>0x4</ToolsetNumber>
      <ToolsetName>ARM-ADS</ToolsetName>
      <pCCUsed>5060422::V5.06 update 4 (build 422)::ARMCC</pCCUsed>
      <TargetOption>
        <TargetCommonOption>
          <Device>STM32F030C8Tx</Device>
          <Vendor>STMicroelectronics</Vendor>
          <PackID>Keil.STM32F0xx_DFP.2.1.1</PackID>
          <PackURL>https://www.keil.com/pack/</PackURL>
          <Cpu>IRAM(0x20000000,0x00002000) IROM(0x08000000,0x00010000) CPUTYPE("Cortex-M0") CLOCK(12000000) ELITTLE</Cpu>
          <FlashUtilSpec></FlashUtilSpec>
          <StartupFile></StartupFile>
          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F0xx_64 -FS08000000 -FL010000 -FP0($$Device:STM32F030C8Tx$CMSIS\Flash\STM32F0xx_64.FLM))</FlashDriverDll>
          <DeviceId>0</DeviceId>
          <RegisterFile>$$Device:STM32F030C8Tx$Drivers\CMSIS\Device\ST\STM32F0xx\Include\stm32f0xx.h</RegisterFile>
          <MemoryEnv></MemoryEnv>
          <Cmp></Cmp>
          <Asm></Asm>
          <Linker></Linker>
          <OHString></OHString>
          <InfinionOptionDll></InfinionOptionDll>
          <SLE66CMisc></SLE66CMisc>
          <SLE66AMisc></SLE66AMisc>
          <SLE66LinkerMisc></SLE66LinkerMisc>
          <SFDFile>$$Device:STM32F030C8Tx$CMSIS\SVD\STM32F0x0.svd</SFDFile>
          <bCustSvd>0</bCustSvd>
          <UseEnv>0</UseEnv>
          <BinPath></BinPath>
          <IncludePath></IncludePath>
          <LibPath></LibPath>
          <RegisterFilePath></RegisterFilePath>
          <DBRegisterFilePath></DBRegisterFilePath>
          <TargetStatus>
            <Error>0</Error>
            <ExitCodeStop>0</ExitCodeStop>
            <ButtonStop>0</ButtonStop>
            <NotGenerated>0</NotGenerated>
            <InvalidFlash>1</InvalidFlash>
          </TargetStatus>
          <OutputDirectory>.\F030C8T6_TestApp1\</OutputDirectory>
          <OutputName>F030C8T6_Ext_FPx_New</OutputName>
          <CreateExecutable>1</CreateExecutable>
          <CreateLib>0</CreateLib>
          <CreateHexFile>1</CreateHexFile>
          <DebugInformation>1</DebugInformation>
          <BrowseInformation>1</BrowseInformation>
          <ListingPath>.\F030C8T6_TestApp1\</ListingPath>
          <HexFormatSelection>1</HexFormatSelection>
          <Merge32K>0</Merge32K>
          <CreateBatchFile>0</CreateBatchFile>
          <BeforeCompile>
            <RunUserProg1>0</RunUserProg1>
            <RunUserProg2>0</RunUserProg2>
            <UserProg1Name></UserProg1Name>
            <UserProg2Name></UserProg2Name>
            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
            <nStopU1X>0</nStopU1X>
            <nStopU2X>0</nStopU2X>
          </BeforeCompile>
          <BeforeMake>
            <RunUserProg1>0</RunUserProg1>
            <RunUserProg2>0</RunUserProg2>
            <UserProg1Name></UserProg1Name>
            <UserProg2Name></UserProg2Name>
            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
            <nStopB1X>0</nStopB1X>
            <nStopB2X>0</nStopB2X>
          </BeforeMake>
          <AfterMake>
            <RunUserProg1>1</RunUserProg1>
            <RunUserProg2>0</RunUserProg2>
            <UserProg1Name>fromelf --bin --output="@L.bin" "#L"</UserProg1Name>
            <UserProg2Name></UserProg2Name>
            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
            <nStopA1X>0</nStopA1X>
            <nStopA2X>0</nStopA2X>
          </AfterMake>
          <SelectedForBatchBuild>0</SelectedForBatchBuild>
          <SVCSIdString></SVCSIdString>
        </TargetCommonOption>
        <CommonProperty>
          <UseCPPCompiler>0</UseCPPCompiler>
          <RVCTCodeConst>0</RVCTCodeConst>
          <RVCTZI>0</RVCTZI>
          <RVCTOtherData>0</RVCTOtherData>
          <ModuleSelection>0</ModuleSelection>
          <IncludeInBuild>1</IncludeInBuild>
          <AlwaysBuild>0</AlwaysBuild>
          <GenerateAssemblyFile>0</GenerateAssemblyFile>
          <AssembleAssemblyFile>0</AssembleAssemblyFile>
          <PublicsOnly>0</PublicsOnly>
          <StopOnExitCode>3</StopOnExitCode>
          <CustomArgument></CustomArgument>
          <IncludeLibraryModules></IncludeLibraryModules>
          <ComprImg>0</ComprImg>
        </CommonProperty>
        <DllOption>
          <SimDllName>SARMCM3.DLL</SimDllName>
          <SimDllArguments> -REMAP </SimDllArguments>
          <SimDlgDll>DARMCM1.DLL</SimDlgDll>
          <SimDlgDllArguments>-pCM0</SimDlgDllArguments>
          <TargetDllName>SARMCM3.DLL</TargetDllName>
          <TargetDllArguments> </TargetDllArguments>
          <TargetDlgDll>TARMCM1.DLL</TargetDlgDll>
          <TargetDlgDllArguments>-pCM0</TargetDlgDllArguments>
        </DllOption>
        <DebugOption>
          <OPTHX>
            <HexSelection>1</HexSelection>
            <HexRangeLowAddress>0</HexRangeLowAddress>
            <HexRangeHighAddress>0</HexRangeHighAddress>
            <HexOffset>0</HexOffset>
            <Oh166RecLen>16</Oh166RecLen>
          </OPTHX>
        </DebugOption>
        <Utilities>
          <Flash1>
            <UseTargetDll>1</UseTargetDll>
            <UseExternalTool>0</UseExternalTool>
            <RunIndependent>0</RunIndependent>
            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
            <Capability>1</Capability>
            <DriverSelection>4096</DriverSelection>
          </Flash1>
          <bUseTDR>1</bUseTDR>
          <Flash2>BIN\UL2CM3.DLL</Flash2>
          <Flash3>"" ()</Flash3>
          <Flash4></Flash4>
          <pFcarmOut></pFcarmOut>
          <pFcarmGrp>Application/MDK-ARM</pFcarmGrp>
          <pFcArmRoot></pFcArmRoot>
          <FcArmLst>0</FcArmLst>
        </Utilities>
        <TargetArmAds>
          <ArmAdsMisc>
            <GenerateListings>0</GenerateListings>
            <asHll>1</asHll>
            <asAsm>1</asAsm>
            <asMacX>1</asMacX>
            <asSyms>1</asSyms>
            <asFals>1</asFals>
            <asDbgD>1</asDbgD>
            <asForm>1</asForm>
            <ldLst>0</ldLst>
            <ldmm>1</ldmm>
            <ldXref>1</ldXref>
            <BigEnd>0</BigEnd>
            <AdsALst>1</AdsALst>
            <AdsACrf>1</AdsACrf>
            <AdsANop>0</AdsANop>
            <AdsANot>0</AdsANot>
            <AdsLLst>1</AdsLLst>
            <AdsLmap>1</AdsLmap>
            <AdsLcgr>1</AdsLcgr>
            <AdsLsym>1</AdsLsym>
            <AdsLszi>1</AdsLszi>
            <AdsLtoi>1</AdsLtoi>
            <AdsLsun>1</AdsLsun>
            <AdsLven>1</AdsLven>
            <AdsLsxf>1</AdsLsxf>
            <RvctClst>0</RvctClst>
            <GenPPlst>0</GenPPlst>
            <AdsCpuType>"Cortex-M0"</AdsCpuType>
            <RvctDeviceName></RvctDeviceName>
            <mOS>0</mOS>
            <uocRom>0</uocRom>
            <uocRam>0</uocRam>
            <hadIROM>1</hadIROM>
            <hadIRAM>1</hadIRAM>
            <hadXRAM>0</hadXRAM>
            <uocXRam>0</uocXRam>
            <RvdsVP>0</RvdsVP>
            <hadIRAM2>0</hadIRAM2>
            <hadIROM2>0</hadIROM2>
            <StupSel>8</StupSel>
            <useUlib>1</useUlib>
            <EndSel>0</EndSel>
            <uLtcg>0</uLtcg>
            <nSecure>0</nSecure>
            <RoSelD>3</RoSelD>
            <RwSelD>3</RwSelD>
            <CodeSel>0</CodeSel>
            <OptFeed>0</OptFeed>
            <NoZi1>0</NoZi1>
            <NoZi2>0</NoZi2>
            <NoZi3>0</NoZi3>
            <NoZi4>0</NoZi4>
            <NoZi5>0</NoZi5>
            <Ro1Chk>0</Ro1Chk>
            <Ro2Chk>0</Ro2Chk>
            <Ro3Chk>0</Ro3Chk>
            <Ir1Chk>1</Ir1Chk>
            <Ir2Chk>0</Ir2Chk>
            <Ra1Chk>0</Ra1Chk>
            <Ra2Chk>0</Ra2Chk>
            <Ra3Chk>0</Ra3Chk>
            <Im1Chk>1</Im1Chk>
            <Im2Chk>0</Im2Chk>
            <OnChipMemories>
              <Ocm1>
                <Type>0</Type>
                <StartAddress>0x0</StartAddress>
                <Size>0x0</Size>
              </Ocm1>
              <Ocm2>
                <Type>0</Type>
                <StartAddress>0x0</StartAddress>
                <Size>0x0</Size>
              </Ocm2>
              <Ocm3>
                <Type>0</Type>
                <StartAddress>0x0</StartAddress>
                <Size>0x0</Size>
              </Ocm3>
              <Ocm4>
                <Type>0</Type>
                <StartAddress>0x0</StartAddress>
                <Size>0x0</Size>
              </Ocm4>
              <Ocm5>
                <Type>0</Type>
                <StartAddress>0x0</StartAddress>
                <Size>0x0</Size>
              </Ocm5>
              <Ocm6>
                <Type>0</Type>
                <StartAddress>0x0</StartAddress>
                <Size>0x0</Size>
              </Ocm6>
              <IRAM>
                <Type>0</Type>
                <StartAddress>0x20000000</StartAddress>
                <Size>0x2000</Size>
              </IRAM>
              <IROM>
                <Type>1</Type>
                <StartAddress>0x8000000</StartAddress>
                <Size>0x10000</Size>
              </IROM>
              <XRAM>
                <Type>0</Type>
                <StartAddress>0x0</StartAddress>
                <Size>0x0</Size>
              </XRAM>
              <OCR_RVCT1>
                <Type>1</Type>
                <StartAddress>0x0</StartAddress>
                <Size>0x0</Size>
              </OCR_RVCT1>
              <OCR_RVCT2>
                <Type>1</Type>
                <StartAddress>0x0</StartAddress>
                <Size>0x0</Size>
              </OCR_RVCT2>
              <OCR_RVCT3>
                <Type>1</Type>
                <StartAddress>0x0</StartAddress>
                <Size>0x0</Size>
              </OCR_RVCT3>
              <OCR_RVCT4>
                <Type>1</Type>
                <StartAddress>0x8001000</StartAddress>
                <Size>0xf000</Size>
              </OCR_RVCT4>
              <OCR_RVCT5>
                <Type>1</Type>
                <StartAddress>0x0</StartAddress>
                <Size>0x0</Size>
              </OCR_RVCT5>
              <OCR_RVCT6>
                <Type>0</Type>
                <StartAddress>0x0</StartAddress>
                <Size>0x0</Size>
              </OCR_RVCT6>
              <OCR_RVCT7>
                <Type>0</Type>
                <StartAddress>0x0</StartAddress>
                <Size>0x0</Size>
              </OCR_RVCT7>
              <OCR_RVCT8>
                <Type>0</Type>
                <StartAddress>0x0</StartAddress>
                <Size>0x0</Size>
              </OCR_RVCT8>
              <OCR_RVCT9>
                <Type>0</Type>
                <StartAddress>0x200000c0</StartAddress>
                <Size>0x1f40</Size>
              </OCR_RVCT9>
              <OCR_RVCT10>
                <Type>0</Type>
                <StartAddress>0x0</StartAddress>
                <Size>0x0</Size>
              </OCR_RVCT10>
            </OnChipMemories>
            <RvctStartVector></RvctStartVector>
          </ArmAdsMisc>
          <Cads>
            <interw>1</interw>
            <Optim>7</Optim>
            <oTime>0</oTime>
            <SplitLS>0</SplitLS>
            <OneElfS>1</OneElfS>
            <Strict>0</Strict>
            <EnumInt>0</EnumInt>
            <PlainCh>0</PlainCh>
            <Ropi>0</Ropi>
            <Rwpi>0</Rwpi>
            <wLevel>2</wLevel>
            <uThumb>0</uThumb>
            <uSurpInc>0</uSurpInc>
            <uC99>1</uC99>
            <useXO>0</useXO>
            <v6Lang>3</v6Lang>
            <v6LangP>3</v6LangP>
            <vShortEn>1</vShortEn>
            <vShortWch>1</vShortWch>
            <v6Lto>0</v6Lto>
            <v6WtE>0</v6WtE>
            <v6Rtti>0</v6Rtti>
            <VariousControls>
              <MiscControls></MiscControls>
              <Define>USE_FULL_LL_DRIVER,USE_HAL_DRIVER</Define>
              <Undefine></Undefine>
              <IncludePath>../Inc;../Src;../../Drivers/STM32F0xx_HAL_Driver/Inc;../../Drivers/CMSIS/Device/ST/STM32F0xx/Include;../../Drivers/CMSIS/Include;../../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy;../../Comlib/Inc</IncludePath>
            </VariousControls>
          </Cads>
          <Aads>
            <interw>1</interw>
            <Ropi>0</Ropi>
            <Rwpi>0</Rwpi>
            <thumb>0</thumb>
            <SplitLS>0</SplitLS>
            <SwStkChk>0</SwStkChk>
            <NoWarn>0</NoWarn>
            <uSurpInc>0</uSurpInc>
            <useXO>0</useXO>
            <uClangAs>0</uClangAs>
            <VariousControls>
              <MiscControls></MiscControls>
              <Define></Define>
              <Undefine></Undefine>
              <IncludePath></IncludePath>
            </VariousControls>
          </Aads>
          <LDads>
            <umfTarg>1</umfTarg>
            <Ropi>0</Ropi>
            <Rwpi>0</Rwpi>
            <noStLib>0</noStLib>
            <RepFail>1</RepFail>
            <useFile>0</useFile>
            <TextAddressRange>0x08000000</TextAddressRange>
            <DataAddressRange>0x20000000</DataAddressRange>
            <pXoBase></pXoBase>
            <ScatterFile></ScatterFile>
            <IncludeLibs></IncludeLibs>
            <IncludeLibsPath></IncludeLibsPath>
            <Misc></Misc>
            <LinkerInputFile></LinkerInputFile>
            <DisabledWarnings></DisabledWarnings>
          </LDads>
        </TargetArmAds>
      </TargetOption>
      <Groups>
        <Group>
          <GroupName>Application/MDK-ARM</GroupName>
          <Files>
            <File>
              <FileName>startup_stm32f030x8.s</FileName>
              <FileType>2</FileType>
              <FilePath>.\startup_stm32f030x8.s</FilePath>
            </File>
          </Files>
        </Group>
        <Group>
          <GroupName>ComLib/Inc</GroupName>
          <Files>
            <File>
              <FileName>BSP.h</FileName>
              <FileType>5</FileType>
              <FilePath>..\../ComLib\Inc\BSP.h</FilePath>
            </File>
            <File>
              <FileName>debug.h</FileName>
              <FileType>5</FileType>
              <FilePath>..\../ComLib\Inc\debug.h</FilePath>
            </File>
            <File>
              <FileName>functions.h</FileName>
              <FileType>5</FileType>
              <FilePath>..\../ComLib\Inc\functions.h</FilePath>
            </File>
            <File>
              <FileName>GlobalDef.h</FileName>
              <FileType>5</FileType>
              <FilePath>..\../ComLib\Inc\GlobalDef.h</FilePath>
            </File>
            <File>
              <FileName>KBus.h</FileName>
              <FileType>5</FileType>
              <FilePath>..\../ComLib\Inc\KBus.h</FilePath>
            </File>
            <File>
              <FileName>KLink.h</FileName>
              <FileType>5</FileType>
              <FilePath>..\../ComLib\Inc\KLink.h</FilePath>
            </File>
            <File>
              <FileName>KMachine.h</FileName>
              <FileType>5</FileType>
              <FilePath>..\../ComLib\Inc\KMachine.h</FilePath>
            </File>
            <File>
              <FileName>ModbusRTU.h</FileName>
              <FileType>5</FileType>
              <FilePath>..\../ComLib\Inc\ModbusRTU.h</FilePath>
            </File>
            <File>
              <FileName>MyQueue.h</FileName>
              <FileType>5</FileType>
              <FilePath>..\../ComLib\Inc\MyQueue.h</FilePath>
            </File>
            <File>
              <FileName>PLCfunctions.h</FileName>
              <FileType>5</FileType>
              <FilePath>..\../ComLib\Inc\PLCfunctions.h</FilePath>
            </File>
            <File>
              <FileName>shell.h</FileName>
              <FileType>5</FileType>
              <FilePath>..\../ComLib\Inc\shell.h</FilePath>
            </File>
            <File>
              <FileName>stm32_assert.h</FileName>
              <FileType>5</FileType>
              <FilePath>..\../ComLib\Inc\stm32_assert.h</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_it.h</FileName>
              <FileType>5</FileType>
              <FilePath>..\../ComLib\Inc\stm32f0xx_it.h</FilePath>
            </File>
          </Files>
        </Group>
        <Group>
          <GroupName>ComLib/Src</GroupName>
          <Files>
            <File>
              <FileName>debug.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\../ComLib\Src\debug.c</FilePath>
            </File>
            <File>
              <FileName>functions.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\../ComLib\Src\functions.c</FilePath>
            </File>
            <File>
              <FileName>GlobalDef.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\../ComLib\Src\GlobalDef.c</FilePath>
            </File>
            <File>
              <FileName>KBus.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\../ComLib\Src\KBus.c</FilePath>
            </File>
            <File>
              <FileName>KLink.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\../ComLib\Src\KLink.c</FilePath>
            </File>
            <File>
              <FileName>ModbusRTU.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\../ComLib\Src\ModbusRTU.c</FilePath>
            </File>
            <File>
              <FileName>MyQueue.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\../ComLib\Src\MyQueue.c</FilePath>
            </File>
            <File>
              <FileName>PLCfunctions.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\../ComLib\Src\PLCfunctions.c</FilePath>
            </File>
            <File>
              <FileName>shell.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\../ComLib\Src\shell.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_msp.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\../ComLib\Src\stm32f0xx_hal_msp.c</FilePath>
            </File>
            <File>
              <FileName>KMachine.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\../ComLib\Src\KMachine.c</FilePath>
            </File>
            <File>
              <FileName>BSP.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\../ComLib\Src\BSP.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_it.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\../ComLib\Src\stm32f0xx_it.c</FilePath>
            </File>
          </Files>
        </Group>
        <Group>
          <GroupName>Inc</GroupName>
          <Files>
            <File>
              <FileName>BoardType.h</FileName>
              <FileType>5</FileType>
              <FilePath>..\Inc\BoardType.h</FilePath>
            </File>
            <File>
              <FileName>main.h</FileName>
              <FileType>5</FileType>
              <FilePath>..\Inc\main.h</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_rcc.h</FileName>
              <FileType>5</FileType>
              <FilePath>..\Inc\stm32f0xx_ll_rcc.h</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_conf.h</FileName>
              <FileType>5</FileType>
              <FilePath>..\Inc\stm32f0xx_hal_conf.h</FilePath>
            </File>
            <File>
              <FileName>FPx.h</FileName>
              <FileType>5</FileType>
              <FilePath>..\Inc\FPx.h</FilePath>
            </File>
          </Files>
        </Group>
        <Group>
          <GroupName>Application/User</GroupName>
          <Files>
            <File>
              <FileName>main.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\Src\main.c</FilePath>
            </File>
            <File>
              <FileName>BoardType.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\Src\BoardType.c</FilePath>
            </File>
            <File>
              <FileName>FPx.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\Src\FPx.c</FilePath>
            </File>
          </Files>
        </Group>
        <Group>
          <GroupName>Drivers/CMSIS</GroupName>
          <Files>
            <File>
              <FileName>system_stm32f0xx.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\../ComLib\Src\system_stm32f0xx.c</FilePath>
            </File>
          </Files>
        </Group>
        <Group>
          <GroupName>Drivers/STM32F0xx_HAL_Driver</GroupName>
          <Files>
            <File>
              <FileName>stm32f0xx_ll_gpio.c</FileName>
              <FileType>1</FileType>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_gpio.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_exti.c</FileName>
              <FileType>1</FileType>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_exti.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_adc.c</FileName>
              <FileType>1</FileType>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_adc.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_dma.c</FileName>
              <FileType>1</FileType>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_dma.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_spi.c</FileName>
              <FileType>1</FileType>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_spi.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_tim.c</FileName>
              <FileType>1</FileType>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_tim_ex.c</FileName>
              <FileType>1</FileType>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_usart.c</FileName>
              <FileType>1</FileType>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usart.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_rcc.c</FileName>
              <FileType>1</FileType>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_rcc.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_rcc.c</FileName>
              <FileType>1</FileType>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_rcc_ex.c</FileName>
              <FileType>1</FileType>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal.c</FileName>
              <FileType>1</FileType>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_i2c.c</FileName>
              <FileType>1</FileType>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_i2c_ex.c</FileName>
              <FileType>1</FileType>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_gpio.c</FileName>
              <FileType>1</FileType>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_dma.c</FileName>
              <FileType>1</FileType>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_cortex.c</FileName>
              <FileType>1</FileType>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_pwr.c</FileName>
              <FileType>1</FileType>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_pwr_ex.c</FileName>
              <FileType>1</FileType>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_flash.c</FileName>
              <FileType>1</FileType>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_flash_ex.c</FileName>
              <FileType>1</FileType>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_utils.c</FileName>
              <FileType>1</FileType>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_utils.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_tim.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\../Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_tim.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_flash.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_flash.c</FilePath>
            </File>
          </Files>
        </Group>
        <Group>
          <GroupName>::CMSIS</GroupName>
        </Group>
      </Groups>
    </Target>
  </Targets>
  <RTE>
    <apis/>
    <components>
      <component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.4.0" condition="ARMv6_7_8-M Device">
        <package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.7.0"/>
        <targetInfos>
          <targetInfo name="F030C8T6_TestApp1"/>
        </targetInfos>
      </component>
    </components>
    <files/>
  </RTE>
</Project>
C8T6_TestApp1/MDK-ARM/F030C8T6_TestApp1.uvprojx
File was deleted
C8T6_TestApp1/MDK-ARM/F030C8T6_TestApp1/F030C8T6_TestApp1.hex
@@ -1,19 +1,19 @@
:020000040800F2
:10100000001C0020CD10000805410008CD2200087A
:10100000681F0020CD1000085945000889230008FA
:1010100000000000000000000000000000000000D0
:10102000000000000000000000000000954D0008D6
:1010300000000000000000004D430008415300087C
:101020000000000000000000000000000550000863
:101030000000000000000000F945000845550008C8
:10104000DF10000800000000DF100008DF100008BB
:10105000DF100008DF100008DF100008DF100008B4
:1010600000000000DF10000815140008B514000887
:1010600000000000DF100008F513000895140008C8
:10107000DF100008DF100008DF100008000000008B
:10108000DF1000085154000800000000DF100008C5
:10108000DF1000085556000800000000DF100008BF
:10109000DF100008DF100008DF100008DF10000874
:1010A000DF100008994C0008DF1000089154000878
:1010B000195500080348854600F0D6F80048004757
:1010C000555E0008001C00200844F0470448804793
:1010A000DF1000083D4F0008DF1000086D560008F3
:1010B000F55600080348854600F0D6F8004800477A
:1010C0006D600008681F00200844F047044880470E
:1010D00004480047FEE7FEE7FEE7FEE7FEE7FEE71F
:1010E000F5530008B510000830B50B460146002046
:1010E000F9550008B510000830B50B460146002040
:1010F0002022012409E00D46D5409D4205D31D461E
:101100009540491B2546954040191546521E002D15
:10111000F1DC30BD70B500242546002801DA012439
@@ -39,1403 +39,1429 @@
:1012500000902046641E0028DFDC019B0098294690
:10126000324607B0F0BD0000064C0125064E05E0F1
:10127000E36807CC2B430C3C98471034B442F7D3B7
:10128000FFF71CFFAC680008CC68000810B5202AE6
:10128000FFF71CFF646A0008846A000810B5202A72
:1012900004DB0146203A9140002010BD91402023FC
:1012A0009C1A0346E3401943904010BDF0B51E4F11
:1012B00085B03D691D4C6D1C3D612668A468029493
:1012C00000966C4665800190218162810393386AA3
:1012D00001011748091800220B4610461C5CFF2C20
:1012E00004D1401C1028F9D3002A17D010226846D8
:1012F00000F012F9386AF861401C386200010121DF
:1012F00000F002F9386AF861401C386200010121EF
:1013000009031030884201D900203862F868094981
:10131000401CF8604867002005B0F0BD1022684608
:1013200004F06CFAE6E7000058010020606800084D
:1013300000D0000828130020002911D0826852181C
:1013200004F074FBE6E7000064010020186A00087E
:1013300000D0000870160020002911D082685218D1
:1013400082604368934200DCD21A00238361C36841
:10135000934201D101234361826002695218026104
:101360000846704710B500231A4605E0845C240740
:10137000240FE318DBB2521C8A42F7DB1807000F78
:1013800010BD0000F0B50020174D0127144B154C7F
:101390003F03E86017E0625A144EB24212D1EA6885
:1013A0000919521CEA604A882E69B24205D92A619D
:1013B000E8614A686A61421C2A624988994201D2FE
:1013C0000B46A861401C0101B942E4D3286A000120
:1013D0001030B84201D900202862E868F0BD000052
:1013E000FFC99A3B00D0000858010020AA55000010
:1013F00010B50421054800F0B2F8054800218161CC
:10140000C1610161C1600162084610BD00D00008E1
:101410005801002070B5234DE86A401CE862224C58
:1014200020688006C00F11D02868296B40182860FA
:10143000296B28465830064600F058F82020606096
:10144000B06900280AD000202863687220688005EF
:10145000C00F02D001204002606070BD304600F035
:101460000FFA12494A78A3585B085B00A350F3684F
:1014700032684E78D2180C4B0C33F2500A4B4A7833
:101480001B1DD658360C36040643D6504978625890
:1014900001231A4362502863054881688022114362
:1014A0008160D3E7C8020020000002407568000890
:1014B000003801400B49C86A401CC8620A480268EB
:1014C0009204D20F05D001225203426000220A6327
:1014D0004A7201688903C90F02D0012149044160A1
:1014E000704700005C0300200000024010B5002996
:1014F00010D0C26843685218934200DCD21A00230D
:101500004361C2608468944204D101228261836095
:10151000C360C361084610BDF0B585B016460D46E0
:10152000074600F00DFB701E800A401C0290002050
:101530000090019503A9684600F06AFA0024760835
:1015400007E060003A5A41190023012000F0BAFA7E
:10155000641CA642F5D800F0ABFA05B0F0BD7FB52B
:101560000D46044600F0ECFA00206A4631C203A999
:10157000684600F04DFA00F09BFA04B070BD000020
:1015800006490020C861064801690422114301612F
:10159000016940221143016170470000E0170020FB
:1015A00000200240064A0021D16106490A6902234F
:1015B0001A430A6148610869402210430861704774
:1015C000E01700200020024010B5054B0022DA6130
:1015D000044A1369012423431361018010BD0000F4
:1015E000E01700200020024010B50B4A0020D1680F
:1015F000CB060A4904D5C86902231843C8611020E4
:10160000D3685B0705D5CB6901242343CB61042153
:101610000843D06010BD000000200240E017002009
:1016200070B5044600F09EFA0546104E0AE0601CB4
:1016300008D0002C04D000F095FA401BA04201D93C
:10164000032070BDF068C007F1D1F068800601D5B5
:101650002020F060F068C00602D4F068400703D58F
:10166000FFF7C2FF012070BD002070BD00200240C6
:1016700010B5104C0020207220710F48007800280F
:1016800002D0012802D002E0012000E00220A07078
:10169000E0700120C0020921C906886288620749FA
:1016A000802088620A2000F0A5F900F08DF96061C1
:1016B000002010BD7C01002017010020001400480C
:1016C000FEB5364D01214902284601F059FF009030
:1016D000012001904021324801F052FF04460121CF
:1016E0000920C902C00601F04BFF4021284601F045
:1016F00047FF00262B4D00280BD0002013212A4A3B
:101700004901EF7803E013185B181E75401CB842BE
:10171000F9DB0098002802D100F056F968612869C9
:10172000012700280ED1009800280BD000F04CF9BA
:101730006969401A1D49884204DBF8020921C9067B
:1017400088612F61002C06D1E868002803D0184872
:10175000018DC18406850198002817D0002C17D070
:10176000E86800280AD12F716E7112480268402182
:101770008A4302606E7102680A430260287A002878
:1017800008D12879002805D12F7102E0002C01D161
:101790002E716E71EC600020FEBD00000004004858
:1017A000001400487C010020A80D00201027000034
:1017B00028150020003800400A07120F012191402F
:1017C000014201D001207047002070470A07120F24
:1017D00001219140014201D0012070470020704753
:1017E000F8B50B051B0E254C5B001C1909239B014A
:1017F000E31800930523DB01E618012307469B024B
:101800000A07E5180020120F3B0004F031F8090622
:101810000A0E12191D21282F2E00FF2928D8009802
:101820001BE0FF2924D8009808E0FF2920D8B08ABF
:1018300018E080291CD20F2080012018808E11E032
:10184000802915D2A88A0DE0402911D2B08E09E076
:1018500040290DD20B2080010EE0808A02E0802911
:1018600006D2A88E1146FFF7B1FFF8BD802901D33B
:101870000020F8BD0920C0012018EEE7A80D0020C7
:10188000C1688268914201DA501A7047914202DCC5
:101890004269002A02D04068401A704780690028D7
:1018A000FBD000207047C2688168914201DA501A6B
:1018B0007047914202DC8269002A02D04068401AD7
:1018C000704740690028FBD000207047064901227C
:1018D0008969120308180101914201D3FF380138C8
:1018E00002490001401870475801002000D000084C
:1018F000F0B5334C4B001C190923DB01E5180B2311
:101900000246DB010020E318892A25D00EDC2C4F8B
:101910002C4B4E00F619F618803A130003F0A8FF7E
:10192000091F1F152125292E333A15008D2A3FD076
:101930000CDC8A2A33D08B2A35D08C2A05D1402959
:101940003ADA0B2080012018808EF0BD992A03D04E
:10195000A12A01D0FE2AF8D180292DDA2EE00846EE
:10196000F0BD102928DAB08AF0BD102924DAB08E33
:10197000F0BD102920DA0520C00108E008291BDA93
:101980000F208001DFE7082916DA012080022018E5
:10199000808AF0BD80290FDA3420285EF0BD8029CE
:1019A0000ADAA88AF0BD402906DA0D208001CAE7CC
:1019B000402901DAA88EF0BD0020F0BD988EF0BD60
:1019C000A80D00204002000010B5074A9068074BA0
:1019D00099699468A04201D090689969044A51437A
:1019E0000914401A10BD0000D800002000E000E0FB
:1019F0005505000031B500F0B5F8009C0546601CA7
:101A000000D0641C00F0AEF8401BA042FAD338BDF1
:101A1000F8B5054623480F46017E012601290BD063
:101A2000012101762868204C012807D02046FFF7C5
:101A3000F7FD002813D030E00220F8BD2046FFF764
:101A4000EFFD002829D1FFF79BFD2046FFF7E8FDB9
:101A50000646164801690422914301611DE00020F9
:101A6000C04338606C6812E02046FFF79BFD0E48CB
:101A7000FFF7D6FD06460D48016902229143016138
:101A8000002E01D03C6008E0012080022418A868E4
:101A9000696880024018A042E6D802480021017619
:101AA0003046F8BDE017002050C30000002002407F
:101AB0000348016980221143016100207047000042
:101AC00000200240F0B51FB405461A480024017EEC
:101AD00016461F46012907D0012101761648FFF757
:101AE0009FFD002803D021E0022005B0F0BD012DAC
:101AF0001AD0022D18D0042516E0220130463946AE
:101B0000FFF742FB81B2019862001018FFF75CFDFD
:101B10000948FFF785FD09490A69520852000A6120
:101B2000002803D1641CE4B2AC42E6D30149002290
:101B30000A76DAE7E017002050C3000000200240D8
:101B400005480169090605D5044941600449416019
:101B500000207047012070470020024023016745A4
:101B6000AB89EFCD0148006870470000C401002038
:101B700002480168491C016070470000C401002050
:101B800010B506480168102211430160002000F0E2
:101B900007F800F017F8002010BD000000200240F8
:101BA00010B5044600F040F97D21C900FFF79CFA0A
:101BB00000F070FB00222146501E00F025F80020A6
:101BC00010BD000008B50F488169012211438161F1
:101BD000816911400091C26901040A43C261C06970
:101BE0000022084000901146501F00F00DF800221E
:101BF0001146901E00F008F800221146501E00F019
:101C000003F808BD0010024010B502F0A9FA10BD9B
:101C1000F8B504460068364DC00354D5E86900267F
:101C2000C00007D4E86929040843E861E86908406E
:101C3000012600902F480168C90511D401460868A3
:101C40008A1510430860FFF78DFF074604E0FFF791
:101C500089FFC01B642823D826480068C005F6D534
:101C6000286A0321090208401FD062680A408242A4
:101C70001BD0286A2A6A8843012109040A432A6280
:101C80002A6A8A432A622862C0070ED0FFF76AFFD9
:101C9000074607E0FFF766FFC11B1748814201D9DD
:101CA0000320F8BD286A8007F4D5286A03210902B9
:101CB0008843616808432862002E04D0E869012146
:101CC00009078843E8612078C00705D0286BA16820
:101CD00080088000084328632078800605D5286B9B
:101CE00010218843E168084328630020F8BD000004
:101CF000001002400070004088130000F8B5044650
:101D000044480E460068C007C00FB0420AD241489E
:101D1000016849084900314301600068C007C00FED
:101D2000B0425CD120783C4F800705D57868F0211F
:101D30008843A168084378602078C0073FD0606876
:101D4000012813D03968022813D08907002946DA00
:101D500079688908890001437960FFF703FF054628
:101D6000606801280DD0022817D024E03968890363
:101D7000ECE78901EAE7FFF7F5FE411B27488142BE
:101D800017D878680007800F0128F4D117E0FFF713
:101D9000E9FE411B214881420BD878680007800F7B
:101DA0000228F4D10BE0FFF7DDFE411B1B48814206
:101DB00001D90320F8BD78680007800FF3D11548DA
:101DC0000168C907C90FB1420BD901684908490028
:101DD000314301600068C007C00FB04201D001204C
:101DE000F8BD2078400706D57868072109028843A6
:101DF000E1680843786000F01DF87968084A090630
:101E0000090F515CC840074908600020FFF7C8FE71
:101E10000020F8BD0020024000100240881300009E
:101E200094680008C0010020014800687047000065
:101E3000C001002010B513A00FC888B06C460FC4B5
:101E400014A00FC80FC4174B5A680C20114601404C
:101E50001548042902D0082902D0144808B010BD42
:101E60009102090F6C46645CD96A04AB0907090F3B
:101E7000595CD20303D5FFF737F96043EEE70C480E
:101E80006043EBE702030405060708090A0B0C0D83
:101E90000E0F10100102030405060708090A0B0CB7
:101EA0000D0E0F1000100240001BB70000127A0048
:101EB00000093D00FEB504460078D04DC00746D06D
:101EC00068680007800F012807D068680007800F46
:101ED000022809D16868C00306D52868800336D572
:101EE000606800287ED032E0012160680904012882
:101EF0000AD08A00002801D005280FD0286888431E
:101F000028602868904301E02868084328606068DA
:101F1000002810D0FFF726FE064608E02868104388
:101F20002860F1E7FFF71EFE801B64286FD8286841
:101F30008003F7D50BE0FFF715FE064604E0FFF738
:101F400011FE801B6428F1D828688003F7D420781C
:101F50000126800700283BDA68680007800F07D059
:101F600068680007800F022809D16868C00306D49A
:101F70002868800715D5E068012833D111E0E068B2
:101F80000028286815D030432860FFF7EBFD07468E
:101F900004E0FFF7E7FDC01B0228C7D828688007C8
:101FA000F7D52868F82188432169C90008432860CB
:101FB0000EE0400840002860FFF7D4FD074604E02B
:101FC000FFF7D0FDC01B0228B0D828688007F7D4DF
:101FD0002078000724D5E0690028686A10D03043D3
:101FE000686200E007E1FFF7BDFD074604E0FFF788
:101FF000B9FDC01B022899D8686A8007F7D50FE0A1
:10200000400840006862FFF7ADFD074605E09DE02F
:10201000FFF7A8FDC01B022888D8686A8007F7D49C
:10202000207804274007002860DA00200190E86942
:10203000C00008D4E969B8060143E961E9690140D3
:102040000120009101906E480168C90511D4016812
:10205000821511430160FFF785FD009005E0FFF751
:1020600081FD0099401A642870D865480068C00551
:10207000F5D5A06801280AD0002801D0052810D085
:10208000286A400840002862286AB84301E0286AAC
:1020900030432862A068002812D0FFF763FD00904B
:1020A0000AE0286A38432862F1E7FFF75BFD0099F0
:1020B000411A5448814249D8286A8007F5D50DE075
:1020C000FFF750FD009006E0FFF74CFD0099411A24
:1020D0004C4881423AD8286A8007F5D401980028F4
:1020E00004D0E969012000078143E9612078C00636
:1020F00035D5606901280CD0401D686B23D038436A
:102100006863686B400840006863FFF72BFD064674
:1021100022E0686B38436863686B30436863FFF79D
:1021200021FD064604E0FFF71DFD801B02285BD859
:10213000686B8007F7D5686BF8218843A169C900EF
:10214000084368630BE0B8436863F4E74CE0FFF7CB
:1021500009FD801B022847D8686B8007F7D4206AE6
:10216000002846D069680907890F022943D0012752
:102170003F060228286805D0B8432860FFF7F2FC24
:10218000044633E0B8432860FFF7ECFC064604E061
:10219000FFF7E8FC801B022826D828688001F7D4C6
:1021A000E86AE16A000900010843E862616AA06A1E
:1021B000084369683D221204914308436860286817
:1021C00038432860FFF7CEFC044604E0FFF7CAFC62
:1021D000001B022808D828688001F7D509E0FFF71E
:1021E000C1FC001B022801D90320FEBD2868800124
:1021F000F5D40020FEBD0120FEBD0000001002400D
:102200000070004088130000042204490428086973
:1022100002D09043086170471043FBE700E000E004
:10222000154801686431016014480168491C016067
:1022300013490868401C08601249134AC868401CCA
:10224000C860904216DB0020C8601048816D491CB0
:102250008165016D491C0165416D491C41650C4951
:10226000088B002806D0401E80B20883782801D948
:102270007820088370470000E0000020DC00002088
:1022800028010020980100201027000028130020BA
:102290005C150020094910B5401E884201D9012073
:1022A00010BD074C60610321081F01F059FF002099
:1022B000A06107202061002010BD0000FFFFFF008B
:1022C00000E000E010B5FFF7ABFF10BDFEE7000037
:1022D00010B500210F4A0846516043009B18401C6E
:1022E0001981FF28F9DD002005230B4ADB0144009A
:1022F000A418E418401CA1821028F8DB0020092350
:10230000DB014400A418E418401CA186FF28F8DD76
:10231000002010BD200B0020A80D002010B5402883
:1023200002DB0020C04310BD10221143C200094B44
:102330004000D218C01858240D23A1529B0100213F
:10234000C3189986E300C018818603480068506569
:10235000084610BDA80D0020C401002070B5044639
:102360001E463830049D03F057FD20462A4631466C
:10237000583003F051FD002070BD000070B5104DC5
:10238000064601462846FEF7C5FE0E4C6061FFF783
:102390004BFD2946FEF7A8FEE0600B483146006879
:1023A0000546FEF7A1FE20612A46002307480F21BB
:1023B000FEF7C4FE208060696430A060002070BD1C
:1023C00040420F00D8000020C00100200000404221
:1023D000034610B50020024602E09C5C6040521C9F
:1023E0008A42FADB10BD0000F8B508460D460978B0
:1023F000552901D0252903D0012A01DD451C521E93
:10240000344F602479792B786143334C0919334C6C
:10241000252B30D0A3685B1CA360CB695B1CCB6110
:10242000B97800290FD0F97800290FD001292C495B
:1024300013D007231B02C9180A7501462948FEF765
:10244000B4FE0020F8700020C043F8BD2549264B9B
:1024500055390A750146224807E037235B01C91840
:102460000A750146204B1E482033C018FEF79DFE1A
:10247000F878401CE6E76E79802E06DDE068401CA7
:10248000E060086A401C0862DDE7334608339A4280
:1024900008D2086A401C0862E068401CE060022024
:1024A000C043F8BDB11DFFF793FFA9198979814297
:1024B0000DD02069401C2061797960204143064895
:1024C0000818416A491C41620320C043F8BD00203E
:1024D000F8BD00000C01002010060020DC030020E5
:1024E000A80D0020BD140020D5060000F8B50E464A
:1024F00004462520069F079D089920706270A670EB
:10250000E37027712F46002008376619372B1AD041
:1025100009DC1A46303A130003F0AAF9072615150C
:10252000262626172600612B0DD006DC382B0AD074
:10253000412B08D0422B17D105E0622B03D0632B2F
:1025400001D0642B10D1657102E06571002D03D0BC
:102550002A46A01DFEF729FEA91D2046FFF738FFD9
:10256000B0710D20F0713846F8BD0000F1B584B0AF
:10257000FFF7F8FA0446FFF727FA564DE9790029E4
:1025800006D0297A002903D0E968411A322905D8F2
:10259000E9687D22411AD200914264D9297A4E4BD2
:1025A000002963D06A79602672434C4E0121B150F4
:1025B000642159646979491CC9B26971EA7A914206
:1025C00008D9A96A411AE962A862A979491CA971C6
:1025D000012169714249098A424E6A794249B35CD4
:1025E0000B70B3185B784B706026134673433B4EF9
:1025F000270AF3588B700026CE700C714F71270C90
:102600008F71270ECF716F46E8603878AF798008F8
:10261000BF078000BF0F38436F463870002B55D07E
:10262000EF2318403870009008232E480193029140
:10263000412300211030FFF759FF2A49024610318B
:10264000049802F01FFC6979602041432348081870
:102650004168491C4160C268E9688A1A4263C160E6
:102660006C63EE712E72002005B0F0BD696A491CE2
:1026700069621E494A68521C4A606A79602116469E
:102680004E431649B44671180E69761C0E614E69A8
:10269000761C4E61EF79002F02D18F6A7F1C8F620A
:1026A0008F69BE4200D98E610C49032E82D9002663
:1026B0006746CE51C82199640A4910398E540C4995
:1026C0008A18092189015118CE7473E71023184321
:1026D000A8E700000C0100202813002010060020AD
:1026E0005C1500200005002010090020DC030020FC
:1026F000A80D0020F7B5087886B00C46552801D003
:10270000252802D0012A00DD4C1C474E62797079E1
:1027100060210490484345494518A868401CA860BA
:1027200008468038039031460B6BC968E778591A20
:102730003346A0789B69303F00933B0003F098F844
:1027400013420B1742424229424242424242424213
:1027500042422C4542003649A3790B542179A01DF1
:1027600032230192009102900021049A22E07161CB
:10277000009A914200DDB1612D4AA37913540020E3
:10278000E9626861286B884200D2296301203072B7
:1027900018E00120F07115E02548A1790170103092
:1027A0000078A0712179A01D01920091029042232E
:1027B000317900220398FFF799FE024603990698A3
:1027C00002F060FB002009B0F0BD7161009A9142F7
:1027D00000DDB161164BA7791F54E2791B185A70BE
:1027E0009446227A9A70134B1B18092080011818FE
:1027F000C7746346037542750F48008A0020E9627A
:102800006861286B884200D229632046677A0A30C3
:10281000FEF7EFFC617B0002000A09060843B900DD
:1028200069188863B2E700000C0100201006002040
:10283000F0040020A80D00205C150020F7B5154617
:102840000C46FFF7C1F81A4E306321780020552955
:1028500003D1012D01DD641C6D1E317800290FD0DC
:102860000127F7712A4621460098FFF7BDFD002891
:1028700005D137722A4621460098FFF73BFFFEBD7F
:1028800071780029FBD00B4E2A46B06B2146401CC4
:10289000B063009800F012F80028F0D106482A46EC
:1028A000406C30652146009800F080F8FEBD0000C5
:1028B0000C0100201006002028130020F0B5084667
:1028C0000D460978552901D0252903D0012A01DDBB
:1028D000451C521E297800231A4FDB431A4C252928
:1028E00006D0A068401CA060386C401C386409E029
:1028F00014496E79896C491C802E05DDE068401C06
:10290000E060B9641846F0BD334608339A4206D2F7
:10291000B964E068401CE0600220C043F0BDB11D16
:10292000FFF756FDA9198979814208D02069401C1A
:102930002061F86C401CF8640320C043F0BD002007
:10294000F0BD000010060020DC030020F8B5FFF702
:102950003BF8134B1A69197900291FD05C7A114989
:10296000002C05D07D20800148640020587215E0BD
:102970000C4E0D4C851A8036A54204D97D22920159
:102980008A64012206E01219904207D97D22920141
:102990008A6402228A67C867186930600020F8BD1F
:1029A0000C01002028130020E02E0000F7B5087865
:1029B00084B0552802D1012A00DD491C554802681F
:1029C000521C02604A794878534B0393534B524C44
:1029D0001D798034A84208D0FF2806D0606C401CC6
:1029E00060640020C04307B0F0BDA84201D0FF28BA
:1029F0007DD14A4B186B0090186101205872464FE8
:102A0000CE78A03F384610300078372E7FD007DCD4
:102A1000303E330002F02CFF067B137B7B7B207B58
:102A2000612E74D004DC382E71D0412E6FD11CE0A1
:102A3000622E6CD0632E6AD0642E68D15BE08B79F5
:102A40003B708871354B00981861881D09793223D5
:102A50000192009102903EE0002009793623009116
:102A6000019002460290012137E08B793B70CB79CF
:102A70002B4E7B707375CE7A8B7A36029E19274B5C
:102A8000DE61254F9E7A903F88717878C871B000DA
:102A90004E720019078F8F72078F761C3F0ACF7214
:102AA000876B3F0C0F73806B000E4873F0B2987207
:102AB0000A2801D30020987208796B461870C00666
:102AC00003D57D20174B80019864881D0979422326
:102AD000019200910290002229460398FFF706FD1B
:102AE0000246E06B401CE0630399049800E00EE0AE
:102AF00002F0C8F90BE0CA798879120280180A7AC4
:102B0000497A12040906511841180448C16100208D
:102B100069E70000DC030020900500200C01002084
:102B20000810002028130020034610B5002002469C
:102B300002E09C5C6040521C8A42FADB10BD30B55A
:102B40000D46084609781446252901D0012030BDDC
:102B5000062C01D2032030BD611EFFF7E5FF2919C5
:102B60002039C97F814201D0042030BD002030BD12
:102B7000F8B51E460B465527069D0799077043700A
:102B80008270C670044605712A46401DFEF70DFB93
:102B9000691D2046FFF7C8FF014660194171A81D55
:102BA000052E02DA002E00D10020F8BDFEB5164633
:102BB0000F460546FFF7C3FF040014D068460472B1
:102BC0000420009002A90B4801910278401E017870
:102BD000EE230948FFF7CCFF02460749284602F0DA
:102BE00051F92046FEBD32463946284600F006F827
:102BF000FEBD000045010020A0090020F7B5FA48FD
:102C000086B04F7842688260421C15788E782D0914
:102C100036072D01360F0B7935431570F34A0292B2
:102C200000780C460490874201D0FF2F77D12146CF
:102C3000E6780931EE488C46332E72D028DCED4917
:102C4000182E0A686CD012DC072E20D008DC002E6B
:102C500065D0012E3ED0032E41D0052E7ED160E0FE
:102C6000112E7CD0162E7BD0172EF7D13FE2232ECB
:102C7000EED006DC192E74D0212E73D0222EEDD189
:102C80008FE1242EE4D0312E4BD0322EE6D1BFE09E
:102C9000582E68D012DC542E66D008DC342E71D049
:102CA0004F2E70D0502E6FD0532ED7D16EE2552EAE
:102CB0006BD0562E6AD0572ED0D164E2304663389E
:102CC0000421030002F0D4FD09F0EFEE171D4A10B5
:102CD0004A154A00641D00930194012351E2C6493C
:102CE000182003E03946C7E2C4490C200191009046
:102CF00005E0C348F6E1C24910395020F6E73346F3
:102D00003FE2E1790020B94A03E023185B7A1354CB
:102D1000401C8842F9DBB54802F00CFDA3E075E2E7
:102D2000EEE1A279617912028918E27989B2882BE1
:102D30002DD0892B2FD08A2B31D0832B34D0842BCC
:102D400037D0852B3AD0862B3DD0872B40D08B2B8C
:102D500043D08C2B46D0FE2B1DD006E097E29FE19E
:102D6000AEE1EDE1C9E066E227E2A92B3FD0B32B4B
:102D700041D0992B42D0A12B45D09C481038401807
:102D800000925FE244E0F6E1F1E140E249E249000D
:102D900009189C483AE0490009189B4836E0490068
:102DA00009189848203831E049000918952080001A
:102DB0002CE0490009189D20800027E049000918EF
:102DC000A520800022E049000918FD2080001DE0B8
:102DD000490009188B48A03818E049000918DD207F
:102DE000800013E049000918BD2080000EE0490072
:102DF000091886480AE04900854807E085484900E7
:102E00000818001DBCE749000120C0060818B7E7F4
:102E1000A279617912028918E27989B2882B25D0CA
:102E2000892B27D08A2B29D0832B2CD0842B2FD0F1
:102E3000852B32D0862B38D0872B3BD08B2B3ED0A6
:102E40008C2B41D0FE2B45D0A92B47D0B32B49D09A
:102E5000992B4AD0A12B4BD064481038401800223F
:102E60006146FEF7A2F90020009024E1490009180C
:102E7000644840E04900091863483CE049000918EB
:102E80006048203837E0490009189520800032E07A
:102E9000490009189D2080002DE049000918A5204F
:102EA000800028E0DFE1D2E1CEE149000918FD20F1
:102EB000800020E0490009185248A0381BE0490072
:102EC0000918DD20800003E049000918BD208000BA
:102ED0000818C4E7490009184B48F9E749000918E0
:102EE0004A48F5E749004A48F2E74900494802E004
:102EF00049000120C0060818B2E7A27961791202E0
:102F000089180922920189B2002B0FD0012B13D00E
:102F1000022B1CD0032B20D0042B26D0052B2AD02B
:102F2000062B28D0082B34D000202AE00B095B00A8
:102F3000181833E0012024E00B095B00181811E099
:102F40000A07120F012191400840F3D119E00A0944
:102F5000520010180522D20120E00A095200101870
:102F60000F2292018018808EEAE70A095200101899
:102F70000122920212E0C90008184030007E40068B
:102F8000C00F69460873012003A921230191009015
:102F9000F7E00A09520010180922D2018018808A2D
:102FA000CEE7A27961791202891889B2002B33D059
:102FB000012B3AD0022B41D0032B48D0042B4FD009
:102FC0004022052B54D0062B52D0072B5BD000207B
:102FD0006946087300200090034803A9401C019132
:102FE000027822237EE6000044010020A009002090
:102FF000A80D0020200B0020C6670008ACF7FF1FBB
:10300000107C0008B4040000B4050000B406000001
:1030100010060020280D00200B0709094900091897
:103020001B0F9520E279800035E00B070909490064
:1030300009181B0F9D20E27980002CE00B0709097D
:10304000490009181B0FA520E279800023E00B0737
:103050000909490009181B0FFD20E27980001AE0D8
:103060000B0709091B0F49000918E2798D4812E086
:10307000C90008184030018B9143E279D207520E03
:1030800011430183A6E70B07090949000918854880
:10309000E2791B0F80300818194601F017FF99E7F5
:1030A000002B05D0012B00D0DDE602F0CFF8DAE6E8
:1030B00002F004F9D7E601907B48E378027811E644
:1030C000A179607909024018E179784A80B2002B31
:1030D0000AD0774C012B03D0764B9B8A002B03D070
:1030E000400000190091ADE040008018FAE7002A86
:1030F00001D000200860002000901723019040E0DC
:10310000002A01D000200860A179607909024018E6
:1031100085B2E2790020684903E02618767A0E54D9
:10312000401C9042F9DB6449284602F011FB002064
:103130000934009001905C48039402781823D1E58B
:10314000A1796079090241185A48C182818A00290F
:103150000BD000218182574801F01EFE0020009014
:103160000190514819230278BCE50121F2E751484A
:103170000383002002E04F49002008830090019063
:10318000E3782A46AEE54B492020AFE5A179607986
:1031900009024018494980B20A18E179121D7828BD
:1031A00001D3002105E00B18782B02D97821081AE9
:1031B00081B2C8B201920090A1E5A17960790902BB
:1031C00040183E4980B20B18E2791B1D782801D3C4
:1031D000002205E01118782902D97821081A82B254
:1031E00061461846FDF7E1FF0020009001902E484F
:1031F000E378027839460298FFF7BAFC0246029952
:10320000069801F03FFE2D4802F0C2FA3CE02B4840
:1032100002F0BEFA00200090019023485523027866
:1032200060E5244801F0B8FD0020009001901E48A0
:103230005623027856E5032109022148FDF7CEFF07
:103240000020009001905AE51E481F4A4DE7A179E1
:10325000607909024018E17980B20D01FEF736FB72
:10326000E9B2009127E7FEF7C3F800200090019033
:103270000D486523027835E50298FFF779FC024690
:103280000299069801F0FEFD002009B0F0BD022071
:103290006946087303A901200191EE232A46009094
:1032A0000499E9E7140400004501002000800008AB
:1032B00000A000085C150020A0090020280D0020B7
:1032C00010060020A80D0020F405000070B5FEF7E0
:1032D00059F8164800F090FA154D164C6869A0652B
:1032E0001248816861658188491C81808088E0641A
:1032F0000E4801F051FD2868206768686067A8687B
:10330000A06701220C4B1146A06DFDF7CFFF2046B0
:103310008030E9680160A9694160E96981602969D3
:10332000C160296A0161002070BD00005C150020A9
:1033300058010020281300203930000008B5044946
:103340004A6902434A6149690140009108BD000091
:103350000010024008B50449CA690243CA61C9693C
:103360000140009108BD00000010024008B504496A
:103370008A6902438A6189690140009108BD0000A1
:103380000010024070B5094E04467618203E049D98
:103390000C34F17F0830102D03D00A50F07F035118
:1033A00070BD0A51F17F0B5070BD0000A063000892
:1033B000044A51182039C97F4258520852004250DD
:1033C00070470000A0630008044A51182039C97FE3
:1033D000425801231A43425070470000A06300087E
:1033E000044A51182039C97F425802231A434250D7
:1033F00070470000A0630008054B10B5591820392C
:10340000C97F435803242403A3431343435010BDEF
:1034100070680008054B59182039C97F001D0B58EA
:103420001B0C1B0413430B5070470000A0630008E3
:10343000054B10B559182039C97F4358034C234018
:103440001343435010BD000070680008EFBFFFFF3A
:10345000054B10B559182039C97F43588024A34320
:103460001343435010BD000070680008054B10B5B1
:1034700059182039C97F43580324A402A343134396
:10348000435010BD70680008054B10B5591820391D
:10349000C97F43582024A3431343435010BD000069
:1034A00070680008054B10B559182039C97F43587A
:1034B0004024A3431343435010BD0000706800082C
:1034C000054B10B559182039C97F435803242402ED
:1034D000A3431343435010BD70680008F0B50023A8
:1034E0003CE001249C40224037D04F6806681446D7
:1034F000544365006519AE4367433E4306604E681A
:10350000012E01D0022E05D18F6886686743AE4335
:103510003E4386600F69C668AE4325467D432E4311
:10352000C6604D68022D18D14D69FF2A09D8066A78
:10353000544354432201121B96436C4326430662B4
:103540000BE0140A22466243624362431401A61A46
:10355000446A6A43B443144344625B1C0A681446D9
:10356000DC40BED14A68012A01D0022A06D10A688D
:10357000C968436893434A43134343600120F0BD45
:103580000069814301D0002070470120704700008E
:1035900010B57D21C900FDF7A7FD0449401E486113
:1035A000002088610520086110BD000000E000E0F7
:1035B00010B5044601F0BAFA206001F09DFA60608F
:1035C00001F0A8FAA06010BD014610B50020002946
:1035D0000FD1104A116B8907890F01290AD00229DE
:1035E00011D0032909D001F0A1FA01F085FA01F008
:1035F00091FA10BD01F09AFA10BD11688907C90F40
:10360000FAD0054810BD116A8907C90FFAD0012008
:10361000C00310BD0010024000127A0010B503680C
:1036200000225B06DB0F25D10CC98C681A434B685E
:1036300023431A43CB681A430B691A434B691A4355
:103640008B691A4303680C4C23401A43026042689A
:103650000A4B1A40CB681B0C1A430B681A43426092
:1036600001238A695B0308399A4202D1898C89B2A5
:1036700001610122104610BD4000FFFFFBF0FFFF7B
:10368000F0B50268194B1A4C984201D0A04203D100
:103690007025AA434D682A43164D174E174F98427E
:1036A0000AD0A04208D0164CA04205D0A84203D0B0
:1036B000B04201D0B84204D103242402A243CC6812
:1036C000224302608A68C2620A888262984205D0F8
:1036D000A84203D0B04201D0B84201D1097C0163B5
:1036E00041690122114341611046F0BD002C0140A7
:1036F00000040040004001400044014000480140F7
:103700000020004041680122D2029143416081685B
:103710000822914381607047FEB5044600680D465B
:103720000026C007C00F43D1E9686868AA6908434A
:1037300029691143084321681E4A1140084320604B
:10374000A8686168032212039143014361606869BC
:10375000A168121191430143A1601748844203D12B
:103760000020FFF731FF06E01448844220D168466C
:10377000FFF71EFF029800281AD02968002917D0E9
:103780000126AA69F3039A420CD140004A08801826
:10379000FDF7AAFC0A4980B201400007420F0A4324
:1037A000E26005E04A081018FDF79EFC80B2E06078
:1037B0003046FEBDF369FFFF003801400044004081
:1037C000F0FF000008B506490A690092421C00D0CB
:1037D000401C0A69D20300D5401E0028F9D108BD5B
:1037E00000E000E010B580220249FDF7DEFC002079
:1037F00010BD0000E0670008F0B5154A002155141F
:10380000144C154F0CE0D65ABE4208D19B185B8869
:103810006668B34203D90AC44B1C2360083C491CA8
:103820004B01AB42EFD321680123002905DB49019D
:103830008918202201F0B0F900E08380A0684001DF
:103840002030A84201D90020A0600020F0BD000077
:1038500000C8000858010020AA5500001FB50B46FB
:10386000024604A1684601F0EFFF0146684601F0F8
:1038700021F91FBD201B5B25643B25644800000027
:1038800010B50120FFF75AFD00210A2000F046FC88
:103890000A2000F039FC00210B2000F03FFC0B2037
:1038A00000F032FC10BD0000F0B5012087B04004EC
:1038B000FFF744FD01208004FFF740FD0120C00414
:1038C000FFF73CFD01208005FFF738FD0126C020F1
:1038D000002403256A46049631C20927FF0669467B
:1038E0003846FFF7FBFD8020694631C169463846FE
:1038F0000494FFF7F3FD93200001009003946946C0
:103900000196029504943846FFF7E8FD3002B8614D
:1039100068026A46049631C269463846FFF7DEFD02
:1039200029486A46049631C269462848FFF7D6FD01
:103930002748009003946946019602950494234811
:10394000FFF7CCFD072040030090029403946946E2
:10395000019604941F48FFF7C1FDF0206A460496C3
:1039600031C269463846FFF7B9FD3002B861400000
:103970006A46049631C269461448FFF7AFFD4020FD
:103980006A46049631C269461348FFF7A7FDF00264
:10399000009069460196029504943846FFF79EFD13
:1039A0008020009069460196029504940A48FFF72A
:1039B00095FD40206A46049631C269460348FFF7E8
:1039C0008DFD07B0F0BD00000704000000040048B2
:1039D000C0FC0000000800480014004808480749DF
:1039E00001600849016004214160074A8260C168A2
:1039F0004907FCD10261054901607047CCCC000049
:103A00000030004055550000FF0F0000AAAA00003A
:103A1000F0B591B0282106A8FDF7E0FB1821684613
:103A2000FDF7DCFB01200003FFF7A0FC0120800470
:103A3000FFF784FC0024082502260327039404943E
:103A40006A460594E0C269462248FFF747FD102008
:103A500069460394C1C101200490694605941D483C
:103A6000FFF73CFD2020039404946A460594C1C2EC
:103A700069461848FFF732FD0021192000F04EFB7F
:103A8000192000F041FB0720000208900120069455
:103A90000A9040020B900994802007940E940D9098
:103AA00007200D4C0F900C9506A92046FFF7B6FD98
:103AB00060681021884360606068A8436060606847
:103AC0000902884308436060206840210843206061
:103AD00011B0F0BD000400480030014010B586B0C0
:103AE00014216846FDF77AFB1020FFF733FC002114
:103AF000112000F013FB112000F006FB2F20694677
:103B00000880002001900848084C02902046FFF7EA
:103B1000B7FD2068802188432060E06801210843C8
:103B2000E06006B010BD0000E70300000010004098
:103B300070B501208EB08003FFF718FC032040020F
:103B400007900220089003200024099001250920F5
:103B50000A9407A90C950B94C006FFF7BFFC3A4ED8
:103B6000102202213046FFF763FC0022022130467A
:103B7000FFF742FC002202213046FFF785FC0022BD
:103B800002213046FFF78EFC802202213046FFF7EB
:103B90005FFC002202213046FFF792FC0022022146
:103BA0003046FFF763FC002203213046FFF740FC5C
:103BB000002203213046FFF71FFC0022032130467C
:103BC000FFF762FC002203213046FFF76BFC8022E6
:103BD00003213046FFF73CFC002203213046FFF76B
:103BE0006FFC002203213046FFF740FC00211B2020
:103BF00000F094FA1B2000F087FA14486946006828
:103C00000090019402940394059406940C20104CA7
:103C100004902046FFF780FD606829050843606036
:103C20006068490003225205904308436060A06821
:103C300049120843A0602046FFF764FD206828432E
:103C400020600EB070BD000000000240F4000020B3
:103C50000038014070B58EB01C216846FDF7BEFAF1
:103C6000182107A8FDF7BAFA012464042046FFF7DB
:103C700071FB2046FFF762FB0E20079002200890A0
:103C8000032001250990002409200A9507A90C9515
:103C90000B94C006FFF722FC414E1022042130464F
:103CA000FFF7C6FB002204213046FFF7A5FB0022E8
:103CB00004213046FFF7E8FB002204213046FFF7DD
:103CC000F1FB802204213046FFF7C2FB00220421D1
:103CD0003046FFF7F5FB002204213046FFF7C6FB14
:103CE000002205213046FFF7A3FB002205213046C4
:103CF000FFF782FB002205213046FFF7C5FB0022BB
:103D000005213046FFF7CEFB802205213046FFF724
:103D10009FFB002205213046FFF7D2FB0022052140
:103D20003046FFF7A3FB00211C2000F0F7F91C2010
:103D300000F0EAF9A61EFF21304600F0EFF9304608
:103D400000F0E2F91748EE03006800900194029435
:103D500003940C2004AA51C2134C69462046FFF775
:103D6000DBFCA06821140843A060A068B043304386
:103D7000A06020681F21490588430843206020680F
:103D80004911884308432060A068A1140843A0603B
:103D90002046FFF7B7FC2068284320600EB070BDB6
:103DA00000000240F80000200044004000B5084632
:103DB000042A02D80020C04300BD01787F2902D91F
:103DC0000120C04300BD41784906490E1F2902D990
:103DD0000220C04300BD114601F0E8FF0028F9D0E1
:103DE000042000BDF7B588B00F460A9A0898FFF77F
:103DF000DDFF0690002803D00020C0430BB0F0BDCB
:103E0000BD483A7800783946824273D18C784A7836
:103E1000CB78B98824024DBAB8491C4308704A705F
:103E200001200790200521070226000E090F13002C
:103E300001F01EFD11A60A508DA7BFDDA6A6A6A6FD
:103E4000A6A6A6A6E9F0A600E81DC008AB49039007
:103E50008870002038E00027012005970190009825
:103E6000C000049026E0210701222009090FD20298
:103E7000944207D24200A24812180920800110186B
:103E8000808E05E042009E481018FF308130808A05
:103E9000FDF792FC002801D0019807430198641CAB
:103EA0004006000E01900598A4B2401C0590082819
:103EB00004DA049805994018A842D4DB8F48009989
:103EC0004018C7700098401C039900908842C2DBDC
:103ED000761854E0E81DC0088849039088700020D7
:103EE00030E0002000900120019002980027C000DF
:103EF00004901DE0FDE02005000E420080482107EF
:103F00001218092080011018090F808AFDF754FC4F
:103F1000002803D001990098084300900198641C80
:103F20004006000E7F1CA4B20190082F03DA04980B
:103F3000C019A842DFDB7149029A00988918C8703D
:103F40000298401C039902908842CADBC0E76800CF
:103F50006A498446887000200EE021184A006849AA
:103F6000470052180921C9015118898E634A0B0A6A
:103F7000BA18D3701171401CA842EEDB17E0761C12
:103F80008DE068005D4A8446907000200DE02118A5
:103F90004B005B4947005B18092189015918898A40
:103FA000BF180B0AFB703971401CA842EFDB664456
:103FB000E5E7002D12D0FF221202954207D1420000
:103FC0004F4812189D208000101800F077FF3946E6
:103FD0004A480A9AFDF7E9F80A9E85E042004848F7
:103FE00012189D208000101800F028FEEFE73879A5
:103FF0007979000208434249620052180921C90137
:1040000051188886E3E7E81DC0083C490390887092
:10401000002036E047E03818C07900900120019078
:10402000002005900298C000049024E0210701229E
:104030002009090FD2029442009B019A07D21A402C
:1040400043002F481B189D208000181805E01A40D7
:1040500043002B481818FF30953000F043FF0198BB
:10406000641C4006000E01900598A4B2401C059007
:10407000082804DA049805994018A842D6DB02986B
:10408000401C039902908842C5DB1C48B9788170B6
:10409000F978C1703979017179794171361D0698C5
:1040A000002814D025E000200EE04100C919CA798B
:1040B000097A12020A4321184B0011495B180921A1
:1040C000C90159188A86401CA842EEDBDDE7079833
:1040D000002809D0B1B2094801F068FE07498855A7
:1040E000000A89194870B61C32460449089800F045
:1040F000C9FE002082E6000050010020A00A002036
:10410000A80D002070470000C106C90E012088409C
:10411000014908607047000000E100E08307FF22CA
:10412000DB0E9A408907090E994000280BDA000738
:10413000000F0838830808489B001818C369934388
:104140000B43C3617047830804489B001818036839
:1041500093430B430360704700ED00E000E400E090
:104160008307FF22DB0E9A408907090E9940002839
:104170000BDA0007000F0838830808489B0018185E
:10418000C36993430B43C3617047830804489B0092
:104190001818036893430B430360704700ED00E079
:1041A00000E400E0F3B5074681B0002000903D78C0
:1041B000FF206E07EC08760FE40001F039FE802C3A
:1041C00001D20020FEBD324601265C495C48130046
:1041D00001F04EFB0805313539898D91A1B0574961
:1041E0000978002903D0554949788C4220D181882B
:1041F000544F491C81803D70504D3021A8780843B0
:104200007870E8780843B8703520F8700421384693
:10421000FDF7A8F83021084338710D20787111207E
:1042200001F006FE0621384600F0F6FD6C702E7097
:104230004248067162E0C188491CC1805EE0018984
:10424000491C01815AE00A78002A02D04A78A24229
:1042500001D00E7152E042893849521C428100203F
:10426000CA780EE04100C9194B7889781B0109070B
:10427000090F5B1834490C181321490161180B759B
:10428000401C2E4C9042EDDB2E4A002015702E4F24
:104290000FE009213B1889015B18197D0D094100C8
:1042A000891830354D701B7D1B071B0F30338B7009
:1042B000401CA1788842ECDB0806C00D401CC1B24E
:1042C0002048FDF74FF830210843A1781D4A4900E6
:1042D0008A1850700D209070C91CC9B2194800F09E
:1042E0009BFD26710AE08189491C818106E0C18914
:1042F000491CC18102E0018A491C01820298000721
:10430000C10E11480918132080010818818C491C1E
:1043100081840098FEBD428A521C4282087800289F
:1043200097D04878A04294D10120C0020922D20639
:1043300090618EE7028B521C02838AE77C01002089
:10434000681200207C150020A80D002010B5012067
:104350000449C006486004480168491C016000F037
:1043600005F810BD00ED00E0F000002070B50E482B
:1043700001780024002905D004700C4801780C480D
:10438000FFF710FF0B4DE86F00280BD00A4E0B49CA
:1043900002203268FEF752FA3460EC678021074849
:1043A00001F040F970BD000094010020950100204B
:1043B000BC1500205C0300200001002070040020D8
:1043C00010B50648054B00780021403B5A18403292
:1043D0005478491C14700F29F8DB10BDE80D00203B
:1043E000F3B5FA4D85B0286800286FD068680028BA
:1043F0001CD000220D21082000F08AFD0022114669
:10440000082000F085FD01221146082000F080FD03
:1044100000200146EE4A13184033401C1970102842
:10442000F8DB00260121144640347BE20122E1E75B
:10443000B2000598059B805CD7187A780192012517
:104440007B8800931B2873D012DC0246030001F026
:104450000FFA1B5C7272727272723E3E3E3E3E3EBC
:104460005C5C5CA7A7A73E3EBEBEBEBEBEBE5C00F7
:10447000342870D011DC01461C390B0001F0F8F92A
:1044800018A7A7A7A7A7A7A7A7A7A7A745454545D3
:104490004545454545454545F7453A2873D008DC2F
:1044A000014635390B0001F0E3F905E26E56E26E84
:1044B0003000DC2804D004DC3B28EFD0C82824D10D
:1044C00020E1DD28FCD0FA28F9D11BE133E2D01F2E
:1044D000030001F0CDF90E080A10181B1D1A1A1A54
:1044E0001A1A1A20261A207C4AE0FFF769FF0028D2
:1044F0001FD0207C3AE0FFF763FF002816D1207C14
:10450000002813D125E000F0C3FAF5E12078F7E7A1
:10451000FFF756FF1DE0207C00280AD0002905D0B7
:1045200007E0207C002804D1002902D0012010E0FF
:104530004DE000200DE0130001F09AF9070C050E84
:10454000111B262E0C0000F0A3FA00990198FDF72C
:1045500047F92074D0E11AE100F09AFA0CE0207CCF
:104560000028E6D000990198FDF73AF90028E0D03C
:10457000DCE7207C0028DCD000990198FDF730F9B9
:104580000028D6D1D2E758E1207C0028CED100996E
:104590000198FDF725F9B3E7207C0028ECD0C5E7AA
:1045A000102804D0112804D0122AAED10AE0227CAF
:1045B00003E0207C0028A8D001220099019800F097
:1045C000A7FC99E1207C00289FD00022F5E7153850
:1045D0003D79030001F04CF9120A1215181B0F1E49
:1045E0003C4C5B6A2D798185898D7D9400F050FA71
:1045F00013E0207484E000F04BFA1DE000F048FA6C
:1046000029E000F045FA36E000F042FA42E000F01E
:104610003FFA4EE0207C002870D028460099FDF734
:1046200067F90546F9887879FDF762F9854263D024
:1046300064E0207C002861D028460099FDF758F9F5
:104640000546F9887879FDF753F9854254D155E04C
:10465000207C002852D028460099FDF749F90546EC
:10466000F9887879FDF744F9854245DB46E0B1E009
:10467000207C002842D028460099FDF739F90546EC
:10468000F9887879FDF734F9854235DC36E0207C0D
:10469000002833D028460099FDF72AF90546F98805
:1046A0007879FDF725F9854226DD27E0207C002872
:1046B00024D028460099FDF71BF90546F98878793A
:1046C000FDF716F9854217DA18E0207C002813D18F
:1046D000A3E7207C00280FD1AEE7207C00280BD177
:1046E000B9E7207C002807D1C5E7207C002803D14A
:1046F000D0E7207C0028DCD001207AE7002078E792
:104700000225F9E03F791546C8280DD0DC2823D0D2
:10471000DD282AD0FA28F3D12D48E90008184030C6
:10472000007EC0062AD508E02948E9000818403074
:10473000007EC00601D4002121E0207C002822D088
:1047400038460099FDF7D4F80146284600F07EFA75
:10475000284600F0F5F84CE71D48E90008184030FD
:10476000007EC006E9D4012109E01948E9000818D3
:104770004030007EC006E0D4022100E0032128463C
:10478000FDF7CCFDD9E7284600F0B8FDE0E73F791A
:104790000225342802D0372816D108E0207C0028D2
:1047A00012D038460099FDF7A3F8401C07E0207CA2
:1047B000002809D038460099FDF79AF8401E0246B5
:1047C0003846009900F01CFC96E00000200B002009
:1047D000A80D00203D7979790291F988019133285B
:1047E00014D035281BD038288AD1207C002887D0C7
:1047F0000298FDF77DF8074628460099FDF778F8FE
:104800003A1A0199029800F0FBFB79E7207C002816
:10481000FBD028460099FDF76BF80246F1E7207CB3
:104820000028F2D028460099FDF762F80546019964
:104830000298FDF75DF82A18E3E73A797979029151
:10484000F9880191797A03917D89362806D0392833
:1048500012D03A281FD03B284DD131E0207C0028CF
:1048600049D010460099FDF743F807460199029890
:10487000FDF73EF83A180CE0207C00283BD01046AB
:104880000099FDF735F8074601990298FDF730F8D1
:104890003A1A29462CE0207C00282CD0104600999A
:1048A000FDF726F807B201990298FDF721F800B24A
:1048B00047433A462946039800F0A2FB3A1416E013
:1048C000207C002817D010460099FDF711F807B298
:1048D00001990298FDF70CF801B23846FCF71AFC72
:1048E00002B20F462946039800F08AFB3A46691C3B
:1048F000039800F085FB0325301141000F48012388
:1049000008183107090F02898B401946114000D061
:104910000121277C0830002F01D01A4300E09A4380
:10492000028076190698864200DA81E503494868D4
:10493000401C4860002007B0F0BD0000200B0020A4
:10494000FEB50746402802DB0020C043FEBD2C48D0
:10495000F9000E1800964036348BE10601D4002091
:10496000FEBDA1063CD561063FD4264909680098E2
:104970000A25406D0190081AA1070FD0A107890FE1
:10498000012905D0022905D0E143890705D005E0BA
:10499000642503E07D25ED0000E01B4DA84224DBEB
:1049A0002946FCF7B7FB014615487A0012180B2080
:1049B000800110188446808E019B401869435B1863
:1049C000009980B24B650D2189015118898E814271
:1049D00003D8084640210C4334836146888604E0AE
:1049E000600602D5402084433483307EB9B240064D
:1049F000C20F052000F08CFA307E4006C00FFEBDCD
:104A0000A80D0020C401002010270000F7B50446BF
:104A1000FCF749FF054602992068A942A16806DC17
:104A20004018029A0199FCF7C0FB029919E040185E
:104A30002A460199FCF7B9FB29462046FCF77CFC85
:104A40002046FCF730FF06460298471BB7420DDCB4
:104A5000A16820683A46401801994919FCF7A5FB5E
:104A600039462046FCF768FC0298FEBD002E0CDD9E
:104A7000A16820683246401801994919FCF795FB56
:104A800031462046FCF758FCAD192846FEBD000013
:104A9000074A0F2011183F235B5C4031401E0B700A
:104AA0000028F7DC02494031087C0870704700009C
:104AB000A80D002010B50C460A4601460348FFF732
:104AC000A5FF00F097FD204610BD00002003002048
:104AD00010B50C460A4601460348FFF797FF00F061
:104AE00089FD204610BD00002003002010B50C46B3
:104AF00000F0E8FD204610BD04494968F02211404D
:104B0000034A0909515CC840704700000010024088
:104B10009468000803494968034A4905490F515CF4
:104B2000C840704700100240A468000810B507484C
:104B300041680C200140064805D0042904D008290A
:104B400001D100F009F810BD024810BD001002406C
:104B500000127A00001BB70010B50C4C61680122EE
:104B600012040B48114002D0914200D10948E16A79
:104B70000907090F491CFCF7B7FA61680F22920474
:104B80001140890C891C484310BD000000100240F0
:104B900000093D00001BB70070B5D417A40F002317
:104BA000A418A51003E09C000E5906515B1C9D4201
:104BB000F9DCD40F6B00A418651003E05C000E5BF9
:104BC00006535B1C9D42F9DC104670BD0920C006EF
:104BD000006901090F20884370470000F8B50023E1
:104BE00084468025DB431248002421462A464A4356
:104BF000121817880F4EB74209D17E26B75A0E4EAB
:104C0000B74204D15288A24201DD0B461446491C2A
:104C10000829EBDB082B06D26B431918802260466B
:104C2000FFF7BAFF02E06046FEF7DCFD0020F8BDAA
:104C300000C00008AA550000A55A00000B07028812
:104C40001B0F012199408A430280704730B54028EC
:104C500002DB0020C04330BD0D4CC20013191A46C0
:104C60004032157EAD0611D4400000190D24A40178
:104C70000419A1860B240021A4010019818605488E
:104C800000685865108B202108431083002030BD38
:104C9000A80D0020C401002010B500F001F810BDDF
:104CA000F0B52D4FB868C007C00F4DD0F8682C4D37
:104CB000C4B22A48C16A491CC162018D491C0185E0
:104CC0002878002802D1204601F0B2F82878002682
:104CD000002819D12448234902788C540178491CB2
:104CE00001700D2C10D10446007801F0A1F8207855
:104CF0001E4908701E490120087026701D48067064
:104D000001201D4900074860287800281CD01B4955
:104D10000878401C08701A48026B521C026308781D
:104D2000184A1278904210D30120C0020921C90606
:104D300088612E701449012008700E4908700A48D5
:104D40000670124980208862F0BD11480978405CE5
:104D5000387301F06DF8F0BD0030014028150020D7
:104D600084010020BC150020810100209501002055
:104D7000940100208001002000ED00E0830100206C
:104D80002814002082010020960100200014004811
:104D90009C1500207047000070B51A4C6168491CD2
:104DA000616019490180A18841801849CA6C8280DC
:104DB000496D8160112181831549C183A1684A0130
:104DC0001449511800250B462A469E5CFF2E04D13B
:104DD000521C202AF9D3002D10D02022FCF79CFB76
:104DE000A0682060401CA0604001012189022030A1
:104DF000884201D90020A060002070BD202200F070
:104E0000FDFCEDE758010020AA5500002813002002
:104E1000A55A000000C8000870B503460E460807F2
:104E2000C10E1348002509180520C0010818818A01
:104E3000104C491C8182207A002817D1324619462D
:104E40000D48FCF7B2F9A6710020E0710A48E1793B
:104E5000405C0A4908730121217200F0E9FF08490A
:104E60008020886100010921C9068862284670BD3A
:104E7000A80D00207C0100209C150020003001407E
:104E80000014004810B514460A46012802D0022832
:104E900006D00DE021461046FFF71AFE054804E053
:104EA00021461046FFF722FE0348816F491C8167A7
:104EB000204610BDC80200205C0300200B070288BA
:104EC0001B0F012199400A43028070470907090F0F
:104ED00001238B400188002A01D0194300E0994347
:104EE0000180704710B5002A02D0FFF7E7FF10BD20
:104EF000FFF7A4FE10BD0907090F01238B400188AD
:104F0000002A01D0194300E0994301807047000056
:104F100070B50B051B0E204C5B000D071C192D0FE7
:104F2000030000F0A5FC09060B14191E22272C31E2
:104F30003600FF292DD89520800003E0FF2928D8CE
:104F40009D20800020182946FFF7D5FF21E0FF298A
:104F50001FD8A5208000F5E780291AD2FD20800007
:104F6000F0E7802915D20D48ECE7402911D2AD2099
:104F70008000E7E740290CD2B5208000E2E78029D5
:104F800007D206482030DDE7802902D2034880306E
:104F9000D8E7002070BD0000A80D00201404000018
:104FA0000121C903034A002801D091627047916131
:104FB000704700000008004801218903034A0028C7
:104FC00001D091627047916170470000000800486D
:104FD0000121C903034A002801D091617047916201
:104FE000704700000008004801214903034A0028D7
:104FF00001D091627047916170470000000800483D
:10500000F0B5304C4B001C190923DB01E6180B23CB
:10501000DB01E51892B28A283DD00EDC294F4B0007
:10502000DF1909239B01FF188338030000F020FCDF
:105030000714181C21262D46480099283ED006DC6E
:105040008B282CD08C2831D08D2839D133E0A12861
:1050500034D0FE2834D131E0102931DABA822FE081
:1050600010292DDABA862BE0102929DA0520C00193
:1050700008E0082924DA0F20800114E008291FDA4B
:1050800001208002201882821AE0802918DAB28674
:1050900016E0AA8614E0802912DAB28210E04029D4
:1050A0000EDA0D2080012018828609E0402907DAF7
:1050B0000B208001F7E7402902DAE8E78029E8DBE6
:1050C0000020F0BDA80D0020F0B58DB0002500F047
:1050D0002BFEFCF779FC059010213A4800F086FE83
:1050E0000790FCF771FC04901021364800F028FE70
:1050F0000690FCF769FC03901021324800F03EFE58
:105100000190FCF761FC064610212E4800F04EFE8F
:105110000090FCF759FC2C4A044690680121084392
:105120009060881E106129481061264B0021585C50
:105130001070491C1029FADB1768FCF745FC0B902E
:105140000199009802970190214F0091781921A1AF
:10515000069B079A00F078FB45190B98A11B001BD2
:1051600001910290039A04990398B21A431A00928B
:1051700008460599421A781920A100F065FB4419E8
:1051800008A8FEF715FA26484268012000040240EC
:105190003819134623A100F057FB0419381926A12A
:1051A000089A00F051FB01193846FFF783FC0121F2
:1051B0000D20FEF753FB24490320886000200DB02A
:1051C000F0BD0000906300080030024001A0000024
:1051D000C80100200D0A43524320202530345820B6
:1051E00020253034582020253034582020253034D4
:1051F000582020253034580D0A00000074696D6570
:10520000202530346420202530346420202530349B
:10521000642020253034642020253034640D0A00B9
:10522000001002404D61696E536F757263652025F1
:1052300078202564200D0A00737973636C6B202538
:1052400064200D0A00000000C000002030B50021DD
:10525000174D0846696042005219401C1181FF2811
:10526000F9DD00200522134CD20143001B199B18C5
:10527000401C99821028F8DB00200922D20143004B
:105280001B199B18401C9986FF28F8DD002010226E
:10529000C100091940310B8B401C93430B834028FC
:1052A000F6DB0120044928604882002030BD000060
:1052B000200B0020A80D00205C15002010B5002157
:1052C0000C48092201600C4B084692014400E41886
:1052D000A418401CA1861028F8DB002001229202AD
:1052E0004400E418A418401CA1820828F8DB002020
:1052F00010BD0000200B0020A80D002010B5402894
:1053000002DB0020C04310BD0B4BC100CA18114680
:1053100040310C7EA4060DD54000C0180B2300249C
:105320009B01C0188486054800685065088B2022C0
:1053300090430883002010BDA80D0020C401002068
:1053400010B5FCF715FCFCF7BDFF10BD70B594B0AF
:1053500030216846FBF742FF0024022501260E9407
:10536000E8030990009605200F94C0040D9401965F
:105370000A900C9408950B956846FCF79BFD002855
:1053800003D0862115A000F05DFA07200C900E9442
:1053900001210D950F940CA8FCF7B0FC002803D058
:1053A00092210EA000F04EFA109610A81296FCF76B
:1053B0002FFC002803D0A12108A000F043FA4B20C5
:1053C0008001FCF767FF0420FCF71EFF0022114656
:1053D000501EFCF719FC14B070BD00002E2E5C2E80
:1053E0002E2F436F6D4C69625C5372635C42535065
:1053F0002E630000134801680122114301604168D7
:10540000114A114041600168104A11400160016871
:10541000012292049143016041683F2212049143AA
:105420004160C16A09090901C162016BFF2214329E
:1054300091430163416B4908490041630021816048
:1054400070470000001002400CB8FF08FFFFF6FE96
:1054500004480169C907C90F02D00121C94301618C
:105460007047000000100040034801224169920388
:105470005140416170470000000800480348012284
:1054800041695203514041617047000000080048E3
:1054900070B51B4CE0691B498006C00F11D01A4A39
:1054A00001201060194A10600869401C0861A28C34
:1054B0004868401C4860174B154D18682A54401C1A
:1054C0001860E0690007C00F04D008202062C86996
:1054D000401CC8612068C006C00F07D0E069C00644
:1054E000C00F03D01020206200F03CF8E0694006B5
:1054F000C00F03D04020206200F074F870BD00009F
:1055000000380140C80200200401002008010020EA
:10551000F0030020FC00002010B5104CE069E069A9
:105520000007C00F05D0082020620D48C169491C42
:10553000C1612068C006C00F07D0E069C006C00F77
:1055400003D01020206200F09DF8E0694006C00FF3
:1055500003D04020206200F0E5F810BD0044004078
:105560005C0300200548416A491C416204490968FE
:10557000002901DD0121C16770470000C802002039
:10558000FC000020F8B5144D0C46064602212846C2
:10559000FDF70EFF10200090104B324602212846E6
:1055A000FDF7F0FE224602212846FDF733FF0221D7
:1055B0002846FDF709FF0A480463012141720221D0
:1055C0002846FDF70DFF05482838816880221143E1
:1055D00081602046F8BD00000000024028380140EC
:1055E000C80200200248016A491C0162704700009D
:1055F000C802002010B50A48407A00280DD1084C96
:10560000206F5834002808D12046FCF739F90146AC
:10561000E26820688018FFF7B5FF002010BD000089
:10562000C8020020F8B5144D0C4606460521284650
:10563000FDF7BEFE002000903346104A05212846A3
:10564000FDF7A0FE224605212846FDF7E3FE0521D1
:105650002846FDF7B9FE0A484463012181720521FD
:105660002846FDF7BDFE05482438816840221143D5
:1056700081600020F8BD000000000240244400408A
:105680005C0300200A480B4900794058802180B211
:10569000081A0949012208600849CA674A6A521C67
:1056A0004A62002803DD0120054900074860704771
:1056B000A063000804000240000100205C030020F9
:1056C00000ED00E0F8B5144D0C46064604212846CE
:1056D000FDF76EFE10200090104B32460421284644
:1056E000FDF750FE224604212846FDF793FE0421D3
:1056F0002846FDF769FE0A4804630121417204212E
:105700002846FDF76DFE0548283881688022114340
:1057100081602046F8BD000000000240284400409F
:105720005C0300200248016A491C016270470000C6
:105730005C03002010B5054C0A46638821465B1CBB
:105740004380FBF7E9FE002010BD0000007C00084C
:1057500070B50C460B494118002B08D00A4D45196D
:10576000012B03D0094B9B8A002B00D129468005D1
:10577000204603D000F042F8002070BDFBF7CCFEBD
:10578000FAE700000080000800A000085C15002077
:10579000F8B54188174A491C4180154901807E218E
:1057A00000250A52ED43802300221146124C0026A8
:1057B00059430C19314603E0675CFF2F04D1491CA3
:1057C0009942F9DB002E03D0521C082AEDDB00E0E1
:1057D0001546082D06D208495D436918802200F05D
:1057E0000DF803E080220449FBF796FE0020F8BD87
:1057F000AA550000A55A000000C00008F7B50D46E4
:105800000646FCF79DF902980024870807E0A000EF
:105810003258411900230220FCF754F9641CA742B6
:10582000F5D802987C00470807E06000325A411919
:1058300000230120FCF746F9641CA742F5D8FCF7C9
:1058400037F9FEBDFEE700000FB410B504A9074B01
:1058500002AA039800F028F8044602A9002000F0EC
:105860005DFA204610BC08BC04B018471D5D000856
:1058700030B47446641E2578641CAB4200D21D46C9
:10588000635D5B00E31830BC184702E008C8121FD4
:1058900008C1002AFAD170477047002001E001C119
:1058A000121F002AFBD17047FFB591B00F46054685
:1058B000002606E025280AD0149A139990476D1CFB
:1058C000761C28780028F5D1304615B0F0BD0024AC
:1058D00000940121F34A029400E004436D1C2B78EC
:1058E0000846203B98401042F7D128782A280ED04D
:1058F000022128780246303A092A15D8009A0A234C
:105900005A43303A80180C436D1C0090F1E701CFE8
:105910000090002805DA012040030443009840422B
:105920000090022004436D1C28782E2815D10420F5
:10593000044368786D1C2A280AD101CF6D1C02909F
:105940000BE002990A225143303940186D1C029035
:105950002878014630390929F3D928786C2810D0E5
:1059600006DC4C281AD068280ED06A2817D104E02B
:10597000742813D07A2812D110E001204005044386
:105980000CE00121090501E0032109050C436978B8
:10599000814203D10120000524186D1C6D1C28785C
:1059A00003906E281ED00CDC632831D004DC002864
:1059B0008AD0582811D1B2E064287BD069280CD154
:1059C00078E073282DD004DC6F2870D0702804D1C3
:1059D000A7E075286CD078286BD0149A139990475B
:1059E000761C62E06002400F022807D003280AD02C
:1059F000042838680AD006603F1D56E03868F11761
:105A000006604160F8E738680680F5E70670F3E75E
:105A10003878694608740020487404A8039001206F
:105A200003E0386803900020C0433F1D61070FD595
:105A3000002101E00199491C029A0191914213DA77
:105A40008142F7DB019A0399895C0029F2D10BE0CE
:105A5000002101E00199491C01918142FADB019A80
:105A60000399895C0029F5D101990098139A401A8D
:105A700000902146149B00F03BF9019980194618CB
:105A800007E0039803990078491C0391149A13992D
:105A900090470198401E0190401CF2D12146149B72
:105AA000139A009800F014F986196D1C09E741E07B
:105AB00033E034E00A200021049005916002410F98
:105AC000022905D001CFC2179446032905D007E06B
:105AD000FF1DFF08FF0003CF06E000B2C217944687
:105AE000042902D140B2C1178C4600226146944578
:105AF00006DA0A460021404291418C462D2102E0FF
:105B0000210504D52B216A461176012103E0E10726
:105B100001D02021F7E7019154E00A200BE010208A
:105B200009E010200490002104200443082005917E
:105B3000029003E008200021059104906002410FCB
:105B4000022905D001CF00229446032906D006E0A1
:105B5000FF1DFF08FF0003CF8C4603E080B204293D
:105B600000D1C0B20021019121072BD503997029E2
:105B700006D0049A1021059B4A401A4305D00EE036
:105B800040216A461176012108E06146014306D0B2
:105B900030216A4611760399517602210191049AC7
:105BA0000821059B4A401A430CD16146014301D1AB
:105BB000610707D530216A461176012101910299CA
:105BC000491E02910399582904D037A103910FA9C6
:105BD0000F910DE039A1F9E76146059B049AFBF7A7
:105BE00012FB039B8C469B5C0F9A521E0F92137004
:105BF00061460143F0D10F9807A9081A203003909D
:105C0000600704D5012000048443029801E00120CC
:105C100002900399884201DD401A00E000204118FB
:105C20000290019809180098401A0090E00306D4E9
:105C30002146149B139A009800F05AF88619002008
:105C4000049008E006A9085C149A139990470498F8
:105C5000401C761C049001998842F3DBE0030CD5CC
:105C60002146149B139A009800F042F8861904E02C
:105C7000149A302013999047761C0299481E02907E
:105C80000029F5DC08E00F980F990078491C0F9166
:105C9000149A13999047761C0399481E0390002983
:105CA000F1DCFBE609280100303132333435363778
:105CB0003839616263646566000000003031323358
:105CC00034353637383941424344454600000000F8
:105CD000F8B5044600251E461746880404D405E09E
:105CE00039462020B0476D1C641EF9D52846F8BD02
:105CF000FFB50446002581B01E46C80301D53027F4
:105D000000E02027880404D505E038460399B04711
:105D10006D1C641EF9D5284605B0F0BD0A68531CF9
:105D20000B6010707047000010B50A2101A0FEF74B
:105D3000C1FE10BD1B5B324A1B5B303B304800008C
:105D400030B503460B48002900D101210A4C491EF9
:105D50000ED31A7850400022C50702D04008604098
:105D600000E04008521CD2B2082AF5D35B1CEEE7D3
:105D700030BD0000FFFF000001A0000070B50A4D1B
:105D8000FF23EE1D1A46F93605E0047854402A5DDB
:105D90005A40335D401C0C46491E89B2002CF4D198
:105DA0001802104370BD0000A665000870B50446D7
:105DB0000C4800220C4E11E02378521C1D46454031
:105DC0002D07ED0E755B0009454018096840000776
:105DD000C00E305A2B09584092B2641C8A42EBD351
:105DE00070BD0000FFFF0000A667000810B5084A5C
:105DF000084B07E0047854402406E40D1C5B120AAB
:105E00006240401C491EF5D2D04380B210BD000054
:105E1000FFFF0000A663000806C00021016041608A
:105E20008160C16001220261416108467047000043
:105E3000074910B54A8D0B464C3BD054488D401C49
:105E400080B24885642801D35120488510BD0000E8
:105E50002815002088B0FB48FDF79AFB0120FFF7CA
:105E6000C3F80020FFF7A8F80024F74E25460127C5
:105E700035707770FBF7A8FD30610A20FDF7A2FCB2
:105E8000FFF7FCFAFFF7F0FA641C042CF0DD0020A9
:105E900080F31088ED48EE4B0783FF200530802209
:105EA0000090991AEB48FCF759FA4020EA4B024659
:105EB000191A0090E948FCF751FAFBF761FEE84A2D
:105EC0000021602048438018456085600561456178
:105ED0008561C561056285624562C562491C0563CD
:105EE0000929EEDBDF4CE0482567C06A6066DF48C1
:105EF0000068A066DE48406AE066FFF727FADE49E0
:105F0000DC480860FCF73AFAFDF7CEFCFDF7B8FC78
:105F1000FDF7DCF9D948FEF761FECC480783FEF7B0
:105F200055FE1021A06308430107090F6063D44A9E
:105F3000C006D448117003D50770D348057002E03D
:105F40000570D1480770D1480170FBF791FBCC4830
:105F5000CE4900780870CE4901200870E120CD4973
:105F600040020860FDF7E4FDFDF774FEFDF750FD0B
:105F7000C9484168402739434160FDF72FFDFDF7CF
:105F8000ADFDC6480168012211430160C4480168A3
:105F90002022114301600168102211430160016851
:105FA000394301608021BF48FFF73CFBBE480168D0
:105FB0001022114301600168394301600A20FBF798
:105FC00019FD0120FFF710F80020FEF7F5FF002073
:105FD000FEF7FEFFFFF778F8FBF7F6FC9B4F6066D5
:105FE0003D827D82A548C0883882388A01280AD13E
:105FF000FCF76EF9208F202108407882788A0028EB
:1060000001D0FFF723F9A94E01278F4D00202870FA
:106010006F70FBF7D9FC2861FBF7A4FD0690FEF733
:10602000D5FD05468948008AC0070BD0A806208FF9
:1060300004D5800606D4FFF709F903E0800601D5F0
:10604000FFF73CF9A5630698E0630920C0060069E4
:10605000B08497480069F084964800693085964876
:1060600000697085FBF72CFBFBF7AEFC764D686191
:106070007648008A01280BD17448818A00291FD0F4
:106080008E49A960C18A8E480160A868FEF7A8F908
:10609000606E69696166081AA066E16E884200D286
:1060A000E066216F884200D92067FBF78DFCA8616C
:1060B00074480078002818D0824900200B780BE043
:1060C0008149DEE7814913220918520189180A7DA6
:1060D0007F4909184A70401C9842F3DB6B480078EE
:1060E000002802D00220FCF741FA0698800401D56E
:1060F0002F7001E0002028700698000501D56F7010
:1061000001E0002068706048007800281AD0022062
:10611000FCF71CFC606C002801D16E4908706D48CA
:1061200001786D4881866D490868800401D52F701B
:1061300001E0002028700868000501D56F7001E0BB
:1061400000206870606C002801D0401E6064A06C64
:10615000002801D0401EA0643C48018B00293FD09C
:106160006878FEF741FF6878FEF726FF6878FEF74B
:1061700017FF6878002801D1012000E00020FEF719
:1061800027FFFBF721FCE861FBF71EFC2862FBF709
:106190001BFC0A2168620846FAF796FF0020401CA3
:1061A0004028FCDB206C4E49401C20640868002815
:1061B00036DD284AD26F002A32D082B24949012006
:1061C000FDF710FE002805D0454846490268012029
:1061D000FCF7ECFC4249002008601E49C86788E0D3
:1061E000008A01280FD0606C002810D06878FEF774
:1061F000FBFEA06C00280CD06878FEF7DDFE687806
:10620000FEF7CEFEBAE7384800680028EFD02878BD
:10621000EDE70020FEF7D0FE0020FEF7C1FEABE761
:1062200032496868884263D91D48416801221205D5
:1062300011434160416853000322520591431943C1
:10624000416057E000127A00980100205C150020A0
:106250005C160020C8020020A01700205C0300206C
:10626000100600202813002080F7FF1FF0000020F8
:106270000010024010270000D4000020280D00204C
:10628000100100200C0100200D010020170100204A
:1062900011010020F40000200030014000100040F7
:1062A0000038014070040020004400402815002000
:1062B0000004004800080048000C004800A0000846
:1062C000540100207F01002000800008A80D00205C
:1062D00000050020F0040020E80F00202801002025
:1062E000FC000020F0030020200B0020C027090044
:1062F000401C68601F480078002802D00020FBF78F
:1063000079FB18221C496846FAF74FFF1B4D002005
:106310001B494200511840310A891105130B12071D
:10632000090E120F002919D0002B02D0012B06D024
:1063300014E0144B591809239B01C91804E0114BB0
:106340005B18132149015918C97C3B4693401942F7
:1063500004D0820069468958A96103E08200694639
:106360008958A962401C0628D2DB08490648086003
:106370004BE600000D0100207C6800080004004886
:10638000280D0020A80D0020AAAA0000003000401F
:10639000112233445566778899AABBCCDDEEFF0005
:1063A000081C304458000000891112239B322446F7
:1063B000AD573665BF74488CC19D5AAFD3BE6CCA09
:1063C000E5DB7EE9F7F88110080193331A22A55620
:1063D0002C47B7753E64C99C408DDBBF52AEEDDAE9
:1063E00064CBFFF976E802218B30100299132667FF
:1063F000AF763444BD554AADC3BC588ED19F6EEBC9
:10640000E7FA7CC8F5D983310A2091121803A777DF
:106410002E66B5543C45CBBD42ACD99E508FEFFBA8
:1064200066EAFDD874C904428D5316619F7020043A
:10643000A9153227BB364CCEC5DF5EEDD7FC688888
:10644000E1997AABF3BA85520C4397711E60A1149F
:106450002805B3373A26CDDE44CFDFFD56ECE99868
:106460006089FBBB72AA06638F7214409D5122257E
:10647000AB343006B9174EEFC7FE5CCCD5DD6AA948
:10648000E3B8788AF19B87730E6295501C41A3355F
:106490002A24B1163807CFFF46EEDDDC54CDEBB928
:1064A00062A8F99A708B088481951AA793B62CC2BA
:1064B000A5D33EE1B7F04008C919522BDB3A644E30
:1064C000ED5F766DFF7C899400859BB712A6ADD2F7
:1064D00024C3BFF136E0C1184809D33B5A2AE55E10
:1064E0006C4FF77D7E6C0AA583B4188691972EE3D6
:1064F000A7F23CC0B5D14229CB38500AD91B666FF0
:10650000EF7E744CFD5D8BB502A499961087AFF3B6
:1065100026E2BDD034C1C3394A28D11A580BE77FCF
:106520006E6EF55C7C4D0CC685D71EE597F4288011
:10653000A1913AA3B3B2444ACD5B5669DF78600CAF
:10654000E91D722FFB3E8DD604C79FF516E4A99076
:106550002081BBB332A2C55A4C4BD7795E68E11C8F
:10656000680DF33F7A2E0EE787F61CC495D52AA155
:10657000A3B03882B193466BCF7A5448DD59622D6F
:10658000EB3C700EF91F8FF706E69DD414C5ABB136
:1065900022A0B9923083C77B4E6AD5585C49E33D4F
:1065A0006A2CF11E780F00C1814001C0804101C0FA
:1065B000804100C1814001C0804100C1814000C1D3
:1065C000814001C0804101C0804100C1814000C1C3
:1065D000814001C0804100C1814001C0804101C0B3
:1065E000804100C1814001C0804100C1814000C1A3
:1065F000814001C0804100C1814001C0804101C093
:10660000804100C1814000C1814001C0804101C082
:10661000804100C1814001C0804100C1814000C172
:10662000814001C0804101C0804100C1814000C162
:10663000814001C0804100C1814001C0804101C052
:10664000804100C1814000C1814001C0804101C042
:10665000804100C1814001C0804100C1814000C132
:10666000814001C0804100C1814001C0804101C022
:10667000804100C1814001C0804100C1814000C112
:10668000814001C0804101C0804100C1814000C102
:10669000814001C0804100C1814001C0804101C0F2
:1066A000804100C1814000C0C101C30302C2C606CF
:1066B00007C705C5C404CC0C0DCD0FCFCE0E0ACA3A
:1066C000CB0BC90908C8D81819D91BDBDA1A1EDE8A
:1066D000DF1FDD1D1CDC14D4D515D71716D6D2123A
:1066E00013D311D1D010F03031F133F3F23236F64A
:1066F000F737F53534F43CFCFD3DFF3F3EFEFA3AFA
:106700003BFB39F9F83828E8E929EB2B2AEAEE2E89
:106710002FEF2DEDEC2CE42425E527E7E62622E2F9
:10672000E323E12120E0A06061A163A3A26266A649
:10673000A767A56564A46CACAD6DAF6F6EAEAA6AB9
:106740006BAB69A9A86878B8B979BB7B7ABABE7E09
:106750007FBF7DBDBC7CB47475B577B7B67672B2B9
:10676000B373B17170B05090915193535292965649
:106770005797559594549C5C5D9D5F9F9E5E5A9A79
:106780009B5B99595898884849894B8B8A4A4E8E09
:106790008F4F8D4D4C8C4484854587474686824279
:1067A000438341818040000001CC01D8001401F0F6
:1067B000003C002801E401A0006C007801B4005006
:1067C000019C01880044030E07010001000104013F
:1067D00000060000000000000000000006000000AD
:1067E000AA550000000100000000000001000100A7
:1067F0000009000000000000000002000000000985
:106800000000000000000000000000000000000088
:1068100000000000000000001010101010101010F8
:106820001010101010101010100020003000400048
:10683000500060000300000004000000050000009C
:10684000060000000700000008000000090000002A
:106850000A0000000B0000000C0000001100A55A07
:10686000AA55000000000000000000000000000029
:10687000081C304458081C30445800000004000034
:106880000008000000100000002000000040000090
:10689000008000000000000000000000010203046E
:1068A000060708090000000001020304CC68000884
:1068B000C0000020080100008A580008D4690008C0
:1068C000C8010020381A00009A5800080000000093
:1068D00000000000000000000000000001000000B7
:1068E0001027000000000000000000000000000071
:1068F0000000000000000000000000000000000098
:1069000000C2010040420F00000000000000000033
:106910000000000000000000000001000000000175
:106920000101000000000000000000000000000065
:106930000000000000000000000000000000000057
:106940000000000000000000000000000000000047
:106950000100000000000000000000000100000035
:1069600097000000FFFFFFFF000000000000000094
:106970000000000000000000000000000000000017
:1069800000000000000000000000080800000000F7
:1069900000000000000000000000000000000000F7
:1069A000000000000000000000000000008000085F
:1069B00000000000000000000000000000000000D7
:1069C000000000000000000000000000001BB700F5
:0469D00000000000C3
:1013600008467047F0B50020174D0127144B154C67
:101370003F03E86017E0625A144EB24212D1EA68A5
:101380000919521CEA604A882E69B24205D92A61BD
:10139000E8614A686A61421C2A624988994201D21E
:1013A0000B46A861401C0101B942E4D3286A000140
:1013B0001030B84201D900202862E868F0BD000072
:1013C000FFC99A3B00D0000864010020AA55000024
:1013D00010B50421054800F0BFF8054800218161DF
:1013E000C1610161C1600162084610BD00D0000802
:1013F0006401002070B5234DE86A401CE862224C6D
:1014000020688006C00F11D02868296B401828601A
:10141000296B28465830064600F058F820206060B6
:10142000B06900280AD0002028636872206880050F
:10143000C00F02D001204002606070BD304600F055
:1014400027FB12494A78A3585B085B00A350F36856
:1014500032684E78D2180C4B0C33F2500A4B4A7853
:101460001B1DD658360C36040643D65049786258B0
:1014700001231A4362502863054881688022114382
:101480008160D3E758030020000002402D6A000865
:10149000003801400B49C86A401CC8620A4802680B
:1014A0009204D20F05D001225203426000220A6347
:1014B0004A7201688903C90F02D0012149044160C1
:1014C00070470000EC0300200000024010B5002926
:1014D00010D0C26843685218934200DCD21A00232D
:1014E0004361C2608468944204D1012282618360B6
:1014F000C360C361084610BDF8B516460F460546E1
:1015000002F020FA701E800A401C81B2384602F0B8
:10151000F1F90024761C76080EE06000421952783A
:10152000295C120289188AB2C1190023022002F034
:10153000ADF9002802D0641CA642EED8054A116914
:10154000802319431161002801D00020F8BD01203B
:10155000F8BD00000020024070B50C46054602F0C0
:10156000F1F9A1B2284602F0C5F9034801698022C9
:1015700011430161002070BD0020024010B500231E
:101580001A4605E0845C2407240FE318DBB2521CE2
:101590008A42F7DB1807000F10BD000010B50300EA
:1015A00004F072FA081717171717171705170A4AC2
:1015B0000A4B002041008C18C918248C401C0C8454
:1015C0001028F7DB002041005C5A401C54521028C0
:1015D000F9DB002010BD0000241B0020180C0020A7
:1015E000F3B5074681B0002000903D78FF206E07DC
:1015F000EC08760FE40004F027FD802C01D20020D7
:10160000FEBD304601266349030004F03DFA08059B
:10161000393D41969A9EAEBE5F480278002A02D0BC
:101620004278A24229D18A885B4F521C8A80403F6F
:101630003D7005468078302108437870E87808438B
:10164000B8703520F87004213846FFF797FF302135
:10165000084338710D207871112004F0F5FC062143
:10166000384600F09FF86C702E70287E002804D059
:1016700000226B691146052098474848067067E0CC
:10168000C888401CC88063E00889401C08815FE06E
:10169000414A10780028F0D05078A042EDD1488916
:1016A0001446401C48810020D2780DE04100C91941
:1016B0004B7889781B010907090F5B1836491C31E3
:1016C000091820310B70401C8242EFDC207E00287C
:1016D00004D0002263691146072098472E4A002053
:1016E000403A134615705C330BE0195C0D0941005C
:1016F000891830354D701D5C2D072D0F30358D70DC
:10170000401CA1788142F0DC0806C00D401CC1B22B
:1017100021484038FFF732FF30210843A1781E4AA4
:101720004900403A8A1850700D2090701A48C91C20
:10173000C9B2403800F036F89FE78889401C88819C
:1017400006E0C889401CC88102E0088A401C088263
:1017500002980007C10E124809181B2080010818C2
:10176000818C491C81840098FEBD488A401C4882B7
:1017700009480178002980D04078A042DCD10120BE
:10178000C0020921C906886177E7088B401C0883DD
:1017900073E70000B0170020081B0020DC000020C9
:1017A000F010002070B503460C460807C10E14481F
:1017B000002509180520C0010818818A114E491C0E
:1017C00081823078002819D1224619460E48FFF749
:1017D000ECFC0E4804700E48002101700A490078A4
:1017E000085C0C4908730121317004F02DFC0A4992
:1017F0008020886100010921C9068862284670BDE1
:10180000F0100020E200002018030020E00000207B
:10181000E100002000300140001400480249486106
:101820000120087600207047081B002010B51349DE
:1018300000200870124908701248134C00780028E4
:1018400015D0012816D0411CA170E0700120C00203
:101850000921C906886288620C49802088620A20B2
:1018600000F0D0F900F0B8F9E060002010BD0120D0
:10187000A070EAE70320A0700220E6E7E200002063
:10188000DC00002023010020081B00200014004879
:10189000F8B5404D01214902284602F0BBF801216C
:1018A000C6B2009140213C4802F0B4F8C4B2012114
:1018B0000920C902C00602F0ADF84021284602F016
:1018C000A9F8C0B2354F002500281AD000203946AB
:1018D0001C31FA7803E00B1820331D70401C824243
:1018E000F9DC387E00280CD000227B6911460520E7
:1018F0009847387E002804D000227B6911460720D3
:101900009847002E02D100F067F9F8603869002886
:101910000FD1002E0DD000F05FF9F968401A204970
:10192000884206DB0120C0020921C9068861012026
:101930003861002C06D1387A002803D01948018D6F
:10194000C184058500981849184A00281AD0002C2F
:101950001AD0387A00280BD1012010700D7014486D
:10196000066840239E4306600D7006681E430660AD
:1019700010480078002809D11078002806D10120ED
:10198000107002E0002C01D115700D703C72002027
:10199000F8BD00000004004800140048081B0020A7
:1019A0001027000070180020DE000020DC0000205E
:1019B00000380040E2000020024A9070D170002000
:1019C00070470000081B00200A07120F01219140F8
:1019D000014201D001207047002070470A07120F12
:1019E00001219140014201D0012070470020704741
:1019F000F8B50B051B0E254C5B001C1909239B0138
:101A0000E31800930523DB01E618012307469B0238
:101A10000A07E5180020120F3B0004F035F809060C
:101A20000A0E12191D21282F2E00FF2928D80098F0
:101A30001BE0FF2924D8009808E0FF2920D8B08AAD
:101A400018E080291CD20F2080012018808E11E020
:101A5000802915D2A88A0DE0402911D2B08E09E064
:101A600040290DD20B2080010EE0808A02E08029FF
:101A700006D2A88E1146FFF7B1FFF8BD802901D329
:101A80000020F8BD0920C0012018EEE7F01000206A
:101A9000C1688268914201DA501A7047914202DCB3
:101AA0004269002A02D04068401A704780690028C5
:101AB000FBD000207047C2688168914201DA501A59
:101AC0007047914202DC8269002A02D04068401AC5
:101AD000704740690028FBD000207047064901226A
:101AE0008969120308180101914201D3FF380138B6
:101AF00002490001401870476401002000D000082E
:101B0000F0B5334C4B001C190923DB01E5180B23FE
:101B10000246DB010020E318892A25D00EDC2C4F79
:101B20002C4B4E00F619F618803A130003F0ACFF68
:101B3000091F1F152125292E333A15008D2A3FD064
:101B40000CDC8A2A33D08B2A35D08C2A05D1402947
:101B50003ADA0B2080012018808EF0BD992A03D03C
:101B6000A12A01D0FE2AF8D180292DDA2EE00846DC
:101B7000F0BD102928DAB08AF0BD102924DAB08E21
:101B8000F0BD102920DA0520C00108E008291BDA81
:101B90000F208001DFE7082916DA012080022018D3
:101BA000808AF0BD80290FDA3420285EF0BD8029BC
:101BB0000ADAA88AF0BD402906DA0D208001CAE7BA
:101BC000402901DAA88EF0BD0020F0BD988EF0BD4E
:101BD000F01000204002000010B5074A1069074BC2
:101BE00099691469A04201D010699969044A514366
:101BF0000914401A10BD0000DC00002000E000E0E5
:101C00005505000031B500F00BF8009C0546601C3E
:101C100000D0641C00F004F8401BA042FAD338BD89
:101C20000148006870470000B401002002480168C4
:101C3000491C016070470000B401002010B506483F
:101C40000168102211430160002000F007F800F045
:101C500017F8002010BD00000020024010B5044617
:101C600000F040F97D21C900FFF73EFA00F070FB5B
:101C700000222146501E00F025F8002010BD000073
:101C800008B50F48816901221143816181691140C2
:101C90000091C26901040A43C261C0690022084080
:101CA00000901146501F00F00DF800221146901EC2
:101CB00000F008F800221146501E00F003F808BD9D
:101CC0000010024010B502F075FC10BDF8B50446D6
:101CD0000068364DC00354D5E8690026C00007D41B
:101CE000E86929040843E861E86908400126009092
:101CF0002F480168C90511D4014608688A151043A8
:101D00000860FFF78DFF074604E0FFF789FFC01B5F
:101D1000642823D826480068C005F6D5286A032120
:101D2000090208401FD062680A4082421BD0286A1C
:101D30002A6A8843012109040A432A622A6A8A43DB
:101D40002A622862C0070ED0FFF76AFF074607E045
:101D5000FFF766FFC11B1748814201D90320F8BD78
:101D6000286A8007F4D5286A03210902884361683C
:101D700008432862002E04D0E8690121090788433E
:101D8000E8612078C00705D0286BA1688008800032
:101D9000084328632078800605D5286B10218843E6
:101DA000E168084328630020F8BD000000100240ED
:101DB0000070004088130000F8B5044644480E4601
:101DC0000068C007C00FB0420AD241480168490804
:101DD0004900314301600068C007C00FB0425CD1C8
:101DE00020783C4F800705D57868F0218843A168AA
:101DF000084378602078C0073FD06068012813D07E
:101E00003968022813D08907002946DA79688908D9
:101E1000890001437960FFF703FF054660680128E8
:101E20000DD0022817D024E039688903ECE7890136
:101E3000EAE7FFF7F5FE411B2748814217D878688B
:101E40000007800F0128F4D117E0FFF7E9FE411BDE
:101E5000214881420BD878680007800F0228F4D10E
:101E60000BE0FFF7DDFE411B1B48814201D9032037
:101E7000F8BD78680007800FF3D115480168C907DD
:101E8000C90FB1420BD901684908490031430160CB
:101E90000068C007C00FB04201D00120F8BD207813
:101EA000400706D57868072109028843E16808439E
:101EB000786000F01DF87968084A0906090F515C3E
:101EC000C840074908600020FFF7C8FE0020F8BDA1
:101ED0000020024000100240881300004C6A0008F5
:101EE000B00100200148006870470000B0010020E8
:101EF00010B513A00FC888B06C460FC414A00FC84B
:101F00000FC4174B5A680C2011460140154804298C
:101F100002D0082902D0144808B010BD9102090F60
:101F20006C46645CD96A04AB0907090F595CD2039B
:101F300003D5FFF7D9F86043EEE70C486043EBE7C1
:101F400002030405060708090A0B0C0D0E0F1010FA
:101F50000102030405060708090A0B0C0D0E0F10F9
:101F600000100240001BB70000127A0000093D007B
:101F7000FEB504460078D04DC00746D0686800071B
:101F8000800F012807D068680007800F022809D158
:101F90006868C00306D52868800336D560680028C5
:101FA0007ED032E001216068090401280AD08A004D
:101FB000002801D005280FD02868884328602868A9
:101FC000904301E02868084328606068002810D02A
:101FD000FFF726FE064608E0286810432860F1E770
:101FE000FFF71EFE801B64286FD828688003F7D592
:101FF0000BE0FFF715FE064604E0FFF711FE801B1D
:102000006428F1D828688003F7D420780126800757
:1020100000283BDA68680007800F07D0686800076F
:10202000800F022809D16868C00306D42868800799
:1020300015D5E068012833D111E0E0680028286850
:1020400015D030432860FFF7EBFD074604E0FFF7AB
:10205000E7FDC01B0228C7D828688007F7D5286885
:10206000F82188432169C900084328600EE0400830
:1020700040002860FFF7D4FD074604E0FFF7D0FDDD
:10208000C01B0228B0D828688007F7D42078000742
:1020900024D5E0690028686A10D03043686200E007
:1020A00007E1FFF7BDFD074604E0FFF7B9FDC01BE0
:1020B000022899D8686A8007F7D50FE040084000E9
:1020C0006862FFF7ADFD074605E09DE0FFF7A8FD5C
:1020D000C01B022888D8686A8007F7D420780427B4
:1020E0004007002860DA00200190E869C00008D4A9
:1020F000E969B8060143E961E969014001200091FD
:1021000001906E480168C90511D401688215114318
:102110000160FFF785FD009005E0FFF781FD009964
:10212000401A642870D865480068C005F5D5A068D5
:1021300001280AD0002801D0052810D0286A4008BC
:1021400040002862286AB84301E0286A30432862C8
:10215000A068002812D0FFF763FD00900AE0286A0B
:1021600038432862F1E7FFF75BFD0099411A5448B4
:10217000814249D8286A8007F5D50DE0FFF750FD68
:10218000009006E0FFF74CFD0099411A4C4881424F
:102190003AD8286A8007F5D40198002804D0E96964
:1021A000012000078143E9612078C00635D56069C8
:1021B00001280CD0401D686B23D038436863686BDE
:1021C000400840006863FFF72BFD064622E0686B7D
:1021D00038436863686B30436863FFF721FD064648
:1021E00004E0FFF71DFD801B02285BD8686B8007A9
:1021F000F7D5686BF8218843A169C9000843686373
:102200000BE0B8436863F4E74CE0FFF709FD801B7F
:10221000022847D8686B8007F7D4206A002846D088
:1022200069680907890F022943D001273F06022860
:10223000286805D0B8432860FFF7F2FC044633E075
:10224000B8432860FFF7ECFC064604E0FFF7E8FC23
:10225000801B022826D828688001F7D4E86AE16A42
:10226000000900010843E862616AA06A08436968DE
:102270003D2212049143084368602868384328606F
:10228000FFF7CEFC044604E0FFF7CAFC001B02285F
:1022900008D828688001F7D509E0FFF7C1FC001BCA
:1022A000022801D90320FEBD28688001F5D4002052
:1022B000FEBD0120FEBD0000001002400070004085
:1022C00088130000042204490428086902D09043BE
:1022D000086170471043FBE700E000E01548016823
:1022E0006431016014480168491C016013490868A1
:1022F000401C08601249134AC868401CC8609042DC
:1023000016DB0020C8601048816D491C8165016D95
:10231000491C0165416D491C41650C49088B002829
:1023200006D0401E80B20883782801D9782008831F
:1023300070470000EC000020E80000204C01002065
:10234000880100201027000070160020A41800202B
:10235000094910B5401E884201D9012010BD074C23
:1023600060610321081F02F025F90020A061072009
:102370002061002010BD0000FFFFFF0000E000E032
:1023800010B5FFF7ABFF10BDFEE7000010B5002150
:102390000F4A0846516043009B18401C1981FF28D2
:1023A000F9DD002005230B4ADB014400A418E418E2
:1023B000401CA1821028F8DB00200923DB01440027
:1023C000A418E418401CA186FF28F8DD002010BDE9
:1023D000680E0020F010002010B5402802DB00201D
:1023E000C04310BD10221143C200094B4000D21857
:1023F000C01858240D23A1529B010021C3189986AF
:10240000E300C0188186034800685065084610BD87
:10241000F0100020B401002070B504461E4638308C
:10242000049D03F005FE20462A463146583003F04D
:10243000FFFD002070BD000070B5104D064601463E
:102440002846FEF767FE0E4CE061FFF74BFD29467C
:10245000FEF74AFE60610B48314600680546FEF70C
:1024600043FEA0612A46002307480F21FEF766FEBF
:102470002081E06964302061002070BD40420F007F
:10248000DC000020B0010020000040420B0119498F
:1024900030B55B18FF33097F113319700221597071
:1024A0001449002020310C7F9C704C7FDC708C7FA5
:1024B0001C71CC7F5C710C46203425789D71657849
:1024C000DD710B7F15795B190B774B7F55795B19A4
:1024D0004B778B7F95795B198B77CB7F157A5B195F
:1024E000CB772178937AC91821706178D27A8918CC
:1024F000617030BD000A0020034610B5002002467E
:1025000002E09C5C6040521C8A42FADB10BD000075
:10251000F0B50B0003F0B8FA081D1D1D1D1D1D1D93
:10252000051D0D4E0D4D002041008A194919128CD0
:10253000401C0A841028F7DB0020094F0F239B0161
:102540004100CC19E4186A5AA286401C7252102825
:10255000F6DB0020F0BD0000241B0020180C00203A
:10256000F0100020F8B508460D460978552901D02D
:10257000252903D0012A01DD451C521E344F602459
:1025800079792B786143334C0919334C252B30D0A2
:10259000A3685B1CA360CB695B1CCB61B978002985
:1025A0000FD0F97800290FD001292C4913D0072327
:1025B0001B02C9180A7501462948FEF7F6FD0020DE
:1025C000F8700020C043F8BD2549264B55390A75DF
:1025D0000146224807E037235B01C9180A75014606
:1025E000204B1E482033C018FEF7DFFDF878401C52
:1025F000E6E76E79802E06DDE068401CE060086A40
:10260000401C0862DDE7334608339A4208D2086A64
:10261000401C0862E068401CE0600220C043F8BD36
:10262000B11DFFF769FFA919897981420DD0206991
:10263000401C206179796020414306480818416AAE
:10264000491C41620320C043F8BD0020F8BD0000D2
:1026500018010020800600206C040020F0100020EB
:1026600005180020D506000010B50020124C0346C6
:102670002071D2B2002905D021706370A370A272BC
:10268000E37005E0237001216170A370A272E27013
:102690000A4C00226021514309194B608B600B6189
:1026A0004B618B61CB610B628B624B62CB62521CC4
:1026B0000B63092AEEDB10BD000A00208006002013
:1026C0000C20414307480818002150300180418008
:1026D000082202714271817101728172C1720846D1
:1026E00070470000000A0020F8B50E460446252079
:1026F000069F079D089920706270A670E37027718D
:102700002F46002008376619372B30D01FDC332BBB
:102710001CD006DC002B19D0312B28D0322B15D140
:1027200025E0342B12D0352B10D0362B0ED165710D
:10273000002D03D02A46A01DFEF737FDA91D204617
:10274000FFF7DAFEB0710D20F0713846F8BD612B4D
:102750000DD006DC382B0AD0412B08D0422BF5D106
:1027600005E0622B03D0632B01D0642BEED16571A1
:10277000E0E70000F1B584B0FFF752FA0546FFF735
:102780002BFA664E04463079002802D0012802D088
:1027900004E001203071049800F098F930790228A3
:1027A00001D1032030715E48C179002906D0017A39
:1027B000002903D0C168611A322905D8C1687D2279
:1027C000611AD200914266D95548007A55490028CD
:1027D00064D053486023407901225843524B1A5029
:1027E000642048644E4E7079401CC0B27071F17A1A
:1027F000884208D9706A7462201AB062B079401CAD
:10280000B071012070714948727981184348CB7FBB
:102810008038037020310B7843704B78837089784F
:10282000C1700571290A4171290C8171290EC1718C
:102830006B46F4601978B37989089B0789009B0F70
:1028400019436B4619706023374C5343E358002BF0
:1028500061D0EF2319406B46197008230193009152
:102860000290412300213248FFF73EFF02463049E3
:10287000049802F009FC707960214843001941680E
:10288000491C4160C268F1688A1A4263C160002035
:102890003563F0713072002005B0F0BD204B186A2E
:1028A000401C186223484268521C42605E796020D6
:1028B000374646431C4830180269521C026142697F
:1028C000521C4261DB79002B02D1836A5B1C83625C
:1028D00083699A4200D98261134B032A82D900206E
:1028E0009851C8228A6411490E46C855183E307D59
:1028F000002800D176E7002337691A46052104989D
:10290000B847307D0028F5D0002336691A460721E4
:102910000498B04766E7102319439CE7000A00209B
:10292000180100207016002080060020180C0020DE
:10293000800500206C040020F8B5844608780C4619
:10294000552801D0252802D0012A00DD4C1C6079D1
:102950003B4D00906979602041433A482B46091865
:102960008868401C8860DF6ADE68E078A278BE1B59
:102970009B69352821D002DC32281ED10AE0382894
:102980001BD002DC362818D115E0412815D042288A
:1029900013D114E06E619E4200DDAE612A48A37936
:1029A00083540020CE624861086BB04200D20E63AF
:1029B0000120287201E00120E8710020F8BD6E615D
:1029C0009E4200DDAE61204BA17998180646203E5C
:1029D000F177E1799954217A4170617A8170A17A15
:1029E000C170E17A0171217B4171617B817118466F
:1029F0001838017D002905D0002306691A460721F1
:102A00006046B0476A79602042430E48002116189C
:102A100071616869F062316B814200D23063009865
:102A20000E28C5DB2046E77B1030FEF7E2FBE17C99
:102A30000002000A09060843B90071188863B7E765
:102A40001801002080060020180C0020F7B515465C
:102A50000C46FFF7C1F81A4EF06221780020552984
:102A600003D1012D01DD641C6D1E317800290FD0CA
:102A70000127F7712A4621460098FFF773FD0028C9
:102A800005D137722A4621460098FFF755FFFEBD53
:102A900071780029FBD00B4E2A46B06B2146401CB2
:102AA000B063009800F060F80028F0D106482A468C
:102AB000406C30652146009800F0CEF8FEBD000065
:102AC00018010020800600207016002070B5064610
:102AD0000025FFF7A5F8FFF77FF81D4C0122A1792B
:102AE000002901D1A271A062E17900292DD1A16A4A
:102AF0007D23411ADB00994227D90021A171216A67
:102B0000032902DAA271A0621FE003291DDD30460D
:102B1000E169FFF7D5FDE1690C2048430219304611
:102B20005032FFF7B3FCE069401CE061A17A8842B3
:102B30000BDD022020710748017D002905D000230C
:102B400004691A4605213046A047284670BD00009A
:102B5000000A0020000C00200248016101210175DB
:102B600000207047000C0020F0B508460D4609789B
:102B7000552901D0252903D0012A01DD451C521E0B
:102B8000297800231A4FDB431A4C252906D0A06868
:102B9000401CA060386C401C386409E014496E7910
:102BA000896C491C802E05DDE068401CE060B9643A
:102BB0001846F0BD334608339A4206D2B964E0683D
:102BC000401CE0600220C043F0BDB11DFFF794FC43
:102BD000A9198979814208D02069401C2061F86CCC
:102BE000401CF8640320C043F0BD0020F0BD00008D
:102BF000800600206C040020F8B5FEF7EDFF134BB3
:102C00001A69197900291FD05C7A1149002C05D066
:102C10007D20800148640020587215E00C4E0D4C58
:102C2000851A8036A54204D97D2292018A64012248
:102C300006E01219904207D97D2292018A6402228D
:102C40008A67C867186930600020F8BD1801002045
:102C500070160020E02E0000F7B5087884B00C460E
:102C6000552802D1012A00DD4C1C6D480168491C21
:102C70000160637960786B4903916B49694F0D7905
:102C80008037A84208D0FF2806D0786C401C7864B2
:102C90000020C04307B0F0BDA84201D0FF287DD17D
:102CA0006148C26A026101214172E0785F493728B8
:102CB00074D00CDC3328FBD004DC0028F8D0312899
:102CC000EDD119E03428F3D0352867D125E0584BF1
:102CD000DD1DFF35FA352A7D2E6961285ED004DCC2
:102CE00038285BD0412859D120E0622856D063288B
:102CF00054D0642852D17EE0A07908704B48203827
:102D00000078A071484802612179A01D01930091CB
:102D1000322302900022294661E0002021793623E7
:102D20000091019002460290012158E0A0790870BC
:102D3000E0794870207A8870607AC870E17AA07A69
:102D4000090240189863002A0DD000231A46062174
:102D50000498B047287D002805D000232D691A4625
:102D600007210498A84731482F4920388A7A0378E8
:102D7000A3714378E37183782372C3786372037914
:102D8000A3724379E37283792373C07960739000EF
:102D9000E273C019038F2374038F00E03DE01B0A28
:102DA0006374836B521C1B0CA374806B000EE07465
:102DB000D0B288720A2801D30020887220796A462E
:102DC0001070C00603D57D201A4A800190642079D6
:102DD000A31D0E226D460DC54223097900220398DA
:102DE000FFF782FC0246F86B401CF86303990498D5
:102DF00002F04AF911E0E179A07909024018217A3C
:102E0000647A09042406091940189863002A04D03A
:102E100000231A4606210498B04700203AE7000034
:102E20006C0400200006002018010020380C00204F
:102E3000000A002070160020034610B5002002464C
:102E400002E09C5C6040521C8A42FADB10BD30B547
:102E50000D46084609781446252901D0012030BDC9
:102E6000062C01D2032030BD611EFFF7E5FF2919B2
:102E70002039C97F814201D0042030BD002030BDFF
:102E800070B51E4604460B465520049D05992070DA
:102E90006370A270E6702571EE2E10D02A46601D78
:102EA000FEF783F9691D2046FFF7C6FF61194871D7
:102EB000A81D052E02DA002E00D1002070BD0521CC
:102EC0002046FFF7B9FF60710620F2E7FEB516460F
:102ED0000F460546FFF7BBFF040014D0E0B2694679
:102EE0000872009002A90B4801910278401E0178F7
:102EF000EE230948FFF7C4FF02460749284602F0BF
:102F0000C3F82046FEBD32463946284600F006F892
:102F1000FEBD000051010020E80C0020F7B588B08C
:102F20004A78F848039242688260421C15788E788D
:102F30002D0936072D01360F0B7935431570F24AEE
:102F400002920078039A84460C46624501D0FF2A1B
:102F50002FD12146E7780931EC4A002605914F2F01
:102F600074D02EDCEA480121192F70D016DC072F0F
:102F700026D008DC002F1CD0012F55D0032F58D0AD
:102F8000052F47D183E0112F71D0162F70D0E14962
:102F9000172F08686DD0182F3CD15CE2312F76D006
:102FA00008DC212F67D0222F70D0232FE3D0242FCD
:102FB00030D14AE3322F03D0332F68D0342F29D1B8
:102FC000DAE00420642F7DD012DC562F7BD008DCA1
:102FD000502F79D0532F78D0542F77D0552F19D127
:102FE000B6E2572F73D0582F72D0632F12D1C9E297
:102FF000692F2DD008DC652F6BD0662F2DD0672F61
:1030000031D0682F06D1D6E26B2F24D0732F70D029
:10301000742F6FD002206946087404A90191EE2331
:103020002A460090614608E0641D00930194012344
:1030300049E2B9491820A6E203990298FFF720FF58
:1030400002460299089802F01FF8FEE237E220E2F9
:10305000B2490C2097E2B24995E2B14910395020AB
:1030600091E23B462FE2E1790020A74A08E0C5E162
:10307000D3E1E9E10BE0EFE023185B7A1354401C45
:103080008842F9DBA04802F043FCC2E254E1A27995
:10309000617912028918E27989B2882B2BD0892BA9
:1030A0002DD08A2B2FD0832B32D0842B35D0852B5B
:1030B00038D0862B3BD0872B3ED08B2B41D08C2B0E
:1030C00044D007E062E24CE2F7E101E217E2FCE102
:1030D00050E268E2FE2B12D0A92B3CD0B32B3ED09D
:1030E000992B3FD0A12B42D087481038401800922E
:1030F000A5E179E290E2490009188A483AE04900DE
:103100000918894836E0490009188648203831E016
:1031100049000918952080002CE0490009189D20DD
:10312000800027E049000918A520800022E049001E
:103130000918FD2080001DE0490009187948A038D1
:1031400018E049000918DD20800013E04900091843
:10315000BD2080000EE04900091874480AE04900CB
:10316000734807E0734849000818001DBFE749008D
:103170000120C0060818BAE7A279617912028918FD
:10318000E27989B2882B23D0892B25D08A2B27D0AE
:10319000832B2AD0842B2DD0852B30D0862B33D077
:1031A000872B36D08B2B39D08C2B3CD0FE2B40D0AC
:1031B000A92B42D0B32B44D0992B45D0A12B46D07C
:1031C00051481038401800220599FDF7EEFF20E223
:1031D0004900091853483DE049000918524839E0B0
:1031E000490009184F48203834E049000918952053
:1031F00080002FE0490009189D2080002AE0490046
:103200000918A520800025E049000918FD2080004C
:1032100020E0490009184348A0381BE0490009187C
:10322000DD20800003E049000918BD208000081857
:10323000C9E7490009183C48F9E7490009183B4823
:10324000F5E749003A48F2E749003A4802E0490008
:103250000120C0060818B7E76279A4792402121980
:103260000924A40192B2002B14D0012B19D0022BF7
:1032700023D0032B27D0042B2DD0052B31D0062BA8
:103280002FD0082B36D06846067404A8212300915D
:10329000019018E113095B001818001930E00120B3
:1032A00025E013095B001818001912E013071B0F23
:1032B0000A469A401040F2D119E013095B00181831
:1032C0000523DB011BE013095B0018180F239B018A
:1032D000C018808EEAE713095B00181801239B02CF
:1032E0000DE0D20010184030007E4006C00F6A4644
:1032F0001074CAE713095B0018180923DB01C01812
:10330000808AD3E750010020E80C0020A418002098
:10331000F0100020680E00207E690008ACF7FF1F47
:10332000107C0008B4040000B4050000B4060000DE
:103330008006002070100020A2796179120289189D
:103340008DB2002B17D0012B1ED0022B25D0032BC2
:103350002CD0042B33D04021052B38D0062B36D06F
:10336000072B3FD06846067404A80190B848009621
:103370000278222360E62B095B0029071B18090F3E
:103380009520E279800035E02B095B0029071B18A6
:10339000090F9D20E27980002CE02B095B002907B2
:1033A0001B18090FA520E279800023E02B095B00A0
:1033B00029071B18090FFD20E27980001AE0290770
:1033C0002B09090F5B001B18E279A24812E0EA0002
:1033D00010184030028B8A43E179C907490E0A432D
:1033E0000283C1E72B095B001B1829079948E27982
:1033F000090F8030181801F06BFEB5E7002B02D0E2
:10340000012B03D005E102F05BF802E102F020F8A5
:10341000FFE08F48E37802780EE6A179607909022F
:103420004018E1798C4C80B2002B0AD08B4E012BD6
:1034300002D0928A002A04D04000801900910190A5
:103440000FE640000019F9E7002800D00E60009652
:103450001723019637E0002800D00E60A17960792B
:103460000902401885B2E27900207D4903E027185F
:103470007F7A0F54401C9042F9DB7949284602F0CC
:103480006FFA093472480096019604940278182362
:10349000D2E5A37960791B02C018D082908A0028F7
:1034A00009D096826F4801F0AFFD694800960196F9
:1034B00002781923C0E59182F4E7138300E01683B4
:1034C00000960196E3782A46B6E5664920205AE040
:1034D000A179607909024018634980B20A18E1793C
:1034E000121D782801D3002105E00B18782B02D992
:1034F0007821081A81B2C8B201920090B1E5A17991
:10350000607909024018584980B20B18E2791B1DF6
:10351000782801D3002205E01118782902D97821F2
:10352000081A82B218460599FDF73FFE00960196EB
:103530004748E378027803990298FFF7A1FC024616
:103540000299089801F0A0FD474802F029FA7CE0B2
:10355000454802F025FA3E48009601960278552328
:103560006AE5404801F050FD39480096019602781E
:10357000562361E5032109023C48FDF72FFE009622
:1035800001966EE53A49019100906AE5A17960796A
:1035900009024018E17980B20D01FEF79FFAE9B205
:1035A0000091019035E7FDF713FF29480096019639
:1035B0000278652340E5009665232A460196039923
:1035C0000298FFF75DFC02460299089801F05CFD45
:1035D000012080F31088BFF34F8F27492548C8602A
:1035E000BFF34F8F00BFFDE7A17960790902401852
:1035F00080B2E279059902F099F9002809D0C0B2A9
:10360000009004A9124801910278EE23401E01782F
:1036100013E500960196FCE6A1796079090240184D
:1036200080B20690E47900963B462A4601960399BB
:103630000298FFF725FC02460299089801F024FD44
:1036400022460599069802F081F900200BB0F0BDE2
:1036500051010020140400000080000800A00008B0
:10366000E80C0020A4180020701000208006002024
:10367000E41600200400FA0500ED00E070B5FDF747
:1036800071FE164800F0E2FA154D164C6869A06507
:103690001248816861658188491C81808088E06466
:1036A0000E4801F0B1FC2868206768686067A86868
:1036B000A06701220C4B1146A06DFDF7F7FD2046D7
:1036C0008030E9680160A9694160E9698160296920
:1036D000C160296A0161002070BD0000A4180020AB
:1036E00064010020701600203930000008B504493C
:1036F0004A6902434A6149690140009108BD0000DE
:103700000010024008B50449CA690243CA61C96988
:103710000140009108BD00000010024008B50449B6
:103720008A6902438A6189690140009108BD0000ED
:103730000010024070B5094E04467618203E049DE4
:103740000C34F17F0830102D03D00A50F07F035164
:1037500070BD0A51F17F0B5070BD00005865000824
:10376000044A51182039C97F425852085200425029
:103770007047000058650008044A51182039C97F75
:10378000425801231A434250704700005865000810
:10379000044A51182039C97F425802231A43425023
:1037A0007047000058650008054B10B559182039BE
:1037B000C97F435803242403A3431343435010BD3C
:1037C000286A0008054B59182039C97F001D0B587D
:1037D0001B0C1B0413430B50704700005865000876
:1037E000054B10B559182039C97F4358034C234065
:1037F0001343435010BD0000286A0008EFBFFFFFCD
:10380000054B10B559182039C97F43588024A3436C
:103810001343435010BD0000286A0008054B10B543
:1038200059182039C97F43580324A402A3431343E2
:10383000435010BD286A0008054B10B559182039AF
:10384000C97F43582024A3431343435010BD0000B5
:10385000286A0008054B10B559182039C97F43580C
:103860004024A3431343435010BD0000286A0008BE
:10387000054B10B559182039C97F43580324240239
:10388000A3431343435010BD286A0008F0B51FB48A
:103890000024022804D0012804D00425144F12E08B
:1038A0000125FBE70225F9E7019861000E182201C6
:1038B00003990298FDF768FC3969012211433961C7
:1038C0003080641CE4B2AC42EED3F868C007C00F8D
:1038D000FBD1F8688006C00F08D0F86820210843A3
:1038E000F8603869400840003861012005B0F0BD3B
:1038F00000200240890210B50B1811491AE00C692A
:10390000022214430C6148610A69402422430A617F
:10391000CA68D207D20FFBD1CA689206D20F0DD067
:10392000CA6820242243CA600C69022294430C61B5
:10393000520280189842E2D3012010BD002010BD31
:10394000002002400748C168C907C90FFBD10169BF
:103950008022114203D004494160044941600120A2
:10396000704700000020024023016745AB89EFCD7E
:10397000F0B500233CE001249C40224037D04F6842
:1039800006681446544365006519AE4367433E43D9
:1039900006604E68012E01D0022E05D18F68866820
:1039A0006743AE433E4386600F69C668AE43254613
:1039B0007D432E43C6604D68022D18D14D69FF2A04
:1039C00009D8066A544354432201121B96436C43A0
:1039D000264306620BE0140A2246624362436243B6
:1039E0001401A61A446A6A43B443144344625B1C3C
:1039F0000A681446DC40BED14A68012A01D0022A76
:103A000006D10A68C968436893434A431343436035
:103A10000120F0BD0069814301D0002070470120E2
:103A2000704710B5044601F0D3F9206001F0B6F9F3
:103A3000606001F0C1F9A06010BD0000014610B542
:103A4000002000290FD1104A116B8907890F012925
:103A50000AD0022911D0032909D001F0B9F901F0E7
:103A60009DF901F0A9F910BD01F0B2F910BD11687E
:103A70008907C90FFAD0054810BD116A8907C90F17
:103A8000FAD00120C00310BD0010024000127A00DD
:103A900010B5036800225B06DB0F25D10CC98C68CA
:103AA0001A434B6823431A43CB681A430B691A43E2
:103AB0004B691A438B691A4303680C4C23401A4321
:103AC000026042680A4B1A40CB681B0C1A430B6811
:103AD0001A43426001238A695B0308399A4202D182
:103AE000898C89B201610122104610BD4000FFFFA0
:103AF000FBF0FFFFF0B50268194B1A4C984201D059
:103B0000A04203D17025AA434D682A43164D174E93
:103B1000174F98420AD0A04208D0164CA04205D0B8
:103B2000A84203D0B04201D0B84204D103242402F9
:103B3000A243CC68224302608A68C2620A88826219
:103B4000984205D0A84203D0B04201D0B84201D17A
:103B5000097C016341690122114341611046F0BDB6
:103B6000002C01400004004000400140004401409E
:103B7000004801400020004041680122D2029143E8
:103B8000416081680822914381607047FEB5044618
:103B900000680D460026C007C00F43D1E968686879
:103BA000AA69084329691143084321681E4A114044
:103BB00008432060A868616803221203914301430F
:103BC00061606869A168121191430143A1601748BF
:103BD000844203D10020FFF731FF06E014488442FD
:103BE00020D16846FFF71DFF029800281AD02968E7
:103BF000002917D00126AA69F3039A420CD140008C
:103C00004A088018FDF770FA0A4980B2014000079F
:103C1000420F0A43E26005E04A081018FDF764FA13
:103C200080B2E0603046FEBDF369FFFF003801401E
:103C300000440040F0FF000010B580220249FDF76B
:103C4000B4FA002010BD000098690008F0B5154ACC
:103C500000215514144C154F0CE0D65ABE4208D121
:103C60009B185B886668B34203D90AC44B1C236067
:103C7000083C491C4B01AB42EFD3216801230029CA
:103C800005DB49018918202201F0D8F800E0838083
:103C9000A06840012030A84201D90020A060002087
:103CA000F0BD000000C8000864010020AA55000013
:103CB0001FB50B46024604A1684601F0D1FE01463D
:103CC000684601F049F81FBD201B5B25643B256455
:103CD0004800000010B50120FFF708FD00210A2070
:103CE00000F046FC0A2000F039FC00210B2000F017
:103CF0003FFC0B2000F032FC10BD0000F0B50120AD
:103D000087B04004FFF7F2FC01208004FFF7EEFCCF
:103D10000120C004FFF7EAFC01208005FFF7E6FC64
:103D20000126C020002403256A46049631C20927D3
:103D3000FF0669463846FFF71BFE8020694631C101
:103D4000694638460494FFF713FE93200001009063
:103D5000039469460196029504943846FFF708FEDD
:103D60003002B86168026A46049631C26946384634
:103D7000FFF7FEFD29486A46049631C26946284885
:103D8000FFF7F6FD274800900394694601960295D7
:103D900004942348FFF7ECFD0720400300900294B1
:103DA00003946946019604941F48FFF7E1FDF02053
:103DB0006A46049631C269463846FFF7D9FD30029B
:103DC000B86140006A46049631C269461448FFF75C
:103DD000CFFD40206A46049631C269461348FFF77A
:103DE000C7FDF0020090694601960295049438469A
:103DF000FFF7BEFD8020009069460196029504946D
:103E00000A48FFF7B5FD40206A46049631C269466C
:103E10000348FFF7ADFD07B0F0BD00000704000048
:103E200000040048C0FC00000008004800140048DE
:103E30000848074901600849016004214160074AB8
:103E40008260C1684907FCD1026105490160704781
:103E5000CCCC00000030004055550000FF0F0000A2
:103E6000AAAA0000F0B591B0282106A8FDF7B6F97E
:103E700018216846FDF7B2F901200003FFF74EFC58
:103E800001208004FFF732FC0024082502260327C6
:103E9000039404946A460594E0C269462248FFF7F9
:103EA00067FD102069460394C1C101200490694652
:103EB00005941D48FFF75CFD2020039404946A4696
:103EC0000594C1C269461848FFF752FD0021192028
:103ED00000F04EFB192000F041FB07200002089083
:103EE000012006940A9040020B90099480200794C8
:103EF0000E940D9007200D4C0F900C9506A92046AE
:103F0000FFF7C6FD60681021884360606068A843C1
:103F1000606060680902884308436060206840214F
:103F20000843206011B0F0BD00040048003001409B
:103F300010B586B014216846FDF750F91020FFF740
:103F4000E1FB0021112000F013FB112000F006FB23
:103F50002F2069460880002001900848084C0290F4
:103F60002046FFF7C7FD2068802188432060E06875
:103F700001210843E06006B010BD0000E703000027
:103F80000010004070B501208EB08003FFF7C6FB23
:103F9000032040020790022008900320002409908B
:103FA000012509200A9407A90C950B94C006FFF778
:103FB000DFFC3A4E102202213046FFF711FC0022AE
:103FC00002213046FFF7F0FB002202213046FFF7C6
:103FD00033FC002202213046FFF73CFC8022022104
:103FE0003046FFF70DFC002202213046FFF740FC6F
:103FF000002202213046FFF711FC00220321304647
:10400000FFF7EEFB002203213046FFF7CDFB002235
:1040100003213046FFF710FC002203213046FFF752
:1040200019FC802203213046FFF7EAFB002203211E
:104030003046FFF71DFC002203213046FFF7EEFB60
:1040400000211B2000F094FA1B2000F087FA14488E
:1040500069460068009001940294039405940694C4
:104060000C20104C04902046FFF790FD6068290555
:10407000084360606068490003225205904308438A
:104080006060A06849120843A0602046FFF774FDF5
:104090002068284320600EB070BD00000000024080
:1040A000000100200038014070B58EB01C21684628
:1040B000FDF794F8182107A8FDF790F8012464048F
:1040C0002046FFF71FFB2046FFF710FB0E2007904E
:1040D00002200890032001250990002409200A9558
:1040E00007A90C950B94C006FFF742FC414E102225
:1040F00004213046FFF774FB002204213046FFF70D
:1041000053FB002204213046FFF796FB00220421D6
:104110003046FFF79FFB802204213046FFF770FBFB
:10412000002204213046FFF7A3FB00220421304681
:10413000FFF774FB002205213046FFF751FB0022F8
:1041400005213046FFF730FB002205213046FFF7FE
:1041500073FB002205213046FFF77CFB80220521FE
:104160003046FFF74DFB002205213046FFF780FB6C
:10417000002205213046FFF751FB00211C2000F0F2
:10418000F7F91C2000F0EAF9A61EFF21304600F0E6
:10419000EFF9304600F0E2F91748EE0300680090AE
:1041A0000194029403940C2004AA51C2134C694652
:1041B0002046FFF7EBFCA06821140843A060A0682C
:1041C000B0433043A06020681F214905884308435D
:1041D000206020684911884308432060A068A1142A
:1041E0000843A0602046FFF7C7FC206828432060F2
:1041F0000EB070BD000002400401002000440040E9
:1042000000B50846042A02D80020C04300BD01784A
:104210007F2902D90120C04300BD41784906490EDB
:104220001F2902D90220C04300BD114601F0CAFE79
:104230000028F9D0042000BDF7B588B00F460A9ACF
:104240000898FFF7DDFF0690002803D00020C04348
:104250000BB0F0BDBD483A7800783946824273D140
:104260008C784A78CB78B98824024DBAB8491C4377
:1042700008704A7001200790200521070226000ED1
:10428000090F130001F000FC11A60A508DA7BFDD35
:10429000A6A6A6A6A6A6A6A6E9F0A600E81DC008A2
:1042A000AB4903908870002038E000270120059773
:1042B00001900098C000049026E021070122200907
:1042C000090FD202944207D24200A24812180920D4
:1042D00080011018808E05E042009E481018FF30C3
:1042E0008130808AFDF770FB002801D001980743D8
:1042F0000198641C4006000E01900598A4B2401C71
:104300000590082804DA049805994018A842D4DBDF
:104310008F4800994018C7700098401C039900907E
:104320008842C2DB761854E0E81DC0088849039033
:104330008870002030E00020009001200190029859
:104340000027C00004901DE0FDE02005000E4200A3
:10435000804821071218092080011018090F808A4F
:10436000FDF732FB002803D0019900980843009024
:104370000198641C4006000E7F1CA4B20190082F17
:1043800003DA0498C019A842DFDB7149029A009849
:104390008918C8700298401C039902908842CADBB1
:1043A000C0E768006A498446887000200EE0211842
:1043B0004A006849470052180921C9015118898EDD
:1043C000634A0B0ABA18D3701171401CA842EEDB85
:1043D00017E0761C8DE068005D4A844690700020EE
:1043E0000DE021184B005B4947005B18092189014A
:1043F0005918898ABF180B0AFB703971401CA842F2
:10440000EFDB6644E5E7002D12D0FF221202954251
:1044100007D142004F4812189D208000101800F06C
:104420004FFE39464A480A9AFCF7BFFE0A9E85E0CD
:104430004200484812189D208000101800F050FDDE
:10444000EFE738797979000208434249620052184F
:104450000921C90151188886E3E7E81DC0083C49D5
:1044600003908870002036E047E03818C07900904B
:1044700001200190002005900298C000049024E0E3
:10448000210701222009090FD2029442009B019AC0
:1044900007D21A4043002F481B189D20800018188F
:1044A00005E01A4043002B481818FF30953000F003
:1044B0001BFE0198641C4006000E01900598A4B2F2
:1044C000401C0590082804DA049805994018A84271
:1044D000D6DB0298401C039902908842C5DB1C4839
:1044E000B9788170F978C170397901717979417140
:1044F000361D0698002814D025E000200EE041006B
:10450000C919CA79097A12020A4321184B001149C4
:104510005B180921C90159188A86401CA842EEDBA4
:10452000DDE70798002809D0B1B2094801F04AFD3B
:1045300007498855000A89194870B61C3246044953
:10454000089800F0A1FD002082E600005C01002038
:10455000E80D0020F010002070470000C106C90ED1
:1045600001208840014908607047000000E100E038
:104570008307FF22DB0E9A408907090E9940002825
:104580000BDA0007000F0838830808489B0018184A
:10459000C36993430B43C3617047830804489B007E
:1045A0001818036893430B430360704700ED00E065
:1045B00000E400E08307FF22DB0E9A408907090E22
:1045C000994000280BDA0007000F083883080848D4
:1045D0009B001818C36993430B43C361704783085A
:1045E00004489B001818036893430B43036070470B
:1045F00000ED00E000E400E010B501200449C00631
:10460000486004480168491C016000F005F810BDCD
:1046100000ED00E0FC00002070B50D484178002559
:10462000002904D04570C1780A48FCF7D9FF0A4E2A
:10463000F06F00280BD0094C094902202268FEF7D0
:1046400005FA2560F5678021054801F0D9F870BDAD
:10465000DC000020D8020020EC0300200C01002028
:104660000005002010B50648054B00780021403BAE
:104670005A1840325478491C14700F29F8DB10BDC9
:1046800030110020F3B5FA4D85B0286800286FD0AE
:10469000686800281CD000220D21082000F03AFD97
:1046A00000221146082000F035FD012211460820A5
:1046B00000F030FD00200146EE4A13184033401C44
:1046C00019701028F8DB00260121144640347BE2E3
:1046D0000122E1E7B2000598059B805CD7187A7843
:1046E000019201257B8800931B2873D012DC0246BF
:1046F000030001F0C9F91B5C7272727272723E3E65
:104700003E3E3E3E5C5C5CA7A7A73E3EBEBEBEBE34
:10471000BEBE5C00342870D011DC01461C390B0091
:1047200001F0B2F918A7A7A7A7A7A7A7A7A7A7A7A8
:10473000454545454545454545454545F7453A289F
:1047400073D008DC014635390B0001F09DF905E214
:104750006E56E26E3000DC2804D004DC3B28EFD03B
:10476000C82824D120E1DD28FCD0FA28F9D11BE1AA
:1047700033E2D01F030001F087F90E080A10181B5E
:104780001D1A1A1A1A1A1A20261A207C4AE0FFF754
:1047900069FF00281FD0207C3AE0FFF763FF002864
:1047A00016D1207C002813D125E000F0C3FAF5E1F2
:1047B0002078F7E7FFF756FF1DE0207C00280AD09D
:1047C000002905D007E0207C002804D1002902D070
:1047D000012010E04DE000200DE0130001F054F93D
:1047E000070C050E111B262E0C0000F0A3FA0099F1
:1047F0000198FDF7FDF82074D0E11AE100F09AFA73
:104800000CE0207C0028E6D000990198FDF7F0F834
:104810000028E0D0DCE7207C0028DCD0009901985B
:10482000FDF7E6F80028D6D1D2E758E1207C002831
:10483000CED100990198FDF7DBF8B3E7207C002882
:10484000ECD0C5E7102804D0112804D0122AAED12C
:104850000AE0227C03E0207C0028A8D001220099F5
:10486000019800F057FC99E1207C00289FD000229D
:10487000F5E715383D79030001F006F9120A121523
:10488000181B0F1E3C4C5B6A2D798185898D7D94A8
:1048900000F050FA13E0207484E000F04BFA1DE0C1
:1048A00000F048FA29E000F045FA36E000F042FA5C
:1048B00042E000F03FFA4EE0207C002870D028460D
:1048C0000099FDF71DF90546F9887879FDF718F983
:1048D000854263D064E0207C002861D0284600999E
:1048E000FDF70EF90546F9887879FDF709F9854253
:1048F00054D155E0207C002852D028460099FDF77D
:10490000FFF80546F9887879FDF7FAF8854245DB26
:1049100046E0B1E0207C002842D028460099FDF70F
:10492000EFF80546F9887879FDF7EAF8854235DC35
:1049300036E0207C002833D028460099FDF7E0F8C7
:104940000546F9887879FDF7DBF8854226DD27E012
:10495000207C002824D028460099FDF7D1F8054690
:10496000F9887879FDF7CCF8854217DA18E0207CD1
:10497000002813D1A3E7207C00280FD1AEE7207CCC
:1049800000280BD1B9E7207C002807D1C5E7207C9F
:10499000002803D1D0E7207C0028DCD001207AE772
:1049A000002078E70225F9E03F791546C8280DD0A8
:1049B000DC2823D0DD282AD0FA28F3D12D48E900BD
:1049C00008184030007EC0062AD508E02948E900D2
:1049D00008184030007EC00601D4002121E0207C70
:1049E000002822D038460099FDF78AF8014628466B
:1049F00000F07EFA284600F0F5F84CE71D48E90083
:104A000008184030007EC006E9D4012109E01948A9
:104A1000E90008184030007EC006E0D4022100E022
:104A200003212846FDF7D8FCD9E7284600F068FDA9
:104A3000E0E73F790225342802D0372816D108E074
:104A4000207C002812D038460099FDF759F8401C08
:104A500007E0207C002809D038460099FDF750F87F
:104A6000401E02463846009900F0CCFB96E000005C
:104A7000680E0020F01000203D7979790291F988C4
:104A80000191332814D035281BD038288AD1207CB6
:104A9000002887D00298FDF733F80746284600998A
:104AA000FDF72EF83A1A0199029800F0ABFB79E76E
:104AB000207C0028FBD028460099FDF721F802460B
:104AC000F1E7207C0028F2D028460099FDF718F87D
:104AD000054601990298FDF713F82A18E3E73A7999
:104AE00079790291F9880191797A03917D89362843
:104AF00006D0392812D03A281FD03B284DD131E0BA
:104B0000207C002849D010460099FCF7F9FF0746A1
:104B100001990298FCF7F4FF3A180CE0207C002879
:104B20003BD010460099FCF7EBFF0746019902982D
:104B3000FCF7E6FF3A1A29462CE0207C00282CD00E
:104B400010460099FCF7DCFF07B201990298FCF7C8
:104B5000D7FF00B247433A462946039800F052FB7C
:104B60003A1416E0207C002817D010460099FCF774
:104B7000C7FF07B201990298FCF7C2FF01B238469D
:104B8000FCF7C8FA02B20F462946039800F03AFB38
:104B90003A46691C039800F035FB032530114100AB
:104BA0000F48012308183107090F02898B40194665
:104BB000114000D00121277C0830002F01D01A437A
:104BC00000E09A43028076190698864200DA81E571
:104BD00003494868401C4860002007B0F0BD000051
:104BE000680E0020FEB50746402802DB0020C043C7
:104BF000FEBD2C48F9000E1800964036348BE106B5
:104C000001D40020FEBDA1063CD561063FD4264953
:104C1000096800980A25406D0190081AA1070FD075
:104C2000A107890F012905D0022905D0E143890791
:104C300005D005E0642503E07D25ED0000E01B4D77
:104C4000A84224DB2946FCF765FA014615487A009C
:104C500012180B20800110188446808E019B40188A
:104C600069435B18009980B24B650D218901511889
:104C7000898E814203D8084640210C433483614623
:104C8000888604E0600602D5402084433483307E69
:104C9000B9B24006C20F052000F03CFA307E400653
:104CA000C00FFEBDF0100020B4010020102700004E
:104CB000F7B50446FCF7FFFE054602992068A942B5
:104CC000A16806DC4018029A0199FCF76EFA029975
:104CD00019E040182A460199FCF767FA2946204650
:104CE000FCF72AFB2046FCF7E6FE06460298471B27
:104CF000B7420DDCA16820683A464018019949196D
:104D0000FCF753FA39462046FCF716FB0298FEBD25
:104D1000002E0CDDA168206832464018019949191F
:104D2000FCF743FA31462046FCF706FBAD1928464E
:104D3000FEBD0000074A0F2011183F235B5C403185
:104D4000401E0B700028F7DC02494031087C0870D7
:104D500070470000F010002010B50C460A460146CE
:104D60000348FFF7A5FF00F033FD204610BD00000B
:104D7000B003002010B50C460A4601460348FFF771
:104D800097FF00F025FD204610BD0000B003002075
:104D900010B50C4600F084FD204610BD044949685A
:104DA000F0221140034A0909515CC84070470000D5
:104DB000001002404C6A000803494968034A49054B
:104DC000490F515CC8407047001002405C6A0008FF
:104DD00010B5074841680C200140064805D0042959
:104DE00004D0082901D100F009F810BD024810BD17
:104DF0000010024000127A00001BB70010B50C4CE6
:104E00006168012212040B48114002D0914200D186
:104E10000948E16A0907090F491CFCF765F961684F
:104E20000F2292041140890C891C484310BD0000D8
:104E30000010024000093D00001BB70070B5D417F8
:104E4000A40F0023A418A51003E09C000E590651DE
:104E50005B1C9D42F9DCD40F6B00A418651003E0C5
:104E60005C000E5B06535B1C9D42F9DC104670BD76
:104E70000920C006006901090F208843704700001F
:104E8000F8B5002384468025DB43124800242146E0
:104E90002A464A43121817880F4EB74209D17E2678
:104EA000B75A0E4EB74204D15288A24201DD0B46DA
:104EB0001446491C0829EBDB082B06D26B43191852
:104EC00080226046FFF7BAFF02E06046FEF7B4FEBC
:104ED0000020F8BD00C00008AA550000A55A000037
:104EE0000B0702881B0F012199408A4302807047FB
:104EF00030B5402802DB0020C04330BD0D4CC2005D
:104F000013191A464032157EAD0611D4400000191F
:104F10000D24A4010419A1860B240021A401001969
:104F20008186054800685865108B2021084310834E
:104F3000002030BDF0100020B401002010B500F0BA
:104F400001F810BDF0B5284EB068C007C00F42D0C0
:104F5000F0682649C5B2C86A254C401CC862088D55
:104F6000401C0885A079002802D1284601F06CF881
:104F7000A0790027002813D11E48A1784554A078B5
:104F8000401CA0700D2D0BD1A07801F05DF8A07829
:104F9000E07001206070A770277017490007486013
:104FA000A079002817D06079401C60711348016B0C
:104FB000491C01636079217988420DD30120C00228
:104FC0000921C9068861A7710120E0712070A770CE
:104FD0000B4980208862F0BD064861794030405C12
:104FE000307301F031F8F0BD00300140701800203E
:104FF000DC000020D802002000ED00E07017002047
:10500000001400487047000070B51A4C6168491CD4
:10501000616019490180A18841801849CA6C828069
:10502000496D8160112181831549C183A1684A01BD
:105030001449511800250B462A469E5CFF2E04D1C8
:10504000521C202AF9D3002D10D02022FCF754FA4C
:10505000A0682060401CA06040010121890220302E
:10506000884201D90020A060002070BD202200F0FD
:10507000CDFCEDE764010020AA5500007016002069
:10508000A55A000000C8000810B514460A460128B9
:1050900002D0022806D00DE021461046FFF76AFE36
:1050A000054804E021461046FFF772FE0348816F71
:1050B000491C8167204610BD58030020EC030020E6
:1050C0000B0702881B0F012199400A430280704799
:1050D0000907090F01238B400188002A01D01943D9
:1050E00000E099430180704710B5002A02D0FFF715
:1050F000E7FF10BDFFF7F4FE10BD0907090F0123FC
:105100008B400188002A01D0194300E099430180B7
:105110007047000070B50B051B0E204C5B000D079F
:105120001C192D0F030000F0AFFC09060B14191E0B
:1051300022272C313600FF292DD89520800003E04E
:10514000FF2928D89D20800020182946FFF7D5FF89
:1051500021E0FF291FD8A5208000F5E780291AD279
:10516000FD208000F0E7802915D20D48ECE74029AA
:1051700011D2AD208000E7E740290CD2B520800095
:10518000E2E7802907D206482030DDE7802902D2F5
:1051900003488030D8E7002070BD0000F0100020E8
:1051A000140400000121C903034A002801D09162C0
:1051B0007047916170470000000800480121890391
:1051C000034A002801D09162704791617047000046
:1051D000000800480121C903034A002801D0916159
:1051E00070479162704700000008004801214903A0
:1051F000034A002801D09162704791617047000016
:1052000000080048F0B5304C4B001C190923DB01A5
:10521000E6180B23DB01E51892B28A283DD00EDC9C
:10522000294F4B00DF1909239B01FF188338030026
:1052300000F02AFC0714181C21262D464800992846
:105240003ED006DC8B282CD08C2831D08D2839D14B
:1052500033E0A12834D0FE2834D131E0102931DAEE
:10526000BA822FE010292DDABA862BE0102929DA2C
:105270000520C00108E0082924DA0F20800114E08D
:1052800008291FDA01208002201882821AE0802972
:1052900018DAB28616E0AA8614E0802912DAB28201
:1052A00010E040290EDA0D2080012018828609E0E6
:1052B000402907DA0B208001F7E7402902DAE8E706
:1052C0008029E8DB0020F0BDF0100020F0B58DB0A3
:1052D000002500F035FEFCF77FFC059010213A48D0
:1052E00000F090FE0790FCF777FC04901021364800
:1052F00000F032FE0690FCF76FFC0390102132485C
:1053000000F048FE0190FCF767FC064610212E488D
:1053100000F058FE0090FCF75FFC2C4A04469068B1
:10532000012108439060881E106129481061264BB6
:105330000021585C1070491C1029FADB1768FCF733
:105340004BFC0B900199009802970190214F00911E
:10535000781921A1069B079A00F082FB45190B984A
:10536000A11B001B01910290039A04990398B21AA1
:10537000431A009208460599421A781920A100F0B4
:105380006FFB441908A8FEF74CFB26484268012031
:10539000000402403819134623A100F061FB0419F0
:1053A000381926A1089A00F05BFB01193846FFF76F
:1053B000D3FC01210D20FEF77BFC244903208860EB
:1053C00000200DB0F0BD000048650008003002402C
:1053D00001A00000D80100200D0A435243202025DF
:1053E000303458202025303458202025303458209F
:1053F00020253034582020253034580D0A00000074
:1054000074696D6520253034642020253034642093
:105410002025303464202025303464202025303489
:10542000640D0A00001002404D61696E536F757281
:105430006365202578202564200D0A007379736345
:105440006C6B202564200D0A00000000C0000020C5
:1054500030B50021174D0846696042005219401CC2
:105460001181FF28F9DD00200522134CD2014300F1
:105470001B199B18401C99821028F8DB0020092278
:10548000D20143001B199B18401C9986FF28F8DDA8
:1054900000201022C100091940310B8B401C93439E
:1054A0000B834028F6DB0120044928604882002055
:1054B00030BD0000680E0020F0100020A41800206D
:1054C00010B500210C48092201600C4B08469201DE
:1054D0004400E418A418401CA1861028F8DB002022
:1054E000012292024400E418A418401CA18208285A
:1054F000F8DB002010BD0000680E0020F010002036
:1055000010B5402802DB0020C04310BD0B4BC1008A
:10551000CA18114640310C7EA4060DD54000C018B3
:105520000B2300249B01C018848605480068506541
:10553000088B202290430883002010BDF01000202B
:10554000B401002010B5FCF771FBFCF719FF10BD8A
:1055500070B594B030216846FBF740FE0024022568
:1055600001260E94E8030990009605200F94C004CC
:105570000D9401960A900C9408950B956846FCF7DB
:10558000F7FC002803D0862115A000F067FA072059
:105590000C900E9401210D950F940CA8FCF70CFCB7
:1055A000002803D092210EA000F058FA109610A8FF
:1055B0001296FCF78BFB002803D0A12108A000F075
:1055C0004DFA4B208001FCF7C3FE0420FCF77AFE65
:1055D00000221146501EFCF775FB14B070BD000090
:1055E0002E2E5C2E2E2F436F6D4C69625C537263BE
:1055F0005C4253502E63000013480168012211439E
:1056000001604168114A114041600168104A11402F
:1056100001600168012292049143016041683F22C8
:10562000120491434160C16A09090901C162016B19
:10563000FF22143291430163416B490849004163E1
:105640000021816070470000001002400CB8FF0884
:10565000FFFFF6FE04480169C907C90F02D0012106
:10566000C9430161704700000010004070B51B4C39
:10567000E0691B498006C00F11D01A4A0120106052
:10568000194A10600869401C0861A28C4868401CD7
:105690004860174B154D18682A54401C1860E06983
:1056A0000007C00F04D008202062C869401CC861F0
:1056B0002068C006C00F07D0E069C006C00F03D045
:1056C0001020206200F03CF8E0694006C00F03D0D3
:1056D0004020206200F074F870BD000000380140E6
:1056E0005803002010010020140100208004002035
:1056F0000801002010B5104CE069E0690007C00FF8
:1057000005D0082020620D48C169491CC16120688C
:10571000C006C00F07D0E069C006C00F03D010203C
:10572000206200F09DF8E0694006C00F03D04020E1
:10573000206200F0E5F810BD00440040EC030020BA
:105740000548416A491C416204490968002901DD94
:105750000121C167704700005803002008010020A4
:10576000F8B5144D0C46064602212846FDF7F8FF11
:1057700010200090104B324602212846FDF7DAFF38
:10578000224602212846FEF71DF802212846FDF791
:10579000F3FF0A4804630121417202212846FDF704
:1057A000F7FF054828388168802211438160204630
:1057B000F8BD0000000002402838014058030020D6
:1057C0000248016A491C016270470000580300202A
:1057D00010B50A48407A00280DD1084C206F583483
:1057E000002808D12046FCF753F90146E2682068FA
:1057F0008018FFF7B5FF002010BD000058030020FF
:10580000F8B5144D0C46064605212846FDF7A8FFBD
:10581000002000903346104A05212846FDF78AFFF4
:10582000224605212846FDF7CDFF05212846FDF734
:10583000A3FF0A4844630121817205212846FDF730
:10584000A7FF054824388168402211438160002069
:10585000F8BD00000000024024440040EC0300209A
:105860000A480B4900794058802180B2081A09493A
:10587000012208600849CA674A6A521C4A62002825
:1058800003DD01200549000748607047586500089E
:10589000040002400C010020EC03002000ED00E0B9
:1058A000F8B5144D0C46064604212846FDF758FF6E
:1058B00010200090104B324604212846FDF73AFF95
:1058C000224604212846FDF77DFF04212846FDF7E6
:1058D00053FF0A4804630121417204212846FDF761
:1058E00057FF05482838816880221143816020468F
:1058F000F8BD00000000024028440040EC030020F6
:105900000248016A491C016270470000EC03002054
:1059100010B5054C0A46638821465B1C4380FBF7A3
:10592000EBFD002010BD0000007C00080B4610B508
:10593000054984054118002C184602D000F066F88D
:1059400010BDFBF7D9FD10BD009000080B460349C0
:1059500010B541181846FBF7CFFD10BD00800008B8
:1059600070B50C460B494118002B08D00A4D45195B
:10597000012B03D0094B9B8A002B00D129468005BF
:10598000204603D000F042F8002070BDFBF7B4FDC4
:10599000FAE700000080000800A00008A41800201A
:1059A000F8B54188174A491C4180154901807E217C
:1059B00000250A52ED43802300221146124C002696
:1059C00059430C19314603E0675CFF2F04D1491C91
:1059D0009942F9DB002E03D0521C082AEDDB00E0CF
:1059E0001546082D06D208495D436918802200F04B
:1059F0000DF803E080220449FBF77EFD0020F8BD8E
:105A0000AA550000A55A000000C00008F8B51646C7
:105A10000F460546FDF796FF0024761C76080EE03B
:105A2000600042195278295C120289188AB2C119A1
:105A300000230220FDF72AFF002802D0641CA642A2
:105A4000EED8054A1169802319431161002801D05D
:105A50000020F8BD0120F8BD00200240FEE7000054
:105A60000FB410B504A9074B02AA039800F028F858
:105A7000044602A9002000F05DFA204610BC08BCD4
:105A800004B01847355F000830B47446641E2578AA
:105A9000641CAB4200D21D46635D5B00E31830BC62
:105AA000184702E008C8121F08C1002AFAD170473F
:105AB0007047002001E001C1121F002AFBD170478E
:105AC000FFB591B00F460546002606E025280AD00E
:105AD000149A139990476D1C761C28780028F5D1EC
:105AE000304615B0F0BD002400940121F34A029421
:105AF00000E004436D1C2B780846203B9840104280
:105B0000F7D128782A280ED0022128780246303A88
:105B1000092A15D8009A0A235A43303A80180C43B0
:105B20006D1C0090F1E701CF0090002805DA0120FC
:105B300040030443009840420090022004436D1C3F
:105B400028782E2815D10420044368786D1C2A2853
:105B50000AD101CF6D1C02900BE002990A22514339
:105B6000303940186D1C02902878014630390929D7
:105B7000F3D928786C2810D006DC4C281AD0682875
:105B80000ED06A2817D104E0742813D07A2812D1D5
:105B900010E00120400504430CE00121090501E06B
:105BA000032109050C436978814203D101200005D6
:105BB00024186D1C6D1C287803906E281ED00CDCF8
:105BC000632831D004DC00288AD0582811D1B2E0F3
:105BD00064287BD069280CD178E073282DD004DCB0
:105BE0006F2870D0702804D1A7E075286CD0782871
:105BF0006BD0149A13999047761C62E06002400FB4
:105C0000022807D003280AD0042838680AD0066082
:105C10003F1D56E03868F11706604160F8E73868C4
:105C20000680F5E70670F3E73878694608740020C7
:105C3000487404A80390012003E038680390002012
:105C4000C0433F1D61070FD5002101E00199491CA8
:105C5000029A0191914213DA8142F7DB019A03998A
:105C6000895C0029F2D10BE0002101E00199491C77
:105C700001918142FADB019A0399895C0029F5D1EF
:105C800001990098139A401A00902146149B00F045
:105C90003BF901998019461807E0039803990078A9
:105CA000491C0391149A139990470198401E019042
:105CB000401CF2D12146149B139A009800F014F96D
:105CC00086196D1C09E741E033E034E00A20002129
:105CD000049005916002410F022905D001CFC2173F
:105CE0009446032905D007E0FF1DFF08FF0003CFFE
:105CF00006E000B2C2179446042902D140B2C1178F
:105D00008C4600226146944506DA0A46002140424C
:105D100091418C462D2102E0210504D52B216A46B4
:105D20001176012103E0E10701D02021F7E701917D
:105D300054E00A200BE0102009E01020049000211C
:105D40000420044308200591029003E0082000216C
:105D5000059104906002410F022905D001CF002275
:105D60009446032906D006E0FF1DFF08FF0003CF7D
:105D70008C4603E080B2042900D1C0B20021019119
:105D800021072BD50399702906D0049A1021059B71
:105D90004A401A4305D00EE040216A46117601219F
:105DA00008E06146014306D030216A461176039926
:105DB000517602210191049A0821059B4A401A4319
:105DC0000CD16146014301D1610707D530216A46F4
:105DD0001176012101910299491E029103995829D6
:105DE00004D037A103910FA90F910DE039A1F9E774
:105DF0006146059B049AFBF706FA039B8C469B5C65
:105E00000F9A521E0F92137061460143F0D10F9802
:105E100007A9081A20300390600704D50120000468
:105E20008443029801E0012002900399884201DD39
:105E3000401A00E0002041180290019809180098CB
:105E4000401A0090E00306D42146149B139A009850
:105E500000F05AF886190020049008E006A9085CB2
:105E6000149A139990470498401C761C0490019949
:105E70008842F3DBE0030CD52146149B139A00986B
:105E800000F042F8861904E0149A302013999047E4
:105E9000761C0299481E02900029F5DC08E00F9854
:105EA0000F990078491C0F91149A13999047761C0A
:105EB0000399481E03900029F1DCFBE60928010044
:105EC0003031323334353637383961626364656670
:105ED0000000000030313233343536373839414232
:105EE0004344454600000000F8B5044600251E4620
:105EF0001746880404D405E039462020B0476D1CBD
:105F0000641EF9D52846F8BDFFB50446002581B0CA
:105F10001E46C80301D5302700E02027880404D599
:105F200005E038460399B0476D1C641EF9D5284634
:105F300005B0F0BD0A68531C0B601070704700007C
:105F400010B50A2101A0FEF707FF10BD1B5B324A06
:105F50001B5B303B3048000030B503460B4800293E
:105F600000D101210A4C491E0ED31A78504000225C
:105F7000C50702D04008604000E04008521CD2B281
:105F8000082AF5D35B1CEEE730BD0000FFFF0000E0
:105F900001A0000070B50A4DFF23EE1D1A46F93628
:105FA00005E0047854402A5D5A40335D401C0C469D
:105FB000491E89B2002CF4D11802104370BD0000B4
:105FC0005E67000870B504460C4800220C4E11E0D4
:105FD0002378521C1D4645402D07ED0E755B0009C8
:105FE0004540180968400007C00E305A2B09584038
:105FF00092B2641C8A42EBD370BD0000FFFF000028
:106000005E69000810B5084A084B07E00478544060
:106010002406E40D1C5B120A6240401C491EF5D2A6
:10602000D04380B210BD0000FFFF00005E65000895
:1060300006C00021016041608160C16001220261EF
:106040004161084670470000074910B54A8D0B466C
:106050004C3BD054488D401C80B24885642801D305
:106060005120488510BD00007018002088B0002025
:1060700080F31088F74E0127FF2037830530F64B59
:1060800080220090991AF548FCF7C6F94020F44B9D
:106090000246191A0090F348FCF7BEF9FBF7CEFD53
:1060A000F14C0025F1482567C06A6066F048006839
:1060B000A066F048406AE066FFF74AFAEF49EE480A
:1060C0000860FCF7B9F9FDF719FEFDF703FEFDF7CF
:1060D000D5FAEB48FEF7D4FE3783FEF7C9FEA0637E
:1060E0006063E848E84E027831780220FCF7BCFA99
:1060F000E6490220FCF730FD606B102108430107E0
:10610000090FE34A60631170C00603D5E148377098
:10611000057002E0DF4835700770DA480170FBF760
:1061200085FBDD48FBF77AFB05210820FBF744FCE3
:10613000D7480178D3480170D84901200870E12080
:10614000D74940020860FDF71DFFFDF7ADFFFDF7E1
:1061500089FED4484168402739434160FDF768FE15
:10616000FDF7E6FED0480168012211430160CF48E7
:10617000016820221143016001681022114301606F
:106180000168394301608021C948FFF739FBC948DC
:1061900001681022114301600168394301600A203F
:1061A000FBF730FD0120FFF721F80020FFF706F88C
:1061B0000020FFF70FF8FFF789F8FBF70DFDA54F5B
:1061C00060663D827D82AE48C0883882388A012868
:1061D0000AD1FCF7DBF8208F202108407882788AEA
:1061E000002801D0FFF734F9B34E0127B34D00204A
:1061F00028706F70FBF7F0FC2861FBF711FD06902B
:10620000FEF736FE05469348008AC0070BD0A80665
:10621000208F04D5800606D4FFF71AF903E0800624
:1062200001D5FFF74DF9A5630698E0630920C00684
:106230000069B084A2480069F084A24800693085F2
:10624000A14800697085FBF723FBFBF7C5FC9B4D5C
:1062500068618048008A01280BD17E48818A002924
:106260001FD09A49A960C18A99480160A868FEF7C1
:1062700009FA606E69696166081AA066E16E884273
:1062800000D2E066216F884200D92067FBF7A4FCAA
:10629000A8617D480078002817D08E490020CB786F
:1062A0000AE08D49DEE78D49091820310A788C49CA
:1062B000091820310A70401C8342F4DC71480078D0
:1062C000002802D00220FCF755FA0698800401D578
:1062D0002F7001E0002028700698000501D56F702E
:1062E00001E0002068706B480078002811D002207F
:1062F000FCF782FC7B490868800401D52F7001E01F
:10630000002028700868000501D56F7001E00020AA
:106310006870606C002801D0401E6064A06C00288A
:1063200001D0401EA0644B48018B00293FD0687803
:10633000FEF75CFF6878FEF741FF6878FEF732FFF2
:106340006878002801D1012000E00020FEF742FF1C
:10635000FBF742FCE861FBF73FFC2862FBF73CFCE3
:106360000A2168620846FAF7AFFE0020401C402868
:10637000FCDB206C5C49401C20640868002836DD8A
:10638000364AD26F002A32D082B258490120FDF736
:1063900053FF002805D05448544902680120FCF7F7
:1063A00095FD5149002008602C49C86732E0008AF9
:1063B00001280FD0606C002810D06878FEF716FF17
:1063C000A06C00280CD06878FEF7F8FE6878FEF71D
:1063D000E9FEBAE7464800680028EFD02878EDE7E4
:1063E0000020FEF7EBFE0020FEF7DCFEABE74149A4
:1063F000686888420DD92D48416801221205114371
:1064000041604168530003225205914319434160A2
:1064100001E0401C68601F480078002802D000207E
:10642000FBF7F0FB182234496846FAF7BEFE244D0C
:10643000002013494200511840310A891105130BFD
:106440001207090E120F00296CD0002B56D0012B19
:1064500059D067E0A41800204419002058030020F8
:10646000881A0020EC0300207016002080F7FF1F20
:10647000FC0000200010024010270000D80000207F
:1064800070100020230100201801002011250008B1
:106490001C010020190100209D1500081D0100208D
:1064A0000001002000300140001000400038014091
:1064B00000050020004400407018002088010020E2
:1064C0000004004800080048000C004800A0000834
:1064D00060010020081B002000800008241B002011
:1064E000180C00204C01002008010020800400202E
:1064F000680E0020C0270900346A00080F4B5918A5
:1065000009239B0103E00D4B591813235B01C918A4
:10651000C97C3B469340194204D0820069468958A1
:10652000A96103E0820069468958A962401C0628D7
:1065300000DA7EE703490248086057E6F0100020C1
:10654000AAAA000000300040112233445566778823
:1065500099AABBCCDDEEFF00081C304458000000B7
:10656000891112239B322446AD573665BF74488C7F
:10657000C19D5AAFD3BE6CCAE5DB7EE9F7F8811046
:10658000080193331A22A5562C47B7753E64C99C5F
:10659000408DDBBF52AEEDDA64CBFFF976E8022125
:1065A0008B30100299132667AF763444BD554AAD3F
:1065B000C3BC588ED19F6EEBE7FA7CC8F5D9833106
:1065C0000A2091121803A7772E66B5543C45CBBD1F
:1065D00042ACD99E508FEFFB66EAFDD874C90442E5
:1065E0008D5316619F702004A9153227BB364CCEFF
:1065F000C5DF5EEDD7FC6888E1997AABF3BA8552C6
:106600000C4397711E60A1142805B3373A26CDDEDE
:1066100044CFDFFD56ECE9986089FBBB72AA0663A4
:106620008F7214409D512225AB343006B9174EEFBE
:10663000C7FE5CCCD5DD6AA9E3B8788AF19B877385
:106640000E6295501C41A3352A24B1163807CFFF9E
:1066500046EEDDDC54CDEBB962A8F99A708B088464
:1066600081951AA793B62CC2A5D33EE1B7F0400896
:10667000C919522BDB3A644EED5F766DFF7C89942D
:1066800000859BB712A6ADD224C3BFF136E0C11876
:106690004809D33B5A2AE55E6C4FF77D7E6C0AA50C
:1066A00083B4188691972EE3A7F23CC0B5D1422956
:1066B000CB38500AD91B666FEF7E744CFD5D8BB5ED
:1066C00002A499961087AFF326E2BDD034C1C33936
:1066D0004A28D11A580BE77F6E6EF55C7C4D0CC6CC
:1066E00085D71EE597F42880A1913AA3B3B2444A16
:1066F000CD5B5669DF78600CE91D722FFB3E8DD6AD
:1067000004C79FF516E4A9902081BBB332A2C55AF5
:106710004C4BD7795E68E11C680DF33F7A2E0EE78B
:1067200087F61CC495D52AA1A3B03882B193466BD5
:10673000CF7A5448DD59622DEB3C700EF91F8FF76C
:1067400006E69DD414C5ABB122A0B9923083C77BB5
:106750004E6AD5585C49E33D6A2CF11E780F00C1A2
:10676000814001C0804101C0804100C1814001C021
:10677000804100C1814000C1814001C0804101C011
:10678000804100C1814000C1814001C0804100C101
:10679000814001C0804101C0804100C1814001C0F1
:1067A000804100C1814000C1814001C0804100C1E1
:1067B000814001C0804101C0804100C1814000C1D1
:1067C000814001C0804101C0804100C1814001C0C1
:1067D000804100C1814000C1814001C0804101C0B1
:1067E000804100C1814000C1814001C0804100C1A1
:1067F000814001C0804101C0804100C1814000C191
:10680000814001C0804101C0804100C1814001C080
:10681000804100C1814000C1814001C0804100C170
:10682000814001C0804101C0804100C1814001C060
:10683000804100C1814000C1814001C0804101C050
:10684000804100C1814000C1814001C0804100C140
:10685000814001C0804101C0804100C1814000C031
:10686000C101C30302C2C60607C705C5C404CC0CD8
:106870000DCD0FCFCE0E0ACACB0BC90908C8D81848
:1068800019D91BDBDA1A1EDEDF1FDD1D1CDC14D458
:10689000D515D71716D6D21213D311D1D010F03088
:1068A00031F133F3F23236F6F737F53534F43CFC98
:1068B000FD3DFF3F3EFEFA3A3BFB39F9F83828E848
:1068C000E929EB2B2AEAEE2E2FEF2DEDEC2CE42418
:1068D00025E527E7E62622E2E323E12120E0A06088
:1068E00061A163A3A26266A6A767A56564A46CAC58
:1068F000AD6DAF6F6EAEAA6A6BAB69A9A86878B8C8
:10690000B979BB7B7ABABE7E7FBF7DBDBC7CB474D7
:1069100075B577B7B67672B2B373B17170B0509087
:1069200091519353529296565797559594549C5C17
:106930005D9D5F9F9E5E5A9A9B5B995958988848C7
:1069400049894B8B8A4A4E8E8F4F8D4D4C8C448497
:1069500085458747468682424383418180400000C7
:1069600001CC01D8001401F0003C002801E401A092
:10697000006C007801B40050019C01880044030EB3
:1069800009010201040104010006000000000000EA
:106990000000000006000000AA55000000010000F1
:1069A00000000000010001000009000000000000DC
:1069B00000000200000000090000000000000000CC
:1069C00000000000000000000000000000000000C7
:1069D00010101010101010101010101010101010B7
:1069E0001000200030004000500060000300000054
:1069F0000400000005000000060000000700000081
:106A000008000000090000000A0000000B00000060
:106A10000C0000001100A55AAA550000000000005B
:106A20000000000000000000081C304458081C3022
:106A3000445800000004000000080000001000009E
:106A40000020000000400000008000000000000066
:106A5000000000000102030406070809000000000E
:106A600001020304846A0008C0000020F80000004E
:106A7000A25A00087C6B0008B8010020B01D00007D
:106A8000B25A0008000000000000000000000000F2
:106A900000000000000000000100000010270000BE
:106AA00000000000000000000000000000000000E6
:106AB00000000000000000000000000000000000D6
:106AC0000000000000C2010040420F000000000072
:106AD00000000000000000000000000000000100B5
:106AE00000000001010100000000000000000000A3
:106AF0000000000000000000000000000000000096
:106B00000000000000000000000000000000000085
:106B10000000000001000000000000000000000074
:106B20000100000097000000FFFFFFFF00000000D1
:106B30000000000000000000000000000000000055
:106B40000000000000000000000000000000000045
:106B500000000000008000080000000000000000AD
:106B60000000000000000000000000000000000025
:0C6B700000000000001BB7000000000047
:04000005080010B52A
:00000001FF
C8T6_TestApp1/MDK-ARM/F030C8T6_TestApp1/F030C8T6_TestApp1.map
@@ -22,6 +22,7 @@
    debug.o(i.ADCProcess) refers to debug.o(.data) for .data
    debug.o(i.ADCProcess) refers to kmachine.o(.bss) for KMem
    debug.o(i.ADCProcess) refers to kmachine.o(.data) for PowerDownEvent
    debug.o(i.ADCProcess) refers to debug.o(.bss) for .bss
    debug.o(i.FormatHex) refers to printf8.o(i.__0sprintf$8) for __2sprintf
    debug.o(i.Locate) refers to printf8.o(i.__0sprintf$8) for __2sprintf
    debug.o(i.Locate) refers to functions.o(i.PutStr) for PutStr
@@ -70,12 +71,11 @@
    functions.o(i.LL_DMA_EnableChannel) refers to functions.o(.constdata) for .constdata
    functions.o(i.LL_DMA_EnableIT_TC) refers to functions.o(.constdata) for .constdata
    functions.o(i.LL_DMA_SetDataLength) refers to functions.o(.constdata) for .constdata
    functions.o(i.PendSvCallBack) refers to fp0.o(i.ParseFP0Pkg) for ParseFP0Pkg
    functions.o(i.PendSvCallBack) refers to fpx.o(i.FPxParsePkt) for FPxParsePkt
    functions.o(i.PendSvCallBack) refers to kbus.o(i.KBusParsePacket) for KBusParsePacket
    functions.o(i.PendSvCallBack) refers to functions.o(i.Uart2RecvDMA) for Uart2RecvDMA
    functions.o(i.PendSvCallBack) refers to fp0.o(.data) for bSPI1RecvDone
    functions.o(i.PendSvCallBack) refers to fp0.o(.data) for nSPI1RecvLenInBuf
    functions.o(i.PendSvCallBack) refers to fp0.o(.bss) for SPI1RecvBuf
    functions.o(i.PendSvCallBack) refers to functions.o(.data) for .data
    functions.o(i.PendSvCallBack) refers to functions.o(.bss) for .bss
    functions.o(i.PendSvCallBack) refers to globaldef.o(.bss) for Uart2Stat
    functions.o(i.PendSvCallBack) refers to globaldef.o(.data) for Uart2RecvBuf1DataLen
    functions.o(i.PendSvCallBack) refers to globaldef.o(.bss) for Uart2RecvBuf1
@@ -92,12 +92,8 @@
    functions.o(i.ReadConfig_5) refers to functions.o(i.Input165Cfg) for Input165Cfg
    functions.o(i.SPI1_IRQ_CallBack) refers to functions.o(i.logData) for logData
    functions.o(i.SPI1_IRQ_CallBack) refers to kmachine.o(.bss) for KMem
    functions.o(i.SPI1_IRQ_CallBack) refers to fp0.o(.data) for bSPI1Sending
    functions.o(i.SPI1_IRQ_CallBack) refers to fp0.o(.bss) for SPI1RecvBuf
    functions.o(i.SPI1_IRQ_CallBack) refers to fp0.o(.data) for nSPI1RecvLenInBuf
    functions.o(i.SPI1_IRQ_CallBack) refers to fp0.o(.data) for bSPI1RecvDone
    functions.o(i.SPI1_IRQ_CallBack) refers to fp0.o(.data) for bSPI1SendDone
    functions.o(i.SPI1_IRQ_CallBack) refers to fp0.o(.bss) for SPI1SendBuf
    functions.o(i.SPI1_IRQ_CallBack) refers to functions.o(.data) for .data
    functions.o(i.SPI1_IRQ_CallBack) refers to functions.o(.bss) for .bss
    functions.o(i.SendPacket) refers to functions.o(i.PutStr1) for PutStr1
    functions.o(i.SendPacket) refers to functions.o(i.PutStr2) for PutStr2
    functions.o(i.SendPacket) refers to globaldef.o(.bss) for Uart1Stat
@@ -140,30 +136,29 @@
    functions.o(i.modbuscrc16test) refers to functions.o(i.crc16table) for crc16table
    functions.o(i.modbuscrc16test) refers to functions.o(i.crc16bitbybit) for crc16bitbybit
    functions.o(i.modbuscrc16test) refers to functions.o(.conststring) for .conststring
    kbus.o(i.KBusAddChildAddrByInfo) refers to kbus.o(.bss) for .bss
    kbus.o(i.KBusCheckPacket) refers to memcpya.o(.text) for __aeabi_memcpy
    kbus.o(i.KBusCheckPacket) refers to kbus.o(i.KBusBCC) for KBusBCC
    kbus.o(i.KBusCheckPacket) refers to kbus.o(.data) for .data
    kbus.o(i.KBusCheckPacket) refers to kbus.o(.bss) for .bss
    kbus.o(i.KBusCheckPacket) refers to globaldef.o(.bss) for Uart2Stat
    kbus.o(i.KBusCheckPacket) refers to kmachine.o(.bss) for KMem
    kbus.o(i.KBusMakePacket) refers to kbus.o(i.__ARM_common_switch8) for __ARM_common_switch8
    kbus.o(i.KBusInit) refers to kbus.o(.bss) for .bss
    kbus.o(i.KBusMakeDefaultClildInfo) refers to kbus.o(.bss) for .bss
    kbus.o(i.KBusMakePacket) refers to memcpya.o(.text) for __aeabi_memcpy
    kbus.o(i.KBusMakePacket) refers to kbus.o(i.KBusBCC) for KBusBCC
    kbus.o(i.KBusMasterFunc) refers to stm32f0xx_hal.o(i.HAL_GetTick) for HAL_GetTick
    kbus.o(i.KBusMasterFunc) refers to functions.o(i.GetuS) for GetuS
    kbus.o(i.KBusMasterFunc) refers to kbus.o(i.KBusSearchChild) for KBusSearchChild
    kbus.o(i.KBusMasterFunc) refers to kbus.o(i.KBusMakePacket) for KBusMakePacket
    kbus.o(i.KBusMasterFunc) refers to functions.o(i.SendPacket) for SendPacket
    kbus.o(i.KBusMasterFunc) refers to kbus.o(.bss) for .bss
    kbus.o(i.KBusMasterFunc) refers to kbus.o(.data) for .data
    kbus.o(i.KBusMasterFunc) refers to kmachine.o(.bss) for KMem
    kbus.o(i.KBusMasterFunc) refers to kbus.o(.bss) for .bss
    kbus.o(i.KBusMasterFunc) refers to globaldef.o(.bss) for Uart2Stat
    kbus.o(i.KBusMasterParsePacket) refers to kbus.o(i.__ARM_common_switch8) for __ARM_common_switch8
    kbus.o(i.KBusMasterParsePacket) refers to kbus.o(i.KBusMakePacket) for KBusMakePacket
    kbus.o(i.KBusMasterParsePacket) refers to functions.o(i.SendPacket) for SendPacket
    kbus.o(i.KBusMasterParsePacket) refers to uread4.o(.text) for __aeabi_uread4
    kbus.o(i.KBusMasterParsePacket) refers to kbus.o(.data) for .data
    kbus.o(i.KBusMasterParsePacket) refers to kbus.o(.bss) for .bss
    kbus.o(i.KBusMasterParsePacket) refers to kmachine.o(.bss) for KMem
    kbus.o(i.KBusParsePacket) refers to functions.o(i.GetuS) for GetuS
    kbus.o(i.KBusParsePacket) refers to kbus.o(i.KBusCheckPacket) for KBusCheckPacket
    kbus.o(i.KBusParsePacket) refers to kbus.o(i.KBusMasterParsePacket) for KBusMasterParsePacket
@@ -175,19 +170,25 @@
    kbus.o(i.KBusRepeaterFunc) refers to functions.o(i.ToggleRunLed) for ToggleRunLed
    kbus.o(i.KBusRepeaterFunc) refers to kmachine.o(.bss) for KMem
    kbus.o(i.KBusRepeaterFunc) refers to kbus.o(.data) for .data
    kbus.o(i.KBusSearchChild) refers to stm32f0xx_hal.o(i.HAL_GetTick) for HAL_GetTick
    kbus.o(i.KBusSearchChild) refers to functions.o(i.GetuS) for GetuS
    kbus.o(i.KBusSearchChild) refers to kbus.o(i.KBusMakeDefaultClildInfo) for KBusMakeDefaultClildInfo
    kbus.o(i.KBusSearchChild) refers to kbus.o(i.KBusAddChildAddrByInfo) for KBusAddChildAddrByInfo
    kbus.o(i.KBusSearchChild) refers to kbus.o(.bss) for .bss
    kbus.o(i.KBusSetCallBackFunc) refers to kbus.o(.bss) for .bss
    kbus.o(i.KBusSlaveCheckPacket) refers to kbus.o(i.KBusBCC) for KBusBCC
    kbus.o(i.KBusSlaveCheckPacket) refers to kbus.o(.bss) for .bss
    kbus.o(i.KBusSlaveCheckPacket) refers to globaldef.o(.bss) for Uart2Stat
    kbus.o(i.KBusSlaveFunc) refers to functions.o(i.GetuS) for GetuS
    kbus.o(i.KBusSlaveFunc) refers to kbus.o(.data) for .data
    kbus.o(i.KBusSlaveFunc) refers to kmachine.o(.bss) for KMem
    kbus.o(i.KBusSlaveParsePacket) refers to kbus.o(i.__ARM_common_switch8) for __ARM_common_switch8
    kbus.o(i.KBusSlaveParsePacket) refers to kbus.o(i.KBusMakePacket) for KBusMakePacket
    kbus.o(i.KBusSlaveParsePacket) refers to functions.o(i.SendPacket) for SendPacket
    kbus.o(i.KBusSlaveParsePacket) refers to globaldef.o(.bss) for Uart2Stat
    kbus.o(i.KBusSlaveParsePacket) refers to kbus.o(.bss) for .bss
    kbus.o(i.KBusSlaveParsePacket) refers to kbus.o(.data) for .data
    kbus.o(i.KBusSlaveParsePacket) refers to kmachine.o(.bss) for KMem
    kbus.o(i.KBusUpdateChildInfo) refers to kbus.o(.bss) for .bss
    klink.o(i.KLCheckPacket) refers to klink.o(i.KLBCC) for KLBCC
    klink.o(i.KLMakeRplyPacket) refers to memcpya.o(.text) for __aeabi_memcpy
    klink.o(i.KLMakeRplyPacket) refers to klink.o(i.KLBCC) for KLBCC
@@ -197,30 +198,31 @@
    klink.o(i.KLParsePacket) refers to klink.o(i.KLParseReqPacket) for KLParseReqPacket
    klink.o(i.KLParsePacket) refers to klink.o(.data) for .data
    klink.o(i.KLParsePacket) refers to klink.o(.bss) for .bss
    klink.o(i.KLParseReqPacket) refers to kbus.o(i.__ARM_common_switch8) for __ARM_common_switch8
    klink.o(i.KLParseReqPacket) refers to klink.o(i.KLMakeRplyPacket) for KLMakeRplyPacket
    klink.o(i.KLParseReqPacket) refers to functions.o(i.SendPacket) for SendPacket
    klink.o(i.KLParseReqPacket) refers to kmachine.o(i.WriteFactoryData) for WriteFactoryData
    klink.o(i.KLParseReqPacket) refers to memcpya.o(.text) for __aeabi_memcpy
    klink.o(i.KLParseReqPacket) refers to klink.o(.data) for .data
    klink.o(i.KLParseReqPacket) refers to klink.o(.bss) for .bss
    klink.o(i.KLParseReqPacket) refers to kmachine.o(.bss) for KMem
    klink.o(i.KLParseReqPacket) refers to kmachine.o(.bss) for KMRunStat
    klink.o(i.KLParseReqPacket) refers to plcfunctions.o(.bss) for PLCMem
    klink.o(i.KLParseReqPacket) refers to kmachine.o(.constdata) for KMInfoBlock
    klink.o(i.KLParseReqPacket) refers to kbus.o(.bss) for KBusChnStats
    klink.o(i.KLParseReqPacket) refers to kmachine.o(.bss) for storedKMSysCfg
    klink.o(i.KLParseReqPacket) refers to klink.o(i.SetBitValue) for SetBitValue
    klink.o(i.KLParseReqPacket) refers to plcfunctions.o(i.StartPLC) for StartPLC
    klink.o(i.KLParseReqPacket) refers to plcfunctions.o(i.StopPLC) for StopPLC
    klink.o(i.KLParseReqPacket) refers to plcfunctions.o(i.StartPLC) for StartPLC
    klink.o(i.KLParseReqPacket) refers to kmachine.o(i.WriteProgram) for WriteProgram
    klink.o(i.KLParseReqPacket) refers to kmachine.o(i.SaveRunStat) for SaveRunStat
    klink.o(i.KLParseReqPacket) refers to klink.o(i.KLMakeRplyPacket) for KLMakeRplyPacket
    klink.o(i.KLParseReqPacket) refers to functions.o(i.SendPacket) for SendPacket
    klink.o(i.KLParseReqPacket) refers to kmachine.o(i.WriteSysCfgToFlash) for WriteSysCfgToFlash
    klink.o(i.KLParseReqPacket) refers to memseta.o(.text) for __aeabi_memclr4
    klink.o(i.KLParseReqPacket) refers to kmachine.o(i.GetEventLogAddr) for GetEventLogAddr
    klink.o(i.KLParseReqPacket) refers to kmachine.o(i.ClearEventLog) for ClearEventLog
    klink.o(i.KLParseReqPacket) refers to kmachine.o(i.WriteNewApp) for WriteNewApp
    klink.o(i.KLParseReqPacket) refers to kmachine.o(i.WriteNewAppInfo) for WriteNewAppInfo
    modbusrtu.o(i.ModBusSlaveCheckPkg) refers to modbusrtu.o(i.crc16tablefast) for crc16tablefast
    modbusrtu.o(i.ModBusSlaveParsePkg) refers to modbusrtu.o(i.ModBusSlaveCheckPkg) for ModBusSlaveCheckPkg
    modbusrtu.o(i.ModBusSlaveParsePkg) refers to kbus.o(i.__ARM_common_switch8) for __ARM_common_switch8
    modbusrtu.o(i.ModBusSlaveParsePkg) refers to modbusrtu.o(i.__ARM_common_switch8) for __ARM_common_switch8
    modbusrtu.o(i.ModBusSlaveParsePkg) refers to modbusrtu.o(i.GetBitValue) for GetBitValue
    modbusrtu.o(i.ModBusSlaveParsePkg) refers to modbusrtu.o(i.SetAddrBit) for SetAddrBit
    modbusrtu.o(i.ModBusSlaveParsePkg) refers to memcpya.o(.text) for __aeabi_memcpy
@@ -253,7 +255,7 @@
    plcfunctions.o(i.IsTimerOn) refers to kmachine.o(.bss) for KMem
    plcfunctions.o(i.PopOutVal) refers to kmachine.o(.bss) for KMem
    plcfunctions.o(i.ProcessPLCBinProg) refers to kmachine.o(i.SetCoilValue) for SetCoilValue
    plcfunctions.o(i.ProcessPLCBinProg) refers to kbus.o(i.__ARM_common_switch8) for __ARM_common_switch8
    plcfunctions.o(i.ProcessPLCBinProg) refers to modbusrtu.o(i.__ARM_common_switch8) for __ARM_common_switch8
    plcfunctions.o(i.ProcessPLCBinProg) refers to plcfunctions.o(i.PopOutVal) for PopOutVal
    plcfunctions.o(i.ProcessPLCBinProg) refers to plcfunctions.o(i.PushInVal) for PushInVal
    plcfunctions.o(i.ProcessPLCBinProg) refers to kmachine.o(i.GetCoilValue) for GetCoilValue
@@ -293,18 +295,16 @@
    kmachine.o(i.CheckEventLog) refers to kmachine.o(.data) for .data
    kmachine.o(i.ClearEventLog) refers to kmachine.o(i.EraseFlashMem) for EraseFlashMem
    kmachine.o(i.ClearEventLog) refers to kmachine.o(.data) for .data
    kmachine.o(i.EraseAndWriteToFlashMem) refers to stm32f0xx_hal_flash.o(i.HAL_FLASH_Unlock) for HAL_FLASH_Unlock
    kmachine.o(i.EraseAndWriteToFlashMem) refers to stm32f0xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase) for HAL_FLASHEx_Erase
    kmachine.o(i.EraseAndWriteToFlashMem) refers to stm32f0xx_hal_flash.o(i.HAL_FLASH_Program) for HAL_FLASH_Program
    kmachine.o(i.EraseAndWriteToFlashMem) refers to stm32f0xx_hal_flash.o(i.HAL_FLASH_Lock) for HAL_FLASH_Lock
    kmachine.o(i.EraseFlashMem) refers to stm32f0xx_hal_flash.o(i.HAL_FLASH_Unlock) for HAL_FLASH_Unlock
    kmachine.o(i.EraseFlashMem) refers to stm32f0xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase) for HAL_FLASHEx_Erase
    kmachine.o(i.EraseFlashMem) refers to stm32f0xx_hal_flash.o(i.HAL_FLASH_Lock) for HAL_FLASH_Lock
    kmachine.o(i.GetCoilValue) refers to kbus.o(i.__ARM_common_switch8) for __ARM_common_switch8
    kmachine.o(i.EraseAndWriteToFlashMem) refers to stm32f0xx_ll_flash.o(i.LL_Flash_Unlock) for LL_Flash_Unlock
    kmachine.o(i.EraseAndWriteToFlashMem) refers to stm32f0xx_ll_flash.o(i.LL_Flash_PageErase) for LL_Flash_PageErase
    kmachine.o(i.EraseAndWriteToFlashMem) refers to stm32f0xx_ll_flash.o(i.LL_FLASH_Program) for LL_FLASH_Program
    kmachine.o(i.EraseFlashMem) refers to stm32f0xx_ll_flash.o(i.LL_Flash_Unlock) for LL_Flash_Unlock
    kmachine.o(i.EraseFlashMem) refers to stm32f0xx_ll_flash.o(i.LL_Flash_PageErase) for LL_Flash_PageErase
    kmachine.o(i.GetCoilValue) refers to modbusrtu.o(i.__ARM_common_switch8) for __ARM_common_switch8
    kmachine.o(i.GetCoilValue) refers to kmachine.o(i.GetBitValue) for GetBitValue
    kmachine.o(i.GetCoilValue) refers to kmachine.o(.bss) for .bss
    kmachine.o(i.GetEventLogAddr) refers to kmachine.o(.data) for .data
    kmachine.o(i.GetVarData) refers to kbus.o(i.__ARM_common_switch8) for __ARM_common_switch8
    kmachine.o(i.GetVarData) refers to modbusrtu.o(i.__ARM_common_switch8) for __ARM_common_switch8
    kmachine.o(i.GetVarData) refers to kmachine.o(.bss) for .bss
    kmachine.o(i.KMachineInit) refers to kmachine.o(i.CheckEventLog) for CheckEventLog
    kmachine.o(i.KMachineInit) refers to kmachine.o(i.LoadRunStat) for LoadRunStat
@@ -325,20 +325,22 @@
    kmachine.o(i.SaveRunStat) refers to kmachine.o(i.WriteToFlashMemNoErase) for WriteToFlashMemNoErase
    kmachine.o(i.SaveRunStat) refers to kmachine.o(.data) for .data
    kmachine.o(i.SaveRunStat) refers to kmachine.o(.bss) for .bss
    kmachine.o(i.SetCoilValue) refers to kbus.o(i.__ARM_common_switch8) for __ARM_common_switch8
    kmachine.o(i.SetCoilValue) refers to modbusrtu.o(i.__ARM_common_switch8) for __ARM_common_switch8
    kmachine.o(i.SetCoilValue) refers to kmachine.o(i.SetBitValue) for SetBitValue
    kmachine.o(i.SetCoilValue) refers to kmachine.o(.bss) for .bss
    kmachine.o(i.SetVarData) refers to kbus.o(i.__ARM_common_switch8) for __ARM_common_switch8
    kmachine.o(i.SetVarData) refers to modbusrtu.o(i.__ARM_common_switch8) for __ARM_common_switch8
    kmachine.o(i.SetVarData) refers to kmachine.o(.bss) for .bss
    kmachine.o(i.WriteFactoryData) refers to kmachine.o(i.EraseAndWriteToFlashMem) for EraseAndWriteToFlashMem
    kmachine.o(i.WriteNewApp) refers to kmachine.o(i.WriteToFlashMemNoErase) for WriteToFlashMemNoErase
    kmachine.o(i.WriteNewApp) refers to kmachine.o(i.EraseAndWriteToFlashMem) for EraseAndWriteToFlashMem
    kmachine.o(i.WriteNewAppInfo) refers to kmachine.o(i.EraseAndWriteToFlashMem) for EraseAndWriteToFlashMem
    kmachine.o(i.WriteProgram) refers to kmachine.o(i.WriteToFlashMemNoErase) for WriteToFlashMemNoErase
    kmachine.o(i.WriteProgram) refers to kmachine.o(i.EraseAndWriteToFlashMem) for EraseAndWriteToFlashMem
    kmachine.o(i.WriteProgram) refers to kmachine.o(.bss) for .bss
    kmachine.o(i.WriteSysCfgToFlash) refers to kmachine.o(i.WriteToFlashMemNoErase) for WriteToFlashMemNoErase
    kmachine.o(i.WriteSysCfgToFlash) refers to kmachine.o(i.EraseAndWriteToFlashMem) for EraseAndWriteToFlashMem
    kmachine.o(i.WriteToFlashMemNoErase) refers to stm32f0xx_hal_flash.o(i.HAL_FLASH_Unlock) for HAL_FLASH_Unlock
    kmachine.o(i.WriteToFlashMemNoErase) refers to stm32f0xx_hal_flash.o(i.HAL_FLASH_Program) for HAL_FLASH_Program
    kmachine.o(i.WriteToFlashMemNoErase) refers to stm32f0xx_hal_flash.o(i.HAL_FLASH_Lock) for HAL_FLASH_Lock
    kmachine.o(i.WriteToFlashMemNoErase) refers to stm32f0xx_ll_flash.o(i.LL_Flash_Unlock) for LL_Flash_Unlock
    kmachine.o(i.WriteToFlashMemNoErase) refers to stm32f0xx_ll_flash.o(i.LL_FLASH_Program) for LL_FLASH_Program
    kmachine.o(i.next_pow_of_2) refers to kmachine.o(i.is_pow_of_2) for is_pow_of_2
    bsp.o(i.LL_DMA_SetChannelPriorityLevel) refers to bsp.o(.constdata) for .constdata
    bsp.o(i.LL_DMA_SetDataTransferDirection) refers to bsp.o(.constdata) for .constdata
@@ -430,37 +432,17 @@
    stm32f0xx_it.o(i.USART2_IRQHandler) refers to functions.o(i.Uart2RecvDone) for Uart2RecvDone
    stm32f0xx_it.o(i.USART2_IRQHandler) refers to functions.o(i.Uart2SendDone) for Uart2SendDone
    stm32f0xx_it.o(i.USART2_IRQHandler) refers to globaldef.o(.bss) for Uart2Stat
    fp0.o(i.FP0_Init) refers to stm32f0xx_hal.o(i.HAL_Delay) for HAL_Delay
    fp0.o(i.FP0_Init) refers to functions.o(i.GetuS) for GetuS
    fp0.o(i.FP0_Init) refers to fp0.o(.data) for .data
    fp0.o(i.FP0_Init) refers to kbus.o(.data) for nChilds
    fp0.o(i.FP0_Proc) refers to fp0.o(i.LL_GPIO_IsInputPinSet) for LL_GPIO_IsInputPinSet
    fp0.o(i.FP0_Proc) refers to functions.o(i.GetuS) for GetuS
    fp0.o(i.FP0_Proc) refers to fp0.o(.data) for .data
    fp0.o(i.FP0_Proc) refers to kmachine.o(.bss) for KMem
    fp0.o(i.ParseFP0Pkg) refers to functions.o(i.logData) for logData
    fp0.o(i.ParseFP0Pkg) refers to kbus.o(i.__ARM_common_switch8) for __ARM_common_switch8
    fp0.o(i.ParseFP0Pkg) refers to fp0.o(i.CalFP0BCC) for CalFP0BCC
    fp0.o(i.ParseFP0Pkg) refers to fp0.o(i.SendFP0Pkg) for SendFP0Pkg
    fp0.o(i.ParseFP0Pkg) refers to fp0.o(.data) for .data
    fp0.o(i.ParseFP0Pkg) refers to kmachine.o(.bss) for KMem
    fp0.o(i.ParseFP0Pkg) refers to fp0.o(.bss) for .bss
    fp0.o(i.SendFP0Pkg) refers to memcpya.o(.text) for __aeabi_memcpy
    fp0.o(i.SendFP0Pkg) refers to functions.o(i.logData) for logData
    fp0.o(i.SendFP0Pkg) refers to kmachine.o(.bss) for KMem
    fp0.o(i.SendFP0Pkg) refers to fp0.o(.data) for .data
    fp0.o(i.SendFP0Pkg) refers to fp0.o(.bss) for .bss
    main.o(i.FPxCallBackFunc) refers to modbusrtu.o(i.__ARM_common_switch8) for __ARM_common_switch8
    main.o(i.FPxCallBackFunc) refers to fpx.o(.bss) for FPxMem
    main.o(i.FPxCallBackFunc) refers to kbus.o(.bss) for KBusMem
    main.o(i.HAL_SYSTICK_Callback) refers to functions.o(.data) for CurTickuS
    main.o(i.HAL_SYSTICK_Callback) refers to kbus.o(.data) for nSlaveTick
    main.o(i.HAL_SYSTICK_Callback) refers to main.o(.data) for .data
    main.o(i.HAL_SYSTICK_Callback) refers to kmachine.o(.bss) for KMem
    main.o(i.main) refers to stm32f0xx_ll_utils.o(i.LL_Init1msTick) for LL_Init1msTick
    main.o(i.main) refers to functions.o(i.SetRunLed) for SetRunLed
    main.o(i.main) refers to functions.o(i.SetErrLed) for SetErrLed
    main.o(i.main) refers to functions.o(i.GetuS) for GetuS
    main.o(i.main) refers to stm32f0xx_ll_utils.o(i.LL_mDelay) for LL_mDelay
    main.o(i.main) refers to functions.o(i.ToggleRunLed) for ToggleRunLed
    main.o(i.main) refers to functions.o(i.ToggleErrLed) for ToggleErrLed
    main.o(i.KBusCallBackFunc) refers to modbusrtu.o(i.__ARM_common_switch8) for __ARM_common_switch8
    main.o(i.KBusCallBackFunc) refers to fpx.o(.bss) for FPxMem
    main.o(i.KBusCallBackFunc) refers to kbus.o(.bss) for KBusMem
    main.o(i.KBusCallBackFunc) refers to kmachine.o(.bss) for KMem
    main.o(i.main) refers to functions.o(i.InitUartstat) for InitUartstat
    main.o(i.main) refers to stm32f0xx_hal.o(i.HAL_Init) for HAL_Init
    main.o(i.main) refers to bsp.o(i.SystemClock_Config) for SystemClock_Config
@@ -470,7 +452,11 @@
    main.o(i.main) refers to kmachine.o(i.KMachineInit) for KMachineInit
    main.o(i.main) refers to kmachine.o(i.ReadSysCfgFromFlash) for ReadSysCfgFromFlash
    main.o(i.main) refers to functions.o(i.ReadJumperSW) for ReadJumperSW
    main.o(i.main) refers to fp0.o(i.FP0_Init) for FP0_Init
    main.o(i.main) refers to kbus.o(i.KBusInit) for KBusInit
    main.o(i.main) refers to kbus.o(i.KBusSetCallBackFunc) for KBusSetCallBackFunc
    main.o(i.main) refers to fpx.o(i.FPx_Init) for FPx_Init
    main.o(i.main) refers to fpx.o(i.FPxSetCallBackFunc) for FPxSetCallBackFunc
    main.o(i.main) refers to fpx.o(i.FPx_SetIOCount) for FPx_SetIOCount
    main.o(i.main) refers to bsp.o(i.MX_USART1_UART_Init) for MX_USART1_UART_Init
    main.o(i.main) refers to bsp.o(i.MX_USART2_UART_Init) for MX_USART2_UART_Init
    main.o(i.main) refers to bsp.o(i.MX_SPI1_Init) for MX_SPI1_Init
@@ -478,13 +464,16 @@
    main.o(i.main) refers to bsp.o(i.MX_TIM6_Init) for MX_TIM6_Init
    main.o(i.main) refers to functions.o(i.Uart2RecvDMA) for Uart2RecvDMA
    main.o(i.main) refers to stm32f0xx_hal.o(i.HAL_Delay) for HAL_Delay
    main.o(i.main) refers to functions.o(i.SetRunLed) for SetRunLed
    main.o(i.main) refers to functions.o(i.SetErrLed) for SetErrLed
    main.o(i.main) refers to functions.o(i.SetOutStat) for SetOutStat
    main.o(i.main) refers to debug.o(i.ShowInitInfo) for ShowInitInfo
    main.o(i.main) refers to functions.o(i.GetuS) for GetuS
    main.o(i.main) refers to plcfunctions.o(i.InitPLC) for InitPLC
    main.o(i.main) refers to plcfunctions.o(i.StartPLC) for StartPLC
    main.o(i.main) refers to stm32f0xx_hal.o(i.HAL_GetTick) for HAL_GetTick
    main.o(i.main) refers to plcfunctions.o(i.StopPLC) for StopPLC
    main.o(i.main) refers to fp0.o(i.FP0_Proc) for FP0_Proc
    main.o(i.main) refers to fpx.o(i.FPx_Proc) for FPx_Proc
    main.o(i.main) refers to plcfunctions.o(i.ProcessPLCBinProg) for ProcessPLCBinProg
    main.o(i.main) refers to kbus.o(i.KBusMasterFunc) for KBusMasterFunc
    main.o(i.main) refers to kbus.o(i.KBusSlaveFunc) for KBusSlaveFunc
@@ -492,25 +481,52 @@
    main.o(i.main) refers to debug.o(.emb_text) for add1
    main.o(i.main) refers to modbusrtu.o(i.ModBusSlaveParsePkg) for ModBusSlaveParsePkg
    main.o(i.main) refers to klink.o(i.KLParsePacket) for KLParsePacket
    main.o(i.main) refers to main.o(.data) for .data
    main.o(i.main) refers to memcpya.o(.text) for __aeabi_memcpy4
    main.o(i.main) refers to kmachine.o(.bss) for KMRunStat
    main.o(i.main) refers to main.o(.bss) for .bss
    main.o(i.main) refers to globaldef.o(.bss) for Uart1Stat
    main.o(i.main) refers to globaldef.o(.bss) for Uart2Stat
    main.o(i.main) refers to kbus.o(.bss) for KBusChnStats
    main.o(i.main) refers to globaldef.o(.data) for PendSvCount
    main.o(i.main) refers to functions.o(.data) for TickFreq
    main.o(i.main) refers to kmachine.o(.bss) for storedKMSysCfg
    main.o(i.main) refers to kbus.o(.data) for nStationID
    main.o(i.main) refers to kbus.o(.data) for nChilds
    main.o(i.main) refers to main.o(i.KBusCallBackFunc) for KBusCallBackFunc
    main.o(i.main) refers to main.o(i.FPxCallBackFunc) for FPxCallBackFunc
    main.o(i.main) refers to globaldef.o(.data) for Uart1Baud
    main.o(i.main) refers to globaldef.o(.bss) for Uart2RecvBuf1
    main.o(i.main) refers to main.o(.data) for .data
    main.o(i.main) refers to plcfunctions.o(.data) for nSizeProg1
    main.o(i.main) refers to fp0.o(.data) for nOutputBytes
    main.o(i.main) refers to fpx.o(.bss) for FPxStat
    main.o(i.main) refers to kbus.o(.bss) for KBusMem
    main.o(i.main) refers to kbus.o(.data) for nSlaveTick
    main.o(i.main) refers to globaldef.o(.data) for Uart1RecvBuf1DataLen
    main.o(i.main) refers to globaldef.o(.bss) for Uart1RecvBuf1
    main.o(i.main) refers to plcfunctions.o(.bss) for PLCMem
    main.o(i.main) refers to memcpya.o(.text) for __aeabi_memcpy4
    main.o(i.main) refers to main.o(.constdata) for .constdata
    fpx.o(i.FPxParsePkt) refers to functions.o(i.logData) for logData
    fpx.o(i.FPxParsePkt) refers to modbusrtu.o(i.__ARM_common_switch8) for __ARM_common_switch8
    fpx.o(i.FPxParsePkt) refers to fpx.o(i.FPxCalBCC) for FPxCalBCC
    fpx.o(i.FPxParsePkt) refers to fpx.o(i.FPxSendPkt) for FPxSendPkt
    fpx.o(i.FPxParsePkt) refers to kmachine.o(.bss) for KMem
    fpx.o(i.FPxParsePkt) refers to fpx.o(.bss) for .bss
    fpx.o(i.FPxParsePkt) refers to functions.o(.data) for bSPI1Recving
    fpx.o(i.FPxSendPkt) refers to memcpya.o(.text) for __aeabi_memcpy
    fpx.o(i.FPxSendPkt) refers to functions.o(i.logData) for logData
    fpx.o(i.FPxSendPkt) refers to kmachine.o(.bss) for KMem
    fpx.o(i.FPxSendPkt) refers to functions.o(.data) for bSPI1Sending
    fpx.o(i.FPxSendPkt) refers to functions.o(.bss) for SPI1SendBuf
    fpx.o(i.FPxSetCallBackFunc) refers to fpx.o(.bss) for .bss
    fpx.o(i.FPx_Init) refers to stm32f0xx_hal.o(i.HAL_Delay) for HAL_Delay
    fpx.o(i.FPx_Init) refers to functions.o(i.GetuS) for GetuS
    fpx.o(i.FPx_Init) refers to functions.o(.data) for bSPI1Sending
    fpx.o(i.FPx_Init) refers to kbus.o(.data) for nChilds
    fpx.o(i.FPx_Init) refers to fpx.o(.bss) for .bss
    fpx.o(i.FPx_Proc) refers to fpx.o(i.LL_GPIO_IsInputPinSet) for LL_GPIO_IsInputPinSet
    fpx.o(i.FPx_Proc) refers to functions.o(i.GetuS) for GetuS
    fpx.o(i.FPx_Proc) refers to fpx.o(.bss) for .bss
    fpx.o(i.FPx_Proc) refers to kmachine.o(.bss) for KMem
    fpx.o(i.FPx_Proc) refers to functions.o(.data) for nSPI1RecvPos
    fpx.o(i.FPx_SetIOCount) refers to fpx.o(.bss) for .bss
    system_stm32f0xx.o(i.SystemCoreClockUpdate) refers to uidiv.o(.text) for __aeabi_uidivmod
    system_stm32f0xx.o(i.SystemCoreClockUpdate) refers to system_stm32f0xx.o(.data) for .data
    system_stm32f0xx.o(i.SystemCoreClockUpdate) refers to system_stm32f0xx.o(.constdata) for .constdata
@@ -746,7 +762,7 @@
    stm32f0xx_hal_dma.o(i.HAL_DMA_PollForTransfer) refers to stm32f0xx_hal.o(i.HAL_GetTick) for HAL_GetTick
    stm32f0xx_hal_dma.o(i.HAL_DMA_Start) refers to stm32f0xx_hal_dma.o(i.DMA_SetConfig) for DMA_SetConfig
    stm32f0xx_hal_dma.o(i.HAL_DMA_Start_IT) refers to stm32f0xx_hal_dma.o(i.DMA_SetConfig) for DMA_SetConfig
    stm32f0xx_hal_dma.o(i.HAL_DMA_UnRegisterCallback) refers to kbus.o(i.__ARM_common_switch8) for __ARM_common_switch8
    stm32f0xx_hal_dma.o(i.HAL_DMA_UnRegisterCallback) refers to modbusrtu.o(i.__ARM_common_switch8) for __ARM_common_switch8
    stm32f0xx_hal_cortex.o(i.HAL_NVIC_SetPriority) refers to stm32f0xx_hal_cortex.o(i.NVIC_SetPriority) for NVIC_SetPriority
    stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Config) refers to stm32f0xx_hal_cortex.o(i.NVIC_SetPriority) for NVIC_SetPriority
    stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler) refers to main.o(i.HAL_SYSTICK_Callback) for HAL_SYSTICK_Callback
@@ -815,6 +831,7 @@
    stm32f0xx_ll_tim.o(i.LL_TIM_OC_Init) refers to stm32f0xx_ll_tim.o(i.OC1Config) for OC1Config
    stm32f0xx_ll_tim.o(i.LL_TIM_OC_Init) refers to stm32f0xx_ll_tim.o(i.OC2Config) for OC2Config
    stm32f0xx_ll_tim.o(i.LL_TIM_OC_Init) refers to stm32f0xx_ll_tim.o(i.OC3Config) for OC3Config
    stm32f0xx_ll_flash.o(i.LL_FLASH_Program) refers to llushr.o(.text) for __aeabi_llsr
    entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry10a.o(.ARM.Collect$$$$0000000D) for __rt_final_cpp
    entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry11a.o(.ARM.Collect$$$$0000000F) for __rt_final_exit
    entry.o(.ARM.Collect$$$$00000000) refers (Special) to entry7b.o(.ARM.Collect$$$$00000008) for _main_clock
@@ -1093,7 +1110,7 @@
    Removing startup_stm32f030x8.o(HEAP), (512 bytes).
    Removing debug.o(.rev16_text), (4 bytes).
    Removing debug.o(.revsh_text), (4 bytes).
    Removing debug.o(i.ADCProcess), (164 bytes).
    Removing debug.o(i.ADCProcess), (240 bytes).
    Removing debug.o(i.FormatHex), (56 bytes).
    Removing debug.o(i.PowerDownProcess), (48 bytes).
    Removing debug.o(i.PowerRecoverProcess), (16 bytes).
@@ -1122,7 +1139,9 @@
    Removing functions.o(i.ReadConfig_4), (12 bytes).
    Removing functions.o(i.ReadConfig_5), (12 bytes).
    Removing functions.o(i.ToggleErr2Led), (20 bytes).
    Removing functions.o(i.ToggleErrLed), (20 bytes).
    Removing functions.o(i.ToggleOutStat), (20 bytes).
    Removing functions.o(i.ToggleRunLed), (20 bytes).
    Removing functions.o(i.TriggerPendSV), (16 bytes).
    Removing functions.o(i.Uart2SetDE), (10 bytes).
    Removing functions.o(i.Uart2TriggerSendDMA), (48 bytes).
@@ -1142,9 +1161,12 @@
    Removing globaldef.o(.data), (4 bytes).
    Removing kbus.o(.rev16_text), (4 bytes).
    Removing kbus.o(.revsh_text), (4 bytes).
    Removing kbus.o(i.KBusDataPoll), (4 bytes).
    Removing kbus.o(i.KBusLoopProcess), (4 bytes).
    Removing kbus.o(i.KBusRepeaterFunc), (48 bytes).
    Removing kbus.o(i.KBusStart), (4 bytes).
    Removing kbus.o(i.KBusUpdateChildInfo), (52 bytes).
    Removing kbus.o(.bss), (64 bytes).
    Removing kbus.o(.bss), (144 bytes).
    Removing kbus.o(.data), (1 bytes).
    Removing kbus.o(.data), (4 bytes).
    Removing kbus.o(.data), (4 bytes).
@@ -1192,21 +1214,15 @@
    Removing bsp.o(i.MX_SPI2_Init), (180 bytes).
    Removing stm32f0xx_it.o(.rev16_text), (4 bytes).
    Removing stm32f0xx_it.o(.revsh_text), (4 bytes).
    Removing fp0.o(.rev16_text), (4 bytes).
    Removing fp0.o(.revsh_text), (4 bytes).
    Removing fp0.o(i.CheckFP0Pkg), (4 bytes).
    Removing fp0.o(.bss), (32 bytes).
    Removing fp0.o(.data), (1 bytes).
    Removing fp0.o(.data), (1 bytes).
    Removing fp0.o(.data), (1 bytes).
    Removing fp0.o(.data), (1 bytes).
    Removing fp0.o(.data), (1 bytes).
    Removing fp0.o(.data), (1 bytes).
    Removing fp0.o(.data), (1 bytes).
    Removing main.o(.rev16_text), (4 bytes).
    Removing main.o(.revsh_text), (4 bytes).
    Removing main.o(i.HexToInt), (40 bytes).
    Removing main.o(.constdata), (34 bytes).
    Removing fpx.o(.rev16_text), (4 bytes).
    Removing fpx.o(.revsh_text), (4 bytes).
    Removing fpx.o(i.FPxChecPkt), (4 bytes).
    Removing fpx.o(.data), (1 bytes).
    Removing fpx.o(.data), (1 bytes).
    Removing system_stm32f0xx.o(.rev16_text), (4 bytes).
    Removing system_stm32f0xx.o(.revsh_text), (4 bytes).
    Removing system_stm32f0xx.o(i.SystemCoreClockUpdate), (120 bytes).
@@ -1420,20 +1436,30 @@
    Removing stm32f0xx_hal_pwr_ex.o(.revsh_text), (4 bytes).
    Removing stm32f0xx_hal_flash.o(.rev16_text), (4 bytes).
    Removing stm32f0xx_hal_flash.o(.revsh_text), (4 bytes).
    Removing stm32f0xx_hal_flash.o(i.FLASH_Program_HalfWord), (32 bytes).
    Removing stm32f0xx_hal_flash.o(i.FLASH_SetErrorCode), (56 bytes).
    Removing stm32f0xx_hal_flash.o(i.FLASH_WaitForLastOperation), (80 bytes).
    Removing stm32f0xx_hal_flash.o(i.HAL_FLASH_EndOfOperationCallback), (2 bytes).
    Removing stm32f0xx_hal_flash.o(i.HAL_FLASH_GetError), (12 bytes).
    Removing stm32f0xx_hal_flash.o(i.HAL_FLASH_IRQHandler), (268 bytes).
    Removing stm32f0xx_hal_flash.o(i.HAL_FLASH_Lock), (20 bytes).
    Removing stm32f0xx_hal_flash.o(i.HAL_FLASH_OB_Launch), (32 bytes).
    Removing stm32f0xx_hal_flash.o(i.HAL_FLASH_OB_Lock), (20 bytes).
    Removing stm32f0xx_hal_flash.o(i.HAL_FLASH_OB_Unlock), (36 bytes).
    Removing stm32f0xx_hal_flash.o(i.HAL_FLASH_OperationErrorCallback), (2 bytes).
    Removing stm32f0xx_hal_flash.o(i.HAL_FLASH_Program), (124 bytes).
    Removing stm32f0xx_hal_flash.o(i.HAL_FLASH_Program_IT), (96 bytes).
    Removing stm32f0xx_hal_flash.o(i.HAL_FLASH_Unlock), (36 bytes).
    Removing stm32f0xx_hal_flash.o(.bss), (32 bytes).
    Removing stm32f0xx_hal_flash_ex.o(.rev16_text), (4 bytes).
    Removing stm32f0xx_hal_flash_ex.o(.revsh_text), (4 bytes).
    Removing stm32f0xx_hal_flash_ex.o(i.FLASH_MassErase), (36 bytes).
    Removing stm32f0xx_hal_flash_ex.o(i.FLASH_OB_DisableWRP), (108 bytes).
    Removing stm32f0xx_hal_flash_ex.o(i.FLASH_OB_EnableWRP), (108 bytes).
    Removing stm32f0xx_hal_flash_ex.o(i.FLASH_OB_GetRDP), (32 bytes).
    Removing stm32f0xx_hal_flash_ex.o(i.FLASH_OB_RDP_LevelConfig), (96 bytes).
    Removing stm32f0xx_hal_flash_ex.o(i.FLASH_PageErase), (36 bytes).
    Removing stm32f0xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase), (160 bytes).
    Removing stm32f0xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase_IT), (88 bytes).
    Removing stm32f0xx_hal_flash_ex.o(i.HAL_FLASHEx_OBErase), (80 bytes).
    Removing stm32f0xx_hal_flash_ex.o(i.HAL_FLASHEx_OBGetConfig), (36 bytes).
@@ -1441,10 +1467,12 @@
    Removing stm32f0xx_hal_flash_ex.o(i.HAL_FLASHEx_OBProgram), (204 bytes).
    Removing stm32f0xx_ll_utils.o(.rev16_text), (4 bytes).
    Removing stm32f0xx_ll_utils.o(.revsh_text), (4 bytes).
    Removing stm32f0xx_ll_utils.o(i.LL_Init1msTick), (32 bytes).
    Removing stm32f0xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSE), (104 bytes).
    Removing stm32f0xx_ll_utils.o(i.LL_PLL_ConfigSystemClock_HSI), (84 bytes).
    Removing stm32f0xx_ll_utils.o(i.LL_RCC_PLL_ConfigDomain_SYS), (44 bytes).
    Removing stm32f0xx_ll_utils.o(i.LL_SetSystemCoreClock), (12 bytes).
    Removing stm32f0xx_ll_utils.o(i.LL_mDelay), (32 bytes).
    Removing stm32f0xx_ll_utils.o(i.UTILS_EnablePLLAndSwitchSystem), (152 bytes).
    Removing stm32f0xx_ll_utils.o(i.UTILS_GetPLLOutputFrequency), (24 bytes).
    Removing stm32f0xx_ll_utils.o(i.UTILS_PLL_IsBusy), (20 bytes).
@@ -1469,6 +1497,8 @@
    Removing stm32f0xx_ll_tim.o(i.OC2Config), (144 bytes).
    Removing stm32f0xx_ll_tim.o(i.OC3Config), (152 bytes).
    Removing stm32f0xx_ll_tim.o(i.OC4Config), (116 bytes).
    Removing stm32f0xx_ll_flash.o(.rev16_text), (4 bytes).
    Removing stm32f0xx_ll_flash.o(.revsh_text), (4 bytes).
    Removing dadd.o(.text), (356 bytes).
    Removing dmul.o(.text), (208 bytes).
    Removing ddiv.o(.text), (240 bytes).
@@ -1478,7 +1508,7 @@
    Removing functions.o(i.GetTick), (12 bytes).
    Removing depilogue.o(i.__ARM_clz), (46 bytes).
387 unused section(s) (total 22186 bytes) removed from the image.
400 unused section(s) (total 22869 bytes) removed from the image.
==============================================================================
@@ -1510,37 +1540,37 @@
    ../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_spi.c 0x00000000   Number         0  stm32f0xx_ll_spi.o ABSOLUTE
    ../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usart.c 0x00000000   Number         0  stm32f0xx_ll_usart.o ABSOLUTE
    ../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_utils.c 0x00000000   Number         0  stm32f0xx_ll_utils.o ABSOLUTE
    ../clib/microlib/division.c              0x00000000   Number         0  idiv.o ABSOLUTE
    ../clib/microlib/division.c              0x00000000   Number         0  ldiv.o ABSOLUTE
    ../clib/microlib/division.c              0x00000000   Number         0  uidiv.o ABSOLUTE
    ../clib/microlib/division.c              0x00000000   Number         0  uldiv.o ABSOLUTE
    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry9b.o ABSOLUTE
    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry.o ABSOLUTE
    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry10a.o ABSOLUTE
    ../clib/microlib/division.c              0x00000000   Number         0  idiv.o ABSOLUTE
    ../clib/microlib/division.c              0x00000000   Number         0  uidiv.o ABSOLUTE
    ../clib/microlib/division.c              0x00000000   Number         0  ldiv.o ABSOLUTE
    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry8b.o ABSOLUTE
    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry9a.o ABSOLUTE
    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry11b.o ABSOLUTE
    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry11a.o ABSOLUTE
    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry10b.o ABSOLUTE
    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry2.o ABSOLUTE
    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry11b.o ABSOLUTE
    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry10a.o ABSOLUTE
    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry9b.o ABSOLUTE
    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry5.o ABSOLUTE
    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry7a.o ABSOLUTE
    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry7b.o ABSOLUTE
    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry.o ABSOLUTE
    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry2.o ABSOLUTE
    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry8a.o ABSOLUTE
    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry8b.o ABSOLUTE
    ../clib/microlib/init/entry.s            0x00000000   Number         0  entry9a.o ABSOLUTE
    ../clib/microlib/longlong.c              0x00000000   Number         0  llushr.o ABSOLUTE
    ../clib/microlib/longlong.c              0x00000000   Number         0  llsshr.o ABSOLUTE
    ../clib/microlib/longlong.c              0x00000000   Number         0  llshl.o ABSOLUTE
    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printfb.o ABSOLUTE
    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf0.o ABSOLUTE
    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf1.o ABSOLUTE
    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf2.o ABSOLUTE
    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf3.o ABSOLUTE
    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printfa.o ABSOLUTE
    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf7.o ABSOLUTE
    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf8.o ABSOLUTE
    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf6.o ABSOLUTE
    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf5.o ABSOLUTE
    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf4.o ABSOLUTE
    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf0.o ABSOLUTE
    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf3.o ABSOLUTE
    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf2.o ABSOLUTE
    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf1.o ABSOLUTE
    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printfb.o ABSOLUTE
    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf6.o ABSOLUTE
    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf7.o ABSOLUTE
    ../clib/microlib/printf/printf.c         0x00000000   Number         0  printf8.o ABSOLUTE
    ../clib/microlib/printf/stubs.s          0x00000000   Number         0  stubs.o ABSOLUTE
    ../clib/microlib/stdio/fputc.c           0x00000000   Number         0  fputc.o ABSOLUTE
    ../clib/microlib/stdio/semi.s            0x00000000   Number         0  semi.o ABSOLUTE
@@ -1548,8 +1578,8 @@
    ../clib/microlib/string/memcpy.c         0x00000000   Number         0  memcpya.o ABSOLUTE
    ../clib/microlib/string/memcpy.c         0x00000000   Number         0  memcpyb.o ABSOLUTE
    ../clib/microlib/string/memset.c         0x00000000   Number         0  memseta.o ABSOLUTE
    ../clib/microlib/stubs.s                 0x00000000   Number         0  iusesemip.o ABSOLUTE
    ../clib/microlib/stubs.s                 0x00000000   Number         0  iusefp.o ABSOLUTE
    ../clib/microlib/stubs.s                 0x00000000   Number         0  iusesemip.o ABSOLUTE
    ../clib/microlib/unhosted.c              0x00000000   Number         0  uread4.o ABSOLUTE
    ../fplib/microlib/fpadd.c                0x00000000   Number         0  dadd.o ABSOLUTE
    ../fplib/microlib/fpdiv.c                0x00000000   Number         0  ddiv.o ABSOLUTE
@@ -1588,13 +1618,14 @@
    ..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_adc.c 0x00000000   Number         0  stm32f0xx_ll_adc.o ABSOLUTE
    ..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_dma.c 0x00000000   Number         0  stm32f0xx_ll_dma.o ABSOLUTE
    ..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_exti.c 0x00000000   Number         0  stm32f0xx_ll_exti.o ABSOLUTE
    ..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_flash.c 0x00000000   Number         0  stm32f0xx_ll_flash.o ABSOLUTE
    ..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_gpio.c 0x00000000   Number         0  stm32f0xx_ll_gpio.o ABSOLUTE
    ..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_rcc.c 0x00000000   Number         0  stm32f0xx_ll_rcc.o ABSOLUTE
    ..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_spi.c 0x00000000   Number         0  stm32f0xx_ll_spi.o ABSOLUTE
    ..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_usart.c 0x00000000   Number         0  stm32f0xx_ll_usart.o ABSOLUTE
    ..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_utils.c 0x00000000   Number         0  stm32f0xx_ll_utils.o ABSOLUTE
    ..\Src\BoardType.c                       0x00000000   Number         0  boardtype.o ABSOLUTE
    ..\Src\FP0.c                             0x00000000   Number         0  fp0.o ABSOLUTE
    ..\Src\FPx.c                             0x00000000   Number         0  fpx.o ABSOLUTE
    ..\Src\main.c                            0x00000000   Number         0  main.o ABSOLUTE
    ..\\..\ComLib\\Src\\BSP.c                0x00000000   Number         0  bsp.o ABSOLUTE
    ..\\..\ComLib\\Src\\KBus.c               0x00000000   Number         0  kbus.o ABSOLUTE
@@ -1607,7 +1638,8 @@
    ..\\..\ComLib\\Src\\stm32f0xx_it.c       0x00000000   Number         0  stm32f0xx_it.o ABSOLUTE
    ..\\..\ComLib\\Src\\system_stm32f0xx.c   0x00000000   Number         0  system_stm32f0xx.o ABSOLUTE
    ..\\..\Drivers\\STM32F0xx_HAL_Driver\\Src\\stm32f0xx_ll_tim.c 0x00000000   Number         0  stm32f0xx_ll_tim.o ABSOLUTE
    ..\\Src\\FP0.c                           0x00000000   Number         0  fp0.o ABSOLUTE
    ..\\..\\Drivers\\STM32F0xx_HAL_Driver\\Src\\stm32f0xx_ll_flash.c 0x00000000   Number         0  stm32f0xx_ll_flash.o ABSOLUTE
    ..\\Src\\FPx.c                           0x00000000   Number         0  fpx.o ABSOLUTE
    ..\\Src\\main.c                          0x00000000   Number         0  main.o ABSOLUTE
    cdrcmple.s                               0x00000000   Number         0  cdrcmple.o ABSOLUTE
    dc.s                                     0x00000000   Number         0  dc.o ABSOLUTE
@@ -1639,275 +1671,269 @@
    .text                                    0x0800128c   Section        0  llshl.o(.text)
    i.AddEventLog                            0x080012ac   Section        0  kmachine.o(i.AddEventLog)
    i.AddSpace                               0x08001338   Section        0  myqueue.o(i.AddSpace)
    i.CalFP0BCC                              0x08001364   Section        0  fp0.o(i.CalFP0BCC)
    i.CheckEventLog                          0x08001384   Section        0  kmachine.o(i.CheckEventLog)
    i.ClearEventLog                          0x080013f0   Section        0  kmachine.o(i.ClearEventLog)
    i.DMA1_Channel2_3_IRQHandler             0x08001414   Section        0  stm32f0xx_it.o(i.DMA1_Channel2_3_IRQHandler)
    i.DMA1_Channel4_5_IRQHandler             0x080014b4   Section        0  stm32f0xx_it.o(i.DMA1_Channel4_5_IRQHandler)
    i.DelData                                0x080014ec   Section        0  myqueue.o(i.DelData)
    i.EraseAndWriteToFlashMem                0x08001518   Section        0  kmachine.o(i.EraseAndWriteToFlashMem)
    i.EraseFlashMem                          0x0800155e   Section        0  kmachine.o(i.EraseFlashMem)
    i.FLASH_MassErase                        0x08001580   Section        0  stm32f0xx_hal_flash_ex.o(i.FLASH_MassErase)
    FLASH_MassErase                          0x08001581   Thumb Code    26  stm32f0xx_hal_flash_ex.o(i.FLASH_MassErase)
    i.FLASH_PageErase                        0x080015a4   Section        0  stm32f0xx_hal_flash_ex.o(i.FLASH_PageErase)
    i.FLASH_Program_HalfWord                 0x080015c8   Section        0  stm32f0xx_hal_flash.o(i.FLASH_Program_HalfWord)
    FLASH_Program_HalfWord                   0x080015c9   Thumb Code    22  stm32f0xx_hal_flash.o(i.FLASH_Program_HalfWord)
    i.FLASH_SetErrorCode                     0x080015e8   Section        0  stm32f0xx_hal_flash.o(i.FLASH_SetErrorCode)
    FLASH_SetErrorCode                       0x080015e9   Thumb Code    46  stm32f0xx_hal_flash.o(i.FLASH_SetErrorCode)
    i.FLASH_WaitForLastOperation             0x08001620   Section        0  stm32f0xx_hal_flash.o(i.FLASH_WaitForLastOperation)
    i.FP0_Init                               0x08001670   Section        0  fp0.o(i.FP0_Init)
    i.FP0_Proc                               0x080016c0   Section        0  fp0.o(i.FP0_Proc)
    i.GetBitValue                            0x080017b8   Section        0  modbusrtu.o(i.GetBitValue)
    GetBitValue                              0x080017b9   Thumb Code    20  modbusrtu.o(i.GetBitValue)
    i.GetBitValue                            0x080017cc   Section        0  kmachine.o(i.GetBitValue)
    GetBitValue                              0x080017cd   Thumb Code    20  kmachine.o(i.GetBitValue)
    i.GetCoilValue                           0x080017e0   Section        0  kmachine.o(i.GetCoilValue)
    i.GetContinueData                        0x08001880   Section        0  myqueue.o(i.GetContinueData)
    i.GetContinueEmptyRoom                   0x080018a6   Section        0  myqueue.o(i.GetContinueEmptyRoom)
    i.GetEventLogAddr                        0x080018cc   Section        0  kmachine.o(i.GetEventLogAddr)
    i.GetVarData                             0x080018f0   Section        0  kmachine.o(i.GetVarData)
    i.GetuS                                  0x080019c8   Section        0  functions.o(i.GetuS)
    i.HAL_Delay                              0x080019f4   Section        0  stm32f0xx_hal.o(i.HAL_Delay)
    i.HAL_FLASHEx_Erase                      0x08001a10   Section        0  stm32f0xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase)
    i.HAL_FLASH_Lock                         0x08001ab0   Section        0  stm32f0xx_hal_flash.o(i.HAL_FLASH_Lock)
    i.HAL_FLASH_Program                      0x08001ac4   Section        0  stm32f0xx_hal_flash.o(i.HAL_FLASH_Program)
    i.HAL_FLASH_Unlock                       0x08001b40   Section        0  stm32f0xx_hal_flash.o(i.HAL_FLASH_Unlock)
    i.HAL_GetTick                            0x08001b64   Section        0  stm32f0xx_hal.o(i.HAL_GetTick)
    i.HAL_IncTick                            0x08001b70   Section        0  stm32f0xx_hal.o(i.HAL_IncTick)
    i.HAL_Init                               0x08001b80   Section        0  stm32f0xx_hal.o(i.HAL_Init)
    i.HAL_InitTick                           0x08001ba0   Section        0  stm32f0xx_hal.o(i.HAL_InitTick)
    i.HAL_MspInit                            0x08001bc4   Section        0  stm32f0xx_hal_msp.o(i.HAL_MspInit)
    i.HAL_NVIC_SetPriority                   0x08001c08   Section        0  stm32f0xx_hal_cortex.o(i.HAL_NVIC_SetPriority)
    i.HAL_RCCEx_PeriphCLKConfig              0x08001c10   Section        0  stm32f0xx_hal_rcc_ex.o(i.HAL_RCCEx_PeriphCLKConfig)
    i.HAL_RCC_ClockConfig                    0x08001cfc   Section        0  stm32f0xx_hal_rcc.o(i.HAL_RCC_ClockConfig)
    i.HAL_RCC_GetHCLKFreq                    0x08001e28   Section        0  stm32f0xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq)
    i.HAL_RCC_GetSysClockFreq                0x08001e34   Section        0  stm32f0xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq)
    i.HAL_RCC_OscConfig                      0x08001eb4   Section        0  stm32f0xx_hal_rcc.o(i.HAL_RCC_OscConfig)
    i.HAL_SYSTICK_CLKSourceConfig            0x08002208   Section        0  stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_CLKSourceConfig)
    i.HAL_SYSTICK_Callback                   0x08002220   Section        0  main.o(i.HAL_SYSTICK_Callback)
    i.HAL_SYSTICK_Config                     0x08002294   Section        0  stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Config)
    i.HAL_SYSTICK_IRQHandler                 0x080022c4   Section        0  stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler)
    i.HardFault_Handler                      0x080022cc   Section        0  stm32f0xx_it.o(i.HardFault_Handler)
    i.InitPLC                                0x080022d0   Section        0  plcfunctions.o(i.InitPLC)
    i.InitTimer                              0x0800231c   Section        0  plcfunctions.o(i.InitTimer)
    i.InitUartstat                           0x0800235c   Section        0  functions.o(i.InitUartstat)
    i.InituS                                 0x0800237c   Section        0  functions.o(i.InituS)
    i.KBusBCC                                0x080023d0   Section        0  kbus.o(i.KBusBCC)
    i.KBusCheckPacket                        0x080023e8   Section        0  kbus.o(i.KBusCheckPacket)
    i.KBusMakePacket                         0x080024ec   Section        0  kbus.o(i.KBusMakePacket)
    i.KBusMasterFunc                         0x0800256c   Section        0  kbus.o(i.KBusMasterFunc)
    i.KBusMasterParsePacket                  0x080026f4   Section        0  kbus.o(i.KBusMasterParsePacket)
    i.KBusParsePacket                        0x0800283c   Section        0  kbus.o(i.KBusParsePacket)
    i.KBusSlaveCheckPacket                   0x080028bc   Section        0  kbus.o(i.KBusSlaveCheckPacket)
    i.KBusSlaveFunc                          0x0800294c   Section        0  kbus.o(i.KBusSlaveFunc)
    i.KBusSlaveParsePacket                   0x080029ac   Section        0  kbus.o(i.KBusSlaveParsePacket)
    i.KLBCC                                  0x08002b28   Section        0  klink.o(i.KLBCC)
    i.KLCheckPacket                          0x08002b3e   Section        0  klink.o(i.KLCheckPacket)
    i.KLMakeRplyPacket                       0x08002b70   Section        0  klink.o(i.KLMakeRplyPacket)
    i.KLParsePacket                          0x08002bac   Section        0  klink.o(i.KLParsePacket)
    i.KLParseReqPacket                       0x08002bfc   Section        0  klink.o(i.KLParseReqPacket)
    i.KMachineInit                           0x080032cc   Section        0  kmachine.o(i.KMachineInit)
    i.LL_AHB1_GRP1_EnableClock               0x0800333c   Section        0  bsp.o(i.LL_AHB1_GRP1_EnableClock)
    LL_AHB1_GRP1_EnableClock                 0x0800333d   Thumb Code    18  bsp.o(i.LL_AHB1_GRP1_EnableClock)
    i.LL_APB1_GRP1_EnableClock               0x08003354   Section        0  bsp.o(i.LL_APB1_GRP1_EnableClock)
    LL_APB1_GRP1_EnableClock                 0x08003355   Thumb Code    18  bsp.o(i.LL_APB1_GRP1_EnableClock)
    i.LL_APB1_GRP2_EnableClock               0x0800336c   Section        0  bsp.o(i.LL_APB1_GRP2_EnableClock)
    LL_APB1_GRP2_EnableClock                 0x0800336d   Thumb Code    18  bsp.o(i.LL_APB1_GRP2_EnableClock)
    i.LL_DMA_ConfigAddresses                 0x08003384   Section        0  functions.o(i.LL_DMA_ConfigAddresses)
    LL_DMA_ConfigAddresses                   0x08003385   Thumb Code    38  functions.o(i.LL_DMA_ConfigAddresses)
    i.LL_DMA_DisableChannel                  0x080033b0   Section        0  functions.o(i.LL_DMA_DisableChannel)
    LL_DMA_DisableChannel                    0x080033b1   Thumb Code    18  functions.o(i.LL_DMA_DisableChannel)
    i.LL_DMA_EnableChannel                   0x080033c8   Section        0  functions.o(i.LL_DMA_EnableChannel)
    LL_DMA_EnableChannel                     0x080033c9   Thumb Code    18  functions.o(i.LL_DMA_EnableChannel)
    i.LL_DMA_EnableIT_TC                     0x080033e0   Section        0  functions.o(i.LL_DMA_EnableIT_TC)
    LL_DMA_EnableIT_TC                       0x080033e1   Thumb Code    18  functions.o(i.LL_DMA_EnableIT_TC)
    i.LL_DMA_SetChannelPriorityLevel         0x080033f8   Section        0  bsp.o(i.LL_DMA_SetChannelPriorityLevel)
    LL_DMA_SetChannelPriorityLevel           0x080033f9   Thumb Code    24  bsp.o(i.LL_DMA_SetChannelPriorityLevel)
    i.LL_DMA_SetDataLength                   0x08003414   Section        0  functions.o(i.LL_DMA_SetDataLength)
    LL_DMA_SetDataLength                     0x08003415   Thumb Code    22  functions.o(i.LL_DMA_SetDataLength)
    i.LL_DMA_SetDataTransferDirection        0x08003430   Section        0  bsp.o(i.LL_DMA_SetDataTransferDirection)
    LL_DMA_SetDataTransferDirection          0x08003431   Thumb Code    22  bsp.o(i.LL_DMA_SetDataTransferDirection)
    i.LL_DMA_SetMemoryIncMode                0x08003450   Section        0  bsp.o(i.LL_DMA_SetMemoryIncMode)
    LL_DMA_SetMemoryIncMode                  0x08003451   Thumb Code    22  bsp.o(i.LL_DMA_SetMemoryIncMode)
    i.LL_DMA_SetMemorySize                   0x0800346c   Section        0  bsp.o(i.LL_DMA_SetMemorySize)
    LL_DMA_SetMemorySize                     0x0800346d   Thumb Code    24  bsp.o(i.LL_DMA_SetMemorySize)
    i.LL_DMA_SetMode                         0x08003488   Section        0  bsp.o(i.LL_DMA_SetMode)
    LL_DMA_SetMode                           0x08003489   Thumb Code    22  bsp.o(i.LL_DMA_SetMode)
    i.LL_DMA_SetPeriphIncMode                0x080034a4   Section        0  bsp.o(i.LL_DMA_SetPeriphIncMode)
    LL_DMA_SetPeriphIncMode                  0x080034a5   Thumb Code    22  bsp.o(i.LL_DMA_SetPeriphIncMode)
    i.LL_DMA_SetPeriphSize                   0x080034c0   Section        0  bsp.o(i.LL_DMA_SetPeriphSize)
    LL_DMA_SetPeriphSize                     0x080034c1   Thumb Code    24  bsp.o(i.LL_DMA_SetPeriphSize)
    i.LL_GPIO_Init                           0x080034dc   Section        0  stm32f0xx_ll_gpio.o(i.LL_GPIO_Init)
    i.LL_GPIO_IsInputPinSet                  0x08003580   Section        0  fp0.o(i.LL_GPIO_IsInputPinSet)
    LL_GPIO_IsInputPinSet                    0x08003581   Thumb Code    14  fp0.o(i.LL_GPIO_IsInputPinSet)
    i.LL_Init1msTick                         0x08003590   Section        0  stm32f0xx_ll_utils.o(i.LL_Init1msTick)
    i.LL_RCC_GetSystemClocksFreq             0x080035b0   Section        0  stm32f0xx_ll_rcc.o(i.LL_RCC_GetSystemClocksFreq)
    i.LL_RCC_GetUSARTClockFreq               0x080035c8   Section        0  stm32f0xx_ll_rcc.o(i.LL_RCC_GetUSARTClockFreq)
    i.LL_SPI_Init                            0x0800361c   Section        0  stm32f0xx_ll_spi.o(i.LL_SPI_Init)
    i.LL_TIM_Init                            0x08003680   Section        0  stm32f0xx_ll_tim.o(i.LL_TIM_Init)
    i.LL_USART_ConfigAsyncMode               0x08003704   Section        0  bsp.o(i.LL_USART_ConfigAsyncMode)
    LL_USART_ConfigAsyncMode                 0x08003705   Thumb Code    20  bsp.o(i.LL_USART_ConfigAsyncMode)
    i.LL_USART_Init                          0x08003718   Section        0  stm32f0xx_ll_usart.o(i.LL_USART_Init)
    i.LL_mDelay                              0x080037c4   Section        0  stm32f0xx_ll_utils.o(i.LL_mDelay)
    i.LoadDefaultSysCfg                      0x080037e4   Section        0  kmachine.o(i.LoadDefaultSysCfg)
    i.LoadRunStat                            0x080037f8   Section        0  kmachine.o(i.LoadRunStat)
    i.Locate                                 0x0800385c   Section        0  debug.o(i.Locate)
    i.MX_DMA_Init                            0x08003880   Section        0  bsp.o(i.MX_DMA_Init)
    i.MX_GPIO_Init                           0x080038a8   Section        0  bsp.o(i.MX_GPIO_Init)
    i.MX_IWDG_Init                           0x080039dc   Section        0  bsp.o(i.MX_IWDG_Init)
    i.MX_SPI1_Init                           0x08003a10   Section        0  bsp.o(i.MX_SPI1_Init)
    i.MX_TIM6_Init                           0x08003adc   Section        0  bsp.o(i.MX_TIM6_Init)
    i.MX_USART1_UART_Init                    0x08003b30   Section        0  bsp.o(i.MX_USART1_UART_Init)
    i.MX_USART2_UART_Init                    0x08003c54   Section        0  bsp.o(i.MX_USART2_UART_Init)
    i.ModBusSlaveCheckPkg                    0x08003dac   Section        0  modbusrtu.o(i.ModBusSlaveCheckPkg)
    i.ModBusSlaveParsePkg                    0x08003de4   Section        0  modbusrtu.o(i.ModBusSlaveParsePkg)
    i.NMI_Handler                            0x08004104   Section        0  stm32f0xx_it.o(i.NMI_Handler)
    i.NVIC_EnableIRQ                         0x08004108   Section        0  bsp.o(i.NVIC_EnableIRQ)
    NVIC_EnableIRQ                           0x08004109   Thumb Code    14  bsp.o(i.NVIC_EnableIRQ)
    i.NVIC_SetPriority                       0x0800411c   Section        0  bsp.o(i.NVIC_SetPriority)
    NVIC_SetPriority                         0x0800411d   Thumb Code    60  bsp.o(i.NVIC_SetPriority)
    i.NVIC_SetPriority                       0x08004160   Section        0  stm32f0xx_hal_cortex.o(i.NVIC_SetPriority)
    NVIC_SetPriority                         0x08004161   Thumb Code    60  stm32f0xx_hal_cortex.o(i.NVIC_SetPriority)
    i.ParseFP0Pkg                            0x080041a4   Section        0  fp0.o(i.ParseFP0Pkg)
    i.PendSV_Handler                         0x0800434c   Section        0  stm32f0xx_it.o(i.PendSV_Handler)
    i.PendSvCallBack                         0x0800436c   Section        0  functions.o(i.PendSvCallBack)
    i.PopOutVal                              0x080043c0   Section        0  plcfunctions.o(i.PopOutVal)
    i.ProcessPLCBinProg                      0x080043e0   Section        0  plcfunctions.o(i.ProcessPLCBinProg)
    i.ProcessTimer                           0x08004940   Section        0  plcfunctions.o(i.ProcessTimer)
    i.PushIn                                 0x08004a0c   Section        0  myqueue.o(i.PushIn)
    i.PushInVal                              0x08004a90   Section        0  plcfunctions.o(i.PushInVal)
    i.PutStr                                 0x08004ab4   Section        0  functions.o(i.PutStr)
    i.PutStr1                                0x08004ad0   Section        0  functions.o(i.PutStr1)
    i.PutStr2                                0x08004aec   Section        0  functions.o(i.PutStr2)
    i.RCC_GetHCLKClockFreq                   0x08004af8   Section        0  stm32f0xx_ll_rcc.o(i.RCC_GetHCLKClockFreq)
    i.RCC_GetPCLK1ClockFreq                  0x08004b14   Section        0  stm32f0xx_ll_rcc.o(i.RCC_GetPCLK1ClockFreq)
    i.RCC_GetSystemClockFreq                 0x08004b2c   Section        0  stm32f0xx_ll_rcc.o(i.RCC_GetSystemClockFreq)
    i.RCC_PLL_GetFreqDomain_SYS              0x08004b58   Section        0  stm32f0xx_ll_rcc.o(i.RCC_PLL_GetFreqDomain_SYS)
    i.ReadFlashMem                           0x08004b98   Section        0  kmachine.o(i.ReadFlashMem)
    i.ReadJumperSW                           0x08004bcc   Section        0  functions.o(i.ReadJumperSW)
    i.ReadSysCfgFromFlash                    0x08004bdc   Section        0  kmachine.o(i.ReadSysCfgFromFlash)
    i.ResetBit                               0x08004c3c   Section        0  modbusrtu.o(i.ResetBit)
    ResetBit                                 0x08004c3d   Thumb Code    16  modbusrtu.o(i.ResetBit)
    i.RunTimer                               0x08004c4c   Section        0  plcfunctions.o(i.RunTimer)
    i.SPI1_IRQHandler                        0x08004c98   Section        0  stm32f0xx_it.o(i.SPI1_IRQHandler)
    i.SPI1_IRQ_CallBack                      0x08004ca0   Section        0  functions.o(i.SPI1_IRQ_CallBack)
    i.SVC_Handler                            0x08004d94   Section        0  stm32f0xx_it.o(i.SVC_Handler)
    i.SaveRunStat                            0x08004d98   Section        0  kmachine.o(i.SaveRunStat)
    i.SendFP0Pkg                             0x08004e18   Section        0  fp0.o(i.SendFP0Pkg)
    i.SendPacket                             0x08004e84   Section        0  functions.o(i.SendPacket)
    i.SetAddrBit                             0x08004ebc   Section        0  modbusrtu.o(i.SetAddrBit)
    SetAddrBit                               0x08004ebd   Thumb Code    16  modbusrtu.o(i.SetAddrBit)
    i.SetBitValue                            0x08004ecc   Section        0  klink.o(i.SetBitValue)
    SetBitValue                              0x08004ecd   Thumb Code    24  klink.o(i.SetBitValue)
    i.SetBitValue                            0x08004ee4   Section        0  modbusrtu.o(i.SetBitValue)
    SetBitValue                              0x08004ee5   Thumb Code    18  modbusrtu.o(i.SetBitValue)
    i.SetBitValue                            0x08004ef6   Section        0  kmachine.o(i.SetBitValue)
    SetBitValue                              0x08004ef7   Thumb Code    24  kmachine.o(i.SetBitValue)
    i.SetCoilValue                           0x08004f10   Section        0  kmachine.o(i.SetCoilValue)
    i.SetErr2Led                             0x08004fa0   Section        0  functions.o(i.SetErr2Led)
    i.SetErrLed                              0x08004fb8   Section        0  functions.o(i.SetErrLed)
    i.SetOutStat                             0x08004fd0   Section        0  functions.o(i.SetOutStat)
    i.SetRunLed                              0x08004fe8   Section        0  functions.o(i.SetRunLed)
    i.SetVarData                             0x08005000   Section        0  kmachine.o(i.SetVarData)
    i.ShowInitInfo                           0x080050c8   Section        0  debug.o(i.ShowInitInfo)
    i.StartPLC                               0x0800524c   Section        0  plcfunctions.o(i.StartPLC)
    i.StopPLC                                0x080052bc   Section        0  plcfunctions.o(i.StopPLC)
    i.StopTimer                              0x080052fc   Section        0  plcfunctions.o(i.StopTimer)
    i.SysTick_Handler                        0x08005340   Section        0  stm32f0xx_it.o(i.SysTick_Handler)
    i.SystemClock_Config                     0x0800534c   Section        0  bsp.o(i.SystemClock_Config)
    i.SystemInit                             0x080053f4   Section        0  system_stm32f0xx.o(i.SystemInit)
    i.TIM6_IRQHandler                        0x08005450   Section        0  stm32f0xx_it.o(i.TIM6_IRQHandler)
    i.ToggleErrLed                           0x08005468   Section        0  functions.o(i.ToggleErrLed)
    i.ToggleRunLed                           0x0800547c   Section        0  functions.o(i.ToggleRunLed)
    i.USART1_IRQHandler                      0x08005490   Section        0  stm32f0xx_it.o(i.USART1_IRQHandler)
    i.USART2_IRQHandler                      0x08005518   Section        0  stm32f0xx_it.o(i.USART2_IRQHandler)
    i.Uart1RecvDone                          0x08005564   Section        0  functions.o(i.Uart1RecvDone)
    i.Uart1SendDMA                           0x08005584   Section        0  functions.o(i.Uart1SendDMA)
    i.Uart1SendDone                          0x080055e4   Section        0  functions.o(i.Uart1SendDone)
    i.Uart1TriggerSendDMA                    0x080055f4   Section        0  functions.o(i.Uart1TriggerSendDMA)
    i.Uart2RecvDMA                           0x08005624   Section        0  functions.o(i.Uart2RecvDMA)
    i.Uart2RecvDone                          0x08005684   Section        0  functions.o(i.Uart2RecvDone)
    i.Uart2SendDMA                           0x080056c4   Section        0  functions.o(i.Uart2SendDMA)
    i.Uart2SendDone                          0x08005724   Section        0  functions.o(i.Uart2SendDone)
    i.WriteFactoryData                       0x08005734   Section        0  kmachine.o(i.WriteFactoryData)
    i.WriteProgram                           0x08005750   Section        0  kmachine.o(i.WriteProgram)
    i.WriteSysCfgToFlash                     0x08005790   Section        0  kmachine.o(i.WriteSysCfgToFlash)
    i.WriteToFlashMemNoErase                 0x080057fc   Section        0  kmachine.o(i.WriteToFlashMemNoErase)
    i._Error_Handler                         0x08005844   Section        0  main.o(i._Error_Handler)
    i.__0sprintf$8                           0x08005848   Section        0  printf8.o(i.__0sprintf$8)
    i.__ARM_common_switch8                   0x08005870   Section        0  kbus.o(i.__ARM_common_switch8)
    i.__scatterload_copy                     0x0800588a   Section       14  handlers.o(i.__scatterload_copy)
    i.__scatterload_null                     0x08005898   Section        2  handlers.o(i.__scatterload_null)
    i.__scatterload_zeroinit                 0x0800589a   Section       14  handlers.o(i.__scatterload_zeroinit)
    i._printf_core                           0x080058a8   Section        0  printf8.o(i._printf_core)
    _printf_core                             0x080058a9   Thumb Code  1020  printf8.o(i._printf_core)
    i._printf_post_padding                   0x08005cd0   Section        0  printf8.o(i._printf_post_padding)
    _printf_post_padding                     0x08005cd1   Thumb Code    32  printf8.o(i._printf_post_padding)
    i._printf_pre_padding                    0x08005cf0   Section        0  printf8.o(i._printf_pre_padding)
    _printf_pre_padding                      0x08005cf1   Thumb Code    44  printf8.o(i._printf_pre_padding)
    i._sputc                                 0x08005d1c   Section        0  printf8.o(i._sputc)
    _sputc                                   0x08005d1d   Thumb Code    10  printf8.o(i._sputc)
    i.clearscreen                            0x08005d28   Section        0  debug.o(i.clearscreen)
    i.crc16bitbybit                          0x08005d40   Section        0  functions.o(i.crc16bitbybit)
    i.crc16table                             0x08005d7c   Section        0  functions.o(i.crc16table)
    i.crc16tablefast                         0x08005dac   Section        0  modbusrtu.o(i.crc16tablefast)
    i.crc_check                              0x08005dec   Section        0  functions.o(i.crc_check)
    i.initQueue                              0x08005e18   Section        0  myqueue.o(i.initQueue)
    i.logData                                0x08005e30   Section        0  functions.o(i.logData)
    i.main                                   0x08005e54   Section        0  main.o(i.main)
    .constdata                               0x08006390   Section       16  debug.o(.constdata)
    .constdata                               0x080063a0   Section     1030  functions.o(.constdata)
    CHANNEL_OFFSET_TAB                       0x080063a0   Data           5  functions.o(.constdata)
    .constdata                               0x080067a6   Section       32  modbusrtu.o(.constdata)
    .constdata                               0x080067c6   Section       24  kmachine.o(.constdata)
    .constdata                               0x080067e0   Section      144  kmachine.o(.constdata)
    .constdata                               0x08006870   Section        5  bsp.o(.constdata)
    CHANNEL_OFFSET_TAB                       0x08006870   Data           5  bsp.o(.constdata)
    .constdata                               0x08006875   Section        5  stm32f0xx_it.o(.constdata)
    CHANNEL_OFFSET_TAB                       0x08006875   Data           5  stm32f0xx_it.o(.constdata)
    .constdata                               0x0800687c   Section       24  main.o(.constdata)
    .constdata                               0x08006894   Section       16  system_stm32f0xx.o(.constdata)
    .constdata                               0x080068a4   Section        8  system_stm32f0xx.o(.constdata)
    .data                                    0x200000c0   Section       20  debug.o(.data)
    CurChannel                               0x200000d0   Data           4  debug.o(.data)
    .data                                    0x200000d4   Section        4  functions.o(.data)
    .data                                    0x200000d8   Section       24  functions.o(.data)
    .data                                    0x200000f0   Section        4  globaldef.o(.data)
    .data                                    0x200000f4   Section        4  globaldef.o(.data)
    .data                                    0x200000f8   Section        4  globaldef.o(.data)
    i.CheckEventLog                          0x08001364   Section        0  kmachine.o(i.CheckEventLog)
    i.ClearEventLog                          0x080013d0   Section        0  kmachine.o(i.ClearEventLog)
    i.DMA1_Channel2_3_IRQHandler             0x080013f4   Section        0  stm32f0xx_it.o(i.DMA1_Channel2_3_IRQHandler)
    i.DMA1_Channel4_5_IRQHandler             0x08001494   Section        0  stm32f0xx_it.o(i.DMA1_Channel4_5_IRQHandler)
    i.DelData                                0x080014cc   Section        0  myqueue.o(i.DelData)
    i.EraseAndWriteToFlashMem                0x080014f8   Section        0  kmachine.o(i.EraseAndWriteToFlashMem)
    i.EraseFlashMem                          0x08001558   Section        0  kmachine.o(i.EraseFlashMem)
    i.FPxCalBCC                              0x0800157c   Section        0  fpx.o(i.FPxCalBCC)
    i.FPxCallBackFunc                        0x0800159c   Section        0  main.o(i.FPxCallBackFunc)
    i.FPxParsePkt                            0x080015e0   Section        0  fpx.o(i.FPxParsePkt)
    i.FPxSendPkt                             0x080017a4   Section        0  fpx.o(i.FPxSendPkt)
    i.FPxSetCallBackFunc                     0x0800181c   Section        0  fpx.o(i.FPxSetCallBackFunc)
    i.FPx_Init                               0x0800182c   Section        0  fpx.o(i.FPx_Init)
    i.FPx_Proc                               0x08001890   Section        0  fpx.o(i.FPx_Proc)
    i.FPx_SetIOCount                         0x080019b8   Section        0  fpx.o(i.FPx_SetIOCount)
    i.GetBitValue                            0x080019c8   Section        0  modbusrtu.o(i.GetBitValue)
    GetBitValue                              0x080019c9   Thumb Code    20  modbusrtu.o(i.GetBitValue)
    i.GetBitValue                            0x080019dc   Section        0  kmachine.o(i.GetBitValue)
    GetBitValue                              0x080019dd   Thumb Code    20  kmachine.o(i.GetBitValue)
    i.GetCoilValue                           0x080019f0   Section        0  kmachine.o(i.GetCoilValue)
    i.GetContinueData                        0x08001a90   Section        0  myqueue.o(i.GetContinueData)
    i.GetContinueEmptyRoom                   0x08001ab6   Section        0  myqueue.o(i.GetContinueEmptyRoom)
    i.GetEventLogAddr                        0x08001adc   Section        0  kmachine.o(i.GetEventLogAddr)
    i.GetVarData                             0x08001b00   Section        0  kmachine.o(i.GetVarData)
    i.GetuS                                  0x08001bd8   Section        0  functions.o(i.GetuS)
    i.HAL_Delay                              0x08001c04   Section        0  stm32f0xx_hal.o(i.HAL_Delay)
    i.HAL_GetTick                            0x08001c20   Section        0  stm32f0xx_hal.o(i.HAL_GetTick)
    i.HAL_IncTick                            0x08001c2c   Section        0  stm32f0xx_hal.o(i.HAL_IncTick)
    i.HAL_Init                               0x08001c3c   Section        0  stm32f0xx_hal.o(i.HAL_Init)
    i.HAL_InitTick                           0x08001c5c   Section        0  stm32f0xx_hal.o(i.HAL_InitTick)
    i.HAL_MspInit                            0x08001c80   Section        0  stm32f0xx_hal_msp.o(i.HAL_MspInit)
    i.HAL_NVIC_SetPriority                   0x08001cc4   Section        0  stm32f0xx_hal_cortex.o(i.HAL_NVIC_SetPriority)
    i.HAL_RCCEx_PeriphCLKConfig              0x08001ccc   Section        0  stm32f0xx_hal_rcc_ex.o(i.HAL_RCCEx_PeriphCLKConfig)
    i.HAL_RCC_ClockConfig                    0x08001db8   Section        0  stm32f0xx_hal_rcc.o(i.HAL_RCC_ClockConfig)
    i.HAL_RCC_GetHCLKFreq                    0x08001ee4   Section        0  stm32f0xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq)
    i.HAL_RCC_GetSysClockFreq                0x08001ef0   Section        0  stm32f0xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq)
    i.HAL_RCC_OscConfig                      0x08001f70   Section        0  stm32f0xx_hal_rcc.o(i.HAL_RCC_OscConfig)
    i.HAL_SYSTICK_CLKSourceConfig            0x080022c4   Section        0  stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_CLKSourceConfig)
    i.HAL_SYSTICK_Callback                   0x080022dc   Section        0  main.o(i.HAL_SYSTICK_Callback)
    i.HAL_SYSTICK_Config                     0x08002350   Section        0  stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Config)
    i.HAL_SYSTICK_IRQHandler                 0x08002380   Section        0  stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler)
    i.HardFault_Handler                      0x08002388   Section        0  stm32f0xx_it.o(i.HardFault_Handler)
    i.InitPLC                                0x0800238c   Section        0  plcfunctions.o(i.InitPLC)
    i.InitTimer                              0x080023d8   Section        0  plcfunctions.o(i.InitTimer)
    i.InitUartstat                           0x08002418   Section        0  functions.o(i.InitUartstat)
    i.InituS                                 0x08002438   Section        0  functions.o(i.InituS)
    i.KBusAddChildAddrByInfo                 0x0800248c   Section        0  kbus.o(i.KBusAddChildAddrByInfo)
    i.KBusBCC                                0x080024f8   Section        0  kbus.o(i.KBusBCC)
    i.KBusCallBackFunc                       0x08002510   Section        0  main.o(i.KBusCallBackFunc)
    i.KBusCheckPacket                        0x08002564   Section        0  kbus.o(i.KBusCheckPacket)
    i.KBusInit                               0x08002668   Section        0  kbus.o(i.KBusInit)
    i.KBusMakeDefaultClildInfo               0x080026c0   Section        0  kbus.o(i.KBusMakeDefaultClildInfo)
    i.KBusMakePacket                         0x080026e8   Section        0  kbus.o(i.KBusMakePacket)
    i.KBusMasterFunc                         0x08002774   Section        0  kbus.o(i.KBusMasterFunc)
    i.KBusMasterParsePacket                  0x08002938   Section        0  kbus.o(i.KBusMasterParsePacket)
    i.KBusParsePacket                        0x08002a4c   Section        0  kbus.o(i.KBusParsePacket)
    i.KBusSearchChild                        0x08002acc   Section        0  kbus.o(i.KBusSearchChild)
    i.KBusSetCallBackFunc                    0x08002b58   Section        0  kbus.o(i.KBusSetCallBackFunc)
    i.KBusSlaveCheckPacket                   0x08002b68   Section        0  kbus.o(i.KBusSlaveCheckPacket)
    i.KBusSlaveFunc                          0x08002bf8   Section        0  kbus.o(i.KBusSlaveFunc)
    i.KBusSlaveParsePacket                   0x08002c58   Section        0  kbus.o(i.KBusSlaveParsePacket)
    i.KLBCC                                  0x08002e38   Section        0  klink.o(i.KLBCC)
    i.KLCheckPacket                          0x08002e4e   Section        0  klink.o(i.KLCheckPacket)
    i.KLMakeRplyPacket                       0x08002e80   Section        0  klink.o(i.KLMakeRplyPacket)
    i.KLParsePacket                          0x08002ecc   Section        0  klink.o(i.KLParsePacket)
    i.KLParseReqPacket                       0x08002f1c   Section        0  klink.o(i.KLParseReqPacket)
    i.KMachineInit                           0x0800367c   Section        0  kmachine.o(i.KMachineInit)
    i.LL_AHB1_GRP1_EnableClock               0x080036ec   Section        0  bsp.o(i.LL_AHB1_GRP1_EnableClock)
    LL_AHB1_GRP1_EnableClock                 0x080036ed   Thumb Code    18  bsp.o(i.LL_AHB1_GRP1_EnableClock)
    i.LL_APB1_GRP1_EnableClock               0x08003704   Section        0  bsp.o(i.LL_APB1_GRP1_EnableClock)
    LL_APB1_GRP1_EnableClock                 0x08003705   Thumb Code    18  bsp.o(i.LL_APB1_GRP1_EnableClock)
    i.LL_APB1_GRP2_EnableClock               0x0800371c   Section        0  bsp.o(i.LL_APB1_GRP2_EnableClock)
    LL_APB1_GRP2_EnableClock                 0x0800371d   Thumb Code    18  bsp.o(i.LL_APB1_GRP2_EnableClock)
    i.LL_DMA_ConfigAddresses                 0x08003734   Section        0  functions.o(i.LL_DMA_ConfigAddresses)
    LL_DMA_ConfigAddresses                   0x08003735   Thumb Code    38  functions.o(i.LL_DMA_ConfigAddresses)
    i.LL_DMA_DisableChannel                  0x08003760   Section        0  functions.o(i.LL_DMA_DisableChannel)
    LL_DMA_DisableChannel                    0x08003761   Thumb Code    18  functions.o(i.LL_DMA_DisableChannel)
    i.LL_DMA_EnableChannel                   0x08003778   Section        0  functions.o(i.LL_DMA_EnableChannel)
    LL_DMA_EnableChannel                     0x08003779   Thumb Code    18  functions.o(i.LL_DMA_EnableChannel)
    i.LL_DMA_EnableIT_TC                     0x08003790   Section        0  functions.o(i.LL_DMA_EnableIT_TC)
    LL_DMA_EnableIT_TC                       0x08003791   Thumb Code    18  functions.o(i.LL_DMA_EnableIT_TC)
    i.LL_DMA_SetChannelPriorityLevel         0x080037a8   Section        0  bsp.o(i.LL_DMA_SetChannelPriorityLevel)
    LL_DMA_SetChannelPriorityLevel           0x080037a9   Thumb Code    24  bsp.o(i.LL_DMA_SetChannelPriorityLevel)
    i.LL_DMA_SetDataLength                   0x080037c4   Section        0  functions.o(i.LL_DMA_SetDataLength)
    LL_DMA_SetDataLength                     0x080037c5   Thumb Code    22  functions.o(i.LL_DMA_SetDataLength)
    i.LL_DMA_SetDataTransferDirection        0x080037e0   Section        0  bsp.o(i.LL_DMA_SetDataTransferDirection)
    LL_DMA_SetDataTransferDirection          0x080037e1   Thumb Code    22  bsp.o(i.LL_DMA_SetDataTransferDirection)
    i.LL_DMA_SetMemoryIncMode                0x08003800   Section        0  bsp.o(i.LL_DMA_SetMemoryIncMode)
    LL_DMA_SetMemoryIncMode                  0x08003801   Thumb Code    22  bsp.o(i.LL_DMA_SetMemoryIncMode)
    i.LL_DMA_SetMemorySize                   0x0800381c   Section        0  bsp.o(i.LL_DMA_SetMemorySize)
    LL_DMA_SetMemorySize                     0x0800381d   Thumb Code    24  bsp.o(i.LL_DMA_SetMemorySize)
    i.LL_DMA_SetMode                         0x08003838   Section        0  bsp.o(i.LL_DMA_SetMode)
    LL_DMA_SetMode                           0x08003839   Thumb Code    22  bsp.o(i.LL_DMA_SetMode)
    i.LL_DMA_SetPeriphIncMode                0x08003854   Section        0  bsp.o(i.LL_DMA_SetPeriphIncMode)
    LL_DMA_SetPeriphIncMode                  0x08003855   Thumb Code    22  bsp.o(i.LL_DMA_SetPeriphIncMode)
    i.LL_DMA_SetPeriphSize                   0x08003870   Section        0  bsp.o(i.LL_DMA_SetPeriphSize)
    LL_DMA_SetPeriphSize                     0x08003871   Thumb Code    24  bsp.o(i.LL_DMA_SetPeriphSize)
    i.LL_FLASH_Program                       0x0800388c   Section        0  stm32f0xx_ll_flash.o(i.LL_FLASH_Program)
    i.LL_Flash_PageErase                     0x080038f4   Section        0  stm32f0xx_ll_flash.o(i.LL_Flash_PageErase)
    i.LL_Flash_Unlock                        0x08003944   Section        0  stm32f0xx_ll_flash.o(i.LL_Flash_Unlock)
    i.LL_GPIO_Init                           0x08003970   Section        0  stm32f0xx_ll_gpio.o(i.LL_GPIO_Init)
    i.LL_GPIO_IsInputPinSet                  0x08003a14   Section        0  fpx.o(i.LL_GPIO_IsInputPinSet)
    LL_GPIO_IsInputPinSet                    0x08003a15   Thumb Code    14  fpx.o(i.LL_GPIO_IsInputPinSet)
    i.LL_RCC_GetSystemClocksFreq             0x08003a22   Section        0  stm32f0xx_ll_rcc.o(i.LL_RCC_GetSystemClocksFreq)
    i.LL_RCC_GetUSARTClockFreq               0x08003a3c   Section        0  stm32f0xx_ll_rcc.o(i.LL_RCC_GetUSARTClockFreq)
    i.LL_SPI_Init                            0x08003a90   Section        0  stm32f0xx_ll_spi.o(i.LL_SPI_Init)
    i.LL_TIM_Init                            0x08003af4   Section        0  stm32f0xx_ll_tim.o(i.LL_TIM_Init)
    i.LL_USART_ConfigAsyncMode               0x08003b78   Section        0  bsp.o(i.LL_USART_ConfigAsyncMode)
    LL_USART_ConfigAsyncMode                 0x08003b79   Thumb Code    20  bsp.o(i.LL_USART_ConfigAsyncMode)
    i.LL_USART_Init                          0x08003b8c   Section        0  stm32f0xx_ll_usart.o(i.LL_USART_Init)
    i.LoadDefaultSysCfg                      0x08003c38   Section        0  kmachine.o(i.LoadDefaultSysCfg)
    i.LoadRunStat                            0x08003c4c   Section        0  kmachine.o(i.LoadRunStat)
    i.Locate                                 0x08003cb0   Section        0  debug.o(i.Locate)
    i.MX_DMA_Init                            0x08003cd4   Section        0  bsp.o(i.MX_DMA_Init)
    i.MX_GPIO_Init                           0x08003cfc   Section        0  bsp.o(i.MX_GPIO_Init)
    i.MX_IWDG_Init                           0x08003e30   Section        0  bsp.o(i.MX_IWDG_Init)
    i.MX_SPI1_Init                           0x08003e64   Section        0  bsp.o(i.MX_SPI1_Init)
    i.MX_TIM6_Init                           0x08003f30   Section        0  bsp.o(i.MX_TIM6_Init)
    i.MX_USART1_UART_Init                    0x08003f84   Section        0  bsp.o(i.MX_USART1_UART_Init)
    i.MX_USART2_UART_Init                    0x080040a8   Section        0  bsp.o(i.MX_USART2_UART_Init)
    i.ModBusSlaveCheckPkg                    0x08004200   Section        0  modbusrtu.o(i.ModBusSlaveCheckPkg)
    i.ModBusSlaveParsePkg                    0x08004238   Section        0  modbusrtu.o(i.ModBusSlaveParsePkg)
    i.NMI_Handler                            0x08004558   Section        0  stm32f0xx_it.o(i.NMI_Handler)
    i.NVIC_EnableIRQ                         0x0800455c   Section        0  bsp.o(i.NVIC_EnableIRQ)
    NVIC_EnableIRQ                           0x0800455d   Thumb Code    14  bsp.o(i.NVIC_EnableIRQ)
    i.NVIC_SetPriority                       0x08004570   Section        0  bsp.o(i.NVIC_SetPriority)
    NVIC_SetPriority                         0x08004571   Thumb Code    60  bsp.o(i.NVIC_SetPriority)
    i.NVIC_SetPriority                       0x080045b4   Section        0  stm32f0xx_hal_cortex.o(i.NVIC_SetPriority)
    NVIC_SetPriority                         0x080045b5   Thumb Code    60  stm32f0xx_hal_cortex.o(i.NVIC_SetPriority)
    i.PendSV_Handler                         0x080045f8   Section        0  stm32f0xx_it.o(i.PendSV_Handler)
    i.PendSvCallBack                         0x08004618   Section        0  functions.o(i.PendSvCallBack)
    i.PopOutVal                              0x08004664   Section        0  plcfunctions.o(i.PopOutVal)
    i.ProcessPLCBinProg                      0x08004684   Section        0  plcfunctions.o(i.ProcessPLCBinProg)
    i.ProcessTimer                           0x08004be4   Section        0  plcfunctions.o(i.ProcessTimer)
    i.PushIn                                 0x08004cb0   Section        0  myqueue.o(i.PushIn)
    i.PushInVal                              0x08004d34   Section        0  plcfunctions.o(i.PushInVal)
    i.PutStr                                 0x08004d58   Section        0  functions.o(i.PutStr)
    i.PutStr1                                0x08004d74   Section        0  functions.o(i.PutStr1)
    i.PutStr2                                0x08004d90   Section        0  functions.o(i.PutStr2)
    i.RCC_GetHCLKClockFreq                   0x08004d9c   Section        0  stm32f0xx_ll_rcc.o(i.RCC_GetHCLKClockFreq)
    i.RCC_GetPCLK1ClockFreq                  0x08004db8   Section        0  stm32f0xx_ll_rcc.o(i.RCC_GetPCLK1ClockFreq)
    i.RCC_GetSystemClockFreq                 0x08004dd0   Section        0  stm32f0xx_ll_rcc.o(i.RCC_GetSystemClockFreq)
    i.RCC_PLL_GetFreqDomain_SYS              0x08004dfc   Section        0  stm32f0xx_ll_rcc.o(i.RCC_PLL_GetFreqDomain_SYS)
    i.ReadFlashMem                           0x08004e3c   Section        0  kmachine.o(i.ReadFlashMem)
    i.ReadJumperSW                           0x08004e70   Section        0  functions.o(i.ReadJumperSW)
    i.ReadSysCfgFromFlash                    0x08004e80   Section        0  kmachine.o(i.ReadSysCfgFromFlash)
    i.ResetBit                               0x08004ee0   Section        0  modbusrtu.o(i.ResetBit)
    ResetBit                                 0x08004ee1   Thumb Code    16  modbusrtu.o(i.ResetBit)
    i.RunTimer                               0x08004ef0   Section        0  plcfunctions.o(i.RunTimer)
    i.SPI1_IRQHandler                        0x08004f3c   Section        0  stm32f0xx_it.o(i.SPI1_IRQHandler)
    i.SPI1_IRQ_CallBack                      0x08004f44   Section        0  functions.o(i.SPI1_IRQ_CallBack)
    i.SVC_Handler                            0x08005004   Section        0  stm32f0xx_it.o(i.SVC_Handler)
    i.SaveRunStat                            0x08005008   Section        0  kmachine.o(i.SaveRunStat)
    i.SendPacket                             0x08005088   Section        0  functions.o(i.SendPacket)
    i.SetAddrBit                             0x080050c0   Section        0  modbusrtu.o(i.SetAddrBit)
    SetAddrBit                               0x080050c1   Thumb Code    16  modbusrtu.o(i.SetAddrBit)
    i.SetBitValue                            0x080050d0   Section        0  klink.o(i.SetBitValue)
    SetBitValue                              0x080050d1   Thumb Code    24  klink.o(i.SetBitValue)
    i.SetBitValue                            0x080050e8   Section        0  modbusrtu.o(i.SetBitValue)
    SetBitValue                              0x080050e9   Thumb Code    18  modbusrtu.o(i.SetBitValue)
    i.SetBitValue                            0x080050fa   Section        0  kmachine.o(i.SetBitValue)
    SetBitValue                              0x080050fb   Thumb Code    24  kmachine.o(i.SetBitValue)
    i.SetCoilValue                           0x08005114   Section        0  kmachine.o(i.SetCoilValue)
    i.SetErr2Led                             0x080051a4   Section        0  functions.o(i.SetErr2Led)
    i.SetErrLed                              0x080051bc   Section        0  functions.o(i.SetErrLed)
    i.SetOutStat                             0x080051d4   Section        0  functions.o(i.SetOutStat)
    i.SetRunLed                              0x080051ec   Section        0  functions.o(i.SetRunLed)
    i.SetVarData                             0x08005204   Section        0  kmachine.o(i.SetVarData)
    i.ShowInitInfo                           0x080052cc   Section        0  debug.o(i.ShowInitInfo)
    i.StartPLC                               0x08005450   Section        0  plcfunctions.o(i.StartPLC)
    i.StopPLC                                0x080054c0   Section        0  plcfunctions.o(i.StopPLC)
    i.StopTimer                              0x08005500   Section        0  plcfunctions.o(i.StopTimer)
    i.SysTick_Handler                        0x08005544   Section        0  stm32f0xx_it.o(i.SysTick_Handler)
    i.SystemClock_Config                     0x08005550   Section        0  bsp.o(i.SystemClock_Config)
    i.SystemInit                             0x080055f8   Section        0  system_stm32f0xx.o(i.SystemInit)
    i.TIM6_IRQHandler                        0x08005654   Section        0  stm32f0xx_it.o(i.TIM6_IRQHandler)
    i.USART1_IRQHandler                      0x0800566c   Section        0  stm32f0xx_it.o(i.USART1_IRQHandler)
    i.USART2_IRQHandler                      0x080056f4   Section        0  stm32f0xx_it.o(i.USART2_IRQHandler)
    i.Uart1RecvDone                          0x08005740   Section        0  functions.o(i.Uart1RecvDone)
    i.Uart1SendDMA                           0x08005760   Section        0  functions.o(i.Uart1SendDMA)
    i.Uart1SendDone                          0x080057c0   Section        0  functions.o(i.Uart1SendDone)
    i.Uart1TriggerSendDMA                    0x080057d0   Section        0  functions.o(i.Uart1TriggerSendDMA)
    i.Uart2RecvDMA                           0x08005800   Section        0  functions.o(i.Uart2RecvDMA)
    i.Uart2RecvDone                          0x08005860   Section        0  functions.o(i.Uart2RecvDone)
    i.Uart2SendDMA                           0x080058a0   Section        0  functions.o(i.Uart2SendDMA)
    i.Uart2SendDone                          0x08005900   Section        0  functions.o(i.Uart2SendDone)
    i.WriteFactoryData                       0x08005910   Section        0  kmachine.o(i.WriteFactoryData)
    i.WriteNewApp                            0x0800592c   Section        0  kmachine.o(i.WriteNewApp)
    i.WriteNewAppInfo                        0x0800594c   Section        0  kmachine.o(i.WriteNewAppInfo)
    i.WriteProgram                           0x08005960   Section        0  kmachine.o(i.WriteProgram)
    i.WriteSysCfgToFlash                     0x080059a0   Section        0  kmachine.o(i.WriteSysCfgToFlash)
    i.WriteToFlashMemNoErase                 0x08005a0c   Section        0  kmachine.o(i.WriteToFlashMemNoErase)
    i._Error_Handler                         0x08005a5c   Section        0  main.o(i._Error_Handler)
    i.__0sprintf$8                           0x08005a60   Section        0  printf8.o(i.__0sprintf$8)
    i.__ARM_common_switch8                   0x08005a88   Section        0  modbusrtu.o(i.__ARM_common_switch8)
    i.__scatterload_copy                     0x08005aa2   Section       14  handlers.o(i.__scatterload_copy)
    i.__scatterload_null                     0x08005ab0   Section        2  handlers.o(i.__scatterload_null)
    i.__scatterload_zeroinit                 0x08005ab2   Section       14  handlers.o(i.__scatterload_zeroinit)
    i._printf_core                           0x08005ac0   Section        0  printf8.o(i._printf_core)
    _printf_core                             0x08005ac1   Thumb Code  1020  printf8.o(i._printf_core)
    i._printf_post_padding                   0x08005ee8   Section        0  printf8.o(i._printf_post_padding)
    _printf_post_padding                     0x08005ee9   Thumb Code    32  printf8.o(i._printf_post_padding)
    i._printf_pre_padding                    0x08005f08   Section        0  printf8.o(i._printf_pre_padding)
    _printf_pre_padding                      0x08005f09   Thumb Code    44  printf8.o(i._printf_pre_padding)
    i._sputc                                 0x08005f34   Section        0  printf8.o(i._sputc)
    _sputc                                   0x08005f35   Thumb Code    10  printf8.o(i._sputc)
    i.clearscreen                            0x08005f40   Section        0  debug.o(i.clearscreen)
    i.crc16bitbybit                          0x08005f58   Section        0  functions.o(i.crc16bitbybit)
    i.crc16table                             0x08005f94   Section        0  functions.o(i.crc16table)
    i.crc16tablefast                         0x08005fc4   Section        0  modbusrtu.o(i.crc16tablefast)
    i.crc_check                              0x08006004   Section        0  functions.o(i.crc_check)
    i.initQueue                              0x08006030   Section        0  myqueue.o(i.initQueue)
    i.logData                                0x08006048   Section        0  functions.o(i.logData)
    i.main                                   0x0800606c   Section        0  main.o(i.main)
    .constdata                               0x08006548   Section       16  debug.o(.constdata)
    .constdata                               0x08006558   Section     1030  functions.o(.constdata)
    CHANNEL_OFFSET_TAB                       0x08006558   Data           5  functions.o(.constdata)
    .constdata                               0x0800695e   Section       32  modbusrtu.o(.constdata)
    .constdata                               0x0800697e   Section       24  kmachine.o(.constdata)
    .constdata                               0x08006998   Section      144  kmachine.o(.constdata)
    .constdata                               0x08006a28   Section        5  bsp.o(.constdata)
    CHANNEL_OFFSET_TAB                       0x08006a28   Data           5  bsp.o(.constdata)
    .constdata                               0x08006a2d   Section        5  stm32f0xx_it.o(.constdata)
    CHANNEL_OFFSET_TAB                       0x08006a2d   Data           5  stm32f0xx_it.o(.constdata)
    .constdata                               0x08006a34   Section       24  main.o(.constdata)
    .constdata                               0x08006a4c   Section       16  system_stm32f0xx.o(.constdata)
    .constdata                               0x08006a5c   Section        8  system_stm32f0xx.o(.constdata)
    .data                                    0x200000c0   Section       24  debug.o(.data)
    CurChannel                               0x200000d4   Data           4  debug.o(.data)
    .data                                    0x200000d8   Section        4  functions.o(.data)
    .data                                    0x200000dc   Section       32  functions.o(.data)
    .data                                    0x200000fc   Section        4  globaldef.o(.data)
    .data                                    0x20000100   Section        4  globaldef.o(.data)
    .data                                    0x20000104   Section        4  globaldef.o(.data)
    .data                                    0x20000108   Section        4  globaldef.o(.data)
    .data                                    0x2000010c   Section       56  kbus.o(.data)
    .data                                    0x20000144   Section       12  klink.o(.data)
    .data                                    0x20000150   Section        1  modbusrtu.o(.data)
    .data                                    0x20000154   Section        4  plcfunctions.o(.data)
    .data                                    0x20000158   Section       36  kmachine.o(.data)
    .data                                    0x2000017c   Section       24  fp0.o(.data)
    .data                                    0x20000194   Section        1  fp0.o(.data)
    .data                                    0x20000195   Section        1  fp0.o(.data)
    .data                                    0x20000196   Section        1  fp0.o(.data)
    .data                                    0x20000198   Section       40  main.o(.data)
    Count                                    0x200001a4   Data           4  main.o(.data)
    .data                                    0x200001c0   Section        4  system_stm32f0xx.o(.data)
    .data                                    0x200001c4   Section        4  stm32f0xx_hal.o(.data)
    .bss                                     0x200001c8   Section      256  debug.o(.bss)
    .bss                                     0x200002c8   Section      148  globaldef.o(.bss)
    .bss                                     0x2000035c   Section      148  globaldef.o(.bss)
    .bss                                     0x200003f0   Section      128  globaldef.o(.bss)
    .bss                                     0x20000470   Section      128  globaldef.o(.bss)
    .bss                                     0x200004f0   Section     1184  kbus.o(.bss)
    .bss                                     0x20000990   Section      272  klink.o(.bss)
    .bss                                     0x20000aa0   Section      128  modbusrtu.o(.bss)
    .bss                                     0x20000b20   Section      520  plcfunctions.o(.bss)
    .bss                                     0x20000d28   Section      128  kmachine.o(.bss)
    .bss                                     0x20000da8   Section     2004  kmachine.o(.bss)
    .bss                                     0x2000157c   Section       64  fp0.o(.bss)
    .bss                                     0x200015bc   Section       32  fp0.o(.bss)
    .bss                                     0x200015dc   Section      516  main.o(.bss)
    .bss                                     0x200017e0   Section       32  stm32f0xx_hal_flash.o(.bss)
    STACK                                    0x20001800   Section     1024  startup_stm32f030x8.o(STACK)
    .data                                    0x2000010c   Section        4  globaldef.o(.data)
    .data                                    0x20000110   Section        4  globaldef.o(.data)
    .data                                    0x20000114   Section        4  globaldef.o(.data)
    .data                                    0x20000118   Section       52  kbus.o(.data)
    .data                                    0x2000014c   Section        4  kbus.o(.data)
    .data                                    0x20000150   Section       12  klink.o(.data)
    .data                                    0x2000015c   Section        1  modbusrtu.o(.data)
    .data                                    0x20000160   Section        4  plcfunctions.o(.data)
    .data                                    0x20000164   Section       36  kmachine.o(.data)
    .data                                    0x20000188   Section       40  main.o(.data)
    Count                                    0x20000194   Data           4  main.o(.data)
    .data                                    0x200001b0   Section        4  system_stm32f0xx.o(.data)
    .data                                    0x200001b4   Section        4  stm32f0xx_hal.o(.data)
    .bss                                     0x200001b8   Section      288  debug.o(.bss)
    .bss                                     0x200002d8   Section      128  functions.o(.bss)
    .bss                                     0x20000358   Section      148  globaldef.o(.bss)
    .bss                                     0x200003ec   Section      148  globaldef.o(.bss)
    .bss                                     0x20000480   Section      128  globaldef.o(.bss)
    .bss                                     0x20000500   Section      128  globaldef.o(.bss)
    .bss                                     0x20000580   Section     1880  kbus.o(.bss)
    .bss                                     0x20000cd8   Section      272  klink.o(.bss)
    .bss                                     0x20000de8   Section      128  modbusrtu.o(.bss)
    .bss                                     0x20000e68   Section      520  plcfunctions.o(.bss)
    .bss                                     0x20001070   Section      128  kmachine.o(.bss)
    .bss                                     0x200010f0   Section     2004  kmachine.o(.bss)
    .bss                                     0x200018c4   Section      516  main.o(.bss)
    .bss                                     0x20001ac8   Section      156  fpx.o(.bss)
    STACK                                    0x20001b68   Section     1024  startup_stm32f030x8.o(STACK)
    Global Symbols
@@ -2021,277 +2047,277 @@
    _ll_shift_l                              0x0800128d   Thumb Code     0  llshl.o(.text)
    AddEventLog                              0x080012ad   Thumb Code   122  kmachine.o(i.AddEventLog)
    AddSpace                                 0x08001339   Thumb Code    44  myqueue.o(i.AddSpace)
    CalFP0BCC                                0x08001365   Thumb Code    30  fp0.o(i.CalFP0BCC)
    CheckEventLog                            0x08001385   Thumb Code    90  kmachine.o(i.CheckEventLog)
    ClearEventLog                            0x080013f1   Thumb Code    28  kmachine.o(i.ClearEventLog)
    DMA1_Channel2_3_IRQHandler               0x08001415   Thumb Code   144  stm32f0xx_it.o(i.DMA1_Channel2_3_IRQHandler)
    DMA1_Channel4_5_IRQHandler               0x080014b5   Thumb Code    46  stm32f0xx_it.o(i.DMA1_Channel4_5_IRQHandler)
    DelData                                  0x080014ed   Thumb Code    44  myqueue.o(i.DelData)
    EraseAndWriteToFlashMem                  0x08001519   Thumb Code    70  kmachine.o(i.EraseAndWriteToFlashMem)
    EraseFlashMem                            0x0800155f   Thumb Code    32  kmachine.o(i.EraseFlashMem)
    FLASH_PageErase                          0x080015a5   Thumb Code    28  stm32f0xx_hal_flash_ex.o(i.FLASH_PageErase)
    FLASH_WaitForLastOperation               0x08001621   Thumb Code    76  stm32f0xx_hal_flash.o(i.FLASH_WaitForLastOperation)
    FP0_Init                                 0x08001671   Thumb Code    68  fp0.o(i.FP0_Init)
    FP0_Proc                                 0x080016c1   Thumb Code   218  fp0.o(i.FP0_Proc)
    GetCoilValue                             0x080017e1   Thumb Code   156  kmachine.o(i.GetCoilValue)
    GetContinueData                          0x08001881   Thumb Code    38  myqueue.o(i.GetContinueData)
    GetContinueEmptyRoom                     0x080018a7   Thumb Code    38  myqueue.o(i.GetContinueEmptyRoom)
    GetEventLogAddr                          0x080018cd   Thumb Code    28  kmachine.o(i.GetEventLogAddr)
    GetVarData                               0x080018f1   Thumb Code   208  kmachine.o(i.GetVarData)
    GetuS                                    0x080019c9   Thumb Code    30  functions.o(i.GetuS)
    HAL_Delay                                0x080019f5   Thumb Code    28  stm32f0xx_hal.o(i.HAL_Delay)
    HAL_FLASHEx_Erase                        0x08001a11   Thumb Code   148  stm32f0xx_hal_flash_ex.o(i.HAL_FLASHEx_Erase)
    HAL_FLASH_Lock                           0x08001ab1   Thumb Code    14  stm32f0xx_hal_flash.o(i.HAL_FLASH_Lock)
    HAL_FLASH_Program                        0x08001ac5   Thumb Code   112  stm32f0xx_hal_flash.o(i.HAL_FLASH_Program)
    HAL_FLASH_Unlock                         0x08001b41   Thumb Code    24  stm32f0xx_hal_flash.o(i.HAL_FLASH_Unlock)
    HAL_GetTick                              0x08001b65   Thumb Code     6  stm32f0xx_hal.o(i.HAL_GetTick)
    HAL_IncTick                              0x08001b71   Thumb Code    10  stm32f0xx_hal.o(i.HAL_IncTick)
    HAL_Init                                 0x08001b81   Thumb Code    26  stm32f0xx_hal.o(i.HAL_Init)
    HAL_InitTick                             0x08001ba1   Thumb Code    34  stm32f0xx_hal.o(i.HAL_InitTick)
    HAL_MspInit                              0x08001bc5   Thumb Code    64  stm32f0xx_hal_msp.o(i.HAL_MspInit)
    HAL_NVIC_SetPriority                     0x08001c09   Thumb Code     8  stm32f0xx_hal_cortex.o(i.HAL_NVIC_SetPriority)
    HAL_RCCEx_PeriphCLKConfig                0x08001c11   Thumb Code   222  stm32f0xx_hal_rcc_ex.o(i.HAL_RCCEx_PeriphCLKConfig)
    HAL_RCC_ClockConfig                      0x08001cfd   Thumb Code   280  stm32f0xx_hal_rcc.o(i.HAL_RCC_ClockConfig)
    HAL_RCC_GetHCLKFreq                      0x08001e29   Thumb Code     6  stm32f0xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq)
    HAL_RCC_GetSysClockFreq                  0x08001e35   Thumb Code    80  stm32f0xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq)
    HAL_RCC_OscConfig                        0x08001eb5   Thumb Code   838  stm32f0xx_hal_rcc.o(i.HAL_RCC_OscConfig)
    HAL_SYSTICK_CLKSourceConfig              0x08002209   Thumb Code    20  stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_CLKSourceConfig)
    HAL_SYSTICK_Callback                     0x08002221   Thumb Code    86  main.o(i.HAL_SYSTICK_Callback)
    HAL_SYSTICK_Config                       0x08002295   Thumb Code    38  stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Config)
    HAL_SYSTICK_IRQHandler                   0x080022c5   Thumb Code     8  stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler)
    HardFault_Handler                        0x080022cd   Thumb Code     2  stm32f0xx_it.o(i.HardFault_Handler)
    InitPLC                                  0x080022d1   Thumb Code    68  plcfunctions.o(i.InitPLC)
    InitTimer                                0x0800231d   Thumb Code    56  plcfunctions.o(i.InitTimer)
    InitUartstat                             0x0800235d   Thumb Code    30  functions.o(i.InitUartstat)
    InituS                                   0x0800237d   Thumb Code    68  functions.o(i.InituS)
    KBusBCC                                  0x080023d1   Thumb Code    22  kbus.o(i.KBusBCC)
    KBusCheckPacket                          0x080023e9   Thumb Code   234  kbus.o(i.KBusCheckPacket)
    KBusMakePacket                           0x080024ed   Thumb Code   126  kbus.o(i.KBusMakePacket)
    KBusMasterFunc                           0x0800256d   Thumb Code   358  kbus.o(i.KBusMasterFunc)
    KBusMasterParsePacket                    0x080026f5   Thumb Code   306  kbus.o(i.KBusMasterParsePacket)
    KBusParsePacket                          0x0800283d   Thumb Code   114  kbus.o(i.KBusParsePacket)
    KBusSlaveCheckPacket                     0x080028bd   Thumb Code   134  kbus.o(i.KBusSlaveCheckPacket)
    KBusSlaveFunc                            0x0800294d   Thumb Code    84  kbus.o(i.KBusSlaveFunc)
    KBusSlaveParsePacket                     0x080029ad   Thumb Code   358  kbus.o(i.KBusSlaveParsePacket)
    KLBCC                                    0x08002b29   Thumb Code    22  klink.o(i.KLBCC)
    KLCheckPacket                            0x08002b3f   Thumb Code    50  klink.o(i.KLCheckPacket)
    KLMakeRplyPacket                         0x08002b71   Thumb Code    60  klink.o(i.KLMakeRplyPacket)
    KLParsePacket                            0x08002bad   Thumb Code    70  klink.o(i.KLParsePacket)
    KLParseReqPacket                         0x08002bfd   Thumb Code  1704  klink.o(i.KLParseReqPacket)
    KMachineInit                             0x080032cd   Thumb Code    94  kmachine.o(i.KMachineInit)
    LL_GPIO_Init                             0x080034dd   Thumb Code   164  stm32f0xx_ll_gpio.o(i.LL_GPIO_Init)
    LL_Init1msTick                           0x08003591   Thumb Code    26  stm32f0xx_ll_utils.o(i.LL_Init1msTick)
    LL_RCC_GetSystemClocksFreq               0x080035b1   Thumb Code    24  stm32f0xx_ll_rcc.o(i.LL_RCC_GetSystemClocksFreq)
    LL_RCC_GetUSARTClockFreq                 0x080035c9   Thumb Code    76  stm32f0xx_ll_rcc.o(i.LL_RCC_GetUSARTClockFreq)
    LL_SPI_Init                              0x0800361d   Thumb Code    92  stm32f0xx_ll_spi.o(i.LL_SPI_Init)
    LL_TIM_Init                              0x08003681   Thumb Code   108  stm32f0xx_ll_tim.o(i.LL_TIM_Init)
    LL_USART_Init                            0x08003719   Thumb Code   156  stm32f0xx_ll_usart.o(i.LL_USART_Init)
    LL_mDelay                                0x080037c5   Thumb Code    28  stm32f0xx_ll_utils.o(i.LL_mDelay)
    LoadDefaultSysCfg                        0x080037e5   Thumb Code    14  kmachine.o(i.LoadDefaultSysCfg)
    LoadRunStat                              0x080037f9   Thumb Code    86  kmachine.o(i.LoadRunStat)
    Locate                                   0x0800385d   Thumb Code    24  debug.o(i.Locate)
    MX_DMA_Init                              0x08003881   Thumb Code    38  bsp.o(i.MX_DMA_Init)
    MX_GPIO_Init                             0x080038a9   Thumb Code   286  bsp.o(i.MX_GPIO_Init)
    MX_IWDG_Init                             0x080039dd   Thumb Code    32  bsp.o(i.MX_IWDG_Init)
    MX_SPI1_Init                             0x08003a11   Thumb Code   196  bsp.o(i.MX_SPI1_Init)
    MX_TIM6_Init                             0x08003add   Thumb Code    74  bsp.o(i.MX_TIM6_Init)
    MX_USART1_UART_Init                      0x08003b31   Thumb Code   278  bsp.o(i.MX_USART1_UART_Init)
    MX_USART2_UART_Init                      0x08003c55   Thumb Code   332  bsp.o(i.MX_USART2_UART_Init)
    ModBusSlaveCheckPkg                      0x08003dad   Thumb Code    56  modbusrtu.o(i.ModBusSlaveCheckPkg)
    ModBusSlaveParsePkg                      0x08003de5   Thumb Code   786  modbusrtu.o(i.ModBusSlaveParsePkg)
    NMI_Handler                              0x08004105   Thumb Code     2  stm32f0xx_it.o(i.NMI_Handler)
    ParseFP0Pkg                              0x080041a5   Thumb Code   408  fp0.o(i.ParseFP0Pkg)
    PendSV_Handler                           0x0800434d   Thumb Code    24  stm32f0xx_it.o(i.PendSV_Handler)
    PendSvCallBack                           0x0800436d   Thumb Code    58  functions.o(i.PendSvCallBack)
    PopOutVal                                0x080043c1   Thumb Code    28  plcfunctions.o(i.PopOutVal)
    ProcessPLCBinProg                        0x080043e1   Thumb Code  1370  plcfunctions.o(i.ProcessPLCBinProg)
    ProcessTimer                             0x08004941   Thumb Code   192  plcfunctions.o(i.ProcessTimer)
    PushIn                                   0x08004a0d   Thumb Code   130  myqueue.o(i.PushIn)
    PushInVal                                0x08004a91   Thumb Code    30  plcfunctions.o(i.PushInVal)
    PutStr                                   0x08004ab5   Thumb Code    22  functions.o(i.PutStr)
    PutStr1                                  0x08004ad1   Thumb Code    22  functions.o(i.PutStr1)
    PutStr2                                  0x08004aed   Thumb Code    12  functions.o(i.PutStr2)
    RCC_GetHCLKClockFreq                     0x08004af9   Thumb Code    18  stm32f0xx_ll_rcc.o(i.RCC_GetHCLKClockFreq)
    RCC_GetPCLK1ClockFreq                    0x08004b15   Thumb Code    16  stm32f0xx_ll_rcc.o(i.RCC_GetPCLK1ClockFreq)
    RCC_GetSystemClockFreq                   0x08004b2d   Thumb Code    32  stm32f0xx_ll_rcc.o(i.RCC_GetSystemClockFreq)
    RCC_PLL_GetFreqDomain_SYS                0x08004b59   Thumb Code    50  stm32f0xx_ll_rcc.o(i.RCC_PLL_GetFreqDomain_SYS)
    ReadFlashMem                             0x08004b99   Thumb Code    52  kmachine.o(i.ReadFlashMem)
    ReadJumperSW                             0x08004bcd   Thumb Code    14  functions.o(i.ReadJumperSW)
    ReadSysCfgFromFlash                      0x08004bdd   Thumb Code    84  kmachine.o(i.ReadSysCfgFromFlash)
    RunTimer                                 0x08004c4d   Thumb Code    68  plcfunctions.o(i.RunTimer)
    SPI1_IRQHandler                          0x08004c99   Thumb Code     8  stm32f0xx_it.o(i.SPI1_IRQHandler)
    SPI1_IRQ_CallBack                        0x08004ca1   Thumb Code   184  functions.o(i.SPI1_IRQ_CallBack)
    SVC_Handler                              0x08004d95   Thumb Code     2  stm32f0xx_it.o(i.SVC_Handler)
    SaveRunStat                              0x08004d99   Thumb Code   108  kmachine.o(i.SaveRunStat)
    SendFP0Pkg                               0x08004e19   Thumb Code    88  fp0.o(i.SendFP0Pkg)
    SendPacket                               0x08004e85   Thumb Code    48  functions.o(i.SendPacket)
    SetCoilValue                             0x08004f11   Thumb Code   134  kmachine.o(i.SetCoilValue)
    SetErr2Led                               0x08004fa1   Thumb Code    18  functions.o(i.SetErr2Led)
    SetErrLed                                0x08004fb9   Thumb Code    18  functions.o(i.SetErrLed)
    SetOutStat                               0x08004fd1   Thumb Code    18  functions.o(i.SetOutStat)
    SetRunLed                                0x08004fe9   Thumb Code    18  functions.o(i.SetRunLed)
    SetVarData                               0x08005001   Thumb Code   196  kmachine.o(i.SetVarData)
    ShowInitInfo                             0x080050c9   Thumb Code   250  debug.o(i.ShowInitInfo)
    StartPLC                                 0x0800524d   Thumb Code    98  plcfunctions.o(i.StartPLC)
    StopPLC                                  0x080052bd   Thumb Code    54  plcfunctions.o(i.StopPLC)
    StopTimer                                0x080052fd   Thumb Code    60  plcfunctions.o(i.StopTimer)
    SysTick_Handler                          0x08005341   Thumb Code    12  stm32f0xx_it.o(i.SysTick_Handler)
    SystemClock_Config                       0x0800534d   Thumb Code   142  bsp.o(i.SystemClock_Config)
    SystemInit                               0x080053f5   Thumb Code    78  system_stm32f0xx.o(i.SystemInit)
    TIM6_IRQHandler                          0x08005451   Thumb Code    18  stm32f0xx_it.o(i.TIM6_IRQHandler)
    ToggleErrLed                             0x08005469   Thumb Code    14  functions.o(i.ToggleErrLed)
    ToggleRunLed                             0x0800547d   Thumb Code    14  functions.o(i.ToggleRunLed)
    USART1_IRQHandler                        0x08005491   Thumb Code   110  stm32f0xx_it.o(i.USART1_IRQHandler)
    USART2_IRQHandler                        0x08005519   Thumb Code    68  stm32f0xx_it.o(i.USART2_IRQHandler)
    Uart1RecvDone                            0x08005565   Thumb Code    22  functions.o(i.Uart1RecvDone)
    Uart1SendDMA                             0x08005585   Thumb Code    82  functions.o(i.Uart1SendDMA)
    Uart1SendDone                            0x080055e5   Thumb Code    10  functions.o(i.Uart1SendDone)
    Uart1TriggerSendDMA                      0x080055f5   Thumb Code    42  functions.o(i.Uart1TriggerSendDMA)
    Uart2RecvDMA                             0x08005625   Thumb Code    82  functions.o(i.Uart2RecvDMA)
    Uart2RecvDone                            0x08005685   Thumb Code    44  functions.o(i.Uart2RecvDone)
    Uart2SendDMA                             0x080056c5   Thumb Code    82  functions.o(i.Uart2SendDMA)
    Uart2SendDone                            0x08005725   Thumb Code    10  functions.o(i.Uart2SendDone)
    WriteFactoryData                         0x08005735   Thumb Code    22  kmachine.o(i.WriteFactoryData)
    WriteProgram                             0x08005751   Thumb Code    50  kmachine.o(i.WriteProgram)
    WriteSysCfgToFlash                       0x08005791   Thumb Code    96  kmachine.o(i.WriteSysCfgToFlash)
    WriteToFlashMemNoErase                   0x080057fd   Thumb Code    72  kmachine.o(i.WriteToFlashMemNoErase)
    _Error_Handler                           0x08005845   Thumb Code     2  main.o(i._Error_Handler)
    __0sprintf$8                             0x08005849   Thumb Code    36  printf8.o(i.__0sprintf$8)
    __1sprintf$8                             0x08005849   Thumb Code     0  printf8.o(i.__0sprintf$8)
    __2sprintf                               0x08005849   Thumb Code     0  printf8.o(i.__0sprintf$8)
    __ARM_common_switch8                     0x08005871   Thumb Code    26  kbus.o(i.__ARM_common_switch8)
    __scatterload_copy                       0x0800588b   Thumb Code    14  handlers.o(i.__scatterload_copy)
    __scatterload_null                       0x08005899   Thumb Code     2  handlers.o(i.__scatterload_null)
    __scatterload_zeroinit                   0x0800589b   Thumb Code    14  handlers.o(i.__scatterload_zeroinit)
    clearscreen                              0x08005d29   Thumb Code    12  debug.o(i.clearscreen)
    crc16bitbybit                            0x08005d41   Thumb Code    50  functions.o(i.crc16bitbybit)
    crc16table                               0x08005d7d   Thumb Code    42  functions.o(i.crc16table)
    crc16tablefast                           0x08005dad   Thumb Code    54  modbusrtu.o(i.crc16tablefast)
    crc_check                                0x08005ded   Thumb Code    34  functions.o(i.crc_check)
    initQueue                                0x08005e19   Thumb Code    22  myqueue.o(i.initQueue)
    logData                                  0x08005e31   Thumb Code    30  functions.o(i.logData)
    main                                     0x08005e55   Thumb Code  1310  main.o(i.main)
    buf1                                     0x08006390   Data          16  debug.o(.constdata)
    crc16_table                              0x080063a6   Data         512  functions.o(.constdata)
    crctablehi                               0x080065a6   Data         256  functions.o(.constdata)
    crctablelo                               0x080066a6   Data         256  functions.o(.constdata)
    crctalbeabs                              0x080067a6   Data          32  modbusrtu.o(.constdata)
    KMInfoBlock                              0x080067c6   Data          24  kmachine.o(.constdata)
    KMDefaultSysCfg                          0x080067e0   Data         128  kmachine.o(.constdata)
    AHBPrescTable                            0x08006894   Data          16  system_stm32f0xx.o(.constdata)
    APBPrescTable                            0x080068a4   Data           8  system_stm32f0xx.o(.constdata)
    Region$$Table$$Base                      0x080068ac   Number         0  anon$$obj.o(Region$$Table)
    Region$$Table$$Limit                     0x080068cc   Number         0  anon$$obj.o(Region$$Table)
    CheckEventLog                            0x08001365   Thumb Code    90  kmachine.o(i.CheckEventLog)
    ClearEventLog                            0x080013d1   Thumb Code    28  kmachine.o(i.ClearEventLog)
    DMA1_Channel2_3_IRQHandler               0x080013f5   Thumb Code   144  stm32f0xx_it.o(i.DMA1_Channel2_3_IRQHandler)
    DMA1_Channel4_5_IRQHandler               0x08001495   Thumb Code    46  stm32f0xx_it.o(i.DMA1_Channel4_5_IRQHandler)
    DelData                                  0x080014cd   Thumb Code    44  myqueue.o(i.DelData)
    EraseAndWriteToFlashMem                  0x080014f9   Thumb Code    90  kmachine.o(i.EraseAndWriteToFlashMem)
    EraseFlashMem                            0x08001559   Thumb Code    32  kmachine.o(i.EraseFlashMem)
    FPxCalBCC                                0x0800157d   Thumb Code    30  fpx.o(i.FPxCalBCC)
    FPxCallBackFunc                          0x0800159d   Thumb Code    58  main.o(i.FPxCallBackFunc)
    FPxParsePkt                              0x080015e1   Thumb Code   434  fpx.o(i.FPxParsePkt)
    FPxSendPkt                               0x080017a5   Thumb Code    92  fpx.o(i.FPxSendPkt)
    FPxSetCallBackFunc                       0x0800181d   Thumb Code    12  fpx.o(i.FPxSetCallBackFunc)
    FPx_Init                                 0x0800182d   Thumb Code    80  fpx.o(i.FPx_Init)
    FPx_Proc                                 0x08001891   Thumb Code   258  fpx.o(i.FPx_Proc)
    FPx_SetIOCount                           0x080019b9   Thumb Code    10  fpx.o(i.FPx_SetIOCount)
    GetCoilValue                             0x080019f1   Thumb Code   156  kmachine.o(i.GetCoilValue)
    GetContinueData                          0x08001a91   Thumb Code    38  myqueue.o(i.GetContinueData)
    GetContinueEmptyRoom                     0x08001ab7   Thumb Code    38  myqueue.o(i.GetContinueEmptyRoom)
    GetEventLogAddr                          0x08001add   Thumb Code    28  kmachine.o(i.GetEventLogAddr)
    GetVarData                               0x08001b01   Thumb Code   208  kmachine.o(i.GetVarData)
    GetuS                                    0x08001bd9   Thumb Code    30  functions.o(i.GetuS)
    HAL_Delay                                0x08001c05   Thumb Code    28  stm32f0xx_hal.o(i.HAL_Delay)
    HAL_GetTick                              0x08001c21   Thumb Code     6  stm32f0xx_hal.o(i.HAL_GetTick)
    HAL_IncTick                              0x08001c2d   Thumb Code    10  stm32f0xx_hal.o(i.HAL_IncTick)
    HAL_Init                                 0x08001c3d   Thumb Code    26  stm32f0xx_hal.o(i.HAL_Init)
    HAL_InitTick                             0x08001c5d   Thumb Code    34  stm32f0xx_hal.o(i.HAL_InitTick)
    HAL_MspInit                              0x08001c81   Thumb Code    64  stm32f0xx_hal_msp.o(i.HAL_MspInit)
    HAL_NVIC_SetPriority                     0x08001cc5   Thumb Code     8  stm32f0xx_hal_cortex.o(i.HAL_NVIC_SetPriority)
    HAL_RCCEx_PeriphCLKConfig                0x08001ccd   Thumb Code   222  stm32f0xx_hal_rcc_ex.o(i.HAL_RCCEx_PeriphCLKConfig)
    HAL_RCC_ClockConfig                      0x08001db9   Thumb Code   280  stm32f0xx_hal_rcc.o(i.HAL_RCC_ClockConfig)
    HAL_RCC_GetHCLKFreq                      0x08001ee5   Thumb Code     6  stm32f0xx_hal_rcc.o(i.HAL_RCC_GetHCLKFreq)
    HAL_RCC_GetSysClockFreq                  0x08001ef1   Thumb Code    80  stm32f0xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq)
    HAL_RCC_OscConfig                        0x08001f71   Thumb Code   838  stm32f0xx_hal_rcc.o(i.HAL_RCC_OscConfig)
    HAL_SYSTICK_CLKSourceConfig              0x080022c5   Thumb Code    20  stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_CLKSourceConfig)
    HAL_SYSTICK_Callback                     0x080022dd   Thumb Code    86  main.o(i.HAL_SYSTICK_Callback)
    HAL_SYSTICK_Config                       0x08002351   Thumb Code    38  stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_Config)
    HAL_SYSTICK_IRQHandler                   0x08002381   Thumb Code     8  stm32f0xx_hal_cortex.o(i.HAL_SYSTICK_IRQHandler)
    HardFault_Handler                        0x08002389   Thumb Code     2  stm32f0xx_it.o(i.HardFault_Handler)
    InitPLC                                  0x0800238d   Thumb Code    68  plcfunctions.o(i.InitPLC)
    InitTimer                                0x080023d9   Thumb Code    56  plcfunctions.o(i.InitTimer)
    InitUartstat                             0x08002419   Thumb Code    30  functions.o(i.InitUartstat)
    InituS                                   0x08002439   Thumb Code    68  functions.o(i.InituS)
    KBusAddChildAddrByInfo                   0x0800248d   Thumb Code   104  kbus.o(i.KBusAddChildAddrByInfo)
    KBusBCC                                  0x080024f9   Thumb Code    22  kbus.o(i.KBusBCC)
    KBusCallBackFunc                         0x08002511   Thumb Code    70  main.o(i.KBusCallBackFunc)
    KBusCheckPacket                          0x08002565   Thumb Code   234  kbus.o(i.KBusCheckPacket)
    KBusInit                                 0x08002669   Thumb Code    80  kbus.o(i.KBusInit)
    KBusMakeDefaultClildInfo                 0x080026c1   Thumb Code    34  kbus.o(i.KBusMakeDefaultClildInfo)
    KBusMakePacket                           0x080026e9   Thumb Code   138  kbus.o(i.KBusMakePacket)
    KBusMasterFunc                           0x08002775   Thumb Code   424  kbus.o(i.KBusMasterFunc)
    KBusMasterParsePacket                    0x08002939   Thumb Code   264  kbus.o(i.KBusMasterParsePacket)
    KBusParsePacket                          0x08002a4d   Thumb Code   114  kbus.o(i.KBusParsePacket)
    KBusSearchChild                          0x08002acd   Thumb Code   130  kbus.o(i.KBusSearchChild)
    KBusSetCallBackFunc                      0x08002b59   Thumb Code    12  kbus.o(i.KBusSetCallBackFunc)
    KBusSlaveCheckPacket                     0x08002b69   Thumb Code   134  kbus.o(i.KBusSlaveCheckPacket)
    KBusSlaveFunc                            0x08002bf9   Thumb Code    84  kbus.o(i.KBusSlaveFunc)
    KBusSlaveParsePacket                     0x08002c59   Thumb Code   454  kbus.o(i.KBusSlaveParsePacket)
    KLBCC                                    0x08002e39   Thumb Code    22  klink.o(i.KLBCC)
    KLCheckPacket                            0x08002e4f   Thumb Code    50  klink.o(i.KLCheckPacket)
    KLMakeRplyPacket                         0x08002e81   Thumb Code    76  klink.o(i.KLMakeRplyPacket)
    KLParsePacket                            0x08002ecd   Thumb Code    70  klink.o(i.KLParsePacket)
    KLParseReqPacket                         0x08002f1d   Thumb Code  1844  klink.o(i.KLParseReqPacket)
    KMachineInit                             0x0800367d   Thumb Code    94  kmachine.o(i.KMachineInit)
    LL_FLASH_Program                         0x0800388d   Thumb Code   100  stm32f0xx_ll_flash.o(i.LL_FLASH_Program)
    LL_Flash_PageErase                       0x080038f5   Thumb Code    76  stm32f0xx_ll_flash.o(i.LL_Flash_PageErase)
    LL_Flash_Unlock                          0x08003945   Thumb Code    30  stm32f0xx_ll_flash.o(i.LL_Flash_Unlock)
    LL_GPIO_Init                             0x08003971   Thumb Code   164  stm32f0xx_ll_gpio.o(i.LL_GPIO_Init)
    LL_RCC_GetSystemClocksFreq               0x08003a23   Thumb Code    24  stm32f0xx_ll_rcc.o(i.LL_RCC_GetSystemClocksFreq)
    LL_RCC_GetUSARTClockFreq                 0x08003a3d   Thumb Code    76  stm32f0xx_ll_rcc.o(i.LL_RCC_GetUSARTClockFreq)
    LL_SPI_Init                              0x08003a91   Thumb Code    92  stm32f0xx_ll_spi.o(i.LL_SPI_Init)
    LL_TIM_Init                              0x08003af5   Thumb Code   108  stm32f0xx_ll_tim.o(i.LL_TIM_Init)
    LL_USART_Init                            0x08003b8d   Thumb Code   156  stm32f0xx_ll_usart.o(i.LL_USART_Init)
    LoadDefaultSysCfg                        0x08003c39   Thumb Code    14  kmachine.o(i.LoadDefaultSysCfg)
    LoadRunStat                              0x08003c4d   Thumb Code    86  kmachine.o(i.LoadRunStat)
    Locate                                   0x08003cb1   Thumb Code    24  debug.o(i.Locate)
    MX_DMA_Init                              0x08003cd5   Thumb Code    38  bsp.o(i.MX_DMA_Init)
    MX_GPIO_Init                             0x08003cfd   Thumb Code   286  bsp.o(i.MX_GPIO_Init)
    MX_IWDG_Init                             0x08003e31   Thumb Code    32  bsp.o(i.MX_IWDG_Init)
    MX_SPI1_Init                             0x08003e65   Thumb Code   196  bsp.o(i.MX_SPI1_Init)
    MX_TIM6_Init                             0x08003f31   Thumb Code    74  bsp.o(i.MX_TIM6_Init)
    MX_USART1_UART_Init                      0x08003f85   Thumb Code   278  bsp.o(i.MX_USART1_UART_Init)
    MX_USART2_UART_Init                      0x080040a9   Thumb Code   332  bsp.o(i.MX_USART2_UART_Init)
    ModBusSlaveCheckPkg                      0x08004201   Thumb Code    56  modbusrtu.o(i.ModBusSlaveCheckPkg)
    ModBusSlaveParsePkg                      0x08004239   Thumb Code   786  modbusrtu.o(i.ModBusSlaveParsePkg)
    NMI_Handler                              0x08004559   Thumb Code     2  stm32f0xx_it.o(i.NMI_Handler)
    PendSV_Handler                           0x080045f9   Thumb Code    24  stm32f0xx_it.o(i.PendSV_Handler)
    PendSvCallBack                           0x08004619   Thumb Code    56  functions.o(i.PendSvCallBack)
    PopOutVal                                0x08004665   Thumb Code    28  plcfunctions.o(i.PopOutVal)
    ProcessPLCBinProg                        0x08004685   Thumb Code  1370  plcfunctions.o(i.ProcessPLCBinProg)
    ProcessTimer                             0x08004be5   Thumb Code   192  plcfunctions.o(i.ProcessTimer)
    PushIn                                   0x08004cb1   Thumb Code   130  myqueue.o(i.PushIn)
    PushInVal                                0x08004d35   Thumb Code    30  plcfunctions.o(i.PushInVal)
    PutStr                                   0x08004d59   Thumb Code    22  functions.o(i.PutStr)
    PutStr1                                  0x08004d75   Thumb Code    22  functions.o(i.PutStr1)
    PutStr2                                  0x08004d91   Thumb Code    12  functions.o(i.PutStr2)
    RCC_GetHCLKClockFreq                     0x08004d9d   Thumb Code    18  stm32f0xx_ll_rcc.o(i.RCC_GetHCLKClockFreq)
    RCC_GetPCLK1ClockFreq                    0x08004db9   Thumb Code    16  stm32f0xx_ll_rcc.o(i.RCC_GetPCLK1ClockFreq)
    RCC_GetSystemClockFreq                   0x08004dd1   Thumb Code    32  stm32f0xx_ll_rcc.o(i.RCC_GetSystemClockFreq)
    RCC_PLL_GetFreqDomain_SYS                0x08004dfd   Thumb Code    50  stm32f0xx_ll_rcc.o(i.RCC_PLL_GetFreqDomain_SYS)
    ReadFlashMem                             0x08004e3d   Thumb Code    52  kmachine.o(i.ReadFlashMem)
    ReadJumperSW                             0x08004e71   Thumb Code    14  functions.o(i.ReadJumperSW)
    ReadSysCfgFromFlash                      0x08004e81   Thumb Code    84  kmachine.o(i.ReadSysCfgFromFlash)
    RunTimer                                 0x08004ef1   Thumb Code    68  plcfunctions.o(i.RunTimer)
    SPI1_IRQHandler                          0x08004f3d   Thumb Code     8  stm32f0xx_it.o(i.SPI1_IRQHandler)
    SPI1_IRQ_CallBack                        0x08004f45   Thumb Code   164  functions.o(i.SPI1_IRQ_CallBack)
    SVC_Handler                              0x08005005   Thumb Code     2  stm32f0xx_it.o(i.SVC_Handler)
    SaveRunStat                              0x08005009   Thumb Code   108  kmachine.o(i.SaveRunStat)
    SendPacket                               0x08005089   Thumb Code    48  functions.o(i.SendPacket)
    SetCoilValue                             0x08005115   Thumb Code   134  kmachine.o(i.SetCoilValue)
    SetErr2Led                               0x080051a5   Thumb Code    18  functions.o(i.SetErr2Led)
    SetErrLed                                0x080051bd   Thumb Code    18  functions.o(i.SetErrLed)
    SetOutStat                               0x080051d5   Thumb Code    18  functions.o(i.SetOutStat)
    SetRunLed                                0x080051ed   Thumb Code    18  functions.o(i.SetRunLed)
    SetVarData                               0x08005205   Thumb Code   196  kmachine.o(i.SetVarData)
    ShowInitInfo                             0x080052cd   Thumb Code   250  debug.o(i.ShowInitInfo)
    StartPLC                                 0x08005451   Thumb Code    98  plcfunctions.o(i.StartPLC)
    StopPLC                                  0x080054c1   Thumb Code    54  plcfunctions.o(i.StopPLC)
    StopTimer                                0x08005501   Thumb Code    60  plcfunctions.o(i.StopTimer)
    SysTick_Handler                          0x08005545   Thumb Code    12  stm32f0xx_it.o(i.SysTick_Handler)
    SystemClock_Config                       0x08005551   Thumb Code   142  bsp.o(i.SystemClock_Config)
    SystemInit                               0x080055f9   Thumb Code    78  system_stm32f0xx.o(i.SystemInit)
    TIM6_IRQHandler                          0x08005655   Thumb Code    18  stm32f0xx_it.o(i.TIM6_IRQHandler)
    USART1_IRQHandler                        0x0800566d   Thumb Code   110  stm32f0xx_it.o(i.USART1_IRQHandler)
    USART2_IRQHandler                        0x080056f5   Thumb Code    68  stm32f0xx_it.o(i.USART2_IRQHandler)
    Uart1RecvDone                            0x08005741   Thumb Code    22  functions.o(i.Uart1RecvDone)
    Uart1SendDMA                             0x08005761   Thumb Code    82  functions.o(i.Uart1SendDMA)
    Uart1SendDone                            0x080057c1   Thumb Code    10  functions.o(i.Uart1SendDone)
    Uart1TriggerSendDMA                      0x080057d1   Thumb Code    42  functions.o(i.Uart1TriggerSendDMA)
    Uart2RecvDMA                             0x08005801   Thumb Code    82  functions.o(i.Uart2RecvDMA)
    Uart2RecvDone                            0x08005861   Thumb Code    44  functions.o(i.Uart2RecvDone)
    Uart2SendDMA                             0x080058a1   Thumb Code    82  functions.o(i.Uart2SendDMA)
    Uart2SendDone                            0x08005901   Thumb Code    10  functions.o(i.Uart2SendDone)
    WriteFactoryData                         0x08005911   Thumb Code    22  kmachine.o(i.WriteFactoryData)
    WriteNewApp                              0x0800592d   Thumb Code    28  kmachine.o(i.WriteNewApp)
    WriteNewAppInfo                          0x0800594d   Thumb Code    16  kmachine.o(i.WriteNewAppInfo)
    WriteProgram                             0x08005961   Thumb Code    50  kmachine.o(i.WriteProgram)
    WriteSysCfgToFlash                       0x080059a1   Thumb Code    96  kmachine.o(i.WriteSysCfgToFlash)
    WriteToFlashMemNoErase                   0x08005a0d   Thumb Code    76  kmachine.o(i.WriteToFlashMemNoErase)
    _Error_Handler                           0x08005a5d   Thumb Code     2  main.o(i._Error_Handler)
    __0sprintf$8                             0x08005a61   Thumb Code    36  printf8.o(i.__0sprintf$8)
    __1sprintf$8                             0x08005a61   Thumb Code     0  printf8.o(i.__0sprintf$8)
    __2sprintf                               0x08005a61   Thumb Code     0  printf8.o(i.__0sprintf$8)
    __ARM_common_switch8                     0x08005a89   Thumb Code    26  modbusrtu.o(i.__ARM_common_switch8)
    __scatterload_copy                       0x08005aa3   Thumb Code    14  handlers.o(i.__scatterload_copy)
    __scatterload_null                       0x08005ab1   Thumb Code     2  handlers.o(i.__scatterload_null)
    __scatterload_zeroinit                   0x08005ab3   Thumb Code    14  handlers.o(i.__scatterload_zeroinit)
    clearscreen                              0x08005f41   Thumb Code    12  debug.o(i.clearscreen)
    crc16bitbybit                            0x08005f59   Thumb Code    50  functions.o(i.crc16bitbybit)
    crc16table                               0x08005f95   Thumb Code    42  functions.o(i.crc16table)
    crc16tablefast                           0x08005fc5   Thumb Code    54  modbusrtu.o(i.crc16tablefast)
    crc_check                                0x08006005   Thumb Code    34  functions.o(i.crc_check)
    initQueue                                0x08006031   Thumb Code    22  myqueue.o(i.initQueue)
    logData                                  0x08006049   Thumb Code    30  functions.o(i.logData)
    main                                     0x0800606d   Thumb Code  1232  main.o(i.main)
    buf1                                     0x08006548   Data          16  debug.o(.constdata)
    crc16_table                              0x0800655e   Data         512  functions.o(.constdata)
    crctablehi                               0x0800675e   Data         256  functions.o(.constdata)
    crctablelo                               0x0800685e   Data         256  functions.o(.constdata)
    crctalbeabs                              0x0800695e   Data          32  modbusrtu.o(.constdata)
    KMInfoBlock                              0x0800697e   Data          24  kmachine.o(.constdata)
    KMDefaultSysCfg                          0x08006998   Data         128  kmachine.o(.constdata)
    AHBPrescTable                            0x08006a4c   Data          16  system_stm32f0xx.o(.constdata)
    APBPrescTable                            0x08006a5c   Data           8  system_stm32f0xx.o(.constdata)
    Region$$Table$$Base                      0x08006a64   Number         0  anon$$obj.o(Region$$Table)
    Region$$Table$$Limit                     0x08006a84   Number         0  anon$$obj.o(Region$$Table)
    sprintftime                              0x200000c0   Data           4  debug.o(.data)
    putstrtime                               0x200000c4   Data           4  debug.o(.data)
    LineCount                                0x200000c8   Data           4  debug.o(.data)
    Uart1baudval                             0x200000cc   Data           4  debug.o(.data)
    TickFreq                                 0x200000d4   Data           4  functions.o(.data)
    ClkuS                                    0x200000d8   Data           2  functions.o(.data)
    nCurTick                                 0x200000dc   Data           4  functions.o(.data)
    CurTickuS                                0x200000e0   Data           4  functions.o(.data)
    CoreClkMHz                               0x200000e4   Data           4  functions.o(.data)
    TickPriodClk                             0x200000e8   Data           4  functions.o(.data)
    TickPrioduS                              0x200000ec   Data           4  functions.o(.data)
    PendSvCount                              0x200000f0   Data           4  globaldef.o(.data)
    Uart1Baud                                0x200000f4   Data           4  globaldef.o(.data)
    Uart2Baud                                0x200000f8   Data           4  globaldef.o(.data)
    Uart1RecvBuf1DataLen                     0x200000fc   Data           4  globaldef.o(.data)
    Uart2RecvBuf1DataLen                     0x20000100   Data           4  globaldef.o(.data)
    Uart1BaudGot                             0x20000104   Data           4  globaldef.o(.data)
    Uart1BaudFirstGot                        0x20000108   Data           4  globaldef.o(.data)
    bKBusMaster                              0x2000010c   Data           1  kbus.o(.data)
    bKBusSlave                               0x2000010d   Data           1  kbus.o(.data)
    KBusDiagnosis                            0x2000010e   Data           1  kbus.o(.data)
    KBusSnapPos                              0x2000010f   Data           1  kbus.o(.data)
    nStationID                               0x20000110   Data           1  kbus.o(.data)
    nCurPollId                               0x20000111   Data           1  kbus.o(.data)
    nSeq                                     0x20000112   Data           1  kbus.o(.data)
    KBusMasterRecved                         0x20000113   Data           1  kbus.o(.data)
    KBusMasterRecvOK                         0x20000114   Data           1  kbus.o(.data)
    KBusSlaveRecved                          0x20000115   Data           1  kbus.o(.data)
    nClientDataIndex                         0x20000116   Data           1  kbus.o(.data)
    nChilds                                  0x20000117   Data           1  kbus.o(.data)
    KBusSendTimeuS                           0x20000118   Data           4  kbus.o(.data)
    KBusRecvTimeuS                           0x2000011c   Data           4  kbus.o(.data)
    KBusDelayuS                              0x20000120   Data           4  kbus.o(.data)
    KBusMaxDelayuS                           0x20000124   Data           4  kbus.o(.data)
    nSlaveTick                               0x20000128   Data           4  kbus.o(.data)
    nCount2                                  0x2000012c   Data           4  kbus.o(.data)
    TimeOutCount                             0x20000130   Data           4  kbus.o(.data)
    LastCircleStartTime                      0x20000134   Data           4  kbus.o(.data)
    CircleTime                               0x20000138   Data           4  kbus.o(.data)
    ThisuS                                   0x2000013c   Data           4  kbus.o(.data)
    SendTime                                 0x20000140   Data           4  kbus.o(.data)
    nKLStationId                             0x20000144   Data           1  klink.o(.data)
    nKLStatus                                0x20000145   Data           1  klink.o(.data)
    KLThisuS                                 0x20000148   Data           4  klink.o(.data)
    KLRecvTimeuS                             0x2000014c   Data           4  klink.o(.data)
    MyAddr                                   0x20000150   Data           1  modbusrtu.o(.data)
    nSizeProg1                               0x20000154   Data           4  plcfunctions.o(.data)
    nMaxRunStatIndex                         0x20000158   Data           4  kmachine.o(.data)
    nMaxRunStatSeq                           0x2000015c   Data           4  kmachine.o(.data)
    nNextRunStatSpace                        0x20000160   Data           4  kmachine.o(.data)
    nEventCount                              0x20000164   Data           4  kmachine.o(.data)
    nEventMaxSeq                             0x20000168   Data           4  kmachine.o(.data)
    nMaxCurTime                              0x2000016c   Data           4  kmachine.o(.data)
    nEventMinIndex                           0x20000170   Data           4  kmachine.o(.data)
    nEventMaxIndex                           0x20000174   Data           4  kmachine.o(.data)
    nEventNextSpace                          0x20000178   Data           4  kmachine.o(.data)
    bConfiged                                0x2000017c   Data           1  fp0.o(.data)
    nConfigStationId                         0x2000017d   Data           1  fp0.o(.data)
    nInputBytes                              0x2000017e   Data           1  fp0.o(.data)
    nOutputBytes                             0x2000017f   Data           1  fp0.o(.data)
    bSPI1Recving                             0x20000180   Data           1  fp0.o(.data)
    nSPI1RecvPos                             0x20000181   Data           1  fp0.o(.data)
    nSPI1ToSendLen                           0x20000182   Data           1  fp0.o(.data)
    nSPI1SentLen                             0x20000183   Data           1  fp0.o(.data)
    bSPI1Sending                             0x20000184   Data           1  fp0.o(.data)
    oldSYN                                   0x20000188   Data           4  fp0.o(.data)
    bFirstReq                                0x2000018c   Data           4  fp0.o(.data)
    RSTCount0                                0x20000190   Data           4  fp0.o(.data)
    bSPI1RecvDone                            0x20000194   Data           1  fp0.o(.data)
    nSPI1RecvLenInBuf                        0x20000195   Data           1  fp0.o(.data)
    bSPI1SendDone                            0x20000196   Data           1  fp0.o(.data)
    SlowFlicker                              0x20000198   Data           1  main.o(.data)
    FastFlicker                              0x20000199   Data           1  main.o(.data)
    Uart1IdelTimer                           0x2000019c   Data           4  main.o(.data)
    pProgs                                   0x200001a0   Data           4  main.o(.data)
    us1                                      0x200001a8   Data           4  main.o(.data)
    us2                                      0x200001ac   Data           4  main.o(.data)
    us3                                      0x200001b0   Data           4  main.o(.data)
    us4                                      0x200001b4   Data           4  main.o(.data)
    us5                                      0x200001b8   Data           4  main.o(.data)
    us6                                      0x200001bc   Data           4  main.o(.data)
    SystemCoreClock                          0x200001c0   Data           4  system_stm32f0xx.o(.data)
    uwTick                                   0x200001c4   Data           4  stm32f0xx_hal.o(.data)
    str1                                     0x200001c8   Data         256  debug.o(.bss)
    Uart1Stat                                0x200002c8   Data         148  globaldef.o(.bss)
    Uart2Stat                                0x2000035c   Data         148  globaldef.o(.bss)
    Uart1RecvBuf1                            0x200003f0   Data         128  globaldef.o(.bss)
    Uart2RecvBuf1                            0x20000470   Data         128  globaldef.o(.bss)
    BufferIn                                 0x200004f0   Data          16  kbus.o(.bss)
    BufferOut                                0x20000500   Data          16  kbus.o(.bss)
    PacketBuf1                               0x20000510   Data         128  kbus.o(.bss)
    PacketBuf2                               0x20000590   Data         128  kbus.o(.bss)
    KBusChnStats                             0x20000610   Data         768  kbus.o(.bss)
    Datas                                    0x20000910   Data         128  kbus.o(.bss)
    KLBufferOut                              0x20000990   Data          16  klink.o(.bss)
    KLPacketBuf2                             0x200009a0   Data         256  klink.o(.bss)
    Pkgbuf                                   0x20000aa0   Data         128  modbusrtu.o(.bss)
    PLCMem                                   0x20000b20   Data         520  plcfunctions.o(.bss)
    storedKMSysCfg                           0x20000d28   Data         128  kmachine.o(.bss)
    KMem                                     0x20000da8   Data        1972  kmachine.o(.bss)
    KMRunStat                                0x2000155c   Data          32  kmachine.o(.bss)
    PkgBuf2                                  0x2000157c   Data          32  fp0.o(.bss)
    SPI1SendBuf                              0x2000159c   Data          32  fp0.o(.bss)
    SPI1RecvBuf                              0x200015bc   Data          32  fp0.o(.bss)
    Uart1RxBuf                               0x200015dc   Data         128  main.o(.bss)
    Uart1TxBuf                               0x2000165c   Data         260  main.o(.bss)
    Uart2RxBuf                               0x20001760   Data          64  main.o(.bss)
    Uart2TxBuf                               0x200017a0   Data          64  main.o(.bss)
    pFlash                                   0x200017e0   Data          32  stm32f0xx_hal_flash.o(.bss)
    __initial_sp                             0x20001c00   Data           0  startup_stm32f030x8.o(STACK)
    nCount5                                  0x200000d0   Data           4  debug.o(.data)
    TickFreq                                 0x200000d8   Data           4  functions.o(.data)
    bSPI1Recving                             0x200000dc   Data           1  functions.o(.data)
    bSPI1RecvDone                            0x200000dd   Data           1  functions.o(.data)
    nSPI1RecvPos                             0x200000de   Data           1  functions.o(.data)
    nSPI1RecvLenInBuf                        0x200000df   Data           1  functions.o(.data)
    nSPI1ToSendLen                           0x200000e0   Data           1  functions.o(.data)
    nSPI1SentLen                             0x200000e1   Data           1  functions.o(.data)
    bSPI1Sending                             0x200000e2   Data           1  functions.o(.data)
    bSPI1SendDone                            0x200000e3   Data           1  functions.o(.data)
    ClkuS                                    0x200000e4   Data           2  functions.o(.data)
    nCurTick                                 0x200000e8   Data           4  functions.o(.data)
    CurTickuS                                0x200000ec   Data           4  functions.o(.data)
    CoreClkMHz                               0x200000f0   Data           4  functions.o(.data)
    TickPriodClk                             0x200000f4   Data           4  functions.o(.data)
    TickPrioduS                              0x200000f8   Data           4  functions.o(.data)
    PendSvCount                              0x200000fc   Data           4  globaldef.o(.data)
    Uart1Baud                                0x20000100   Data           4  globaldef.o(.data)
    Uart2Baud                                0x20000104   Data           4  globaldef.o(.data)
    Uart1RecvBuf1DataLen                     0x20000108   Data           4  globaldef.o(.data)
    Uart2RecvBuf1DataLen                     0x2000010c   Data           4  globaldef.o(.data)
    Uart1BaudGot                             0x20000110   Data           4  globaldef.o(.data)
    Uart1BaudFirstGot                        0x20000114   Data           4  globaldef.o(.data)
    bKBusMaster                              0x20000118   Data           1  kbus.o(.data)
    bKBusSlave                               0x20000119   Data           1  kbus.o(.data)
    KBusDiagnosis                            0x2000011a   Data           1  kbus.o(.data)
    KBusSnapPos                              0x2000011b   Data           1  kbus.o(.data)
    nStationID                               0x2000011c   Data           1  kbus.o(.data)
    nCurPollId                               0x2000011d   Data           1  kbus.o(.data)
    nSeq                                     0x2000011e   Data           1  kbus.o(.data)
    KBusMasterRecved                         0x2000011f   Data           1  kbus.o(.data)
    KBusMasterRecvOK                         0x20000120   Data           1  kbus.o(.data)
    KBusSlaveRecved                          0x20000121   Data           1  kbus.o(.data)
    nClientDataIndex                         0x20000122   Data           1  kbus.o(.data)
    nChilds                                  0x20000123   Data           1  kbus.o(.data)
    KBusSendTimeuS                           0x20000124   Data           4  kbus.o(.data)
    KBusRecvTimeuS                           0x20000128   Data           4  kbus.o(.data)
    KBusDelayuS                              0x2000012c   Data           4  kbus.o(.data)
    KBusMaxDelayuS                           0x20000130   Data           4  kbus.o(.data)
    nCount2                                  0x20000134   Data           4  kbus.o(.data)
    TimeOutCount                             0x20000138   Data           4  kbus.o(.data)
    LastCircleStartTime                      0x2000013c   Data           4  kbus.o(.data)
    CircleTime                               0x20000140   Data           4  kbus.o(.data)
    ThisuS                                   0x20000144   Data           4  kbus.o(.data)
    SendTime                                 0x20000148   Data           4  kbus.o(.data)
    nSlaveTick                               0x2000014c   Data           4  kbus.o(.data)
    nKLStationId                             0x20000150   Data           1  klink.o(.data)
    nKLStatus                                0x20000151   Data           1  klink.o(.data)
    KLThisuS                                 0x20000154   Data           4  klink.o(.data)
    KLRecvTimeuS                             0x20000158   Data           4  klink.o(.data)
    MyAddr                                   0x2000015c   Data           1  modbusrtu.o(.data)
    nSizeProg1                               0x20000160   Data           4  plcfunctions.o(.data)
    nMaxRunStatIndex                         0x20000164   Data           4  kmachine.o(.data)
    nMaxRunStatSeq                           0x20000168   Data           4  kmachine.o(.data)
    nNextRunStatSpace                        0x2000016c   Data           4  kmachine.o(.data)
    nEventCount                              0x20000170   Data           4  kmachine.o(.data)
    nEventMaxSeq                             0x20000174   Data           4  kmachine.o(.data)
    nMaxCurTime                              0x20000178   Data           4  kmachine.o(.data)
    nEventMinIndex                           0x2000017c   Data           4  kmachine.o(.data)
    nEventMaxIndex                           0x20000180   Data           4  kmachine.o(.data)
    nEventNextSpace                          0x20000184   Data           4  kmachine.o(.data)
    SlowFlicker                              0x20000188   Data           1  main.o(.data)
    FastFlicker                              0x20000189   Data           1  main.o(.data)
    Uart1IdelTimer                           0x2000018c   Data           4  main.o(.data)
    pProgs                                   0x20000190   Data           4  main.o(.data)
    us1                                      0x20000198   Data           4  main.o(.data)
    us2                                      0x2000019c   Data           4  main.o(.data)
    us3                                      0x200001a0   Data           4  main.o(.data)
    us4                                      0x200001a4   Data           4  main.o(.data)
    us5                                      0x200001a8   Data           4  main.o(.data)
    us6                                      0x200001ac   Data           4  main.o(.data)
    SystemCoreClock                          0x200001b0   Data           4  system_stm32f0xx.o(.data)
    uwTick                                   0x200001b4   Data           4  stm32f0xx_hal.o(.data)
    ADC_TEMP                                 0x200001b8   Data          32  debug.o(.bss)
    str1                                     0x200001d8   Data         256  debug.o(.bss)
    SPI1RecvBuf                              0x200002d8   Data          64  functions.o(.bss)
    SPI1SendBuf                              0x20000318   Data          64  functions.o(.bss)
    Uart1Stat                                0x20000358   Data         148  globaldef.o(.bss)
    Uart2Stat                                0x200003ec   Data         148  globaldef.o(.bss)
    Uart1RecvBuf1                            0x20000480   Data         128  globaldef.o(.bss)
    Uart2RecvBuf1                            0x20000500   Data         128  globaldef.o(.bss)
    PacketBuf1                               0x20000580   Data         128  kbus.o(.bss)
    PacketBuf2                               0x20000600   Data         128  kbus.o(.bss)
    KBusChnStats                             0x20000680   Data         768  kbus.o(.bss)
    Datas                                    0x20000980   Data         128  kbus.o(.bss)
    KBus1                                    0x20000a00   Data         536  kbus.o(.bss)
    KBusMem                                  0x20000c18   Data         192  kbus.o(.bss)
    KLBufferOut                              0x20000cd8   Data          16  klink.o(.bss)
    KLPacketBuf2                             0x20000ce8   Data         256  klink.o(.bss)
    Pkgbuf                                   0x20000de8   Data         128  modbusrtu.o(.bss)
    PLCMem                                   0x20000e68   Data         520  plcfunctions.o(.bss)
    storedKMSysCfg                           0x20001070   Data         128  kmachine.o(.bss)
    KMem                                     0x200010f0   Data        1972  kmachine.o(.bss)
    KMRunStat                                0x200018a4   Data          32  kmachine.o(.bss)
    Uart1RxBuf                               0x200018c4   Data         128  main.o(.bss)
    Uart1TxBuf                               0x20001944   Data         260  main.o(.bss)
    Uart2RxBuf                               0x20001a48   Data          64  main.o(.bss)
    Uart2TxBuf                               0x20001a88   Data          64  main.o(.bss)
    PktBuf2                                  0x20001ac8   Data          64  fpx.o(.bss)
    FPxStat                                  0x20001b08   Data          28  fpx.o(.bss)
    FPxMem                                   0x20001b24   Data          64  fpx.o(.bss)
    __initial_sp                             0x20001f68   Data           0  startup_stm32f030x8.o(STACK)
@@ -2301,295 +2327,291 @@
  Image Entry point : 0x080010b5
  Load Region LR_IROM1 (Base: 0x08001000, Size: 0x000059d4, Max: 0x0000f000, ABSOLUTE)
  Load Region LR_IROM1 (Base: 0x08001000, Size: 0x00005b7c, Max: 0x0000f000, ABSOLUTE)
    Execution Region ER_IROM1 (Base: 0x08001000, Size: 0x000058cc, Max: 0x0000f000, ABSOLUTE)
    Execution Region ER_IROM1 (Base: 0x08001000, Size: 0x00005a84, Max: 0x0000f000, ABSOLUTE)
    Base Addr    Size         Type   Attr      Idx    E Section Name        Object
    0x08001000   0x000000b4   Data   RO            3    RESET               startup_stm32f030x8.o
    0x080010b4   0x00000000   Code   RO         3998  * .ARM.Collect$$$$00000000  mc_p.l(entry.o)
    0x080010b4   0x00000004   Code   RO         4278    .ARM.Collect$$$$00000001  mc_p.l(entry2.o)
    0x080010b8   0x00000004   Code   RO         4281    .ARM.Collect$$$$00000004  mc_p.l(entry5.o)
    0x080010bc   0x00000000   Code   RO         4283    .ARM.Collect$$$$00000008  mc_p.l(entry7b.o)
    0x080010bc   0x00000000   Code   RO         4285    .ARM.Collect$$$$0000000A  mc_p.l(entry8b.o)
    0x080010bc   0x00000008   Code   RO         4286    .ARM.Collect$$$$0000000B  mc_p.l(entry9a.o)
    0x080010c4   0x00000000   Code   RO         4288    .ARM.Collect$$$$0000000D  mc_p.l(entry10a.o)
    0x080010c4   0x00000000   Code   RO         4290    .ARM.Collect$$$$0000000F  mc_p.l(entry11a.o)
    0x080010c4   0x00000004   Code   RO         4279    .ARM.Collect$$$$00002712  mc_p.l(entry2.o)
    0x080010b4   0x00000000   Code   RO         4162  * .ARM.Collect$$$$00000000  mc_p.l(entry.o)
    0x080010b4   0x00000004   Code   RO         4442    .ARM.Collect$$$$00000001  mc_p.l(entry2.o)
    0x080010b8   0x00000004   Code   RO         4445    .ARM.Collect$$$$00000004  mc_p.l(entry5.o)
    0x080010bc   0x00000000   Code   RO         4447    .ARM.Collect$$$$00000008  mc_p.l(entry7b.o)
    0x080010bc   0x00000000   Code   RO         4449    .ARM.Collect$$$$0000000A  mc_p.l(entry8b.o)
    0x080010bc   0x00000008   Code   RO         4450    .ARM.Collect$$$$0000000B  mc_p.l(entry9a.o)
    0x080010c4   0x00000000   Code   RO         4452    .ARM.Collect$$$$0000000D  mc_p.l(entry10a.o)
    0x080010c4   0x00000000   Code   RO         4454    .ARM.Collect$$$$0000000F  mc_p.l(entry11a.o)
    0x080010c4   0x00000004   Code   RO         4443    .ARM.Collect$$$$00002712  mc_p.l(entry2.o)
    0x080010c8   0x00000004   Code   RO           12    .emb_text           debug.o
    0x080010cc   0x0000001c   Code   RO            4    .text               startup_stm32f030x8.o
    0x080010e8   0x0000002c   Code   RO         4001    .text               mc_p.l(uidiv.o)
    0x08001114   0x00000028   Code   RO         4003    .text               mc_p.l(idiv.o)
    0x0800113c   0x0000004c   Code   RO         4005    .text               mc_p.l(ldiv.o)
    0x08001188   0x00000022   Code   RO         4007    .text               mc_p.l(llushr.o)
    0x080011aa   0x00000024   Code   RO         4009    .text               mc_p.l(memcpya.o)
    0x080011ce   0x00000024   Code   RO         4011    .text               mc_p.l(memseta.o)
    0x080011f2   0x00000014   Code   RO         4276    .text               mc_p.l(uread4.o)
    0x08001206   0x00000060   Code   RO         4295    .text               mc_p.l(uldiv.o)
    0x080010e8   0x0000002c   Code   RO         4165    .text               mc_p.l(uidiv.o)
    0x08001114   0x00000028   Code   RO         4167    .text               mc_p.l(idiv.o)
    0x0800113c   0x0000004c   Code   RO         4169    .text               mc_p.l(ldiv.o)
    0x08001188   0x00000022   Code   RO         4171    .text               mc_p.l(llushr.o)
    0x080011aa   0x00000024   Code   RO         4173    .text               mc_p.l(memcpya.o)
    0x080011ce   0x00000024   Code   RO         4175    .text               mc_p.l(memseta.o)
    0x080011f2   0x00000014   Code   RO         4440    .text               mc_p.l(uread4.o)
    0x08001206   0x00000060   Code   RO         4459    .text               mc_p.l(uldiv.o)
    0x08001266   0x00000002   PAD
    0x08001268   0x00000024   Code   RO         4308    .text               mc_p.l(init.o)
    0x0800128c   0x00000020   Code   RO         4311    .text               mc_p.l(llshl.o)
    0x080012ac   0x0000008c   Code   RO         1428    i.AddEventLog       kmachine.o
    0x08001338   0x0000002c   Code   RO         1130    i.AddSpace          myqueue.o
    0x08001364   0x0000001e   Code   RO         1993    i.CalFP0BCC         fp0.o
    0x08001382   0x00000002   PAD
    0x08001384   0x0000006c   Code   RO         1429    i.CheckEventLog     kmachine.o
    0x080013f0   0x00000024   Code   RO         1431    i.ClearEventLog     kmachine.o
    0x08001414   0x000000a0   Code   RO         1899    i.DMA1_Channel2_3_IRQHandler  stm32f0xx_it.o
    0x080014b4   0x00000038   Code   RO         1900    i.DMA1_Channel4_5_IRQHandler  stm32f0xx_it.o
    0x080014ec   0x0000002c   Code   RO         1132    i.DelData           myqueue.o
    0x08001518   0x00000046   Code   RO         1432    i.EraseAndWriteToFlashMem  kmachine.o
    0x0800155e   0x00000020   Code   RO         1433    i.EraseFlashMem     kmachine.o
    0x0800157e   0x00000002   PAD
    0x08001580   0x00000024   Code   RO         3716    i.FLASH_MassErase   stm32f0xx_hal_flash_ex.o
    0x080015a4   0x00000024   Code   RO         3721    i.FLASH_PageErase   stm32f0xx_hal_flash_ex.o
    0x080015c8   0x00000020   Code   RO         3617    i.FLASH_Program_HalfWord  stm32f0xx_hal_flash.o
    0x080015e8   0x00000038   Code   RO         3618    i.FLASH_SetErrorCode  stm32f0xx_hal_flash.o
    0x08001620   0x00000050   Code   RO         3619    i.FLASH_WaitForLastOperation  stm32f0xx_hal_flash.o
    0x08001670   0x00000050   Code   RO         1995    i.FP0_Init          fp0.o
    0x080016c0   0x000000f8   Code   RO         1996    i.FP0_Proc          fp0.o
    0x080017b8   0x00000014   Code   RO         1054    i.GetBitValue       modbusrtu.o
    0x080017cc   0x00000014   Code   RO         1434    i.GetBitValue       kmachine.o
    0x080017e0   0x000000a0   Code   RO         1435    i.GetCoilValue      kmachine.o
    0x08001880   0x00000026   Code   RO         1134    i.GetContinueData   myqueue.o
    0x080018a6   0x00000026   Code   RO         1135    i.GetContinueEmptyRoom  myqueue.o
    0x080018cc   0x00000024   Code   RO         1436    i.GetEventLogAddr   kmachine.o
    0x080018f0   0x000000d8   Code   RO         1437    i.GetVarData        kmachine.o
    0x080019c8   0x0000002c   Code   RO          596    i.GetuS             functions.o
    0x080019f4   0x0000001c   Code   RO         2671    i.HAL_Delay         stm32f0xx_hal.o
    0x08001a10   0x000000a0   Code   RO         3722    i.HAL_FLASHEx_Erase  stm32f0xx_hal_flash_ex.o
    0x08001ab0   0x00000014   Code   RO         3623    i.HAL_FLASH_Lock    stm32f0xx_hal_flash.o
    0x08001ac4   0x0000007c   Code   RO         3628    i.HAL_FLASH_Program  stm32f0xx_hal_flash.o
    0x08001b40   0x00000024   Code   RO         3630    i.HAL_FLASH_Unlock  stm32f0xx_hal_flash.o
    0x08001b64   0x0000000c   Code   RO         2675    i.HAL_GetTick       stm32f0xx_hal.o
    0x08001b70   0x00000010   Code   RO         2679    i.HAL_IncTick       stm32f0xx_hal.o
    0x08001b80   0x00000020   Code   RO         2680    i.HAL_Init          stm32f0xx_hal.o
    0x08001ba0   0x00000022   Code   RO         2681    i.HAL_InitTick      stm32f0xx_hal.o
    0x08001bc2   0x00000002   PAD
    0x08001bc4   0x00000044   Code   RO         1395    i.HAL_MspInit       stm32f0xx_hal_msp.o
    0x08001c08   0x00000008   Code   RO         3429    i.HAL_NVIC_SetPriority  stm32f0xx_hal_cortex.o
    0x08001c10   0x000000ec   Code   RO         2636    i.HAL_RCCEx_PeriphCLKConfig  stm32f0xx_hal_rcc_ex.o
    0x08001cfc   0x0000012c   Code   RO         2543    i.HAL_RCC_ClockConfig  stm32f0xx_hal_rcc.o
    0x08001e28   0x0000000c   Code   RO         2548    i.HAL_RCC_GetHCLKFreq  stm32f0xx_hal_rcc.o
    0x08001e34   0x00000080   Code   RO         2551    i.HAL_RCC_GetSysClockFreq  stm32f0xx_hal_rcc.o
    0x08001eb4   0x00000354   Code   RO         2554    i.HAL_RCC_OscConfig  stm32f0xx_hal_rcc.o
    0x08002208   0x00000018   Code   RO         3431    i.HAL_SYSTICK_CLKSourceConfig  stm32f0xx_hal_cortex.o
    0x08002220   0x00000074   Code   RO         2076    i.HAL_SYSTICK_Callback  main.o
    0x08002294   0x00000030   Code   RO         3433    i.HAL_SYSTICK_Config  stm32f0xx_hal_cortex.o
    0x080022c4   0x00000008   Code   RO         3434    i.HAL_SYSTICK_IRQHandler  stm32f0xx_hal_cortex.o
    0x080022cc   0x00000002   Code   RO         1901    i.HardFault_Handler  stm32f0xx_it.o
    0x080022ce   0x00000002   PAD
    0x080022d0   0x0000004c   Code   RO         1209    i.InitPLC           plcfunctions.o
    0x0800231c   0x00000040   Code   RO         1210    i.InitTimer         plcfunctions.o
    0x0800235c   0x0000001e   Code   RO          245    i.InitUartstat      functions.o
    0x0800237a   0x00000002   PAD
    0x0800237c   0x00000054   Code   RO          246    i.InituS            functions.o
    0x080023d0   0x00000016   Code   RO          745    i.KBusBCC           kbus.o
    0x080023e6   0x00000002   PAD
    0x080023e8   0x00000104   Code   RO          746    i.KBusCheckPacket   kbus.o
    0x080024ec   0x0000007e   Code   RO          747    i.KBusMakePacket    kbus.o
    0x0800256a   0x00000002   PAD
    0x0800256c   0x00000188   Code   RO          748    i.KBusMasterFunc    kbus.o
    0x080026f4   0x00000148   Code   RO          749    i.KBusMasterParsePacket  kbus.o
    0x0800283c   0x00000080   Code   RO          750    i.KBusParsePacket   kbus.o
    0x080028bc   0x00000090   Code   RO          752    i.KBusSlaveCheckPacket  kbus.o
    0x0800294c   0x00000060   Code   RO          753    i.KBusSlaveFunc     kbus.o
    0x080029ac   0x0000017c   Code   RO          754    i.KBusSlaveParsePacket  kbus.o
    0x08002b28   0x00000016   Code   RO          896    i.KLBCC             klink.o
    0x08002b3e   0x00000032   Code   RO          897    i.KLCheckPacket     klink.o
    0x08002b70   0x0000003c   Code   RO          898    i.KLMakeRplyPacket  klink.o
    0x08002bac   0x00000050   Code   RO          899    i.KLParsePacket     klink.o
    0x08002bfc   0x000006d0   Code   RO          900    i.KLParseReqPacket  klink.o
    0x080032cc   0x00000070   Code   RO         1438    i.KMachineInit      kmachine.o
    0x0800333c   0x00000018   Code   RO         1714    i.LL_AHB1_GRP1_EnableClock  bsp.o
    0x08003354   0x00000018   Code   RO         1715    i.LL_APB1_GRP1_EnableClock  bsp.o
    0x0800336c   0x00000018   Code   RO         1716    i.LL_APB1_GRP2_EnableClock  bsp.o
    0x08003384   0x0000002c   Code   RO          251    i.LL_DMA_ConfigAddresses  functions.o
    0x080033b0   0x00000018   Code   RO          252    i.LL_DMA_DisableChannel  functions.o
    0x080033c8   0x00000018   Code   RO          253    i.LL_DMA_EnableChannel  functions.o
    0x080033e0   0x00000018   Code   RO          254    i.LL_DMA_EnableIT_TC  functions.o
    0x080033f8   0x0000001c   Code   RO         1717    i.LL_DMA_SetChannelPriorityLevel  bsp.o
    0x08003414   0x0000001c   Code   RO          255    i.LL_DMA_SetDataLength  functions.o
    0x08003430   0x00000020   Code   RO         1718    i.LL_DMA_SetDataTransferDirection  bsp.o
    0x08003450   0x0000001c   Code   RO         1719    i.LL_DMA_SetMemoryIncMode  bsp.o
    0x0800346c   0x0000001c   Code   RO         1720    i.LL_DMA_SetMemorySize  bsp.o
    0x08003488   0x0000001c   Code   RO         1721    i.LL_DMA_SetMode    bsp.o
    0x080034a4   0x0000001c   Code   RO         1722    i.LL_DMA_SetPeriphIncMode  bsp.o
    0x080034c0   0x0000001c   Code   RO         1723    i.LL_DMA_SetPeriphSize  bsp.o
    0x080034dc   0x000000a4   Code   RO         2193    i.LL_GPIO_Init      stm32f0xx_ll_gpio.o
    0x08003580   0x0000000e   Code   RO         1997    i.LL_GPIO_IsInputPinSet  fp0.o
    0x0800358e   0x00000002   PAD
    0x08003590   0x00000020   Code   RO         3797    i.LL_Init1msTick    stm32f0xx_ll_utils.o
    0x080035b0   0x00000018   Code   RO         2481    i.LL_RCC_GetSystemClocksFreq  stm32f0xx_ll_rcc.o
    0x080035c8   0x00000054   Code   RO         2482    i.LL_RCC_GetUSARTClockFreq  stm32f0xx_ll_rcc.o
    0x0800361c   0x00000064   Code   RO         2367    i.LL_SPI_Init       stm32f0xx_ll_spi.o
    0x08003680   0x00000084   Code   RO         3886    i.LL_TIM_Init       stm32f0xx_ll_tim.o
    0x08003704   0x00000014   Code   RO         1724    i.LL_USART_ConfigAsyncMode  bsp.o
    0x08003718   0x000000ac   Code   RO         2435    i.LL_USART_Init     stm32f0xx_ll_usart.o
    0x080037c4   0x00000020   Code   RO         3802    i.LL_mDelay         stm32f0xx_ll_utils.o
    0x080037e4   0x00000014   Code   RO         1440    i.LoadDefaultSysCfg  kmachine.o
    0x080037f8   0x00000064   Code   RO         1442    i.LoadRunStat       kmachine.o
    0x0800385c   0x00000024   Code   RO           15    i.Locate            debug.o
    0x08003880   0x00000026   Code   RO         1726    i.MX_DMA_Init       bsp.o
    0x080038a6   0x00000002   PAD
    0x080038a8   0x00000134   Code   RO         1727    i.MX_GPIO_Init      bsp.o
    0x080039dc   0x00000034   Code   RO         1728    i.MX_IWDG_Init      bsp.o
    0x08003a10   0x000000cc   Code   RO         1729    i.MX_SPI1_Init      bsp.o
    0x08003adc   0x00000054   Code   RO         1731    i.MX_TIM6_Init      bsp.o
    0x08003b30   0x00000124   Code   RO         1732    i.MX_USART1_UART_Init  bsp.o
    0x08003c54   0x00000158   Code   RO         1733    i.MX_USART2_UART_Init  bsp.o
    0x08003dac   0x00000038   Code   RO         1056    i.ModBusSlaveCheckPkg  modbusrtu.o
    0x08003de4   0x00000320   Code   RO         1057    i.ModBusSlaveParsePkg  modbusrtu.o
    0x08004104   0x00000002   Code   RO         1902    i.NMI_Handler       stm32f0xx_it.o
    0x08004106   0x00000002   PAD
    0x08004108   0x00000014   Code   RO         1734    i.NVIC_EnableIRQ    bsp.o
    0x0800411c   0x00000044   Code   RO         1735    i.NVIC_SetPriority  bsp.o
    0x08004160   0x00000044   Code   RO         3435    i.NVIC_SetPriority  stm32f0xx_hal_cortex.o
    0x080041a4   0x000001a8   Code   RO         1998    i.ParseFP0Pkg       fp0.o
    0x0800434c   0x00000020   Code   RO         1903    i.PendSV_Handler    stm32f0xx_it.o
    0x0800436c   0x00000054   Code   RO          258    i.PendSvCallBack    functions.o
    0x080043c0   0x00000020   Code   RO         1212    i.PopOutVal         plcfunctions.o
    0x080043e0   0x00000560   Code   RO         1213    i.ProcessPLCBinProg  plcfunctions.o
    0x08004940   0x000000cc   Code   RO         1214    i.ProcessTimer      plcfunctions.o
    0x08004a0c   0x00000082   Code   RO         1138    i.PushIn            myqueue.o
    0x08004a8e   0x00000002   PAD
    0x08004a90   0x00000024   Code   RO         1215    i.PushInVal         plcfunctions.o
    0x08004ab4   0x0000001c   Code   RO          261    i.PutStr            functions.o
    0x08004ad0   0x0000001c   Code   RO          262    i.PutStr1           functions.o
    0x08004aec   0x0000000c   Code   RO          263    i.PutStr2           functions.o
    0x08004af8   0x0000001c   Code   RO         2483    i.RCC_GetHCLKClockFreq  stm32f0xx_ll_rcc.o
    0x08004b14   0x00000018   Code   RO         2484    i.RCC_GetPCLK1ClockFreq  stm32f0xx_ll_rcc.o
    0x08004b2c   0x0000002c   Code   RO         2485    i.RCC_GetSystemClockFreq  stm32f0xx_ll_rcc.o
    0x08004b58   0x00000040   Code   RO         2486    i.RCC_PLL_GetFreqDomain_SYS  stm32f0xx_ll_rcc.o
    0x08004b98   0x00000034   Code   RO         1444    i.ReadFlashMem      kmachine.o
    0x08004bcc   0x0000000e   Code   RO          271    i.ReadJumperSW      functions.o
    0x08004bda   0x00000002   PAD
    0x08004bdc   0x00000060   Code   RO         1446    i.ReadSysCfgFromFlash  kmachine.o
    0x08004c3c   0x00000010   Code   RO         1058    i.ResetBit          modbusrtu.o
    0x08004c4c   0x0000004c   Code   RO         1217    i.RunTimer          plcfunctions.o
    0x08004c98   0x00000008   Code   RO         1904    i.SPI1_IRQHandler   stm32f0xx_it.o
    0x08004ca0   0x000000f4   Code   RO          272    i.SPI1_IRQ_CallBack  functions.o
    0x08004d94   0x00000002   Code   RO         1905    i.SVC_Handler       stm32f0xx_it.o
    0x08004d96   0x00000002   PAD
    0x08004d98   0x00000080   Code   RO         1447    i.SaveRunStat       kmachine.o
    0x08004e18   0x0000006c   Code   RO         1999    i.SendFP0Pkg        fp0.o
    0x08004e84   0x00000038   Code   RO          273    i.SendPacket        functions.o
    0x08004ebc   0x00000010   Code   RO         1059    i.SetAddrBit        modbusrtu.o
    0x08004ecc   0x00000018   Code   RO          901    i.SetBitValue       klink.o
    0x08004ee4   0x00000012   Code   RO         1060    i.SetBitValue       modbusrtu.o
    0x08004ef6   0x00000018   Code   RO         1448    i.SetBitValue       kmachine.o
    0x08004f0e   0x00000002   PAD
    0x08004f10   0x00000090   Code   RO         1449    i.SetCoilValue      kmachine.o
    0x08004fa0   0x00000018   Code   RO          274    i.SetErr2Led        functions.o
    0x08004fb8   0x00000018   Code   RO          275    i.SetErrLed         functions.o
    0x08004fd0   0x00000018   Code   RO          276    i.SetOutStat        functions.o
    0x08004fe8   0x00000018   Code   RO          277    i.SetRunLed         functions.o
    0x08005000   0x000000c8   Code   RO         1450    i.SetVarData        kmachine.o
    0x080050c8   0x00000184   Code   RO           18    i.ShowInitInfo      debug.o
    0x0800524c   0x00000070   Code   RO         1219    i.StartPLC          plcfunctions.o
    0x080052bc   0x00000040   Code   RO         1220    i.StopPLC           plcfunctions.o
    0x080052fc   0x00000044   Code   RO         1221    i.StopTimer         plcfunctions.o
    0x08005340   0x0000000c   Code   RO         1906    i.SysTick_Handler   stm32f0xx_it.o
    0x0800534c   0x000000a8   Code   RO         1736    i.SystemClock_Config  bsp.o
    0x080053f4   0x0000005c   Code   RO         2157    i.SystemInit        system_stm32f0xx.o
    0x08005450   0x00000018   Code   RO         1907    i.TIM6_IRQHandler   stm32f0xx_it.o
    0x08005468   0x00000014   Code   RO          279    i.ToggleErrLed      functions.o
    0x0800547c   0x00000014   Code   RO          281    i.ToggleRunLed      functions.o
    0x08005490   0x00000088   Code   RO         1908    i.USART1_IRQHandler  stm32f0xx_it.o
    0x08005518   0x0000004c   Code   RO         1909    i.USART2_IRQHandler  stm32f0xx_it.o
    0x08005564   0x00000020   Code   RO          283    i.Uart1RecvDone     functions.o
    0x08005584   0x00000060   Code   RO          284    i.Uart1SendDMA      functions.o
    0x080055e4   0x00000010   Code   RO          285    i.Uart1SendDone     functions.o
    0x080055f4   0x00000030   Code   RO          286    i.Uart1TriggerSendDMA  functions.o
    0x08005624   0x00000060   Code   RO          287    i.Uart2RecvDMA      functions.o
    0x08005684   0x00000040   Code   RO          288    i.Uart2RecvDone     functions.o
    0x080056c4   0x00000060   Code   RO          289    i.Uart2SendDMA      functions.o
    0x08005724   0x00000010   Code   RO          290    i.Uart2SendDone     functions.o
    0x08005734   0x0000001c   Code   RO         1451    i.WriteFactoryData  kmachine.o
    0x08005750   0x00000040   Code   RO         1452    i.WriteProgram      kmachine.o
    0x08005790   0x0000006c   Code   RO         1453    i.WriteSysCfgToFlash  kmachine.o
    0x080057fc   0x00000048   Code   RO         1454    i.WriteToFlashMemNoErase  kmachine.o
    0x08005844   0x00000002   Code   RO         2078    i._Error_Handler    main.o
    0x08005846   0x00000002   PAD
    0x08005848   0x00000028   Code   RO         4224    i.__0sprintf$8      mc_p.l(printf8.o)
    0x08005870   0x0000001a   Code   RO          825    i.__ARM_common_switch8  kbus.o
    0x0800588a   0x0000000e   Code   RO         4322    i.__scatterload_copy  mc_p.l(handlers.o)
    0x08005898   0x00000002   Code   RO         4323    i.__scatterload_null  mc_p.l(handlers.o)
    0x0800589a   0x0000000e   Code   RO         4324    i.__scatterload_zeroinit  mc_p.l(handlers.o)
    0x080058a8   0x00000428   Code   RO         4229    i._printf_core      mc_p.l(printf8.o)
    0x08005cd0   0x00000020   Code   RO         4230    i._printf_post_padding  mc_p.l(printf8.o)
    0x08005cf0   0x0000002c   Code   RO         4231    i._printf_pre_padding  mc_p.l(printf8.o)
    0x08005d1c   0x0000000a   Code   RO         4233    i._sputc            mc_p.l(printf8.o)
    0x08005d26   0x00000002   PAD
    0x08005d28   0x00000018   Code   RO           20    i.clearscreen       debug.o
    0x08005d40   0x0000003c   Code   RO          294    i.crc16bitbybit     functions.o
    0x08005d7c   0x00000030   Code   RO          295    i.crc16table        functions.o
    0x08005dac   0x00000040   Code   RO         1061    i.crc16tablefast    modbusrtu.o
    0x08005dec   0x0000002c   Code   RO          296    i.crc_check         functions.o
    0x08005e18   0x00000016   Code   RO         1140    i.initQueue         myqueue.o
    0x08005e2e   0x00000002   PAD
    0x08005e30   0x00000024   Code   RO          298    i.logData           functions.o
    0x08005e54   0x0000053c   Code   RO         2079    i.main              main.o
    0x08006390   0x00000010   Data   RO           22    .constdata          debug.o
    0x080063a0   0x00000406   Data   RO          300    .constdata          functions.o
    0x080067a6   0x00000020   Data   RO         1064    .constdata          modbusrtu.o
    0x080067c6   0x00000018   Data   RO         1459    .constdata          kmachine.o
    0x080067de   0x00000002   PAD
    0x080067e0   0x00000090   Data   RO         1460    .constdata          kmachine.o
    0x08006870   0x00000005   Data   RO         1737    .constdata          bsp.o
    0x08006875   0x00000005   Data   RO         1910    .constdata          stm32f0xx_it.o
    0x0800687a   0x00000002   PAD
    0x0800687c   0x00000018   Data   RO         2082    .constdata          main.o
    0x08006894   0x00000010   Data   RO         2158    .constdata          system_stm32f0xx.o
    0x080068a4   0x00000008   Data   RO         2159    .constdata          system_stm32f0xx.o
    0x080068ac   0x00000020   Data   RO         4320    Region$$Table       anon$$obj.o
    0x08001268   0x00000024   Code   RO         4472    .text               mc_p.l(init.o)
    0x0800128c   0x00000020   Code   RO         4475    .text               mc_p.l(llshl.o)
    0x080012ac   0x0000008c   Code   RO         1522    i.AddEventLog       kmachine.o
    0x08001338   0x0000002c   Code   RO         1193    i.AddSpace          myqueue.o
    0x08001364   0x0000006c   Code   RO         1523    i.CheckEventLog     kmachine.o
    0x080013d0   0x00000024   Code   RO         1525    i.ClearEventLog     kmachine.o
    0x080013f4   0x000000a0   Code   RO         2015    i.DMA1_Channel2_3_IRQHandler  stm32f0xx_it.o
    0x08001494   0x00000038   Code   RO         2016    i.DMA1_Channel4_5_IRQHandler  stm32f0xx_it.o
    0x080014cc   0x0000002c   Code   RO         1195    i.DelData           myqueue.o
    0x080014f8   0x00000060   Code   RO         1526    i.EraseAndWriteToFlashMem  kmachine.o
    0x08001558   0x00000024   Code   RO         1527    i.EraseFlashMem     kmachine.o
    0x0800157c   0x0000001e   Code   RO         2204    i.FPxCalBCC         fpx.o
    0x0800159a   0x00000002   PAD
    0x0800159c   0x00000044   Code   RO         2109    i.FPxCallBackFunc   main.o
    0x080015e0   0x000001c4   Code   RO         2206    i.FPxParsePkt       fpx.o
    0x080017a4   0x00000078   Code   RO         2207    i.FPxSendPkt        fpx.o
    0x0800181c   0x00000010   Code   RO         2208    i.FPxSetCallBackFunc  fpx.o
    0x0800182c   0x00000064   Code   RO         2209    i.FPx_Init          fpx.o
    0x08001890   0x00000128   Code   RO         2210    i.FPx_Proc          fpx.o
    0x080019b8   0x00000010   Code   RO         2211    i.FPx_SetIOCount    fpx.o
    0x080019c8   0x00000014   Code   RO         1112    i.GetBitValue       modbusrtu.o
    0x080019dc   0x00000014   Code   RO         1528    i.GetBitValue       kmachine.o
    0x080019f0   0x000000a0   Code   RO         1529    i.GetCoilValue      kmachine.o
    0x08001a90   0x00000026   Code   RO         1197    i.GetContinueData   myqueue.o
    0x08001ab6   0x00000026   Code   RO         1198    i.GetContinueEmptyRoom  myqueue.o
    0x08001adc   0x00000024   Code   RO         1530    i.GetEventLogAddr   kmachine.o
    0x08001b00   0x000000d8   Code   RO         1531    i.GetVarData        kmachine.o
    0x08001bd8   0x0000002c   Code   RO          600    i.GetuS             functions.o
    0x08001c04   0x0000001c   Code   RO         2800    i.HAL_Delay         stm32f0xx_hal.o
    0x08001c20   0x0000000c   Code   RO         2804    i.HAL_GetTick       stm32f0xx_hal.o
    0x08001c2c   0x00000010   Code   RO         2808    i.HAL_IncTick       stm32f0xx_hal.o
    0x08001c3c   0x00000020   Code   RO         2809    i.HAL_Init          stm32f0xx_hal.o
    0x08001c5c   0x00000022   Code   RO         2810    i.HAL_InitTick      stm32f0xx_hal.o
    0x08001c7e   0x00000002   PAD
    0x08001c80   0x00000044   Code   RO         1489    i.HAL_MspInit       stm32f0xx_hal_msp.o
    0x08001cc4   0x00000008   Code   RO         3558    i.HAL_NVIC_SetPriority  stm32f0xx_hal_cortex.o
    0x08001ccc   0x000000ec   Code   RO         2765    i.HAL_RCCEx_PeriphCLKConfig  stm32f0xx_hal_rcc_ex.o
    0x08001db8   0x0000012c   Code   RO         2672    i.HAL_RCC_ClockConfig  stm32f0xx_hal_rcc.o
    0x08001ee4   0x0000000c   Code   RO         2677    i.HAL_RCC_GetHCLKFreq  stm32f0xx_hal_rcc.o
    0x08001ef0   0x00000080   Code   RO         2680    i.HAL_RCC_GetSysClockFreq  stm32f0xx_hal_rcc.o
    0x08001f70   0x00000354   Code   RO         2683    i.HAL_RCC_OscConfig  stm32f0xx_hal_rcc.o
    0x080022c4   0x00000018   Code   RO         3560    i.HAL_SYSTICK_CLKSourceConfig  stm32f0xx_hal_cortex.o
    0x080022dc   0x00000074   Code   RO         2110    i.HAL_SYSTICK_Callback  main.o
    0x08002350   0x00000030   Code   RO         3562    i.HAL_SYSTICK_Config  stm32f0xx_hal_cortex.o
    0x08002380   0x00000008   Code   RO         3563    i.HAL_SYSTICK_IRQHandler  stm32f0xx_hal_cortex.o
    0x08002388   0x00000002   Code   RO         2017    i.HardFault_Handler  stm32f0xx_it.o
    0x0800238a   0x00000002   PAD
    0x0800238c   0x0000004c   Code   RO         1272    i.InitPLC           plcfunctions.o
    0x080023d8   0x00000040   Code   RO         1273    i.InitTimer         plcfunctions.o
    0x08002418   0x0000001e   Code   RO          248    i.InitUartstat      functions.o
    0x08002436   0x00000002   PAD
    0x08002438   0x00000054   Code   RO          249    i.InituS            functions.o
    0x0800248c   0x0000006c   Code   RO          749    i.KBusAddChildAddrByInfo  kbus.o
    0x080024f8   0x00000016   Code   RO          750    i.KBusBCC           kbus.o
    0x0800250e   0x00000002   PAD
    0x08002510   0x00000054   Code   RO         2112    i.KBusCallBackFunc  main.o
    0x08002564   0x00000104   Code   RO          751    i.KBusCheckPacket   kbus.o
    0x08002668   0x00000058   Code   RO          753    i.KBusInit          kbus.o
    0x080026c0   0x00000028   Code   RO          755    i.KBusMakeDefaultClildInfo  kbus.o
    0x080026e8   0x0000008a   Code   RO          756    i.KBusMakePacket    kbus.o
    0x08002772   0x00000002   PAD
    0x08002774   0x000001c4   Code   RO          757    i.KBusMasterFunc    kbus.o
    0x08002938   0x00000114   Code   RO          758    i.KBusMasterParsePacket  kbus.o
    0x08002a4c   0x00000080   Code   RO          759    i.KBusParsePacket   kbus.o
    0x08002acc   0x0000008c   Code   RO          761    i.KBusSearchChild   kbus.o
    0x08002b58   0x00000010   Code   RO          762    i.KBusSetCallBackFunc  kbus.o
    0x08002b68   0x00000090   Code   RO          763    i.KBusSlaveCheckPacket  kbus.o
    0x08002bf8   0x00000060   Code   RO          764    i.KBusSlaveFunc     kbus.o
    0x08002c58   0x000001e0   Code   RO          765    i.KBusSlaveParsePacket  kbus.o
    0x08002e38   0x00000016   Code   RO          951    i.KLBCC             klink.o
    0x08002e4e   0x00000032   Code   RO          952    i.KLCheckPacket     klink.o
    0x08002e80   0x0000004c   Code   RO          953    i.KLMakeRplyPacket  klink.o
    0x08002ecc   0x00000050   Code   RO          954    i.KLParsePacket     klink.o
    0x08002f1c   0x00000760   Code   RO          955    i.KLParseReqPacket  klink.o
    0x0800367c   0x00000070   Code   RO         1532    i.KMachineInit      kmachine.o
    0x080036ec   0x00000018   Code   RO         1830    i.LL_AHB1_GRP1_EnableClock  bsp.o
    0x08003704   0x00000018   Code   RO         1831    i.LL_APB1_GRP1_EnableClock  bsp.o
    0x0800371c   0x00000018   Code   RO         1832    i.LL_APB1_GRP2_EnableClock  bsp.o
    0x08003734   0x0000002c   Code   RO          254    i.LL_DMA_ConfigAddresses  functions.o
    0x08003760   0x00000018   Code   RO          255    i.LL_DMA_DisableChannel  functions.o
    0x08003778   0x00000018   Code   RO          256    i.LL_DMA_EnableChannel  functions.o
    0x08003790   0x00000018   Code   RO          257    i.LL_DMA_EnableIT_TC  functions.o
    0x080037a8   0x0000001c   Code   RO         1833    i.LL_DMA_SetChannelPriorityLevel  bsp.o
    0x080037c4   0x0000001c   Code   RO          258    i.LL_DMA_SetDataLength  functions.o
    0x080037e0   0x00000020   Code   RO         1834    i.LL_DMA_SetDataTransferDirection  bsp.o
    0x08003800   0x0000001c   Code   RO         1835    i.LL_DMA_SetMemoryIncMode  bsp.o
    0x0800381c   0x0000001c   Code   RO         1836    i.LL_DMA_SetMemorySize  bsp.o
    0x08003838   0x0000001c   Code   RO         1837    i.LL_DMA_SetMode    bsp.o
    0x08003854   0x0000001c   Code   RO         1838    i.LL_DMA_SetPeriphIncMode  bsp.o
    0x08003870   0x0000001c   Code   RO         1839    i.LL_DMA_SetPeriphSize  bsp.o
    0x0800388c   0x00000068   Code   RO         4129    i.LL_FLASH_Program  stm32f0xx_ll_flash.o
    0x080038f4   0x00000050   Code   RO         4130    i.LL_Flash_PageErase  stm32f0xx_ll_flash.o
    0x08003944   0x0000002c   Code   RO         4131    i.LL_Flash_Unlock   stm32f0xx_ll_flash.o
    0x08003970   0x000000a4   Code   RO         2322    i.LL_GPIO_Init      stm32f0xx_ll_gpio.o
    0x08003a14   0x0000000e   Code   RO         2212    i.LL_GPIO_IsInputPinSet  fpx.o
    0x08003a22   0x00000018   Code   RO         2610    i.LL_RCC_GetSystemClocksFreq  stm32f0xx_ll_rcc.o
    0x08003a3a   0x00000002   PAD
    0x08003a3c   0x00000054   Code   RO         2611    i.LL_RCC_GetUSARTClockFreq  stm32f0xx_ll_rcc.o
    0x08003a90   0x00000064   Code   RO         2496    i.LL_SPI_Init       stm32f0xx_ll_spi.o
    0x08003af4   0x00000084   Code   RO         4015    i.LL_TIM_Init       stm32f0xx_ll_tim.o
    0x08003b78   0x00000014   Code   RO         1840    i.LL_USART_ConfigAsyncMode  bsp.o
    0x08003b8c   0x000000ac   Code   RO         2564    i.LL_USART_Init     stm32f0xx_ll_usart.o
    0x08003c38   0x00000014   Code   RO         1534    i.LoadDefaultSysCfg  kmachine.o
    0x08003c4c   0x00000064   Code   RO         1536    i.LoadRunStat       kmachine.o
    0x08003cb0   0x00000024   Code   RO           15    i.Locate            debug.o
    0x08003cd4   0x00000026   Code   RO         1842    i.MX_DMA_Init       bsp.o
    0x08003cfa   0x00000002   PAD
    0x08003cfc   0x00000134   Code   RO         1843    i.MX_GPIO_Init      bsp.o
    0x08003e30   0x00000034   Code   RO         1844    i.MX_IWDG_Init      bsp.o
    0x08003e64   0x000000cc   Code   RO         1845    i.MX_SPI1_Init      bsp.o
    0x08003f30   0x00000054   Code   RO         1847    i.MX_TIM6_Init      bsp.o
    0x08003f84   0x00000124   Code   RO         1848    i.MX_USART1_UART_Init  bsp.o
    0x080040a8   0x00000158   Code   RO         1849    i.MX_USART2_UART_Init  bsp.o
    0x08004200   0x00000038   Code   RO         1114    i.ModBusSlaveCheckPkg  modbusrtu.o
    0x08004238   0x00000320   Code   RO         1115    i.ModBusSlaveParsePkg  modbusrtu.o
    0x08004558   0x00000002   Code   RO         2018    i.NMI_Handler       stm32f0xx_it.o
    0x0800455a   0x00000002   PAD
    0x0800455c   0x00000014   Code   RO         1850    i.NVIC_EnableIRQ    bsp.o
    0x08004570   0x00000044   Code   RO         1851    i.NVIC_SetPriority  bsp.o
    0x080045b4   0x00000044   Code   RO         3564    i.NVIC_SetPriority  stm32f0xx_hal_cortex.o
    0x080045f8   0x00000020   Code   RO         2019    i.PendSV_Handler    stm32f0xx_it.o
    0x08004618   0x0000004c   Code   RO          261    i.PendSvCallBack    functions.o
    0x08004664   0x00000020   Code   RO         1275    i.PopOutVal         plcfunctions.o
    0x08004684   0x00000560   Code   RO         1276    i.ProcessPLCBinProg  plcfunctions.o
    0x08004be4   0x000000cc   Code   RO         1277    i.ProcessTimer      plcfunctions.o
    0x08004cb0   0x00000082   Code   RO         1201    i.PushIn            myqueue.o
    0x08004d32   0x00000002   PAD
    0x08004d34   0x00000024   Code   RO         1278    i.PushInVal         plcfunctions.o
    0x08004d58   0x0000001c   Code   RO          264    i.PutStr            functions.o
    0x08004d74   0x0000001c   Code   RO          265    i.PutStr1           functions.o
    0x08004d90   0x0000000c   Code   RO          266    i.PutStr2           functions.o
    0x08004d9c   0x0000001c   Code   RO         2612    i.RCC_GetHCLKClockFreq  stm32f0xx_ll_rcc.o
    0x08004db8   0x00000018   Code   RO         2613    i.RCC_GetPCLK1ClockFreq  stm32f0xx_ll_rcc.o
    0x08004dd0   0x0000002c   Code   RO         2614    i.RCC_GetSystemClockFreq  stm32f0xx_ll_rcc.o
    0x08004dfc   0x00000040   Code   RO         2615    i.RCC_PLL_GetFreqDomain_SYS  stm32f0xx_ll_rcc.o
    0x08004e3c   0x00000034   Code   RO         1538    i.ReadFlashMem      kmachine.o
    0x08004e70   0x0000000e   Code   RO          274    i.ReadJumperSW      functions.o
    0x08004e7e   0x00000002   PAD
    0x08004e80   0x00000060   Code   RO         1540    i.ReadSysCfgFromFlash  kmachine.o
    0x08004ee0   0x00000010   Code   RO         1116    i.ResetBit          modbusrtu.o
    0x08004ef0   0x0000004c   Code   RO         1280    i.RunTimer          plcfunctions.o
    0x08004f3c   0x00000008   Code   RO         2020    i.SPI1_IRQHandler   stm32f0xx_it.o
    0x08004f44   0x000000c0   Code   RO          275    i.SPI1_IRQ_CallBack  functions.o
    0x08005004   0x00000002   Code   RO         2021    i.SVC_Handler       stm32f0xx_it.o
    0x08005006   0x00000002   PAD
    0x08005008   0x00000080   Code   RO         1541    i.SaveRunStat       kmachine.o
    0x08005088   0x00000038   Code   RO          276    i.SendPacket        functions.o
    0x080050c0   0x00000010   Code   RO         1117    i.SetAddrBit        modbusrtu.o
    0x080050d0   0x00000018   Code   RO          956    i.SetBitValue       klink.o
    0x080050e8   0x00000012   Code   RO         1118    i.SetBitValue       modbusrtu.o
    0x080050fa   0x00000018   Code   RO         1542    i.SetBitValue       kmachine.o
    0x08005112   0x00000002   PAD
    0x08005114   0x00000090   Code   RO         1543    i.SetCoilValue      kmachine.o
    0x080051a4   0x00000018   Code   RO          277    i.SetErr2Led        functions.o
    0x080051bc   0x00000018   Code   RO          278    i.SetErrLed         functions.o
    0x080051d4   0x00000018   Code   RO          279    i.SetOutStat        functions.o
    0x080051ec   0x00000018   Code   RO          280    i.SetRunLed         functions.o
    0x08005204   0x000000c8   Code   RO         1544    i.SetVarData        kmachine.o
    0x080052cc   0x00000184   Code   RO           18    i.ShowInitInfo      debug.o
    0x08005450   0x00000070   Code   RO         1282    i.StartPLC          plcfunctions.o
    0x080054c0   0x00000040   Code   RO         1283    i.StopPLC           plcfunctions.o
    0x08005500   0x00000044   Code   RO         1284    i.StopTimer         plcfunctions.o
    0x08005544   0x0000000c   Code   RO         2022    i.SysTick_Handler   stm32f0xx_it.o
    0x08005550   0x000000a8   Code   RO         1852    i.SystemClock_Config  bsp.o
    0x080055f8   0x0000005c   Code   RO         2286    i.SystemInit        system_stm32f0xx.o
    0x08005654   0x00000018   Code   RO         2023    i.TIM6_IRQHandler   stm32f0xx_it.o
    0x0800566c   0x00000088   Code   RO         2024    i.USART1_IRQHandler  stm32f0xx_it.o
    0x080056f4   0x0000004c   Code   RO         2025    i.USART2_IRQHandler  stm32f0xx_it.o
    0x08005740   0x00000020   Code   RO          286    i.Uart1RecvDone     functions.o
    0x08005760   0x00000060   Code   RO          287    i.Uart1SendDMA      functions.o
    0x080057c0   0x00000010   Code   RO          288    i.Uart1SendDone     functions.o
    0x080057d0   0x00000030   Code   RO          289    i.Uart1TriggerSendDMA  functions.o
    0x08005800   0x00000060   Code   RO          290    i.Uart2RecvDMA      functions.o
    0x08005860   0x00000040   Code   RO          291    i.Uart2RecvDone     functions.o
    0x080058a0   0x00000060   Code   RO          292    i.Uart2SendDMA      functions.o
    0x08005900   0x00000010   Code   RO          293    i.Uart2SendDone     functions.o
    0x08005910   0x0000001c   Code   RO         1545    i.WriteFactoryData  kmachine.o
    0x0800592c   0x00000020   Code   RO         1546    i.WriteNewApp       kmachine.o
    0x0800594c   0x00000014   Code   RO         1547    i.WriteNewAppInfo   kmachine.o
    0x08005960   0x00000040   Code   RO         1548    i.WriteProgram      kmachine.o
    0x080059a0   0x0000006c   Code   RO         1549    i.WriteSysCfgToFlash  kmachine.o
    0x08005a0c   0x00000050   Code   RO         1550    i.WriteToFlashMemNoErase  kmachine.o
    0x08005a5c   0x00000002   Code   RO         2113    i._Error_Handler    main.o
    0x08005a5e   0x00000002   PAD
    0x08005a60   0x00000028   Code   RO         4388    i.__0sprintf$8      mc_p.l(printf8.o)
    0x08005a88   0x0000001a   Code   RO         1170    i.__ARM_common_switch8  modbusrtu.o
    0x08005aa2   0x0000000e   Code   RO         4486    i.__scatterload_copy  mc_p.l(handlers.o)
    0x08005ab0   0x00000002   Code   RO         4487    i.__scatterload_null  mc_p.l(handlers.o)
    0x08005ab2   0x0000000e   Code   RO         4488    i.__scatterload_zeroinit  mc_p.l(handlers.o)
    0x08005ac0   0x00000428   Code   RO         4393    i._printf_core      mc_p.l(printf8.o)
    0x08005ee8   0x00000020   Code   RO         4394    i._printf_post_padding  mc_p.l(printf8.o)
    0x08005f08   0x0000002c   Code   RO         4395    i._printf_pre_padding  mc_p.l(printf8.o)
    0x08005f34   0x0000000a   Code   RO         4397    i._sputc            mc_p.l(printf8.o)
    0x08005f3e   0x00000002   PAD
    0x08005f40   0x00000018   Code   RO           20    i.clearscreen       debug.o
    0x08005f58   0x0000003c   Code   RO          297    i.crc16bitbybit     functions.o
    0x08005f94   0x00000030   Code   RO          298    i.crc16table        functions.o
    0x08005fc4   0x00000040   Code   RO         1119    i.crc16tablefast    modbusrtu.o
    0x08006004   0x0000002c   Code   RO          299    i.crc_check         functions.o
    0x08006030   0x00000016   Code   RO         1203    i.initQueue         myqueue.o
    0x08006046   0x00000002   PAD
    0x08006048   0x00000024   Code   RO          301    i.logData           functions.o
    0x0800606c   0x000004dc   Code   RO         2114    i.main              main.o
    0x08006548   0x00000010   Data   RO           22    .constdata          debug.o
    0x08006558   0x00000406   Data   RO          304    .constdata          functions.o
    0x0800695e   0x00000020   Data   RO         1122    .constdata          modbusrtu.o
    0x0800697e   0x00000018   Data   RO         1555    .constdata          kmachine.o
    0x08006996   0x00000002   PAD
    0x08006998   0x00000090   Data   RO         1556    .constdata          kmachine.o
    0x08006a28   0x00000005   Data   RO         1853    .constdata          bsp.o
    0x08006a2d   0x00000005   Data   RO         2026    .constdata          stm32f0xx_it.o
    0x08006a32   0x00000002   PAD
    0x08006a34   0x00000018   Data   RO         2117    .constdata          main.o
    0x08006a4c   0x00000010   Data   RO         2287    .constdata          system_stm32f0xx.o
    0x08006a5c   0x00000008   Data   RO         2288    .constdata          system_stm32f0xx.o
    0x08006a64   0x00000020   Data   RO         4484    Region$$Table       anon$$obj.o
    Execution Region RW_IRAM1 (Base: 0x200000c0, Size: 0x00001b40, Max: 0x00001f40, ABSOLUTE)
    Execution Region RW_IRAM1 (Base: 0x200000c0, Size: 0x00001ea8, Max: 0x00001f40, ABSOLUTE)
    Base Addr    Size         Type   Attr      Idx    E Section Name        Object
    0x200000c0   0x00000014   Data   RW           24    .data               debug.o
    0x200000d4   0x00000004   Data   RW          303    .data               functions.o
    0x200000d8   0x00000018   Data   RW          304    .data               functions.o
    0x200000f0   0x00000004   Data   RW          718    .data               globaldef.o
    0x200000f4   0x00000004   Data   RW          719    .data               globaldef.o
    0x200000f8   0x00000004   Data   RW          720    .data               globaldef.o
    0x200000fc   0x00000004   Data   RW          721    .data               globaldef.o
    0x200000c0   0x00000018   Data   RW           24    .data               debug.o
    0x200000d8   0x00000004   Data   RW          307    .data               functions.o
    0x200000dc   0x00000020   Data   RW          308    .data               functions.o
    0x200000fc   0x00000004   Data   RW          722    .data               globaldef.o
    0x20000100   0x00000004   Data   RW          723    .data               globaldef.o
    0x20000104   0x00000004   Data   RW          725    .data               globaldef.o
    0x20000108   0x00000004   Data   RW          726    .data               globaldef.o
    0x2000010c   0x00000038   Data   RW          758    .data               kbus.o
    0x20000144   0x0000000c   Data   RW          905    .data               klink.o
    0x20000150   0x00000001   Data   RW         1065    .data               modbusrtu.o
    0x20000151   0x00000003   PAD
    0x20000154   0x00000004   Data   RW         1224    .data               plcfunctions.o
    0x20000158   0x00000024   Data   RW         1461    .data               kmachine.o
    0x2000017c   0x00000018   Data   RW         2005    .data               fp0.o
    0x20000194   0x00000001   Data   RW         2007    .data               fp0.o
    0x20000195   0x00000001   Data   RW         2008    .data               fp0.o
    0x20000196   0x00000001   Data   RW         2009    .data               fp0.o
    0x20000197   0x00000001   PAD
    0x20000198   0x00000028   Data   RW         2083    .data               main.o
    0x200001c0   0x00000004   Data   RW         2160    .data               system_stm32f0xx.o
    0x200001c4   0x00000004   Data   RW         2686    .data               stm32f0xx_hal.o
    0x200001c8   0x00000100   Zero   RW           21    .bss                debug.o
    0x200002c8   0x00000094   Zero   RW          712    .bss                globaldef.o
    0x2000035c   0x00000094   Zero   RW          713    .bss                globaldef.o
    0x200003f0   0x00000080   Zero   RW          714    .bss                globaldef.o
    0x20000470   0x00000080   Zero   RW          716    .bss                globaldef.o
    0x200004f0   0x000004a0   Zero   RW          755    .bss                kbus.o
    0x20000990   0x00000110   Zero   RW          903    .bss                klink.o
    0x20000aa0   0x00000080   Zero   RW         1063    .bss                modbusrtu.o
    0x20000b20   0x00000208   Zero   RW         1222    .bss                plcfunctions.o
    0x20000d28   0x00000080   Zero   RW         1457    .bss                kmachine.o
    0x20000da8   0x000007d4   Zero   RW         1458    .bss                kmachine.o
    0x2000157c   0x00000040   Zero   RW         2001    .bss                fp0.o
    0x200015bc   0x00000020   Zero   RW         2002    .bss                fp0.o
    0x200015dc   0x00000204   Zero   RW         2080    .bss                main.o
    0x200017e0   0x00000020   Zero   RW         3631    .bss                stm32f0xx_hal_flash.o
    0x20001800   0x00000400   Zero   RW            1    STACK               startup_stm32f030x8.o
    0x20000104   0x00000004   Data   RW          724    .data               globaldef.o
    0x20000108   0x00000004   Data   RW          725    .data               globaldef.o
    0x2000010c   0x00000004   Data   RW          727    .data               globaldef.o
    0x20000110   0x00000004   Data   RW          729    .data               globaldef.o
    0x20000114   0x00000004   Data   RW          730    .data               globaldef.o
    0x20000118   0x00000034   Data   RW          770    .data               kbus.o
    0x2000014c   0x00000004   Data   RW          772    .data               kbus.o
    0x20000150   0x0000000c   Data   RW          960    .data               klink.o
    0x2000015c   0x00000001   Data   RW         1123    .data               modbusrtu.o
    0x2000015d   0x00000003   PAD
    0x20000160   0x00000004   Data   RW         1287    .data               plcfunctions.o
    0x20000164   0x00000024   Data   RW         1557    .data               kmachine.o
    0x20000188   0x00000028   Data   RW         2118    .data               main.o
    0x200001b0   0x00000004   Data   RW         2289    .data               system_stm32f0xx.o
    0x200001b4   0x00000004   Data   RW         2815    .data               stm32f0xx_hal.o
    0x200001b8   0x00000120   Zero   RW           21    .bss                debug.o
    0x200002d8   0x00000080   Zero   RW          303    .bss                functions.o
    0x20000358   0x00000094   Zero   RW          716    .bss                globaldef.o
    0x200003ec   0x00000094   Zero   RW          717    .bss                globaldef.o
    0x20000480   0x00000080   Zero   RW          718    .bss                globaldef.o
    0x20000500   0x00000080   Zero   RW          720    .bss                globaldef.o
    0x20000580   0x00000758   Zero   RW          768    .bss                kbus.o
    0x20000cd8   0x00000110   Zero   RW          958    .bss                klink.o
    0x20000de8   0x00000080   Zero   RW         1121    .bss                modbusrtu.o
    0x20000e68   0x00000208   Zero   RW         1285    .bss                plcfunctions.o
    0x20001070   0x00000080   Zero   RW         1553    .bss                kmachine.o
    0x200010f0   0x000007d4   Zero   RW         1554    .bss                kmachine.o
    0x200018c4   0x00000204   Zero   RW         2115    .bss                main.o
    0x20001ac8   0x0000009c   Zero   RW         2213    .bss                fpx.o
    0x20001b64   0x00000004   PAD
    0x20001b68   0x00000400   Zero   RW            1    STACK               startup_stm32f030x8.o
==============================================================================
@@ -2600,38 +2622,36 @@
      Code (inc. data)   RO Data    RW Data    ZI Data      Debug   Object Name
      1870        184          5          0          0      82975   bsp.o
       452        162         16         20        256     267019   debug.o
       904         88          0         27         96      20068   fp0.o
      1556        324       1030         28          0     240243   functions.o
       452        162         16         24        288     266384   debug.o
      1044        124          0          0        156      20932   fpx.o
      1456        274       1030         36        128     240218   functions.o
         0          0          0         28        552       2525   globaldef.o
      1902        180          0         56       1184      13887   kbus.o
      1980        112          0         12        272      11173   klink.o
      1966        226        168         36       2132      28954   kmachine.o
      1458        232         24         40        516      60567   main.o
       990         44         32          1        128       9041   modbusrtu.o
      2388        160          0         56       1880      16047   kbus.o
      2140        106          0         12        272     201231   klink.o
      2056        248        168         36       2132     202670   kmachine.o
      1514        254         24         40        516      61836   main.o
      1016         44         32          1        128       9113   modbusrtu.o
       316          0          0          0          0       5527   myqueue.o
      2108        204          0          4        520      16362   plcfunctions.o
      2108        204          0          4        520      24057   plcfunctions.o
        28          8        180          0       1024        628   startup_stm32f030x8.o
       122         18          0          4          0       3635   stm32f0xx_hal.o
       156         22          0          0          0       9451   stm32f0xx_hal_cortex.o
       348         54          0          0         32       4754   stm32f0xx_hal_flash.o
       232         30          0          0          0       3081   stm32f0xx_hal_flash_ex.o
        68          4          0          0          0      12850   stm32f0xx_hal_msp.o
      1292         88          0          0          0       4486   stm32f0xx_hal_rcc.o
       236         14          0          0          0       1420   stm32f0xx_hal_rcc_ex.o
       510         74          5          0          0      55105   stm32f0xx_it.o
       228         22          0          0          0       5154   stm32f0xx_ll_flash.o
       164          0          0          0          0       6711   stm32f0xx_ll_gpio.o
       268         52          0          0          0      16728   stm32f0xx_ll_rcc.o
       100          8          0          0          0      11270   stm32f0xx_ll_spi.o
       132         24          0          0          0      30594   stm32f0xx_ll_tim.o
       172         16          0          0          0      16964   stm32f0xx_ll_usart.o
        64         10          0          0          0       5485   stm32f0xx_ll_utils.o
        92         14         24          4          0       1179   system_stm32f0xx.o
    ----------------------------------------------------------------------
     19518       2192       1520        264       6712     942682   Object Totals
     19958       2124       1520        248       7600    1309690   Object Totals
         0          0         32          0          0          0   (incl. Generated)
        32          0          4          4          0          0   (incl. Padding)
        30          0          4          3          4          0   (incl. Padding)
    ----------------------------------------------------------------------
@@ -2678,15 +2698,15 @@
      Code (inc. data)   RO Data    RW Data    ZI Data      Debug   
     21212       2256       1520        264       6712     935798   Grand Totals
     21212       2256       1520        264       6712     935798   ELF Image Totals
     21212       2256       1520        264          0          0   ROM Totals
     21652       2188       1520        248       7600    1302762   Grand Totals
     21652       2188       1520        248       7600    1302762   ELF Image Totals
     21652       2188       1520        248          0          0   ROM Totals
==============================================================================
    Total RO  Size (Code + RO Data)                22732 (  22.20kB)
    Total RW  Size (RW Data + ZI Data)              6976 (   6.81kB)
    Total ROM Size (Code + RO Data + RW Data)      22996 (  22.46kB)
    Total RO  Size (Code + RO Data)                23172 (  22.63kB)
    Total RW  Size (RW Data + ZI Data)              7848 (   7.66kB)
    Total ROM Size (Code + RO Data + RW Data)      23420 (  22.87kB)
==============================================================================
C8T6_TestApp1/MDK-ARM/RTE/_F030C8T6_TestApp1/RTE_Components.h
@@ -3,7 +3,7 @@
 * Auto generated Run-Time-Environment Component Configuration File
 *      *** Do not modify ! ***
 *
 * Project: 'F030C8T6_TestApp1'
 * Project: 'F030C8T6_Ext_FPx_New'
 * Target:  'F030C8T6_TestApp1' 
 */
C8T6_TestApp1/Src/BoardType.c
@@ -0,0 +1,34 @@
#include "BoardType.h"
#include "KBusDefine.h"
const stDeviceInfo MyDeviceInfo={
        (BOARD_TYPE<<8) + BOARD_VER,            //nDeviceTypeVer //    unsigned short ClientType;        // 子机类型
        0x0109,            //ProgVer                    //    unsigned short ClientVer;            // 子机版本
        DINPUT,                                                //    unsigned char InBitCount;            // 输入开关量数量
        DOUTPUT,                                            //    unsigned char OutBitCount;        // 输出开关量数量
        0,                                //    unsigned char InDWCount;            // 输入数据字数
        0,                                //    unsigned char OutDWCount;            // 输出数据字数
        0,                                //    unsigned char AIWCount;                // 输入模拟量通道(字)数    // 16位为一个字(通道)
        0,                                //    unsigned char AQWCount;                // 输出模拟量通道(字)数    // 16位为一个字(通道)
//    0,                                //    unsigned char AIBits;                    //  每通道位数        // 16位以下
//    0,                                //    unsigned char AQbits;                    //    每通道位数        // 16位以下
};
const stExDeviceInfo MyExDeviceInfo ={
        (BOARD_TYPE<<8) + BOARD_VER,            //nDeviceTypeVer //    unsigned short ClientType;        // 子机类型
        0x0109,            //ProgVer                    //    unsigned short ClientVer;            // 子机版本
        DINPUT,                                                //    unsigned char InBitCount;            // 输入开关量数量
        DOUTPUT,                                            //    unsigned char OutBitCount;        // 输出开关量数量
        0,                                //    unsigned char InDWCount;            // 输入数据字数
        0,                                //    unsigned char OutDWCount;            // 输出数据字数
        0,                                //    unsigned char AIWCount;                // 输入模拟量通道(字)数    // 16位为一个字(通道)
        0,                                //    unsigned char AQWCount;                // 输出模拟量通道(字)数    // 16位为一个字(通道)
//    0,                                //    unsigned char AIBits;                    //  每通道位数        // 16位以下
//    0,                                //    unsigned char AQbits;                    //    每通道位数        // 16位以下
};
C8T6_TestApp1/Src/FP0.c
File was deleted
C8T6_TestApp1/Src/FPx.c
New file
@@ -0,0 +1,304 @@
/**
  ******************************************************************************
  * @file           : FPx.c
  * @brief          : FPx funcstions program body
  ******************************************************************************
    */
#include "globaldef.h"
#include "FPx.h"
#include "string.h"
#include "functions.h"
// uint8_t PktBuf1[64];
uint8_t PktBuf2[64];
uint8_t PktLen1=0;
uint8_t PktLen2=0;
/*
uint8_t bReceiving;
uint8_t nReceivedLen;
uint8_t bSending;
uint8_t bSentLen;
uint8_t bConfiged=0;
uint8_t nConfigStationId=0;
uint8_t nInputBytes=8;
uint8_t nOutputBytes=8;
uint8_t nIndex=0;
volatile uint8_t oldSYN=0;
int RSTCount0;
uint8_t bFirstReq = 0;
FPxCBFuncDef FPxCBFunc;
uint8_t bFPxCallBackFuncSet = 0;
*/
stFPxStat FPxStat;
stFPxMem FPxMem;
uint8_t FPx_Init(int nChilds)
{
    bSPI1Sending=0;
    bSPI1Recving=0;
    if (nChilds==0) {
    FPxStat.nInputBytes=1;        //根据子机数量,报告扩展容量
    FPxStat.nOutputBytes=1;
    } else if (nChilds ==1) {
        FPxStat.nInputBytes=3;        //只有一个子机也分配一个完整DT
        FPxStat.nOutputBytes=2;
    } else
    {
        FPxStat.nInputBytes=nChilds+1;        //根据子机数量,报告扩展容量
        FPxStat.nOutputBytes=nChilds;
    }
    SetACKPin_0();
    SetACKPin_0();
    SetFPxDEPin_0();
        HAL_Delay(10);
    FPxStat.RSTCount0=GetuS();
    return 0;
}
uint8_t FPx_SetIOCount(int nInputBytes, int nOutputBytes)
{
        FPxStat.nInputBytes=nInputBytes;        //设置扩展容量,字节单位
        FPxStat.nOutputBytes=nOutputBytes;
    return 0;
}
int FPxSetCallBackFunc(FPxCBFuncDef func1)
{
    FPxStat.FPxCBFunc = func1;
    FPxStat.bFPxCallBackFuncSet = 1;
    return 0;
}
uint8_t FPx_Proc()
{
        uchar CurRST=GetRSTPin();
        uchar CurSEL=GetSELPin();
        uchar CurSYN=GetSYNPin();
        uchar CurACK=GetACKPin();
        uchar CurOE=GetOEPin();
//        KMem.WY[4]=CurRST;
//        KMem.WY[5]=CurSEL;
//        KMem.WY[6]=CurSYN;
//        KMem.WY[7]=CurACK;
        if (CurOE) {
            for (int j=0;j<FPxStat.nOutputBytes;j++)
                {
                    FPxMem.WLYB[j]=0;
                }
                if (FPxStat.bFPxCallBackFuncSet) FPxStat.FPxCBFunc(evFPxStateChange,0,0);
                if (FPxStat.bFPxCallBackFuncSet) FPxStat.FPxCBFunc(evFPxDataUpdate,0,0);
            }
        if (!CurRST) {FPxStat.RSTCount0=GetuS();}
        if (!FPxStat.bFirstReq && CurRST)
        {
            int RSTCount = GetuS() - FPxStat.RSTCount0 ;
            if (RSTCount>=10000)
            {
                SetACKPin_1();
                FPxStat.bFirstReq=1;
            //    RSTCount=0;
        //    bSPI1Recving=1;
        //        KMem.WX[7]=RSTCount/1000;
            }
        }
    if (CurSYN ==0 && FPxStat.oldSYN != 0) {
        KMem.WDT[121] =    KMem.WDT[122];
        KMem.WDT[122]=0;
        }
    if (CurSEL && CurSYN !=0 && FPxStat.oldSYN == 0){
                bSPI1Recving=1;
                nSPI1RecvPos=0;
            LL_SPI_Disable(SPI2);
                nSPI1RecvPos=0;
                LL_SPI_Enable(SPI2);
        }
    if (CurSEL && CurSYN && !bSPI1Sending && !bSPI1Recving)
    {
                bSPI1Recving=1;
                nSPI1RecvPos=0;
    }
    if (CurSYN == 0){
        bSPI1Recving=0;
      nSPI1RecvPos=0;
    }
        FPxStat.oldSYN=CurSYN;
/*
        if (bSPI1RecvDone)
        {
            bSPI1RecvDone=0;
            ParsePkt(SPI1RecvBuf,nSPI1RecvLenInBuf);
        }
// */
    return 0;
}
uint8_t FPxCalBCC(uint8_t* pBuf, uint8_t len1)
{
    uint8_t BCC=0;
    for (int i=0;i<len1;i++)
    {
        BCC+=pBuf[i]&0x0f;
    }
    BCC&=0x0f;
    return BCC;
}
uint8_t FPxChecPkt(uint8_t * pBuf, uint8_t len1)
{
    uint8_t res=0;
    return res;
}
uint8_t FPxParsePkt(uint8_t * pBuf, uint8_t len1)
{
    uint8_t res=0;
    uint8_t nST=pBuf[0];
    uint8_t nCMD=nST&0x7;
    uint8_t nStationID=nST&0xf8;
    logData(0xff);
    if (nStationID<0x80) return 0;
    switch (nCMD)
    {
        case CMD_0_QUERY:
            if (!FPxStat.bConfiged || (FPxStat.bConfiged && nStationID == FPxStat.nConfigStationId))
        {
             KMem.WDT[8]++;
            pFPxQuRplyPkt p1 = (pFPxQuRplyPkt)PktBuf2;
            p1->Hdr1=nST;
            p1->nInputBytes=0x30|FPxStat.nInputBytes;
            p1->nOutputBytes=0x30|FPxStat.nOutputBytes;
            p1->nParam1=0x30|0x05;
            p1->nBCC= 0x30|FPxCalBCC(PktBuf2,4);
            p1->End1=0x0d;
            logData(0x11);
            FPxSendPkt(PktBuf2,sizeof(stFPxQuRplyPkt));
            FPxStat.nConfigStationId=nStationID;
            FPxStat.bConfiged=1;
                if (FPxStat.bFPxCallBackFuncSet) FPxStat.FPxCBFunc(evFPxStateChange,0,0);
        }
        bSPI1Recving=1;
            break;
        case CMD_1:
            KMem.WDT[9]++;
//            bSPI1Recving=1;
            break;
        case CMD_2:
            KMem.WDT[10]++;
//            bSPI1Recving=1;
            break;
        case CMD_3_EXCHG:
            if (!FPxStat.bConfiged || FPxStat.nConfigStationId != nStationID)
            {
                bSPI1Recving=1;
                break;
            }
             KMem.WDT[11]++;
        {
            for (int j=0;j<FPxStat.nOutputBytes;j++)
            {
                FPxMem.WLYB[j]=((pBuf[j*2 + 1]&0xf)<<4) + ((pBuf[j*2 + 2]&0xf)<<0);
            }
/* test
            for (int j=0;j<nOutputBytes;j++)
            {
                KMem.WYB[j]=(0xff);
            }
// */
            if (FPxStat.bFPxCallBackFuncSet) FPxStat.FPxCBFunc(evFPxDataUpdate,0,0);
            // KMem.WDT[2]=((pBuf[1]&0xf)<<4) + ((pBuf[2]&0xf)<<0) + ((pBuf[3]&0xf)<<12) + ((pBuf[4]&0xf)<<8);
            pFPxEXGRplyPkt p1 = (pFPxEXGRplyPkt)PktBuf2;
            p1->Hdr1=nST;
            for (int j=0;j<FPxStat.nInputBytes;j++)
            {
                p1->nInputBytes[j*2 + 0]=0x30|HiHofB(FPxMem.WLXB[j]); //((KMem.DT[0]>>4)&0x0f);
                p1->nInputBytes[j*2 + 1]=0x30|LoHofB(FPxMem.WLXB[j]); //((KMem.DT[0]>>0)&0x0f);
            }
            //p1->nInputBytes[0]=0x30|HiHofB(LoBofW(KMem.DT[0])); //((KMem.DT[0]>>4)&0x0f);
            //p1->nInputBytes[1]=0x30|LoHofB(LoBofW(KMem.DT[0])); //((KMem.DT[0]>>0)&0x0f);
            //p1->nInputBytes[2]=0x30|HiHofB(HiBofW(KMem.DT[0])); //((KMem.DT[0]>>12)&0x0f);
            //p1->nInputBytes[3]=0x30|LoHofB(HiBofW(KMem.DT[0])); //((KMem.DT[0]>>8)&0x0f);
            //p1->nInputBytes[4]=0x30|((KMem.DT[1]>>4)&0x0f);
            //p1->nInputBytes[5]=0x30|((KMem.DT[1]>>0)&0x0f);
            PktBuf2[FPxStat.nInputBytes*2 + 1 ]=0x30|FPxCalBCC(PktBuf2,FPxStat.nInputBytes*2+1);         //    p1->nBCC= 0x30|CalBCC(PktBuf2,7);
            PktBuf2[FPxStat.nInputBytes*2 + 2 ]=0x0d;        //        p1->End1=0x0d;
            FPxSendPkt(PktBuf2,FPxStat.nInputBytes*2 + 3);
        }
            bSPI1Recving=1;
        break;
        case CMD_4:
        KMem.WDT[12]++;
//            bSPI1Recving=1;
            break;
        case CMD_5:
         KMem.WDT[13]++;
//            bSPI1Recving=1;
            break;
        case CMD_6:
         KMem.WDT[14]++;
//            bSPI1Recving=1;
            break;
        case CMD_7_END:
         KMem.WDT[15]++;
            if (FPxStat.bConfiged && FPxStat.nConfigStationId == nStationID)
            {
                //SetFPxDEPin_0();
                SetACKPin_1();
            }
            bSPI1Recving=1;
            break;
        default:
         KMem.WDT[18]++;
            bSPI1Recving=1;
            break;
    }
     KMem.WDT[24+(len1&0x0f)]++;
    return res;
}
uint8_t FPxSendPkt(uint8_t * pBuf, uint8_t len1)
{
    uint8_t res=0;
    KMem.WR[len1&0x0f]++;
    if (!bSPI1Sending)
    {
        uint8_t value;
        memcpy(SPI1SendBuf,pBuf,len1);
        nSPI1ToSendLen=len1;
        nSPI1SentLen=0;
//        SetFPxDEPin_1();
//        SetACKPin_0();
        value = SPI1SendBuf[nSPI1SentLen];
        LL_SPI_TransmitData8(SPI1,value);
        bSPI1Sending=1;
    logData(value);
        // passive mode
        SetFPxDEPin_1();
        SetACKPin_0();
    }
    return res;
}
C8T6_TestApp1/Src/main.c
@@ -56,7 +56,7 @@
#include "../src/Ethernet/socket.h"
#include "../src/Ethernet/loopback.h"
#elif (BOARD_TYPE == 14)
#include "FP0.h"
#include "FPx.h"
#elif (BOARD_TYPE == 15 || BOARD_TYPE == 16)
#include "KWireless.h"
//#include "user.h"
@@ -87,9 +87,23 @@
uint32_t us1,us2,us3,us4,us5,us6;
stKBusDef KBus1;
#define RAM_START_ADDR 0x20000000
#define VECTOR_SIZE 45
#define  ApplicationAddress  0x08001000  //应用程序首地址定义
/*
static void RemapIrqVector(void)
{
    memcpy((void*)RAM_START_ADDR, (void *)ApplicationAddress, VECTOR_SIZE * 4);
    LL_APB1_GRP2_EnableClock(LL_APB1_GRP2_PERIPH_SYSCFG);
    LL_SYSCFG_SetRemapMemory(LL_SYSCFG_REMAP_SRAM);
}*/
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
/* USER CODE BEGIN PFP */
@@ -118,7 +132,7 @@
static int Count=0;
    CurTickuS += 100;    
    nCurTick++;
    nSlaveTick++;
    KBus1.nSlaveTick++;
    Count++;
    if (Count>=10000) 
    {
@@ -132,16 +146,102 @@
    return;
}
#define RAM_START_ADDR 0x20000000
#define VECTOR_SIZE 45
#define  ApplicationAddress  0x08001000  //应用程序首地址定义
static void RemapIrqVector(void)
void PendSvCallBack()
{
    memcpy((void*)RAM_START_ADDR, (void *)ApplicationAddress, VECTOR_SIZE * 4);
    LL_APB1_GRP2_EnableClock(LL_APB1_GRP2_PERIPH_SYSCFG);
    LL_SYSCFG_SetRemapMemory(LL_SYSCFG_REMAP_SRAM);
#if (BOARD_TYPE == 14)
///*
        if (bSPI1RecvDone)
        {
            bSPI1RecvDone=0;
            FPxParsePkt(SPI1RecvBuf,nSPI1RecvLenInBuf);
        }
//*/
#endif
    if (Uart2Stat.bPacketRecved)
    {
        KBusParsePacket(&KBus1, (pKBPacket)Uart2RecvBuf1, Uart2RecvBuf1DataLen);
        Uart2RecvBuf1DataLen=0;
        Uart2Stat.bPacketRecved=0;
        Uart2RecvDMA(Uart2RecvBuf1,sizeof(Uart2RecvBuf1));
    }
}
/*
FPx通讯回调函数,当通讯状态改变或数据更新时被调用。
*/
void * FPxCallBackFunc(int nEvent, void * pBuf, int nLen1)
{
    switch (nEvent){
        case evFPxNone:
            break;
        case evFPxCreate:
            break;
        case evFPxConnected:
            break;
        case evFPxDisConnected:
            break;
        case evFPxClosed:
            break;
        case evFPxStateChange:
            break;
        case evFPxTimeSync:
            break;
        case evFPxDataUpdate:
            for (int i=0;i<16;i++){
                    KBusMem.WLY[i]=FPxMem.WLY[i];
            }
            for (int i=0;i<16;i++) {
                FPxMem.WLX[i]=KBusMem.WLX[i];
            }
//            KBusMem.WLY[0]=0x0301;
            break;
        default:
            break;
    }
    return 0;
}
/*
KBus通讯回调函数,当通讯状态改变或数据更新时被调用。
或者系统请求时。
*/
void * KBusEvCallBackFunc(void*  pParam, int nEvent, void *pBuf, int nLen1)
{
    switch (nEvent){
        case KBusEvNone:
            break;
        case KBusEvCreate:
            break;
        case KBusEvConnected:
            break;
        case KBusEvDisConnected:
            break;
        case KBusEvClosed:
            break;
        case KBusEvStateChange:
            break;
        case KBusEvTimeSync:
            break;
        case KBusEvDataUpdate:
            for (int i=0;i<16;i++){
                    KBusMem.WLY[i]=FPxMem.WLY[i];
            }
            for (int i=0;i<16;i++) {
                KMem.WLX[i]=KBusMem.WLX[i];
                FPxMem.WLX[i]=KBusMem.WLX[i];
            }
//             KBusMem.WLY[0]=0x0301;
            break;
        default:
            break;
    }
    return 0;
}
/* USER CODE END 0 */
@@ -155,28 +255,6 @@
  /* USER CODE BEGIN 1 */
//    RemapIrqVector();
///*    
 LL_Init1msTick(8000000);
//    MX_GPIO_Init();
    SetRunLed(1);                //Turn On Run Led
    SetErrLed(0);                //Turn Off Err Led
int nCount=0;
  while (1)
  {
        SlowFlicker=0;
        FastFlicker=1;
        us1=GetuS();
        LL_mDelay(10);
        ToggleRunLed();
        ToggleErrLed();
//        ToggleErr2Led();
//     LL_IWDG_ReloadCounter(IWDG);
        nCount++;
    if (nCount >4) break;
  }    //while (1) ;
//*/
      __set_PRIMASK(0);    //打开全局中断
    
    KMRunStat.bLEDFlick = 1;
@@ -192,22 +270,7 @@
  /* USER CODE BEGIN Init */
    for (int i=0;i<9;i++)
    {
//        memset(KBusChnStats[i],0,0);
        KBusChnStats[i].SendPackets=0;
        KBusChnStats[i].RecvPackets=0;
        KBusChnStats[i].LostPackets=0;
        KBusChnStats[i].CtnLstPkts=0;
        KBusChnStats[i].MaxCtnLstPkts=0;
        KBusChnStats[i].NotPkgErr=0;
        KBusChnStats[i].PkgLenErr=0;
        KBusChnStats[i].TimeOutErr=0;
        KBusChnStats[i].BCCErr=0;
        KBusChnStats[i].Delay=0;
        KBusChnStats[i].MaxDelay=0;
    }
        KMem.LastScanTime=0;
        KMem.ScanTimeuS=0;
        KMem.MinScanTimeuS=99999;
@@ -240,23 +303,31 @@
  MX_DMA_Init();
    
    KMachineInit();
    ReadSysCfgFromFlash(&storedKMSysCfg);
    
    KMRunStat.bLEDFlick = 1;
    
    int bKBusMaster,bKBusSlave,bKBusRepeater;;
    int nChilds;
    KMem.CurJumperSW=ReadJumperSW();
    KMem.EffJumperSW=KMem.CurJumperSW;
    nChilds=KMem.EffJumperSW&0x0f;
//    Uart2Baud = AlterUart2Baud;
    KBusSetEvCallBackFunc(&KBus1, &KBusEvCallBackFunc),
    KBusInitMaster(&KBus1, (KBusSendPktFuncDef)PutStr2, nChilds);
    
#if (BOARD_TYPE == 14)
    KMem.EffJumperSW|=0x10;
    nStationID=KMem.EffJumperSW&0x0f;
    nChilds=KMem.EffJumperSW&0x0f;
  if ((KMem.EffJumperSW&0x10)!=0) {bKBusMaster=1;bKBusSlave=0;}
    else{bKBusMaster=0;bKBusSlave=1;}
    nChilds=nStationID;
    FP0_Init();
    FPxSetCallBackFunc(&FPxCallBackFunc);
    FPx_Init(nChilds);
    FPx_SetIOCount(8,5);
#elif (BOARD_TYPE == 15 || BOARD_TYPE == 16)
    nStationID=1 ;//KMem.EffJumperSW&0x0f;
//    if (KMem.EffJumperSW == 0x1f) {bKBusRepeater=1;bKBusMaster=1;bKBusSlave=0;}
@@ -269,8 +340,7 @@
  else if ((KMem.EffJumperSW&0x10)!=0) {bKBusMaster=1;bKBusSlave=0;}
    else{bKBusMaster=0;bKBusSlave=1;}
#endif
    nChilds=nStationID;
    nCurPollId=1;
    //if (KMem.EffJumperSW == 0x00)
        Uart1Baud = DefaultUart1Baud;
  MX_USART1_UART_Init();
@@ -406,7 +476,7 @@
        
#if (BOARD_TYPE == 14)
//        KMem.WX[0]= GetInput();        
        FP0_Proc();
        FPx_Proc();
//        KMem.WYB[0]++;
//        KMem.WYB[1]++;
        
@@ -479,19 +549,10 @@
        if (bKBusMaster)        
        {
#if (BOARD_TYPE == 14)
            for (int i=0;i<nOutputBytes;i++)
            {BufferOut[i+1]=KMem.WYB[i];}
#else
//            BufferOut[1]=KMem.WX[0]&0xff;
//            BufferOut[2]=(KMem.WX[0]>>8)&0xff;
            for (int i=0;i<FPxStat.nOutputBytes;i++)
            {KBusMem.WLYB[i]=FPxMem.WLYB[i];}
#endif
            if (nChilds>0) {        KBusMasterFunc(2); }
#if (BOARD_TYPE == 14)
//            KMem.WX[0]=BufferIn[1]+(BufferIn[2]<<8);
#else
//            KMem.WY[0]=BufferIn[1]+(BufferIn[2]<<8);
#endif
            if (nChilds>0) {        KBusMasterFunc(&KBus1); }
        }
            if (haltick&0x00002000) SlowFlicker=1;
@@ -501,21 +562,12 @@
        if (bKBusSlave)        
        {
//            BufferOut[0]=KMem.WX[0];
#if (BOARD_TYPE == 15 || BOARD_TYPE == 16)
//            KBusSlaveFunc(2);
        //    if (! KMem.RunStat) {BufferIn[0]=0;}
        //    KMem.WY[0]=BufferIn[0];
#else
            KBusSlaveFunc(2);
            if (! KMem.RunStat) {BufferIn[0]=0;}
            KMem.WY[0]=BufferIn[0];
#endif
            if (nSlaveTick&0x00002000) SlowFlicker=1;
            else SlowFlicker=0;
            if (nSlaveTick&0x00000800) FastFlicker=1;
            else FastFlicker=0;
            KBusSlaveFunc(&KBus1);
            if (KBus1.nSlaveTick&0x00002000) SlowFlicker=1;
            else SlowFlicker=0;
            if (KBus1.nSlaveTick&0x00000800) FastFlicker=1;
            else FastFlicker=0;
        }
//        KMem.WY[0]=nCount2>>5;
@@ -537,10 +589,10 @@
                    else {SetRunLed(0);}
            }
            else {
                    if (!KMem.RunStat) SetRunLed(SlowFlicker);
                    if (!KBus1.RunStat) SetRunLed(SlowFlicker);
                    else SetRunLed(FastFlicker);
            }
            if (!KMem.ErrStat)
            if (!KBus1.ErrStat)
            {
                SetErrLed(0);
                SetErr2Led(0);
@@ -551,7 +603,6 @@
                SetErrLed(FastFlicker);
                SetErr2Led(FastFlicker);
                SetOutStat(0);
            }
        }
        
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/CommonTables/arm_common_tables.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/CommonTables/arm_const_structs.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_sin_cos_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/ControllerFunctions/arm_sin_cos_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sqrt_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sqrt_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_init_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_fast_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_fast_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_f64.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f64.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_opt_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_opt_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_opt_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_opt_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_opt_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_opt_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_opt_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_opt_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_opt_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_fast_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_fast_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_fast_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_fast_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_cmplx_mult_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_cmplx_mult_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_cmplx_mult_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_inverse_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_inverse_f64.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_fast_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_fast_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_float.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_float.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_q7.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_float.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_bitreversal.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_init_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_init_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_init_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix8_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_fast_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_fast_init_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_f32.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_q15.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_q31.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f030x6.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f030x8.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f030xc.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f031x6.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f038xx.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f042x6.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f048xx.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f051x8.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f058xx.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f070x6.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f070xb.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f071xb.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f078xx.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f091xc.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f098xx.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f030x6.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f030x8.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f030xc.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f031x6.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f038xx.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f042x6.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f048xx.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f051x8.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f058xx.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f070x6.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f070xb.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f071xb.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f072xb.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f078xx.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f091xc.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/arm/startup_stm32f098xx.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030x6.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030x8.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f030xc.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f031x6.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f038xx.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f042x6.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f048xx.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f051x8.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f058xx.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f070x6.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f070xb.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f071xb.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f072xb.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f078xx.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f091xc.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f098xx.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f030x6_flash.icf
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f030x8_flash.icf
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f030xc_flash.icf
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f031x6_flash.icf
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f038xx_flash.icf
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f042x6_flash.icf
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f048xx_flash.icf
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f051x8_flash.icf
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f058xx_flash.icf
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f070x6_flash.icf
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f070xb_flash.icf
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f071xb_flash.icf
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f072xb_flash.icf
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f078xx_flash.icf
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f091xc_flash.icf
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f091xc_sram.icf
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f098xx_flash.icf
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/linker/stm32f098xx_sram.icf
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f030x6.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f030x8.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f030xc.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f031x6.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f038xx.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f042x6.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f048xx.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f051x8.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f058xx.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f070x6.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f070xb.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f071xb.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f072xb.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f078xx.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f091xc.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/iar/startup_stm32f098xx.s
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/system_stm32f0xx.c
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Include/arm_common_tables.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Include/arm_const_structs.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Include/arm_math.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Include/cmsis_armcc.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Include/cmsis_armcc_V6.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Include/cmsis_gcc.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Include/core_cm0.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Include/core_cm0plus.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Include/core_cm3.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Include/core_cm4.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Include/core_cm7.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Include/core_cmFunc.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Include/core_cmInstr.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Include/core_cmSimd.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Include/core_sc000.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Include/core_sc300.h
File was deleted
CCT6_BootLoader/Drivers/CMSIS/Lib/ARM/arm_cortexM0b_math.lib
Binary files differ
CCT6_BootLoader/Drivers/CMSIS/Lib/ARM/arm_cortexM0l_math.lib
Binary files differ
CCT6_BootLoader/Drivers/CMSIS/Lib/GCC/libarm_cortexM0l_math.a
Binary files differ
CCT6_BootLoader/Drivers/CMSIS/RTOS/Template/cmsis_os.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32_assert_template.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_can.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cec.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_comp.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_conf_template.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_crc.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_crc_ex.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dac.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dac_ex.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2s.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_irda.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_irda_ex.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_iwdg.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rtc.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rtc_ex.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_smartcard.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_smartcard_ex.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_smbus.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_spi_ex.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tim_ex.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_tsc.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_uart_ex.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_usart.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_usart_ex.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_wwdg.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_adc.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_bus.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_comp.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_cortex.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_crc.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_crs.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_dac.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_dma.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_exti.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_gpio.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_i2c.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_iwdg.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_pwr.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_rcc.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_rtc.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_spi.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_system.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_tim.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usart.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_utils.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_wwdg.h
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_can.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cec.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_comp.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_crc.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_crc_ex.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dac.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dac_ex.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2s.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_irda.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_iwdg.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_msp_template.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rtc.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rtc_ex.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_smartcard.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_smartcard_ex.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_smbus.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_spi.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_spi_ex.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_timebase_rtc_alarm_template.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_timebase_rtc_wakeup_template.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_timebase_tim_template.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tsc.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_uart_ex.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_usart.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_wwdg.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_adc.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_comp.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_crc.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_crs.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_dac.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_dma.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_exti.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_gpio.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_i2c.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_pwr.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_rcc.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_rtc.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_spi.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_tim.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usart.c
File was deleted
CCT6_BootLoader/Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_utils.c
File was deleted
CCT6_BootLoader/MDK-ARM/CCT6_BtLdr.uvprojx
@@ -335,7 +335,7 @@
              <MiscControls></MiscControls>
              <Define>USE_FULL_LL_DRIVER,USE_HAL_DRIVER</Define>
              <Undefine></Undefine>
              <IncludePath>../Inc;../Src;           ../Drivers/STM32F0xx_HAL_Driver/Inc;           ../Drivers/CMSIS/Device/ST/STM32F0xx/Include;           ../Drivers/CMSIS/Include;    ../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy</IncludePath>
              <IncludePath>../Inc;../Src;           ../../Drivers/STM32F0xx_HAL_Driver/Inc;           ../../Drivers/CMSIS/Device/ST/STM32F0xx/Include;           ../../Drivers/CMSIS/Include;    ../../Drivers/STM32F0xx_HAL_Driver/Inc/Legacy</IncludePath>
            </VariousControls>
          </Cads>
          <Aads>
@@ -447,152 +447,152 @@
            <File>
              <FileName>stm32f0xx_ll_gpio.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_gpio.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_gpio.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_exti.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_exti.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_exti.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_adc.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_adc.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_adc.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_dma.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_dma.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_dma.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_spi.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_spi.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_spi.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_tim.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_tim_ex.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_usart.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usart.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usart.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_rcc.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_rcc.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_rcc.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_rcc.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_rcc_ex.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_i2c.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_i2c_ex.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_gpio.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_dma.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_cortex.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_pwr.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_pwr_ex.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_flash.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_hal_flash_ex.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_utils.c</FileName>
              <FileType>1</FileType>
              <FilePath>../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_utils.c</FilePath>
              <FilePath>../../Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_utils.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_tim.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_tim.c</FilePath>
              <FilePath>..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_tim.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_comp.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_comp.c</FilePath>
              <FilePath>..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_comp.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_crc.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_crc.c</FilePath>
              <FilePath>..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_crc.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_crs.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_crs.c</FilePath>
              <FilePath>..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_crs.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_dac.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_dac.c</FilePath>
              <FilePath>..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_dac.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_i2c.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_i2c.c</FilePath>
              <FilePath>..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_i2c.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_pwr.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_pwr.c</FilePath>
              <FilePath>..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_pwr.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_rtc.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_rtc.c</FilePath>
              <FilePath>..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_rtc.c</FilePath>
            </File>
          </Files>
        </Group>
CCT6_BootLoader/Src/main.c
@@ -71,6 +71,62 @@
/* USER CODE END PFP */
/* USER CODE BEGIN 0 */
/* Table of CRC values for high-order byte */
const uint8_t crctablehi[] = {
    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
    0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
    0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,
    0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81,
    0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
    0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,
    0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
    0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
    0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,
    0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
    0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
    0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
    0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,
    0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
    0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
    0x40
};
/* Table of CRC values for low-order byte */
const uint8_t crctablelo[] = {
    0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4,
    0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09,
    0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD,
    0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,
    0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7,
    0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A,
    0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE,
    0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26,
    0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2,
    0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F,
    0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB,
    0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5,
    0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91,
    0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C,
    0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88,
    0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C,
    0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80,
    0x40
};
uint16_t crc16table(const uint8_t *ptr, uint16_t len)
{
    uint8_t crchi = 0xff;
    uint8_t crclo = 0xff;
    uint16_t index;
    while (len--)
    {
        index = crclo ^ *ptr++;
        crclo = crchi ^ crctablehi[index];
        crchi = crctablelo[index];
    }
    return (crchi << 8 | crclo);
}
void HAL_SYSTICK_Callback(void)
{
@@ -87,7 +143,7 @@
#define  ApplicationAddress  0x08001000  //应用程序首地址定义
#define  NewAppInfoBlockAddress 0x08020000                // 存储的新应用程序信息块的地址
#define  NewAppAddress 0x08021000                // 存储的新应用程序的地址
#define  FLASH_PAGESIZE (0x00000400)                        //Page Size = 1K
//#define  FLASH_PAGESIZE (0x00000400)                        //Page Size = 1K
typedef struct tagNewAppInfoBlock
@@ -105,26 +161,26 @@
/*跳转到应用程序处理函数*/
static void JumpToApplication(void)
{
  uint32_t StackAddr;           //应用程序栈地址
  uint32_t ResetVector;         //应用程序中断向量表的地址
  uint32_t AppStackAddr;           //应用程序栈地址
  uint32_t AppResetVector;         //应用程序中断向量表的地址
 
  pFunction JumpToApp;          //定义跳转函数指针
 
  __set_PRIMASK(1);    //关闭全局中断
 
  StackAddr = *(__IO uint32_t*)ApplicationAddress;              //0x08001000;
  ResetVector = *(__IO uint32_t*)(ApplicationAddress + 4);      //0x08001004;
  AppStackAddr = *(__IO uint32_t*)ApplicationAddress;              //0x08001000;
  AppResetVector = *(__IO uint32_t*)(ApplicationAddress + 4);      //0x08001004;
 
  if((StackAddr&0x2FFC0000)==0x20000000)        //检查栈顶地址是否合法.
  if((AppStackAddr&0x2FFC0000)==0x20000000)        //检查栈顶地址是否合法.
  {
        __disable_irq();
        memcpy((void *)0x20000000,(void *)ApplicationAddress,0xc0);
        
        __set_MSP(StackAddr);                       //初始化应用程序栈指针
        __set_MSP(AppStackAddr);                       //初始化应用程序栈指针
        LL_APB1_GRP2_EnableClock(LL_APB1_GRP2_PERIPH_SYSCFG);
        LL_SYSCFG_SetRemapMemory(LL_SYSCFG_REMAP_SRAM);
//        SYSCFG
    JumpToApp = (pFunction)ResetVector;
    JumpToApp = (pFunction)AppResetVector;
    JumpToApp();
  }
}
@@ -150,15 +206,16 @@
    res = HAL_FLASH_Unlock();
    uint32_t ErrNo;    
    FLASH_EraseInitTypeDef erase1;
    erase1.NbPages= (nByteSize-1) / FLASH_PAGESIZE + 1;
    erase1.NbPages= (nByteSize-1) / FLASH_PAGE_SIZE + 1;
    erase1.PageAddress=(unsigned int)pAddrFlash;
    erase1.TypeErase=FLASH_TYPEERASE_PAGES;
    res = HAL_FLASHEx_Erase(&erase1,&ErrNo);
    res = HAL_FLASHEx_Erase(&erase1,&ErrNo);
    
    
    for (int i=0;i<nByteSize/2;i++)
    for (int i=0;i<(nByteSize+1)/2;i++)
    {
        res = HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, (uint32_t)pAddrFlash + i*2, ((uint16_t *)pBuf)[i]);
        if ((i&0x7ff) == 0) {ToggleRunLed();                ToggleErrLed();}
    }
    res = HAL_FLASH_Lock();
@@ -217,11 +274,11 @@
    {
        //check length and CRC;
        int length = ptheNewAppInfoBlock->Length;
        // int nCRC = CalCRC((void *)NewAppAddress,length);
        // if (nCRC == ptheNewAppInfoBlock->nCRC)
        int nCRC = crc16table((uint8_t *)NewAppAddress,length);
        if (nCRC == ptheNewAppInfoBlock->nCRC)
        {
            // copy program
            EraseAndWriteToFlashMem((void*)ApplicationAddress,(void *)NewAppAddress,length);
            EraseAndWriteToFlashMem((void *)NewAppAddress,(void*)ApplicationAddress,length);
            
            // verify copyed program
            //int nCRC2 = CalCRC((void *)NewAppAddress,length);
CCT6_TestApp1/Inc/LindarPos.h
copy from Ext_FP0/Src/BoardType.c copy to CCT6_TestApp1/Inc/LindarPos.h
CCT6_TestApp1/Inc/OrdLidar.h
New file
@@ -0,0 +1,174 @@
/**
  ******************************************************************************
  * @file           : OrdLidar.h
  * @brief          : Header for OrdLidar.c file.
  *                   This file contains the Lidar defines of the application.
  ******************************************************************************
    */
#ifndef __ORDLIDAR_H__
#define __ORDLIDAR_H__
#define ORDLIDAR_VER    (0x100)
#pragma anon_unions
#include <stdint.h>
#include <stdlib.h>
#define TMPBUFF_SIZE (1024)
#define MAX_BLOCK_POINT_NUM (100)
#define MAX_BLOCK_SIZE (MAX_BLOCK_POINT_NUM * 4)
#define POINT_CIRCLE_MAX_SIZE (4096)
#define POINT_PKG_MAX_SIZE (200)
#define POINT_PER_PACK (12)
#define SET_TIME_OUT    (10) //unit:s
#define HEAD_FLAG   (0xF5A5)
#define TAIL_FLAG   (0x31F2)
#define HEAD_LEN    (5)
typedef enum
{
    ORADAR_MS200 = 1,
    ORADAR_MS300 = 2,
}oradar_lidar_type_id;
typedef enum {
    ORADAR_TYPE_SERIAL = 0x0,/**< serial type.*/
    ORADAR_TYPC_UDP = 0x1,/**< socket udp type.*/
    ORADAR_TYPE_TCP = 0x1,/**< socket tcp type.*/
} device_type_id;
typedef enum
{
    SET_ROTATION_SPEED = 0xA1,
    SET_RUN_MODE = 0xA2,
}CMD;
typedef enum
{
    WRITE_PARAM = 0xC1,
    WRITE_PARAM_RESPONSE = 0xC2,
    READ_PARAM = 0xC3,
    READ_PARAM_RESPONSE = 0xC4,
}CMD_TYPE;
typedef struct uart_comm_st
{
    uint16_t head_flag;
    uint8_t cmd;
    uint8_t cmd_type;
    uint8_t payload_len;
    uint8_t data[10];
}uart_comm_t;
typedef struct point_data_st
{
    unsigned short distance;
    unsigned short intensity;
    float angle;
} point_data_t;
typedef enum frame_head_flag_et
{
    HEAD_FLAG_NONE,
    HEAD_FLAG_OK,
} frame_head_flag_t;
typedef enum protocol_version_et
{
    VERSION_NONE = 0,
    VERSION_MS200,
} protocol_version_t;
typedef struct __attribute__((packed))
{
    uint16_t distance;
    uint8_t confidence;
} OradarLidarPoint;
typedef struct __attribute__((packed))
{
    uint8_t header;
    uint8_t ver_len;
    uint16_t speed;
    uint16_t start_angle;
    OradarLidarPoint point[POINT_PER_PACK];
    uint16_t end_angle;
    uint16_t timestamp;
    uint8_t crc8;
} OradarLidarFrame;
typedef struct LidarDotData
{
    unsigned char intensity;
    unsigned char s1;
/*
    struct {
        unsigned char flag:2;
        unsigned char s1:6;
                    };
*/
    unsigned char s2;
}stLidarDotData;
typedef struct tagLidarDotsPkt
{
    unsigned short StSign;
    unsigned char CT;
    unsigned char LSN;
    unsigned short FSA;
    unsigned short LSA;
    unsigned short CS;
    stLidarDotData LidarDotDatas[40];
}stLidarDotsPkt, *pLidarDotsPkt;
typedef struct tagLidarVector
{
    int intensit;
    int angle;
    int value;
}stLidarVector;
typedef struct tagLidarDot
{
    int x;
    int y;
    unsigned int distance;
}stLidarDot;
extern int nPosX;
extern int nPosY;
extern int nPosZ;
extern int nPosZ1, nPosZ2;
extern int pCount1;
extern int pCount2;
extern int eCount1;
extern int eCount2;
extern int dCount1;
extern int dCount2;
extern int vCount1;
extern int vCount2;
extern int results[32];
int OrdLidarStart(int nIdx); /* Start LiDar Running , nIde = 0 , 1 , -1 == ALL */
int OrdLidarStop(int nIdx);  /* stop Lidar Running , nIde = 0 , 1 , -1 == ALL */
int OrdLidarParsePkt(int nLidarIdx, OradarLidarFrame * pLindarPkt, int len1);
int ProcessPos(int nLidarIdx, stLidarDot * pLindarDots, int nCount);
#endif    /* __ORDLIDAR_H__ */
CCT6_TestApp1/Inc/SLP.h
@@ -25,7 +25,7 @@
extern uchar SLPoutputB;
extern uchar SLPErrSign;
void SLPparsePacket(char * pBuf, uchar len1);
void SLPparsePacket(void * pBuf, uchar len1);
void SLPMasterSendPacket(void);
void SLPProcess(void);
CCT6_TestApp1/Inc/functions.h
@@ -45,6 +45,9 @@
    };
}shortbits;
#define RX1BUFSIZE 160
#define TX1BUFSIZE 260
#define UART3RXBUFSIZE 256
#define UART3TXBUFSIZE 64
@@ -117,9 +120,9 @@
void Uart6SendDone(void);
void Uart6RecvDone(void);
void Uart6SendPacket(char * str, int len);
void Uart6SendPacket(void * str, int len);
void SLPSendPacket(char * str, uchar len);
void SLPSendPacket(void * str, uchar len);
    
int PutStr(char * str1, int len1);
int SendPacket(int nChn, void * pBuf,int len1);
CCT6_TestApp1/Inc/main.h
@@ -59,6 +59,7 @@
#include "stm32f0xx_ll_tim.h"
#include "stm32f0xx_ll_utils.h"
#include "stm32f0xx_ll_pwr.h"
#include "stm32f0xx_ll_flash.h"
/* USER CODE BEGIN Includes */
CCT6_TestApp1/Inc/stm32f0xx_hal_conf.h
@@ -76,7 +76,7 @@
/*#define HAL_EXTI_MODULE_ENABLED   */
#define HAL_CORTEX_MODULE_ENABLED
#define HAL_DMA_MODULE_ENABLED
#define HAL_FLASH_MODULE_ENABLED
#define HAL_FLASH_MODULE_ENABLED
#define HAL_GPIO_MODULE_ENABLED
#define HAL_PWR_MODULE_ENABLED
#define HAL_RCC_MODULE_ENABLED
CCT6_TestApp1/MDK-ARM/CCT6_TestApp1/F030CCT6_TestApp1.hex
@@ -1,19 +1,19 @@
:020000040800F2
:1010000038390020D1100008754300086923000812
:10100000B8490020D110000809440008A5200008B4
:1010100000000000000000000000000000000000D0
:10102000000000000000000000000000E14F000888
:101030000000000000000000454400081D550008A5
:101020000000000000000000000000000D56000855
:101030000000000000000000B5480008495B0008FF
:10104000E310000800000000E3100008E3100008AF
:10105000E3100008E3100008E3100008E3100008A4
:1010600000000000E3100008C51500086516000820
:1010600000000000E310000825150008C515000861
:10107000E3100008E3100008E3100008000000007F
:10108000E310000825560008E3100008E3100008EC
:10108000E3100008515C0008E3100008E3100008BA
:10109000E3100008E3100008E3100008E310000864
:1010A000E3100008C54F0008E31000083D56000893
:1010B000C5560008115700080348854600F03AF964
:1010C00000480047F9650008383900200844F04717
:1010A000E3100008F1550008E3100008695C00082F
:1010B000E55C0008395D00080348854600F0D6F875
:1010C00000480047F9680008B84900200844F04784
:1010D0000448804704480047FEE7FEE7FEE7FEE7D6
:1010E000FEE7FEE7C9550008B910000830B50B4609
:1010E000FEE7FEE7F55B0008B910000830B50B46D7
:1010F000014600202022012409E00D46D5409D42F2
:1011000005D31D469540491B254695404019154677
:10111000521E002DF1DC30BD70B50024254600289C
@@ -21,7 +21,7 @@
:10113000DDFFAC4200D04042002C00D0494270BDDF
:10114000F8B500242546002904DA0E4601240021C2
:101150004042B141002B04DA1E46002352420125D1
:10116000B34100F076F88C4617461E46AC4203D0D9
:10116000B34100F052F88C4617461E46AC4203D0FD
:10117000002540428D41AC46002C02D0002657424B
:101180009E4161463A46334601B0F0BD10B5202A73
:1011900004DB0846203AD040002110BD0B46D34066
@@ -31,1600 +31,1690 @@
:1011D0007047D2B201E00270401C491EFBD270473A
:1011E0000022F6E710B513460A4604461946FFF7F3
:1011F000F0FF204610BD0321001D401E037812029F
:101200001A43491EF9D510467047C217C10F504006
:1012100010B54018CA079623002100F052F810BDFF
:10122000C20F410040020123400ADB05D207090E2C
:10123000C0187F2901DA00207047962903DC962325
:10124000591AC84001E096398840002AF4D040423B
:101250007047F0B51FB40646002082B00546402412
:10126000019100901BE0019922460F463046FFF79E
:101270008DFF049A059B801A994110D31046194698
:10128000224600F069F8361A8F4101972246012064
:101290000021009F00F060F838184D410090204672
:1012A000641E0028DFDC019B00982946324607B007
:1012B000F0BD002904DA401C490001D1400840007B
:1012C000704770B40024050C05D11024000402D12D
:1012D000002921D01124050E01D100020834050F88
:1012E00001D10001241D850F01D18000A41C00281C
:1012F00001DB4000641C002908D020252E1B0D4670
:10130000F540A14000D001212943084301061B1BE1
:10131000000ADB1D02D5002070BC7047DB051818E1
:1013200080180029F8DA401C4900F5D170BC40084B
:1013300040007047064C0125064E05E0E36807CCE7
:101340002B430C3C98471034B442F7D3FFF7B8FE58
:101350001C7200083C72000810B5202A04DB01460C
:10136000203A9140002010BD914020239C1A034652
:10137000E3401943904010BD70B58D180478401CAF
:10138000A207920F01D10278401C231106D10378E5
:10139000401C03E006780E70401C491C521EF9D117
:1013A000002B15D002780C268A1A3440401C0C2CD5
:1013B00003D0A401121B9B1C08E004782402121B1A
:1013C000401CF8E714780C70491C521C5B1EF9D5C0
:1013D000A942D3D3002070BDF0B51C4CA0684007D3
:1013E000C00F31D1206C1B4D82B219481A490369D4
:1013F0000120DE07002E0AD08A82184B18492846A1
:101400009A4201D2012200E000220A6012E09D43CC
:1014100006D0144D9D4306D0134D9D4306D009E0E0
:101420000A83124806E00A84114803E04A84114AFC
:10143000528BCA834103490BA162A1680E4A114035
:10144000091DA160024908610020F0BD002401408F
:10145000C000002000010020C419002098080000EE
:10146000640100200000014000000244000001C0AF
:10147000000002C4A0F7FF1FE8FFFF7FF0B51E4F7A
:1014800085B03D691D4C6D1C3D612668A4680294C1
:1014900000966C4665800190218162810393386AD1
:1014A00001011748091800220B4610461C5CFF2C4E
:1014B00004D1401C1028F9D3002A17D01022684606
:1014C00000F00CF9386AF861401C38620001012113
:1014D00009031030884201D900203862F8680949B0
:1014E000401CF8604867002005B0F0BD1022684637
:1014F00004F0A8FBE6E7000040010020E46D0008CE
:1015000000D0000844190020002911D08268521828
:1015100082604368934200DCD21A00238361C3686F
:10152000934201D101234361826002695218026132
:1015300008467047F0B50020174D0127144B154C95
:101540003F03E86017E0625A144EB24212D1EA68D3
:101550000919521CEA604A882E69B24205D92A61EB
:10156000E8614A686A61421C2A624988994201D24C
:101570000B46A861401C0101B942E4D3286A00016E
:101580001030B84201D900202862E868F0BD0000A0
:10159000FFC99A3B00D0000840010020AA55000076
:1015A00010B50421054800F0BCF805480021816110
:1015B000C1610161C1600162084610BD00D0000830
:1015C0004001002070B5234DE86A401CE862224CBF
:1015D00020688006C00F11D02868296B4018286049
:1015E000296B28465830064600F058F820206060E5
:1015F000B06900280AD0002028636872206880053E
:10160000C00F02D001204002606070BD304600F083
:1016100075F912494A78A3585B085B00A350F36838
:1016200032684E78D2180C4B0C33F2500A4B4A7881
:101630001B1DD658360C36040643D65049786258DE
:1016400001231A43625028630548816880221143B0
:101650008160D3E7E408002000000240FF71000829
:10166000003801400B49C86A401CC8620A48026839
:101670009204D20F05D001225203426000220A6375
:101680004A7201688903C90F02D0012149044160EF
:1016900070470000780900200000024010B50029C2
:1016A00010D0C26843685218934200DCD21A00235B
:1016B0004361C2608468944204D1012282618360E4
:1016C000C360C361084610BDFF2109220131D20663
:1016D000002801D09162704791617047F0B585B0E4
:1016E00016460D46074600F06FFA701E800A401C31
:1016F000029000200090019503A9684600F0CCF903
:101700000024760807E060003A5A411900230120BE
:1017100000F01CFA641CA642F5D800F00DFA05B0E2
:10172000F0BD7FB50D46044600F04EFA00206A4633
:1017300031C203A9684600F0AFF900F0FDF904B02A
:1017400070BD000006490020C861064801690422F6
:10175000114301610169402211430161704700009A
:101760001835002000200240064A0021D1610649B8
:101770000A6902231A430A6148610869402210433A
:1017800008617047183500200020024010B5054B55
:101790000022DA61044A13690124234313610180A2
:1017A00010BD0000183500200020024010B50B4A83
:1017B0000020D168CB060A4904D5C8690223184322
:1017C000C8611020D3685B0705D5CB69012423438A
:1017D000CB6104210843D06010BD0000002002400E
:1017E0001835002070B5044600F000FA0546104E8A
:1017F0000AE0601C08D0002C04D000F0F7F9401B70
:10180000A04201D9032070BDF068C007F1D1F06893
:10181000800601D52020F060F068C00602D4F06890
:10182000400703D5FFF7C2FF012070BD002070BD47
:10183000002002400A07120F01219140014201D00D
:1018400001207047002070470A07120F01219140C4
:10185000014201D00120704700207047F8B50B0508
:101860001B0E254C5B001C1909239B01E3180093F8
:101870000523DB01E618012307469B020A07E5184A
:101880000020120F3B0004F0CFFB09060A0E1219CC
:101890001D21282F2E00FF2928D800981BE0FF29A2
:1018A00024D8009808E0FF2920D8B08A18E08029C1
:1018B0001CD20F2080012018808E11E0802915D2C3
:1018C000A88A0DE0402911D2B08E09E040290DD23E
:1018D0000B2080010EE0808A02E0802906D2A88ECB
:1018E0001146FFF7B1FFF8BD802901D30020F8BDF4
:1018F0000920C0012018EEE7C4130020C1688268E7
:10190000914201DA501A7047914202DC4269002A82
:1019100002D04068401A704780690028FBD0002040
:101920007047C2688168914201DA501A704791424B
:1019300002DC8269002A02D04068401A7047406980
:101940000028FBD000207047064901228969120354
:1019500008180101914201D3FF3801380249000102
:10196000401870474001002000D0000800B5082052
:1019700000F07CFD00BD0000F0B5334C4B001C199D
:101980000923DB01E5180B230246DB010020E318E5
:10199000892A25D00EDC2C4F2C4B4E00F619F61858
:1019A000803A130004F040FB091F1F152125292E42
:1019B000333A15008D2A3FD00CDC8A2A33D08B2A8B
:1019C00035D08C2A05D140293ADA0B208001201825
:1019D000808EF0BD992A03D0A12A01D0FE2AF8D129
:1019E00080292DDA2EE00846F0BD102928DAB08AC9
:1019F000F0BD102924DAB08EF0BD102920DA0520C0
:101A0000C00108E008291BDA0F208001DFE7082960
:101A100016DA012080022018808AF0BD80290FDAB2
:101A20003420285EF0BD80290ADAA88AF0BD40295A
:101A300006DA0D208001CAE7402901DAA88EF0BD40
:101A40000020F0BD988EF0BDC413002040020000BD
:101A500010B5074A106A074B9969146AA04201D071
:101A6000106A9969044A51430914401A10BD0000D4
:101A70007001002000E000E05505000031B500F0E5
:101A8000B5F8009C0546601C00D0641C00F0AEF860
:101A9000401BA042FAD338BDF8B5054623480F468F
:101AA000017E012601290BD0012101762868204CF6
:101AB000012807D02046FFF795FE002813D030E01C
:101AC0000220F8BD2046FFF78DFE002829D1FFF740
:101AD00039FE2046FFF786FE0646164801690422B5
:101AE000914301611DE00020C04338606C6812E042
:101AF0002046FFF739FE0E48FFF774FE06460D48F4
:101B00000169022291430161002E01D03C6008E08E
:101B10000120C0022418A8686968C0024018A042C9
:101B2000E6D80248002101763046F8BD183500207D
:101B300050C3000000200240034801698022114385
:101B4000016100207047000000200240F0B51FB482
:101B500005461A480024017E16461F46012907D073
:101B6000012101761648FFF73DFE002803D021E051
:101B7000022005B0F0BD012D1AD0022D18D0042589
:101B800016E0220130463946FFF700FB81B201988A
:101B900062001018FFF7FAFD0948FFF723FE094914
:101BA0000A69520852000A61002803D1641CE4B299
:101BB000AC42E6D3014900220A76DAE71835002064
:101BC00050C300000020024005480169090605D500
:101BD000044941600449416000207047012070477A
:101BE0000020024023016745AB89EFCD0148006822
:101BF00070470000E007002002480168491C0160AE
:101C000070470000E007002010B506480168102268
:101C100011430160002000F007F800F017F80020E1
:101C200010BD00000020024010B5044600F040F94D
:101C30007D21C900FFF75AFA00F07AFB0022214605
:101C4000501E00F025F8002010BD000008B50F4818
:101C50008169012211438161816911400091C2694A
:101C600001040A43C261C069002208400090114685
:101C7000501F00F00DF800221146901E00F008F8E9
:101C800000221146501E00F003F808BD001002406B
:101C900010B502F09DFB10BDF8B504460068364D46
:101CA000C00354D5E8690026C00007D4E8692904B8
:101CB0000843E861E8690840012600902F48016860
:101CC000C90511D4014608688A1510430860FFF75A
:101CD0008DFF074604E0FFF789FFC01B642823D867
:101CE00026480068C005F6D5286A03210902084085
:101CF0001FD062680A4082421BD0286A2A6A884341
:101D0000012109040A432A622A6A8A432A62286254
:101D1000C0070ED0FFF76AFF074607E0FFF766FF30
:101D2000C11B1748814201D90320F8BD286A8007EA
:101D3000F4D5286A032109028843616808432862B0
:101D4000002E04D0E869012109078843E861207862
:101D5000C00705D0286BA16880088000084328636D
:101D60002078800605D5286B10218843E168084358
:101D700028630020F8BD0000001002400070004001
:101D800088130000F8B5044644480E460068C007B2
:101D9000C00FB0420AD241480168490849003143A6
:101DA00001600068C007C00FB0425CD120783C4F92
:101DB000800705D57868F0218843A16808437860DA
:101DC0002078C0073FD06068012813D03968022806
:101DD00013D08907002946DA796889088900014308
:101DE0007960FFF703FF0546606801280DD00228DF
:101DF00017D024E039688903ECE78901EAE7FFF7A7
:101E0000F5FE411B2748814217D878680007800FEC
:101E10000128F4D117E0FFF7E9FE411B2148814278
:101E20000BD878680007800F0228F4D10BE0FFF789
:101E3000DDFE411B1B48814201D90320F8BD7868B3
:101E40000007800FF3D115480168C907C90FB142D7
:101E50000BD9016849084900314301600068C00797
:101E6000C00FB04201D00120F8BD2078400706D550
:101E70007868072109028843E1680843786000F028
:101E80001DF87968084A0906090F515CC8400749DE
:101E900008600020FFF7C8FE0020F8BD00200240C7
:101EA000001002408813000004720008DC070020C4
:101EB0000148006870470000DC07002030B514A01E
:101EC0000FC889B06C460FC415A00FC80FC4184DB9
:101ED0006A680C2011460140164B042910D01648A0
:101EE00008290ED19102090F6C46645CE96A04ADC1
:101EF0000907090FD203695C920F022A03D003E09D
:101F0000184609B030BD1846FFF7F0F86043F8E70F
:101F100002030405060708090A0B0C0D0E0F10102A
:101F20000102030405060708090A0B0C0D0E0F1029
:101F300000100240001BB70000127A00FEB50446F4
:101F40000078D54DC00748D068680007800F012889
:101F500019D068680007800F022804D16868C003A0
:101F6000800F02280FD0012160680904012811D0D8
:101F70008A00002801D0052816D0286888432860E8
:101F80002868904308E02868800326D56068002808
:101F900073D022E02868084328606068002810D0C9
:101FA000FFF724FE064608E0286810432860F1E7A2
:101FB000FFF71CFE801B642870D828688003F7D5C3
:101FC0000BE0FFF713FE064604E0FFF70FFE801B51
:101FD0006428F1D828688003F7D420780126800788
:101FE00000283DDA68680007800F13D06868000792
:101FF000800F022804D16868C003800F012809D02F
:10200000E068002828681CD030432860FFF7EEFD08
:1020100007460BE0286880070BD5E06801282CD123
:1020200007E0FFF7E3FDC01B0228C5D8286880073A
:10203000F7D52868F82188432169C900084328603A
:102040000EE0400840002860FFF7D0FD074604E09E
:10205000FFF7CCFDC01B0228AED828688007F7D454
:102060002078000723D5E0690028686A0FD0304344
:102070006862FFF7BBFD074605E00AE1FFF7B6FD22
:10208000C01B022898D8686A8007F7D50FE040087F
:1020900040006862FFF7AAFD074605E0A4E0FFF7ED
:1020A000A5FDC01B022887D8686A8007F7D420786E
:1020B00004274007002860DA00200190E869C0008A
:1020C00008D4E869B9060843E861E8690840009067
:1020D0000120019071480168C90511D40168821579
:1020E00011430160FFF782FD009005E0FFF77EFDE0
:1020F0000099401A642877D868480068C005F5D56B
:10210000A06801280AD0002801D0052810D0286A2C
:10211000400840002862286AB84301E0286A30433A
:102120002862A068002812D0FFF760FD00900AE046
:10213000286A38432862F1E7FFF758FD0099411AF1
:102140005748814250D8286A8007F5D50DE0FFF73F
:102150004DFD009006E0FFF749FD0099411A5048F7
:10216000814241D8286A8007F5D40198002804D01C
:10217000E869012109078843E8612078C0063CD559
:10218000606901280CD0401D686B23D03843686318
:10219000686B400840006863FFF728FD064629E0A9
:1021A000686B38436863686B30436863FFF71EFDF4
:1021B000064604E0FFF71AFD801B022862D8686B10
:1021C0008007F7D5686BF8218843A169C9000843E7
:1021D000686312E0B8436863696BF8208143A069C3
:1021E000C0000143696308E04CE0FFF7FFFC801B7F
:1021F000022847D8686B8007F7D4206A002846D0A9
:1022000069680907890F022943D001273F06022880
:10221000286805D0B8432860FFF7E8FC044633E09F
:10222000B8432860FFF7E2FC064604E0FFF7DEFC57
:10223000801B022826D828688001F7D4E86AE16A62
:10224000000900010843E862616AA06A08436968FE
:102250007B22D20391430843686028683843286092
:10226000FFF7C4FC044604E0FFF7C0FC001B022893
:1022700008D828688001F7D509E0FFF7B7FC001BF4
:10228000022801D90320FEBD28688001F5D4002072
:10229000FEBD0120FEBD00000010024000700040A5
:1022A00088130000042204490428086902D09043DE
:1022B000086170471043FBE700E000E01548016843
:1022C0006431016014480168491C016013490868C1
:1022D000401C08601249134AC868401CC8609042FC
:1022E00016DB0020C8601048816D491C8165016DB6
:1022F000491C0165416D491C41650C49088B00284A
:1023000006D0401E80B20883782801D9782008833F
:1023100070470000900100208C0100200C0100207B
:10232000B00100201027000044190020781B002075
:10233000094910B5401E884201D9012010BD074C43
:1023400060610321081F02F043F80020A06107200C
:102350002061002010BD0000FFFFFF0000E000E052
:1023600010B5FFF7ABFF10BDFEE7000010B5002170
:102370000F4A0846516043009B18401C1981FF28F2
:10238000F9DD002005230B4ADB014400A418E41802
:10239000401CA1821028F8DB00200923DB01440047
:1023A000A418E418401CA186FF28F8DD002010BD09
:1023B0003C110020C413002010B5402802DB00208F
:1023C000C04310BD10221143C200094B4000D21877
:1023D000C01858240D23A1529B010021C3189986CF
:1023E000E300C0188186034800685065084610BDA8
:1023F000C4130020E007002070B504461E463830A4
:10240000049D04F0EDF820462A463146583004F089
:10241000E7F8002070BD000070B5104D064601467B
:102420002846FEF779FE0E4CE062FFF741FD294693
:10243000FEF75CFE60620B48314600680546FEF719
:1024400055FEA0622A46002307480F21FEF778FEBA
:102450002080E06A64302062002070BD40420F009E
:1024600070010020DC07002000004042F8B572B681
:10247000012212030921C9068A6200BF00BF00BF02
:1024800000BF8A61C117490F0818C0108446002098
:10249000104E0346009017E008200E4C00228021C9
:1024A0008502103C37687F0400D50A43A5624908BD
:1024B00000BF00BF00BF00BF00BFA561401EF1D13B
:1024C000D0436946C8545B1C6345E5DB62B600989F
:1024D000F8BD000010040048034610B50020024675
:1024E00002E09C5C6040521C8A42FADB10BD000096
:1024F000F8B508460D460978552901D0252903D09D
:10250000012A01DD451C521E344F602479792B7855
:102510006143334C0919334C252B30D0A3685B1C25
:10252000A360CB695B1CCB61B97800290FD0F97827
:1025300000290FD001292C4913D007231B02C918E9
:102540000A7501462948FEF732FE0020F870002087
:10255000C043F8BD2549264B55390A750146224826
:1025600007E037235B01C9180A750146204B1E4856
:102570002033C018FEF71BFEF878401CE6E76E79A2
:10258000802E06DDE068401CE060086A401C08629E
:10259000DDE7334608339A4208D2086A401C0862D5
:1025A000E068401CE0600220C043F8BDB11DFFF7A9
:1025B00093FFA919897981420DD02069401C2061BF
:1025C00079796020414306480818416A491C4162F4
:1025D0000320C043F8BD0020F8BD0000F00000203B
:1025E0002C0C0020F8090020C4130020D91A002068
:1025F000D5060000F8B50E4604462520069F079D27
:10260000089920706270A670E37027712F46002031
:1026100008376619372B1AD009DC1A46303A1300EE
:1026200003F002FD07261515262626172600612B26
:102630000DD006DC382B0AD0412B08D0422B17D105
:1026400005E0622B03D0632B01D0642B10D16571A0
:1026500002E06571002D03D02A46A01DFEF7A7FDFC
:10266000A91D2046FFF738FFB0710D20F0713846E4
:10267000F8BD0000F1B584B0FFF7B8FA0546FFF7E2
:10268000E7F9604E0446F079002806D0307A002839
:1026900003D0F068201A322805D8F0687D21201A6E
:1026A000C90088427ED9307A574A00281DD07179F6
:1026B00060235943554B0120585064205064707971
:1026C000401CC0B27071F17A884208D9B06AB46215
:1026D000201AF062B079401CB071012070714C4832
:1026E000008A4C4F002830D038E0706A401C70627D
:1026F00049484168491C4160717960200B46434359
:1027000042489C46181803695B1C036143695B1CC3
:102710004361F779002F02D1876A7F1C876287693E
:10272000BB4200D983613948032BC8D900236746CF
:10273000C351C8209064394843544800384941186F
:102740000F20800108188386B9E7FFF70FF9354994
:1027500080B28882C1B2F982000A38832F49B87DDD
:1027600010314870387E887072792F488B5C037006
:10277000891849784170602113464B43234900274B
:10278000C9588170C77005712B0A43712B0C837176
:102790002B0EC371F4606C462378B4799B089B00C0
:1027A000A40700E028E0A40F23436C46237000290F
:1027B00025D0EF210B402370029008211748009389
:1027C0000191412300212030FFF714FF13490246F5
:1027D0002031049802F046FC7179602041430B4897
:1027E00008184168491C4160C268F1688A1A42634E
:1027F000C1607563F7713772002005B0F0BD10211C
:102800000B43D8E7F0000020441900202C0C0020D6
:10281000781B0020C4170020F80900200C0B0020B2
:10282000C4130020041600202C0F0020F7B50878F0
:1028300086B00C46552801D0252802D0012A00DD9B
:102840004C1C4C4D627968796021049048434A4998
:102850002B4640188168491C8160474980390391A3
:102860001F6BDB68E678FF1A2B46A1789B69303E28
:102870000093330003F0D8FB13420B174242422966
:10288000424242424242424242422C4542003B487E
:10289000A37943542179A01D322301920091029023
:1028A0000021049A22E06F61009A974200DDAF6137
:1028B000324AA37953540021C7624161016BB94286
:1028C00000D207630120287218E00120E87115E0AA
:1028D0002A48A179017010300078A0712179A01DDB
:1028E0000192009102904223297900220398FFF778
:1028F00081FE02460399069802F0B4FB002009B05D
:10290000F0BD6F610098874200DDAF611B4AA0797E
:1029100050541B4A490089180F2292018918888651
:102920001848008A002809D11748C18E008F00027C
:102930000818164980B2888602F048F96A79602042
:1029400042430D480021161871616869F062316BCD
:10295000814200D230632046677A0A30FEF74BFC92
:10296000617B0002000A09060843B90071188863F8
:10297000A8E70000F00000202C0C00200C0B002029
:10298000C4130020781B00208417002004160020A8
:10299000F7B515460C46FFF75BF81A4E3063217801
:1029A0000020552903D1012D01DD641C6D1E3178F5
:1029B00000290FD00127F7712A4621460098FFF71A
:1029C00097FD002805D137722A4621460098FFF767
:1029D0002DFFFEBD71780029FBD00B4E2A46B06B4F
:1029E0002146401CB063009800F012F80028F0D196
:1029F00006482A46406C30652146009800F080F871
:102A0000FEBD0000F00000202C0C00204419002026
:102A1000F0B508460D460978552901D0252903D07F
:102A2000012A01DD451C521E297800231A4FDB4381
:102A30001A4C252906D0A068401CA060386C401CA8
:102A4000386409E014496E79896C491C802E05DDD3
:102A5000E068401CE060B9641846F0BD33460833B6
:102A60009A4206D2B964E068401CE0600220C0438C
:102A7000F0BDB11DFFF730FDA9198979814208D059
:102A80002069401C2061F86C401CF8640320C0439E
:102A9000F0BD0020F0BD00002C0C0020F809002043
:102AA000F8B5FEF7D5FF134B1A69197900291FD025
:102AB0005C7A1149002C05D07D20800148640020FB
:102AC000587215E00C4E0D4C851A8036A54204D97B
:102AD0007D2292018A64012206E01219904207D9F0
:102AE0007D2292018A6402228A67C8671869306071
:102AF0000020F8BDF000002044190020E02E000066
:102B0000F7B5087884B00C46552802D1012A00DDBB
:102B10004C1C5B480168491C016065796078594923
:102B2000594A0391574E11798036884208D0FF28C0
:102B300006D0706C401C70640020C04307B0F0BD2C
:102B4000884201D0FF287DD1106B009010610120D8
:102B500050724C4FE078A03F372873D007DC3038F4
:102B6000030003F061FA068B138B8B8B238B612898
:102B700068D004DC382865D041287FD11FE0622866
:102B80007CD063287AD0642878D16CE0A079387042
:102B90003C4890380078A071009810612279A01DFF
:102BA0003223009201950290002250E0002021790A
:102BB00036230091019002460290012147E0A0795E
:102BC0003870E179314B79705975E37AA17A1B023B
:102BD000CB182D49CB6101F0F9FF2B48877AFEF71E
:102BE000C5FE2849294A90390870203A527D4A701A
:102BF000A0714878E071B80067728019018FA172E6
:102C0000018F090AE172816B090C2173806B1E49E7
:102C1000000E60731C48807A401CC0B288720A287B
:102C200001D300208872207969460870C00603D558
:102C30007D20174980018864A01D2179422300224C
:102C4000019500E01AE002900F4800910179039885
:102C5000FFF7D0FC0246F06B401CF0630399049828
:102C600002F000FA0AE0E179A07909024018217A1D
:102C7000637A09041B06C9184018D06100205DE77B
:102C8000F8090020AC0B0020F000002024160020E2
:102C900044190020034610B50020024602E09C5C67
:102CA0006040521C8A42FADB10BD30B50D46084622
:102CB00009781446252901D0012030BD062C01D207
:102CC000032030BD611EFFF7E5FF29192039C97FB8
:102CD000814201D0042030BD002030BDF8B51E4631
:102CE0000B465527069D0799077043708270C67082
:102CF000044605712A46401DFEF759FA691D204613
:102D0000FFF7C8FF014660194171A81D052E02DAC0
:102D1000002E00D10020F8BDFEB516460F46054630
:102D2000FFF7C3FF040014D068460472042000902B
:102D300002A90B4801910278401E0178EE23094850
:102D4000FFF7CCFF02460749284602F08BF92046E0
:102D5000FEBD32463946284600F006F8FEBD0000AA
:102D60002D010020BC0F0020F7B5FA4886B04F783F
:102D700042688260421C15788E782D0936072D0135
:102D8000360F0B7935431570F34A029200780C46E2
:102D90000490874201D0FF2F77D12146E678093190
:102DA000EE488C46332E72D028DCED49182E0A6886
:102DB0006CD012DC072E20D008DC002E65D0012E4E
:102DC0003ED0032E41D0052E7ED160E0112E7CD066
:102DD000162E7BD0172EF7D13FE2232EEED006DC45
:102DE000192E74D0212E73D0222EEDD18FE1242EF6
:102DF000E4D0312E4BD0322EE6D1BFE0582E68D031
:102E000012DC542E66D008DC342E71D04F2E70D0D8
:102E1000502E6FD0532ED7D16EE2552E6BD0562E3A
:102E20006AD0572ED0D164E23046633804210300C3
:102E300003F0FAF809F0EFEE171D4A104A154A00A0
:102E4000641D00930194012351E2C649182003E058
:102E50003946C7E2C4490C200191009005E0C348FF
:102E6000F6E1C24910395020F6E733463FE2E179F6
:102E70000020B94A03E023185B7A1354401C8842AF
:102E8000F9DBB54802F07AFEA3E075E2EEE1A27943
:102E9000617912028918E27989B2882B2DD0892BA9
:102EA0002FD08A2B31D0832B34D0842B37D0852B55
:102EB0003AD0862B3DD0872B40D08B2B43D08C2B08
:102EC00046D0FE2B1DD006E097E29FE1AEE1EDE19A
:102ED000C9E066E227E2A92B3FD0B32B41D0992B62
:102EE00042D0A12B45D09C481038401800925FE298
:102EF00044E0F6E1F1E140E249E2490009189C486A
:102F00003AE0490009189B4836E0490009189848FA
:102F1000203831E049000918952080002CE0490054
:102F200009189D20800027E049000918A52080008D
:102F300022E049000918FD2080001DE04900091821
:102F40008B48A03818E049000918DD20800013E004
:102F500049000918BD2080000EE049000918864884
:102F60000AE04900854807E0854849000818001D27
:102F7000BCE749000120C0060818B7E7A2796179CB
:102F800012028918E27989B2882B25D0892B27D0A3
:102F90008A2B29D0832B2CD0842B2FD0852B32D079
:102FA000862B38D0872B3BD08B2B3ED08C2B41D01F
:102FB000FE2B45D0A92B47D0B32B49D0992B4AD013
:102FC000A12B4BD064481038401800226146FEF710
:102FD000EEF80020009024E149000918644840E020
:102FE0004900091863483CE0490009186048203846
:102FF00037E0490009189520800032E0490009189F
:103000009D2080002DE049000918A520800028E0BF
:10301000DFE1D2E1CEE149000918FD20800020E087
:10302000490009185248A0381BE049000918DD2062
:10303000800003E049000918BD2080000818C4E79B
:10304000490009184B48F9E7490009184A48F5E7CB
:1030500049004A48F2E74900494802E04900012096
:10306000C0060818B2E7A27961791202891809220C
:10307000920189B2002B0FD0012B13D0022B1CD050
:10308000032B20D0042B26D0052B2AD0062B28D0AA
:10309000082B34D000202AE00B095B00181833E01D
:1030A000012024E00B095B00181811E00A07120F39
:1030B000012191400840F3D119E00A09520010188B
:1030C0000522D20120E00A09520010180F229201B5
:1030D0008018808EEAE70A09520010180122920235
:1030E00012E0C90008184030007E4006C00F694653
:1030F0000873012003A9212301910090F7E00A0938
:10310000520010180922D2018018808ACEE7A279D5
:1031100061791202891889B2002B33D0012B3AD081
:10312000022B41D0032B48D0042B4FD04022052B3B
:1031300054D0062B52D0072B5BD000206946087371
:1031400000200090034803A9401C0191027822232B
:103150007EE600002C010020BC0F0020C4130020DC
:103160003C1100204C6D0008ACF7FF1F107C0008DC
:10317000B4040000B4050000B40600002C0C0020CC
:10318000441300200B070909490009181B0F95205B
:10319000E279800035E00B070909490009181B0F87
:1031A0009D20E27980002CE00B07090949000918ED
:1031B0001B0FA520E279800023E00B0709094900D5
:1031C00009181B0FFD20E27980001AE00B0709099E
:1031D0001B0F49000918E2798D4812E0C900081850
:1031E0004030018B9143E279D207520E11430183A3
:1031F000A6E70B070909490009188548E2791B0F62
:1032000080300818194601F051FF99E7002B05D0CE
:10321000012B00D0DDE602F007F9DAE602F03CF916
:10322000D7E601907B48E378027811E6A1796079CE
:1032300009024018E179784A80B2002B0AD0774C15
:10324000012B03D0764B9B8A002B03D04000001942
:103250000091ADE040008018FAE7002A01D000207C
:103260000860002000901723019040E0002A01D060
:1032700000200860A17960790902401885B2E279DE
:103280000020684903E02618767A0E54401C9042CC
:10329000F9DB6449284602F07FFC002009340090E5
:1032A00001905C48039402781823D1E5A1796079F4
:1032B000090241185A48C182818A00290BD0002195
:1032C0008182574801F08EFE002000900190514805
:1032D00019230278BCE50121F2E75148038300205D
:1032E00002E04F490020088300900190E3782A46CD
:1032F000AEE54B492020AFE5A1796079090240187D
:10330000494980B20A18E179121D782801D30021B9
:1033100005E00B18782B02D97821081A81B2C8B2BF
:1033200001920090A1E5A1796079090240183E4917
:1033300080B20B18E2791B1D782801D3002205E02A
:103340001118782902D97821081A82B261461846E4
:10335000FDF72DFF0020009001902E48E3780278C1
:1033600039460298FFF7BAFC02460299069801F026
:1033700079FE2D4802F030FC3CE02B4802F02CFC9A
:1033800000200090019023485523027860E52448EE
:1033900001F028FE0020009001901E48562302787C
:1033A00056E5032109022148FDF71AFF002000908D
:1033B00001905AE51E481F4A4DE7A179607909023C
:1033C0004018E17980B20D01FEF7BEFAE9B2009132
:1033D00027E7FEF7E5F80020009001900D486523EF
:1033E000027835E50298FFF779FC024602990698C3
:1033F00001F038FE002009B0F0BD022069460873D4
:1034000003A901200191EE232A4600900499E9E7DF
:10341000140400002D0100200080000800A0000816
:10342000781B0020BC0F0020441300202C0C00202F
:10343000C4130020F405000070B5FEF77BF81648B1
:1034400000F078FA154D164C6869A065124881683D
:1034500061658188491C81808088E0640E4801F0A4
:10346000C1FD2868206768686067A868A0670122B6
:103470000C4B1146A06DFEF701F820468030E9683C
:103480000160A9694160E96981602969C160296AAF
:103490000161002070BD0000781B00204001002069
:1034A000441900203930000030B5836801221340F0
:1034B00002D00022104630BD8C684B68C968234397
:1034C000C468034D2C4021430B43C360F2E7000066
:1034D000C73FFFFF30B583680122134002D00022AE
:1034E000104630BD18C94D6823430C6889682C43C9
:1034F00023430B43C168024C21400B43C360EFE7F9
:103500003CC2FEFF08B504494A6902434A61496961
:103510000140009108BD00000010024008B50449B8
:10352000CA690243CA61C9690140009108BD00002F
:103530000010024008B504498A6902438A6189691A
:103540000140009108BD00000010024070B5094E16
:1035500004467618203E049D0C34F17F0830102D6F
:1035600003D00A50F07F035170BD0A51F17F0B5018
:1035700070BD0000F46D0008044A51182039C97F5D
:10358000425852085200425070470000F46D000843
:10359000044A51182039C97F425801231A43425026
:1035A00070470000F46D0008044A51182039C97FA3
:1035B000425802231A43425070470000F46D00083D
:1035C000054B10B559182039C97F435803242403EB
:1035D000A3431343435010BDFA710008054B59181B
:1035E0002039C97F001D0B581B0C1B0413430B50C3
:1035F00070470000F46D0008054B10B559182039CC
:10360000C97F4358034C23401343435010BD00006F
:10361000FA710008EFBFFFFF054B10B559182039AC
:10362000C97F43588024A3431343435010BD000077
:10363000FA710008054B10B559182039C97F435855
:103640000324A402A3431343435010BDFA7100089E
:10365000054B10B559182039C97F43582024A3437E
:103660001343435010BD0000FA710008054B10B51C
:1036700059182039C97F43584024A343134343506A
:1036800010BD0000FA710008054B10B5591820391B
:10369000C97F435803242402A3431343435010BD5E
:1036A000FA710008F0B500233CE001249C40224060
:1036B00037D04F6806681446544365006519AE4319
:1036C00067433E4306604E68012E01D0022E05D1AD
:1036D0008F6886686743AE433E4386600F69C6685D
:1036E000AE4325467D432E43C6604D68022D18D15A
:1036F0004D69FF2A09D8066A544354432201121B1C
:1037000096436C43264306620BE0140A224662434A
:10371000624362431401A61A446A6A43B4431443E1
:1037200044625B1C0A681446DC40BED14A68012A28
:1037300001D0022A06D10A68C968436893434A4304
:10374000134343600120F0BD10B5044601F07EFA3A
:10375000206001F061FA606001F06CFAA06010BDB9
:10376000014610B5002000290FD1104A116B8907BE
:10377000890F01290AD0022911D0032909D001F0AB
:1037800065FA01F049FA01F055FA10BD01F05EFA50
:1037900010BD11688907C90FFAD0054810BD116A1C
:1037A0008907C90FFAD00120C00310BD00100240E4
:1037B00000127A00F0B50268194B1A4C984201D0F9
:1037C000A04203D17025AA434D682A43164D174ED7
:1037D000174F98420AD0A04208D0164CA04205D0FC
:1037E000A84203D0B04201D0B84204D1032424023D
:1037F000A243CC68224302608A68C2620A8882625D
:10380000984205D0A84203D0B04201D0B84201D1BD
:10381000097C016341690122114341611046F0BDF9
:10382000002C0140000400400040014000440140E1
:10383000004801400020004041680122D20291432B
:10384000416081680822914381607047FEB504465B
:1038500000680D460026C007C00F4FD1E9686868B0
:10386000AA6908432969114308432168244A114081
:1038700008432060A8686168032212039143014352
:1038800061606869A168121191430143A1601D48FC
:10389000844203D10020FFF763FF12E01A488442FC
:1038A0000BD01A48844208D01948844205D01948E0
:1038B000844202D01848844220D16846FFF744FF72
:1038C000029800281AD02968002917D00126AA6971
:1038D000F3039A420CD140004A088018FDF706FC19
:1038E0000E4980B201400007420F0A43E26005E042
:1038F0004A081018FDF7FAFB80B2E0603046FEBDC2
:10390000F369FFEF003801400044004000480040E8
:10391000004C00400050004000140140F0FF000047
:1039200010B580220249FDF742FC002010BD0000C6
:10393000646D0008F0B5154A00215514144C154F5C
:103940000CE0D65ABE4208D19B185B886668B34229
:1039500003D90AC44B1C2360083C491C4B01AB42F1
:10396000EFD321680123002905DB490189182022B2
:1039700001F006FA00E08380A06840012030A842F0
:1039800001D90020A0600020F0BD000000C80008A0
:1039900040010020AA5500001FB50B46024604A1B5
:1039A000684602F02DFB0146684601F013F91FBD81
:1039B000201B5B25643B25644800000070B5012096
:1039C0008AB04002FFF7B6FD224CA06A03263043BE
:1039D000A0622149B0050A68824302430A60A26AD4
:1039E00083111A43A2620A68824302430A600025D7
:1039F00005950695079505A920460895FFF754FDFE
:103A00000120039000950195029569460495204692
:103A1000FFF760FDE16804208143E1606169C90846
:103A2000C9003143616161680143616060680821D8
:103A300088436060A06817218843C9070843A060D5
:103A4000A068C00FFCD1A06804490840401CA060D9
:103A50000AB070BD0024014008270140E8FFFF7F45
:103A600010B50120FFF74EFD00210A2000F08EFC6A
:103A70000A2000F081FC00210B2000F087FC0B20C5
:103A800000F07AFC10BD0000F0B5012087B04004C2
:103A9000FFF738FD01208004FFF734FD0120C0044A
:103AA000FFF730FD01208005FFF72CFD1C480125A4
:103AB000002403266A46049551C20927FF06694679
:103AC0003846FFF7EFFD1920000203946A4604947C
:103AD00061C269463846FFF7E5FD2802B861114822
:103AE0006A46049551C2104F69463846FFF7DAFD21
:103AF0000B20000303946A46049461C26946384669
:103B0000FFF7D0FD0720400300900294039469461C
:103B1000019504940548FFF7C5FD07B0F0BD00000E
:103B2000C0800000E743000000040048000800488F
:103B30000848074901600849016004214160074ABB
:103B40008260C1684907FCD1026105490160704784
:103B5000CCCC00000030004055550000FF0F0000A5
:103B6000AAAA000010B586B014216846FDF738FBFC
:103B70001020FFF7D3FC0021112000F007FC1120DA
:103B800000F0FAFB2F2069460880002001900848C9
:103B9000084C02902046FFF70DFE206880218843E4
:103BA0002060E06801210843E06006B010BD00001D
:103BB000E70300000010004070B501208EB08003C4
:103BC000FFF7B8FC03204002079002200890032072
:103BD00000240990012509200A9407A90C950B944B
:103BE000C006FFF75FFD3A4E102202213046FFF774
:103BF00003FD002202213046FFF7E2FC00220221F1
:103C00003046FFF725FD002202213046FFF72EFD4A
:103C1000802202213046FFF7FFFC002202213046BD
:103C2000FFF732FD002202213046FFF703FD00229C
:103C300003213046FFF7E0FC002203213046FFF766
:103C4000BFFC002203213046FFF702FD00220321C2
:103C50003046FFF70BFD802203213046FFF7DCFCE6
:103C6000002203213046FFF70FFD002203213046DA
:103C7000FFF7E0FC00211B2000F088FB1B2000F078
:103C80007BFB1448694600680090019402940394F9
:103C9000059406940C20104C04902046FFF7D6FDA6
:103CA0006068290508436060606849000322520586
:103CB000904308436060A06849120843A060204612
:103CC000FFF7BAFD2068284320600EB070BD0000E9
:103CD00000000240D800002000380140F0B58DB04F
:103CE0001C2106A8FDF77CFA18216846FDF778FA32
:103CF000012464042046FFF711FC2046FFF702FC74
:103D0000012500240E200226032703956A46059507
:103D10000494C1C209206946C006FFF7C3FC00969F
:103D20000920039504956946C006029701960595FA
:103D3000FFF7B8FC464E102204213046FFF75CFC2A
:103D4000002204213046FFF73BFC002204213046CC
:103D5000FFF77EFC002204213046FFF787FC80221B
:103D600004213046FFF758FC002204213046FFF7BB
:103D70008BFC002204213046FFF75CFC0022052169
:103D80003046FFF739FC002205213046FFF718FCCA
:103D9000002205213046FFF75BFC0022052130465A
:103DA000FFF764FC802205213046FFF735FC002236
:103DB00005213046FFF768FC002205213046FFF759
:103DC00039FC00211C2000F0E1FA1C2000F0D4FA9C
:103DD000A61EFF21304600F0D9FA304600F0CCFA9A
:103DE0001C48EE03006806900794089409940C2080
:103DF0000AAA51C2184C06A92046FFF727FDA06861
:103E000021140843A060A068B0433043A06020683C
:103E10001F214905884308432060206849118843D1
:103E200008432060606829050843606060684900B5
:103E30007A05904308436060A06849120843A06077
:103E40002046FFF7F9FC2068284320600DB0F0BD44
:103E500000000240DC0000200044004010B58EB09D
:103E60001C216846FDF7BCF9182107A8FDF7B8F931
:103E70000124A4042046FFF751FB2046FFF742FB34
:103E800018200790022008900320099000240420A5
:103E90000C900A940B9407A91348FFF703FC002128
:103EA0001D2000F073FA1D2000F066FAE120800268
:103EB00000900C2004900194029403940594012036
:103EC000C0030A4C069069462046FFF7BFFCA06875
:103ED000A1140843A0602046FFF7AEFC2068012132
:103EE000084320600EB010BD0004004800480040A8
:103EF00010B58EB01C216846FDF772F9182107A88D
:103F0000FDF76EF901200005FFF708FB0120800492
:103F1000FFF7F8FA18200790022008900320099074
:103F2000002404200C900A940B9407A91348FFF76F
:103F3000B9FB00211D2000F029FA1D2000F01CFA19
:103F4000E120800200900C200490019402940394DC
:103F500005940120C0030A4C069069462046FFF7ED
:103F600075FCA068A1140843A0602046FFF764FC1C
:103F700020680121084320600EB010BD00040048F5
:103F80000050004030B58DB01C216846FDF728F97F
:103F9000182107A8FDF724F92020FFF7CBFA01200C
:103FA0004004FFF7AFFA302007900220089003206A
:103FB0000990052000240C9009200A940B9407A96D
:103FC000C006FFF76FFB00211D2000F0DFF91D2068
:103FD00000F0D2F9E1200002009001250194029442
:103FE00003940C20ED0304AA31C20B4C6946204611
:103FF000FFF72CFC6068A84328436060A068A11408
:104000000843A0602046FFF717FC20680121084301
:1040100020600DB030BD00000014014000B508461E
:10402000042A02D80020C04300BD01787F2902D9AC
:104030000120C04300BD41784906490E1F2902D91D
:104040000220C04300BD114602F094FA0028F9D0C6
:10405000042000BDF7B588B00F460A9A0898FFF70C
:10406000DDFF0690002803D00020C0430BB0F0BD58
:10407000BD483A7800783946824273D18C784A78C4
:10408000CB78B98824024DBAB8491C4308704A70ED
:1040900001200790200521070226000E090F1300BA
:1040A00001F0C2FF11A60A508DA7BFDDA6A6A6A6E5
:1040B000A6A6A6A6E9F0A600E81DC008AB49039095
:1040C0008870002038E000270120059701900098B3
:1040D000C000049026E0210701222009090FD20226
:1040E000944207D24200A2481218092080011018F9
:1040F000808E05E042009E481018FF308130808A93
:10410000FDF798FB002801D0019807430198641C33
:104110004006000E01900598A4B2401C05900828A6
:1041200004DA049805994018A842D4DB8F48009916
:104130004018C7700098401C039900908842C2DB69
:10414000761854E0E81DC008884903908870002064
:1041500030E0002000900120019002980027C0006C
:1041600004901DE0FDE02005000E4200804821077C
:104170001218092080011018090F808AFDF75AFBD8
:10418000002803D001990098084300900198641C0E
:104190004006000E7F1CA4B20190082F03DA049899
:1041A000C019A842DFDB7149029A00988918C870CB
:1041B0000298401C039902908842CADBC0E768005D
:1041C0006A498446887000200EE021184A00684938
:1041D000470052180921C9015118898E634A0B0AF8
:1041E000BA18D3701171401CA842EEDB17E0761CA0
:1041F0008DE068005D4A8446907000200DE0211833
:104200004B005B4947005B18092189015918898ACD
:10421000BF180B0AFB703971401CA842EFDB6644E3
:10422000E5E7002D12D0FF221202954207D142008D
:104230004F4812189D208000101800F02FFF3946BB
:104240004A480A9AFCF7B3FF0A9E85E042004848B4
:1042500012189D208000101800F0E0FDEFE738797B
:104260007979000208434249620052180921C901C4
:1042700051188886E3E7E81DC0083C490390887020
:10428000002036E047E03818C07900900120019006
:10429000002005900298C000049024E0210701222C
:1042A0002009090FD2029442009B019A07D21A40BA
:1042B00043002F481B189D208000181805E01A4065
:1042C00043002B481818FF30953000F0FBFE019892
:1042D000641C4006000E01900598A4B2401C059095
:1042E000082804DA049805994018A842D6DB0298F9
:1042F000401C039902908842C5DB1C48B978817044
:10430000F978C1703979017179794171361D069852
:10431000002814D025E000200EE04100C919CA7918
:10432000097A12020A4321184B0011495B1809212E
:10433000C90159188A86401CA842EEDBDDE70798C0
:10434000002809D0B1B2094802F014F9074988558C
:10435000000A89194870B61C32460449089800F0D2
:1043600081FE002082E6000038010020BC10002001
:10437000C413002070470000C106C90E0120884008
:10438000014908607047000000E100E08307FF2258
:10439000DB0E9A408907090E994000280BDA0007C6
:1043A000000F0838830808489B001818C369934316
:1043B0000B43C3617047830804489B0018180368C7
:1043C00093430B430360704700ED00E000E400E01E
:1043D0008307FF22DB0E9A408907090E99400028C7
:1043E0000BDA0007000F0838830808489B001818EC
:1043F000C36993430B43C3617047830804489B0020
:104400001818036893430B430360704700ED00E006
:1044100000E400E070B572B60125094A2D039561EC
:1044200080210C028B019362084201D0946100E06C
:10443000946249089361F6D19562956162B670BD48
:104440000004004810B501200449C0064860044833
:104450000168491C016000F005F810BD00ED00E0A6
:10446000D400002070B5094DE86F00280CD0084C2E
:10447000084902202268FEF78BFA00202060E867D6
:104480008021044801F086FA70BD00007809002000
:10449000E40000208C0A002010B50648054B007887
:1044A0000021403B5A1840325478491C14700F299F
:1044B000F8DB10BD0414002010B5084C084B012295
:1044C0000221A06DFCF7DAFF064800F08BFDE06DDD
:1044D000401CE065A06D2066002010BD441900203E
:1044E00039300000781B00200248C16D491CC165AD
:1044F0000020704744190020F3B5FA4D85B02868B4
:1045000000286FD0686800281CD000220D210820E8
:1045100000F0EEFD00221146082000F0E9FD012226
:104520001146082000F0E4FD00200146EE4A131871
:104530004033401C19701028F8DB00260121144676
:1045400040347BE20122E1E7B2000598059B805CE4
:10455000D7187A78019201257B8800931B2873D0A5
:1045600012DC0246030001F05FFD1B5C7272727286
:1045700072723E3E3E3E3E3E5C5C5CA7A7A73E3E5E
:10458000BEBEBEBEBEBE5C00342870D011DC01468B
:104590001C390B0001F048FD18A7A7A7A7A7A7A7DC
:1045A000A7A7A7A745454545454545454545454533
:1045B000F7453A2873D008DC014635390B0001F085
:1045C00033FD05E26E56E26E3000DC2804D004DCD8
:1045D0003B28EFD0C82824D120E1DD28FCD0FA28E0
:1045E000F9D11BE133E2D01F030001F01DFD0E08DD
:1045F0000A10181B1D1A1A1A1A1A1A20261A207CB9
:104600004AE0FFF749FF00281FD0207C3AE0FFF77F
:1046100043FF002816D1207C002813D125E000F0AC
:10462000C3FAF5E12078F7E7FFF736FF1DE0207CBD
:1046300000280AD0002905D007E0207C002804D1FA
:10464000002902D0012010E04DE000200DE0130011
:1046500001F0EAFC070C050E111B262E0C0000F0E1
:10466000A3FA00990198FDF7F9F82074D0E11AE156
:1046700000F09AFA0CE0207C0028E6D0009901981E
:10468000FDF7ECF80028E0D0DCE7207C0028DCD047
:1046900000990198FDF7E2F80028D6D1D2E758E159
:1046A000207C0028CED100990198FDF7D7F8B3E718
:1046B000207C0028ECD0C5E7102804D0112804D0B5
:1046C000122AAED10AE0227C03E0207C0028A8D088
:1046D00001220099019800F00BFD99E1207C00284F
:1046E0009FD00022F5E715383D79030001F09CFCCE
:1046F000120A1215181B0F1E3C4C5B6A2D7981851E
:10470000898D7D9400F050FA13E0207484E000F06D
:104710004BFA1DE000F048FA29E000F045FA36E0D7
:1047200000F042FA42E000F03FFA4EE0207C002820
:1047300070D028460099FDF71FF90546F988787969
:10474000FDF71AF9854263D064E0207C002861D02F
:1047500028460099FDF710F90546F9887879FDF7A4
:104760000BF9854254D155E0207C002852D02846D0
:104770000099FDF701F90546F9887879FDF7FCF80D
:10478000854245DB46E0B1E0207C002842D0284647
:104790000099FDF7F1F80546F9887879FDF7ECF80E
:1047A000854235DC36E0207C002833D0284600994D
:1047B000FDF7E2F80546F9887879FDF7DDF88542DE
:1047C00026DD27E0207C002824D028460099FDF72C
:1047D000D3F80546F9887879FDF7CEF8854217DADF
:1047E00018E0207C002813D1A3E7207C00280FD1FB
:1047F000AEE7207C00280BD1B9E7207C002807D148
:10480000C5E7207C002803D1D0E7207C0028DCD03D
:1048100001207AE7002078E70225F9E03F79154684
:10482000C8280DD0DC2823D0DD282AD0FA28F3D1DF
:104830002D48E90008184030007EC0062AD508E05F
:104840002948E90008184030007EC00601D4002144
:1048500021E0207C002822D038460099FDF78CF812
:104860000146284600F0E2FA284600F0F5F84CE749
:104870001D48E90008184030007EC006E9D4012137
:1048800009E01948E90008184030007EC006E0D46D
:10489000022100E003212846FDF78EFDD9E72846D6
:1048A00000F01AFEE0E73F790225342802D03728CD
:1048B00016D108E0207C002812D038460099FDF778
:1048C0005BF8401C07E0207C002809D0384600999E
:1048D000FDF752F8401E02463846009900F07EFC73
:1048E00096E000003C110020C41300203D79797946
:1048F0000291F9880191332814D035281BD038282B
:104900008AD1207C002887D00298FDF735F8074629
:1049100028460099FDF730F83A1A0199029800F0FC
:104920005DFC79E7207C0028FBD028460099FDF744
:1049300023F80246F1E7207C0028F2D028460099AF
:10494000FDF71AF8054601990298FDF715F82A189F
:10495000E3E73A7979790291F9880191797A0391BB
:104960007D89362806D0392812D03A281FD03B2816
:104970004DD131E0207C002849D010460099FCF749
:10498000FBFF074601990298FCF7F6FF3A180CE086
:10499000207C00283BD010460099FCF7EDFF07462D
:1049A00001990298FCF7E8FF3A1A29462CE0207C8E
:1049B00000282CD010460099FCF7DEFF07B20199C1
:1049C0000298FCF7D9FF00B247433A4629460398BC
:1049D00000F004FC3A1416E0207C002817D01046A2
:1049E0000099FCF7C9FF07B201990298FCF7C4FFD0
:1049F00001B23846FCF790FB02B20F4629460398F5
:104A000000F0ECFB3A46691C039800F0E7FB032535
:104A1000301141000F48012308183107090F02899E
:104A20008B401946114000D00121277C0830002F0F
:104A300001D01A4300E09A43028076190698864214
:104A400000DA81E503494868401C4860002007B04F
:104A5000F0BD00003C110020FEB50746402802DBF7
:104A60000020C043FEBD2C48F9000E1800964036C9
:104A7000348BE10601D40020FEBDA1063CD56106C1
:104A80003FD42649096800980A25406D0190081A0C
:104A9000A1070FD0A107890F012905D0022905D050
:104AA000E143890705D005E0642503E07D25ED009D
:104AB00000E01B4DA84224DB2946FCF72DFB0146F4
:104AC00015487A0012180B20800110188446808E39
:104AD000019B401869435B18009980B24B650D211A
:104AE00089015118898E814203D8084640210C4320
:104AF00034836146888604E0600602D54020844302
:104B00003483307EB9B24006C20F052000F0F0FABF
:104B1000307E4006C00FFEBDC4130020E007002019
:104B200010270000F7B50446FCF7FBFE0546029986
:104B30002068A942A16806DC4018029A0199FCF796
:104B400036FB029919E040182A460199FCF72FFB21
:104B500029462046FCF7D8FC2046FCF7E2FE064634
:104B60000298471BB7420DDCA16820683A464018FE
:104B700001994919FCF71BFB39462046FCF7C4FC98
:104B80000298FEBD002E0CDDA16820683246401858
:104B900001994919FCF70BFB31462046FCF7B4FCA0
:104BA000AD192846FEBD0000074A0F2011183F230B
:104BB0005B5C4031401E0B700028F7DC024940313D
:104BC000087C087070470000C413002000B5FFF790
:104BD00021FC00BD10B50C460A4601460348FFF70C
:104BE000A1FF00F0BFFE204610BD00003C090020E0
:104BF00010B50C460A4601460348FFF793FF00F044
:104C0000B1FE204610BD00003C09002010B50C4646
:104C100000F010FF204610BD04494968F022114001
:104C2000034A0909515CC840704700000010024067
:104C30000472000803494968034A4905490F515C59
:104C4000C8407047001002401472000810B50748B1
:104C500041680C200140064805D0042904D00829E9
:104C600001D100F009F810BD024810BD001002404B
:104C700000127A00001BB70010B50D4C60680321CC
:104C8000C90301220840D203811A0A4802D0914286
:104C900000D10948E16A0907090F491CFCF726FA07
:104CA00061680F2292041140890C891C484310BD91
:104CB0000010024000127A00001BB7000920C00655
:104CC00000694106C90FC943C907CA0D012149023C
:104CD0008A430106C90FC943C907890D0A43012147
:104CE000C00B8902C043C0078A43400D02432248DB
:104CF00001690120C00282438807C00FC043C0077A
:104D0000000D02430120000382434807C00FC04347
:104D1000C007C00C024350088A06D30F012240008E
:104D20009A431043022290434A06D20FD243D2073D
:104D3000920F1043042290430A06D20FD243D207A7
:104D4000520F104308229043CA05D20FD243D20714
:104D5000120F8905C90F1043C9431022C907904398
:104D6000C90E0843054909695202C90BC943C9075D
:104D70009043890C0843704700040048000800482D
:104D800070B5D417A40F0023A418A51003E09C004D
:104D90000E5906515B1C9D42F9DCD40F6B00A41820
:104DA000651003E05C000E5B06535B1C9D42F9DC62
:104DB000104670BD00B5FFF781FF00BDF8B50023B8
:104DC00084468025DB431248002421462A464A4374
:104DD000121817880F4EB74209D17E26B75A0E4EC9
:104DE000B74204D15288A24201DD0B461446491C49
:104DF0000829EBDB082B06D26B431918802260468A
:104E0000FFF7BEFF02E06046FEF78AFD0020F8BD16
:104E100000C00008AA550000A55A00000B07028830
:104E20001B0F012199408A430280704730B540280A
:104E300002DB0020C04330BD0D4CC20013191A46DE
:104E40004032157EAD0611D4400000190D24A40196
:104E50000419A1860B240021A401001981860548AC
:104E600000685865108B202108431083002030BD56
:104E7000C4130020E0070020034610B500200246BE
:104E800004E09C5C2018521CC0B2D2B28A42F8D313
:104E900010BD000010B50B4C20461E388278611FF3
:104EA0004A704922227000796070085CA07003216A
:104EB0002046FFF7E1FFE0700421204600F040F8B3
:104EC00010BD0000F601002010B51C4C2078002811
:104ED00024D0207B80062DD1607901220023002878
:104EE00006D0A271E07900280AD0401EE07107E0E8
:104EF000A068401CA0600A2802D91420E071A371A8
:104F00006078002816D02179491CC9B221718142EC
:104F100000D922716371FFF7BDFF0BE02069401CCF
:104F20002061C82801D9642003E0E079002801D07D
:104F3000401EE071E068401CE06010BDD801002018
:104F400010B500F005FE10BD70B5044604291AD155
:104F50000321FFF791FFE178884214D1184900221C
:104F60000878002820780FD00B461433692808D120
:104F700065780879854204D101254D718A60A2784F
:104F80001A545878C87070BD4928FCD10C4D60780F
:104F90004B781E359842F6D1A078C87069200A6116
:104FA0002870487868708878A87003212846FFF731
:104FB00063FFE87004212846FFF7C2FF70BD0000C0
:104FC000D801002010B500F001F810BD0348816839
:104FD000C907C90F00D0C068704700000030014009
:104FE0007047000070B51A4C6168491C616019492E
:104FF0000180A18841801849CA6C8280496D816016
:10500000112181831549C183A1684A0114495118AE
:1050100000250B462A469E5CFF2E04D1521C202AF6
:10502000F9D3002D10D02022FCF758FBA068206097
:10503000401CA0604001012189022030884201D932
:105040000020A060002070BD202200F0FBFDEDE7F5
:1050500040010020AA55000044190020A55A000074
:1050600000C8000810B514460A46012802D00228DC
:1050700006D00DE021461046FFF7BAFD054804E0D2
:1050800021461046FFF7C2FD0348816F491C816726
:10509000204610BDE4080020780900200B07028894
:1050A0001B0F012199400A43028070470907090F2D
:1050B00001238B400188002A01D0194300E0994365
:1050C0000180704710B5002A02D0FFF7E7FF10BD3E
:1050D000FFF7A4FE10BD0907090F01238B400188CB
:1050E000002A01D0194300E0994301807047000075
:1050F00070B50B051B0E204C5B000D071C192D0F06
:10510000030000F091FF09060B14191E22272C3111
:105110003600FF292DD89520800003E0FF2928D8EC
:105120009D20800020182946FFF7D5FF21E0FF29A8
:105130001FD8A5208000F5E780291AD2FD20800025
:10514000F0E7802915D20D48ECE7402911D2AD20B7
:105150008000E7E740290CD2B5208000E2E78029F3
:1051600007D206482030DDE7802902D2034880308C
:10517000D8E7002070BD0000C41300201404000014
:105180000121C903034A002801D09162704791614F
:10519000704700000008004801218903034A0028E5
:1051A00001D091627047916170470000000800488B
:1051B00001210922C902D206002801D0916170475D
:1051C0009162704701214903034A002801D091628E
:1051D000704791617047000000080048F0B5304CFE
:1051E0004B001C190923DB01E6180B23DB01E51832
:1051F00092B28A283DD00EDC294F4B00DF190923DB
:105200009B01FF188338030000F00EFF0714181CE1
:1052100021262D46480099283ED006DC8B282CD02C
:105220008C2831D08D2839D133E0A12834D0FE2804
:1052300034D131E0102931DABA822FE010292DDA89
:10524000BA862BE0102929DA0520C00108E00829D8
:1052500024DA0F20800114E008291FDA01208002DF
:10526000201882821AE0802918DAB28616E0AA860F
:1052700014E0802912DAB28210E040290EDA0D2003
:1052800080012018828609E0402907DA0B2080017E
:10529000F7E7402902DAE8E78029E8DB0020F0BDE3
:1052A000C4130020F0B58DB0002501F019F9FCF70A
:1052B000CFFB059010213A4801F07CF90790FCF7EC
:1052C000C7FB04901021364801F01EF90690FCF748
:1052D000BFFB03901021324801F034F90190FCF734
:1052E000B7FB064610212E4801F044F90090FCF768
:1052F000AFFB2C4A04469068012108439060881E49
:10530000106129481061264B0021585C1070491C1F
:105310001029FADB1768FCF79BFB0B9001990098AA
:1053200002970190214F0091781921A1069B079ABD
:1053300000F066FE45190B98A11B001B019102901D
:10534000039A04990398B21A431A009208460599E1
:10535000421A781920A100F053FE441908A8FEF75C
:10536000F3F9264842680320C00302403819134667
:1053700023A100F045FE0419381926A1089A00F06F
:105380003FFE01193846FFF725FC01210D20FEF7ED
:1053900003FB24490320886000200DB0F0BD00000D
:1053A0001C6D00080030024001A00000E40700204E
:1053B0000D0A435243202025303458202025303414
:1053C00058202025303458202025303458202025DE
:1053D0003034580D0A00000074696D6520253034A2
:1053E000642020253034642020253034642020259A
:1053F0003034642020253034640D0A00001002404F
:105400004D61696E536F7572636520257820256440
:10541000200D0A00737973636C6B202564200D0ADC
:1054200000000000C000002030B50021174D0846E4
:10543000696042005219401C1181FF28F9DD0020EB
:105440000522134CD20143001B199B18401C998262
:105450001028F8DB00200922D20143001B199B18F9
:10546000401C9986FF28F8DD00201022C100091990
:1054700040310B8B401C93430B834028F6DB01200B
:10548000044928604882002030BD00003C11002003
:10549000C4130020781B002010B500210C480922FD
:1054A00001600C4B084692014400E418A418401C0B
:1054B000A1861028F8DB0020012292024400E418A3
:1054C000A418401CA1820828F8DB002010BD0000B1
:1054D0003C110020C413002010B5402802DB00203E
:1054E000C04310BD0B4BC100CA18114640310C7EA1
:1054F000A4060DD54000C0180B2300249B01C01842
:105500008486054800685065088B202290430883F4
:10551000002010BDC4130020E007002010B5FCF7E8
:105520006BFBFCF71DFF10BD70B594B030216846D1
:10553000FBF756FE0024022501260E94E80309908D
:10554000009605200F94C0040D9401960A900C94C7
:1055500008950B956846FCF7F1FC002803D08621DE
:1055600015A000F04BFD07200C900E9401210D9525
:105570000F940CA8FCF706FC002803D092210EA083
:1055800000F03CFD109610A81296FCF785FB002851
:1055900003D0A12108A000F031FD4B208001FCF7D1
:1055A000C7FE0420FCF77EFE00221146501EFCF7C9
:1055B0006FFB14B070BD00002E2E5C5372635C4212
:1055C00053502E630000000013480168012211436C
:1055D00001604168114A114041600168104A114060
:1055E00001600168012292049143016041683F22F9
:1055F000120491434160C16A09090901C162016B4A
:10560000FF22143291430163416B49084900416311
:105610000021816070470000001002400CB8FF08B4
:10562000FFFFF6FE04480169C907C90F02D0012136
:10563000C9430161704700000010004070B51B4C69
:10564000E0691B498006C00F11D01A4A0120106082
:10565000194A10600869401C0861A28C4868401C07
:105660004860174B154D18682A54401C1860E069B3
:105670000007C00F04D008202062C869401CC86120
:105680002068C006C00F07D0E069C006C00F03D075
:105690001020206200F01EF9E0694006C00F03D020
:1056A0004020206200F056F970BD00000038014033
:1056B000E4080020E8000020EC0000200C0A002094
:1056C000E000002010B5104CE069E0690007C00F51
:1056D00005D0082020620D48C169491CC1612068BD
:1056E000C006C00F07D0E069C006C00F03D010206D
:1056F000206200F07FF9E0694006C00F03D040202F
:10570000206200F0C7F910BD004400407809002075
:10571000F8B55E4CE0698006C00F09D0A08C5C4AE9
:10572000C1B21068FF2803D25A4B1954401C1060B4
:10573000E06900250006C00F8026002810D05649D9
:10574000564A08681368984205D30D6015602068B2
:10575000B043206004E0524A125C401C086022857D
:10576000E0690007C00F01D0082020622068C00651
:10577000C00F07D0E069C006C00F03D01020206220
:1057800000F090F9E06940274006C00F002802D0E1
:10579000276200F093F9434CE0698006C00F09D0FE
:1057A000A08C414AC1B21068FF2803D23F4B195464
:1057B000401C1060E0690006C00F10D03C493D4B12
:1057C00008681A68904205D30D601D602068B043D8
:1057D000206004E0384A125C401C08602285E069C1
:1057E0000007C00F01D0082020622068C006C00F4B
:1057F00007D0E069C006C00F03D01020206200F07F
:1058000075F9E0694006C00F02D0276200F07AF90E
:105810002A4CE0698006C00F09D0A08C284AC1B28A
:1058200010683F2803D2274B1954401C1060E069D0
:105830000006C00F10D02449244B08681A68904213
:1058400005D30D601D602068B043206004E0204A4D
:10585000125C401C08602285E0690007C00F01D07F
:10586000082020622068C006C00F07D0E069C0068B
:10587000C00F03D01020206200F05CF9E069400600
:10588000C00F02D0276200F061F9F8BD0048004067
:1058900074010020141E0020A001002078010020C7
:1058A000541D0020005000407C010020141F0020E7
:1058B000A401002080010020941D0020001401405C
:1058C0008401002014200020A8010020880100206D
:1058D000D41D00200548416A491C416204490968F9
:1058E000002901DD0121C16770470000E4080020A4
:1058F000E0000020F8B5144D0C460646022128466B
:10590000FDF73AFE10200090104B32460221284647
:10591000FDF71CFE224602212846FDF75FFE02210C
:105920002846FDF735FE0A48046301214172022131
:105930002846FDF739FE0548283881688022114342
:1059400081602046F8BD0000000002402838014078
:10595000E40800200248016A491C01627047000007
:10596000E408002010B50A48407A00280DD1084C00
:10597000206F5834002808D12046FBF7BFFF0146AE
:10598000E26820688018FFF7B5FF002010BD000016
:10599000E4080020F8B5144D0C46064605212846BB
:1059A000FDF7EAFD002000903346104A0521284605
:1059B000FDF7CCFD224605212846FDF70FFE052107
:1059C0002846FDF7E5FD0A4844630121817205215F
:1059D0002846FDF7E9FD0548243881684022114337
:1059E00081600020F8BD0000000002402444004017
:1059F000780900200A480B4900794058802180B27C
:105A0000081A0949012208600849CA674A6A521CF3
:105A10004A62002803DD01200549000748607047FD
:105A2000F46D000804000240E40000207809002022
:105A300000ED00E0F8B5144D0C460646042128465A
:105A4000FDF79AFD10200090104B324604212846A5
:105A5000FDF77CFD224604212846FDF7BFFD042109
:105A60002846FDF795FD0A4804630121417204218F
:105A70002846FDF799FD05482838816880221143A2
:105A800081602046F8BD000000000240284400402C
:105A9000780900200248016A491C01627047000031
:105AA0007809002003484068002802D002490120FC
:105AB000C867704770010020981B002070470000E5
:105AC00010B50C460A4601460548FBF770FB054831
:105AD00084600548016880221143016010BD000008
:105AE000541D002070010020004800400348C06899
:105AF000002802D002490120C867704770010020C9
:105B00002C1C00207047000010B50C460A460146C8
:105B10000548FBF74CFB05480461054801688022F5
:105B20001143016010BD0000941D00207001002091
:105B30000050004003484069002802D0024901207B
:105B4000C867704770010020C01C0020704700002B
:105B500010B50C460A4601460548FBF728FB0548E8
:105B600084610548016880221143016010BD000076
:105B7000D41D0020700100200014014010B5054C18
:105B80000A46638821465B1C4380FBF7A7FD002083
:105B900010BD0000007C000870B50C460B49411890
:105BA000002B08D00A4D4519012B03D0094B9B8AC5
:105BB000002B00D129468005204603D000F042F892
:105BC000002070BDFBF78AFDFAE7000000800008A6
:105BD00000A00008781B0020F8B54188174A491C2E
:105BE0004180154901807E2100250A52ED43802322
:105BF00000221146124C002659430C19314603E08D
:105C0000675CFF2F04D1491C9942F9DB002E03D0B9
:105C1000521C082AEDDB00E01546082D06D2084983
:105C20005D436918802200F00DF803E080220449EA
:105C3000FBF754FD0020F8BDAA550000A55A00004E
:105C400000C00008F7B50D460646FBF7BDFF0298F9
:105C50000024870807E0A0003258411900230220E1
:105C6000FBF774FF641CA742F5D802987C00470834
:105C700007E06000325A411900230120FBF766FF5C
:105C8000641CA742F5D8FBF757FFFEBDF7B588B0F7
:105C90000020069009980188C34881420FD10998D5
:105CA0008078C0070BD10998C178022907D3808872
:105CB000420809980092C0884008824202DB002016
:105CC0000BB0F0BD0291801A491EFBF725FA059032
:105CD0000898002870D1B5488168491C002481606B
:105CE00092E0600021180998009A0818059961430C
:105CF0008D18AE490A69521C0A61872189018D42BB
:105D000002DAAA4A01211170A9496A18A9498A42EE
:105D100024D2017BC07A890180080E182D20C00191
:105D2000281A074600F0B2FF70430190384600F091
:105D3000E3FB9E4F70433A6A84460C20134643436C
:105D40009D4819188E60019EC65060464860C72A5B
:105D500001DA521C3A62B969491CB961E12080013B
:105D6000854250DD91480078012848D18F4B1A6A4E
:105D7000002A44DD914D68422E46002117E00C2395
:105D80000F465F438C4BFB189C469B688C4FBB4275
:105D90000CDB63465B68002B03DDAB4206DA1D4675
:105DA00004E0002B02DA834200DD1846491C9142D0
:105DB000E5DB00218C4609E02CE00C230F465F4315
:105DC0007D4BDB59B34200DA1E46491C9142F4DB9D
:105DD000002D09D0002807D07D2128180901FBF7E4
:105DE0009BF9FBF712FA84466046FBF719FA6F4DF0
:105DF0007D21A862C9003046FBF78EF968636B48C5
:105E0000002101700162641C0298844202DA282C8D
:105E100000DA66E7089801287ED16448C168491C09
:105E20000024C160ADE0600021180998009A0818AC
:105E3000059961438D185D494A69521C4A61872161
:105E400089018D4202DA594A0121517058496A1874
:105E500058498A4223D2017BC07A890180080E18F2
:105E60002D20C001281A019000F010FF074677434B
:105E7000019800F041FB02464C480C21406A514B0E
:105E800084464843C1188E601F5072434A60604682
:105E90004649401C48620846C069401CC861E12070
:105EA000800185426CDD41484078012864D13F4A39
:105EB000506A049000285FDD002003903F48424B69
:105EC00041420191844600213E4F1CE00C220D46C8
:105ED0005543EE19B2681E2A14DB9A4201DA1346C2
:105EE00003917A59824200DA10467268002A03DD73
:105EF000624507DA944605E0002A03DA019DAA42CA
:105F000000DD0192491C049A9142DFDB00231D460B
:105F10001A4619462D4E00E039E08619079616E01C
:105F20000C270E467E43274FF719BF681E2F0DDB47
:105F3000244FBF59079EB74205DD052B06DD052A14
:105F400004DA6D1C02E0002D2BD0521C491C049E6B
:105F5000B142E5DB7D27FF00144E3946FBF7DCF844
:105F6000706303980C21484316494018406839462D
:105F7000FBF7D2F8B563F0620C4900204870486224
:105F8000641C0298844202DA282C00DA4BE70749A5
:105F90008A6B486B8018C20F10184010086306986F
:105FA0008EE65B1CD2E70000AA550000000200202C
:105FB0003FDEFFFF7F1600005822002040420F0006
:105FC00088130000B82B0020FFE0F50550C3000047
:105FD00010B5040001D0601C03D102210648FFF770
:105FE0006FFD012C01D0641C03D102210248FFF790
:105FF0008BFD002010BD000002020020FEE7000023
:106000000FB410B504A9074B02AA039800F028F8B2
:10601000044602A9002000F05DFA204610BC08BC2E
:1060200004B01847D564000830B47446641E25785F
:10603000641CAB4200D21D46635D5B00E31830BCBC
:10604000184702E008C8121F08C1002AFAD1704799
:106050007047002001E001C1121F002AFBD17047E8
:10606000FFB591B00F460546002606E025280AD068
:10607000149A139990476D1C761C28780028F5D146
:10608000304615B0F0BD002400940121F34A02947B
:1060900000E004436D1C2B780846203B98401042DA
:1060A000F7D128782A280ED0022128780246303AE3
:1060B000092A15D8009A0A235A43303A80180C430B
:1060C0006D1C0090F1E701CF0090002805DA012057
:1060D00040030443009840420090022004436D1C9A
:1060E00028782E2815D10420044368786D1C2A28AE
:1060F0000AD101CF6D1C02900BE002990A22514394
:10610000303940186D1C0290287801463039092931
:10611000F3D928786C2810D006DC4C281AD06828CF
:106120000ED06A2817D104E0742813D07A2812D12F
:1061300010E00120400504430CE00121090501E0C5
:10614000032109050C436978814203D10120000530
:1061500024186D1C6D1C287803906E281ED00CDC52
:10616000632831D004DC00288AD0582811D1B2E04D
:1061700064287BD069280CD178E073282DD004DC0A
:106180006F2870D0702804D1A7E075286CD07828CB
:106190006BD0149A13999047761C62E06002400F0E
:1061A000022807D003280AD0042838680AD00660DD
:1061B0003F1D56E03868F11706604160F8E738681F
:1061C0000680F5E70670F3E7387869460874002022
:1061D000487404A80390012003E03868039000206D
:1061E000C0433F1D61070FD5002101E00199491C03
:1061F000029A0191914213DA8142F7DB019A0399E5
:10620000895C0029F2D10BE0002101E00199491CD1
:1062100001918142FADB019A0399895C0029F5D149
:1062200001990098139A401A00902146149B00F09F
:106230003BF901998019461807E003980399007803
:10624000491C0391149A139990470198401E01909C
:10625000401CF2D12146149B139A009800F014F9C7
:1062600086196D1C09E741E033E034E00A20002183
:10627000049005916002410F022905D001CFC21799
:106280009446032905D007E0FF1DFF08FF0003CF58
:1062900006E000B2C2179446042902D140B2C117E9
:1062A0008C4600226146944506DA0A4600214042A7
:1062B00091418C462D2102E0210504D52B216A460F
:1062C0001176012103E0E10701D02021F7E70191D8
:1062D00054E00A200BE0102009E010200490002177
:1062E0000420044308200591029003E008200021C7
:1062F000059104906002410F022905D001CF0022D0
:106300009446032906D006E0FF1DFF08FF0003CFD7
:106310008C4603E080B2042900D1C0B20021019173
:1063200021072BD50399702906D0049A1021059BCB
:106330004A401A4305D00EE040216A4611760121F9
:1063400008E06146014306D030216A461176039980
:10635000517602210191049A0821059B4A401A4373
:106360000CD16146014301D1610707D530216A464E
:106370001176012101910299491E02910399582930
:1063800004D037A103910FA90F910DE039A1F9E7CE
:106390006146059B049AFAF75CFF039B8C469B5C65
:1063A0000F9A521E0F92137061460143F0D10F985D
:1063B00007A9081A20300390600704D501200004C3
:1063C0008443029801E0012002900399884201DD94
:1063D000401A00E000204118029001980918009826
:1063E000401A0090E00306D42146149B139A0098AB
:1063F00000F05AF886190020049008E006A9085C0D
:10640000149A139990470498401C761C04900199A3
:106410008842F3DBE0030CD52146149B139A0098C5
:1064200000F042F8861904E0149A3020139990473E
:10643000761C0299481E02900029F5DC08E00F98AE
:106440000F990078491C0F91149A13999047761C64
:106450000399481E03900029F1DCFBE6092801009E
:1064600030313233343536373839616263646566CA
:10647000000000003031323334353637383941428C
:106480004344454600000000F8B5044600251E467A
:106490001746880404D405E039462020B0476D1C17
:1064A000641EF9D52846F8BDFFB50446002581B025
:1064B0001E46C80301D5302700E02027880404D5F4
:1064C00005E038460399B0476D1C641EF9D528468F
:1064D00005B0F0BD0A68531C0B60107070470000D7
:1064E00010B50A2101A0FEF775FB10BD1B5B324AF7
:1064F0001B5B303B304800002D2110B5C90140180E
:1065000000F0C4FB10BD000030B503460B48002965
:1065100000D101210A4C491E0ED31A7850400022A6
:10652000C50702D04008604000E04008521CD2B2CB
:10653000082AF5D35B1CEEE730BD0000FFFF00002A
:1065400001A0000070B50A4DFF23EE1D1A46F93672
:1065500005E0047854402A5D5A40335D401C0C46E7
:10656000491E89B2002CF4D11802104370BD0000FE
:10657000FA6F000870B504460C4800220C4E11E07A
:106580002378521C1D4645402D07ED0E755B000912
:106590004540180968400007C00E305A2B09584082
:1065A00092B2641C8A42EBD370BD0000FFFF000072
:1065B0002C6D000810B5084A084B07E004785440D9
:1065C0002406E40D1C5B120A6240401C491EF5D2F1
:1065D000D04380B210BD0000FFFF0000FA6D00083C
:1065E00006C00021016041608160C160012202613A
:1065F00041610846704700008AB0002080F310888F
:10660000FE4F0126FF203E830530FD4B8022009087
:10661000991AFC48FBF7F0FE4020FB4B0246191A82
:106620000090FA48FBF7E8FEFBF7EEFA0021F84A83
:106630000D466020484380184560856005614561CE
:106640008561C561056285624562C562491C056355
:106650000929EEDBEF4CF0482567C06A6066EF4819
:106660000068A066EE48406AE066FEF75DFFEE490E
:10667000EC480860FBF7D0FEFDF706FA0320039014
:10668000049501A902960595E848FDF70BF8FDF77A
:10669000E7F9FCF7D1FEE648FEF790FBD748068302
:1066A000FEF788FBA063E34960630E70E249E34AAA
:1066B0000E700107090FE24F11701F2805D0C006A8
:1066C00006D5E04806703D7005E0DF480670F8E743
:1066D000DC4805703E70DD480170DD49012008701E
:1066E000E121DC4849020160FDF766FAFDF7F6FAA0
:1066F000FDF7B4FBD848006820210843D64908605C
:106700000868102630430860FDF7F2FBD3480168A3
:10671000202211430160016831430160FDF732FC22
:10672000CF480168202211430160016831430160B4
:10673000FDF744F9FDF7FCF9FDF714FAC9480168C3
:10674000012211430160C848016820221143016001
:1067500001683143016001684022114301608021DA
:10676000C248FFF717F9C248016831430160016868
:106770004022114301600A20FBF780F90120FEF757
:1067800021FD0020FEF708FD0020FEF71FFA012082
:10679000FAF79AFF0020FEF70BFDFEF783FDFBF7EB
:1067A00057F96066954D002028826882A048C0880D
:1067B0002882288A01280AD1FBF7D8FD208F2021C2
:1067C00008406882688A002801D0FEF72DFEA94E95
:1067D0005A2070840020C043FFF7FAFB0121A6482D
:1067E0008902411808910F218901411809911B2143
:1067F000890145180F21C901401800909F4F0020C2
:10680000387001207870FBF723F93861FBF7EEF957
:106810000790FEF7CFFA07467848008AC0070BD0EA
:10682000B806208F04D5800606D4FEF7FDFD03E0F0
:10683000800601D5FEF730FEA7630798E0630920C4
:10684000C00600690099888478480069C8848C482B
:10685000006908858B4800694885FBF787F8307523
:10686000FBF7F6F8854F786187480068002801D06B
:106870000020B082206CC006C00E02281CD1FAF79E
:10688000ABFD8148016800290ED00021B1827F490B
:106890000A68002A10D1006808607D4800687D49B8
:1068A0000860FDF709FE07E078490A68002A03D06E
:1068B00000680860FDF718FE5048008A01280BD1D7
:1068C0004E48818A002927D07349B960C18A73482C
:1068D0000160B868FDF710FE606E79696166081A9C
:1068E000A066E16E884200D2E066216F884200D93E
:1068F0002067FBF7ADF8B86152480078002806D051
:1069000052480078002802D00220FBF7B3FE079817
:10691000800403D5012002E06149D6E700203870E9
:106920000798000501D5012000E000207870444858
:10693000007800281DD00220FCF7B2F8606C002817
:1069400001D158490870574801784078000208186A
:106950000899888254490868800401D5012000E024
:10696000002038700868000501D5012000E00020F3
:106970007870606C002801D0401E6064A06C002814
:1069800001D0401EA0641D48018B002934D07878C6
:10699000FEF718FC7878FEF7FFFB7878FEF7F0FB3F
:1069A0007878002801D1012000E00020FEF700FCEB
:1069B000FBF74EF8F8610998B18A81860898808AB9
:1069C000B086FBF745F83862FBF742F80A21786297
:1069D0000846FAF77BFB0020401C4028FCDB206CBB
:1069E0003249401C20640868002806DD054AD26F41
:1069F000002A02D082B25BE06CE08BE0781B0020C2
:106A0000D4200020E408002018220020780900206B
:106A10002C0C00204419002080F7FF1FD400002018
:106A20000010024010270000AC01002000040048C4
:106A300044130020D8010020D9010020F4000020D8
:106A4000F1000020F000002028010020FB000020C1
:106A5000F5000020D8000020004800400050004011
:106A60000014014000100040003801408C0A002052
:106A70000044004004160020C4130020B001002090
:106A800000080048000C0048640100206801002054
:106A90008C0100206C01002000A000083C010020B7
:106AA000008000080C0B00200C010020E0000020FA
:106AB00056490120FDF7CEFA002805D05448534925
:106AC00002680120FCF728F951490020086051496B
:106AD000C86732E0008A01280FD0606C002810D00F
:106AE0007878FEF76FFBA06C00280CD07878FEF762
:106AF00053FB7878FEF744FB57E7474800680028C7
:106B0000EFD03878EDE70020FEF746FB0020FEF7D7
:106B100037FB48E74149786888420DD940484168C9
:106B200001221205114341604168520003235B05B5
:106B300099431143416001E0401C78603948007876
:106B4000002802D00020FAF799FF374FF86F00288D
:106B500008D0364801783648FEF7F6F93349002068
:106B60000860F86733483449407D0870FEF7ACF997
:106B70003248007870753248C06F00280CD0A88861
:106B8000304F401CA880304900203A68FFF77EF85B
:106B900000202B493860C8672C480088E8802C48C2
:106BA000008828812B48008868812B48C06F002806
:106BB0000CD0A88A294F401CA882294901203A6894
:106BC000FFF764F8002024493860C867254800882A
:106BD000E882254800882883244800886883244860
:106BE0000088A88423480088E884234800882885F2
:106BF00022480088688522480088A885B08EFDF765
:106C0000E5FF21491F480860F8E500000C0A002054
:106C1000E0000020E40800203C110020C02709000B
:106C200000380140F1000020C01C00208401002039
:106C30001420002024160020DA010020DB010020AF
:106C4000981B002074010020141E00200802002060
:106C500010020020180200202C1C00207C010020C3
:106C6000141F00200C020020140200201C0200202F
:106C7000280200202C0200203002002034020020D4
:106C800038020020AAAA00000030004010B52D21D3
:106C90004902FAF741FAC817800E4018821180099C
:106CA0008001081A1B4B40245A2A04DA91005A58D2
:106CB000C918496808E0B42A0FDAB421891A890092
:106CC0005A58C9188039C96F231A534348431818B2
:106CD000C117890E0818801110BDFF210F318A429B
:106CE00006DA0D49920051185A58C918496807E048
:106CF000FF216931891A89005A58C9188039C96F2A
:106D0000231A534348431818C117890E08188011D5
:106D1000404210BD3C02002030FDFFFF11223344F1
:106D20005566778899AABBCCDDEEFF00000001CC48
:106D300001D8001401F0003C002801E401A0006C1F
:106D4000007801B40050019C018800440111070142
:106D5000000100010401000000000000000000002C
:106D600000000600AA55000000010000000000001D
:106D70000100010000090000000000000000020006
:106D800000000009000000000000000000000000FA
:106D900000000000000000000000000010101010B3
:106DA00010101010101010101010101010002000F3
:106DB00030004000500060000300000004000000AC
:106DC00005000000060000000700000008000000A9
:106DD000090000000A0000000B0000000C00000089
:106DE0001100A55AAA550000000000000000000094
:106DF00000000000081C30445800000089111223D4
:106E00009B322446AD573665BF74488CC19D5AAF3E
:106E1000D3BE6CCAE5DB7EE9F7F881100801933335
:106E20001A22A5562C47B7753E64C99C408DDBBF1E
:106E300052AEEDDA64CBFFF976E802218B30100216
:106E400099132667AF763444BD554AADC3BC588EFE
:106E5000D19F6EEBE7FA7CC8F5D983310A209112F5
:106E60001803A7772E66B5543C45CBBD42ACD99EDE
:106E7000508FEFFB66EAFDD874C904428D5316614A
:106E80009F702004A9153227BB364CCEC5DF5EEDBE
:106E9000D7FC6888E1997AABF3BA85520C439771B5
:106EA0001E60A1142805B3373A26CDDE44CFDFFD9E
:106EB00056ECE9986089FBBB72AA06638F72144096
:106EC0009D512225AB343006B9174EEFC7FE5CCC7E
:106ED000D5DD6AA9E3B8788AF19B87730E62955075
:106EE0001C41A3352A24B1163807CFFF46EEDDDC5E
:106EF00054CDEBB962A8F99A708B088481951AA7D2
:106F000093B62CC2A5D33EE1B7F04008C919522B65
:106F1000DB3A644EED5F766DFF7C899400859BB70C
:106F200012A6ADD224C3BFF136E0C1184809D33B45
:106F30005A2AE55E6C4FF77D7E6C0AA583B41886ED
:106F400091972EE3A7F23CC0B5D14229CB38500A25
:106F5000D91B666FEF7E744CFD5D8BB502A49996CC
:106F60001087AFF326E2BDD034C1C3394A28D11A05
:106F7000580BE77F6E6EF55C7C4D0CC685D71EE521
:106F800097F42880A1913AA3B3B2444ACD5B5669E5
:106F9000DF78600CE91D722FFB3E8DD604C79FF58C
:106FA00016E4A9902081BBB332A2C55A4C4BD779C5
:106FB0005E68E11C680DF33F7A2E0EE787F61CC46D
:106FC00095D52AA1A3B03882B193466BCF7A5448A5
:106FD000DD59622DEB3C700EF91F8FF706E69DD44C
:106FE00014C5ABB122A0B9923083C77B4E6AD55885
:106FF0005C49E33D6A2CF11E780F00C1814001C05D
:10700000804101C0804100C1814001C0804100C178
:10701000814000C1814001C0804101C0804100C168
:10702000814000C1814001C0804100C1814001C058
:10703000804101C0804100C1814001C0804100C148
:10704000814000C1814001C0804100C1814001C038
:10705000804101C0804100C1814000C1814001C028
:10706000804101C0804100C1814001C0804100C118
:10707000814000C1814001C0804101C0804100C108
:10708000814000C1814001C0804100C1814001C0F8
:10709000804101C0804100C1814000C1814001C0E8
:1070A000804101C0804100C1814001C0804100C1D8
:1070B000814000C1814001C0804100C1814001C0C8
:1070C000804101C0804100C1814001C0804100C1B8
:1070D000814000C1814001C0804101C0804100C1A8
:1070E000814000C1814001C0804100C1814001C098
:1070F000804101C0804100C1814000C0C101C30383
:1071000002C2C60607C705C5C404CC0C0DCD0FCFFF
:10711000CE0E0ACACB0BC90908C8D81819D91BDB6F
:10712000DA1A1EDEDF1FDD1D1CDC14D4D515D717BF
:1071300016D6D21213D311D1D010F03031F133F36F
:10714000F23236F6F737F53534F43CFCFD3DFF3FBF
:107150003EFEFA3A3BFB39F9F83828E8E929EB2BEF
:107160002AEAEE2E2FEF2DEDEC2CE42425E527E77F
:10717000E62622E2E323E12120E0A06061A163A3EF
:10718000A26266A6A767A56564A46CACAD6DAF6F7F
:107190006EAEAA6A6BAB69A9A86878B8B979BB7BEF
:1071A0007ABABE7E7FBF7DBDBC7CB47475B577B73F
:1071B000B67672B2B373B17170B05090915193536F
:1071C000529296565797559594549C5C5D9D5F9F3F
:1071D0009E5E5A9A9B5B99595898884849894B8B6F
:1071E0008A4A4E8E8F4F8D4D4C8C448485458747FF
:1071F00046868242438341818040081C30445808BF
:107200001C3044580000000000000000010203048C
:107210000607080900000000010203043C72000890
:10722000C00000202407000078130008A87500089B
:10723000E40700205431000052600008D2000162CF
:107240000109000810C2010040420F000131220074
:10725000052F0101010001D2014612976712FF01BB
:10726000026500019310270D0004448000085600B9
:107270000538A560A5653E12118B12238F12349339
:1072800012469712579B12699F167A20128B5E1630
:107290009C8B16AE8F16BF2C16D03016E13412F22E
:1072A000CC160341121404122404123504124604AD
:1072B00012560412660412770412870412970412FD
:1072C000A70412B60412C60412D50412E50412F47F
:1072D0003C1006030200001204122104122F0412B3
:1072E0003E04124C04125A041268041275041283EC
:1072F00004129004129D0412AA0412B70412C304CB
:1073000012CF0412DB0412E70412F30412FE4C1332
:107310000903901104121F04122904123304123DB0
:1073200004124704125004125904126204126B042E
:10733000127304127B04128304128A041292041240
:107340009904129F0412A60412AC0412B20412B7DC
:107350000412BC0412C10412C60412CA0412CE04E0
:1073600012D20412D60412D90412DC0412DE041262
:10737000E10412E30412E40412E60452E70492E882
:1073800004611452E62852E33852DE4852D958526A
:10739000D26852CA7852C18852B79852ACA8529F4C
:1073A000B85292C85283D85273E85262F8565008C5
:1073B000563D185629282530253856FE4856E75898
:1073C00056CF6856B778569D885683985668A85603
:1073D0004CB8562FC825D025D856F4E856D5F85ABB
:1073E000B6085A97185A77285A56385A35482950A5
:1073F00029585AF2685AD0785AAE885A8B985A69E6
:10740000A85A46B85A23C82D37041EEFD10312DDFF
:107410000412CC0412BA0412A904129704128604AE
:107420001275041264041252041241041230041240
:107430001F041E0E05041006FDFEFFFFEC0412DC07
:107440000412CB0412BA0412AA04129A0412890478
:10745000127904126904125904124A04123A0412ED
:107460002B04121B04120C3C1006FDFDFFFFEE0462
:1074700012DF0412D10412C20412B40412A60412C0
:107480009804128B04127D041270041263041256C5
:1074900004124904123D0412310412250412190485
:1074A000120D0412024C13F7FC90110412E10412A5
:1074B000D70412CD0412C30412B90412B00412A7E7
:1074C00004129E04129504128D04128504127D0488
:1074D000127604126E04126704126104125A041226
:1074E0005404124E04124904124404123F04123A86
:1074F00004123604123204122E04122A0412270433
:10750000122404122204121F04121D04121C04125D
:107510001A045219049218046114521A28521D3880
:10752000522248522758522E68523678523F88527B
:1075300049985254A85261B8526EC8527DD8528DA3
:10754000E8529EF856B00856C31856D7282530255D
:107550003856024856195856316856497856638845
:10756000567D985698A856B4B856D1C825D025D877
:10757000560CE8562BF85A4A085A69185A89285A5C
:10758000AA385ACB48295029585A0E685A30785A86
:1075900052885A75985A97A85ABAB829C029C83C2F
:0875A00004001BB79B0600006C
:101200001A43491EF9D510467047F0B51FB406467B
:10121000002082B005464024019100901BE0019916
:1012200022460F463046FFF7B1FF049A059B801A0D
:10123000994110D310461946224600F029F8361A73
:101240008F410197224601200021009F00F020F8E5
:1012500038184D4100902046641E0028DFDC019BB9
:1012600000982946324607B0F0BD0000064C012523
:10127000064E05E0E36807CC2B430C3C984710343E
:10128000B442F7D3FFF71CFFF87A0008187B000878
:1012900010B5202A04DB0146203A9140002010BD01
:1012A000914020239C1A0346E3401943904010BD0F
:1012B00030B58C180278401C13071B0F01D103783E
:1012C000401C120906D10278401C03E005780D701D
:1012D000401C491C5B1EF9D101E00B70491C521ED9
:1012E000FBD1A142E6D3002030BD0000F0B52C4870
:1012F00081684907C90F50D1006C2A4D82B26B69D1
:101300000120DC07284E2949002C0AD08A82284B6C
:10131000284930469A4201D2012200E000220A60A8
:1013200031E0254F9E433C880CD0244E9E430DD087
:10133000234C9C431DD0234C9C431DD0224C9C43EA
:101340001DD020E0A01838801C481CE07888801848
:1013500082B27A802869401C2861082807DBE008EF
:101360004883D0088883002038807880286114481A
:1013700009E0CA83154806E00A84154803E04A8458
:10138000144A528B8A8442030549520B8A628A6846
:10139000114B1A40121D8A6068610020F0BD0000E8
:1013A00000240140C00000208000001C0017002025
:1013B000DC05000060010020480200200001002040
:1013C000000200240000014000000244000001C0AF
:1013D000000002C4A0F7FF1FE8FFFF7FF0B51E4F1B
:1013E00085B03D691D4C6D1C3D612668A468029462
:1013F00000966C4665800190218162810393386A72
:1014000001011748091800220B4610461C5CFF2CEE
:1014100004D1401C1028F9D3002A17D010226846A6
:1014200000F00CF9386AF861401C386200010121B3
:1014300049031030884201D900203862F868094910
:10144000401CF8604867002005B0F0BD10226846D7
:1014500004F02CFFE6E700003C01002020710008AA
:1014600000D0000880160020002911D08268521890
:1014700082604368934200DCD21A00238361C36810
:10148000934201D1012343618260026952180261D3
:1014900008467047F0B50020174D0127144B154C36
:1014A0007F03E86017E0625A144EB24212D1EA6834
:1014B0000919521CEA604A882E69B24205D92A618C
:1014C000E8614A686A61421C2A624988994201D2ED
:1014D0000B46A861401C0101B942E4D3286A00010F
:1014E0001030B84201D900202862E868F0BD000041
:1014F000FFC99A3B00D000083C010020AA5500001B
:1015000010B50421054800F0C9F8054800218161A3
:10151000C1610161C1600162084610BD00D00008D0
:101520003C01002070B5234DE86A401CE862224C63
:1015300020688006C00F11D02868296B40182860E9
:10154000296B28465830064600F058F82020606085
:10155000B06900280AD000202863687220688005DE
:10156000C00F02D001204002606070BD304600F024
:101570000BF912494A78A3585B085B00A350F36843
:1015800032684E78D2180C4B0C33F2500A4B4A7822
:101590001B1DD658360C36040643D650497862587F
:1015A00001231A4362502863054881688022114351
:1015B0008160D3E768030020000002403B7500080B
:1015C000003801400B49C86A401CC8620A480268DA
:1015D0009204D20F05D001225203426000220A6316
:1015E0004A7201688903C90F02D001214904416090
:1015F00070470000FC0300200000024010B50029E5
:1016000010D0C26843685218934200DCD21A0023FB
:101610004361C2608468944204D101228261836084
:10162000C360C361084610BDFF2109220131D20603
:10163000002801D09162704791617047F8B5164655
:101640000F46054602F062F8701EC00A401C81B2C7
:10165000384602F033F80024761C76080EE060006D
:1016600042195278295C120289188AB2C1190023E2
:10167000022001F0EFFF002802D0641CA642EED841
:10168000054A1169802319431161002801D0002007
:10169000F8BD0120F8BD00000020024070B50C46E6
:1016A000054602F033F8A1B2284602F007F80348D5
:1016B0000169802211430161002070BD00200240B9
:1016C0000A07120F01219140014201D00120704709
:1016D000002070470A07120F01219140014201D0FA
:1016E0000120704700207047F8B50B051B0E254CF4
:1016F0005B001C1909239B01E31800930523DB0100
:10170000E618012307469B020A07E5180020120F7E
:101710003B0004F009FE09060A0E12191D21282FAC
:101720002E00FF2928D800981BE0FF2924D8009814
:1017300008E0FF2920D8B08A18E080291CD20F20A9
:1017400080012018808E11E0802915D2A88A0DE032
:10175000402911D2B08E09E040290DD20B20800122
:101760000EE0808A02E0802906D2A88E1146FFF79B
:10177000B1FFF8BD802901D30020F8BD0920C001C8
:101780002018EEE700110020C1688268914201DA5A
:10179000501A7047914202DC4269002A02D0406828
:1017A000401A704780690028FBD000207047C2684B
:1017B0008168914201DA501A7047914202DC8269D5
:1017C000002A02D04068401A704740690028FBD0C8
:1017D0000020704707490122896952030818010156
:1017E000914202D3FF38FF38023803490001401804
:1017F000704700003C01002000D0000800B5082020
:1018000000F0D2FC00BD0000F0B5334C4B001C19B9
:101810000923DB01E5180B230246DB010020E31856
:10182000892A25D00EDC2C4F2C4B4E00F619F618C9
:10183000803A130004F078FD091F1F152125292E79
:10184000333A15008D2A3FD00CDC8A2A33D08B2AFC
:1018500035D08C2A05D140293ADA0B208001201896
:10186000808EF0BD992A03D0A12A01D0FE2AF8D19A
:1018700080292DDA2EE00846F0BD102928DAB08A3A
:10188000F0BD102924DAB08EF0BD102920DA052031
:10189000C00108E008291BDA0F208001DFE70829D2
:1018A00016DA012080022018808AF0BD80290FDA24
:1018B0003420285EF0BD80290ADAA88AF0BD4029CC
:1018C00006DA0D208001CAE7402901DAA88EF0BDB2
:1018D0000020F0BD988EF0BD0011002040020000F5
:1018E00010B5074A106A074B9969146AA04201D0E3
:1018F000106A9969044A51430914401A10BD000046
:101900006C01002000E000E05505000031B500F05A
:101910000BF8009C0546601C00D0641C00F004F825
:10192000401BA042FAD338BD014800687047000050
:101930004402002002480168491C01607047000011
:101940004402002010B506480168102211430160CE
:10195000002000F007F800F017F8002010BD00008C
:101960000020024010B5044600F040F97D21C90076
:10197000FFF7BCFB00F07AFB00222146501E00F06E
:1019800025F8002010BD000008B50F48816901222C
:1019900011438161816911400091C26901040A43C8
:1019A000C261C0690022084000901146501F00F03B
:1019B0000DF800221146901E00F008F80022114692
:1019C000501E00F003F808BD0010024010B502F0F0
:1019D00049FD10BDF8B504460068364DC00354D526
:1019E000E8690026C00007D4E86929040843E861D3
:1019F000E8690840012600902F480168C90511D404
:101A0000014608688A1510430860FFF78DFF0746F6
:101A100004E0FFF789FFC01B642823D8264800682C
:101A2000C005F6D5286A0321090208401FD0626864
:101A30000A4082421BD0286A2A6A8843012109048D
:101A40000A432A622A6A8A432A622862C0070ED0A1
:101A5000FFF76AFF074607E0FFF766FFC11B17485D
:101A6000814201D90320F8BD286A8007F4D5286A8D
:101A7000032109028843616808432862002E04D0CC
:101A8000E869012109078843E8612078C00705D08B
:101A9000286BA168800880000843286320788006AE
:101AA00005D5286B10218843E1680843286300208E
:101AB000F8BD0000001002400070004088130000D4
:101AC000F8B5044644480E460068C007C00FB0424F
:101AD0000AD2414801684908490031430160006861
:101AE000C007C00FB0425CD120783C4F800705D5BD
:101AF0007868F0218843A168084378602078C0079F
:101B00003FD06068012813D03968022813D08907B4
:101B1000002946DA79688908890001437960FFF76E
:101B200003FF0546606801280DD0022817D024E085
:101B300039688903ECE78901EAE7FFF7F5FE411B05
:101B40002748814217D878680007800F0128F4D110
:101B500017E0FFF7E9FE411B214881420BD8786866
:101B60000007800F0228F4D10BE0FFF7DDFE411BD8
:101B70001B48814201D90320F8BD78680007800F17
:101B8000F3D115480168C907C90FB1420BD90168E3
:101B900049084900314301600068C007C00FB042E6
:101BA00001D00120F8BD2078400706D578680721CC
:101BB00009028843E1680843786000F01DF87968FD
:101BC000084A0906090F515CC8400749086000200F
:101BD000FFF7C8FE0020F8BD0020024000100240C0
:101BE00088130000E07A00084002002001480068E5
:101BF000704700004002002030B514A00FC889B023
:101C00006C460FC415A00FC80FC4184D6A680C208D
:101C100011460140164B042910D0164808290ED150
:101C20009102090F6C46645CE96A04AD0907090F6B
:101C3000D203695C920F022A03D003E0184609B070
:101C400030BD1846FFF752FA6043F8E70203040577
:101C5000060708090A0B0C0D0E0F101001020304F1
:101C600005060708090A0B0C0D0E0F1000100240A4
:101C7000001BB70000127A00FEB504460078D54D6F
:101C8000C00748D068680007800F012819D068682D
:101C90000007800F022804D16868C003800F022863
:101CA0000FD0012160680904012811D08A000028A2
:101CB00001D0052816D028688843286028689043FA
:101CC00008E02868800326D56068002873D022E0E9
:101CD0002868084328606068002810D0FFF724FEB9
:101CE000064608E0286810432860F1E7FFF71CFE6D
:101CF000801B642870D828688003F7D50BE0FFF7B5
:101D000013FE064604E0FFF70FFE801B6428F1D89F
:101D100028688003F7D420780126800700283DDA60
:101D200068680007800F13D068680007800F0228DA
:101D300004D16868C003800F012809D0E06800283A
:101D400028681CD030432860FFF7EEFD07460BE003
:101D5000286880070BD5E06801282CD107E0FFF741
:101D6000E3FDC01B0228C5D828688007F7D528687E
:101D7000F82188432169C900084328600EE0400823
:101D800040002860FFF7D0FD074604E0FFF7CCFDD8
:101D9000C01B0228AED828688007F7D42078000737
:101DA00023D5E0690028686A0FD030436862FFF7E6
:101DB000BBFD074605E00AE1FFF7B6FDC01B0228A0
:101DC00098D8686A8007F7D50FE04008400068623D
:101DD000FFF7AAFD074605E0A4E0FFF7A5FDC01B3D
:101DE000022887D8686A8007F7D42078042740073C
:101DF000002860DA00200190E869C00008D4E86992
:101E0000B9060843E861E8690840009001200190A4
:101E100071480168C90511D4016882151143016038
:101E2000FFF782FD009005E0FFF77EFD0099401A64
:101E3000642877D868480068C005F5D5A0680128EF
:101E40000AD0002801D0052810D0286A4008400098
:101E50002862286AB84301E0286A30432862A068F3
:101E6000002812D0FFF760FD00900AE0286A38438E
:101E70002862F1E7FFF758FD0099411A574881425F
:101E800050D8286A8007F5D50DE0FFF74DFD00908A
:101E900006E0FFF749FD0099411A5048814241D8B8
:101EA000286A8007F5D40198002804D0E869012148
:101EB00009078843E8612078C0063CD5606901289D
:101EC0000CD0401D686B23D038436863686B4008B2
:101ED00040006863FFF728FD064629E0686B384339
:101EE0006863686B30436863FFF71EFD064604E0D5
:101EF000FFF71AFD801B022862D8686B8007F7D5B0
:101F0000686BF8218843A169C9000843686312E03F
:101F1000B8436863696BF8208143A069C00001433E
:101F2000696308E04CE0FFF7FFFC801B022847D8FC
:101F3000686B8007F7D4206A002846D069680907D3
:101F4000890F022943D001273F060228286805D0BF
:101F5000B8432860FFF7E8FC044633E0B843286044
:101F6000FFF7E2FC064604E0FFF7DEFC801B0228D8
:101F700026D828688001F7D4E86AE16A00090001E0
:101F80000843E862616AA06A084369687B22D20359
:101F9000914308436860286838432860FFF7C4FC11
:101FA000044604E0FFF7C0FC001B022808D828689C
:101FB0008001F7D509E0FFF7B7FC001B022801D923
:101FC0000320FEBD28688001F5D40020FEBD01205D
:101FD000FEBD0000001002400070004088130000A9
:101FE000042204490428086902D09043086170471C
:101FF0001043FBE700E000E0154801686431016030
:1020000014480168491C016013490868401C0860B5
:102010001249134AC868401CC860904216DB002071
:10202000C8601048816D491C8165016D491C0165BE
:10203000416D491C41650C49088B002806D0401EA3
:1020400080B20883782801D978200883704700007F
:102050008C0100208801002024010020AC01002018
:102060001027000080160020B4180020094910B580
:10207000401E884201D9012010BD074C6061032138
:10208000081F02F0EFF90020A06107202061002066
:1020900010BD0000FFFFFF0000E000E010B5FFF7FB
:1020A000ABFF10BDFEE7000010B500210F4A084647
:1020B000516043009B18401C1981FF28F9DD002066
:1020C00005230B4ADB014400A418E418401CA1823C
:1020D0001028F8DB00200923DB014400A418E418D1
:1020E000401CA186FF28F8DD002010BD780E0020DE
:1020F0000011002010B5402802DB0020C04310BDB5
:1021000010221143C200094B4000D218C0185824B5
:102110000D23A1529B010021C3189986E300C0182A
:102120008186034800685065084610BD00110020F4
:102130004402002070B504461E463830049D04F069
:10214000CFFB20462A463146583004F0C9FB002018
:1021500070BD000070B5104D064601462846FEF7DA
:10216000DBFF0E4CE062FFF741FD2946FEF7BEFFA4
:1021700060620B48314600680546FEF7B7FFA06273
:102180002A46002307480F21FEF7DAFF2080E06A85
:1021900064302062002070BD40420F006C010020BE
:1021A0004002002000004042F8B572B6012212033E
:1021B0000921C9068A6200BF00BF00BF00BF8A6153
:1021C000C117490F0818C01084460020104E03465E
:1021D000009017E008200E4C002280218502103C60
:1021E00037687F0400D50A43A562490800BF00BFD5
:1021F00000BF00BF00BFA561401EF1D1D0436946BA
:10220000C8545B1C6345E5DB62B60098F8BD00006E
:10221000100400480B01194930B55B18FF33097FE2
:1022200011331970022159701449002020310C7F9C
:102230009C704C7FDC708C7F1C71CC7F5C710C4679
:10224000203425789D716578DD710B7F15795B19D8
:102250000B774B7F55795B194B778B7F95795B19A2
:102260008B77CB7F157A5B19CB772178937AC91856
:1022700021706178D27A8918617030BD100A00200F
:10228000034610B50020024602E09C5C6040521CF0
:102290008A42FADB10BD000000B50B0004F044F8E0
:1022A00008111111111111110511074907480A8C64
:1022B0008286828A0A80C28A4A80028B8A80408B08
:1022C000C880002000BD0000280C00204013002022
:1022D000F8B508460D460978552901D0252903D0BF
:1022E000012A01DD451C521E344F602479792B7878
:1022F0006143334C0919334C252B30D0A3685B1C48
:10230000A360CB695B1CCB61B97800290FD0F97849
:1023100000290FD001292C4913D007231B02C9180B
:102320000A7501462948FEF742FF0020F870002098
:10233000C043F8BD2549264B55390A750146224848
:1023400007E037235B01C9180A750146204B1E4878
:102350002033C018FEF72BFFF878401CE6E76E79B3
:10236000802E06DDE068401CE060086A401C0862C0
:10237000DDE7334608339A4208D2086A401C0862F7
:10238000E068401CE0600220C043F8BDB11DFFF7CB
:1023900077FFA919897981420DD02069401C2061FD
:1023A00079796020414306480818416A491C416216
:1023B0000320C043F8BD0020F8BD0000EC00002061
:1023C000900600207C040020001100201518002039
:1023D000D506000010B50020124C03462071D2B281
:1023E000002905D021706370A370A272E37005E02C
:1023F000237001216170A370A272E2700A4C002266
:102400006021514309194B608B600B614B618B61FB
:10241000CB610B628B624B62CB62521C0B63092A4D
:10242000EEDB10BD100A0020900600200C20414376
:1024300007480818002150300180418008220271AD
:102440004271817101728172C17208467047000049
:10245000100A0020F8B50E4604462520069F079D69
:10246000089920706270A670E37027712F460020D3
:1024700008376619372B30D01FDC332B1CD006DC15
:10248000002B19D0312B28D0322B15D125E0342B3D
:1024900012D0352B10D0362B0ED16571002D03D004
:1024A0002A46A01DFEF783FEA91D2046FFF7E8FE81
:1024B000B0710D20F0713846F8BD612B0DD006DCEF
:1024C000382B0AD0412B08D0422BF5D105E0622BE6
:1024D00003D0632B01D0642BEED16571E0E70000DF
:1024E000F1B584B0FFF720FA0546FFF7F9F9664E1B
:1024F00004463079002802D0012802D004E00120EF
:102500003071049800F098F93079022801D1032045
:1025100030715E48C179002906D0017A002903D0C4
:10252000C168611A322905D8C1687D22611AD200BA
:10253000914266D95548007A5549002864D05348DD
:102540006023407901225843524B1A50642048645A
:102550004E4E7079401CC0B27071F17A884208D931
:10256000706A7462201AB062B079401CB0710120A8
:1025700070714948727981184348CB7F8038037065
:1025800020310B7843704B7883708978C170057166
:10259000290A4171290C8171290EC1716B46F460C1
:1025A0001978B37989089B0789009B0F19436B46FB
:1025B00019706023374C5343E358002B61D0EF234D
:1025C00019406B4619700823019300910290412332
:1025D00000213248FFF73EFF02463049049803F0DD
:1025E00057F870796021484300194168491C4160DF
:1025F000C268F1688A1A4263C16000203563F071D5
:102600003072002005B0F0BD204B186A401C1862E3
:1026100023484268521C42605E7960203746464338
:102620001C4830180269521C02614269521C426106
:10263000DB79002B02D1836A5B1C836283699A4237
:1026400000D98261134B032A82D900209851C822F5
:102650008A6411490E46C855183E307D002800D1C5
:1026600076E7002337691A4605210498B847307D7C
:102670000028F5D0002336691A4607210498B04790
:1026800066E7102319439CE7100A0020EC000020A5
:102690008016002090060020280C002090050020C5
:1026A0007C040020F8B5844608780C46552801D0F3
:1026B000252802D0012A00DD4C1C60793B4D00909A
:1026C0006979602041433A482B4609188868401CC4
:1026D0008860DF6ADE68E078A278BE1B9B693528D7
:1026E00021D002DC32281ED10AE038281BD002DCBF
:1026F000362818D115E0412815D0422813D114E00E
:102700006E619E4200DDAE612A48A37983540020A9
:10271000CE624861086BB04200D20E63012028727D
:1027200001E00120E8710020F8BD6E619E4200DDED
:10273000AE61204BA17998180646203EF177E179E9
:102740009954217A4170617A8170A17AC170E17ADD
:102750000171217B4171617B817118461838017DBF
:10276000002905D0002306691A4607216046B047B4
:102770006A79602042430E48002116187161686929
:10278000F062316B814200D2306300980E28C5DBC5
:102790002046E77B1030FEF72EFDE17C0002000AA8
:1027A00009060843B90071188863B7E7EC000020F8
:1027B00090060020280C0020F7B515460C46FFF7C0
:1027C0008FF81A4EF06221780020552903D1012D8F
:1027D00001DD641C6D1E317800290FD00127F771CF
:1027E0002A4621460098FFF773FD002805D137726D
:1027F0002A4621460098FFF755FFFEBD7178002953
:10280000FBD00B4E2A46B06B2146401CB0630098AB
:1028100000F060F80028F0D106482A46406C306588
:102820002146009800F0CEF8FEBD0000EC0000202C
:10283000900600208016002070B506460025FFF7A0
:1028400073F8FFF74DF81D4C0122A179002901D141
:10285000A271A062E17900292DD1A16A7D23411ADC
:10286000DB00994227D90021A171216A032902DAEC
:10287000A271A0621FE003291DDD3046E169FFF768
:10288000D5FDE1690C204843021930465032FFF76C
:10289000C1FCE069401CE061A17A88420BDD0220A6
:1028A00020710748017D002905D0002304691A46DC
:1028B00005213046A047284670BD0000100A0020C0
:1028C000100C0020024801610121017500207047B1
:1028D000100C0020F0B508460D460978552901D0A6
:1028E000252903D0012A01DD451C521E2978002329
:1028F0001A4FDB431A4C252906D0A068401CA06063
:10290000386C401C386409E014496E79896C491CA4
:10291000802E05DDE068401CE060B9641846F0BD1B
:10292000334608339A4206D2B964E068401CE0603E
:102930000220C043F0BDB11DFFF7A2FCA91989799F
:10294000814208D02069401C2061F86C401CF8646A
:102950000320C043F0BD0020F0BD00009006002021
:102960007C040020F8B5FEF7BBFF134B1A691979F8
:1029700000291FD05C7A1149002C05D07D208001F0
:1029800048640020587215E00C4E0D4C851A8036B4
:10299000A54204D97D2292018A64012206E012191F
:1029A000904207D97D2292018A6402228A67C86711
:1029B000186930600020F8BDEC000020801600206F
:1029C000E02E0000F7B5087884B00C46552802D1F7
:1029D000012A00DD4C1C6D480168491C01606379C7
:1029E00060786B4903916B49694F0D798037A84234
:1029F00008D0FF2806D0786C401C78640020C043C3
:102A000007B0F0BDA84201D0FF287DD16148C26A5D
:102A1000026101214172E0785F49372874D00CDCF3
:102A20003328FBD004DC0028F8D03128EDD119E0A0
:102A30003428F3D0352867D125E0584BDD1DFF350C
:102A4000FA352A7D2E6961285ED004DC38285BD0F7
:102A5000412859D120E0622856D0632854D06428F8
:102A600052D17EE0A07908704B4820380078A071E0
:102A7000484802612179A01D019300913223029000
:102A80000022294661E0002021793623009101903F
:102A900002460290012158E0A0790870E079487060
:102AA000207A8870607AC870E17AA07A09024018AA
:102AB0009863002A0DD000231A4606210498B047D7
:102AC000287D002805D000232D691A460721049887
:102AD000A84731482F4920388A7A0378A371437870
:102AE000E37183782372C37863720379A3724379A5
:102AF000E37283792373C07960739000E273C01925
:102B0000038F2374038F00E03DE01B0A6374836B23
:102B1000521C1B0CA374806B000EE074D0B2887240
:102B20000A2801D30020887220796A461070C006F6
:102B300003D57D201A4A800190642079A31D0E22BE
:102B40006D460DC54223097900220398FFF782FCE8
:102B50000246F86B401CF8630399049802F098FD54
:102B600011E0E179A07909024018217A647A090418
:102B70002406091940189863002A04D000231A4635
:102B800006210498B04700203AE700007C040020AA
:102B900010060020EC000020480C0020100A002045
:102BA00080160020034610B50020024602E09C5C1F
:102BB0006040521C8A42FADB10BD30B50D46084613
:102BC00009781446252901D0012030BD062C01D2F8
:102BD000032030BD611EFFF7E5FF29192039C97FA9
:102BE000814201D0042030BD002030BD70B51E46AA
:102BF00004460B465520049D059920706370A27011
:102C0000E6702571EE2E10D02A46601DFEF7CFFA31
:102C1000691D2046FFF7C6FF61194871A81D052EE2
:102C200002DA002E00D1002070BD05212046FFF7FA
:102C3000B9FF60710620F2E7FEB516460F4605465D
:102C4000FFF7BBFF040014D0E0B2694608720090A1
:102C500002A90B4801910278401E0178EE23094831
:102C6000FFF7C4FF02460749284602F011FD20463F
:102C7000FEBD32463946284600F006F8FEBD00008B
:102C800029010020F80C0020F7B588B04A78F848F0
:102C9000039242688260421C15788E782D093607AF
:102CA0002D01360F0B7935431570F24A02920078E8
:102CB000039A84460C46624501D0FF2A2FD1214653
:102CC000E7780931EC4A002605914F2F74D02EDCAD
:102CD000EA480121192F70D016DC072F26D008DC16
:102CE000002F1CD0012F55D0032F58D0052F47D1CE
:102CF00083E0112F71D0162F70D0E149172F08688B
:102D00006DD0182F3CD15CE2312F76D008DC212F1A
:102D100067D0222F70D0232FE3D0242F30D14AE365
:102D2000322F03D0332F68D0342F29D1DAE004209A
:102D3000642F7DD012DC562F7BD008DC502F79D049
:102D4000532F78D0542F77D0552F19D1B6E2572F63
:102D500073D0582F72D0632F12D1C9E2692F2DD0B2
:102D600008DC652F6BD0662F2DD0672F31D0682FF0
:102D700006D1D6E26B2F24D0732F70D0742F6FD072
:102D800002206946087404A90191EE232A460090A6
:102D9000614608E0641D00930194012349E2B949AA
:102DA0001820A6E203990298FFF720FF0246029935
:102DB000089802F06DFCFEE237E220E2B2490C20F6
:102DC00097E2B24995E2B1491039502091E23B4671
:102DD0002FE2E1790020A74A08E0C5E1D3E1E9E16B
:102DE0000BE0EFE023185B7A1354401C8842F9DBB8
:102DF000A04803F0DDF9C2E254E1A2796179120240
:102E00008918E27989B2882B2BD0892B2DD08A2B77
:102E10002FD0832B32D0842B35D0852B38D0862BE6
:102E20003BD0872B3ED08B2B41D08C2B44D007E05E
:102E300062E24CE2F7E101E217E2FCE150E268E213
:102E4000FE2B12D0A92B3CD0B32B3ED0992B3FD0D8
:102E5000A12B42D08748103840180092A5E179E2B2
:102E600090E2490009188A483AE04900091889485F
:102E700036E0490009188648203831E04900091831
:102E8000952080002CE0490009189D20800027E053
:102E900049000918A520800022E049000918FD20FA
:102EA00080001DE0490009187948A03818E0490061
:102EB0000918DD20800013E049000918BD208000BA
:102EC0000EE04900091874480AE04900734807E019
:102ED000734849000818001DBFE749000120C006DB
:102EE0000818BAE7A279617912028918E27989B2E1
:102EF000882B23D0892B25D08A2B27D0832B2AD02F
:102F0000842B2DD0852B30D0862B33D0872B36D0F9
:102F10008B2B39D08C2B3CD0FE2B40D0A92B42D010
:102F2000B32B44D0992B45D0A12B46D05148103813
:102F3000401800220599FEF73AF920E249000918E5
:102F400053483DE049000918524839E04900091842
:102F50004F48203834E049000918952080002FE0C0
:102F6000490009189D2080002AE049000918A52081
:102F7000800025E049000918FD20800020E049007C
:102F800009184348A0381BE049000918DD208000DB
:102F900003E049000918BD2080000818C9E749006E
:102FA00009183C48F9E7490009183B48F5E749008A
:102FB0003A48F2E749003A4802E049000120C006D9
:102FC0000818B7E76279A479240212190924A40128
:102FD00092B2002B14D0012B19D0022B23D0032B3B
:102FE00027D0042B2DD0052B31D0062B2FD0082B2A
:102FF00036D06846067404A821230091019018E198
:1030000013095B001818001930E0012025E01309AE
:103010005B001818001912E013071B0F0A469A40AC
:103020001040F2D119E013095B0018180523DB01E9
:103030001BE013095B0018180F239B01C018808E3A
:10304000EAE713095B00181801239B020DE0D20088
:1030500010184030007E4006C00F6A461074CAE760
:1030600013095B0018180923DB01C018808AD3E715
:1030700028010020F80C0020B418002000110020C6
:10308000780E002088700008ACF7FF1F107C000845
:10309000B4040000B4050000B4060000900600204F
:1030A00080100020A2796179120289188DB2002B5C
:1030B00017D0012B1ED0022B25D0032B2CD0042B94
:1030C00033D04021052B38D0062B36D0072B3FD0EC
:1030D0006846067404A80190B84800960278222336
:1030E00060E62B095B0029071B18090F9520E27980
:1030F000800035E02B095B0029071B18090F9D2074
:10310000E27980002CE02B095B0029071B18090FCE
:10311000A520E279800023E02B095B0029071B181A
:10312000090FFD20E27980001AE029072B09090F19
:103130005B001B18E279A24812E0EA001018403048
:10314000028B8A43E179C907490E0A430283C1E72A
:103150002B095B001B1829079948E279090F803079
:10316000181802F0B9FAB5E7002B02D0012B03D0F2
:1031700005E102F0A7FC02E102F06CFCFFE08F48E1
:10318000E37802780EE6A179607909024018E179C6
:103190008C4C80B2002B0AD08B4E012B02D0928A2D
:1031A000002A04D040008019009101900FE64000F1
:1031B0000019F9E7002800D00E6000961723019649
:1031C00037E0002800D00E60A1796079090240182C
:1031D00085B2E27900207D4903E027187F7A0F54F9
:1031E000401C9042F9DB7949284603F009F809347C
:1031F000724800960196049402781823D2E5A379C8
:1032000060791B02C018D082908A002809D096826B
:103210006F4802F0FDF9694800960196027819237B
:10322000C0E59182F4E7138300E0168300960196CF
:10323000E3782A46B6E5664920205AE0A17960790C
:1032400009024018634980B20A18E179121D7828F2
:1032500001D3002105E00B18782B02D97821081A38
:1032600081B2C8B201920090B1E5A17960790902FA
:103270004018584980B20B18E2791B1D782801D3F9
:10328000002205E01118782902D97821081A82B2A3
:1032900018460599FDF78BFF009601964748E3789D
:1032A000027803990298FFF7A1FC02460299089858
:1032B00002F0EEF9474802F0C3FF7CE0454802F017
:1032C000BFFF3E4800960196027855236AE54048C4
:1032D00002F09EF93948009601960278562361E57E
:1032E000032109023C48FDF77BFF009601966EE53D
:1032F0003A49019100906AE5A17960790902401884
:10330000E17980B20D01FEF765FAE9B20091019012
:1033100035E7FEF7F5F8294800960196027865230F
:1033200040E5009665232A46019603990298FFF727
:103330005DFC02460299089802F0AAF9012080F388
:103340001088BFF34F8F27492548C860BFF34F8FC0
:1033500000BFFDE7A17960790902401880B2E279E7
:10336000059902F033FF002809D0C0B2009004A9EB
:10337000124801910278EE23401E017813E5009671
:103380000196FCE6A17960790902401880B20690A6
:10339000E47900963B462A46019603990298FFF786
:1033A00025FC02460299089802F072F92246059916
:1033B000069802F01BFF00200BB0F0BD2901002091
:1033C000140400000080000800A00008F80C002091
:1033D000B41800208010002090060020F416002071
:1033E0000400FA0500ED00E070B5FEF753F816484A
:1033F00000F0EAFA154D164C6869A065124881681C
:1034000061658188491C81808088E0640E4802F0F3
:10341000FFF82868206768686067A868A0670122CD
:103420000C4B1146A06DFDF7D9FF20468030E968AE
:103430000160A9694160E96981602969C160296AFF
:103440000161002070BD0000B41800203C01002084
:10345000801600203930000030B583680122134007
:1034600002D00022104630BD8C684B68C9682343E7
:10347000C468034D2C4021430B43C360F2E70000B6
:10348000C73FFFFF30B583680122134002D00022FE
:10349000104630BD18C94D6823430C6889682C4319
:1034A00023430B43C168024C21400B43C360EFE749
:1034B0003CC2FEFF08B504494A6902434A614969B2
:1034C0000140009108BD00000010024008B5044909
:1034D000CA690243CA61C9690140009108BD000080
:1034E0000010024008B504498A6902438A6189696B
:1034F0000140009108BD00000010024070B5094E67
:1035000004467618203E049D0C34F17F0830102DBF
:1035100003D00A50F07F035170BD0A51F17F0B5068
:1035200070BD000030710008044A51182039C97F6D
:103530004258520852004250704700003071000853
:10354000044A51182039C97F425801231A43425076
:103550007047000030710008044A51182039C97FB3
:10356000425802231A43425070470000307100084D
:10357000054B10B559182039C97F4358032424033B
:10358000A3431343435010BD36750008054B59182B
:103590002039C97F001D0B581B0C1B0413430B5013
:1035A0007047000030710008054B10B559182039DC
:1035B000C97F4358034C23401343435010BD0000C0
:1035C00036750008EFBFFFFF054B10B559182039BD
:1035D000C97F43588024A3431343435010BD0000C8
:1035E00036750008054B10B559182039C97F435866
:1035F0000324A402A3431343435010BD36750008AF
:10360000054B10B559182039C97F43582024A343CE
:103610001343435010BD000036750008054B10B52C
:1036200059182039C97F43584024A34313434350BA
:1036300010BD000036750008054B10B5591820392B
:10364000C97F435803242402A3431343435010BDAE
:1036500036750008F0B51FB40024022804D00128F4
:1036600004D00425144F12E00125FBE70225F9E7F9
:10367000019861000E18220103990298FDF786FD5A
:1036800039690122114339613080641CE4B2AC42D3
:10369000EED3F868C007C00FFBD1F8688006C00FF2
:1036A00008D0F86820210843F860386940084000D5
:1036B0003861012005B0F0BD00200240C90210B5FC
:1036C0000B1811491AE00C69022214430C6148617D
:1036D0000A69402422430A61CA68D207D20FFBD18B
:1036E000CA689206D20F0DD0CA6820242243CA604D
:1036F0000C69022294430C61920280189842E2D332
:10370000012010BD002010BD002002400748C16804
:10371000C907C90FFBD101698022114203D00449B6
:1037200041600449416001207047000000200240D0
:1037300023016745AB89EFCDF0B500233CE00124C0
:103740009C40224037D04F680668144654436500B9
:103750006519AE4367433E4306604E68012E01D0B3
:10376000022E05D18F6886686743AE433E4386606C
:103770000F69C668AE4325467D432E43C6604D683B
:10378000022D18D14D69FF2A09D8066A54435443C3
:103790002201121B96436C43264306620BE0140A77
:1037A00022466243624362431401A61A446A6A4392
:1037B000B443144344625B1C0A681446DC40BED127
:1037C0004A68012A01D0022A06D10A68C9684368FA
:1037D00093434A43134343600120F0BD10B50446B0
:1037E00001F04AFD206001F02DFD606001F038FD20
:1037F000A06010BD014610B5002000290FD1104A6D
:10380000116B8907890F01290AD0022911D00329D8
:1038100009D001F031FD01F015FD01F021FD10BDD1
:1038200001F02AFD10BD11688907C90FFAD00548BB
:1038300010BD116A8907C90FFAD00120C00310BD5D
:103840000010024000127A00F0B50268194B1A4CC1
:10385000984201D0A04203D17025AA434D682A4363
:10386000164D174E174F98420AD0A04208D0164C5A
:10387000A04205D0A84203D0B04201D0B84204D142
:1038800003242402A243CC68224302608A68C262F5
:103890000A888262984205D0A84203D0B04201D083
:1038A000B84201D1097C01634169012211434161A0
:1038B0001046F0BD002C01400004004000400140D3
:1038C00000440140004801400020004041680122BE
:1038D000D202914341608168082291438160704720
:1038E000FEB5044600680D460026C007C00F4FD144
:1038F000E9686868AA69084329691143084321688F
:10390000244A114008432060A8686168032212031A
:103910009143014361606869A168121191430143B9
:10392000A1601D48844203D10020FFF763FF12E02D
:103930001A4884420BD01A48844208D0194884425D
:1039400005D01948844202D01848844220D16846E4
:10395000FFF744FF029800281AD02968002917D0E1
:103960000126AA69F3039A420CD140004A08801844
:10397000FDF7BCFB0E4980B201400007420F0A432D
:10398000E26005E04A081018FDF7B0FB80B2E06085
:103990003046FEBDF369FFEF0038014000440040AF
:1039A00000480040004C004000500040001401401E
:1039B000F0FF000010B580220249FDF7F8FB00205F
:1039C00010BD0000A0700008F0B5154A00211514C4
:1039D000144C154F0CE0D65ABE4208D19B185B8898
:1039E0006668B34203D90AC44B1C2360083C491CD7
:1039F0004B01AB42EFD321680123002905DB4901CC
:103A00008918202201F0D2FC00E08380A0684001E8
:103A10002030A84201D90020A0600020F0BD0000A5
:103A200000C800083C010020AA5500001FB50B4645
:103A3000024604A1684602F063FC0146684601F0B4
:103A4000DFFB1FBD201B5B25643B25644800000095
:103A500070B501208AB04002FFF744FD224CA06AF5
:103A600003263043A0622149B0050A68824302431D
:103A70000A60A26A83111A43A2620A68824302435F
:103A80000A60002505950695079505A92046089525
:103A9000FFF7E2FC0120039000950195029569462D
:103AA00004952046FFF7EEFCE16804208143E160C5
:103AB0006169C908C900314361616168014361609E
:103AC0006068082188436060A06817218843C9079F
:103AD0000843A060A068C00FFCD1A068044908405A
:103AE000401CA0600AB070BD0024014008270140BE
:103AF000E8FFFF7F10B50120FFF7DCFC00210A2062
:103B000000F08EFC0A2000F081FC00210B2000F068
:103B100087FC0B2000F07AFC10BD0000F0B50120FE
:103B200087B04004FFF7C6FC01208004FFF7C2FC09
:103B30000120C004FFF7BEFC01208005FFF7BAFC9E
:103B40001C480125002403266A46049551C2092712
:103B5000FF0669463846FFF7EFFD1920000203947F
:103B60006A46049461C269463846FFF7E5FD2802BB
:103B7000B86111486A46049551C2104F69463846EB
:103B8000FFF7DAFD0B20000303946A46049461C238
:103B900069463846FFF7D0FD0720400300900294A5
:103BA00003946946019504940548FFF7C5FD07B0E5
:103BB000F0BD0000C0800000E743000000040048A2
:103BC00000080048084807490160084901600421CD
:103BD0004160074A8260C1684907FCD1026105491A
:103BE00001607047CCCC000000300040555500000B
:103BF000FF0F0000AAAA000010B586B01421684685
:103C0000FDF7EEFA1020FFF761FC0021112000F013
:103C100007FC112000F0FAFB2F20694608800020E5
:103C200001900848084C02902046FFF70DFE2068DE
:103C3000802188432060E06801210843E06006B0ED
:103C400010BD0000E70300000010004070B5012027
:103C50008EB08003FFF746FC03204002079002204D
:103C60000890032000240990012509200A9407A93F
:103C70000C950B94C006FFF75FFD3A4E102202210F
:103C80003046FFF791FC002202213046FFF770FC1E
:103C9000002202213046FFF7B3FC00220221304609
:103CA000FFF7BCFC802202213046FFF78DFC00228A
:103CB00002213046FFF7C0FC002202213046FFF708
:103CC00091FC002203213046FFF76EFC0022032105
:103CD0003046FFF74DFC002203213046FFF790FCF1
:103CE000002203213046FFF799FC80220321304651
:103CF000FFF76AFC002203213046FFF79DFC0022FB
:103D000003213046FFF76EFC00211B2000F088FBEA
:103D10001B2000F07BFB144869460068009001946A
:103D200002940394059406940C20104C04902046B1
:103D3000FFF7D6FD606829050843606060684900A8
:103D400003225205904308436060A068491208436B
:103D5000A0602046FFF7BAFD2068284320600EB01F
:103D600070BD000000000240DC000020003801406F
:103D7000F0B58DB01C2106A8FDF732FA182168466F
:103D8000FDF72EFA012464042046FFF79FFB20462E
:103D9000FFF790FB012500240E2002260327039540
:103DA0006A4605950494C1C209206946C006FFF71A
:103DB000C3FC00960920039504956946C006029746
:103DC00001960595FFF7B8FC464E102204213046B7
:103DD000FFF7EAFB002204213046FFF7C9FB00226F
:103DE00004213046FFF70CFC002204213046FFF787
:103DF00015FC802204213046FFF7E6FB0022042157
:103E00003046FFF719FC002204213046FFF7EAFB99
:103E1000002205213046FFF7C7FB0022052130466E
:103E2000FFF7A6FB002205213046FFF7E9FB002241
:103E300005213046FFF7F2FB802205213046FFF7CF
:103E4000C3FB002205213046FFF7F6FB00220521C7
:103E50003046FFF7C7FB00211C2000F0E1FA1C20D0
:103E600000F0D4FAA61EFF21304600F0D9FA304601
:103E700000F0CCFA1C48EE03006806900794089402
:103E800009940C200AAA51C2184C06A92046FFF733
:103E900027FDA06821140843A060A068B043304308
:103EA000A06020681F2149058843084320602068DE
:103EB0004911884308432060606829050843606011
:103EC000606849007A05904308436060A068491221
:103ED0000843A0602046FFF7F9FC206828432060D3
:103EE0000DB0F0BD00000240E000002000440040A2
:103EF00030B58DB01C216846FDF772F9182107A86E
:103F0000FDF76EF90124A4042046FFF7DFFA2046EE
:103F1000FFF7D0FA032080020790022008900320C8
:103F20000024012509A931C104200C9007A91348D8
:103F3000FFF702FC00211D2000F072FA1D2000F0A6
:103F400065FAE120800200900C2001940294039411
:103F500005940490E8030A4C069069462046FFF752
:103F6000BFFCA068A1140843A0602046FFF7AEFC88
:103F70002068284320600DB030BD000000040048D8
:103F80000048004010B58EB01C216846FDF728F9A6
:103F9000182107A8FDF724F901200005FFF796FA7C
:103FA00001208004FFF786FA18200790022008906D
:103FB00003200990002404200C900A940B9407A974
:103FC0001348FFF7B9FB00211D2000F029FA1D203E
:103FD00000F01CFAE120800200900C200490019473
:103FE0000294039405940120C0030A4C069069468C
:103FF0002046FFF775FCA068A1140843A060204686
:10400000FFF764FC20680121084320600EB010BD5A
:10401000000400480050004030B58DB01C216846B7
:10402000FDF7DEF8182107A8FDF7DAF82020FFF7E2
:1040300059FA01204004FFF73DFA30200790022092
:10404000089003200990052000240C9009200A9470
:104050000B9407A9C006FFF76FFB00211D2000F09D
:10406000DFF91D2000F0D2F9E120000200900125C7
:104070000194029403940C20ED0304AA31C20B4C6A
:1040800069462046FFF72CFC6068A843284360601F
:10409000A068A1140843A0602046FFF717FC206821
:1040A0000121084320600DB030BD00000014014024
:1040B00000B50846042A02D80020C04300BD01789C
:1040C0007F2902D90120C04300BD41784906490E2D
:1040D0001F2902D90220C04300BD114602F0CAFBCD
:1040E0000028F9D0042000BDF7B588B00F460A9A21
:1040F0000898FFF7DDFF0690002803D00020C0439A
:104100000BB0F0BDBD483A7800783946824273D191
:104110008C784A78CB78B98824024DBAB8491C43C8
:1041200008704A7001200790200521070226000E22
:10413000090F130002F0F8F811A60A508DA7BFDD91
:10414000A6A6A6A6A6A6A6A6E9F0A600E81DC008F3
:10415000AB4903908870002038E0002701200597C4
:1041600001900098C000049026E021070122200958
:10417000090FD202944207D24200A2481218092025
:1041800080011018808E05E042009E481018FF3014
:104190008130808AFDF794FA002801D00198074306
:1041A0000198641C4006000E01900598A4B2401CC2
:1041B0000590082804DA049805994018A842D4DB31
:1041C0008F4800994018C7700098401C03990090D0
:1041D0008842C2DB761854E0E81DC0088849039085
:1041E0008870002030E000200090012001900298AB
:1041F0000027C00004901DE0FDE02005000E4200F5
:10420000804821071218092080011018090F808AA0
:10421000FDF756FA002803D0019900980843009052
:104220000198641C4006000E7F1CA4B20190082F68
:1042300003DA0498C019A842DFDB7149029A00989A
:104240008918C8700298401C039902908842CADB02
:10425000C0E768006A498446887000200EE0211893
:104260004A006849470052180921C9015118898E2E
:10427000634A0B0ABA18D3701171401CA842EEDBD6
:1042800017E0761C8DE068005D4A8446907000203F
:104290000DE021184B005B4947005B18092189019B
:1042A0005918898ABF180B0AFB703971401CA84243
:1042B000EFDB6644E5E7002D12D0FF2212029542A3
:1042C00007D142004F4812189D208000101801F0BD
:1042D000FBF939464A480A9AFCF769FF0A9E85E0CD
:1042E0004200484812189D208000101801F0ACF8D8
:1042F000EFE73879797900020843424962005218A1
:104300000921C90151188886E3E7E81DC0083C4926
:1043100003908870002036E047E03818C07900909C
:1043200001200190002005900298C000049024E034
:10433000210701222009090FD2029442009B019A11
:1043400007D21A4043002F481B189D2080001818E0
:1043500005E01A4043002B481818FF30953001F053
:10436000C7F90198641C4006000E01900598A4B29C
:10437000401C0590082804DA049805994018A842C2
:10438000D6DB0298401C039902908842C5DB1C488A
:10439000B9788170F978C170397901717979417191
:1043A000361D0698002814D025E000200EE04100BC
:1043B000C919CA79097A12020A4321184B00114916
:1043C0005B180921C90159188A86401CA842EEDBF6
:1043D000DDE70798002809D0B1B2094802F04AFA8F
:1043E00007498855000A89194870B61C32460449A5
:1043F000089801F04DF9002082E600003401002009
:10440000F80D00200011002070470000C106C90E01
:1044100001208840014908607047000000E100E089
:104420008307FF22DB0E9A408907090E9940002876
:104430000BDA0007000F0838830808489B0018189B
:10444000C36993430B43C3617047830804489B00CF
:104450001818036893430B430360704700ED00E0B6
:1044600000E400E08307FF22DB0E9A408907090E73
:10447000994000280BDA0007000F08388308084825
:104480009B001818C36993430B43C36170478308AB
:1044900004489B001818036893430B43036070475C
:1044A00000ED00E000E400E0F7B58CB000200B90D8
:1044B0000D98007854280ED10D984078C006C00E93
:1044C0004100411805900020C0430B31914203D1B7
:1044D0000598022802DA00200FB0F0BD0D9841794E
:1044E00002790802104380016421FCF7FFFD069069
:1044F0000D982230417A027A08021043800164212B
:10450000FCF7F4FD0699814204DBCD48816B491C20
:104510008163E0E7401A0599491EFCF7FDFD0A900A
:104520000C98002863D1C6488168491C002481602A
:1045300058E0600021180D98069A08180A996143FE
:104540008D18BF490A69521C0A613721C9018D4281
:1045500002DABB4B01221A706A1A232109028A422D
:104560002CD2017A1E293CD3C17980790E020643F0
:10457000284602F025FD7D27FF0070433946FCF7F1
:10458000CBFD0090284602F037F971424843394686
:10459000FCF7C2FD0146AA483746006A0C220346D2
:1045A000A84E53439A199760009FF7505160FF211E
:1045B0009031884202DAA249401C08627D20C00185
:1045C00085420EDD9E4D2878012807D12A6A002AEF
:1045D00004DD9C490020AA6100F076FC00202870D0
:1045E0002862641C0598844201DA282CA1DB0C980F
:1045F00001287DD19248C168491C0024C1600BE1AB
:104600000A9A069B62436000D51821188C4B0D98BE
:104610005A690818521C3726017AF6015A61B542C8
:1046200002DA874A012353702322AB1B1202934202
:104630002DD21E297ED3C17980790E0206432D200A
:104640000002281A009002F0BBFC7D217043C900D3
:10465000FCF762FD0746009802F0CEF87D2170431A
:10466000C900FCF759FD024675480C23416A08460B
:104670005843754B8446C018866066469F51426019
:10468000FF209030814202DA6D48491C41627D2052
:10469000C00185424EDD6A48407801287ED1684DD0
:1046A000686A0990002879DDE86168480390002075
:1046B00008907D20C000424200238446049201926B
:1046C000009063491A46184607931BE00C255E4E7E
:1046D0004543AF19BE680296322E12D37F685A4EF8
:1046E000282F0EDB75595B4EC835B54209D200E064
:1046F00098E08F4200DA3946039E029DB54200D20F
:104700000395401C099DA842E0DB00254EE00C20EB
:104710002E464D4F4643B859F71903907E680296CE
:10472000BE68322E41DB029E282E3EDB0646C8368E
:10473000484F00E06FE0BE4237D20E46029F32364D
:10474000B7420BDD002B01DD002A03D0002A2CDD4F
:10475000002B2AD10798401C079026E0089E3D4F69
:10476000761C08960646C736BF1EBE4207D2009F7B
:10477000B84200DA0090019FB84200DD0190FF27A7
:104780002C37BE4205D2049F039EBE4200DD04903A
:104790005B1C0646C93EFF272C3700E037E0BE42CF
:1047A00003D2604500DA8446521C6D1C099885428C
:1047B00003DAFF20F5308142A9DB0020002B07DD62
:1047C000002A05DD079A002A02DD6046049A04E00B
:1047D000089A0A2A05DD019A00988018C20F10185D
:1047E0004010174B9A6A550052191018C217920FB1
:1047F0001018801098621648814208DA586B4200FF
:1048000080184018C117890F0818801058630C4988
:10481000002048704862641C0598844202DA282C03
:1048200000DAEDE606494A6B086B8018CA6A520046
:104830008018C217920F10188010C8620B984BE6B0
:10484000FC01002034200020F432002003D90000B5
:104850000F270000BD02000010B5040001D0601C4D
:1048600003D10221064801F045FC012C01D0641C53
:1048700003D10221024801F061FC002010BD0000BC
:10488000FE01002070B572B60125094A2D0395611D
:1048900080210C028B019362084201D0946100E0F8
:1048A000946249089361F6D19562956162B670BDD4
:1048B0000004004810B501200449C00648600448BF
:1048C0000168491C016000F005F810BD00ED00E032
:1048D000D800002070B5094DE86F00280CD0084CB6
:1048E000084902202268FDF767FF00202060E86782
:1048F0008021044801F068FB70BD0000FC0300202B
:10490000E80000201005002010B50648054B00788F
:104910000021403B5A1840325478491C14700F292A
:10492000F8DB10BD4011002010B5084C084B0122E7
:104930000221A06DFCF752FD064800F069FEE06D13
:10494000401CE065A06D2066002010BD8016002090
:1049500039300000B41800200248C16D491CC165FF
:104960000020704780160020F3B5FA4D85B0286806
:1049700000286FD0686800281CD000220D21082074
:1049800000F0CCFE00221146082000F0C7FE0122F4
:104990001146082000F0C2FE00200146EE4A13181E
:1049A0004033401C19701028F8DB00260121144602
:1049B00040347BE20122E1E7B2000598059B805C70
:1049C000D7187A78019201257B8800931B2873D031
:1049D00012DC0246030001F0A7FC1B5C72727272CB
:1049E00072723E3E3E3E3E3E5C5C5CA7A7A73E3EEA
:1049F000BEBEBEBEBEBE5C00342870D011DC014617
:104A00001C390B0001F090FC18A7A7A7A7A7A7A720
:104A1000A7A7A7A7454545454545454545454545BE
:104A2000F7453A2873D008DC014635390B0001F010
:104A30007BFC05E26E56E26E3000DC2804D004DC1C
:104A40003B28EFD0C82824D120E1DD28FCD0FA286B
:104A5000F9D11BE133E2D01F030001F065FC0E0821
:104A60000A10181B1D1A1A1A1A1A1A20261A207C44
:104A70004AE0FFF749FF00281FD0207C3AE0FFF70B
:104A800043FF002816D1207C002813D125E000F038
:104A9000A1FBF5E12078F7E7FFF736FF1DE0207C6A
:104AA00000280AD0002905D007E0207C002804D186
:104AB000002902D0012010E04DE000200DE013009D
:104AC00001F032FC070C050E111B262E0C0000F025
:104AD00081FB00990198FCF707FE2074D0E11AE1F0
:104AE00000F078FB0CE0207C0028E6D000990198CB
:104AF000FCF7FAFD0028E0D0DCE7207C0028DCD0C1
:104B000000990198FCF7F0FD0028D6D1D2E758E1D2
:104B1000207C0028CED100990198FCF7E5FDB3E791
:104B2000207C0028ECD0C5E7102804D0112804D040
:104B3000122AAED10AE0227C03E0207C0028A8D013
:104B400001220099019800F0E9FD99E1207C0028FC
:104B50009FD00022F5E715383D79030001F0E4FB12
:104B6000120A1215181B0F1E3C4C5B6A2D798185A9
:104B7000898D7D9400F02EFB13E0207484E000F01A
:104B800029FB1DE000F026FB29E000F023FB36E0C6
:104B900000F020FB42E000F01DFB4EE0207C0028EE
:104BA00070D028460099FCF72FFE0546F9887879E1
:104BB000FCF72AFE854263D064E0207C002861D0A7
:104BC00028460099FCF720FE0546F9887879FCF71D
:104BD0001BFE854254D155E0207C002852D0284647
:104BE0000099FCF711FE0546F9887879FCF70CFE70
:104BF000854245DB46E0B1E0207C002842D02846D3
:104C00000099FCF701FE0546F9887879FCF7FCFD70
:104C1000854235DC36E0207C002833D028460099D8
:104C2000FCF7F2FD0546F9887879FCF7EDFD854241
:104C300026DD27E0207C002824D028460099FCF7B8
:104C4000E3FD0546F9887879FCF7DEFD854217DA41
:104C500018E0207C002813D1A3E7207C00280FD186
:104C6000AEE7207C00280BD1B9E7207C002807D1D3
:104C7000C5E7207C002803D1D0E7207C0028DCD0C9
:104C800001207AE7002078E70225F9E03F79154610
:104C9000C8280DD0DC2823D0DD282AD0FA28F3D16B
:104CA0002D48E90008184030007EC0062AD508E0EB
:104CB0002948E90008184030007EC00601D40021D0
:104CC00021E0207C002822D038460099FCF79CFD8A
:104CD0000146284600F0C0FB284600F0D3F94CE717
:104CE0001D48E90008184030007EC006E9D40121C3
:104CF00009E01948E90008184030007EC006E0D4F9
:104D0000022100E003212846FDF7F4F9D9E72846FF
:104D100000F0F8FEE0E73F790225342802D037287A
:104D200016D108E0207C002812D038460099FCF704
:104D30006BFD401C07E0207C002809D03846009914
:104D4000FCF762FD401E02463846009900F05CFD0B
:104D500096E00000780E0020001100203D7979795E
:104D60000291F9880191332814D035281BD03828B6
:104D70008AD1207C002887D00298FCF745FD0746A1
:104D800028460099FCF740FD3A1A0199029800F074
:104D90003BFD79E7207C0028FBD028460099FCF7F2
:104DA00033FD0246F1E7207C0028F2D02846009926
:104DB000FCF72AFD054601990298FCF725FD2A1803
:104DC000E3E73A7979790291F9880191797A039147
:104DD0007D89362806D0392812D03A281FD03B28A2
:104DE0004DD131E0207C002849D010460099FCF7D5
:104DF0000BFD074601990298FCF706FD3A180CE0F6
:104E0000207C00283BD010460099FCF7FDFC0746AB
:104E100001990298FCF7F8FC3A1A29462CE0207C0C
:104E200000282CD010460099FCF7EEFC07B201993F
:104E30000298FCF7E9FC00B247433A46294603983A
:104E400000F0E2FC3A1416E0207C002817D010464F
:104E50000099FCF7D9FC07B201990298FCF7D4FC41
:104E600001B23846FCF758F902B20F4629460398BA
:104E700000F0CAFC3A46691C039800F0C5FC032503
:104E8000301141000F48012308183107090F02892A
:104E90008B401946114000D00121277C0830002F9B
:104EA00001D01A4300E09A430280761906988642A0
:104EB00000DA81E503494868401C4860002007B0DB
:104EC000F0BD0000780E0020F7B586B005927D2277
:104ED00065480024D2008646504200900490039218
:104EE00001926348029404606049234622462046AA
:104EF00019E00C254543079E2F46AD19AE68B44610
:104F0000322E0FD36D68282D0CDB3E46079FBE590D
:104F1000584FC836BE4205D28D4200DA2946F445C4
:104F200000D2E646401C059DA842E2DB681E57E021
:104F300070460C25079E45437059AD196E68AD68E3
:104F4000B446322D4ADB6646282E47DB0646494FDB
:104F5000C836BE4242D20E463236B4450BDB002B79
:104F600001DD002A03D0002A38DD002B36D102985B
:104F7000401C029032E0282C07DA3F4EA700BF19F0
:104F800007263602BE19B580F0803A4E0546C73571
:104F9000B61E641CB54207D2039EB04200DA0390ED
:104FA000049EB04200DD0490FF272C37BD4208D29A
:104FB0000D462835AC4504DA009DA84200DD00907E
:104FC0005B1C0546C93DBD4208D20E462836B44595
:104FD00004DA019DA84200DA0190521C7046401E7E
:104FE0008646002803DBFF20F5308142A0DB204805
:104FF00004604360029D8560C260039D0561009D61
:105000004561019D8561049DC5610020002B08DD7F
:10501000002A06DD029A002A03DD019A0098101882
:1050200004E00A2C05DD049A03988018C20F1018BA
:105030004010124B1A68540012191018C217920F20
:105040001018801018600948401E814209DA0C4A85
:1050500010684300C0184018C117890F0818801045
:105060001060002009B0F0BD03D900001027000037
:10507000B41F0020BD0200000011002038020020F3
:105080002C020020FEB50746402802DB0020C0436A
:10509000FEBD2C48F9000E1800964036348BE10610
:1050A00001D40020FEBDA1063CD561063FD42649AF
:1050B000096800980A25406D0190081AA1070FD0D1
:1050C000A107890F012905D0022905D0E1438907ED
:1050D00005D005E0642503E07D25ED0000E01B4DD3
:1050E000A84224DB2946FCF717F8014615487A0048
:1050F00012180B20800110188446808E019B4018E6
:1051000069435B18009980B24B650D2189015118E4
:10511000898E814203D8084640210C43348361467E
:10512000888604E0600602D5402084433483307EC4
:10513000B9B24006C20F052000F0F0FA307E4006FA
:10514000C00FFEBD00110020440200201027000007
:10515000F7B50446FCF72BFB054602992068A942E7
:10516000A16806DC4018029A0199FCF720F8029920
:1051700019E040182A460199FCF719F829462046FB
:10518000FCF772F92046FCF712FB06460298471B13
:10519000B7420DDCA16820683A46401801994919C8
:1051A000FCF705F839462046FCF75EF90298FEBD8B
:1051B000002E0CDDA168206832464018019949197B
:1051C000FBF7F5FF31462046FCF74EF9AD192846AE
:1051D000FEBD0000074A0F2011183F235B5C4031E1
:1051E000401E0B700028F7DC02494031087C087033
:1051F000704700000011002000B5FFF743FB00BD21
:1052000010B50C460A4601460348FFF7A1FF00F01F
:10521000C3FE204610BD0000C003002010B50C46A0
:105220000A4601460348FFF793FF00F0B5FE20460B
:1052300010BD0000C003002010B50C4600F014FFA4
:10524000204610BD04494968F0221140034A09096B
:10525000515CC8407047000000100240E07A00082E
:1052600003494968034A4905490F515CC8407047E2
:1052700000100240F07A000810B5074841680C2081
:105280000140064805D0042904D0082901D100F0C6
:1052900009F810BD024810BD0010024000127A004B
:1052A000001BB70010B50D4C60680321C903012233
:1052B0000840D203811A0A4802D0914200D109481D
:1052C000E16A0907090F491CFBF710FF61680F220B
:1052D00092041140890C891C484310BD0010024003
:1052E00000127A00001BB7000920C00600694106C1
:1052F000C90FC943C907CA0D012149028A430106E2
:10530000C90FC943C907890D0A430121C00B89028E
:10531000C043C0078A43400D02432248016901206F
:10532000C00282438807C00FC043C007000D02437C
:105330000120000382434807C00FC043C007C00CD0
:10534000024350088A06D30F012240009A431043BB
:10535000022290434A06D20FD243D207920F104343
:10536000042290430A06D20FD243D207520F1043B1
:1053700008229043CA05D20FD243D207120F8905E3
:10538000C90F1043C9431022C9079043C90E0843EF
:10539000054909695202C90BC943C9079043890CE1
:1053A00008437047000400480008004870B5D4174F
:1053B000A40F0023A418A51003E09C000E59065169
:1053C0005B1C9D42F9DCD40F6B00A418651003E050
:1053D0005C000E5B06535B1C9D42F9DC104670BD01
:1053E00000B5FFF781FF00BDF8B500238446802596
:1053F000DB431248002421462A464A4312181788E4
:105400000F4EB74209D17E26B75A0E4EB74204D18D
:105410005288A24201DD0B461446491C0829EBDBE9
:10542000082B06D26B43191880226046FFF7BEFF97
:1054300002E06046FEF7BEFA0020F8BD00C000089A
:10544000AA550000A55A00000B0702881B0F012176
:1054500099408A430280704730B5402802DB002023
:10546000C04330BD0D4CC20013191A464032157EA0
:10547000AD0611D4400000190D24A4010419A18621
:105480000B240021A4010019818605480068586595
:10549000108B202108431083002030BD0011002014
:1054A00044020020034610B50020024604E09C5C44
:1054B0002018521CC0B2D2B28A42F8D310BD0000EC
:1054C00010B50B4C20461E388278611F4A70492265
:1054D000227000796070085CA07003212046FFF7FD
:1054E000E1FFE0700421204600F040F810BD00000C
:1054F000F201002010B51C4C2078002824D0207B1D
:1055000080062DD1607901220023002806D0A271E7
:10551000E07900280AD0401EE07107E0A068401C36
:10552000A0600A2802D91420E071A37160780028D5
:1055300016D02179491CC9B22171814200D922714A
:105540006371FFF7BDFF0BE02069401C2061C82894
:1055500001D9642003E0E079002801D0401EE07109
:10556000E068401CE06010BDD401002010B500F0E0
:1055700009FE10BD70B5044604291AD10321FFF7B6
:1055800091FFE178884214D1184900220878002858
:1055900020780FD00B461433692808D16578087934
:1055A000854204D101254D718A60A2781A54587839
:1055B000C87070BD4928FCD10C4D60784B781E3501
:1055C0009842F6D1A078C87069200A61287048789E
:1055D00068708878A87003212846FFF763FFE87099
:1055E00004212846FFF7C2FF70BD0000D40100204F
:1055F00010B500F001F810BD03488168C907C90F54
:1056000000D0C068704700000030014070470000C3
:1056100070B51A4C6168491C616019490180A18804
:1056200041801849CA6C8280496D81601121818353
:105630001549C183A1684A011449511800250B4638
:105640002A469E5CFF2E04D1521C202AF9D3002D3D
:1056500010D02022FBF7F2FFA0682060401CA06061
:1056600040010121C9022030884201D90020A060F8
:10567000002070BD202200F019FEEDE73C01002063
:10568000AA55000080160020A55A000000C8000896
:1056900010B514460A46012802D0022806D00DE0B3
:1056A00021461046FFF7BAFD054804E021461046A2
:1056B000FFF7C2FD0348816F491C8167204610BD7A
:1056C00068030020FC0300200B0702881B0F012148
:1056D00099400A43028070470907090F01238B4054
:1056E0000188002A01D0194300E0994301807047E6
:1056F00010B5002A02D0FFF7E7FF10BDFFF7A4FEA8
:1057000010BD0907090F01238B400188002A01D031
:10571000194300E0994301807047000070B50B0504
:105720001B0E204C5B000D071C192D0F030000F011
:10573000FBFD09060B14191E22272C313600FF2908
:105740002DD89520800003E0FF2928D89D208000D7
:1057500020182946FFF7D5FF21E0FF291FD8A520F3
:105760008000F5E780291AD2FD208000F0E780292B
:1057700015D20D48ECE7402911D2AD208000E7E7B3
:1057800040290CD2B5208000E2E7802907D20648E4
:105790002030DDE7802902D203488030D8E700209E
:1057A00070BD000000110020140400000121C90395
:1057B000034A002801D09162704791617047000050
:1057C0000008004801218903034A002801D09162A2
:1057D00070479161704700000008004801210922CC
:1057E000C902D206002801D09161704791627047CA
:1057F00001214903034A002801D091627047916159
:105800007047000000080048F0B5304C4B001C19F0
:105810000923DB01E6180B23DB01E51892B28A2885
:105820003DD00EDC294F4B00DF1909239B01FF18E7
:105830008338030000F078FD0714181C21262D463C
:10584000480099283ED006DC8B282CD08C2831D0FB
:105850008D2839D133E0A12834D0FE2834D131E06D
:10586000102931DABA822FE010292DDABA862BE01E
:10587000102929DA0520C00108E0082924DA0F20C0
:10588000800114E008291FDA01208002201882829A
:105890001AE0802918DAB28616E0AA8614E0802978
:1058A00012DAB28210E040290EDA0D2080012018B1
:1058B000828609E0402907DA0B208001F7E74029BA
:1058C00002DAE8E78029E8DB0020F0BD00110020C3
:1058D000F0B58DB0002500F083FFFCF701F80590CE
:1058E00010213A4800F0E6FF0790FBF7F9FF04901B
:1058F0001021364800F088FF0690FBF7F1FF039077
:105900001021324800F09EFF0190FBF7E9FF0646A8
:1059100010212E4800F0AEFF0090FBF7E1FF2C4A6B
:1059200004469068012108439060881E1061294850
:105930001061264B0021585C1070491C1029FADBBD
:105940001768FBF7CDFF0B90019900980297019023
:10595000214F0091781921A1069B079A00F0D0FCF5
:1059600045190B98A11B001B01910290039A049901
:105970000398B21A431A009208460599421A7819F8
:1059800020A100F0BDFC441908A8FDF727FF264818
:1059900042680320C00302403819134623A100F0D7
:1059A000AFFC0419381926A1089A00F0A9FC0119C6
:1059B0003846FFF725FC01210D20FEF737F8244972
:1059C0000320886000200DB0F0BD00005870000872
:1059D0000030024001A00000680200200D0A43527E
:1059E00043202025303458202025303458202025CD
:1059F0003034582020253034582020253034580D9C
:105A00000A00000074696D6520253034642020256B
:105A10003034642020253034642020253034642044
:105A200020253034640D0A00001002404D61696E7B
:105A3000536F75726365202578202564200D0A0058
:105A4000737973636C6B202564200D0A00000000DD
:105A5000C000002030B50021174D084669604200A3
:105A60005219401C1181FF28F9DD00200522134C3A
:105A7000D20143001B199B18401C99821028F8DBA7
:105A800000200922D20143001B199B18401C998653
:105A9000FF28F8DD00201022C100091940310B8BCE
:105AA000401C93430B834028F6DB01200449286007
:105AB0004882002030BD0000780E00200011002038
:105AC000B418002010B500210C48092201600C4BCD
:105AD000084692014400E418A418401CA18610282E
:105AE000F8DB0020012292024400E418A418401CB4
:105AF000A1820828F8DB002010BD0000780E0020ED
:105B00000011002010B5402802DB0020C04310BD6A
:105B10000B4BC100CA18114640310C7EA4060DD5AE
:105B20004000C0180B2300249B01C0188486054840
:105B300000685065088B202290430883002010BD28
:105B4000001100204402002010B5FBF7F3FEFCF723
:105B5000A5FA10BD70B594B030216846FBF740FB44
:105B60000024022501260E94E803099000960520E2
:105B70000F94C0040D9401960A900C9408950B950F
:105B80006846FCF779F8002803D0862115A000F0BC
:105B9000B5FB07200C900E9401210D950F940CA8D5
:105BA000FBF78EFF002803D092210EA000F0A6FB89
:105BB000109610A81296FBF70DFF002803D0A12124
:105BC00008A000F09BFB4B208001FCF74FFA04205B
:105BD000FCF706FA00221146501EFBF7F7FE14B040
:105BE00070BD00002E2E5C5372635C4253502E63D6
:105BF0000000000013480168012211430160416860
:105C0000114A114041600168104A11400160016869
:105C1000012292049143016041683F2212049143A2
:105C20004160C16A09090901C162016BFF22143296
:105C300091430163416B4908490041630021816040
:105C400070470000001002400CB8FF08FFFFF6FE8E
:105C500004480169C907C90F02D00121C943016184
:105C6000704700000010004070B51A4CE0691A4BF4
:105C70008006C00F0BD0A18C5868401C5860184A91
:105C8000164D106829549F2801DA401C1060E06905
:105C90000007C00F09D008202062A0680121090375
:105CA0000843A060D869401CD8612068C006C00FB6
:105CB00007D0E069C006C00F03D01020206200F0BA
:105CC00023F9E0694006C00F03D04020206200F0B5
:105CD0005BF970BD0038014068030020900400208B
:105CE000E400002010B5124CE069E0690007C00F25
:105CF00009D008202062A068A1140843A0600D48C4
:105D0000C169491CC1612068C006C00F07D0E069A5
:105D1000C006C00F03D01020206200F085F9E069B2
:105D20004006C00F03D04020206200F0CDF910BD26
:105D300000440040FC030020F8B5614CE069800697
:105D4000C00F09D0A08C5F4AC1B21068FF2803D2EF
:105D50005D4B1954401C1060E06900250006C00F1F
:105D60008026002810D05949594A0868136898427B
:105D700005D30D6015602068B043206004E0554AEB
:105D8000125C401C08602285E0690007C00F06D045
:105D900008202062A068012109030843A060206850
:105DA000C006C00F07D0E069C006C00F03D01020A6
:105DB000206200F091F9E06940274006C00F0028FA
:105DC00002D0276200F094F9434CE0698006C00FCE
:105DD00009D0A08C414AC1B21068FF2803D2404BC1
:105DE0001954401C1060E0690006C00F10D03D49F6
:105DF0003D4B08681A68904205D30D601D6020680D
:105E0000B043206004E0394A125C401C08602285DF
:105E1000E0690007C00F01D0082020622068C0069A
:105E2000C00F07D0E069C006C00F03D01020206269
:105E300000F076F9E0694006C00F02D0276200F05A
:105E40007BF92B4CE0698006C00F09D0A08C294A51
:105E5000C1B210683F2803D2274B1954401C106070
:105E6000E0690006C00F10D02449254B08681A6865
:105E7000904205D30D601D602068B043206004E0AF
:105E8000204A125C401C08602285E0690007C00FB0
:105E900001D0082020622068C006C00F07D0E0694A
:105EA000C006C00F03D01020206200F05DF9E06949
:105EB0004006C00F02D0276200F062F9F8BD000072
:105EC0000048004070010020501B00209C01002071
:105ED00074010020901A002000500040780100203A
:105EE000501C0020A00100207C010020D01A0020BE
:105EF0000014014080010020501D0020A40100205A
:105F000084010020101B00200548416A491C4162A1
:105F100004490968002901DD0121C16770470000BB
:105F200068030020E4000020F8B5144D0C46064636
:105F300002212846FDF7F8FA10200090104B324657
:105F400002212846FDF7DAFA224602212846FDF70B
:105F50001DFB02212846FDF7F3FA0A4804630121DC
:105F6000417202212846FDF7F7FA05482838816872
:105F70008022114381602046F8BD000000000240ED
:105F800028380140680300200248016A491C016268
:105F9000704700006803002010B50A48407A0028C6
:105FA0000DD1084C206F5834002808D12046FBF74B
:105FB000EBFB0146E26820688018FFF7B5FF002080
:105FC00010BD000068030020F8B5144D0C460646CD
:105FD00005212846FDF7A8FA002000903346104A14
:105FE00005212846FDF78AFA224605212846FDF7B5
:105FF000CDFA05212846FDF7A3FA0A48446301219A
:10600000817205212846FDF7A7FA054824388168E2
:106010004022114381600020F8BD000000000240D2
:1060200024440040FC0300200A480B4900794058F2
:10603000802180B2081A0949012208600849CA670C
:106040004A6A521C4A62002803DD01200549000704
:10605000486070473071000804000240E8000020EA
:10606000FC03002000ED00E0F8B5144D0C46064698
:1060700004212846FDF758FA10200090104B3246B4
:1060800004212846FDF73AFA224604212846FDF766
:106090007DFA04212846FDF753FA0A4804630121DA
:1060A000417204212846FDF757FA054828388168CF
:1060B0008022114381602046F8BD000000000240AC
:1060C00028440040FC0300200248016A491C016288
:1060D00070470000FC03002003484068002802D0FD
:1060E00002490120C86770476C010020D4180020C5
:1060F0007047000010B50C460A4601460548FBF7FC
:1061000056F8054884600548016880221143016003
:1061100010BD0000901A00206C01002000480040D3
:106120000348C068002802D002490120C8677047B0
:106130006C010020681900207047000010B50C4663
:106140000A4601460548FBF732F805480461054850
:10615000016880221143016010BD0000D01A0020A8
:106160006C0100200050004003484069002802D024
:1061700002490120C86770476C010020FC1900200B
:106180007047000010B50C460A4601460548FBF76B
:106190000EF80548846105480168802211430160BA
:1061A00010BD0000101B00206C01002000140140F5
:1061B00010B5054C0A46638821465B1C4380FBF7FB
:1061C0003DFA002010BD0000007C00080B4610B511
:1061D000054944054118002C184602D000F066F825
:1061E00010BDFBF72BFA10BD001002080B46034947
:1061F00010B541181846FBF721FA10BD000002083F
:1062000070B50C460B494118002B08D00A4D4519B2
:10621000012B03D0094B9B8A002B00D12946400556
:10622000204603D000F042F8002070BDFBF706FACC
:10623000FAE700000080000800A00008B418002061
:10624000F8B54188174A491C4180154901807E21D3
:1062500000250A52ED43802300221146124C0026ED
:1062600059430C19314603E0675CFF2F04D1491CE8
:106270009942F9DB002E03D0521C082AEDDB00E026
:106280001546082D06D208495D436918802200F0A2
:106290000DF803E080220449FBF7D0F90020F8BD97
:1062A000AA550000A55A000000C00008F8B516461F
:1062B0000F460546FDF72AFA0024761C76080EE004
:1062C000600042195278295C120289188AB2C119F9
:1062D00000230220FDF7BEF9002802D0641CA6426C
:1062E000EED8054A1169802319431161002801D0B5
:1062F0000020F8BD0120F8BD00200240FEE70000AC
:106300000FB410B504A9074B02AA039800F028F8AF
:10631000044602A9002000F05DFA204610BC08BC2B
:1063200004B01847D567000830B47446641E257859
:10633000641CAB4200D21D46635D5B00E31830BCB9
:10634000184702E008C8121F08C1002AFAD1704796
:106350007047002001E001C1121F002AFBD17047E5
:10636000FFB591B00F460546002606E025280AD065
:10637000149A139990476D1C761C28780028F5D143
:10638000304615B0F0BD002400940121F34A029478
:1063900000E004436D1C2B780846203B98401042D7
:1063A000F7D128782A280ED0022128780246303AE0
:1063B000092A15D8009A0A235A43303A80180C4308
:1063C0006D1C0090F1E701CF0090002805DA012054
:1063D00040030443009840420090022004436D1C97
:1063E00028782E2815D10420044368786D1C2A28AB
:1063F0000AD101CF6D1C02900BE002990A22514391
:10640000303940186D1C029028780146303909292E
:10641000F3D928786C2810D006DC4C281AD06828CC
:106420000ED06A2817D104E0742813D07A2812D12C
:1064300010E00120400504430CE00121090501E0C2
:10644000032109050C436978814203D1012000052D
:1064500024186D1C6D1C287803906E281ED00CDC4F
:10646000632831D004DC00288AD0582811D1B2E04A
:1064700064287BD069280CD178E073282DD004DC07
:106480006F2870D0702804D1A7E075286CD07828C8
:106490006BD0149A13999047761C62E06002400F0B
:1064A000022807D003280AD0042838680AD00660DA
:1064B0003F1D56E03868F11706604160F8E738681C
:1064C0000680F5E70670F3E738786946087400201F
:1064D000487404A80390012003E03868039000206A
:1064E000C0433F1D61070FD5002101E00199491C00
:1064F000029A0191914213DA8142F7DB019A0399E2
:10650000895C0029F2D10BE0002101E00199491CCE
:1065100001918142FADB019A0399895C0029F5D146
:1065200001990098139A401A00902146149B00F09C
:106530003BF901998019461807E003980399007800
:10654000491C0391149A139990470198401E019099
:10655000401CF2D12146149B139A009800F014F9C4
:1065600086196D1C09E741E033E034E00A20002180
:10657000049005916002410F022905D001CFC21796
:106580009446032905D007E0FF1DFF08FF0003CF55
:1065900006E000B2C2179446042902D140B2C117E6
:1065A0008C4600226146944506DA0A4600214042A4
:1065B00091418C462D2102E0210504D52B216A460C
:1065C0001176012103E0E10701D02021F7E70191D5
:1065D00054E00A200BE0102009E010200490002174
:1065E0000420044308200591029003E008200021C4
:1065F000059104906002410F022905D001CF0022CD
:106600009446032906D006E0FF1DFF08FF0003CFD4
:106610008C4603E080B2042900D1C0B20021019170
:1066200021072BD50399702906D0049A1021059BC8
:106630004A401A4305D00EE040216A4611760121F6
:1066400008E06146014306D030216A46117603997D
:10665000517602210191049A0821059B4A401A4370
:106660000CD16146014301D1610707D530216A464B
:106670001176012101910299491E0291039958292D
:1066800004D037A103910FA90F910DE039A1F9E7CB
:106690006146059B049AFAF7B8FD039B8C469B5C08
:1066A0000F9A521E0F92137061460143F0D10F985A
:1066B00007A9081A20300390600704D501200004C0
:1066C0008443029801E0012002900399884201DD91
:1066D000401A00E000204118029001980918009823
:1066E000401A0090E00306D42146149B139A0098A8
:1066F00000F05AF886190020049008E006A9085C0A
:10670000149A139990470498401C761C04900199A0
:106710008842F3DBE0030CD52146149B139A0098C2
:1067200000F042F8861904E0149A3020139990473B
:10673000761C0299481E02900029F5DC08E00F98AB
:106740000F990078491C0F91149A13999047761C61
:106750000399481E03900029F1DCFBE6092801009B
:1067600030313233343536373839616263646566C7
:106770000000000030313233343536373839414289
:106780004344454600000000F8B5044600251E4677
:106790001746880404D405E039462020B0476D1C14
:1067A000641EF9D52846F8BDFFB50446002581B022
:1067B0001E46C80301D5302700E02027880404D5F1
:1067C00005E038460399B0476D1C641EF9D528468C
:1067D00005B0F0BD0A68531C0B60107070470000D4
:1067E00010B50A2101A0FEF70BFD10BD1B5B324A5C
:1067F0001B5B303B304800002D2110B5C90140180B
:1068000000F0DEFB10BD000030B503460B48002948
:1068100000D101210A4C491E0ED31A7850400022A3
:10682000C50702D04008604000E04008521CD2B2C8
:10683000082AF5D35B1CEEE730BD0000FFFF000027
:1068400001A0000070B50A4DFF23EE1D1A46F9366F
:1068500005E0047854402A5D5A40335D401C0C46E4
:10686000491E89B2002CF4D11802104370BD0000FB
:106870003673000870B504460C4800220C4E11E037
:106880002378521C1D4645402D07ED0E755B00090F
:106890004540180968400007C00E305A2B0958407F
:1068A00092B2641C8A42EBD370BD0000FFFF00006F
:1068B0006870000810B5084A084B07E00478544097
:1068C0002406E40D1C5B120A6240401C491EF5D2EE
:1068D000D04380B210BD0000FFFF000036710008F9
:1068E00006C00021016041608160C1600122026137
:1068F000416108467047000088B0002080F310888E
:10690000FE4F0125FF203D830530FD4BA022009066
:10691000991AFC48FBF70EFC4020FB4B0246191A63
:106920000090FA48FBF706FCFBF70CF8F84C002641
:10693000F8482667C06A6066F7480068A066F748AE
:10694000406AE066FFF706F9F649F5480860FBF78C
:1069500001FCFDF7E3F803200390049601A90596D6
:106960000295F148FCF7E8FEFDF7C4F8FCF73CFDA2
:10697000EE48FEF739FD3D83FEF732FDA063EC499A
:1069800060630D70EB4902070D70EB49120F0A703E
:10699000EA49EB4F1F2804D0C00605D50D703E70A4
:1069A00004E0E8480570F9E70E703D70E6480278AB
:1069B000E24801780220FBF70DFDE4490220FBF7D5
:1069C00081FFDD48E04900780870E1490120087046
:1069D000E120E04940020860FDF738F9FDF7C8F909
:1069E000FDF786FADC48006820210843DA49086090
:1069F0000868102528430860FDF7C4FAD7480068E6
:106A000020210843D5490860086828430860FDF73D
:106A100003FBD34801682022114301600168294328
:106A20000160FDF715F8FDF7CDF8FDF7E5F8CD4865
:106A30000168012211430160CB4801682022114303
:106A4000016001682943016001684022114301602F
:106A50008021C648FFF7B8FAC5480168294301609C
:106A600001684022114301600A20FAF74FFF01201C
:106A7000FEF7BEFE0020FEF7A5FE0020FEF7BCFBE1
:106A80000120FAF7D1FD0020FEF7A8FEFEF720FF57
:106A9000FAF726FF6066994D002028826882A34895
:106AA000C0882882288A01280AD1FBF7FDFA208FA6
:106AB000202108406882688A002801D0FEF7CAFFBA
:106AC000AC4E5A2070840020C043FDF7C5FE1B2148
:106AD000A948890145180F21C90140180090A74F06
:106AE0000020387001207870FAF7FAFE3861FAF762
:106AF0001BFF0790FEF774FC07468048008AC0071A
:106B00000BD0B806208F04D5800606D4FEF7A2FF6E
:106B100003E0800601D5FEF7D5FFA7630798E06381
:106B20000920C0060069009988847F480069C884EC
:106B3000934800690885934800694885FAF75EFE26
:106B40003075FAF7CDFE8D4F78618F4800680028C8
:106B500001D00020B082206CC006C00E02281CD1DB
:106B6000FAF7C4FB8848016800290ED00021B182E1
:106B700086490A68002A10D10068086084480068C5
:106B800084490860FDF7D0FE07E080490A68002AC2
:106B900003D000680860FDF7DFFE5848008A01282E
:106BA0000BD15648818A002927D07B49B960C18A18
:106BB0007A480160B868FDF7D7FE606E7969616652
:106BC000081AA066E16E884200D2E066216F884212
:106BD00000D92067FAF784FEB86158480078002889
:106BE00006D059480078002802D00220FBF778FC34
:106BF0000798800403D5012002E06949D6E7002008
:106C000038700798000501D5012000E00020787059
:106C10004B48007800281AD00220FBF7A3FE606CD6
:106C2000002801D15F4908845E485F49008C888252
:106C30005E490868800401D5012000E0002038701A
:106C40000868000501D5012000E000207870554853
:106C5000B18A0180018CB186F18A4180318B8180BB
:106C6000718BC180606C002801D0401E6064A06CF4
:106C7000002801D0401EA0642048018B00293BD091
:106C80007878FEF7B5FD7878FEF79CFD7878FEF70A
:106C90008DFD7878002801D1012000E00020FEF76A
:106CA0009DFDFAF71DFEF861FAF71AFE3862FAF751
:106CB00017FE0A2178620846FAF708FA0020401CFD
:106CC0004028FCDB206C401C20640E48C06F00286C
:106CD00013D037480268002A0FDD3648007825288F
:106CE0006AD092B233490120FDF7FEF90549002030
:106CF000C8672F49086098E05FE083E0B41800207F
:106D0000301E002068030020741F0020FC030020B8
:106D10008016002080F7FF1FD800002000100240DE
:106D200010270000A8010020000400488010002067
:106D3000D4010020D5010020F0000020EC0000204C
:106D4000ED00002020010020F7000020992200081B
:106D5000F1000020DC00002000480040005000400E
:106D600000140140001000400038014010050020D0
:106D7000004400404013002000110020AC0100201E
:106D800000080048000C0048600100206401002059
:106D9000880100206801002000A0000838010020C0
:106DA00000800008280C002000150020240100208D
:106DB000E4000020900400201FE0008A01280FD08A
:106DC000606C002810D07878FEF712FDA06C0028C7
:106DD0000CD07878FEF7F6FC7878FEF7E7FC5DE7F4
:106DE000554800680028EFD03878EDE70020FEF71E
:106DF000E9FC0020FEF7DAFC4EE750490120FBF7E2
:106E00001BFF73E74E49786888420DD94D484168A9
:106E100001221205114341604168520003235B05C2
:106E200099431143416001E0401C78604648007876
:106E3000002802D00020FAF769FD444FF86F0028BF
:106E400008D0434801784348FEF794FB40490020AE
:106E50000860F86740484149407D0870FEF74AFBEA
:106E60003F48007870753F48C06F00280CD0A88854
:106E70003D4F401CA8803D4900203A68FDF714FBB7
:106E8000002038493860C86739480088E8803948A8
:106E90000088288138480088688138480088A8819F
:106EA00037480088E8813748C06F00280CD0A88A8E
:106EB000354F401CA882354901203A68FDF7F4FAA5
:106EC000002030493860C86731483A4B0088E88272
:106ED0003048008828833048008868832F4800881D
:106EE000A88486462E480088E88484462D48018878
:106EF0002D482985008868852C480088A8852C485D
:106F00000288AA868288EA8602892A8782896A8715
:106F1000028AAA87828AEA87028B1A80808B58802D
:106F20007046F082604630837183B08EFEF764F95C
:106F3000224921480860D2E5780E00209004002004
:106F4000C027090000380140ED000020FC19002096
:106F500080010020501D002060130020D601002079
:106F6000D7010020D418002070010020501B002001
:106F7000040200200C020020140200203402002031
:106F80003C0200206819002078010020501C0020DD
:106F90000802002010020020180200203802002001
:106FA00024020020280200202C02002030020020B1
:106FB000B41F002000180020AAAA000000300040E2
:106FC0002D2110B54902002800DA4018FAF7A4F87C
:106FD000C817800E4018821180098001081A1C4BC6
:106FE00040245A2A04DA91005A58C918496808E01E
:106FF000B42A0FDAB421891A89005A58C91880397D
:10700000C96F231A534348431818C117890E08182B
:10701000801110BDFF210F318A4206DA0D4992001E
:1070200051185A58C918496807E0FF216931891A6F
:1070300089005A58C9188039C96F231A53434843E5
:107040001818C117890E08188011404210BD0000A1
:107050004075000830FDFFFF1122334455667788E4
:1070600099AABBCCDDEEFF00000001CC01D80014D2
:1070700001F0003C002801E401A0006C007801B49C
:107080000050019C01880044011109010201040122
:1070900004010000000000000000000000000600E5
:1070A000AA550000000100000000000001000100DE
:1070B00000090000000000000000020000000009BC
:1070C00000000000000000000000000000000000C0
:1070D0000000000000000000101010101010101030
:1070E0001010101010101010100020003000400080
:1070F00050006000030000000400000005000000D4
:107100000600000007000000080000000900000061
:107110000A0000000B0000000C0000001100A55A3E
:10712000AA55000000000000000000000000000060
:10713000081C304458000000891112239B32244659
:10714000AD573665BF74488CC19D5AAFD3BE6CCA6B
:10715000E5DB7EE9F7F88110080193331A22A55682
:107160002C47B7753E64C99C408DDBBF52AEEDDA4B
:1071700064CBFFF976E802218B3010029913266761
:10718000AF763444BD554AADC3BC588ED19F6EEB2B
:10719000E7FA7CC8F5D983310A2091121803A77742
:1071A0002E66B5543C45CBBD42ACD99E508FEFFB0B
:1071B00066EAFDD874C904428D5316619F7020049D
:1071C000A9153227BB364CCEC5DF5EEDD7FC6888EB
:1071D000E1997AABF3BA85520C4397711E60A11402
:1071E0002805B3373A26CDDE44CFDFFD56ECE998CB
:1071F0006089FBBB72AA06638F7214409D512225E1
:10720000AB343006B9174EEFC7FE5CCCD5DD6AA9AA
:10721000E3B8788AF19B87730E6295501C41A335C1
:107220002A24B1163807CFFF46EEDDDC54CDEBB98A
:1072300062A8F99A708B088481951AA793B62CC21C
:10724000A5D33EE1B7F04008C919522BDB3A644E92
:10725000ED5F766DFF7C899400859BB712A6ADD259
:1072600024C3BFF136E0C1184809D33B5A2AE55E72
:107270006C4FF77D7E6C0AA583B4188691972EE338
:10728000A7F23CC0B5D14229CB38500AD91B666F52
:10729000EF7E744CFD5D8BB502A499961087AFF319
:1072A00026E2BDD034C1C3394A28D11A580BE77F32
:1072B0006E6EF55C7C4D0CC685D71EE597F4288074
:1072C000A1913AA3B3B2444ACD5B5669DF78600C12
:1072D000E91D722FFB3E8DD604C79FF516E4A990D9
:1072E0002081BBB332A2C55A4C4BD7795E68E11CF2
:1072F000680DF33F7A2E0EE787F61CC495D52AA1B8
:10730000A3B03882B193466BCF7A5448DD59622DD1
:10731000EB3C700EF91F8FF706E69DD414C5ABB198
:1073200022A0B9923083C77B4E6AD5585C49E33DB1
:107330006A2CF11E780F00C1814001C0804101C05C
:10734000804100C1814001C0804100C1814000C135
:10735000814001C0804101C0804100C1814000C125
:10736000814001C0804100C1814001C0804101C015
:10737000804100C1814001C0804100C1814000C105
:10738000814001C0804100C1814001C0804101C0F5
:10739000804100C1814000C1814001C0804101C0E5
:1073A000804100C1814001C0804100C1814000C1D5
:1073B000814001C0804101C0804100C1814000C1C5
:1073C000814001C0804100C1814001C0804101C0B5
:1073D000804100C1814000C1814001C0804101C0A5
:1073E000804100C1814001C0804100C1814000C195
:1073F000814001C0804100C1814001C0804101C085
:10740000804100C1814001C0804100C1814000C174
:10741000814001C0804101C0804100C1814000C164
:10742000814001C0804100C1814001C0804101C054
:10743000804100C1814000C0C101C30302C2C60631
:1074400007C705C5C404CC0C0DCD0FCFCE0E0ACA9C
:10745000CB0BC90908C8D81819D91BDBDA1A1EDEEC
:10746000DF1FDD1D1CDC14D4D515D71716D6D2129C
:1074700013D311D1D010F03031F133F3F23236F6AC
:10748000F737F53534F43CFCFD3DFF3F3EFEFA3A5C
:107490003BFB39F9F83828E8E929EB2B2AEAEE2EEC
:1074A0002FEF2DEDEC2CE42425E527E7E62622E25C
:1074B000E323E12120E0A06061A163A3A26266A6AC
:1074C000A767A56564A46CACAD6DAF6F6EAEAA6A1C
:1074D0006BAB69A9A86878B8B979BB7B7ABABE7E6C
:1074E0007FBF7DBDBC7CB47475B577B7B67672B21C
:1074F000B373B17170B050909151935352929656AC
:107500005797559594549C5C5D9D5F9F9E5E5A9ADB
:107510009B5B99595898884849894B8B8A4A4E8E6B
:107520008F4F8D4D4C8C44848545874746868242DB
:10753000438341818040081C304458081C30445823
:1075400000000000110000002300000034000000D3
:107550004600000057000000690000007A000000AB
:107560008B0000009C000000AE000000BF00000087
:10757000D0000000E1000000F20000000301000064
:107580001401000024010000350100004601000044
:10759000560100006601000077010000870100002D
:1075A00097010000A7010000B6010000C60100001D
:1075B000D5010000E5010000F40100000302000015
:1075C00012020000210200002F0200003E02000013
:1075D0004C0200005A020000680200007502000020
:1075E00083020000900200009D020000AA02000039
:1075F000B7020000C3020000CF020000DB0200005F
:10760000E7020000F3020000FE0200000903000090
:10761000140300001F0300002903000033030000CF
:107620003D03000047030000500300005903000021
:10763000620300006B030000730300007B03000083
:10764000830300008A0300009203000099030000F6
:107650009F030000A6030000AC030000B20300007B
:10766000B7030000BC030000C1030000C603000014
:10767000CA030000CE030000D2030000D6030000BE
:10768000D9030000DC030000DE030000E10300007A
:10769000E3030000E4030000E6030000E70300004A
:1076A000E7030000E8030000E8030000E80300002F
:1076B000E7030000E7030000E6030000E403000026
:1076C000E3030000E1030000DE030000DC03000030
:1076D000D9030000D6030000D2030000CE0300004F
:1076E000CA030000C6030000C1030000BC03000081
:1076F000B7030000B2030000AC030000A6030000C3
:107700009F03000099030000920300008A03000019
:10771000830300007B030000730300006B03000081
:1077200062030000590300005003000047030000FB
:107730003D03000033030000290300001F03000085
:107740001403000009030000FE020000F302000021
:10775000E7020000DB020000CF020000C3020000CD
:10776000B7020000AA0200009D0200009002000083
:107770008302000075020000680200005A02000047
:107780004C0200003E0200002F0200002102000017
:107790001202000003020000F4010000E5010000F5
:1077A000D5010000C6010000B6010000A7010000DD
:1077B00097010000870100007701000066010000CA
:1077C00056010000460100003501000024010000C0
:1077D0001401000003010000F2000000E1000000BD
:1077E000D0000000BF000000AE0000009C000000C0
:1077F0008B0000007A0000006900000057000000C4
:1078000046000000340000002300000011000000CA
:1078100000000000EFFFFFFFDDFFFFFFCCFFFFFFD9
:10782000BAFFFFFFA9FFFFFF97FFFFFF86FFFFFFE4
:1078300075FFFFFF64FFFFFF52FFFFFF41FFFFFFE8
:1078400030FFFFFF1FFFFFFF0EFFFFFFFDFEFFFFEB
:10785000ECFEFFFFDCFEFFFFCBFEFFFFBAFEFFFFEB
:10786000AAFEFFFF9AFEFFFF89FEFFFF79FEFFFFE2
:1078700069FEFFFF59FEFFFF4AFEFFFF3AFEFFFFD2
:107880002BFEFFFF1BFEFFFF0CFEFFFFFDFDFFFFBA
:10789000EEFDFFFFDFFDFFFFD1FDFFFFC2FDFFFF9C
:1078A000B4FDFFFFA6FDFFFF98FDFFFF8BFDFFFF6F
:1078B0007DFDFFFF70FDFFFF63FDFFFF56FDFFFF36
:1078C00049FDFFFF3DFDFFFF31FDFFFF25FDFFFFF0
:1078D00019FDFFFF0DFDFFFF02FDFFFFF7FCFFFF9E
:1078E000ECFCFFFFE1FCFFFFD7FCFFFFCDFCFFFF3F
:1078F000C3FCFFFFB9FCFFFFB0FCFFFFA7FCFFFFCD
:107900009EFCFFFF95FCFFFF8DFCFFFF85FCFFFF4A
:107910007DFCFFFF76FCFFFF6EFCFFFF67FCFFFFB7
:1079200061FCFFFF5AFCFFFF54FCFFFF4EFCFFFF12
:1079300049FCFFFF44FCFFFF3FFCFFFF3AFCFFFF59
:1079400036FCFFFF32FCFFFF2EFCFFFF2AFCFFFF8F
:1079500027FCFFFF24FCFFFF22FCFFFF1FFCFFFFB3
:107960001DFCFFFF1CFCFFFF1AFCFFFF19FCFFFFC3
:1079700019FCFFFF18FCFFFF18FCFFFF18FCFFFFBE
:1079800019FCFFFF19FCFFFF1AFCFFFF1CFCFFFFA7
:107990001DFCFFFF1FFCFFFF22FCFFFF24FCFFFF7D
:1079A00027FCFFFF2AFCFFFF2EFCFFFF32FCFFFF3E
:1079B00036FCFFFF3AFCFFFF3FFCFFFF44FCFFFFEC
:1079C00049FCFFFF4EFCFFFF54FCFFFF5AFCFFFF8A
:1079D00061FCFFFF67FCFFFF6EFCFFFF76FCFFFF13
:1079E0007DFCFFFF85FCFFFF8DFCFFFF95FCFFFF8B
:1079F0009EFCFFFFA7FCFFFFB0FCFFFFB9FCFFFFF1
:107A0000C3FCFFFFCDFCFFFFD7FCFFFFE1FCFFFF46
:107A1000ECFCFFFFF7FCFFFF02FDFFFF0DFDFFFF8A
:107A200019FDFFFF25FDFFFF31FDFFFF3DFDFFFFBE
:107A300049FDFFFF56FDFFFF63FDFFFF70FDFFFFE8
:107A40007DFDFFFF8BFDFFFF98FDFFFFA6FDFFFF04
:107A5000B4FDFFFFC2FDFFFFD1FDFFFFDFFDFFFF14
:107A6000EEFDFFFFFDFDFFFF0CFEFFFF1BFEFFFF16
:107A70002BFEFFFF3AFEFFFF4AFEFFFF59FEFFFF0E
:107A800069FEFFFF79FEFFFF89FEFFFF9AFEFFFF01
:107A9000AAFEFFFFBAFEFFFFCBFEFFFFDCFEFFFFEB
:107AA000ECFEFFFFFDFEFFFF0EFFFFFF1FFFFFFFCE
:107AB00030FFFFFF41FFFFFF52FFFFFF64FFFFFFAB
:107AC00075FFFFFF86FFFFFF97FFFFFFA9FFFFFF87
:107AD000BAFFFFFFCCFFFFFFDDFFFFFFEFFFFFFF60
:107AE000000000000000000001020304060708096E
:107AF0000000000001020304187B0008C000002001
:107B000088010000B0120008487B000848020020ED
:107B1000704700005263000801159201C7C20100BE
:107B200040420F52010433010101C2014201429758
:107B30000569FFFFFFFFC3102704478000080540C9
:087B4000A560A565631BB700F9
:04000005080010B926
:00000001FF
CCT6_TestApp1/MDK-ARM/F030CCT6_TestApp1.uvprojx
@@ -545,9 +545,14 @@
              <FilePath>..\Inc\stm32f0xx_it.h</FilePath>
            </File>
            <File>
              <FileName>YDLidar.h</FileName>
              <FileName>OrdLidar.h</FileName>
              <FileType>5</FileType>
              <FilePath>..\Inc\YDLidar.h</FilePath>
              <FilePath>..\Inc\OrdLidar.h</FilePath>
            </File>
            <File>
              <FileName>LindarPos.h</FileName>
              <FileType>5</FileType>
              <FilePath>..\Inc\LindarPos.h</FilePath>
            </File>
          </Files>
        </Group>
@@ -590,9 +595,14 @@
              <FilePath>..\Src\stm32f0xx_it.c</FilePath>
            </File>
            <File>
              <FileName>YDLidar.c</FileName>
              <FileName>OrdLidar.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\Src\YDLidar.c</FilePath>
              <FilePath>..\Src\OrdLidar.c</FilePath>
            </File>
            <File>
              <FileName>LidarPos.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\Src\LidarPos.c</FilePath>
            </File>
          </Files>
        </Group>
@@ -724,6 +734,11 @@
              <FileType>1</FileType>
              <FilePath>..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_tim.c</FilePath>
            </File>
            <File>
              <FileName>stm32f0xx_ll_flash.c</FileName>
              <FileType>1</FileType>
              <FilePath>..\..\Drivers\STM32F0xx_HAL_Driver\Src\stm32f0xx_ll_flash.c</FilePath>
            </File>
          </Files>
        </Group>
        <Group>
CCT6_TestApp1/Src/BSP.c
@@ -141,7 +141,7 @@
  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK)
  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_ACR_LATENCY) != HAL_OK)
  {
    Error_Handler();
  }
@@ -718,11 +718,11 @@
  PB3   ------> USART3_TX
  PB4   ------> USART3_RX 
  */
  GPIO_InitStruct.Pin = LL_GPIO_PIN_3|LL_GPIO_PIN_4;
  GPIO_InitStruct.Pin = LL_GPIO_PIN_10|LL_GPIO_PIN_11;
  GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE;
  GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_HIGH;
  GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
  GPIO_InitStruct.Pull = LL_GPIO_PULL_NO;
  GPIO_InitStruct.Pull = LL_GPIO_PULL_UP;
  GPIO_InitStruct.Alternate = LL_GPIO_AF_4;
  LL_GPIO_Init(GPIOB, &GPIO_InitStruct);
CCT6_TestApp1/Src/LidarPos.c
New file
@@ -0,0 +1,94 @@
#include "LindarPos.h"
#include "OrdLidar.h"
#include "KMachine.h"
int ProcessPos(int nLidarIdx, stLidarDot * pLindarDots, int nCount)
{
    int nValidCount0 = nCount;
    int minDisIndex = 0;        int minDistance = 55555;
    int minZ = 10000; int minZIndex= -1;
    int planeCount =0;            // 最底层平面的点数量。
    int firstmin = 1000,firstmax = -1000;
    int secondmin = 1000, secondmax = -1000;
    int firstCount=0; int secondCount =0;            int midCount =0;
    results[0]=0;
    // 求 minZ 和 minDistance;
    for (int j = 0;j < nValidCount0;j++){
        if (pLindarDots[j].distance < 50) continue;        // skip too small points;
        if (pLindarDots[j].y < 40) continue;        // skip too small points;
        if (pLindarDots[j].x < -200 || pLindarDots[j].x > 500) continue;
        if (pLindarDots[j].y < minZ) {    minZIndex = j; minZ = pLindarDots[j].y;    }
        if (pLindarDots[j].distance < minDistance) {
            minDisIndex = j; minDistance = pLindarDots[j].distance;
        }
    }
    for (int j = nValidCount0 -1 ;j>=0 && minZ < 500;j--)
    {
        int x = pLindarDots[j].x;
        int y = pLindarDots[j].y;
        int d = pLindarDots[j].distance;
        if (d < 50) continue;        // skip too small points;
        if (y < 40) continue;        // skip too small points;
        if (x < -200 || x > 500) continue;
        // 只查找 底部 50mm 数据
        //results[0]++;
        if (y >= minZ + 50) {
            if ((firstCount >0 && secondCount == 0)
                || (secondCount >0 && firstCount == 0)) {
                midCount++;
            }
            continue;
        }
        if (planeCount < 40)    {
            KMem.WDT[40+2 * planeCount]=d;
            KMem.WDT[40+2 * planeCount +1 ]=x;
        }
        planeCount++;
        if (x > -200 && x < 500)
            {
            if (x < firstmin)  firstmin = x;
            if (x > secondmax) secondmax = x;
        }
            // 后沿
        if (x > -200 && x < 100 && y < minZ + 40 )
        {
            if (x > firstmax)  firstmax = x;
            firstCount++;
        }
            // 前沿
        if (x > 200 && x < 500 && y < minZ + 40 )
        {
            if (x < secondmin)  secondmin = x;
            secondCount ++;
        }
    }
    results[0]=planeCount;
    results[1]=firstCount;
    results[2]=midCount;
    results[3]=secondCount;
    results[4]=firstmin;
    results[5]=firstmax;
    results[6]=secondmin;
    results[7]=secondmax;
    int avg=0;
    if (firstCount > 0 && secondCount > 0 && midCount > 0 ){
        avg = (secondmin + firstmax) / 2;
    }else if (planeCount>10) {
        avg = (firstmin + secondmax) /2;
    }
    nPosX = (nPosX *3 + avg) /4;
    if (minZ < 9999) nPosZ1 = (minZ + nPosZ1 * 3)/4;
    return 0;
}
CCT6_TestApp1/Src/OrdLidar.c
New file
@@ -0,0 +1,348 @@
#include "OrdLidar.h"
#include "KMachine.h"
int nPosX;
int nPosY;
int nPosZ;
int nPosZ1,nPosZ2;
int pCount1=0;
int pCount2=0;
int eCount1;
int eCount2;
int dCount1=0;
int dCount2=0;
int vCount1=0;
int vCount2=0;
int results[32];
void Uart3SendPacket(char * str, int len);
void Uart5SendPacket(char * str, int len);
//正弦表,0 - 360 代表 0 - 2PI,结果0 - 1000 表示0 - 1,表中只有0 - PI/2即1/4周期的数据,其他的数据用对称和镜像得到。
const int SinTable[] =
{
0,17,35, 52, 70, 87, 105, 122, 139, 156, 174, 191, 208, 225, 242, 259, 276, 292,
309, 326, 342, 358, 375, 391, 407, 423, 438, 454, 469, 485, 500, 515, 530, 545,
559, 574, 588, 602, 616, 629, 643, 656, 669, 682, 695, 707, 719, 731, 743, 755,
766, 777, 788, 799, 809, 819, 829, 839, 848, 857, 866, 875, 883, 891, 899, 906,
914, 921, 927, 934, 940, 946, 951, 956, 961, 966, 970, 974, 978, 982, 985, 988,
990, 993, 995, 996, 998, 999, 999, 1000, 1000,
1000, 999, 999, 998, 996, 995,
993, 990, 988, 985, 982, 978, 974, 970, 966, 961, 956, 951, 946, 940, 934, 927,
921, 914, 906, 899, 891, 883, 875, 866, 857, 848, 839, 829, 819, 809, 799, 788,
777, 766, 755, 743, 731, 719, 707, 695, 682, 669, 656, 643, 629, 616, 602, 588,
574, 559, 545, 530, 515, 500, 485, 469, 454, 438, 423, 407, 391, 375, 358, 342,
326, 309, 292, 276, 259, 242, 225, 208, 191, 174, 156, 139, 122, 105, 87, 70,
52, 35, 17, 0, -17, -35, -52, -70, -87, -105, -122, -139, -156, -174, -191,
-208, -225, -242, -259, -276, -292, -309, -326, -342, -358, -375, -391, -407,
-423, -438, -454, -469, -485, -500, -515, -530, -545, -559, -574, -588, -602,
-616, -629, -643, -656, -669, -682, -695, -707, -719, -731, -743, -755, -766,
-777, -788, -799, -809, -819, -829, -839, -848, -857, -866, -875, -883, -891,
-899, -906, -914, -921, -927, -934, -940, -946, -951, -956, -961, -966, -970,
-974, -978, -982, -985, -988, -990, -993, -995, -996, -998, -999, -999, -1000,
-1000, -1000, -999, -999, -998, -996, -995, -993, -990, -988, -985, -982, -978,
-974, -970, -966, -961, -956, -951, -946, -940, -934, -927, -921, -914, -906,
-899, -891, -883, -875, -866, -857, -848, -839, -829, -819, -809, -799, -788,
-777, -766, -755, -743, -731, -719, -707, -695, -682, -669, -656, -643, -629,
-616, -602, -588, -574, -559, -545, -530, -515, -500, -485, -469, -454, -438,
-423, -407, -391, -375, -358, -342, -326, -309, -292, -276, -259, -242, -225,
-208, -191, -174, -156, -139, -122, -105, -87, -70, -52, -35, -17
};
char StartCMD[2] = { 0xA5,0x60 };
char StopCMD[2] = { 0xA5,0x65 };
int StartAngle;
int EndAngle;
int OrdLidarStart(int nIdx)
{
    if (nIdx == 0 || nIdx == -1 ) {
        Uart3SendPacket(StartCMD,sizeof(StartCMD));
    }
    if (nIdx == 1 || nIdx == -1) {
        Uart5SendPacket(StartCMD,sizeof(StartCMD));
    }
        return 0;
};
int OrdLidarStop(int nIdx){
    if (nIdx == 0 || nIdx == -1 ) {
        Uart3SendPacket(StopCMD,sizeof(StopCMD));
    }
    if (nIdx == 1 || nIdx == -1) {
        Uart5SendPacket(StopCMD,sizeof(StopCMD));
    }
    return 0;
};
char startFlag0 = 0;
char startFlag1 = 0;
#define VALID_DATA_MAX 400
stLidarDot validData0[400];
stLidarDot validData1[400];
int nValidCount0 = 0;
int nValidCount1 = 0;
#define ORG_SUB_DEGREE 100
#define SUB_DEGREE 64        //64
#define START_DEGREE 110
#define END_DEGREE 250
#define MAX_DISTANCE 500                //mm
//整数求SIN值,带线性插值功能, 输入0 - 360*64 为 0 - 2PI,一个周期;输出-1000 至 +1000,代表-1到+1;
int sini(int a)
{
    if (a <0) {a += 360 * SUB_DEGREE;}
    a = a % (360 * SUB_DEGREE);
    int b;
    b=a / SUB_DEGREE;
    int xx = a % SUB_DEGREE;
    if (b< 90 )
    {
        int d1= SinTable[b ];
        int d2 =SinTable[b+1 ];
        int d;
        d = ((SUB_DEGREE-xx) * d1 + xx * d2 ) / SUB_DEGREE;
        return (d);
    }
    else if (b<180 )
    {
        int c;
        c=180-b;
        int d1= SinTable[c ];
        int d2 =SinTable[c-1 ];
        int d;
        d = ((SUB_DEGREE-xx) * d1 + xx * d2 ) / SUB_DEGREE;
        return (d);
    }
    else if (b<270)
    {
        int c;
        c=b-180;
        int d1= SinTable[c ];
        int d2 =SinTable[c+1 ];
        int d;
        d = ((SUB_DEGREE-xx) * d1 + xx * d2 ) / SUB_DEGREE;
        return (-d);
    }
    else
    {
        int c;
        c=360 -b;
        int d1= SinTable[c ];
        int d2 =SinTable[c-1 ];
        int d;
        d = ((SUB_DEGREE-xx) * d1 + xx * d2 ) / SUB_DEGREE;
        return (-d);
    }
//    return a;
}
int cosi(int a)
{
    return sini(a+90*SUB_DEGREE);
}
int OrdLidarParsePkt(int nLidarIdx, OradarLidarFrame * pLindarPkt, int len1)
{
    int iRet = 0;
    if (pLindarPkt->header != 0x54) return 0;        // check for start sign
    int nDotNum = pLindarPkt->ver_len &0x1f;
    if (len1 != nDotNum*3 +11) return -1;
    if (nDotNum<2) return 0;
    int startAngle = (pLindarPkt->start_angle) * SUB_DEGREE / ORG_SUB_DEGREE;    // degree * 100;
    int endAngle = (pLindarPkt->end_angle ) * SUB_DEGREE / ORG_SUB_DEGREE;         // degree * 100;
    if (startAngle >= endAngle)    {eCount1++; return 0;}
    int diffAngle = (endAngle - startAngle);
    int eachAngle = diffAngle / (nDotNum - 1);
    if (nLidarIdx == 0)
    {
        pCount1++;
        for (int i = 0;i < nDotNum && i < 40 ;i++)
        {
            unsigned char confidence = pLindarPkt->point[i].confidence;
            int angle = eachAngle * i + startAngle;    // degree * 64
            dCount1++;
            if (angle < START_DEGREE * SUB_DEGREE )    startFlag0 = 1;
            if (angle >= START_DEGREE * SUB_DEGREE && angle < END_DEGREE * SUB_DEGREE) // &&x>100000&&x<250000)
            {
                if (pLindarPkt->point[i].confidence < 30) continue;
                int value = pLindarPkt->point[i].distance; // distance
                int x = value * sini(angle  )/1000;            //     mm
                int z = -value * cosi(angle )/1000;            //  mm
                //vectorX.push_back(x);
                //vectorY.push_back(y);
                validData0[nValidCount0].distance = value;
                validData0[nValidCount0].x = x;
                validData0[nValidCount0].y = z;
                if (nValidCount0 < VALID_DATA_MAX - 1 ) nValidCount0 ++;
                //vCount1++;
            }
            if (angle > END_DEGREE * SUB_DEGREE)
            {
                if (startFlag0 == 1 && nValidCount0 > 0)
                {
                        vCount1 = nValidCount0;
                    ProcessPos(0,validData0,nValidCount0);
                }
                startFlag0 = 0;
                nValidCount0 = 0;
            }
        }
    }
    if (nLidarIdx == 1)
    {
        pCount2++;
        for (int i = 0;i < nDotNum && i < 40 ;i++)
        {
            unsigned char confidence = pLindarPkt->point[i].confidence;
            int angle = eachAngle * i + startAngle;
            dCount2++;
            if (angle < START_DEGREE * SUB_DEGREE)    startFlag1 = 1;
            if (angle >= START_DEGREE * SUB_DEGREE && angle < END_DEGREE * SUB_DEGREE ) // &&x>100000&&x<250000)
            {
                if (confidence < 30) continue;
                int value = pLindarPkt->point[i].distance; // distance
                int x = value * sini(angle - 180 * SUB_DEGREE )/1000;            //    mm
                int y = value * cosi(angle - 180 * SUB_DEGREE )/1000;            //    mm //vectorX.push_back(x);
                //vectorY.push_back(y);
                validData1[nValidCount1].distance = value;
                validData1[nValidCount1].x = x;
                validData1[nValidCount1].y = y;
                if (nValidCount1 < VALID_DATA_MAX - 1 ) nValidCount1 ++;
                //vCount2 ++;
            }
            if (angle > END_DEGREE * SUB_DEGREE)
            {
                if (startFlag1 == 1 && nValidCount1 > 0 )
                {
                        vCount2 = nValidCount1;
                        int minDisIndex = 0;    int minDistance = 55555;
                        int minZ = 9999; int minZIndex= -1;
                        int planeCount =0;
                    int firstmin =1000, firstmax = -1000;
                        int secondmin = 1000, secondmax = -1000;
                        int firstCount=0; int secondCount =0;    int midCount =0;
                        // 求 minZ 和 minDistance;
                        for (int j = 0;j < nValidCount1;j++){
                            if (validData1[j].distance < 50) continue;        // skip too small points;
                            if (validData1[j].y < 40) continue;        // skip too small points;
                            if (validData1[j].x < -200 || validData1[j].x > 500) continue;
                            if (validData1[j].y < minZ) {    minZIndex = j; minZ = validData1[j].y;    }
                            if (validData1[j].distance < minDistance) {
                                minDisIndex = j; minDistance = validData1[j].distance;
                            }
                        }
                        for (int j = 0;j < nValidCount1 && minZ<500;j++)
                        {
                            int x = validData1[j].x;
                            int y = validData1[j].y;
                            int d = validData1[j].distance;
                            if (d < 50) continue;        // skip too small points;
                            if (y < 40) continue;        // skip too small points;
                            if (x < -200 || x > 500) continue;
                            // 只查找 底部 50mm 数据
                            if (y > minZ + 50) {
                                if ((firstCount >0  && secondCount ==0)
                                    || (secondCount >0 && firstCount ==0)) {
                                    midCount++;
                                }
                                continue;
                            }
                            planeCount++;
                            if (x > -200 && x < 500)
                                {
                                if (x < firstmin)  firstmin = x;
                                if (x > secondmax) secondmax = x;
                            }
                                // 后沿
                            if (x > -200 && x < 100)
                            {
                                if (validData1[j].x > firstmax)  firstmax =x;
                                firstCount++;
                            }
                                // 前沿
                            if (x > 200 && x < 500 )
                            {
                                if (x < secondmin)  secondmin = x;
                                secondCount++;
                            }
                        }
                        int avg=0;
                        if (firstCount > 0 && secondCount > 0 && midCount > 0 ){
                            avg = (secondmin + firstmax) / 2;
                        }else if (planeCount>10) {
                            avg = (firstmin + secondmax) /2;
                        }
                        nPosY = (nPosY *3 + avg) /4;
                        if (minZ < 9999) {
                        nPosZ2 = (minZ + nPosZ2 *3)/4;
                        } else  {
                    //        results[4]= nValidCount1;
                    //        results[5]= minDistance;
                        }
//                        nPosY = validData1[minDisIndex].x /1000;
//                        nPosZ2 = validData1[minDisIndex].x /1000;
//                        nPosZ2 = midcount;
                }
                startFlag1 = 0;
                nValidCount1 = 0;
            }
        }
    }
    nPosZ = ((nPosZ1 + nPosZ2) + nPosZ *2)/4;
//    nPosX = pCount1;
//    nPosY = pCount2;
    return iRet;
}
CCT6_TestApp1/Src/SLP.c
@@ -1,7 +1,7 @@
#include "SLP.h"
    
void SLPSendPacket(char * buf, uchar len1);
void SLPSendPacket(void * buf, uchar len1);
uchar bSLPMaster;
uchar nStation;
uchar SLPinputB;
@@ -20,7 +20,7 @@
uchar SLPOKSign;
uchar SLPErrSign;
uchar SLPBCC(char * pBuf, uchar len1)
uchar SLPBCC(uchar * pBuf, uchar len1)
{
    uchar i;
    uchar BCC=0;
@@ -31,7 +31,7 @@
    return BCC;
}
void SLPparsePacket(char * pRecvBuf, uchar len1)
void SLPparsePacket(void * pRecvBuf, uchar len1)
{
    
    stSLPPacket * pPacket = (stSLPPacket *)pRecvBuf;
CCT6_TestApp1/Src/YDLidar.c
@@ -20,7 +20,7 @@
void Uart5SendPacket(char * str, int len);
//正弦表,0 - 360 代表 0 - 2PI,结果0 - 1000 表示0 - 1,表中只有0 - PI/2即1/4周期的数据,其他的数据用对称和镜像得到。
int SinTable[] =
const int SinTable[] =
{
0,17,35, 52, 70, 87, 105, 122, 139, 156, 174, 191, 208, 225, 242, 259, 276, 292,
309, 326, 342, 358, 375, 391, 407, 423, 438, 454, 469, 485, 500, 515, 530, 545,
@@ -49,7 +49,7 @@
-423, -407, -391, -375, -358, -342, -326, -309, -292, -276, -259, -242, -225,
-208, -191, -174, -156, -139, -122, -105, -87, -70, -52, -35, -17
};
int CosTable[] =
const int CosTable[] =
{
    1000 ,999 ,999 ,998 ,996 ,995 ,993 ,990 ,988 ,985 ,982 ,978 ,974 ,970 ,966 ,961
,956 ,951 ,946 ,940 ,934 ,927 ,921 ,914 ,906 ,899 ,891 ,883 ,875 ,866 ,857 ,848
@@ -79,7 +79,7 @@
};
unsigned char sintab[256]={    //正弦表,0 - 1024代表 0 - 2PI,结果0 - 255表示0 - 1,表中只有0 - PI/2即1/4周期的数据,其他的数据用对称和镜像得到。
const unsigned char sintab[256]={    //正弦表,0 - 1024代表 0 - 2PI,结果0 - 255表示0 - 1,表中只有0 - PI/2即1/4周期的数据,其他的数据用对称和镜像得到。
 0, 1, 3, 4, 6, 7, 9, 10, 12, 14, 15, 17, 18, 20, 21, 23, 25, 26, 28, 29, 31, 32, 34, 36, 37, 39, 40, 42, 43, 45, 46,
 48, 49, 51, 53, 54, 56, 57, 59, 60, 62, 63, 65, 66, 68, 69, 71, 72, 74, 75, 77, 78, 80, 81, 83, 84, 86, 87, 89, 90,
 92, 93, 95, 96, 97, 99, 100, 102, 103, 105, 106, 108, 109, 110, 112, 113, 115, 116, 117, 119, 120, 122, 123, 124,
@@ -195,7 +195,7 @@
        return (-d);
    }
    
    return a;
//    return a;
}
int cosi(int a)
CCT6_TestApp1/Src/functions.c
@@ -366,7 +366,6 @@
                 bSPI1RecvDone=1;
                 nSPI1RecvPos=0;
                 bSPI1Recving=0;
             
                 TriggerPendSV();
             }
@@ -508,7 +507,7 @@
//        Uart1RecvBuf1DataLen=0;
    }
}
void Uart6SendPacket(char * str, int len)
void Uart6SendPacket(void * str, int len)
{
    memcpy(Uart6TxBuf,str,len);
    Uart6ToSendLen = len;
@@ -516,7 +515,7 @@
    LL_USART_EnableIT_TXE(USART6);
}
void SLPSendPacket(char * str, uchar len)
void SLPSendPacket(void * str, uchar len)
{
    Uart6SendPacket(str,len);
}
CCT6_TestApp1/Src/main.c
@@ -56,14 +56,15 @@
#include "../src/Ethernet/socket.h"
#include "../src/Ethernet/loopback.h"
#elif (BOARD_TYPE == 14)
#include "FP0.h"
#include "FPx.h"
#elif (BOARD_TYPE == 15 || BOARD_TYPE == 16)
#include "KWireless.h"
//#include "user.h"
//#include "../src/radio/inc/sx126x-board.h"
#endif
#include "SLP.h"
#include "YDLidar.h"
//#include "YDLidar.h"
#include "OrdLidar.h"
/* USER CODE END Includes */
@@ -76,8 +77,8 @@
#define TX2BUFSIZE 64
unsigned char Uart1RxBuf[128];
unsigned char Uart1TxBuf[260];
unsigned char Uart1RxBuf[RX1BUFSIZE];
unsigned char Uart1TxBuf[TX1BUFSIZE];
unsigned char Uart2RxBuf[RX2BUFSIZE];
unsigned char Uart2TxBuf[TX2BUFSIZE];
@@ -135,17 +136,51 @@
    return;
}
#define RAM_START_ADDR 0x20000000
void * KBusCallBackFunc(int nChn, int nEvent, void *pBuf, int nLen1)
{
    switch (nEvent){
        case KBusEvNone:
            break;
        case KBusEvCreate:
            break;
        case KBusEvConnected:
            break;
        case KBusEvDisConnected:
            break;
        case KBusEvClosed:
            break;
        case KBusEvStateChange:
            break;
        case KBusEvTimeSync:
            break;
        case KBusEvDataUpdate:
            KMem.WY[0]=KBusMem.WLY[0];            //KBus Slave
            KBusMem.WLX[0]=KMem.WX[0];
            KBusMem.WLX[1]=KMem.WX[1];
            KBusMem.WLX[2]=KMem.WX[2];
            KBusMem.WLX[3]=KMem.WX[3];
            break;
        case KBusEvCmdResponse:
            break;
        default:
            break;
    }
    return 0;
}
//#define RAM_START_ADDR 0x20000000    // SRAM_BASE
#define VECTOR_SIZE 46 
#define  ApplicationAddress  0x08001000  //应用程序首地址定义
/*
static void RemapIrqVector(void)
{
    memcpy((void*)RAM_START_ADDR, (void *)ApplicationAddress, VECTOR_SIZE * 4);
    LL_APB1_GRP2_EnableClock(LL_APB1_GRP2_PERIPH_SYSCFG);
    LL_SYSCFG_SetRemapMemory(LL_SYSCFG_REMAP_SRAM);
}
*/
/* USER CODE END 0 */
/**
@@ -172,21 +207,6 @@
  /* USER CODE BEGIN Init */
    for (int i=0;i<9;i++)
    {
//        memset(KBusChnStats[i],0,0);
        KBusChnStats[i].SendPackets=0;
        KBusChnStats[i].RecvPackets=0;
        KBusChnStats[i].LostPackets=0;
        KBusChnStats[i].CtnLstPkts=0;
        KBusChnStats[i].MaxCtnLstPkts=0;
        KBusChnStats[i].NotPkgErr=0;
        KBusChnStats[i].PkgLenErr=0;
        KBusChnStats[i].TimeOutErr=0;
        KBusChnStats[i].BCCErr=0;
        KBusChnStats[i].Delay=0;
        KBusChnStats[i].MaxDelay=0;
    }
    
        KMem.LastScanTime=0;
        KMem.ScanTimeuS=0;
@@ -239,13 +259,15 @@
    
//    Uart2Baud = AlterUart2Baud;
    
#if (BOARD_TYPE == 14)
    KMem.EffJumperSW|=0x10;
    nStationID=KMem.EffJumperSW&0x0f;
  if ((KMem.EffJumperSW&0x10)!=0) {bKBusMaster=1;bKBusSlave=0;}
    else{bKBusMaster=0;bKBusSlave=1;}
    nChilds=nStationID;
    FP0_Init();
    FPx_Init();
#elif (BOARD_TYPE == 15 || BOARD_TYPE == 16)
    nStationID=1 ;//KMem.EffJumperSW&0x0f;
@@ -259,6 +281,10 @@
  else if ((KMem.EffJumperSW&0x10)!=0) {bKBusMaster=1;bKBusSlave=0;}
    else{bKBusMaster=0;bKBusSlave=1;}
#endif
    KBusInit(2, bKBusMaster, nChilds);
    KBusSetCallBackFunc(2, &KBusCallBackFunc),
    nChilds=nStationID;
    nCurPollId=1;
    //if (KMem.EffJumperSW == 0x00)
@@ -368,7 +394,7 @@
    KWireLessStart();
#endif
    
    YdLidarStart(-1);
    OrdLidarStart(-1);
    
  while (1)
  {
@@ -410,21 +436,12 @@
        a        = LL_GPIO_ReadInputPort(GPIOD);
        KMem.WDT[123]=a;
        
#if (BOARD_TYPE == 14)
//        KMem.WX[0]= GetInput();
        FP0_Proc();
#else
        KMem.WXB[0]= GetInput();        
#endif
        
        if (GetBoardType() == 7 || GetBoardType() ==8
            || GetBoardType() == 9 || GetBoardType() ==10 || GetBoardType() ==15 || GetBoardType() ==16)
        {
            displayInput(KMem.WX[0]);
        }
        us2=GetuS();
        if (PowerDownEvent) {        KMem.WX[0]=0;}
///*
// /*
        if ((KMem.nRunCount &0x1f) == 0x02)
        {
            ADCProcess();
@@ -447,13 +464,7 @@
                }
            }
        }
//*/
#if (BOARD_TYPE == 15 || BOARD_TYPE == 16)
        Radio.IrqProcess( ); // Process Radio IRQ
        KWL_Process(1);
#endif
// */
//        pProgs = (stBinProg1 *) STORE_PRG_BASE;
@@ -481,20 +492,8 @@
        if (bKBusMaster)        
        {
#if (BOARD_TYPE == 14)
            for (int i=0;i<nOutputBytes;i++)
            {BufferOut[i+1]=KMem.WYB[i];}
#else
//            BufferOut[1]=KMem.WX[0]&0xff;
//            BufferOut[2]=(KMem.WX[0]>>8)&0xff;
#endif
            if (nChilds>0) {        KBusMasterFunc(2); }
#if (BOARD_TYPE == 14)
//            KMem.WX[0]=BufferIn[1]+(BufferIn[2]<<8);
#else
//            KMem.WY[0]=BufferIn[1]+(BufferIn[2]<<8);
#endif
            if (nChilds>0) {        KBusMasterFunc(2); }
        }
            if (haltick&0x00002000) SlowFlicker=1;
@@ -504,23 +503,23 @@
        if (bKBusSlave)        
        {
//            BufferOut[0]=KMem.WX[0];
#if (BOARD_TYPE == 15 || BOARD_TYPE == 16)
//            KBusSlaveFunc(2);
        //    if (! KMem.RunStat) {BufferIn[0]=0;}
        //    KMem.WY[0]=BufferIn[0];
#else
            KBusSlaveFunc(2);    
            if (! KMem.RunStat) {BufferIn[0]=0;}
            KMem.WLY[0]=BufferIn[0] + (BufferIn[1] <<8);
#endif
            if (! KMem.RunStat) {KBusMem.WLY[0]=0;}
            KMem.WLY[0]=KBusMem.WLY[0];
            if (nSlaveTick&0x00002000) SlowFlicker=1;
            else SlowFlicker=0;
            if (nSlaveTick&0x00000800) FastFlicker=1;
            else FastFlicker=0;            
        }
        KBusMem.WLX[0]=KMem.WX[0];
        KMem.WY[0]=KBusMem.WLY[0];
        KBusMem.WLX[1]=KMem.WX[1];
        KBusMem.WLX[2]=KMem.WX[2];
        KBusMem.WLX[3]=KMem.WX[3];
//        KMem.WY[0]=nCount2>>5;
        if (KMem.RunStat) {KMem.RunStat--;}
        if (KMem.ErrStat) {KMem.ErrStat--;}
@@ -564,21 +563,6 @@
        us4=GetuS();
//        EffJumperSW = GetInput(20)&0xff;
#if (BOARD_TYPE == 15 || BOARD_TYPE == 16)
        if ((KMem.EffJumperSW&0x10)==0x10) {
            KMem.WFY[1]=KMem.WLY[0];
            KMem.WLX[0]=KMem.WFX[1];
        }else
        {
            KMem.WFY[1]=KMem.WX[0];
            KMem.WY[0]=KMem.WFX[1];
        }
//    KMem.WY[0]=KMem.WLY[0];
#else
        KMem.WLX[0]=KMem.WX[0];
        KMem.WY[0]=KMem.WLY[0];
#endif
        us5=GetuS();
        
@@ -600,16 +584,16 @@
//        memcpy(&KMem.SDT[64+nSize/2],&KBusChnStats[2],nSize);
//        for (int i=0;i<128;i++)    {        SDT[i]=i;    }
//        SDT[48]=55;
        if (Uart1RecvBuf1DataLen >0 && Uart1Stat.bPacketRecved)
        if (Uart1Stat.bPacketRecved && Uart1RecvBuf1DataLen >0)
        {
            int res1 = -1;
            res1 = ModBusSlaveParsePkg(1, Uart1RecvBuf1, Uart1RecvBuf1DataLen);
            if (res1 !=0)
            {
                KLParsePacket(1, Uart1RecvBuf1, Uart1RecvBuf1DataLen);
            if (Uart1RecvBuf1[0] == KLSignStart) {
                res1 = KLParsePacket(1, Uart1RecvBuf1, Uart1RecvBuf1DataLen);
            }else {
                res1 = ModBusSlaveParsePkg(1, Uart1RecvBuf1, Uart1RecvBuf1DataLen);
            }
            Uart1RecvBuf1DataLen=0;
            Uart1Stat.bPacketRecved=0;
            Uart1RecvBuf1DataLen=0;
            Uart1IdelTimer = 0;
        }else {
            if (Uart1IdelTimer>600000) { // 超过60秒没有数据传输,重新进入自适应波特率状态
@@ -635,17 +619,20 @@
    if (Uart3Stat.bPacketRecved){
        KMem.WDT[8]++;
        YdLidarParsePkt(0,(stLidarDotsPkt *)Uart3RxBuf,Uart3RecvBuf1DataLen);
        OrdLidarParsePkt(0,(OradarLidarFrame *)Uart3RxBuf,Uart3RecvBuf1DataLen);
        Uart3RecvBuf1DataLen =0;
        Uart3Stat.bPacketRecved = 0;
    }
    KMem.WDT[9]=pCount1;
    KMem.WDT[10]=dCount1;
    KMem.WDT[11]=vCount1;
    KMem.WDT[12] = eCount1;
    KMem.WDT[13] = eCount2;
        
    if (Uart5Stat.bPacketRecved){
        KMem.WDT[16]++;
        YdLidarParsePkt(1,(stLidarDotsPkt *)Uart5RxBuf,Uart5RecvBuf1DataLen);
        OrdLidarParsePkt(1,(OradarLidarFrame *)Uart5RxBuf,Uart5RecvBuf1DataLen);
        Uart5RecvBuf1DataLen =0;
        Uart5Stat.bPacketRecved = 0;
    }
@@ -662,79 +649,25 @@
    KMem.WDT[27]=nPosZ1;
    KMem.WDT[28]=nPosZ2;
    
    KMem.WDT[32]=results[0];
    KMem.WDT[33]=results[1];
    KMem.WDT[34]=results[2];
    KMem.WDT[35]=results[3];
    KMem.WDT[36]=results[4];
    KMem.WDT[37]=results[5];
    KMem.WDT[38]=results[6];
    KMem.WDT[39]=results[7];
    
/*
        if ((KMem.nRunCount&0x7f)==1) {
            SLPSendPacket("ABCDEF",6);
        };
*/
        /*
        if (!IsEmpty(&Uart1Stat.QRx))
        {
            unsigned char k=PopOne(&Uart1Stat.QRx);
            if (k=='L')
            {
                clearscreen();
            }
        }
*/
#if (BOARD_TYPE == 14)
//        PutOutput (KMem.WY[0]);
#else
        PutOutput (KMem.WY[0]);
    KMem.WX[1] = nPosX ;
    KMem.WX[2] = nPosY ;
    KMem.WX[3] = nPosZ;
//    KMem.WX[1]++ ;
//    KMem.WX[2]++;
#endif
#if (BOARD_TYPE == 14)
const unsigned int pins[6]= {        LL_GPIO_PIN_10,LL_GPIO_PIN_11,LL_GPIO_PIN_12,LL_GPIO_PIN_13,LL_GPIO_PIN_14,LL_GPIO_PIN_15};
        //process 6 output
        {
                // mapping bits.
            for (int i=0;i<6;i++)
            {
                USHORT bitaddr = storedKMSysCfg.theKMSysCfg.OutMappings[i];
                UCHAR type =  (bitaddr&0xf000) >>12;
                USHORT byteaddr = (bitaddr&0x0ff0) >>4;
                UCHAR bitpos = bitaddr &0x0f;
                UCHAR bitvalue = 0 ;
                if (byteaddr>0) {
                    if (type == 0) bitvalue = KMem.WXB[byteaddr-1] & ( 1 << bitpos );
                    else if (type == 1 ) bitvalue = KMem.WYB[byteaddr-1] & ( 1 << bitpos );
                }
                if (bitvalue){ LL_GPIO_SetOutputPin(GPIOB,pins[i]);}
                else {LL_GPIO_ResetOutputPin(GPIOB,pins[i]);}
            }
        }
#endif
/*
        {
        unsigned char pos,seg;
        unsigned short val;
        pos=((KMem.nRunCount)&0x3);
        //val=(KMem.nRunCount)&0xfff;
        val=KMem.ErrStat;
        char buf5[20];
        sprintf(buf5,"%4d",val);
        val=buf5[3-pos];
        if (val <'0' || val >'9') {seg=0;}
        else {seg=LEDSEGTAB[val-'0'];}
        pos=1<<pos;
        //pos=1;
        //seg=2;
        seg=~seg;
        //    PutOutputSPI1(pos|(seg<<8));
    }
*/
#if (BOARD_TYPE == 13)
     w5500_network_info_show();
//     loopback_tcps(0,str1,5000);
#endif
    PutOutput (KMem.WY[0]);
     LL_IWDG_ReloadCounter(IWDG);
        
CCT6_TestApp1/Src/stm32f0xx_it.c
@@ -247,18 +247,22 @@
    if (LL_USART_IsActiveFlag_RXNE(USART1))
    {
        Uart1BaudGot=1;
        Uart1BaudFirstGot=1;
        Uart1Stat.RXNECount++;
//        Uart1BaudGot=1;
//        Uart1BaudFirstGot=1;
//        Uart1Stat.RXNECount++;
        unsigned char ch=LL_USART_ReceiveData8(USART1);
        // PushOne(&Uart1Stat.QRx,ch);
        Uart1Stat.RecvBytes++;
        Uart1RecvBuf1[Uart1RecvBuf1DataLen++]=ch;
        Uart1RecvBuf1[Uart1RecvBuf1DataLen]=ch;
        if (Uart1RecvBuf1DataLen <RX1BUFSIZE -1 ) {
            Uart1RecvBuf1DataLen++;
        }
        //LL_USART_TransmitData8(USART1,ch);
    }
    if (LL_USART_IsActiveFlag_ORE(USART1))
    {
        LL_USART_ClearFlag_ORE(USART1);
        LL_USART_DisableOverrunDetect(USART1);
        Uart1Stat.OverRunCount++;
    }
    if (LL_USART_IsEnabledIT_IDLE(USART1)&&LL_USART_IsActiveFlag_IDLE(USART1))
@@ -294,6 +298,7 @@
    if (LL_USART_IsActiveFlag_ORE(USART2))
    {
        LL_USART_ClearFlag_ORE(USART2);
        LL_USART_DisableOverrunDetect(USART2);
        Uart2Stat.OverRunCount++;
    }
    if (LL_USART_IsEnabledIT_IDLE(USART2)&&LL_USART_IsActiveFlag_IDLE(USART2))
@@ -340,6 +345,7 @@
    if (LL_USART_IsActiveFlag_ORE(USART3))
    {
        LL_USART_ClearFlag_ORE(USART3);
        LL_USART_DisableOverrunDetect(USART3);
//        Uart3Stat.OverRunCount++;
    }
    if (LL_USART_IsEnabledIT_IDLE(USART3)&&LL_USART_IsActiveFlag_IDLE(USART3))
CleanUp2.bat
@@ -1,3 +1,14 @@
REM Remove Temp Keil Files 
REM ******************************* 
del /s *.crf
del /s *.o
del /s *.d
del /s *.axf
del /s *.sct
del /s *.dep
del /s *.lnp
del /s *.map
del /s *.lst
del /s *.hex
del /s *.uvguix.*
ComLib/Inc/KBus.h
@@ -14,61 +14,220 @@
#define KBUS_VER    (0x104)
#define MAX_CLIENT 16                //最大支持子机数量
//#define SYN_PREFIX 1
typedef unsigned char uchar;
typedef volatile unsigned char vuchar;
typedef unsigned short ushort;
extern unsigned char bKBusMaster,bKBusSlave,bKBusRepeater;;
extern unsigned char PacketBuf1[MaxPacketLength];
extern unsigned char PacketBuf2[MaxPacketLength];
extern unsigned char BufferIn[16];
extern unsigned char BufferOut[16];
extern unsigned char nStationID;
extern unsigned char nChilds;
extern int ChildStat[16];
extern unsigned char nCurPollId;
extern unsigned char nSeq;
extern volatile unsigned char KBusMasterRecved;
extern volatile unsigned char KBusMasterRecvOK;
extern volatile unsigned char KBusSlaveRecved;
extern unsigned int KBusSendTimeuS;
extern volatile int KBusRecvTimeuS;
extern int KBusDelayuS;
extern int KBusMaxDelayuS;
extern volatile unsigned int nSlaveTick;
extern stChnStat KBusChnStats[8];
/*
static inline char KWInit(int nPortNum) {  };
static inline char KWStart(int nPortNum) { };
static inline char KWGetClientNum(int nPortNum) { };
static inline char KWGetClientInfo(int nPortNum, int nClientId) { };
static inline char KWGetClientInCount(int nPortNum,int nClientId) {};
#pragma anon_unions
typedef struct tagKBusDef                // KBus 工作内存
{
    uchar bMaster;                    //KBus, 是否主机
    uchar bSlave;                        //KBus, 是否子机
    uchar bRepeater;                //KBus, 是否转发器,中继器
    uchar nStationId;                //KBus  站号
    
static inline char KWisSafeState(int nPortNum) { };
static inline char KWisRunState(int nPortNum) { };
static inline char KWGetState(int nPortNum) { };
static inline char KWChangeState(int nPortNum, int nNewState){ };
*/
    vuchar MyStat;                        //KBus, 状态机状态
    vuchar nSeq;                            //KBus, 包序列号
    vuchar bMasterSent;                //  状态 主机已发送
    vuchar bMasterRecved;            //  状态 主机已接收 回包
    vuchar bMasterRecvOK;            //  状态 主机接收回包正确
    vuchar bSlaveRecved;                //  状态 子机已接收包
    vuchar nChildCount;                //  子机数量
    uchar nCurPollId;                        //  当前轮询子机 号
    ushort ErrStat;
    ushort RunStat;
    int SendTimeuS;                        // 发包时刻
    int RecvTimeuS;                        // 收包时刻
    int DelayuS;                            // 包循环延迟
    int nMaxDelayuS;                    // 最大包循环延迟
    int nSlaveTick;                        // 子机时间 tick
    int ThisuS;
    //volatile unsigned int nSlaveTick;            //=0;
    int Clk3;                                                            //=0;
    int SendTime,Latancy,LatancyClk,SendClk;
    //volatile int nCount2;                                    //=0;
    int TimeOutCount;                                            //=0;
    int LastCircleStartTime;                            //=0;
    int CircleTime;                                                //=0;
unsigned char KBusBCC(void * pData, int nSize);
//
    KBusSendPktFuncDef KBusSendPacket;            //    发送数据包函数指针
    KBusEvCBFuncDef KBusEvCBFunc;                        //        事件回调函数指针
    KMSvCBDef KBusSvCBFunc;                                    //        服务请求回调指针
    stDeviceInfo* pMyDeviceInfo;
    uchar RetryCount;                        //  重试次数
    uchar nTimeOutCount;                //  超时计数
    vuchar step;                                //  当前步骤
    uchar ChildStat[MAX_CLIENT];            //  子机状态(们)
    uchar CurXBitAddr;                //  已分配 X 位 地址
    uchar CurYBitAddr;                //  已分配 Y 位 地址
    uchar CurAIWAddr;                    //  已分配 模拟量入 字 地址
    uchar CurAQWAddr;                    //  已分配 模拟量出 字 地址
    uchar CurDIWAddr;                    //  已分配 数据入 字 地址
    uchar CurDOWAddr;                    //  已分配 数据出 字 地址
    uchar MyYStartBitAddress;                //  本机 起始 Y 位地址
    uchar MyAQWStartWordAddress;        //  本机 起始 模拟量 出 字 地址
    uchar MyDWStartWordAddress;            //  本机 起始 数据出 字 地址
    stDeviceInfo DeviceInfos[MAX_CLIENT];        //        子机信息(们)
    stClientCfg ClientCfg[MAX_CLIENT];            //    子机配置(们)
    stChnStat KBusChnStats[MAX_CLIENT];
//    uchar bKBusEvCBFuncSet;                                //    事件回调函数是否已经设置
//    uchar bKBusSvCBFuncSet;                                //    事件回调函数是否已经设置
    uchar PacketBuf1[KBMaxPacketLength];
    uchar PacketBuf2[KBMaxPacketLength];
    unsigned char Datas[128];
    volatile int PacketLength;                        // = 0;
    unsigned char KBusDiagnosis;                // =1;        // Kbus 诊断模式
    unsigned char KBusSnapPos;                        // = 0;        // 抓取 Kbus 包
//    unsigned char nStationID;                            //=0;
//    unsigned char nChilds;
    //int ChildStat[16];
    // unsigned char nCurPollId;                            //=0;
    // unsigned char nSeq;                                        //=0;
    unsigned char nClientDataIndex;            //=0;
}stKBusDef,*pstKBusDef;
typedef struct tagKBusMem
{
    union{
    ushort WLX[16];
    uchar WLXB[32];
    };
    union{
    ushort WLY[16];
    uchar WLYB[32];
    };
    ushort AIW[16];
    ushort AOW[16];
    ushort DIW[16];
    ushort DOW[16];
}stKBusMem, *pstKBusMem;
//extern stKBus KBus1;
extern stKBusMem KBusMem;
typedef struct tagKBusDiag
{
    int Stat;
    unsigned int SendPackets;
    unsigned int RecvPackets;
    unsigned int LastSentTimeuS;
    unsigned int LostPackets;
    unsigned int CtnLstPkts;
    unsigned int MaxCtnLstPkts;
    unsigned int NotPkgErr;
    unsigned int PkgLenErr;
    unsigned int BCCErr;
    unsigned int TimeOutErr;
    unsigned int Delay;
    unsigned int MaxDelay;
    unsigned int SendTimeInterval;
    union
    {
        unsigned int ClientDatas[10];
        struct {
        unsigned int ClientRecvPkts;    //
        unsigned int ClientSendPkts;    //
        unsigned int ClientNotPktErr;    //
        unsigned int ClientMisIdPkts;    //
//        unsigned int ClientNoEndErr;    //
        unsigned int ClientPkgLenErr;    //
        unsigned int ClientBccErr;        //
        unsigned int ClientTimeOutErr;    //
        };
    };
}stKBusDiag, *pstKBusDiag;
//extern unsigned char bKBusMaster,bKBusSlave,bKBusRepeater;;
//extern unsigned char PacketBuf1[KBMaxPacketLength];
//extern unsigned char PacketBuf2[KBMaxPacketLength];
//extern unsigned char nStationID;
//extern unsigned char nChilds;
//extern unsigned char nCurPollId;
//extern unsigned char nSeq;
//extern volatile unsigned char KBusMasterRecved;
//extern volatile unsigned char KBusMasterRecvOK;
//extern volatile unsigned char KBusSlaveRecved;
//extern unsigned int KBusSendTimeuS;
//extern volatile int KBusRecvTimeuS;
//extern int KBusDelayuS;
//extern int KBusMaxDelayuS;
int KBusInit(stKBusDef * pKbusDef, KBusSendPktFuncDef KBusSendPacket, int bMaster, int nChildCount);
int KBusInitMaster(stKBusDef * pKbusDef, KBusSendPktFuncDef KBusSendPacket, int nChildCount);
int KBusInitSlave(stKBusDef * pKbusDef, KBusSendPktFuncDef KBusSendPacket, int nStationId, stDeviceInfo *pClientInfo);
int KBusLoadSavedConfig(stKBusDef * pKbusDef);
int KBusSetEvCallBackFunc(stKBusDef * pKbusDef, KBusEvCBFuncDef CBFunc);            // Set Event CallBack function
int KBusSetSvCallBackFunc(stKBusDef * pKbusDef, KMSvCBDef CBFunc);            // Set ServiceReq CallBack Function
int KBusStart(stKBusDef * pKbusDef) ;
int KBusStop(stKBusDef * pKbusDef) ;
int KBusDataPoll(stKBusDef * pKbusDef);
int KBusLoopProcess(stKBusDef * pKbusDef);
int KBusMasterFunc(stKBusDef * pKbusDef);
int KBusSlaveFunc(stKBusDef * pKbusDef);
int KBusRepeaterFunc(stKBusDef * pKbusDef);
    /* Make a Packet and return Packet Length */
int KBusMakePacket(pKBPacket p1,uchar Src, uchar Dst, uchar nType, uchar nStatus, uchar DataLen, void *pData );
/*   */
int KBusCheckPacket(int nChn, pKBPacket p1, int len1);
int KBusCheckPacket(stKBusDef * pKbusDef, pKBPacket p1, int len1);
/* */
int KBusParsePacket(int nChn, pKBPacket p1, int Len1);
int KBusParsePacket(stKBusDef * pKbusDef, pKBPacket p1, int Len1);
/*
static inline char KBGetClientNum(int nChn) { };
static inline char KBGetClientInfo(int nChn, int nClientId) { };
static inline char KBGetClientIOCount(int nChn,int nClientId) {};
int KBGetClientStatus(int nChn);
static inline char KBisSafeState(int nPortNum) { };
static inline char KBisRunState(int nPortNum) { };
static inline char KBGetState(int nPortNum) { };
static inline char KBChangeState(int nPortNum, int nNewState){ };
*/
unsigned char KBusBCC(void * pData, int nSize);
//
/*
int InitMachine(stMachineConfig * pConfig);
@@ -87,9 +246,7 @@
int GetStat(void);
*/
int KBusRepeaterFunc(int nChn);
int KBusMasterFunc(int nChn);
int KBusSlaveFunc(int nChn);
#endif    /* __KBUS_H__ */
ComLib/Inc/KBusDefine.h
@@ -15,26 +15,67 @@
typedef unsigned char uchar;
enum enKBusStationType
enum enKBusStationType                 // KBus工作类型
{
    KBNone = 0,
    KBusMaster = 1,
    KBusSlave = 2,
    KBusRepeater = 3,
    KBNone = 0,                                    // 0,未定义
    KBusMaster = 1,                            // 1,主机
    KBusSlave = 2,                            // 2,子机
    KBusRepeater = 3,                        // 3,转发器,中继器
};
// diagnosis
enum enKBusStats
{
        KBusStatIdel,
        KBusStatConfig,
        KBusStatRunning,
        KBusStatError,
        KBusStatUnInited,                    // 未初始化状态
        KBusStatInited,                        // 已初始化状态
        KBusStatConfig,                        // 已配置状态
        KBusStatReady,                        // 就绪状态
        KBusStatRunning,                    // 运行状态
        KBusStatIdel,                            // 暂停状态
        KBusStatSafe,                            // 安全状态
        KBusStatError,                        // 错误状态
};
/*
enum enKBusStage
{
    KBusStageInit,
    KBusStageFindChild,
    KBusStageConfigChild,
    KBusStagePoll,
};
*/
enum {
            KB_SYN = 0x55,
            KBStartSign='%',
            KBEndSign=0x0D,
            KBMaxPacketLength=128,
};
enum enCMDs
{
    cmdNone = '0',        //Nothing
    cmdNone = 0x00,            //Nothing
    cmdQuery = 0x01,        //Query basic Info
    cmdQueryRply = 0x81,   //Query Info Reply
    cmdSetCfg = 0x02,                // Set Configuration
    cmdSetCfgRply = 0x82,        // Set Configuration Response
    cmdToRunMode = 0x03,
    cmdToRunModeRply = 0x83,
    cmdBroadCastCfg = 0x04,            //
    cmdMuExchgData = 0x05,            //
    cmdMuExchgDataRply = 0x85,    //
    cmdToSafeMode = 0x06,
    cmdHeartBeat = 0x07,            //
    cmdReHeartBeat = 0x87,        //
    cmdPing = '1',            //Ping
    cmdPingReply = '2',        //PingReply
    cmdRead = '3',                //Read
@@ -44,7 +85,7 @@
    cmdGetVersion = '7',        //GetVersion
    cmdVerInfo = '8',                //VersionReply
    
    cmdExChgData='A',                //ExChangeData, = Wirte + Read
    cmdUniExChgData='A',                //ExChangeData, = Wirte + Read
    cmdExChgDataReply,            //ExchangeData Reply
    
    cmdSyncRead='a',                //SyncRead
@@ -53,69 +94,92 @@
    cmdSyncTime,                        //SyncTime
};
enum {
            SYN = 0x55,
            StartSign='%',
            EndSign=0x0D,
            MaxPacketLength=128,
};
typedef struct tagKBusRunStat
{
    unsigned char bMaster;
    unsigned char nStationID;
    unsigned char nChildren;
    unsigned char nCurPollId;
    unsigned char nSeq;
    unsigned char bMaster;                // 是否主机
    unsigned char nStationID;            // 子机地址
    unsigned char nChildren;            // 子机数量
    unsigned char nCurPollId;            // 当前轮询到的子机 地址。
    unsigned char nSeq;                        // 包序列号
    unsigned char bMasterRecved;
    unsigned char bMasterRecvOK;
    unsigned char bSlaveRecved;
    unsigned int nSendTimeuS;
    unsigned char bMasterRecved;        // 状态, 主机已接收到返回的数据包
    unsigned char bMasterRecvOK;        // 状态, 主机接收到的返回的数据包正确
    unsigned char bSlaveRecved;            // 状态, 子机接受到数据包。
    unsigned int nSendTimeuS;                // 数据包发出时刻。
}stKBusRunStat , * pstKBusRunStat;
typedef struct tagVerInfo
typedef struct tagVerInfo                // KBus 版本信息
{
    unsigned char nMainVer;
    unsigned char nSubVer;
}stVerInfo;
typedef struct tagMasterStat
typedef struct tagMasterStat        // KBus 主机状态?
{
    unsigned int CycleTime;
} stMasterStat;
typedef struct tagClientInfo
typedef struct tagDeviceInfo        // KBus 子机基本信息
{
    unsigned short ClientType;
    unsigned short ClientVer;
    unsigned short DeviceType;        // 子机类型
    unsigned short DeviceVer;            // 子机版本
    unsigned char InBitCount;            // 输入开关量数量
    unsigned char OutBitCount;        // 输出开关量数量
    unsigned char DWStartAddr;        // 输出数据字数
    unsigned char OutDWCount;            // 输出数据字数
    unsigned char AIWCount;                // 输入模拟量通道(字)数    // 16位为一个字(通道)
    unsigned char AQWCount;                // 输出模拟量通道(字)数    // 16位为一个字(通道)
//    unsigned char AIBits;                    //  每通道位数        // 16位以下
//    unsigned char AQbits;                    //    每通道位数        // 16位以下
}stDeviceInfo;
typedef struct tagExDeviceInfo        // 子机扩展信息
{
    unsigned short DeviceType;        // 子机类型
    unsigned short DeviceVer;            // 子机版本
    unsigned char UID[12];                // 12字节 UUID
    unsigned char Name[16];                // 16字节 名称
//    stVerInfo ClientVer;
    unsigned char InBitCount;
    unsigned char InBitCount;
    unsigned char OutBitCount;
    unsigned char AICount;
    unsigned char AIBits;
    unsigned char AQCount;
    unsigned char AQbits;
    unsigned char InDWCount;
    unsigned char DWStartAddr;
    unsigned char OutDWCount;
    unsigned char bOnline;
}stClientInfo;
    unsigned char AIWCount;
    unsigned char AQWCount;
//    unsigned char AIBits;
//    unsigned char AQbits;
typedef struct tagClientCfg
}stExDeviceInfo;
enum enKBusConfigStat
{
    unsigned char nGroup;
    unsigned char Addr;
    unsigned char InStartAddrBit;
    unsigned char OutStartAddrBit;
    unsigned char InAWStartAddrByte;
    unsigned char OutAWStartAddrByte;
    unsigned char InDWStartAddrByte;
    unsigned char OutDWStartAddrByte;
    unsigned int KeepOut;        //Keep Output when comm err;
    KBusUnConfiged = 0,
    KBusDefaultConfiged =1,
    KBusConfiged = 2,
};
typedef struct tagClientCfg                // 子机配置
{
    unsigned char Addr;                            // 子机地址
    unsigned char Configed;                        // 是否已配置
    unsigned char bOnline;                    //当前在线状态
    unsigned char InStartAddrBit;            //输入起始位地址
    unsigned char OutStartAddrBit;        //输出起始位地址
    unsigned char AIWStartAddrByte;        //模拟入起始字地址
    unsigned char AQWStartAddrByte;        //模拟出起始字地址
    unsigned char DIWStartAddrByte;        //数据入起始字地址
    unsigned char DOWStartAddrByte;        //数据出起始字地址
    unsigned char KeepOut;                        //Keep Output when comm err;
}stClientCfg;
/*
typedef struct ServerStatus
{
    unsigned char Addr;
@@ -125,15 +189,15 @@
    unsigned short output[16];    
    
}stServerStatus,*pServerStatus;
typedef struct tagMachineState
*/
typedef struct tagMachineState            // 本机状态
{
    unsigned char Addr;
    unsigned char state;
    unsigned char InStartAddrBit;
    unsigned char OutStartAddrBit;
    unsigned char InDWStartAddrByte;
    unsigned char OutDWStartAddrByte;
    unsigned char Addr;                                // 地址
    unsigned char state;                            //״̬
    unsigned char InStartAddrBit;                //输入起始位地址
    unsigned char OutStartAddrBit;            //输出起始位地址
    unsigned char InDWStartAddrByte;        //字输入起始字地址
    unsigned char OutDWStartAddrByte;        //字输出起始字地址
}ClientState;
@@ -141,32 +205,32 @@
#pragma anon_unions
typedef struct tagChnStat
{
    unsigned int Stat;
    unsigned int SendPackets;
    unsigned int RecvPackets;
    unsigned int LastSentTimeuS;
    unsigned int LostPackets;
    unsigned int CtnLstPkts;
    unsigned int MaxCtnLstPkts;
    unsigned int NotPkgErr;
    unsigned int PkgLenErr;
    unsigned int BCCErr;
    unsigned int TimeOutErr;
    unsigned int Delay;
    unsigned int MaxDelay;
    unsigned int SendTimeInterval;
    unsigned short Stat;
    unsigned short SendPackets;
    unsigned short RecvPackets;
    unsigned short LastSentTimeuS;
    unsigned short LostPackets;
    unsigned short CtnLstPkts;
    unsigned short MaxCtnLstPkts;
    unsigned short NotPkgErr;
    unsigned short PkgLenErr;
    unsigned short BCCErr;
    unsigned short TimeOutErr;
    unsigned short Delay;
    unsigned short MaxDelay;
    unsigned short SendTimeInterval;
    union
    {
        unsigned int ClientDatas[10];
        unsigned short ClientDatas[10];
        struct {
        unsigned int ClientRecvPkts;    //
        unsigned int ClientSendPkts;    //
        unsigned int ClientNotPktErr;    //
        unsigned int ClientMisIdPkts;    //
        unsigned short ClientRecvPkts;    //
        unsigned short ClientSendPkts;    //
        unsigned short ClientNotPktErr;    //
        unsigned short ClientMisIdPkts;    //
//        unsigned int ClientNoEndErr;    //
        unsigned int ClientPkgLenErr;    //
        unsigned int ClientBccErr;        //
        unsigned int ClientTimeOutErr;    //
        unsigned short ClientPkgLenErr;    //
        unsigned short ClientBccErr;        //
        unsigned short ClientTimeOutErr;    //
        };
    };
} stChnStat;
@@ -263,6 +327,13 @@
    
}stKBInfoBlockV1, *pKBInfoBlockV1;
enum eResult
{
    S_OK =0,
    S_ERR=1,
    S_TIMEOUT=2
}    ;
/*
typedef struct tagKBPacketV10
@@ -305,25 +376,27 @@
    unsigned char data[1];        //数据载荷,最末尾是BCC,数据长度为0时,实际也有一个数据。
}stKBPacketV20,* pKBPacketV20;    
*/
typedef void *(*CBFuncDef) (void*, void *, int);    //callback func ,prama s is  void *,void *,int; return void *;
enum eResult
{
    S_OK =0,
    S_ERR=1,
    S_TIMEOUT=2
}    ;
enum enumCallBackEvent
{
    evNone = 0,
    evCreate = 1,
    evConnected = 2,
    evDisConnected = 3,
    evClosed = 4,
    KBusEvNone = 0,
    KBusEvCreate = 1,
    KBusEvConnected = 2,
    KBusEvDisConnected = 3,
    KBusEvClosed = 4,
    KBusEvStateChange =5,
    KBusEvTimeSync=6,
    KBusEvDataUpdate =7,
    KBusEvCmdResponse = 8,
};
typedef int (*KBusSendPktFuncDef) (uchar * pBuf, int nLen);                    // SendPacket CallBack func for KBus
typedef void *(*KBusEvCBFuncDef) (void * , int nEvent, void *, int);    //callback func ,prama s is  void *,void *,int; return void *;
typedef int (*KBusSvCBFuncDef) (void *, int nSvType, int ,void *, int);    //Service Req callback func ,param is  int ,int, int, void *,int; return int;
#endif    /* __KBUSDEFINE_H__ */
ComLib/Inc/KLink.h
@@ -31,7 +31,7 @@
enum {KLSignStart='%',    //0x25
            KLSignReply='U',    //0x55
            KLSignEnd=0x0D,
            KLMaxPacketLength=64,
            KLMaxPacketLength=128,
};
    enum enKLCMDs
    {
@@ -60,10 +60,10 @@
        KLCmdChkPass,
        KLCmdSetPass,
        KLCmdEraseAll,
        KLCmdReadProgram,
        KLCmdStartProgram,
        KLCmdWriteProgram,
        KLCmdFinishProgram,
        KLCmdReadPLCProgram,
        KLCmdStartPLCProgram,
        KLCmdWritePLCProgram,
        KLCmdFinishPLCProgram,
        KLCmdRead1Bit = 0x21,                //ReadSingleBit
        KLCmdWrite1Bit = 0x22,                //WriteSingleBit
@@ -116,7 +116,8 @@
        KLCmdMD,
        KLCmdMG,
        
        KLCmdWriteFirmware,
        KLCmdWriteFirmInfo,
        KLCmdErrRply=0xEE,                //ERRORReply
    };
@@ -236,6 +237,9 @@
/* */
int KLParsePacket(int nChn, void * pBuf1, int Len1);
typedef void *(*KLinkEvCBDef) (int nChn, int nEvent, void *, int);    //Event callback func ,prama s is  void *,void *,int; return void *;
typedef int (*KLinkSvCBDef) (int nChn, int nSvType, int ,void *, int);    //Service Req callback func ,param is  int ,int, int, void *,int; return int;
//int ReadData(void);
//int WriteData(void);
ComLib/Inc/KMachine.h
@@ -8,36 +8,34 @@
#ifndef __KMACHINE_H__
#define __KMACHINE_H__
#define FLASH_PAGESIZE (0x00000400)                     //Page Size = 1K
#define FACTORY_DATA_BASE (FLASH_BASE + 0x00007C00)        //31k //and 
#define FACTORY_DATA_PAGESIZE (0x00000400)                        //Page Size = 1K
//#define FACTORY_DATA_PAGESIZE (0x00000400)                        //Page Size = 1K
#define FACOTRY_DATA_PAGES 1                                                  // use 1 page(s)
#define STORE_PRG_BASE (FLASH_BASE + 0x00008000)        //32k //and FLASH_BANK1_END
#define STORE_PRG_PAGESIZE (0x00000400)                            //Page Size = 1K
//#define STORE_PRG_PAGESIZE (0x00000400)                            //Page Size = 1K
#define STORE_PRG_PAGES 8                                                    //use 4 pages
#define ALT_PRG_BASE (FLASH_BASE + 0x0000A000)        //40k //and FLASH_BANK1_END
#define ALT_PRG_PAGESIZE (0x00000400)                            //Page Size = 1K
//#define ALT_PRG_PAGESIZE (0x00000400)                            //Page Size = 1K
#define ALT_PRG_PAGES 8                                                    //use 4 pages
#define STORE_SYSREG_BASE (FLASH_BASE + 0x0000C000)        //48k //and 
#define STORE_SYSREG_PAGESIZE (0x00000400)                            //Page Size = 1K
//#define STORE_SYSREG_PAGESIZE (0x00000400)                            //Page Size = 1K
#define STORE_SYSREG_PAGES 1                                                        //use 1 pages
#define STORE_RUNSTAT_BASE (FLASH_BASE + 0x0000C800)        //50k K //and 
#define STORE_RUNSTAT_PAGESIZE (0x00000400)                            //Page Size = 1K
//#define STORE_RUNSTAT_PAGESIZE (0x00000400)                            //Page Size = 1K
#define STORE_RUNSTAT_PAGES 1                                                        //use 1 pages
#define STORE_LOG_BASE (FLASH_BASE + 0x0000D000)        //52k and FLASH_BANK1_END
#define STORE_LOG_PAGESIZE (0x00000400)                            //Page Size = 1K
//#define STORE_LOG_PAGESIZE (0x00000400)                            //Page Size = 1K
#define STORE_LOG_PAGES 4                                                        //use 4 pages
typedef unsigned char uchar;
typedef unsigned char UCHAR;
typedef unsigned short ushort;
typedef unsigned short USHORT;
typedef unsigned int UINT;
typedef unsigned int uint32_t;
@@ -120,6 +118,14 @@
    
}stFactoryData,* pFactoryData;
typedef struct tagNewAppInfoBlock
{
    unsigned short Sign;
    unsigned short Version;
    unsigned int Length;
    unsigned int nCRC;
}stNewAppInfoBlock,*pNewAppInfoBlock;
enum enStoreCfg
{
@@ -361,6 +367,8 @@
        KLDataTypeWDT = 41 | TYPEDATA,                    //调试监控数据
        KLDataTypeKBD = 51 | TYPEDATA,                    //KBus 调试数据
        KLDataTypeKWLD = 52 | TYPEDATA,                    //无线调试数据
        KLDataTypeNewApp = 61 | TYPEDATA,                // New FirmWare
        KLDataTypeNewAppInfo = 62 | TYPEDATA,     // New Firmware Info Block;
        KLDataTypeTest = 254 | TYPEDATA,
    };
@@ -508,6 +516,71 @@
}stKMem;
// 通信端口, 注册到 KMachine 里, 统一管理
typedef struct tagPortAbility
{
    ushort ChildList:1;
    ushort AccessChild:1;
    ushort TranProg:1;
    ushort TranCfg:1;
    ushort Diag:1;
    ushort TranOutBandData:1;
    ushort Tunnel:1;
    ushort TranFirmware:1;
    ushort TranBlink:1;
}stPortAbility;
enum enServiceReqs
{
    ReqNone,
    ReqInit,
    ReqReset,
    ReqStop,
    ReqRun,
    ReqBlink,
    ReqStartDiag,
    ReqStopDiag,
    ReqTransFirmware,
    ReqTransCfg,
    ReqTransProg,
    ReqTransData,
    ReqTransBlink,
    ReqTransChild,
    ReqTransInfo,
    ReqTransOutBandData,
    ReqRead1Bit,
    ReqWrite1Bit,
    ReqReadBits,
    ReqWriteBits,
    ReqReadData,
    ReqWriteData,
    ReqRemoteTran,
};
// 各端口 互联 通信
typedef int (*CommFunc)(int n , void *, int len1);
typedef struct tagPortReg
{
    ushort nType;
    ushort nVer;
    // func1 GetInfo;
    // func2 CommReq;
    ushort ability;        //能力, 获取子机信息等。
}stPortReg;
typedef struct tagInterComm
{
    int nId;
}stInterComm;
extern stKMem KMem;
extern const stKMInfoBlock KMInfoBlock;
extern const stStoredKMSysCfg KMDefaultSysCfg;
@@ -518,8 +591,8 @@
int KMachineInit(void);
int ReadFlashMem(void * pBuf, void * pAddrFlash, int nByteSize);
int WriteToFlashMemNoErase(void * pBuf, void * pAddrFlash, unsigned int nByteSize);
int EraseAndWriteToFlashMem(void * pBuf, void * pAddrFlash, unsigned int nByteSize);
int WriteToFlashMemNoErase(void * pBuf, void * pAddrFlash, unsigned int nByteSize);
int ReadFactoryData(void * pDatabuf, int nByteCount);
int WriteFactoryData(void * pDataBuf, int nByteCount);
@@ -537,10 +610,15 @@
int LoadRunStat(pRunStat theRunStat);
int SaveRunStat(pRunStat theRunStat);
int WriteNewApp(int nProgByteAddr, void *pBuf, int nByteSize);
int WriteNewAppInfo(int nProgByteAddr, void *pBuf, int nByteSize);
unsigned char GetCoilValue(unsigned char nCoilType, unsigned short nCoilAddr);
int SetCoilValue(unsigned char nCoilType, unsigned short nCoilAddr, unsigned char nCoilValue);
int GetVarData(int nDataType, int nDataAddr);
int SetVarData(int nDataType, int nDataAddr, int nDataValue);
#endif    /* __KLPROTOCOL_H__ */
typedef int (*KMSvCBDef) (int nChn, int nSvType, int ,void *, int);    //Service Req callback func ,param is  int ,int, int, void *,int; return int;
#endif    /* __KMACHINE_H__ */
ComLib/Inc/functions.h
@@ -23,6 +23,21 @@
//extern volatile unsigned int TotalRunTime;
//extern volatile unsigned int PwrCount;                //开机次数
extern unsigned char SPI1RecvBuf[64];
extern unsigned char SPI1SendBuf[64];
extern volatile unsigned char bSPI1Recving;
extern volatile unsigned char bSPI1RecvDone;
extern volatile unsigned char nSPI1RecvPos;
extern volatile unsigned char nSPI1RecvLenInBuf;
extern volatile unsigned char nSPI1ToSendLen;
extern volatile unsigned char nSPI1SentLen;
extern volatile unsigned char bSPI1Sending;
extern volatile unsigned char bSPI1SendDone;
typedef unsigned char uint8_t;
typedef unsigned char uchar;
typedef unsigned short uint16_t;
@@ -53,6 +68,8 @@
void Uart2SendDone(void);
void Uart2RecvDone(void);
int PutStr(char * str1, int len1);
int PutStr1(char * str1, int len1);
int PutStr2(char * str1, int len1);
int SendPacket(int nChn, void * pBuf,int len1);
//int SendPacket1(void * pBuf,int len1);
//int SendPacket2(pKBPacket p1,int len1);
ComLib/Src/BSP.c
@@ -13,7 +13,7 @@
#include "Globaldef.h"
#include "Functions.h"
#if (BOARD_TYPE == 14)
#include "fp0.h"
#include "fpx.h"
#endif
/*    
ComLib/Src/KBus.c
@@ -9,212 +9,413 @@
#include "string.h"
#include "stm32f0xx.h"
unsigned char bKBusMaster=0,bKBusSlave=0,bKBusRepeater=0;;
//unsigned char bKBusMaster=0,bKBusSlave=0,bKBusRepeater=0;;
unsigned char PacketBuf1[128];
unsigned char PacketBuf2[128];
stKBusMem KBusMem;
unsigned char BufferIn[16]={0};
unsigned char BufferOut[16]={0};
unsigned char KBusDiagnosis =1;
unsigned char KBusSnapPos = 0;
stChnStat KBusChnStats[8];
unsigned char nStationID=0;
unsigned char nChilds;
int ChildStat[16];
unsigned char nCurPollId=0;
unsigned char nSeq=0;
volatile unsigned char KBusMasterRecved=1;
volatile unsigned char KBusMasterRecvOK=1;
volatile unsigned char KBusSlaveRecved=1;
unsigned int KBusSendTimeuS=0;
volatile int KBusRecvTimeuS=0;
int KBusDelayuS=0;
int KBusMaxDelayuS=0;
int ThisuS;
volatile unsigned int nSlaveTick=0;
int Clk3=0;
int SendTime,Latancy,LatancyClk,SendClk;
volatile int nCount2=0;
int TimeOutCount=0;
int LastCircleStartTime=0;
int CircleTime=0;
unsigned char Datas[128];
volatile int PacketLength = 0;
stClientInfo ClientInfo[16];
unsigned char KBusBCC(void * pData, int nSize)
int KBusLoadSavedConfig(stKBusDef * pKBus)
{
    unsigned char k;
    k=0;
    for (int i=0;i<nSize;i++)
    {
        k^=((unsigned char *)pData)[i];
    }
    return k;
    int iRet=0;
    return iRet;
}
int KBusMakePacket(pKBPacket p1,unsigned char src, uchar dst, uchar nType,unsigned char nStatus, unsigned char DataLen,void * pData )
int KBusSaveConfig(int nChn)
{
    p1->Sign=StartSign;
    p1->DstHost=dst;
    p1->SrcAddr=src;
    p1->nCMD=nType;
    p1->nStatus=nStatus;
    int PacketLenth=0;
    switch (nType)
    int iRet=0;
    return iRet;
}
int KBusInitMaster(stKBusDef * pKBus,KBusSendPktFuncDef KBusSendPacket, int nChildCount)
{
    int iRet =0;
        pKBus->MyStat = KBusStatInited;
        pKBus->bMaster = 1;
        pKBus->bSlave = 0;
        pKBus->bRepeater =0;
        pKBus->nChildCount = nChildCount;
        pKBus->nStationId = 0;
        pKBus->KBusEvCBFunc=0;
        memset(pKBus->KBusChnStats,0,sizeof(pKBus->KBusChnStats));
        pKBus->KBusEvCBFunc=NULL;
        pKBus->KBusSvCBFunc=NULL;
        pKBus->KBusSendPacket = KBusSendPacket;
        pKBus->nCurPollId = 1;
    return iRet;
};
int KBusInitSlave(stKBusDef * pKBus,KBusSendPktFuncDef KBusSendPacket, int nStationId, stDeviceInfo * pDeviceInfo)
{
    int iRet =0;
    pKBus->MyStat = KBusStatInited;
        pKBus->bMaster = 0;
        pKBus->bSlave = 1;
        pKBus->bRepeater = 0;
        pKBus->nChildCount = 0;
        pKBus->nStationId = nStationId;
        pKBus->pMyDeviceInfo = pDeviceInfo;
        pKBus->KBusEvCBFunc = NULL;
        pKBus->KBusSvCBFunc=NULL;
        pKBus->KBusSendPacket = KBusSendPacket;
    for (int i=0;i<MAX_CLIENT;i++)
    {
        case cmdNone:
            break;
        case cmdPing:
            p1->DataLen=DataLen;
            memcpy(p1->data,pData,DataLen);
            p1->data[DataLen]=KBusBCC(p1,sizeof(stKBPacket)+DataLen-1);
            p1->data[DataLen+1]=EndSign;
        memset(&pKBus->KBusChnStats[i],0,sizeof(stChnStat));
    }
    return iRet;
}
int KBusInit(stKBusDef * pKBus,KBusSendPktFuncDef KBusSendPacket, int bMaster, int nChildCount)
{
    int iRet =0;
    pKBus->MyStat = KBusStatInited;
    if (bMaster ) {
        KBusInitMaster(pKBus,KBusSendPacket,nChildCount);
    }else {
        KBusInitSlave(pKBus,KBusSendPacket,nChildCount,0);
    }
    //    memset(pKBus->KBusChnStats,0,sizeof(pKBus->KBusChnStats));
    return iRet;
}
int KBusSetEvCallBackFunc(stKBusDef * pKBus, KBusEvCBFuncDef CBFunc)
{
    pKBus->KBusEvCBFunc = CBFunc;
//    pKBus->bKBusEvCBFuncSet=1;
        return 0;
}
int KBusStart(stKBusDef * pKBus)
{
    int iRet = 0;
    return iRet;
}
int KBusLoopProcess(stKBusDef * pKBus)
{
    int iRet = 0;
    if (pKBus->bMaster)
    {
    }
    if (pKBus->bSlave)
    {
    }
    if (pKBus->bRepeater)
    {
    }
    return iRet;
}
int KBusRepeaterFunc(stKBusDef * pKBus)
{
        if ((KMem.nRunCount &0x7f) == 88)
        {
            ToggleRunLed();
        }
    return 0;
}
int KBusUpdateChildInfo(stKBusDef * pKBus, int nCild, stDeviceInfo * pInfoBlock)
{
    stDeviceInfo * pDeviceInfo = &pKBus->DeviceInfos[nCild];
    pDeviceInfo->DeviceType = pInfoBlock->DeviceType;
    pDeviceInfo->DeviceVer = pInfoBlock->DeviceVer;
    pDeviceInfo->InBitCount = pInfoBlock->InBitCount;
    pDeviceInfo->OutBitCount = pInfoBlock->OutBitCount ;
    pDeviceInfo->AIWCount = pInfoBlock->AIWCount;
    pDeviceInfo->AQWCount = pInfoBlock->AQWCount;
    pDeviceInfo->DWStartAddr = pInfoBlock->DWStartAddr;
    pDeviceInfo->OutDWCount = pInfoBlock->OutDWCount;
    return 0;
}
int KBusMakeDefaultClildInfo(stKBusDef * pKBus, int nCild)
{
    unsigned DefaultInBitCount = 8;
    unsigned DefaultOutBitCount = 8;
    stDeviceInfo * pDeviceInfo = &pKBus->DeviceInfos[nCild];
    pDeviceInfo->DeviceType = 0;
    pDeviceInfo->DeviceVer = 0;
    pDeviceInfo->InBitCount = DefaultInBitCount;
    pDeviceInfo->OutBitCount =  DefaultOutBitCount;
    pDeviceInfo->AIWCount = 0;
    pDeviceInfo->AQWCount = 0;
    pDeviceInfo->DWStartAddr = 0;
    pDeviceInfo->OutDWCount = 0;
    return 0;
}
//int KBusSetChildCfg(int nChn, int nChild, )
int KBusAddChildAddrByInfo(stKBusDef * pKBus, int nChild, stDeviceInfo * pDeviceInfo)
{
    int iRet = 0;
        stClientCfg * pClientCfg = &pKBus->ClientCfg[nChild];
        pClientCfg->Addr = pKBus->nCurPollId;
        pClientCfg->Configed = KBusConfiged;
        pClientCfg->InStartAddrBit = pKBus->CurXBitAddr;
        pClientCfg->OutStartAddrBit = pKBus->CurYBitAddr;
        pClientCfg->AIWStartAddrByte = pKBus->CurAIWAddr;
        pClientCfg->AQWStartAddrByte = pKBus->CurAQWAddr;
        pClientCfg->DIWStartAddrByte = pKBus->CurDIWAddr;
        pClientCfg->DOWStartAddrByte = pKBus->CurDOWAddr;
        
            PacketLenth=sizeof(stKBPacket)+DataLen+1;
            break;
        case cmdPingReply:
            p1->DataLen=DataLen;
            memcpy(p1->data,pData,DataLen);
            p1->data[DataLen]=KBusBCC(p1,sizeof(stKBPacket)+DataLen-1);
            p1->data[DataLen+1]=EndSign;
            PacketLenth=sizeof(stKBPacket)+DataLen+1;
            break;
        case cmdRead:
            break;
        case cmdReadReply:
            break;
        case cmdWrite:
            break;
        case cmdWriteReply:
            p1->DataLen=DataLen;
         if (DataLen !=0 )    memcpy(p1->data,pData,DataLen);
            p1->data[DataLen]=KBusBCC(p1,sizeof(stKBPacket)+DataLen-1);
            p1->data[DataLen+1]=EndSign;
            PacketLenth=sizeof(stKBPacket)+DataLen+1;
            break;
        case cmdGetVersion:
            p1->DataLen=DataLen;
            memcpy(p1->data,pData,DataLen);
            p1->data[DataLen]=KBusBCC(p1,sizeof(stKBPacket)+DataLen-1);
            p1->data[DataLen+1]=EndSign;
            PacketLenth=sizeof(stKBPacket)+DataLen+1;
            break;
        case cmdVerInfo:
            p1->DataLen=DataLen;
            memcpy(p1->data,pData,DataLen);
            p1->data[DataLen]=KBusBCC(p1,sizeof(stKBPacket)+DataLen-1);
            p1->data[DataLen+1]=EndSign;
            PacketLenth=sizeof(stKBPacket)+DataLen+1;
            break;
        case cmdExChgData:
            p1->DataLen=DataLen;
            memcpy(p1->data,pData,DataLen);
            p1->data[DataLen]=KBusBCC(p1,sizeof(stKBPacket)+DataLen-1);
            p1->data[DataLen+1]=EndSign;
            PacketLenth=sizeof(stKBPacket)+DataLen+1;
            break;
        case cmdExChgDataReply:
            p1->DataLen=DataLen;
            memcpy(p1->data,pData,DataLen);
            p1->data[DataLen]=KBusBCC(p1,sizeof(stKBPacket)+DataLen-1);
            p1->data[DataLen+1]=EndSign;
            PacketLenth=sizeof(stKBPacket)+DataLen+1;
            break;
        pKBus->CurXBitAddr += pDeviceInfo->InBitCount;
        pKBus->CurYBitAddr += pDeviceInfo->OutBitCount;
        pKBus->CurAIWAddr += pDeviceInfo->AIWCount;
        pKBus->CurAQWAddr += pDeviceInfo->AQWCount;
    return iRet;
}
int KBusSearchChildProc(stKBusDef * pKBus)
{
    int iRet = 0;
    uint32_t tick1=HAL_GetTick();
    uint32_t thisuS=GetuS();
    pKBus->MyStat = KBusStatReady;
    return iRet;
    if (!pKBus->bMasterSent) {
        // Sent Query Packet for CurPollId;
        //pKBus->nCurPollId;
        pKBus->bMasterSent=1;
        pKBus->SendTimeuS = thisuS;
    }
    if (pKBus->bMasterSent) {
        if (pKBus->bMasterRecved) {
        }
        if (!pKBus->bMasterRecved && thisuS- pKBus->SendTimeuS > 1000)
        {
            // timeOut,
                pKBus->bMasterSent=0;  // no wait any more;
            if (pKBus->RetryCount <3) {
                // resent query packet for curPollId;
                pKBus->bMasterSent=1;
                pKBus->SendTimeuS = thisuS;
            }
            if (pKBus->RetryCount >3 ) {
                // Set Cur Child As Default
                KBusMakeDefaultClildInfo(pKBus,pKBus->nCurPollId);
                KBusAddChildAddrByInfo(pKBus,pKBus->nCurPollId,&pKBus->DeviceInfos[pKBus->nCurPollId]);
                
        case cmdSyncRead:
            p1->DataLen=DataLen;
            memcpy(p1->data,pData,DataLen);
            p1->data[DataLen]=KBusBCC(p1,sizeof(stKBPacket)+DataLen-1);
            p1->data[DataLen+1]=EndSign;
            PacketLenth=sizeof(stKBPacket)+DataLen+1;
                // Next Child;
                pKBus->nCurPollId++;
                if (pKBus->nCurPollId > pKBus->nChildCount)
                {
                    // all query done, next stage
                    pKBus->MyStat = KBusStatReady;
                    // CallBack
                    if (pKBus->KBusEvCBFunc) pKBus->KBusEvCBFunc(pKBus, KBusEvStateChange,0,0);
                }
            }
        }
    }
    return iRet;
}
int KBusMasterFunc(stKBusDef * pKBus)
{
    switch (pKBus->MyStat){
        case KBusStatUnInited:
            KBusLoadSavedConfig(pKBus);
            pKBus->MyStat = KBusStatInited;
            break;
        case cmdSyncWrite:
            p1->DataLen=DataLen;
            memcpy(p1->data,pData,DataLen);
            p1->data[DataLen]=KBusBCC(p1,sizeof(stKBPacket)+DataLen-1);
            p1->data[DataLen+1]=EndSign;
            PacketLenth=sizeof(stKBPacket)+DataLen+1;
        case KBusStatInited:
            pKBus->MyStat = KBusStatConfig;
            break;
        case cmdSequenRead:
            p1->DataLen=DataLen;
            memcpy(p1->data,pData,DataLen);
            p1->data[DataLen]=KBusBCC(p1,sizeof(stKBPacket)+DataLen-1);
            p1->data[DataLen+1]=EndSign;
            PacketLenth=sizeof(stKBPacket)+DataLen+1;
            break;
        case cmdSyncTime:
            p1->DataLen=DataLen;
            memcpy(p1->data,pData,DataLen);
            p1->data[DataLen]=KBusBCC(p1,sizeof(stKBPacket)+DataLen-1);
            p1->data[DataLen+1]=EndSign;
            PacketLenth=sizeof(stKBPacket)+DataLen+1;
        case KBusStatConfig:
            KBusSearchChildProc(pKBus);
            break;
        case KBusStatReady:
            pKBus->MyStat = KBusStatRunning;
            break;
        case KBusStatRunning:
            KBusDataPoll(pKBus);
            break;
        default:
            break;
    }
    return PacketLenth;
    return 0;
}
int KBusCheckPacket(int nChn, pKBPacket p1, int nLen1)
int KBusDataPoll(stKBusDef * pKBus)
{
    int iRet = 0;
    uint32_t tick1=HAL_GetTick();
    uint32_t thisuS=GetuS();
        int len1=0;
    int nThisPollId = pKBus->nCurPollId;
    stChnStat * pChnStat = &pKBus->KBusChnStats[nThisPollId];
        if ((pKBus->bMasterRecved && pKBus->bMasterRecvOK && thisuS-pKBus->SendTimeuS>50) || thisuS-pKBus->SendTimeuS>1000u)
        {
            if (!pKBus->bMasterRecvOK)
            {
                pKBus->TimeOutCount++;
                Uart2Stat.TimeOutErr++;
                pChnStat->LostPackets++;
                pChnStat->CtnLstPkts++;
                if (!pKBus->bMasterRecved) {pChnStat->TimeOutErr++;}
                if (pChnStat->CtnLstPkts > pChnStat->MaxCtnLstPkts)
                {pChnStat->MaxCtnLstPkts = pChnStat->CtnLstPkts;}
                if (pChnStat->CtnLstPkts>3)
                {
                    pChnStat->Stat = 0;
                    pKBus->ErrStat=200;
                    KBusMem.WLXB[nThisPollId]=0;
                    if (pKBus->KBusEvCBFunc) pKBus->KBusEvCBFunc(pKBus, KBusEvStateChange,0,0);
                    if (pKBus->KBusEvCBFunc) pKBus->KBusEvCBFunc(pKBus, KBusEvDataUpdate,0,0);
                }
            //    LL_GPIO_SetOutputPin(GPIOA,LL_GPIO_PIN_7);
            }else
            {
                pChnStat->Stat=1;
                pKBus->RunStat=100;
            }
            if (pKBus->DeviceInfos[nThisPollId].InBitCount >8 ||  pKBus->DeviceInfos[nThisPollId].OutBitCount > 8) {
                //nThisPollId += 2;
                nThisPollId ++;
            }else {
                nThisPollId ++;
            }
            if (nThisPollId > pKBus->nChildCount)
            {
                // 数据轮询完, 周期间隙,插入其他处理数据.  每次处理的时间间隙, 一问 一答  时间.
                // 分成几种类型, 轮流进行
                //    时间同步,            查询新子机,        处理带外数据,            ,处理额外的事情,            或者跳过.
                pKBus->CircleTime=thisuS-pKBus->LastCircleStartTime;
                pKBus->LastCircleStartTime=thisuS;
                pKBus->nSeq++;
                nThisPollId=1;
            }
            pKBus->nCurPollId = nThisPollId;
            pKBus->Datas[0]=KBusMem.WLYB[nThisPollId -1 ];
            pKBus->Datas[1]=KBusMem.WLYB[nThisPollId ];;
            pKBus->Datas[2]=KBusMem.WLYB[nThisPollId + 1 ]; //KBusChnStats[nCurPollId].Stat;
            pKBus->Datas[3]=KBusMem.WLYB[nThisPollId + 2 ];
            pKBus->Datas[4]=tick1&0xff;
            pKBus->Datas[5]=(tick1>>8)&0xff;
            pKBus->Datas[6]=(tick1>>16)&0xff;
            pKBus->Datas[7]=(tick1>>24)&0xff;
            pKBus->SendTimeuS=thisuS;
            unStatus nStatus;
            nStatus.nSeq = pKBus->nSeq;
            nStatus.nErr1 = (pKBus->KBusChnStats[nThisPollId].Stat==0);
            len1=KBusMakePacket((pKBPacket)pKBus->PacketBuf1,0,nThisPollId,cmdUniExChgData,nStatus.nStatus,8,pKBus->Datas);
//            LL_USART_SetBaudRate(USART2,48000000,LL_USART_OVERSAMPLING_8,DefaultUart2Baud);
            pKBus->KBusSendPacket(pKBus->PacketBuf1, len1);
            pKBus->KBusChnStats[pKBus->nCurPollId].SendPackets++;
            pKBus->KBusChnStats[pKBus->nCurPollId].SendTimeInterval=pKBus->SendTimeuS-pKBus->KBusChnStats[pKBus->nCurPollId].LastSentTimeuS;
            pKBus->KBusChnStats[pKBus->nCurPollId].LastSentTimeuS=pKBus->SendTimeuS;
//            PacketLength = len1;
            pKBus->SendTime=tick1;
            pKBus->bMasterRecved=0;
            pKBus->bMasterRecvOK=0;
        //    LL_GPIO_TogglePin(GPIOA,LL_GPIO_PIN_5);
            //ToggleErrLed();
//                ToggleOut8();
        }
    return iRet;
}
int KBusSlaveFunc(stKBusDef * pKBus)
{
        int ThisuS=GetuS();
        int thisRecvTime=pKBus->RecvTimeuS;
     if (pKBus->nStationId >0) {
            if (pKBus->bSlaveRecved)
            {
                pKBus->RunStat=8000;
                pKBus->bSlaveRecved=0;
            }else if ((ThisuS - thisRecvTime) >12000u)
            {
                pKBus->ErrStat=8000;
            }else if ( ThisuS > (thisRecvTime + 12000u))
            {
                pKBus->ErrStat=8000;
            }
    }
    return 0;
}
int KBusCheckPacket(stKBusDef * pKBus, pKBPacket p1, int nLen1)
{
    unsigned char * p2 = (unsigned char *)p1;
    pKBPacket p3=p1;
    if ((p2[0] == SYN || p2[0] != StartSign) && nLen1 > 1)
    if ((p2[0] == KB_SYN || p2[0] != KBStartSign) && nLen1 > 1)
    {
        p3=(pKBPacket)(p2+1);
        nLen1--;
    }    
    
    if (p3->Sign != StartSign)
    if (p3->Sign != KBStartSign)
    {
        Uart2Stat.NotPacketErr++;
        KBusChnStats[nCurPollId].NotPkgErr++;
        if (KBusDiagnosis) {
            if (KBusSnapPos == 0) {
        pKBus->KBusChnStats[pKBus->nCurPollId].NotPkgErr++;
        if (pKBus->KBusDiagnosis) {
            if (pKBus->KBusSnapPos == 0) {
                KMem.WDB[0x20]=nLen1;
                memcpy(&KMem.WDB[0x21],p1,nLen1);
                KBusSnapPos++;
            } else if (KBusSnapPos==1) {
                pKBus->KBusSnapPos++;
            } else if (pKBus->KBusSnapPos==1) {
                KMem.WDB[0x40]=nLen1;
                memcpy(&KMem.WDB[0x41],p1,nLen1);
                KBusSnapPos++;
                pKBus->KBusSnapPos++;
            } else {
                KMem.WDB[0x60]=nLen1;
                memcpy(&KMem.WDB[0x61],p1,nLen1);
                KBusSnapPos=0;
                pKBus->KBusSnapPos=0;
            }
            
        }
        return -1;
    }
    int DataLen=p3->DataLen;
    if (DataLen>MaxPacketLength)
    if (DataLen>KBMaxPacketLength)
    {
        Uart2Stat.LengthErr++;
        KBusChnStats[nCurPollId].PkgLenErr++;
        pKBus->KBusChnStats[pKBus->nCurPollId].PkgLenErr++;
        return -1;
    }
    if (nLen1<DataLen+sizeof(stKBPacket)+1)
    {
        //len4=sprintf(str3,"%d < %d + %d \r\n",len2,DataLen,sizeof(stKBPacket));
        //PutStr(str3,len4);
        KBusChnStats[nCurPollId].PkgLenErr++;
        pKBus->KBusChnStats[pKBus->nCurPollId].PkgLenErr++;
        Uart2Stat.LengthErr++;
        return -3;    //not long enough                    
    }
@@ -228,40 +429,40 @@
    if (thisBCC != p3->data[DataLen]) 
    {//BCC Error;
        Uart2Stat.BCCerr++;
        KBusChnStats[nCurPollId].BCCErr++;
        pKBus->KBusChnStats[pKBus->nCurPollId].BCCErr++;
        return -4;
    }         
    return 0;
}
int KBusSlaveCheckPacket(int nChn, pKBPacket p1, int nLen1)
int KBusSlaveCheckPacket(stKBusDef * pKBus, pKBPacket p1, int nLen1)
{
    unsigned char * p2 = (unsigned char *)p1;
    pKBPacket p3=p1;
    if ((p2[0] == SYN || p2[0] != StartSign) && nLen1 > 1)
    if ((p2[0] == KB_SYN || p2[0] != KBStartSign) && nLen1 > 1)
    {
        p3=(pKBPacket)(p2+1);
        nLen1--;
    }    
    
    if (p3->Sign != StartSign)
    if (p3->Sign != KBStartSign)
    {
        Uart2Stat.NotPacketErr++;
        KBusChnStats[0].ClientNotPktErr++;
        pKBus->KBusChnStats[0].ClientNotPktErr++;
        return -1;
    }
    int DataLen=p3->DataLen;
    if (DataLen>MaxPacketLength)
    if (DataLen>KBMaxPacketLength)
    {
        Uart2Stat.LengthErr++;
        KBusChnStats[0].ClientPkgLenErr++;
        pKBus->KBusChnStats[0].ClientPkgLenErr++;
        return -1;
    }
    if (nLen1<DataLen+sizeof(stKBPacket)+1)
    {
        //len4=sprintf(str3,"%d < %d + %d \r\n",len2,DataLen,sizeof(stKBPacket));
        //PutStr(str3,len4);
        KBusChnStats[0].ClientPkgLenErr++;
        pKBus->KBusChnStats[0].ClientPkgLenErr++;
        Uart2Stat.LengthErr++;
        return -3;    //not long enough                    
    }
@@ -275,52 +476,69 @@
    if (thisBCC != p3->data[DataLen]) 
    {//BCC Error;
        Uart2Stat.BCCerr++;
        KBusChnStats[0].ClientBccErr++;
        pKBus->KBusChnStats[0].ClientBccErr++;
        return -4;
    }         
    return 0;
}
int KBusMasterParsePacket(int nChn, pKBPacket p1, int Len1)
int KBusMasterParsePacket(stKBusDef * pKBus, pKBPacket p1, int Len1)
{
    unsigned char * p6 = (unsigned char *)p1;
    if ((p6[0] == SYN || p6[0] != StartSign) && Len1 > 1)
    if ((p6[0] == KB_SYN || p6[0] != KBStartSign) && Len1 > 1)
    {
        p1=(pKBPacket)(p6+1);
        Len1--;
    }    
        int DataLen=p1->DataLen;
        KBusChnStats[nCurPollId].RecvPackets++;
        pKBPacket p2=(pKBPacket)PacketBuf2;
        int PacketLen=0;
        pKBus->KBusChnStats[pKBus->nCurPollId].RecvPackets++;
//        pKBPacket p2=(pKBPacket)PacketBuf2;
//        int PacketLen=0;
        //LL_GPIO_TogglePin(GPIOA,LL_GPIO_PIN_6);
        int nCurPollId = pKBus->nCurPollId;
        int ChildId=p1->SrcAddr;
        int ThisuS = GetuS();
        unsigned char nIndex;
        switch (p1->nCMD)
        {
            
            case cmdNone:
                break;
            case cmdQueryRply:
                DataLen=sizeof(stDeviceInfo);
                KBusUpdateChildInfo(pKBus,pKBus->nCurPollId,(stDeviceInfo *)&p1->data[0]);
                pKBus->KBusChnStats[0].ClientSendPkts++;
                break;
            case cmdSetCfgRply:
                break;
            case cmdToRunModeRply:
                break;
            case cmdBroadCastCfg:
                break;
            case cmdMuExchgDataRply:
                break;
            case cmdToSafeMode:
                break;
            case cmdReHeartBeat:
                break;
            case cmdPing:
                BufferIn[ChildId]=p1->data[0];
                PacketLen=KBusMakePacket(p2,0,nCurPollId,cmdPingReply,p1->nStatus,DataLen,p1->data);
                SendPacket(nChn, p2, PacketLen);
                break;
            case cmdPingReply:
                KBusDelayuS=ThisuS-KBusSendTimeuS;
                if (KBusDelayuS > KBusMaxDelayuS) KBusMaxDelayuS = KBusDelayuS;
                pKBus->DelayuS=ThisuS-pKBus->SendTimeuS;
                if (pKBus->DelayuS > pKBus->nMaxDelayuS) pKBus->nMaxDelayuS = pKBus->DelayuS;
                
                BufferIn[ChildId]=p1->data[0];
                KBusMem.WLXB[ChildId]=p1->data[0];
                
                //RunStat=100;
                KBusChnStats[nCurPollId].CtnLstPkts=0;
                KBusChnStats[nCurPollId].Delay=KBusDelayuS;
            if (KBusDelayuS > KBusChnStats[nCurPollId].MaxDelay)
                KBusChnStats[nCurPollId].MaxDelay=KBusDelayuS;
                pKBus->KBusChnStats[pKBus->nCurPollId].CtnLstPkts=0;
                pKBus->KBusChnStats[pKBus->nCurPollId].Delay=pKBus->DelayuS;
            if (pKBus->DelayuS > pKBus->KBusChnStats[pKBus->nCurPollId].MaxDelay)
                pKBus->KBusChnStats[pKBus->nCurPollId].MaxDelay=pKBus->DelayuS;
                //PutOutput(outputvalue);
                KBusMasterRecvOK=1;
                pKBus->bMasterRecvOK=1;
                break;
            case cmdRead:
                break;
@@ -329,58 +547,42 @@
            case cmdWrite:
                break;
            case cmdWriteReply:
                KBusMasterRecved=1;
                pKBus->bMasterRecved=1;
                break;
            case cmdGetVersion:
                break;
            case cmdVerInfo:
                break;
            case cmdExChgData:
                BufferIn[0]=p1->data[0];
                //PutOutput(outputvalue);
                //memcpy(DispBuf,p1->data+2,8);
                p1->data[0]=BufferOut[0];
                PacketLen=KBusMakePacket(p2,nStationID,0,cmdExChgDataReply,p1->nStatus,DataLen,p1->data);
                SendPacket(nChn, p2, PacketLen);
            case cmdUniExChgData:
                break;
            case cmdExChgDataReply:
                KBusDelayuS=ThisuS-KBusSendTimeuS;
                if (KBusDelayuS > KBusMaxDelayuS) KBusMaxDelayuS = KBusDelayuS;
                pKBus->DelayuS=ThisuS-pKBus->SendTimeuS;
                if (pKBus->DelayuS > pKBus->nMaxDelayuS) pKBus->nMaxDelayuS = pKBus->DelayuS;
#if (BOARD_TYPE == 14)
                BufferIn[ChildId]=p1->data[0];
                BufferIn[ChildId + 1] = p1->data[1];
                BufferIn[ChildId + 2 ] = p1->data[2];
                KBusMem.WLXB[ChildId-1]=p1->data[0];;
                KBusMem.WLXB[ChildId  ]=p1->data[1];
                KBusMem.WLXB[ChildId+1]=p1->data[2];
                KBusMem.WLXB[ChildId+2]=p1->data[3];;
                KBusMem.WLXB[ChildId+3]=p1->data[4];
                KBusMem.WLXB[ChildId+4]=p1->data[5];
                KBusMem.WLXB[ChildId+5]=p1->data[6];
                KBusMem.WLXB[ChildId+6]=p1->data[7];
            
                KMem.WXB[ChildId-1]=BufferIn[ChildId];
                KMem.WXB[ChildId]=BufferIn[ChildId+1];
                KMem.WXB[ChildId+1]=BufferIn[ChildId+2];
                if (KMRunStat.WorkMode==0) {
                //    KMem.WY[0]= KMem.WX[1]+(KMem.WX[2]<<8)    ;
                //    PutOutput (KMem.WY[0]);
                }
#else
                BufferIn[ChildId]=p1->data[0];
                KMem.WLX[ChildId]=BufferIn[ChildId];
                if (KMRunStat.WorkMode==0) {
                    KMem.WY[0]= KMem.WLX[1]+(KMem.WLX[2]<<8)    ;
                    PutOutput (KMem.WY[0]);
                }
#endif
            //Call Back
                if (pKBus->KBusEvCBFunc) pKBus->KBusEvCBFunc(pKBus, KBusEvDataUpdate,0,0);
                //RunStat=100;
                KBusChnStats[nCurPollId].CtnLstPkts=0;
                KBusChnStats[nCurPollId].Delay=KBusDelayuS;
            if (KBusDelayuS > KBusChnStats[nCurPollId].MaxDelay)
                KBusChnStats[nCurPollId].MaxDelay=KBusDelayuS;
                pKBus->KBusChnStats[nCurPollId].CtnLstPkts=0;
                pKBus->KBusChnStats[nCurPollId].Delay=pKBus->DelayuS;
            if (pKBus->DelayuS > pKBus->KBusChnStats[nCurPollId].MaxDelay)
                pKBus->KBusChnStats[nCurPollId].MaxDelay=pKBus->DelayuS;
                //PutOutput(outputvalue);
                
                nIndex=p1->data[3];
                KBusChnStats[nCurPollId].ClientDatas[nIndex]=p1->data[4]|(p1->data[5]<<8)|(p1->data[6]<<16)|(p1->data[7]<<24);
                KBusMasterRecvOK=1;
              if (DataLen>=14) {
                    nIndex=p1->data[9];
                    pKBus->KBusChnStats[nCurPollId].ClientDatas[nIndex]=p1->data[10]|(p1->data[11]<<8)|(p1->data[12]<<16)|(p1->data[13]<<24);
                }
                pKBus->bMasterRecvOK=1;
                
                break;
                    
@@ -395,11 +597,10 @@
    return 0;
}
unsigned char nClientDataIndex=0;
int KBusSlaveParsePacket(int nChn, pKBPacket p1, int Len1)
int KBusSlaveParsePacket(stKBusDef * pKBus, pKBPacket p1, int Len1)
{
    unsigned char * p3 = (unsigned char *)p1;
    if (p3[0] == SYN && Len1 > 1)
    if (p3[0] == KB_SYN && Len1 > 1)
    {
        p1=(pKBPacket)(p3+1);
        Len1--;
@@ -413,32 +614,52 @@
//    KBusRecvTimeuS=ThisuS;
//    KBusSlaveRecved=1;
    
    pKBPacket p2=(pKBPacket)PacketBuf2;
    pKBPacket p2=(pKBPacket)pKBus->PacketBuf2;
    
    int PacketLen=0;
    unsigned char nIndex;// = p1->nStatus & 0x07;
    if (nDstHost!=nStationID && nDstHost != 0xff)
    if (nDstHost!=pKBus->nStationId && nDstHost != 0xff)
    {
        KBusChnStats[0].ClientMisIdPkts++;
        pKBus->KBusChnStats[0].ClientMisIdPkts++;
        return -1;
    }
    if (nDstHost==nStationID || nDstHost==0xff)
    int ThisuS = GetuS();
    if (nDstHost==pKBus->nStationId || nDstHost==0xff)
    {
        KBusRecvTimeuS=ThisuS;
        KBusSlaveRecved=1;
        pKBus->RecvTimeuS=ThisuS;
        pKBus->bSlaveRecved=1;
        switch (p1->nCMD)
        {
            case cmdNone:
                break;
            case cmdQuery:
                DataLen=sizeof(stDeviceInfo);
                PacketLen=KBusMakePacket(p2,pKBus->nStationId,0,cmdQueryRply,p1->nStatus,DataLen,pKBus->pMyDeviceInfo);
                pKBus->KBusChnStats[0].ClientSendPkts++;
                pKBus->KBusSendPacket((uchar *)p2, PacketLen);
                break;
            case cmdSetCfg:
                break;
            case cmdToRunMode:
                break;
            case cmdBroadCastCfg:
                break;
            case cmdMuExchgData:
                break;
            case cmdToSafeMode:
                break;
            case cmdHeartBeat:
                break;
            case cmdPing:
                BufferIn[0]=p1->data[0];
                KBusMem.WLYB[0]=p1->data[0];
                //PutOutput(outputvalue);
                //memcpy(DispBuf,p1->data+2,8);
                p1->data[0]=BufferOut[0];
                KBusRecvTimeuS=ThisuS;
                PacketLen=KBusMakePacket(p2,nStationID,0,cmdPingReply,p1->nStatus,DataLen,p1->data);
                KBusChnStats[0].ClientSendPkts++;
                SendPacket(nChn, p2, PacketLen);
                p1->data[0]=KBusMem.WLXB[0];
                pKBus->RecvTimeuS=ThisuS;
                PacketLen=KBusMakePacket(p2,pKBus->nStationId,0,cmdPingReply,p1->nStatus,DataLen,p1->data);
                pKBus->KBusChnStats[0].ClientSendPkts++;
                pKBus->KBusSendPacket((uchar *)p2, PacketLen);
                break;
            case cmdPingReply:
                break;
@@ -449,8 +670,8 @@
            case cmdWrite:
                //memcpy(DispBuf,p1->data,DataLen);
                PacketLen=KBusMakePacket(p2,1,0,cmdWriteReply,p1->nStatus,0,0);
                KBusChnStats[0].ClientSendPkts++;
                SendPacket(nChn, p2, PacketLen);
                pKBus->KBusChnStats[0].ClientSendPkts++;
                pKBus->KBusSendPacket((uchar *)p2, PacketLen);
                break;
            case cmdWriteReply:
                break;
@@ -458,47 +679,42 @@
                break;
            case cmdVerInfo:
                break;
            case cmdExChgData:
                BufferIn[0]=p1->data[0];
                BufferIn[1]=p1->data[1];
//                KMem.WLYB[1] = BufferIn[1];
                KMem.WYB[1] = BufferIn[1];
                nSlaveTick=p1->data[4]+(p1->data[5]<<8);//+(p1->data[6]<<16)+(p1->data[7]<<24);
#if (BOARD_TYPE == 14)
            //    PutOutput(BufferIn[0]);
                //PutOutput(outputvalue);
                //memcpy(DispBuf,p1->data+2,8);
                nIndex=nClientDataIndex;
        //        KBusChnStats[0].ClientDatas[7]++;
//                BufferOut[0]=GetInput();
        //        BufferOut[0]=GetInput();
#else
                PutOutput(BufferIn[0]);
                //PutOutput(outputvalue);
                //memcpy(DispBuf,p1->data+2,8);
                nIndex=nClientDataIndex;
        //        KBusChnStats[0].ClientDatas[7]++;
//                BufferOut[0]=GetInput();
                BufferOut[0]=GetInput();
                BufferOut[1]=KMem.WXB[1];
#endif
                p1->data[0]=BufferOut[0];
                p1->data[1]=BufferOut[1];
                p1->data[3]=nIndex;
                p1->data[4]=KBusChnStats[0].ClientDatas[nIndex];
                p1->data[5]=KBusChnStats[0].ClientDatas[nIndex]>>8;
                p1->data[6]=KBusChnStats[0].ClientDatas[nIndex]>>16;
                p1->data[7]=KBusChnStats[0].ClientDatas[nIndex]>>24;
                nClientDataIndex++;
                if (nClientDataIndex >= 10) { nClientDataIndex=0;}
            case cmdUniExChgData:
                KBusMem.WLYB[0]=p1->data[0];
                KBusMem.WLYB[1]=p1->data[1];
                KBusMem.WLYB[2]=p1->data[2];
                KBusMem.WLYB[3]=p1->data[3];
                pKBus->nSlaveTick=p1->data[4]+(p1->data[5]<<8);//+(p1->data[6]<<16)+(p1->data[7]<<24);
                if (pKBus->KBusEvCBFunc) pKBus->KBusEvCBFunc(pKBus, KBusEvTimeSync,0,0);
                if (pKBus->KBusEvCBFunc) pKBus->KBusEvCBFunc(pKBus, KBusEvDataUpdate,0,0);
                nIndex=pKBus->nClientDataIndex;
                p1->data[0]=KBusMem.WLXB[0];
                p1->data[1]=KBusMem.WLXB[1];
                p1->data[2]=KBusMem.WLXB[2];
                p1->data[3]=KBusMem.WLXB[3];
                p1->data[4]=KBusMem.WLXB[4];
                p1->data[5]=KBusMem.WLXB[5];
                p1->data[6]=KBusMem.WLXB[6];
                p1->data[7]=KBusMem.WLXB[7];
                p1->data[9]=nIndex;
                p1->data[10]=pKBus->KBusChnStats[0].ClientDatas[nIndex];
                p1->data[11]=pKBus->KBusChnStats[0].ClientDatas[nIndex]>>8;
                p1->data[12]=pKBus->KBusChnStats[0].ClientDatas[nIndex]>>16;
                p1->data[13]=pKBus->KBusChnStats[0].ClientDatas[nIndex]>>24;
                pKBus->nClientDataIndex++;
                DataLen = 14;
                if (pKBus->nClientDataIndex >= 10) { pKBus->nClientDataIndex=0;}
                unStatus nStatus;
                nStatus.nStatus = p1->nStatus;
                if (nStatus.nErr1) {    KMem.ErrStat=8000;}
                PacketLen=KBusMakePacket(p2,nStationID,0,cmdExChgDataReply,p1->nStatus,DataLen,p1->data);
                KBusChnStats[0].ClientSendPkts++;
                SendPacket(nChn, p2, PacketLen);
                if (nStatus.nErr1) {    pKBus->ErrStat=8000;}
                PacketLen=KBusMakePacket(p2,pKBus->nStationId,0,cmdExChgDataReply,p1->nStatus,DataLen,p1->data);
                pKBus->KBusChnStats[0].ClientSendPkts++;
                pKBus->KBusSendPacket((uchar *)p2, PacketLen);
                break;
            case cmdExChgDataReply:
                break;
@@ -511,7 +727,8 @@
            case cmdSequenRead:
                break;
            case cmdSyncTime:
                nSlaveTick=p1->data[0]+(p1->data[1]<<8)+(p1->data[2]<<16)+(p1->data[3]<<24);
                pKBus->nSlaveTick=p1->data[0]+(p1->data[1]<<8)+(p1->data[2]<<16)+(p1->data[3]<<24);
                if (pKBus->KBusEvCBFunc) pKBus->KBusEvCBFunc(pKBus, KBusEvTimeSync,0,0);
                break;
            default:
                break;        
@@ -520,39 +737,39 @@
    return 0;
}
int KBusParsePacket(int nChn, pKBPacket p1, int Len1)
int KBusParsePacket(stKBusDef * pKBus, pKBPacket p1, int Len1)
{
    ThisuS=GetuS();
    int ThisuS=GetuS();
    int Result=0;
    unsigned char * p2 = (unsigned char *)p1;
    if (p2[0] == SYN && Len1 > 1)
    if (p2[0] == KB_SYN && Len1 > 1)
    {
        p1=(pKBPacket)(p2+1);
        Len1--;
    }
    
    if (bKBusMaster)
    if (pKBus->bMaster)
    {
            KBusMasterRecved=1;
            Result=KBusCheckPacket(nChn, p1, Len1);
            pKBus->bMasterRecved=1;
            Result=KBusCheckPacket(pKBus, p1, Len1);
            if (Result != S_OK)
            {
                return Result;
            }
            KBusMasterRecvOK=1;
            Result=KBusMasterParsePacket(nChn, p1, Len1);
            pKBus->bMasterRecvOK=1;
            Result=KBusMasterParsePacket(pKBus, p1, Len1);
            return Result;
    }
    if (bKBusSlave)
    if (pKBus->bSlave)
    {
            KBusChnStats[0].ClientRecvPkts++;
            Result=KBusSlaveCheckPacket(nChn, p1, Len1);
            pKBus->KBusChnStats[0].ClientRecvPkts++;
            Result=KBusSlaveCheckPacket(pKBus, p1, Len1);
            if (Result != S_OK)
            {
                return Result;
            }
            KBusChnStats[0].ClientTimeOutErr=KMem.RunStat;
            Result=KBusSlaveParsePacket(nChn, p1, Len1);
            pKBus->KBusChnStats[0].ClientTimeOutErr=pKBus->RunStat;
            Result=KBusSlaveParsePacket(pKBus, p1, Len1);
            return Result;
    }
    //int len1=p1->PacketLen;
@@ -604,146 +821,127 @@
    return S_OK;
}
*/
int KBusRepeaterFunc(int nChn)
unsigned char KBusBCC(void * pData, int nSize)
{
        KMem.WY[0]=KMem.WX[0];
        if ((KMem.nRunCount &0x7f) == 88)
        {
            nCount2++;
            ToggleRunLed();
//        int len1=sprintf(str1,"%d %d Cfg %02X  Input %02X  \r\n",nCount,nCount2,EffJumperSW,MyKeyStat1);
//        PutStr(str1,len1);
        }
    return 0;
}
int KBusMasterFunc(int nChn)
{
    uint32_t tick1=HAL_GetTick();
    uint32_t thisuS=GetuS();
        int len1=0;
        if ((KBusMasterRecved && KBusMasterRecvOK && thisuS-KBusSendTimeuS>50) || thisuS-KBusSendTimeuS>1000u)
        {
            if (!KBusMasterRecvOK)
            {
                TimeOutCount++;
                Uart2Stat.TimeOutErr++;
                KBusChnStats[nCurPollId].LostPackets++;
                KBusChnStats[nCurPollId].CtnLstPkts++;
                if (!KBusMasterRecved) {KBusChnStats[nCurPollId].TimeOutErr++;}
                if (KBusChnStats[nCurPollId].CtnLstPkts>KBusChnStats[nCurPollId].MaxCtnLstPkts)
                {KBusChnStats[nCurPollId].MaxCtnLstPkts=KBusChnStats[nCurPollId].CtnLstPkts;}
                if (KBusChnStats[nCurPollId].CtnLstPkts>3)
                {
                    KBusChnStats[nCurPollId].Stat=0;
                    KMem.ErrStat=200;
#if (BOARD_TYPE == 14)
                    BufferIn[nCurPollId]=0;
                    KMem.WXB[nCurPollId-1]=BufferIn[nCurPollId];
#else
                    {BufferIn[nCurPollId]=0;
                        KMem.WLX[nCurPollId]=BufferIn[nCurPollId];
                    }
#endif
                }
            //    LL_GPIO_SetOutputPin(GPIOA,LL_GPIO_PIN_7);
            }else
            {
                KBusChnStats[nCurPollId].Stat=1;
                KMem.RunStat=100;
            }
            nCurPollId ++;
            if (nCurPollId > nChilds)
            {
                CircleTime=thisuS-LastCircleStartTime;
                LastCircleStartTime=thisuS;
                nSeq++;
                nCurPollId=1;
            }
#if (BOARD_TYPE == 14)
            if (KMRunStat.WorkMode==0)
            {
            //    KMem.WX[0]= GetInput();
            //    KMem.WY[1]=KMem.WX[0]&0xff;
            //    KMem.WY[2]=(KMem.WX[0]>>8)&0xff;
            }
        //    BufferOut[1]=KMem.WY[1];
        //    BufferOut[2]=KMem.WY[2];
#else
            if (KMRunStat.WorkMode==0)
            {
                KMem.WX[0]= GetInput();
                KMem.WLY[1]=KMem.WX[0]&0xff;
                KMem.WLY[2]=(KMem.WX[0]>>8)&0xff;
            }
            BufferOut[1]=KMem.WLY[1];
            BufferOut[2]=KMem.WLY[2];
#endif
            Datas[0]=BufferOut[nCurPollId];
            Datas[1]=BufferOut[nCurPollId+1];;
            Datas[2]=KBusChnStats[nCurPollId].Stat;
            Datas[3]=0;
            Datas[4]=tick1&0xff;
            Datas[5]=(tick1>>8)&0xff;
            Datas[6]=(tick1>>16)&0xff;
            Datas[7]=(tick1>>24)&0xff;
            KBusSendTimeuS=thisuS;
            unStatus nStatus;
            nStatus.nSeq = nSeq;
            nStatus.nErr1 = (KBusChnStats[nCurPollId].Stat==0);
            len1=KBusMakePacket((pKBPacket)PacketBuf1,0,nCurPollId,cmdExChgData,nStatus.nStatus,8,Datas);
//            LL_USART_SetBaudRate(USART2,48000000,LL_USART_OVERSAMPLING_8,DefaultUart2Baud);
            SendPacket(nChn, (pKBPacket)PacketBuf1, len1);
            KBusChnStats[nCurPollId].SendPackets++;
            KBusChnStats[nCurPollId].SendTimeInterval=KBusSendTimeuS-KBusChnStats[nCurPollId].LastSentTimeuS;
            KBusChnStats[nCurPollId].LastSentTimeuS=KBusSendTimeuS;
//            PacketLength = len1;
            SendTime=tick1;
            KBusMasterRecved=0;
            KBusMasterRecvOK=0;
        //    LL_GPIO_TogglePin(GPIOA,LL_GPIO_PIN_5);
            //ToggleErrLed();
//                ToggleOut8();
        }
//        Clk3=SysTick->VAL;
    //    LL_GPIO_TogglePin(GPIOA,LL_GPIO_PIN_4);
//    HAL_Delay(1);
    return 0;
}
int KBusSlaveFunc(int nChn)
{
        int ThisuS=GetuS();
        int thisRecvTime=KBusRecvTimeuS;
     if (nStationID >0) {
            if (KBusSlaveRecved)
            {
                KMem.RunStat=8000;
                KBusSlaveRecved=0;
            }else if ((ThisuS - thisRecvTime) >12000u)
            {
                KMem.ErrStat=8000;
                KMem.SDD[17]=1;
                KMem.SDD[18]=ThisuS;
                KMem.SDD[19]=KBusRecvTimeuS;
            }else if ( ThisuS > (thisRecvTime + 12000u))
            {
                KMem.ErrStat=8000;
                KMem.SDD[17]=2;
                KMem.SDD[18]=ThisuS;
                KMem.SDD[19]=KBusRecvTimeuS;
            }
    unsigned char k;
    k=0;
    for (int i=0;i<nSize;i++)
    {
        k^=((unsigned char *)pData)[i];
    }
    return 0;
    return k;
}
int KBusMakePacket(pKBPacket p1,unsigned char src, uchar dst, uchar nType,unsigned char nStatus, unsigned char DataLen,void * pData )
{
    p1->Sign=KBStartSign;
    p1->DstHost=dst;
    p1->SrcAddr=src;
    p1->nCMD=nType;
    p1->nStatus=nStatus;
    int PacketLenth=0;
    switch (nType)
    {
        case cmdNone:
            break;
        case cmdPing:
            p1->DataLen=DataLen;
            memcpy(p1->data,pData,DataLen);
            p1->data[DataLen]=KBusBCC(p1,sizeof(stKBPacket)+DataLen-1);
            p1->data[DataLen+1]=KBEndSign;
            PacketLenth=sizeof(stKBPacket)+DataLen+1;
            break;
        case cmdPingReply:
            p1->DataLen=DataLen;
            memcpy(p1->data,pData,DataLen);
            p1->data[DataLen]=KBusBCC(p1,sizeof(stKBPacket)+DataLen-1);
            p1->data[DataLen+1]=KBEndSign;
            PacketLenth=sizeof(stKBPacket)+DataLen+1;
            break;
        case cmdRead:
            break;
        case cmdReadReply:
            break;
        case cmdWrite:
            break;
        case cmdWriteReply:
            p1->DataLen=DataLen;
         if (DataLen !=0 )    memcpy(p1->data,pData,DataLen);
            p1->data[DataLen]=KBusBCC(p1,sizeof(stKBPacket)+DataLen-1);
            p1->data[DataLen+1]=KBEndSign;
            PacketLenth=sizeof(stKBPacket)+DataLen+1;
            break;
        case cmdGetVersion:
            p1->DataLen=DataLen;
            memcpy(p1->data,pData,DataLen);
            p1->data[DataLen]=KBusBCC(p1,sizeof(stKBPacket)+DataLen-1);
            p1->data[DataLen+1]=KBEndSign;
            PacketLenth=sizeof(stKBPacket)+DataLen+1;
            break;
        case cmdVerInfo:
            p1->DataLen=DataLen;
            memcpy(p1->data,pData,DataLen);
            p1->data[DataLen]=KBusBCC(p1,sizeof(stKBPacket)+DataLen-1);
            p1->data[DataLen+1]=KBEndSign;
            PacketLenth=sizeof(stKBPacket)+DataLen+1;
            break;
        case cmdUniExChgData:
            p1->DataLen=DataLen;
            memcpy(p1->data,pData,DataLen);
            p1->data[DataLen]=KBusBCC(p1,sizeof(stKBPacket)+DataLen-1);
            p1->data[DataLen+1]=KBEndSign;
            PacketLenth=sizeof(stKBPacket)+DataLen+1;
            break;
        case cmdExChgDataReply:
            p1->DataLen=DataLen;
            memcpy(p1->data,pData,DataLen);
            p1->data[DataLen]=KBusBCC(p1,sizeof(stKBPacket)+DataLen-1);
            p1->data[DataLen+1]=KBEndSign;
            PacketLenth=sizeof(stKBPacket)+DataLen+1;
            break;
        case cmdSyncRead:
            p1->DataLen=DataLen;
            memcpy(p1->data,pData,DataLen);
            p1->data[DataLen]=KBusBCC(p1,sizeof(stKBPacket)+DataLen-1);
            p1->data[DataLen+1]=KBEndSign;
            PacketLenth=sizeof(stKBPacket)+DataLen+1;
            break;
        case cmdSyncWrite:
            p1->DataLen=DataLen;
            memcpy(p1->data,pData,DataLen);
            p1->data[DataLen]=KBusBCC(p1,sizeof(stKBPacket)+DataLen-1);
            p1->data[DataLen+1]=KBEndSign;
            PacketLenth=sizeof(stKBPacket)+DataLen+1;
            break;
        case cmdSequenRead:
            p1->DataLen=DataLen;
            memcpy(p1->data,pData,DataLen);
            p1->data[DataLen]=KBusBCC(p1,sizeof(stKBPacket)+DataLen-1);
            p1->data[DataLen+1]=KBEndSign;
            PacketLenth=sizeof(stKBPacket)+DataLen+1;
            break;
        case cmdSyncTime:
            p1->DataLen=DataLen;
            memcpy(p1->data,pData,DataLen);
            p1->data[DataLen]=KBusBCC(p1,sizeof(stKBPacket)+DataLen-1);
            p1->data[DataLen+1]=KBEndSign;
            PacketLenth=sizeof(stKBPacket)+DataLen+1;
            break;
        default:
            p1->DataLen=DataLen;
            memcpy(p1->data,pData,DataLen);
            p1->data[DataLen]=KBusBCC(p1,sizeof(stKBPacket)+DataLen-1);
            p1->data[DataLen+1]=KBEndSign;
            PacketLenth=sizeof(stKBPacket)+DataLen+1;
            break;
    }
    return PacketLenth;
}
ComLib/Src/KLink.c
@@ -9,6 +9,8 @@
#include "string.h"
#include "PLCFunctions.h"
#include "stm32f0xx_hal.h"
#include "main.h"
#ifdef KWLESS
#include "KWireless.h"
#endif
@@ -47,10 +49,16 @@
    p1->nStatus=Status;
    p1->nRplyCMD=nCmd;
    p1->nSize1=DataLen;
    memcpy(p1->Datas,pData,DataLen);
    p1->Datas[DataLen]=KLBCC(p1,sizeof(stKLRplyPktHdr)+DataLen-1);
    PacketLenth=sizeof(stKLRplyPktHdr)+DataLen;
    if (nCmd == KLCmdErrRply) {
        DataLen = 0;
        p1->Datas[DataLen]=KLBCC(p1,sizeof(stKLRplyPktHdr)+DataLen-1);
        PacketLenth=sizeof(stKLRplyPktHdr)+DataLen;
    } else {
        memcpy(p1->Datas,pData,DataLen);
        p1->Datas[DataLen]=KLBCC(p1,sizeof(stKLRplyPktHdr)+DataLen-1);
        PacketLenth=sizeof(stKLRplyPktHdr)+DataLen;
    }
    switch (nCmd)
    {
@@ -74,6 +82,7 @@
        
        break;
        default:
            break;
    }
    
@@ -147,7 +156,7 @@
    void * pData=0;
    pKLRplyPktHdr p2=(pKLRplyPktHdr)KLPacketBuf2;
    char rData[4];
    int res = 0 ;
    int PacketLen=0;
    KLRecvTimeuS=KLThisuS;
    if (nDstHost==nKLStationId || nDstHost==0xff)
@@ -216,7 +225,7 @@
                else if (nDataType == KLDataTypeEV)        {        pData=KMem.EV+nWordAddr;    }
                else if (nDataType == KLDataTypeTest)    {        pData=KMem.SDT+nWordAddr;    }
                else if (nDataType == KLDataTypeWDT)    {        pData=KMem.WDT+nWordAddr;    }
                else if (nDataType == KLDataTypeKBD)    {        pData=(unsigned short *)&KBusChnStats  +nWordAddr;    }
                else if (nDataType == KLDataTypeKBD)    {        pData=(unsigned short *)&KBus1.KBusChnStats  +nWordAddr;    }
#ifdef KWLESS
                else if (nDataType == KLDataTypeKWLD)    {        pData=(unsigned short *)&KwRunStat  +nWordAddr;    }
#endif
@@ -249,7 +258,7 @@
                else if (nDataType == KLDataTypeEV)        {        pData=KMem.EV+nWordAddr;    DataLen=0;}
                else if (nDataType == KLDataTypeTest)    {        pData=KMem.SDT+nWordAddr;    DataLen=0;}
                else if (nDataType == KLDataTypeWDT)    {        pData=KMem.WDT+nWordAddr;    DataLen=0;}
                else if (nDataType == KLDataTypeKBD)    {        pData=(unsigned short *)KBusChnStats +nWordAddr;    DataLen=0;}
                else if (nDataType == KLDataTypeKBD)    {        pData=(unsigned short *)KBus1.KBusChnStats +nWordAddr;    DataLen=0;}
#ifdef KWLESS                
                else if (nDataType == KLDataTypeKWLD)    {        pData=(unsigned short *)&KwRunStat  +nWordAddr;    }
#endif
@@ -307,7 +316,7 @@
                PacketLen=KLMakeRplyPacket(p2,nDstHost,nKLStatus.StatByte,p1->nCMD,0,0);
                SendPacket(nChn, p2, PacketLen);                
                break;
            case KLCmdReadProgram:
            case KLCmdReadPLCProgram:
                nWordAddr=p1->Params[0]+ (p1->Params[1]<<8);
                DataLen= p1->Params[2];
                 if (nDataType==0){
@@ -323,17 +332,17 @@
                SendPacket(nChn, p2, PacketLen);
                
                break;
            case KLCmdStartProgram:
            case KLCmdStartPLCProgram:
                DataLen=nDataType;
//                KLBufferIn[0]=p1->Params[0];
//                p1->Params[0]=KLBufferOut[0];
                if (PLCMem.bPLCRunning) PLCMem.bPLCRunning=0;
            
                PacketLen=KLMakeRplyPacket(p2,nDstHost,nKLStatus.StatByte,KLCmdStartProgram,0,0);
                PacketLen=KLMakeRplyPacket(p2,nDstHost,nKLStatus.StatByte,KLCmdStartPLCProgram,0,0);
                SendPacket(nChn, p2, PacketLen);
                
                break;
            case KLCmdWriteProgram:
            case KLCmdWritePLCProgram:
                if (PLCMem.bPLCRunning) PLCMem.bPLCRunning=0;
                nWordAddr=p1->Params[0]+ (p1->Params[1]<<8);
                DataLen= p1->Params[2];
@@ -344,10 +353,10 @@
                WriteProgram(nWordAddr, KLPacketBuf2, DataLen,nDataType);
                DataLen=4;
                *((int *)(&rData[0]))=(long)(p1->Params+4);
                PacketLen=KLMakeRplyPacket(p2,nDstHost,nKLStatus.StatByte,KLCmdWriteProgram,0,0);
                PacketLen=KLMakeRplyPacket(p2,nDstHost,nKLStatus.StatByte,KLCmdWritePLCProgram,0,0);
                SendPacket(nChn, p2, PacketLen);
                break;
            case KLCmdFinishProgram:
            case KLCmdFinishPLCProgram:
                nWordAddr=p1->Params[0]+ (p1->Params[1]<<8);        //Program Size;
                DataLen=nDataType;
                KMRunStat.nBinProgSize=nWordAddr;
@@ -357,7 +366,7 @@
                //PLCMem.bPLCRunning=1;
//                KLBufferIn[0]=p1->Params[0];
//                p1->Params[0]=KLBufferOut[0];
                PacketLen=KLMakeRplyPacket(p2,nDstHost,nKLStatus.StatByte,KLCmdFinishProgram,0,0);
                PacketLen=KLMakeRplyPacket(p2,nDstHost,nKLStatus.StatByte,KLCmdFinishPLCProgram,0,0);
                SendPacket(nChn, p2, PacketLen);
                break;
                
@@ -418,7 +427,7 @@
                SendPacket(nChn, p2, PacketLen);
                break;
            case KLCmdClearRunStat:
                memset(KBusChnStats,0,sizeof(KBusChnStats));
                memset(KBus1.KBusChnStats,0,sizeof(KBus1.KBusChnStats));
                PacketLen=KLMakeRplyPacket(p2,nDstHost,nKLStatus.StatByte,p1->nCMD,0,0);
                SendPacket(nChn, p2, PacketLen);                    
                break;
@@ -440,8 +449,37 @@
                PacketLen=KLMakeRplyPacket(p2,nDstHost,nKLStatus.StatByte,KLCmdClearEventLog,0,0);
                SendPacket(nChn, p2, PacketLen);
                break;            
            case KLCmdResetMachine:
                PacketLen=KLMakeRplyPacket(p2,nDstHost,nKLStatus.StatByte,KLCmdClearEventLog,0,0);
                SendPacket(nChn, p2, PacketLen);
                __set_PRIMASK(1);    //关闭全局中断
                NVIC_SystemReset();
                break;
            case KLCmdWriteFirmware:
                nByteAddr=p1->Params[0]+ (p1->Params[1]<<8);
                //pData=(UCHAR *)(&storedKMSysCfg.theKMSysCfg)+nByteAddr;
                DataLen = p1->Params[2];
                res = WriteNewApp(nByteAddr,p1->Params+4,DataLen);
                if (res) {
                    PacketLen=KLMakeRplyPacket(p2,nKLStationId,nKLStatus.StatByte,KLCmdErrRply,res,rData);
                }else {
                    PacketLen=KLMakeRplyPacket(p2,nDstHost,nKLStatus.StatByte,p1->nCMD,0,0);
                }
                SendPacket(nChn, p2, PacketLen);
                break;
            case KLCmdWriteFirmInfo:
                nByteAddr=p1->Params[0]+ (p1->Params[1]<<8);
                //pData=(UCHAR *)(&storedKMSysCfg.theKMSysCfg)+nByteAddr;
                DataLen = p1->Params[2];
                PacketLen=KLMakeRplyPacket(p2,nDstHost,nKLStatus.StatByte,p1->nCMD,0,0);
                SendPacket(nChn, p2, PacketLen);
                WriteNewAppInfo(nByteAddr,p1->Params+4,DataLen);
                break;
            default:
            DataLen=1;
            //DataLen=1;
            DataLen=KL_UNKNOWN;
            rData[0]=KL_UNKNOWN;
            PacketLen=KLMakeRplyPacket(p2,nKLStationId,nKLStatus.StatByte,KLCmdErrRply,DataLen,rData);
            SendPacket(nChn, p2, PacketLen);            
@@ -462,7 +500,7 @@
        int DataLen=4;
        char rData[4];
        rData[0]=Result;
        DataLen = Result;
        PacketLen=KLMakeRplyPacket(KLPacketBuf2,nKLStationId,nKLStatus.StatByte,KLCmdErrRply,DataLen,rData);
//        PacketLen=KLMakePacket(p2,0,nAddr,cmdKLPing,p1->nSEQ,DataLen,rData);
        SendPacket(nChn, KLPacketBuf2, PacketLen);
ComLib/Src/KMachine.c
@@ -6,13 +6,31 @@
    */
#include "KMachine.h"
#include "KBus.h"
#include "string.h"
#include "Globaldef.h"
#include "stm32f0xx_hal.h"
#include "stm32f0xx.h"
#include "stm32f0xx_ll_flash.h"
//#include "stm32f0xx_hal.h"
//#define OB_BASE               ((uint32_t)0x1FFFF800U)       /*!< FLASH Option Bytes base address */
//#define FLASHSIZE_BASE        ((uint32_t)0x1FFFF7CCU)       /*!< FLASH Size register base address */
//#define UID_BASE              ((uint32_t)0x1FFFF7ACU)       /*!< Unique device ID register base address */
//#define FLASH_BASE
//#define FLASH_PAGE_SIZE                    0x00000400U
//#define FLASH_BANK1_END       ((uint32_t)0x0800FFFFU) /*!< FLASH END address of bank1 */
#define  ApplicationAddress          0x08001000  //应用程序首地址定义
#if defined(STM32F030x8)
#define  NewAppInfoBlockAddress 0x08008000                // 存储的新应用程序信息块的地址
#define  NewAppAddress                     ((uint32_t)0x08009000U)                // 存储的新应用程序的地址
#endif /* STM32F030x6 || STM32F030x8 || STM32F031x6 || STM32F051x8 || STM32F042x6 || STM32F048xx || STM32F058xx || STM32F070x6 */
#if defined(STM32F030xC)
#define  NewAppInfoBlockAddress 0x08020000                // 存储的新应用程序信息块的地址
#define  NewAppAddress                     ((uint32_t)0x08021000U)                // 存储的新应用程序的地址
#endif /* STM32F071xB || STM32F072xB || STM32F078xx || STM32F091xC || STM32F098xx || STM32F030xC */
stStoredKMSysCfg storedKMSysCfg ;
@@ -30,9 +48,9 @@
{
//    sizeof(stKMInfoBlock),
    (BOARD_TYPE<<8) + BOARD_VER,            //nDeviceType     BOARD_VER,            //nDevieVer
    0x0107,            //ProgVer
    0x0100,            //KLinkVer
    0x0100,            //KBusVer
    0x0109,            //ProgVer
    0x0102,            //KLinkVer
    KBUS_VER,            //KBusVer
//    0x0100,            //KNetVer
//    0x0100,            //KWLVer
    
@@ -139,72 +157,54 @@
}
int EraseFlashMem(void * pAddrFlash, unsigned int Pages)
{
    HAL_StatusTypeDef res;
    res = HAL_FLASH_Unlock();
    uint32_t ErrNo;
    FLASH_EraseInitTypeDef erase1;
    erase1.NbPages=Pages;
    erase1.PageAddress=(unsigned int)pAddrFlash;
    erase1.TypeErase=FLASH_TYPEERASE_PAGES;
    res = HAL_FLASHEx_Erase(&erase1,&ErrNo);
    res = HAL_FLASH_Lock();
    return res;
    ErrorStatus res;
    res = LL_Flash_Unlock();
//    uint32_t ErrNo;
    res = LL_Flash_PageErase(pAddrFlash,Pages);
    LL_FLASH_Lock(FLASH);
    return 0;
}
int WriteToFlashMemNoErase(void * pBuf, void * pAddrFlash, unsigned int nByteSize)
{
        HAL_StatusTypeDef res;
    res = HAL_FLASH_Unlock();
/*
    for (int i=0;i<nSize/2;i++)
    {
        res = HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, (uint32_t)pAddrFlash + i*2, ((uint16_t *)pBuf)[i]);
    }
*/
        ErrorStatus res;
    res = LL_Flash_Unlock();
//    __disable_irq();
///*    
    for (int i=0;i<nByteSize/4;i++)
    for (int i=0;i<(nByteSize+1)/2;i++)
    {
        res = HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, (uint32_t)pAddrFlash + i*4, ((uint32_t *)pBuf)[i]);
        unsigned short value = ((uint8_t *)pBuf)[i*2] + (((uint8_t *)pBuf)[i*2 +1] << 8);
        res = LL_FLASH_Program(ProgaraType_DATA16, (uint32_t)pAddrFlash + i*2, value);
        if (res == ERROR) break;
    }
    for (int i = nByteSize/4 * 2 ; i < nByteSize/2 ; i++)
    {
        res = HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, (uint32_t)pAddrFlash + i*2, ((uint16_t *)pBuf)[i]);
    }
//*/
    res = HAL_FLASH_Lock();
    return res;
// */
//    __enable_irq();
    LL_FLASH_Lock(FLASH);
    if (res == ERROR) return 1;
    return 0;
}
int EraseAndWriteToFlashMem(void * pBuf, void * pAddrFlash, unsigned int nByteSize)
{
    
    HAL_StatusTypeDef res;
    res = HAL_FLASH_Unlock();
    uint32_t ErrNo;
    FLASH_EraseInitTypeDef erase1;
    erase1.NbPages=(nByteSize-1) / FLASH_PAGESIZE + 1;;
    erase1.PageAddress=(unsigned int)pAddrFlash;
    erase1.TypeErase=FLASH_TYPEERASE_PAGES;
    res = HAL_FLASHEx_Erase(&erase1,&ErrNo);
    for (int i=0;i<nByteSize/2;i++)
    ErrorStatus res;
    res = LL_Flash_Unlock();
//    __disable_irq();
    int NbPages = (nByteSize-1) / FLASH_PAGE_SIZE + 1;
//    FLASH_EraseInitTypeDef erase1;
//    erase1.NbPages=(nByteSize-1) / FLASH_PAGE_SIZE + 1;;
//    erase1.PageAddress=(unsigned int)pAddrFlash;
//    erase1.TypeErase=FLASH_TYPEERASE_PAGES;
    res = LL_Flash_PageErase(pAddrFlash,NbPages);
    for (int i=0;i<(nByteSize+1)/2;i++)
    {
        res = HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, (uint32_t)pAddrFlash + i*2, ((uint16_t *)pBuf)[i]);
        unsigned short value = ((uint8_t *)pBuf)[i*2] + (((uint8_t *)pBuf)[i*2 +1] << 8);
        res = LL_FLASH_Program(ProgaraType_DATA16, (uint32_t)pAddrFlash + i*2, value);
        if (res == ERROR) break;
    }
/*
    for (int i=0;i<nSize/4;i++)
    {
        res = HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, (uint32_t)pAddrFlash + i*4, ((uint32_t *)pBuf)[i]);
    }
    for (int i = nSize/4 * 2 ; i < nSize/2 ; i++)
    {
        res = HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, (uint32_t)pAddrFlash + i*2, ((uint16_t *)pBuf)[i]);
    }
*/
    res = HAL_FLASH_Lock();
    return res;
//    __enable_irq();
    LL_FLASH_Lock(FLASH);
    if (res == ERROR) return 1;
    return 0;
}
int ReadFactoryData(void * pDatabuf, int nByteCount)
@@ -249,7 +249,7 @@
    }else{
        progByteAddr=(void *)(STORE_PRG_BASE+nProgAddress);
    }
    if ( (nProgAddress & (STORE_PRG_PAGESIZE - 1)) ==0)    {
    if ( (nProgAddress & (FLASH_PAGE_SIZE - 1)) ==0)    {
        EraseAndWriteToFlashMem(pBuf, progByteAddr, nByteSize);
    }else{
        WriteToFlashMemNoErase(pBuf, progByteAddr, nByteSize);
@@ -456,7 +456,7 @@
    pRunStat pStoreRunStats = (pRunStat)pRunStatStore;
//    int s = sizeof(stRunStat);
    
    for (int i=0;i * sizeof(stRunStat) < (STORE_RUNSTAT_PAGESIZE * STORE_RUNSTAT_PAGES) ;i++)
    for (int i=0;i * sizeof(stRunStat) < (FLASH_PAGE_SIZE * STORE_RUNSTAT_PAGES) ;i++)
    {
        if (pStoreRunStats[i].Sign1 == START_SIGN )
        {
@@ -477,7 +477,7 @@
    // find Next Space
    // if Same Page with MaxSeq Index, then not erase, skip and skip.
    // if next Page of MaxSeq Index, then earse if not empty;
    if ((nNextRunStatSpace + 1) * sizeof(stRunStat) > STORE_RUNSTAT_PAGESIZE * STORE_RUNSTAT_PAGES)    {
    if ((nNextRunStatSpace + 1) * sizeof(stRunStat) > FLASH_PAGE_SIZE * STORE_RUNSTAT_PAGES)    {
        nNextRunStatSpace=0;
    }
    return 0;
@@ -509,13 +509,31 @@
    }
    nMaxRunStatIndex=nNextRunStatSpace;
    nNextRunStatSpace++;
    if ((nNextRunStatSpace+1) * sizeof(stRunStat) > STORE_RUNSTAT_PAGESIZE * STORE_RUNSTAT_PAGES)
    if ((nNextRunStatSpace+1) * sizeof(stRunStat) > FLASH_PAGE_SIZE * STORE_RUNSTAT_PAGES)
    {
        nNextRunStatSpace=0;
    }
    return 0;
}    
int WriteNewApp(int nProgByteAddr, void *pBuf, int nByteSize)
{
    int res = -1;
    if ((nProgByteAddr&(FLASH_PAGE_SIZE-1)) ==0){
    //    EraseFlashMem((void *)(NewAppAddress + nProgByteAddr),1);
        res = EraseAndWriteToFlashMem(pBuf,(void *)(NewAppAddress + nProgByteAddr),nByteSize);
    }else {
//        if (nByteSize>64) return 0;
        res = WriteToFlashMemNoErase(pBuf,(void *)(NewAppAddress + nProgByteAddr),nByteSize);
    }
    return res;
}
int WriteNewAppInfo(int nProgByteAddr, void *pBuf, int nByteSize)
{
        int res = EraseAndWriteToFlashMem(pBuf,(void *)(NewAppInfoBlockAddress + nProgByteAddr),nByteSize);
    return res;
}
int nEventCount=0;
int nEventMinIndex;
@@ -537,7 +555,7 @@
//    int s = sizeof(stEventLog);
    nEventCount=0;
    
    for (int i=0;i * sizeof(stEventLog) < (STORE_LOG_PAGESIZE * STORE_LOG_PAGES) ;i++)
    for (int i=0;i * sizeof(stEventLog) < (FLASH_PAGE_SIZE * STORE_LOG_PAGES) ;i++)
    {
        if (theEventLog[i].Sign1 == START_SIGN )
        {
@@ -559,7 +577,7 @@
    // find Next Space
    // if Same Page with MaxSeq Index, then not erase, skip and skip.
    // if next Page of MaxSeq Index, then earse if not empty;
    if ((nEventNextSpace + 1) * sizeof(stEventLog) > STORE_LOG_PAGESIZE * STORE_LOG_PAGES)    {
    if ((nEventNextSpace + 1) * sizeof(stEventLog) > FLASH_PAGE_SIZE * STORE_LOG_PAGES)    {
        nEventNextSpace=0;
    }
    
@@ -587,7 +605,7 @@
    }
    nEventMaxIndex=nEventNextSpace;
    nEventNextSpace++;
    if ((nEventNextSpace+1) * sizeof(stEventLog) > STORE_LOG_PAGESIZE * STORE_LOG_PAGES)
    if ((nEventNextSpace+1) * sizeof(stEventLog) > FLASH_PAGE_SIZE * STORE_LOG_PAGES)
    {
        nEventNextSpace=0;
    }
@@ -600,9 +618,9 @@
{
    int nEventIndex=nEventMinIndex + nIndex;
    
    if (nEventIndex * sizeof(stEventLog) >= (STORE_LOG_PAGESIZE * STORE_LOG_PAGES))
    if (nEventIndex * sizeof(stEventLog) >= (FLASH_PAGE_SIZE * STORE_LOG_PAGES))
    {
        nEventIndex -= (STORE_LOG_PAGESIZE * STORE_LOG_PAGES)/sizeof(stEventLog);
        nEventIndex -= (FLASH_PAGE_SIZE * STORE_LOG_PAGES)/sizeof(stEventLog);
    }
    unsigned char *pFlash = (unsigned char *)(STORE_LOG_BASE + nEventIndex*sizeof(stEventLog));
    
@@ -904,3 +922,61 @@
    return 0;
}
int KMachineSvFunc (int nChn, int nSvType, int nParam,void * pBuf, int nLen1)
{
    int iRet =0;
    switch (nSvType){
        case ReqNone:
            break;
        case ReqInit:
            break;
        case ReqReset:
            break;
        case ReqStop:
            break;
        case ReqRun:
            break;
        case ReqBlink:
            break;
        case ReqStartDiag:
            break;
        case ReqStopDiag:
            break;
        case ReqTransFirmware:
            break;
        case ReqTransCfg:
            break;
        case ReqTransProg:
            break;
        case ReqTransData:
            break;
        case ReqTransBlink:
            break;
        case ReqTransChild:
            break;
        case ReqTransInfo:
            break;
        case ReqTransOutBandData:
            break;
        case ReqRead1Bit:
            break;
        case ReqWrite1Bit:
            break;
        case ReqReadBits:
            break;
        case ReqWriteBits:
            break;
        case ReqReadData:
            break;
        case ReqWriteData:
            break;
        case ReqRemoteTran:
            break;
        default:
            iRet = -1;
            break;
    }
    return iRet;
}
ComLib/Src/debug.c
@@ -191,8 +191,8 @@
                int timeus1;
                int timeus2;
        
                len1=sprintf((char *)str1," N %8d Tk %8d %9u CFG %02X R %d M %d S %d %4d IN %04X OUT %04X  \r\n",
                    KMem.nRunCount, haltick, theUs, KMem.EffJumperSW, bKBusRepeater, bKBusMaster, bKBusSlave, Clk2, KMem.WX[0],KMem.WY[0]);
//                len1=sprintf((char *)str1," N %8d Tk %8d %9u CFG %02X R %d M %d S %d %4d IN %04X OUT %04X  \r\n",
//                    KMem.nRunCount, haltick, theUs, KMem.EffJumperSW, bKBusRepeater, bKBusMaster, bKBusSlave, Clk2, KMem.WX[0],KMem.WY[0]);
                //len1=sprintf((char *)str1,"U%02X%02XA",x2,x2);
                // Locate(10,1);
                timeus1=GetuS();
@@ -216,6 +216,10 @@
            return 0;
}
#define AVGCount 8
int nCount5 = 0;
unsigned short ADC_TEMP[16] ={0};
int ADCProcess()
{
@@ -233,7 +237,9 @@
    // 16 -- Temp  --> 6
    // 17 -- Vref  --> 7
    uint16_t ADC_ConvertedValue=0;
uint16_t ADC_ConvertedValue=0;
static int CurChannel=LL_ADC_CHANNEL_0;
//static int waitcount = 0;
    
@@ -250,17 +256,45 @@
                    if ((channels & LL_ADC_CHANNEL_0) == LL_ADC_CHANNEL_0)
                    {
                        KMem.ADCValues[0] = ADC_ConvertedValue;
                        nextchannel = LL_ADC_CHANNEL_8;
                        if (KMem.ADCValues[0] < 2200)
                        nextchannel = LL_ADC_CHANNEL_7;
                        if (KMem.ADCValues[0] < 1500)
                        {
                            PowerDownEvent=1;
                        }else 
                        {
                            PowerDownEvent=0;
                        }                        
                    }else if ((channels & LL_ADC_CHANNEL_8) == LL_ADC_CHANNEL_8)
                    }
                    else if ((channels & LL_ADC_CHANNEL_7) == LL_ADC_CHANNEL_7)
                    {
                        KMem.ADCValues[2] = ADC_ConvertedValue;
                        ADC_TEMP[0] += ADC_ConvertedValue;
                        nextchannel = LL_ADC_CHANNEL_8;
                    }
                    else if ((channels & LL_ADC_CHANNEL_8) == LL_ADC_CHANNEL_8)
                    {
                        ADC_TEMP[1] += ADC_ConvertedValue;
                        nCount5++;
                        if (nCount5 >= AVGCount) {
                            KMem.ADCValues[3] = ADC_TEMP[0]/AVGCount;
                            KMem.ADCValues[4] = ADC_TEMP[1]/AVGCount;
                            ADC_TEMP[0]=0;
                            ADC_TEMP[1]=0;
                            nCount5 = 0 ;
                        }
                        //    KMem.ADCValues[3] = 255;//ADC_TEMP[0]/16;
                        //    KMem.ADCValues[4] = 768; //ADC_TEMP[1]/16;
                        nextchannel = LL_ADC_CHANNEL_9;
                    }else if ((channels & LL_ADC_CHANNEL_9) == LL_ADC_CHANNEL_9)
                    {
                        KMem.ADCValues[5] = ADC_ConvertedValue;
                        nextchannel = LL_ADC_CHANNEL_TEMPSENSOR;
                    }else if ((channels & LL_ADC_CHANNEL_16) == LL_ADC_CHANNEL_16)
@@ -270,7 +304,7 @@
                    }else if ((channels & LL_ADC_CHANNEL_17) == LL_ADC_CHANNEL_17)
                    {
                        KMem.ADCValues[7] = ADC_ConvertedValue;                        
                        KMem.ADCValues[5] = *((unsigned short *)ADCrefAddr);
                        KMem.ADCValues[8] = *((unsigned short *)ADCrefAddr);
                        
                        nextchannel = LL_ADC_CHANNEL_0;
                    }else
ComLib/Src/functions.c
@@ -9,7 +9,7 @@
#include "string.h"
#include "stm32f0xx_hal.h"
#if (BOARD_TYPE == 14)
#include "fp0.h"
#include "fpx.h"
#endif
extern __IO uint32_t uwTick;
//#include "Myprotocol.h"
@@ -23,6 +23,22 @@
//volatile unsigned int TotalRunTime=0;     //总开机时间
//volatile unsigned int PwrCount=0;                //开机次数
unsigned short ClkuS;                //每个Clk的nS数,
unsigned char SPI1RecvBuf[64];
unsigned char SPI1SendBuf[64];
volatile unsigned char bSPI1Recving=0;
volatile unsigned char bSPI1RecvDone =0;
volatile unsigned char nSPI1RecvPos =0;
volatile unsigned char nSPI1RecvLenInBuf=0;
volatile unsigned char nSPI1ToSendLen=0;
volatile unsigned char nSPI1SentLen=0;
volatile unsigned char bSPI1Sending=0;
volatile unsigned char bSPI1SendDone=0;
int InituS(int TickFreq1)
{
@@ -297,26 +313,6 @@
      SCB->ICSR=SCB_ICSR_PENDSVSET_Msk; //1<<SCB_ICSR_PENDSVSET_Pos;
}
void PendSvCallBack()
{
#if (BOARD_TYPE == 14)
///*
        if (bSPI1RecvDone)
        {
            bSPI1RecvDone=0;
            ParseFP0Pkg(SPI1RecvBuf,nSPI1RecvLenInBuf);
        }
//*/
#endif
    if (Uart2Stat.bPacketRecved)
    {
        KBusParsePacket(2, (pKBPacket)Uart2RecvBuf1, Uart2RecvBuf1DataLen);
        Uart2RecvBuf1DataLen=0;
        Uart2Stat.bPacketRecved=0;
        Uart2RecvDMA(Uart2RecvBuf1,sizeof(Uart2RecvBuf1));
    }
}
void SPI1_IRQ_CallBack()
{
        uint8_t value;
@@ -360,7 +356,7 @@
                 bSPI1SendDone=1;
                 bSPI1Recving=1;
                 nSPI1RecvPos=0;
                 SetFP0DEPin_0();
                 SetFPxDEPin_0();
             }
             else {
                 value = SPI1SendBuf[nSPI1SentLen];
@@ -427,6 +423,7 @@
//    LL_USART_EnableIT_TXE(USART1);   
//    LL_USART_EnableIT_TC(USART1);     
    Uart1TriggerSendDMA();
    Uart1Stat.SentPacket++;
    return len1;
}
int PutStr2(char * str1, int len1)
@@ -436,6 +433,7 @@
//    LL_USART_EnableIT_TXE(USART1);   
//    LL_USART_EnableIT_TC(USART1);     
//    Uart2TriggerSendDMA();
        Uart2Stat.SentPacket++;
    return len1;
}
@@ -445,12 +443,12 @@
        PutStr1((char *)pBuf,len1);
//    PushIn(&Uart1Stat.QTx,p1,len1);
//    Uart1TriggerSendDMA();
        Uart1Stat.SentPacket++;
    }else if (nChn==2){
        PutStr2((char *)pBuf,len1);    
//    PushIn(&Uart2Stat.QTx,p1,len1);
//    Uart2TriggerSendDMA();    
        Uart2Stat.SentPacket++;
    }
        return len1;
}
@@ -653,7 +651,7 @@
        case 13:
                        return Input165_R(16);
        case 14:
                        return 0;    //FP0
                        return 0;    //FPx
        case 15:
                        return Input165_R(16);
        case 16:
@@ -748,7 +746,7 @@
        case 13:
                     return ReadConfig_5();
        case 14:
                     return (~(LL_GPIO_ReadInputPort(GPIOA)>>4))&0x0f;    //FP0
                     return (~(LL_GPIO_ReadInputPort(GPIOA)>>4))&0x0f;    //FPx
        case 15:
        case 16:
                     return ReadConfig_5();    //Wireless Master Slave 8 in 8 o
Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_flash.h
New file
@@ -0,0 +1,140 @@
#ifndef __STM32F0xx_LL_FLASH_EX_H
#define __STM32F0xx_LL_FLASH_EX_H
#include "stm32f0xx.h"
#define FLASH_FLAG_BSY             FLASH_SR_BSY            /*!< FLASH Busy flag                           */
#define FLASH_FLAG_PGERR           FLASH_SR_PGERR          /*!< FLASH Programming error flag    */
#define FLASH_FLAG_WRPERR          FLASH_SR_WRPERR         /*!< FLASH Write protected error flag          */
#define FLASH_FLAG_EOP             FLASH_SR_EOP            /*!< FLASH End of Operation flag               */
#define LL_FLASH_TYPEERASE_PAGES          FLASH_CR_PER         /*!< FLASH_CR_PER          */
#define LL_FLASH_TYPEERASE_MASSERASE      FLASH_CR_MER            /*!< MASSERASE              */
#if defined(STM32F030x6) || defined(STM32F030x8) || defined(STM32F031x6) || defined(STM32F038xx) \
 || defined(STM32F051x8) || defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F058xx) || defined(STM32F070x6)
#define FLASH_PAGE_SIZE          0x400U
#endif /* STM32F030x6 || STM32F030x8 || STM32F031x6 || STM32F051x8 || STM32F042x6 || STM32F048xx || STM32F058xx || STM32F070x6 */
#if defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) || defined(STM32F070xB) \
 || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
#define FLASH_PAGE_SIZE          0x800U
#endif /* STM32F071xB || STM32F072xB || STM32F078xx || STM32F091xC || STM32F098xx || STM32F030xC */
typedef enum {
    ProgaraType_DATA64,
    ProgaraType_DATA32,
    ProgaraType_DATA16
}ProgaramDataType;
typedef enum {\
    FLASH_Lock=1U,Flash_Unlock=!FLASH_Lock\
}FlashStates;
  /* Set the OBL_Launch bit to launch the option byte loading */
__STATIC_INLINE void LL_FLASH_SET_OBL_Launch(FLASH_TypeDef *FLASHx)
{
  SET_BIT(FLASHx->CR, FLASH_CR_OBL_LAUNCH);
}
__STATIC_INLINE void LL_FLASH_Lock(FLASH_TypeDef *FLASHx)
{
  SET_BIT(FLASHx->CR, FLASH_CR_LOCK);
}
  /* @brief  Set flash erase type.
  * @param  FLASH_TYPEERASE specifies the FLASH flags to clear.
  *          This parameter can be any combination of the following values:
  *            @arg @ref FLASH_TYPEERASE_PAGES         PAGES Erase
  *            @arg @ref FLASH_TYPEERASE_MASSERASE      FLASH Write protected error flag
  * @retval none*/
__STATIC_INLINE void LL_FLASH_SetTypeErase(FLASH_TypeDef *FLASHx,uint32_t FLASH_TYPEERASE)
{
  SET_BIT(FLASHx->CR, FLASH_TYPEERASE);
}
  /* @brief  Set flash erase ADDR.
  *          This parameter can be any combination of the following values:
  *            @arg @ref EraseADDR         uint32_t value
  * @retval none*/
__STATIC_INLINE void LL_FLASH_SetEraseADDR(FLASH_TypeDef *FLASHx,uint32_t EraseADDR)
{
  WRITE_REG(FLASHx->AR, EraseADDR);
}
  /* @brief  Set flash erase ADDR.
  *          This parameter can be any combination of the following values:
  *            @arg @ref EraseADDR         uint32_t value
  * @retval none*/
__STATIC_INLINE void LL_FLASH_StartErase(FLASH_TypeDef *FLASHx)
{
  SET_BIT(FLASHx->CR, FLASH_CR_STRT);
}
  /* @brief  Clear the specified FLASH flag.
  * @param  __FLAG__ specifies the FLASH flags to clear.
  *          This parameter can be any combination of the following values:
  *            @arg @ref FLASH_FLAG_EOP         FLASH End of Operation flag
  *            @arg @ref FLASH_FLAG_WRPERR      FLASH Write protected error flag
  *            @arg @ref FLASH_FLAG_PGERR       FLASH Programming error flag
  * @retval none*/
__STATIC_INLINE void LL_FLASH_ClearFlag(FLASH_TypeDef *FLASHx,uint32_t STATE_FLAG)
{
  WRITE_REG(FLASHx->SR, STATE_FLAG);
}
  /*get bit flash bsy*/
__STATIC_INLINE uint32_t LL_FLASH_IsActiveFlag_BSY(FLASH_TypeDef *FLASHx)
{
  return (READ_BIT(FLASHx->SR, FLASH_SR_BSY) == (FLASH_SR_BSY));
}
/*get end of operation bilt*/
__STATIC_INLINE uint32_t LL_FLASH_IsActiveFlag_EOP(FLASH_TypeDef *FLASHx)
{
  return (READ_BIT(FLASHx->SR, FLASH_SR_EOP) == (FLASH_SR_EOP));
}
/*clear end of operation bilt*/
__STATIC_INLINE void LL_FLASH_ClearFlag_EOP(FLASH_TypeDef *FLASHx)
{
  SET_BIT(FLASHx->SR, FLASH_SR_EOP);//EOP bit Set clear
}
  /* @brief  Set flash erase type.
  * @param  FLASH_TYPEERASE specifies the FLASH flags to clear.
  *          This parameter can be any combination of the following values:
  *            @arg @ref FLASH_TYPEERASE_PAGES         PAGES Erase
  *            @arg @ref FLASH_TYPEERASE_MASSERASE      FLASH Write protected error flag
  * @retval none*/
__STATIC_INLINE void LL_FLASH_DisenableErase(FLASH_TypeDef *FLASHx,uint32_t FLASH_TYPEERASE)
{
  CLEAR_BIT(FLASHx->CR, FLASH_TYPEERASE);
}
/*EnableProgram*/
__STATIC_INLINE void LL_FLASH_EnableProgram(FLASH_TypeDef *FLASHx)
{
  SET_BIT(FLASHx->CR,FLASH_CR_PG);
}
/*DisenableProgram*/
__STATIC_INLINE void LL_FLASH_DisenableProgram(FLASH_TypeDef *FLASHx)
{
  CLEAR_BIT(FLASHx->CR,FLASH_CR_PG);
}
/*read flash's states of lock or unlock*/
__STATIC_INLINE FlashStates LL_FLASH_LockState(FLASH_TypeDef *FLASHx)
{
    return (FlashStates)(READ_BIT(FLASHx->CR,FLASH_CR_LOCK));
}
/*set key for flash*/
__STATIC_INLINE void LL_FLASh_SetKey(FLASH_TypeDef *FLASHx,uint32_t key)
{
    WRITE_REG(FLASH->KEYR,key);
}
ErrorStatus LL_Flash_Unlock(void);
ErrorStatus LL_Flash_PageErase(void * page_addr,uint16_t NbPages);
ErrorStatus LL_FLASH_Program(ProgaramDataType ProgramType,uint32_t flash_addr,uint64_t data);
#endif  /* __STM32F0xx_LL_FLASH_EX_H  */
Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_flash.c
New file
@@ -0,0 +1,78 @@
#include "stm32f0xx_ll_flash.h"
void static LL_FLASH_Program_TwoBtye(uint32_t flash_addr,uint16_t data)
{
    LL_FLASH_EnableProgram(FLASH);
    *(__IO uint16_t*)(flash_addr) = data;
}
ErrorStatus LL_Flash_Unlock(void)
{
    while (LL_FLASH_IsActiveFlag_BSY(FLASH))
    {
    }
    if (LL_FLASH_LockState(FLASH))
    {
        LL_FLASh_SetKey(FLASH,FLASH_KEY1);
        LL_FLASh_SetKey(FLASH,FLASH_KEY2);
    }
    return SUCCESS;
}
ErrorStatus LL_Flash_PageErase(void * page_addr,uint16_t Nb)
{
    uint32_t End_addr =  Nb* FLASH_PAGE_SIZE + (uint32_t)page_addr;
    uint32_t Start_addr = (uint32_t)page_addr;
    for(;Start_addr < End_addr;(Start_addr += FLASH_PAGE_SIZE))
    {
        LL_FLASH_SetTypeErase(FLASH,LL_FLASH_TYPEERASE_PAGES);
        LL_FLASH_SetEraseADDR(FLASH,Start_addr);
        LL_FLASH_StartErase(FLASH);
        while (LL_FLASH_IsActiveFlag_BSY(FLASH))
        {
        }
        if (LL_FLASH_IsActiveFlag_EOP(FLASH))
        {
            LL_FLASH_ClearFlag_EOP(FLASH);;
        }
        else
        {
            return ERROR;
        }
        LL_FLASH_DisenableErase(FLASH,LL_FLASH_TYPEERASE_PAGES);
    }
    return SUCCESS;
}
ErrorStatus LL_FLASH_Program(ProgaramDataType ProgramType,uint32_t flash_addr,uint64_t data)
{
    uint8_t index = 0U;
    uint8_t nbiterations = 0U;
    if(ProgramType == ProgaraType_DATA16)
        nbiterations = 1U;
    else if(ProgramType == ProgaraType_DATA32)
        nbiterations = 2U;
    else
        nbiterations = 4U;
    for(index = 0U; index < nbiterations; index++)
    {
         LL_FLASH_Program_TwoBtye((flash_addr + (2U*index)), (uint16_t)(data >> (16U*index)));
    }
    while (LL_FLASH_IsActiveFlag_BSY(FLASH))
    {
    }
    if (LL_FLASH_IsActiveFlag_EOP(FLASH))
    {
        LL_FLASH_ClearFlag_EOP(FLASH);
    }
    else
    {
        return ERROR;
    }
    LL_FLASH_DisenableProgram(FLASH);
    return SUCCESS;
}
Ext_FP0/Inc/FP0.h
File was deleted
Ext_FP0/Src/FP0.c
File was deleted
Ext_FP0/Src/main.c
File was deleted
Ext_FPx/Inc/BoardType.h
Ext_FPx/Inc/FPx.h
New file
@@ -0,0 +1,165 @@
/**
  ******************************************************************************
  * @file           : FPx.h
  * @brief          : Header for FPx.c file.
  *                   This file contains the function defines of the FPx .
  ******************************************************************************
    */
#ifndef __FPX_H__
#define __FPX_H__
#include "main.h"
enum enCMD_TYPE
{
    CMD_0_QUERY =0,
    CMD_1=0x1,    //
    CMD_2=0x2,    //
    CMD_3_EXCHG=0x3,    //
    CMD_4=0x4,    //
    CMD_5=0x5,    //
    CMD_6=0x6,    //
    CMD_7_END=0x7,    //
};
typedef struct tagFPxPinStat
{
    unsigned short OE:1;
    unsigned short RST:1;
    unsigned short SYN:1;
    unsigned short ACK:1;
    unsigned short SEL:1;
}stFPxPinStat;
#define RST_PORT GPIOB
#define RST_PIN LL_GPIO_PIN_9
#define SYN_PORT GPIOF
#define SYN_PIN LL_GPIO_PIN_6
#define ACK_PORT GPIOA
#define ACK_PIN LL_GPIO_PIN_11
#define FPxDE_PORT GPIOF
#define FPxDE_PIN LL_GPIO_PIN_7
#define OE_PORT GPIOB
#define OE_PIN LL_GPIO_PIN_6
#define SEL_PORT GPIOB
#define SEL_PIN LL_GPIO_PIN_8
#define FPX_WX_NUM 16
#define FPX_WY_NUM 16
#define GetRSTPin() LL_GPIO_IsInputPinSet(RST_PORT,RST_PIN)
#define GetSYNPin() LL_GPIO_IsInputPinSet(SYN_PORT,SYN_PIN)
#define GetOEPin() LL_GPIO_IsInputPinSet(OE_PORT,OE_PIN)
#define GetSELPin() (1) //LL_GPIO_IsInputPinSet(SEL_PORT,SEL_PIN)
#define GetACKPin() LL_GPIO_IsInputPinSet(ACK_PORT,ACK_PIN)
#define SetACKPin_0() LL_GPIO_ResetOutputPin(ACK_PORT,ACK_PIN)
#define SetACKPin_1() LL_GPIO_SetOutputPin(ACK_PORT,ACK_PIN)
#define SetFPxDEPin_0() LL_GPIO_ResetOutputPin(FPxDE_PORT,FPxDE_PIN)
#define SetFPxDEPin_1() LL_GPIO_SetOutputPin(FPxDE_PORT,FPxDE_PIN)
typedef void *(*FPxCBFuncDef) (int nEvent, void * pBuf, int);    //callback func ,prama s is  void *,void *,int; return void *;
// extern uint8_t PktBuf1[64];
extern uint8_t PktBuf2[64];
extern uint8_t PktLen1;
extern uint8_t PktLen2;
typedef struct tagFPxStat{
    uint8_t bConfiged;
    uint8_t nConfigStationId;
    uint8_t nInputBytes;
    uint8_t nOutputBytes;
    uint8_t bReceiving;
    uint8_t nReceivedLen;
    uint8_t bSending;
    uint8_t bSentLen;
    volatile uint8_t oldSYN;
    int RSTCount0;
    int bFirstReq;
    FPxCBFuncDef FPxCBFunc;
    uint8_t bFPxCallBackFuncSet;
}stFPxStat;
extern stFPxStat FPxStat;
#pragma anon_unions
typedef struct tagFPxMem{
    union {
    unsigned short WLX[16];        //虚拟的X和Y,远程通讯时映射用。
    unsigned char WLXB[32];        //虚拟的X和Y,远程通讯时映射用。
    };
    union {
    unsigned short WLY[16];        //虚拟的X和Y,远程通讯时映射用。
    unsigned char WLYB[32];        //虚拟的X和Y,远程通讯时映射用。
    };
}stFPxMem;
extern stFPxMem FPxMem;
typedef struct tagFPxQuRplyPkt
{
    uint8_t Hdr1;
    uint8_t nInputBytes;
    uint8_t nOutputBytes;
    uint8_t nParam1;
    uint8_t nBCC;
    uint8_t End1;
}stFPxQuRplyPkt, *pFPxQuRplyPkt;
typedef struct tagFPxEXGRplyPkt
{
    uint8_t Hdr1;
    uint8_t nInputBytes[6];
    uint8_t nBCC;
    uint8_t End1;
}stFPxEXGRplyPkt, * pFPxEXGRplyPkt;
uint8_t FPx_Init(int nChilds);
uint8_t FPx_SetIOCount(int nInputBytes, int nOutputBytes);
uint8_t FPx_Proc(void);
uint8_t FPxCalBCC(uint8_t* pBuf, uint8_t len1);
uint8_t FPxCheckPkt(uint8_t * pBuf, uint8_t len1);
uint8_t FPxParsePkt(uint8_t * pBuf, uint8_t len1);
uint8_t FPxSendPkt(uint8_t * pBuf, uint8_t len1);
int FPxSetCallBackFunc(FPxCBFuncDef Func1);
enum enumFPxCallBackEvent
{
    evFPxNone = 0,
    evFPxCreate = 1,
    evFPxConnected = 2,
    evFPxDisConnected = 3,
    evFPxClosed = 4,
    evFPxStateChange =5,
    evFPxTimeSync=6,
    evFPxDataUpdate =7,
};
#endif  /* __FPX_H__ */
Ext_FPx/Inc/main.h
New file
@@ -0,0 +1,94 @@
/**
  ******************************************************************************
  * @file           : main.h
  * @brief          : Header for main.c file.
  *                   This file contains the common defines of the application.
  ******************************************************************************
  ** This notice applies to any and all portions of this file
  * that are not between comment pairs USER CODE BEGIN and
  * USER CODE END. Other portions of this file, whether
  * inserted by the user or by software development tools
  * are owned by their respective copyright owners.
  *
  * COPYRIGHT(c) 2018 STMicroelectronics
  *
  * Redistribution and use in source and binary forms, with or without modification,
  * are permitted provided that the following conditions are met:
  *   1. Redistributions of source code must retain the above copyright notice,
  *      this list of conditions and the following disclaimer.
  *   2. Redistributions in binary form must reproduce the above copyright notice,
  *      this list of conditions and the following disclaimer in the documentation
  *      and/or other materials provided with the distribution.
  *   3. Neither the name of STMicroelectronics nor the names of its contributors
  *      may be used to endorse or promote products derived from this software
  *      without specific prior written permission.
  *
  * 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.
  *
  ******************************************************************************
  */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __MAIN_H__
#define __MAIN_H__
/* Includes ------------------------------------------------------------------*/
#include "BoardType.h"
#include "stm32f0xx_ll_adc.h"
#include "stm32f0xx_ll_iwdg.h"
#include "stm32f0xx_ll_crc.h"
#include "stm32f0xx_ll_dma.h"
#include "stm32f0xx_ll_spi.h"
#include "stm32f0xx_ll_usart.h"
#include "stm32f0xx_ll_rcc.h"
#include "stm32f0xx_ll_system.h"
#include "stm32f0xx_ll_gpio.h"
#include "stm32f0xx_ll_exti.h"
#include "stm32f0xx_ll_bus.h"
#include "stm32f0xx_ll_cortex.h"
#include "stm32f0xx_ll_tim.h"
#include "stm32f0xx_ll_utils.h"
#include "stm32f0xx_ll_pwr.h"
/* USER CODE BEGIN Includes */
/* USER CODE END Includes */
/* Private define ------------------------------------------------------------*/
/* ########################## Assert Selection ############################## */
/**
  * @brief Uncomment the line below to expanse the "assert_param" macro in the
  *        HAL drivers code
  */
/* #define USE_FULL_ASSERT    1U */
/* USER CODE BEGIN Private defines */
#include "KBus.h"
extern stKBusDef KBus1;
/* USER CODE END Private defines */
#ifdef __cplusplus
 extern "C" {
#endif
void _Error_Handler(char *, int);
#define Error_Handler() _Error_Handler(__FILE__, __LINE__)
#ifdef __cplusplus
}
#endif
#endif /* __MAIN_H__ */
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Ext_FPx/Inc/stm32f0xx_hal_conf.h
Ext_FPx/Inc/stm32f0xx_ll_rcc.h
Ext_FPx/Src/BoardType.c
Ext_FPx/Src/FPx.c
New file
@@ -0,0 +1,304 @@
/**
  ******************************************************************************
  * @file           : FPx.c
  * @brief          : FPx funcstions program body
  ******************************************************************************
    */
#include "globaldef.h"
#include "FPx.h"
#include "string.h"
#include "functions.h"
// uint8_t PktBuf1[64];
uint8_t PktBuf2[64];
uint8_t PktLen1=0;
uint8_t PktLen2=0;
/*
uint8_t bReceiving;
uint8_t nReceivedLen;
uint8_t bSending;
uint8_t bSentLen;
uint8_t bConfiged=0;
uint8_t nConfigStationId=0;
uint8_t nInputBytes=8;
uint8_t nOutputBytes=8;
uint8_t nIndex=0;
volatile uint8_t oldSYN=0;
int RSTCount0;
uint8_t bFirstReq = 0;
FPxCBFuncDef FPxCBFunc;
uint8_t bFPxCallBackFuncSet = 0;
*/
stFPxStat FPxStat;
stFPxMem FPxMem;
uint8_t FPx_Init(int nChilds)
{
    bSPI1Sending=0;
    bSPI1Recving=0;
    if (nChilds==0) {
    FPxStat.nInputBytes=1;        //根据子机数量,报告扩展容量
    FPxStat.nOutputBytes=1;
    } else if (nChilds ==1) {
        FPxStat.nInputBytes=3;        //只有一个子机也分配一个完整DT
        FPxStat.nOutputBytes=2;
    } else
    {
        FPxStat.nInputBytes=nChilds+1;        //根据子机数量,报告扩展容量
        FPxStat.nOutputBytes=nChilds;
    }
    SetACKPin_0();
    SetACKPin_0();
    SetFPxDEPin_0();
        HAL_Delay(10);
    FPxStat.RSTCount0=GetuS();
    return 0;
}
uint8_t FPx_SetIOCount(int nInputBytes, int nOutputBytes)
{
        FPxStat.nInputBytes=nInputBytes;        //设置扩展容量,字节单位
        FPxStat.nOutputBytes=nOutputBytes;
    return 0;
}
int FPxSetCallBackFunc(FPxCBFuncDef func1)
{
    FPxStat.FPxCBFunc = func1;
    FPxStat.bFPxCallBackFuncSet = 1;
    return 0;
}
uint8_t FPx_Proc()
{
        uchar CurRST=GetRSTPin();
        uchar CurSEL=GetSELPin();
        uchar CurSYN=GetSYNPin();
        uchar CurACK=GetACKPin();
        uchar CurOE=GetOEPin();
//        KMem.WY[4]=CurRST;
//        KMem.WY[5]=CurSEL;
//        KMem.WY[6]=CurSYN;
//        KMem.WY[7]=CurACK;
        if (CurOE) {
            for (int j=0;j<FPxStat.nOutputBytes;j++)
                {
                    FPxMem.WLYB[j]=0;
                }
                if (FPxStat.bFPxCallBackFuncSet) FPxStat.FPxCBFunc(evFPxStateChange,0,0);
                if (FPxStat.bFPxCallBackFuncSet) FPxStat.FPxCBFunc(evFPxDataUpdate,0,0);
            }
        if (!CurRST) {FPxStat.RSTCount0=GetuS();}
        if (!FPxStat.bFirstReq && CurRST)
        {
            int RSTCount = GetuS() - FPxStat.RSTCount0 ;
            if (RSTCount>=10000)
            {
                SetACKPin_1();
                FPxStat.bFirstReq=1;
            //    RSTCount=0;
        //    bSPI1Recving=1;
        //        KMem.WX[7]=RSTCount/1000;
            }
        }
    if (CurSYN ==0 && FPxStat.oldSYN != 0) {
        KMem.WDT[121] =    KMem.WDT[122];
        KMem.WDT[122]=0;
        }
    if (CurSEL && CurSYN !=0 && FPxStat.oldSYN == 0){
                bSPI1Recving=1;
                nSPI1RecvPos=0;
            LL_SPI_Disable(SPI2);
                nSPI1RecvPos=0;
                LL_SPI_Enable(SPI2);
        }
    if (CurSEL && CurSYN && !bSPI1Sending && !bSPI1Recving)
    {
                bSPI1Recving=1;
                nSPI1RecvPos=0;
    }
    if (CurSYN == 0){
        bSPI1Recving=0;
      nSPI1RecvPos=0;
    }
        FPxStat.oldSYN=CurSYN;
/*
        if (bSPI1RecvDone)
        {
            bSPI1RecvDone=0;
            ParsePkt(SPI1RecvBuf,nSPI1RecvLenInBuf);
        }
// */
    return 0;
}
uint8_t FPxCalBCC(uint8_t* pBuf, uint8_t len1)
{
    uint8_t BCC=0;
    for (int i=0;i<len1;i++)
    {
        BCC+=pBuf[i]&0x0f;
    }
    BCC&=0x0f;
    return BCC;
}
uint8_t FPxChecPkt(uint8_t * pBuf, uint8_t len1)
{
    uint8_t res=0;
    return res;
}
uint8_t FPxParsePkt(uint8_t * pBuf, uint8_t len1)
{
    uint8_t res=0;
    uint8_t nST=pBuf[0];
    uint8_t nCMD=nST&0x7;
    uint8_t nStationID=nST&0xf8;
    logData(0xff);
    if (nStationID<0x80) return 0;
    switch (nCMD)
    {
        case CMD_0_QUERY:
            if (!FPxStat.bConfiged || (FPxStat.bConfiged && nStationID == FPxStat.nConfigStationId))
        {
             KMem.WDT[8]++;
            pFPxQuRplyPkt p1 = (pFPxQuRplyPkt)PktBuf2;
            p1->Hdr1=nST;
            p1->nInputBytes=0x30|FPxStat.nInputBytes;
            p1->nOutputBytes=0x30|FPxStat.nOutputBytes;
            p1->nParam1=0x30|0x05;
            p1->nBCC= 0x30|FPxCalBCC(PktBuf2,4);
            p1->End1=0x0d;
            logData(0x11);
            FPxSendPkt(PktBuf2,sizeof(stFPxQuRplyPkt));
            FPxStat.nConfigStationId=nStationID;
            FPxStat.bConfiged=1;
                if (FPxStat.bFPxCallBackFuncSet) FPxStat.FPxCBFunc(evFPxStateChange,0,0);
        }
        bSPI1Recving=1;
            break;
        case CMD_1:
            KMem.WDT[9]++;
//            bSPI1Recving=1;
            break;
        case CMD_2:
            KMem.WDT[10]++;
//            bSPI1Recving=1;
            break;
        case CMD_3_EXCHG:
            if (!FPxStat.bConfiged || FPxStat.nConfigStationId != nStationID)
            {
                bSPI1Recving=1;
                break;
            }
             KMem.WDT[11]++;
        {
            for (int j=0;j<FPxStat.nOutputBytes;j++)
            {
                FPxMem.WLYB[j]=((pBuf[j*2 + 1]&0xf)<<4) + ((pBuf[j*2 + 2]&0xf)<<0);
            }
/* test
            for (int j=0;j<nOutputBytes;j++)
            {
                KMem.WYB[j]=(0xff);
            }
// */
            if (FPxStat.bFPxCallBackFuncSet) FPxStat.FPxCBFunc(evFPxDataUpdate,0,0);
            // KMem.WDT[2]=((pBuf[1]&0xf)<<4) + ((pBuf[2]&0xf)<<0) + ((pBuf[3]&0xf)<<12) + ((pBuf[4]&0xf)<<8);
            pFPxEXGRplyPkt p1 = (pFPxEXGRplyPkt)PktBuf2;
            p1->Hdr1=nST;
            for (int j=0;j<FPxStat.nInputBytes;j++)
            {
                p1->nInputBytes[j*2 + 0]=0x30|HiHofB(FPxMem.WLXB[j]); //((KMem.DT[0]>>4)&0x0f);
                p1->nInputBytes[j*2 + 1]=0x30|LoHofB(FPxMem.WLXB[j]); //((KMem.DT[0]>>0)&0x0f);
            }
            //p1->nInputBytes[0]=0x30|HiHofB(LoBofW(KMem.DT[0])); //((KMem.DT[0]>>4)&0x0f);
            //p1->nInputBytes[1]=0x30|LoHofB(LoBofW(KMem.DT[0])); //((KMem.DT[0]>>0)&0x0f);
            //p1->nInputBytes[2]=0x30|HiHofB(HiBofW(KMem.DT[0])); //((KMem.DT[0]>>12)&0x0f);
            //p1->nInputBytes[3]=0x30|LoHofB(HiBofW(KMem.DT[0])); //((KMem.DT[0]>>8)&0x0f);
            //p1->nInputBytes[4]=0x30|((KMem.DT[1]>>4)&0x0f);
            //p1->nInputBytes[5]=0x30|((KMem.DT[1]>>0)&0x0f);
            PktBuf2[FPxStat.nInputBytes*2 + 1 ]=0x30|FPxCalBCC(PktBuf2,FPxStat.nInputBytes*2+1);         //    p1->nBCC= 0x30|CalBCC(PktBuf2,7);
            PktBuf2[FPxStat.nInputBytes*2 + 2 ]=0x0d;        //        p1->End1=0x0d;
            FPxSendPkt(PktBuf2,FPxStat.nInputBytes*2 + 3);
        }
            bSPI1Recving=1;
        break;
        case CMD_4:
        KMem.WDT[12]++;
//            bSPI1Recving=1;
            break;
        case CMD_5:
         KMem.WDT[13]++;
//            bSPI1Recving=1;
            break;
        case CMD_6:
         KMem.WDT[14]++;
//            bSPI1Recving=1;
            break;
        case CMD_7_END:
         KMem.WDT[15]++;
            if (FPxStat.bConfiged && FPxStat.nConfigStationId == nStationID)
            {
                //SetFPxDEPin_0();
                SetACKPin_1();
            }
            bSPI1Recving=1;
            break;
        default:
         KMem.WDT[18]++;
            bSPI1Recving=1;
            break;
    }
     KMem.WDT[24+(len1&0x0f)]++;
    return res;
}
uint8_t FPxSendPkt(uint8_t * pBuf, uint8_t len1)
{
    uint8_t res=0;
    KMem.WR[len1&0x0f]++;
    if (!bSPI1Sending)
    {
        uint8_t value;
        memcpy(SPI1SendBuf,pBuf,len1);
        nSPI1ToSendLen=len1;
        nSPI1SentLen=0;
//        SetFPxDEPin_1();
//        SetACKPin_0();
        value = SPI1SendBuf[nSPI1SentLen];
        LL_SPI_TransmitData8(SPI1,value);
        bSPI1Sending=1;
    logData(value);
        // passive mode
        SetFPxDEPin_1();
        SetACKPin_0();
    }
    return res;
}
Ext_FPx/Src/main.c
New file
@@ -0,0 +1,794 @@
/**
  ******************************************************************************
  * @file           : main.c
  * @brief          : Main program body
  ******************************************************************************
  ** This notice applies to any and all portions of this file
  * that are not between comment pairs USER CODE BEGIN and
  * USER CODE END. Other portions of this file, whether
  * inserted by the user or by software development tools
  * are owned by their respective copyright owners.
  *
  * COPYRIGHT(c) 2018 STMicroelectronics
  *
  * Redistribution and use in source and binary forms, with or without modification,
  * are permitted provided that the following conditions are met:
  *   1. Redistributions of source code must retain the above copyright notice,
  *      this list of conditions and the following disclaimer.
  *   2. Redistributions in binary form must reproduce the above copyright notice,
  *      this list of conditions and the following disclaimer in the documentation
  *      and/or other materials provided with the distribution.
  *   3. Neither the name of STMicroelectronics nor the names of its contributors
  *      may be used to endorse or promote products derived from this software
  *      without specific prior written permission.
  *
  * 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.
  *
  ******************************************************************************
  */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "stm32f0xx_hal.h"
/* USER CODE BEGIN Includes */
#include "Globaldef.h"
#include "debug.h"
#include "Functions.h"
#include "KMachine.h"
#include "PLCfunctions.h"
//#include "KBus.h"
#include "KLink.h"
#include "string.h"
#include "BSP.h"
#include "ModbusRTU.h"
#if (BOARD_TYPE == 13)
#include "w5500_port.h"
#include "../src/Ethernet/socket.h"
#include "../src/Ethernet/loopback.h"
#elif (BOARD_TYPE == 14)
#include "FPx.h"
#elif (BOARD_TYPE == 15 || BOARD_TYPE == 16)
#include "KWireless.h"
//#include "user.h"
//#include "../src/radio/inc/sx126x-board.h"
#endif
/* USER CODE END Includes */
/* Private variables ---------------------------------------------------------*/
/* USER CODE BEGIN PV */
/* Private variables ---------------------------------------------------------*/
#define RX2BUFSIZE 64
#define TX2BUFSIZE 64
unsigned char Uart1RxBuf[128];
unsigned char Uart1TxBuf[260];
unsigned char Uart2RxBuf[RX2BUFSIZE];
unsigned char Uart2TxBuf[TX2BUFSIZE];
unsigned char SlowFlicker=0;
unsigned char FastFlicker=0;
unsigned int Uart1IdelTimer = 0;
stBinProg1 * pProgs = (stBinProg1 *)STORE_PRG_BASE;
uint32_t us1,us2,us3,us4,us5,us6;
stKBusDef KBus1;
#define RAM_START_ADDR 0x20000000
#define VECTOR_SIZE 45
#define  ApplicationAddress  0x08001000  //应用程序首地址定义
/*
static void RemapIrqVector(void)
{
    memcpy((void*)RAM_START_ADDR, (void *)ApplicationAddress, VECTOR_SIZE * 4);
    LL_APB1_GRP2_EnableClock(LL_APB1_GRP2_PERIPH_SYSCFG);
    LL_SYSCFG_SetRemapMemory(LL_SYSCFG_REMAP_SRAM);
}*/
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
/* USER CODE BEGIN PFP */
/* Private function prototypes -----------------------------------------------*/
const unsigned char LEDSEGTAB[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,    //0-F
0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1,  //0.-F.
0x00,0x40,            //  ,-,_,~,o,n,N,<,>,J,r,
};
/* USER CODE END PFP */
/* USER CODE BEGIN 0 */
int HexToInt(char ch)
{
    if (ch>='0' && ch <='9') return ch-'0';
    if (ch>='A' && ch <='F') return ch-'A'+10;
    if (ch>='a' && ch <='f') return ch-'a'+10;
    return 0;
}
void HAL_SYSTICK_Callback(void)
{
static int Count=0;
    CurTickuS += 100;
    nCurTick++;
    KBus1.nSlaveTick++;
    Count++;
    if (Count>=10000)
    {
        Count=0;
        KMem.CurTimeSec++;
        KMem.ThisRunTime++; KMem.TotalRunTime++;
        if (KMRunStat.bLEDFlick) KMRunStat.bLEDFlick--;
        if (KMRunStat.bLEDFlick >120) KMRunStat.bLEDFlick=120;
    }
    return;
}
void PendSvCallBack()
{
#if (BOARD_TYPE == 14)
///*
        if (bSPI1RecvDone)
        {
            bSPI1RecvDone=0;
            FPxParsePkt(SPI1RecvBuf,nSPI1RecvLenInBuf);
        }
//*/
#endif
    if (Uart2Stat.bPacketRecved)
    {
        KBusParsePacket(&KBus1, (pKBPacket)Uart2RecvBuf1, Uart2RecvBuf1DataLen);
        Uart2RecvBuf1DataLen=0;
        Uart2Stat.bPacketRecved=0;
        Uart2RecvDMA(Uart2RecvBuf1,sizeof(Uart2RecvBuf1));
    }
}
/*
FPx通讯回调函数,当通讯状态改变或数据更新时被调用。
*/
void * FPxCallBackFunc(int nEvent, void * pBuf, int nLen1)
{
    switch (nEvent){
        case evFPxNone:
            break;
        case evFPxCreate:
            break;
        case evFPxConnected:
            break;
        case evFPxDisConnected:
            break;
        case evFPxClosed:
            break;
        case evFPxStateChange:
            break;
        case evFPxTimeSync:
            break;
        case evFPxDataUpdate:
            for (int i=0;i<16;i++){
                    KBusMem.WLY[i]=FPxMem.WLY[i];
            }
            for (int i=0;i<16;i++) {
                FPxMem.WLX[i]=KBusMem.WLX[i];
            }
//            KBusMem.WLY[0]=0x0301;
            break;
        default:
            break;
    }
    return 0;
}
/*
KBus通讯回调函数,当通讯状态改变或数据更新时被调用。
或者系统请求时。
*/
void * KBusEvCallBackFunc(void*  pParam, int nEvent, void *pBuf, int nLen1)
{
    switch (nEvent){
        case KBusEvNone:
            break;
        case KBusEvCreate:
            break;
        case KBusEvConnected:
            break;
        case KBusEvDisConnected:
            break;
        case KBusEvClosed:
            break;
        case KBusEvStateChange:
            break;
        case KBusEvTimeSync:
            break;
        case KBusEvDataUpdate:
            for (int i=0;i<16;i++){
                    KBusMem.WLY[i]=FPxMem.WLY[i];
            }
            for (int i=0;i<16;i++) {
                KMem.WLX[i]=KBusMem.WLX[i];
                FPxMem.WLX[i]=KBusMem.WLX[i];
            }
//             KBusMem.WLY[0]=0x0301;
            break;
        default:
            break;
    }
    return 0;
}
/* USER CODE END 0 */
/**
  * @brief  The application entry point.
  *
  * @retval None
  */
int main(void)
{
  /* USER CODE BEGIN 1 */
//    RemapIrqVector();
///*
      __set_PRIMASK(0);    //打开全局中断
    KMRunStat.bLEDFlick = 1;
    InitUartstat(&Uart1Stat,Uart1RxBuf,sizeof(Uart1RxBuf),Uart1TxBuf,sizeof(Uart1TxBuf));
    InitUartstat(&Uart2Stat,Uart2RxBuf,sizeof(Uart2RxBuf),Uart2TxBuf,sizeof(Uart2TxBuf));
  /* USER CODE END 1 */
  /* MCU Configuration----------------------------------------------------------*/
  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();
  /* USER CODE BEGIN Init */
        KMem.LastScanTime=0;
        KMem.ScanTimeuS=0;
        KMem.MinScanTimeuS=99999;
        KMem.MaxScanTimeuS=0;
//        KMem.SDD[14]=(unsigned int)&KMStoreSysCfg;
//        KMem.SDD[15]=(unsigned int)&KMStoreSysCfg1;
        KMem.SDD[12]=((uint32_t *)UID_BASE)[0];
//        KMem.SDD[13]=((uint32_t *)UID_BASE)[1];
//        KMem.SDD[14]=((uint32_t *)UID_BASE)[2];
        KMem.SDD[13]=PendSvCount;
        KMem.SDD[14]=RCC->CSR;
//        KMem.SDD[15]=*(uint32_t *)FLASHSIZE_BASE;
//        KMem.SDD[16]=(unsigned int)&KMSysCfg;
  /* USER CODE END Init */
  /* Configure the system clock */
  SystemClock_Config();
  /* USER CODE BEGIN SysInit */
    TickFreq=10000;        //Tick频率
    InituS(TickFreq);
 // HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/TickFreq);    //重新定义SysTick的频率
  /* USER CODE END SysInit */
  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_DMA_Init();
    KMachineInit();
    ReadSysCfgFromFlash(&storedKMSysCfg);
    KMRunStat.bLEDFlick = 1;
    int bKBusMaster,bKBusSlave,bKBusRepeater;;
    int nChilds;
    KMem.CurJumperSW=ReadJumperSW();
    KMem.EffJumperSW=KMem.CurJumperSW;
    nChilds=KMem.EffJumperSW&0x0f;
//    Uart2Baud = AlterUart2Baud;
    KBusSetEvCallBackFunc(&KBus1, &KBusEvCallBackFunc),
    KBusInitMaster(&KBus1, (KBusSendPktFuncDef)PutStr2, nChilds);
#if (BOARD_TYPE == 14)
    KMem.EffJumperSW|=0x10;
    nChilds=KMem.EffJumperSW&0x0f;
  if ((KMem.EffJumperSW&0x10)!=0) {bKBusMaster=1;bKBusSlave=0;}
    else{bKBusMaster=0;bKBusSlave=1;}
    FPxSetCallBackFunc(&FPxCallBackFunc);
    FPx_Init(nChilds);
    FPx_SetIOCount(8,5);
#elif (BOARD_TYPE == 15 || BOARD_TYPE == 16)
    nStationID=1 ;//KMem.EffJumperSW&0x0f;
//    if (KMem.EffJumperSW == 0x1f) {bKBusRepeater=1;bKBusMaster=1;bKBusSlave=0;}
//  else if ((KMem.EffJumperSW&0x10)!=0) {bKBusMaster=1;bKBusSlave=0;}
//    else
        {bKBusMaster=0;bKBusSlave=1;}
#else
    nStationID=KMem.EffJumperSW&0x0f;
    if (KMem.EffJumperSW == 0x1f) {bKBusRepeater=1;bKBusMaster=1;bKBusSlave=0;}
  else if ((KMem.EffJumperSW&0x10)!=0) {bKBusMaster=1;bKBusSlave=0;}
    else{bKBusMaster=0;bKBusSlave=1;}
#endif
    //if (KMem.EffJumperSW == 0x00)
        Uart1Baud = DefaultUart1Baud;
  MX_USART1_UART_Init();
  MX_USART2_UART_Init();
    MX_SPI1_Init();
    LL_SPI_EnableIT_RXNE(SPI1);
#if (BOARD_TYPE == 14)
//    MX_SPI2_Init();
//  MX_ADC_Init();
#else
    MX_SPI2_Init();
  MX_ADC_Init();
#endif
    MX_IWDG_Init();
    MX_TIM6_Init();
    LL_TIM_EnableCounter(TIM6);
  /* USER CODE BEGIN 2 */
    LL_USART_EnableIT_RXNE(USART1);
    LL_USART_EnableIT_IDLE(USART1);
    LL_USART_EnableIT_TC(USART1);
//    LL_USART_EnableIT_RXNE(USART2);
    Uart2RecvDMA(Uart2RecvBuf1,sizeof(Uart2RecvBuf1));
    LL_USART_EnableIT_IDLE(USART2);
    LL_USART_EnableIT_TC(USART2);
#if (BOARD_TYPE == 13)
    int res;
    res = w5500_init();
    KMem.SDD[28]=res;
//    res=socket(0,Sn_MR_TCP,5000,0);
    KMem.SDD[29]=res;
//    res = listen(0);
#endif
//    if (bKBusSlave)
    {
    //    LL_USART_EnableAutoBaudRate(USART1);
    //    LL_USART_SetAutoBaudRateMode(USART1, LL_USART_AUTOBAUD_DETECT_ON_FALLINGEDGE);
    //    LL_USART_EnableAutoBaudRate(USART2);
    //    LL_USART_SetAutoBaudRateMode(USART2, LL_USART_AUTOBAUD_DETECT_ON_FALLINGEDGE);
    }
    //LL_USART_EnableIT_TXE(USART1);
  /* USER CODE END 2 */
  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
    HAL_Delay(10);
    SetRunLed(1);                //Turn On Run Led
    SetErrLed(0);                //Turn Off Err Led
#if (BOARD_TYPE == 14)
//    PutOutput (0);                    //Clear all Output
//    Enable595(1);                        //Enable 595 Output
#else
    PutOutput (0);                    //Clear all Output
    Enable595(1);                        //Enable 595 Output
#endif
        if (GetBoardType() == 7 || GetBoardType() ==8
            || GetBoardType() == 9 || GetBoardType() ==10 ||GetBoardType() ==13 ||GetBoardType() ==15 || BOARD_TYPE == 16)
        {
            displayInput(0xffff);        //
            EnableDisIn(1);                //Input Diaplay Enable 595
        }
    SetOutStat(0);            //OK Good, signal
    ShowInitInfo();
    KMem.LastScanTime = GetuS();
    KMRunStat.WorkMode=0;
    KMRunStat.WorkMode2=0;
    KMRunStat.WorkMode = storedKMSysCfg.theKMSysCfg.workmode;
    if (KMRunStat.WorkMode == 1){
        InitPLC();
        KMRunStat.WorkMode2 = KMem.CurJumperSW&0x20 ;
        if (KMRunStat.WorkMode2) {
            StartPLC(); }
    }
#if (BOARD_TYPE == 15 || BOARD_TYPE == 16)
    KWireLessInit(KMem.EffJumperSW&0x20,KMem.EffJumperSW&0x0f);
    KWireLessStart();
#endif
  while (1)
  {
        //int MyKeyStat1,MyKeyStat2;
        //MyKeyStat1=GetInput();
        //*((unsigned int *)&(PLCMem.SDT[10]))=nRunCount;
    //    KMem.nRunCount=nRunCount;
        SlowFlicker=0;
        FastFlicker=1;
        us1=GetuS();
        int haltick=HAL_GetTick();
        int thisJumperSW=ReadJumperSW();
        if (KMRunStat.WorkMode&1){
            if (thisJumperSW&0x20 && !(KMem.CurJumperSW&0x20))  // Run 开关 正 跳变。
            {StartPLC();}
            if (!(thisJumperSW&0x20) && (KMem.CurJumperSW&0x20))  // Run 开关 负 跳变。
            {StopPLC();}
        }
        KMem.CurJumperSW=thisJumperSW;
        KMem.haltick=haltick;
//        KMem.TotalRunTime=TotalRunTime;
//        KMem.ThisRunTime=ThisRunTime;
//        *((unsigned int *)&(PLCMem.SDT[2]))=nChilds;
//        KMem.SDD[13]=PendSvCount;
//        KMem.SDD[14]=RCC->CSR;
        int a;
        a        = LL_GPIO_ReadInputPort(GPIOA);
        KMem.WDT[120]=a;
        a        = LL_GPIO_ReadInputPort(GPIOB);
        KMem.WDT[121]=a;
        a        = LL_GPIO_ReadInputPort(GPIOC);
        KMem.WDT[122]=a;
        a        = LL_GPIO_ReadInputPort(GPIOD);
        KMem.WDT[123]=a;
#if (BOARD_TYPE == 14)
//        KMem.WX[0]= GetInput();
        FPx_Proc();
//        KMem.WYB[0]++;
//        KMem.WYB[1]++;
#else
        KMem.WX[0]= GetInput();
#endif
        if (GetBoardType() == 7 || GetBoardType() ==8
            || GetBoardType() == 9 || GetBoardType() ==10 || GetBoardType() ==15 || GetBoardType() ==16)
        {
            displayInput(KMem.WX[0]);
        }
        us2=GetuS();
/*
        if (PowerDownEvent) {        KMem.WX[0]=0;}
        if ((KMem.nRunCount &0x1f) == 0x02)
        {
            ADCProcess();
            if (PowerDownEvent)
            {
                KMem.WX[0]=0;
                if (!OldPowerDownEvent)
                {
                    OldPowerDownEvent = PowerDownEvent;
                    OldPowerDownEventTime = nCurTick;
                    PowerDownProcess();
                }
            }else
            {
                if (OldPowerDownEvent)
                {
                    OldPowerDownEvent=PowerDownEvent;
                    PowerRecoverProcess();
                }
            }
        }
// */
#if (BOARD_TYPE == 15 || BOARD_TYPE == 16)
        Radio.IrqProcess( ); // Process Radio IRQ
        KWL_Process(1);
#endif
//        pProgs = (stBinProg1 *) STORE_PRG_BASE;
        if (    KMRunStat.WorkMode==1 ) //&& bKBusMaster)
        {
            if (KMRunStat.nBinProgBank == 0){
                pProgs=(stBinProg1 *)STORE_PRG_BASE;
            }else {
                pProgs=(stBinProg1 *)ALT_PRG_BASE;
            }
            nSizeProg1=KMRunStat.nBinProgSize;
        //    pProgs=(stBinProg1 *)prog1;
            ProcessPLCBinProg(pProgs, nSizeProg1);
        }
        KMem.ScanTimeuS=us2-KMem.LastScanTime;
        KMem.LastScanTime = us2;
        if (KMem.ScanTimeuS < KMem.MinScanTimeuS) {KMem.MinScanTimeuS = KMem.ScanTimeuS;}
        if (KMem.ScanTimeuS > KMem.MaxScanTimeuS) {KMem.MaxScanTimeuS = KMem.ScanTimeuS;}
        //        if (bKBusRepeater)        {    KBusRepeaterFunc();    }
        us3=GetuS();
        if (bKBusMaster)
        {
#if (BOARD_TYPE == 14)
            for (int i=0;i<FPxStat.nOutputBytes;i++)
            {KBusMem.WLYB[i]=FPxMem.WLYB[i];}
#endif
            if (nChilds>0) {        KBusMasterFunc(&KBus1); }
        }
            if (haltick&0x00002000) SlowFlicker=1;
            else SlowFlicker=0;
            if (haltick&0x00000800) FastFlicker=1;
            else FastFlicker=0;
        if (bKBusSlave)
        {
            KBusSlaveFunc(&KBus1);
            if (KBus1.nSlaveTick&0x00002000) SlowFlicker=1;
            else SlowFlicker=0;
            if (KBus1.nSlaveTick&0x00000800) FastFlicker=1;
            else FastFlicker=0;
        }
//        KMem.WY[0]=nCount2>>5;
        if (KMem.RunStat) {KMem.RunStat--;}
        if (KMem.ErrStat) {KMem.ErrStat--;}
        if (KMRunStat.bLEDFlick)
        {
            SetRunLed(FastFlicker);
            SetErrLed(FastFlicker);
            SetErr2Led(FastFlicker);
            SetOutStat(!FastFlicker);
            //KMRunStat.bLEDFlick-- ;
        }
        else
        {
            if (KMRunStat.WorkMode==1 ) {
                if (PLCMem.bPLCRunning){SetRunLed(SlowFlicker);}
                    else {SetRunLed(0);}
            }
            else {
                    if (!KBus1.RunStat) SetRunLed(SlowFlicker);
                    else SetRunLed(FastFlicker);
            }
            if (!KBus1.ErrStat)
            {
                SetErrLed(0);
                SetErr2Led(0);
                SetOutStat(1);
            }
            else
            {
                SetErrLed(FastFlicker);
                SetErr2Led(FastFlicker);
                SetOutStat(0);
            }
        }
//        SetRunLed(RunStat);
//        SetErrLed(ErrStat);
        us4=GetuS();
//        EffJumperSW = GetInput(20)&0xff;
#if (BOARD_TYPE == 15 || BOARD_TYPE == 16)
        if ((KMem.EffJumperSW&0x10)==0x10) {
            KMem.WFY[1]=KMem.WLY[0];
            KMem.WLX[0]=KMem.WFX[1];
        }else
        {
            KMem.WFY[1]=KMem.WX[0];
            KMem.WY[0]=KMem.WFX[1];
        }
//    KMem.WY[0]=KMem.WLY[0];
#elif (BOARD_TYPE == 14)
#else
        KMem.WLX[0]=KMem.WX[0];
        KMem.WY[0]=KMem.WLY[0];
#endif
        us5=GetuS();
#if (BOARD_TYPE == 14)
//        PutOutput (KMem.WY[0]);
#else
        PutOutput (KMem.WY[0]);
#endif
        //PutOutput (KMem.nRunCount>>8);
        //PutOutput(0x0f70);
//        if (bKBusMaster) ShowInfo();
//        if (bKBusSlave) ShowInfo();
        us6=GetuS();
        add1(10,10);
        for (int i=0;i<64;i++)
        {
//            ProcessTimer(i);
        }
        KMem.nRunCount++;
//        int nSize=sizeof(stKBusChnStat);
//        memcpy(&KMem.SDT[64],&KBusChnStats[1],nSize);
//        memcpy(&KMem.SDT[64+nSize/2],&KBusChnStats[2],nSize);
//        for (int i=0;i<128;i++)    {        SDT[i]=i;    }
//        SDT[48]=55;
        if (Uart1RecvBuf1DataLen >0 && Uart1Stat.bPacketRecved)
        {
            int res1 = -1;
            res1 = ModBusSlaveParsePkg(1, Uart1RecvBuf1, Uart1RecvBuf1DataLen);
            if (res1 !=0)
            {
                KLParsePacket(1, Uart1RecvBuf1, Uart1RecvBuf1DataLen);
            }
            Uart1RecvBuf1DataLen=0;
            Uart1Stat.bPacketRecved=0;
            Uart1IdelTimer = 0;
        }else {
            if (Uart1IdelTimer>600000) { // 超过60秒没有数据传输,重新进入自适应波特率状态
                LL_USART_EnableAutoBaudRate(USART1);
                LL_USART_SetAutoBaudRateMode(USART1, LL_USART_AUTOBAUD_DETECT_ON_FALLINGEDGE);
            }else {
                    Uart1IdelTimer++;
            }
        }
 if (bKBusSlave)    HAL_Delay(0);
/*
        if (!IsEmpty(&Uart1Stat.QRx))
        {
            unsigned char k=PopOne(&Uart1Stat.QRx);
            if (k=='L')
            {
                clearscreen();
            }
        }
*/
#if (BOARD_TYPE == 14)
const unsigned int pins[6]= {        LL_GPIO_PIN_10,LL_GPIO_PIN_11,LL_GPIO_PIN_12,LL_GPIO_PIN_13,LL_GPIO_PIN_14,LL_GPIO_PIN_15};
        //process 6 output
        {
                // mapping bits.
            for (int i=0;i<6;i++)
            {
                USHORT bitaddr = storedKMSysCfg.theKMSysCfg.OutMappings[i];
                UCHAR type =  (bitaddr&0xf000) >>12;
                USHORT byteaddr = (bitaddr&0x0ff0) >>4;
                UCHAR bitpos = bitaddr &0x0f;
                UCHAR bitvalue = 0 ;
                if (byteaddr>0) {
                    if (type == 0) bitvalue = KMem.WXB[byteaddr-1] & ( 1 << bitpos );
                    else if (type == 1 ) bitvalue = KMem.WYB[byteaddr-1] & ( 1 << bitpos );
                }
                if (bitvalue){ LL_GPIO_SetOutputPin(GPIOB,pins[i]);}
                else {LL_GPIO_ResetOutputPin(GPIOB,pins[i]);}
            }
        }
#endif
/*
        {
        unsigned char pos,seg;
        unsigned short val;
        pos=((KMem.nRunCount)&0x3);
        //val=(KMem.nRunCount)&0xfff;
        val=KMem.ErrStat;
        char buf5[20];
        sprintf(buf5,"%4d",val);
        val=buf5[3-pos];
        if (val <'0' || val >'9') {seg=0;}
        else {seg=LEDSEGTAB[val-'0'];}
        pos=1<<pos;
        //pos=1;
        //seg=2;
        seg=~seg;
        //    PutOutputSPI1(pos|(seg<<8));
    }
*/
#if (BOARD_TYPE == 13)
     w5500_network_info_show();
//     loopback_tcps(0,str1,5000);
#endif
     LL_IWDG_ReloadCounter(IWDG);
  }    //while (1) ;
  /* USER CODE END WHILE */
  /* USER CODE BEGIN 3 */
  /* USER CODE END 3 */
}
/* USER CODE BEGIN 4 */
/* USER CODE END 4 */
/**
  * @brief  This function is executed in case of error occurrence.
  * @param  file: The file name as string.
  * @param  line: The line in file as a number.
  * @retval None
  */
void _Error_Handler(char *file, int line)
{
  /* USER CODE BEGIN Error_Handler_Debug */
  /* User can add his own implementation to report the HAL error return state */
  while(1)
  {
  }
  /* USER CODE END Error_Handler_Debug */
}
#ifdef  USE_FULL_ASSERT
/**
  * @brief  Reports the name of the source file and the source line number
  *         where the assert_param error has occurred.
  * @param  file: pointer to the source file name
  * @param  line: assert_param error line source number
  * @retval None
  */
void assert_failed(uint8_t* file, uint32_t line)
{
  /* USER CODE BEGIN 6 */
  /* User can add his own implementation to report the file name and line number,
     tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
  /* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
/**
  * @}
  */
/**
  * @}
  */
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Ext_FPx/Src/main.c.old
New file
@@ -0,0 +1,705 @@
/**
  ******************************************************************************
  * @file           : main.c
  * @brief          : Main program body
  ******************************************************************************
  ** This notice applies to any and all portions of this file
  * that are not between comment pairs USER CODE BEGIN and
  * USER CODE END. Other portions of this file, whether
  * inserted by the user or by software development tools
  * are owned by their respective copyright owners.
  *
  * COPYRIGHT(c) 2018 STMicroelectronics
  *
  * Redistribution and use in source and binary forms, with or without modification,
  * are permitted provided that the following conditions are met:
  *   1. Redistributions of source code must retain the above copyright notice,
  *      this list of conditions and the following disclaimer.
  *   2. Redistributions in binary form must reproduce the above copyright notice,
  *      this list of conditions and the following disclaimer in the documentation
  *      and/or other materials provided with the distribution.
  *   3. Neither the name of STMicroelectronics nor the names of its contributors
  *      may be used to endorse or promote products derived from this software
  *      without specific prior written permission.
  *
  * 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.
  *
  ******************************************************************************
  */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "stm32f0xx_hal.h"
/* USER CODE BEGIN Includes */
#include "Globaldef.h"
#include "debug.h"
#include "Functions.h"
#include "KMachine.h"
#include "PLCfunctions.h"
//#include "KBus.h"
#include "KLink.h"
#include "string.h"
#include "BSP.h"
#include "ModbusRTU.h"
#if (BOARD_TYPE == 13)
#include "w5500_port.h"
#include "../src/Ethernet/socket.h"
#include "../src/Ethernet/loopback.h"
#elif (BOARD_TYPE == 14)
#include "FPx.h"
#elif (BOARD_TYPE == 15 || BOARD_TYPE == 16)
#include "KWireless.h"
//#include "user.h"
//#include "../src/radio/inc/sx126x-board.h"
#endif
/* USER CODE END Includes */
/* Private variables ---------------------------------------------------------*/
/* USER CODE BEGIN PV */
/* Private variables ---------------------------------------------------------*/
#define RX2BUFSIZE 64
#define TX2BUFSIZE 64
unsigned char Uart1RxBuf[128];
unsigned char Uart1TxBuf[260];
unsigned char Uart2RxBuf[RX2BUFSIZE];
unsigned char Uart2TxBuf[TX2BUFSIZE];
unsigned char SlowFlicker=0;
unsigned char FastFlicker=0;
unsigned int Uart1IdelTimer = 0;
stBinProg1 * pProgs = (stBinProg1 *)STORE_PRG_BASE;
uint32_t us1,us2,us3,us4,us5,us6;
stKBusDef KBus1;
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
/* USER CODE BEGIN PFP */
/* Private function prototypes -----------------------------------------------*/
const unsigned char LEDSEGTAB[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,    //0-F
0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1,  //0.-F.
0x00,0x40,            //  ,-,_,~,o,n,N,<,>,J,r,
};
/* USER CODE END PFP */
/* USER CODE BEGIN 0 */
int HexToInt(char ch)
{
    if (ch>='0' && ch <='9') return ch-'0';
    if (ch>='A' && ch <='F') return ch-'A'+10;
    if (ch>='a' && ch <='f') return ch-'a'+10;
    return 0;
}
void HAL_SYSTICK_Callback(void)
{
static int Count=0;
    CurTickuS += 100;
    nCurTick++;
    KBus1.nSlaveTick++;
    Count++;
    if (Count>=10000)
    {
        Count=0;
        KMem.CurTimeSec++;
        KMem.ThisRunTime++; KMem.TotalRunTime++;
        if (KMRunStat.bLEDFlick) KMRunStat.bLEDFlick--;
        if (KMRunStat.bLEDFlick >120) KMRunStat.bLEDFlick=120;
    }
    return;
}
/* USER CODE END 0 */
/**
  * @brief  The application entry point.
  *
  * @retval None
  */
int main(void)
{
  /* USER CODE BEGIN 1 */
    KMRunStat.bLEDFlick = 1;
    InitUartstat(&Uart1Stat,Uart1RxBuf,sizeof(Uart1RxBuf),Uart1TxBuf,sizeof(Uart1TxBuf));
    InitUartstat(&Uart2Stat,Uart2RxBuf,sizeof(Uart2RxBuf),Uart2TxBuf,sizeof(Uart2TxBuf));
  /* USER CODE END 1 */
  /* MCU Configuration----------------------------------------------------------*/
  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();
  /* USER CODE BEGIN Init */
    for (int i=0;i<9;i++)
    {
//        memset(KBusChnStats[i],0,0);
        KBusChnStats[i].SendPackets=0;
        KBusChnStats[i].RecvPackets=0;
        KBusChnStats[i].LostPackets=0;
        KBusChnStats[i].CtnLstPkts=0;
        KBusChnStats[i].MaxCtnLstPkts=0;
        KBusChnStats[i].NotPkgErr=0;
        KBusChnStats[i].PkgLenErr=0;
        KBusChnStats[i].TimeOutErr=0;
        KBusChnStats[i].BCCErr=0;
        KBusChnStats[i].Delay=0;
        KBusChnStats[i].MaxDelay=0;
    }
        KMem.LastScanTime=0;
        KMem.ScanTimeuS=0;
        KMem.MinScanTimeuS=99999;
        KMem.MaxScanTimeuS=0;
//        KMem.SDD[14]=(unsigned int)&KMStoreSysCfg;
//        KMem.SDD[15]=(unsigned int)&KMStoreSysCfg1;
        KMem.SDD[12]=((uint32_t *)UID_BASE)[0];
//        KMem.SDD[13]=((uint32_t *)UID_BASE)[1];
//        KMem.SDD[14]=((uint32_t *)UID_BASE)[2];
        KMem.SDD[13]=PendSvCount;
        KMem.SDD[14]=RCC->CSR;
//        KMem.SDD[15]=*(uint32_t *)FLASHSIZE_BASE;
//        KMem.SDD[16]=(unsigned int)&KMSysCfg;
  /* USER CODE END Init */
  /* Configure the system clock */
  SystemClock_Config();
  /* USER CODE BEGIN SysInit */
    TickFreq=10000;        //Tick频率
    InituS(TickFreq);
 // HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/TickFreq);    //重新定义SysTick的频率
  /* USER CODE END SysInit */
  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_DMA_Init();
    KMachineInit();
    ReadSysCfgFromFlash(&storedKMSysCfg);
    KMRunStat.bLEDFlick = 1;
    KMem.CurJumperSW=ReadJumperSW();
    KMem.EffJumperSW=KMem.CurJumperSW;
//    Uart2Baud = AlterUart2Baud;
#if (BOARD_TYPE == 14)
    KMem.EffJumperSW|=0x10;
    nStationID=KMem.EffJumperSW&0x0f;
  if ((KMem.EffJumperSW&0x10)!=0) {bKBusMaster=1;bKBusSlave=0;}
    else{bKBusMaster=0;bKBusSlave=1;}
    nChilds=nStationID;
    FP0_Init();
#elif (BOARD_TYPE == 15 || BOARD_TYPE == 16)
    nStationID=1 ;//KMem.EffJumperSW&0x0f;
//    if (KMem.EffJumperSW == 0x1f) {bKBusRepeater=1;bKBusMaster=1;bKBusSlave=0;}
//  else if ((KMem.EffJumperSW&0x10)!=0) {bKBusMaster=1;bKBusSlave=0;}
//    else
        {bKBusMaster=0;bKBusSlave=1;}
#else
    nStationID=KMem.EffJumperSW&0x0f;
    if (KMem.EffJumperSW == 0x1f) {bKBusRepeater=1;bKBusMaster=1;bKBusSlave=0;}
  else if ((KMem.EffJumperSW&0x10)!=0) {bKBusMaster=1;bKBusSlave=0;}
    else{bKBusMaster=0;bKBusSlave=1;}
#endif
    nChilds=nStationID;
    nCurPollId=1;
    //if (KMem.EffJumperSW == 0x00)
        Uart1Baud = DefaultUart1Baud;
  MX_USART1_UART_Init();
  MX_USART2_UART_Init();
    MX_SPI1_Init();
    LL_SPI_EnableIT_RXNE(SPI1);
#if (BOARD_TYPE == 14)
//    MX_SPI2_Init();
//  MX_ADC_Init();
#else
    MX_SPI2_Init();
  MX_ADC_Init();
#endif
    MX_IWDG_Init();
    MX_TIM6_Init();
    LL_TIM_EnableCounter(TIM6);
  /* USER CODE BEGIN 2 */
    LL_USART_EnableIT_RXNE(USART1);
    LL_USART_EnableIT_IDLE(USART1);
    LL_USART_EnableIT_TC(USART1);
//    LL_USART_EnableIT_RXNE(USART2);
    Uart2RecvDMA(Uart2RecvBuf1,sizeof(Uart2RecvBuf1));
    LL_USART_EnableIT_IDLE(USART2);
    LL_USART_EnableIT_TC(USART2);
#if (BOARD_TYPE == 13)
    int res;
    res = w5500_init();
    KMem.SDD[28]=res;
//    res=socket(0,Sn_MR_TCP,5000,0);
    KMem.SDD[29]=res;
//    res = listen(0);
#endif
//    if (bKBusSlave)
    {
    //    LL_USART_EnableAutoBaudRate(USART1);
    //    LL_USART_SetAutoBaudRateMode(USART1, LL_USART_AUTOBAUD_DETECT_ON_FALLINGEDGE);
    //    LL_USART_EnableAutoBaudRate(USART2);
    //    LL_USART_SetAutoBaudRateMode(USART2, LL_USART_AUTOBAUD_DETECT_ON_FALLINGEDGE);
    }
    //LL_USART_EnableIT_TXE(USART1);
  /* USER CODE END 2 */
  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
    HAL_Delay(10);
    SetRunLed(1);                //Turn On Run Led
    SetErrLed(0);                //Turn Off Err Led
#if (BOARD_TYPE == 14)
//    PutOutput (0);                    //Clear all Output
//    Enable595(1);                        //Enable 595 Output
#else
    PutOutput (0);                    //Clear all Output
    Enable595(1);                        //Enable 595 Output
#endif
        if (GetBoardType() == 7 || GetBoardType() ==8
            || GetBoardType() == 9 || GetBoardType() ==10 ||GetBoardType() ==13 ||GetBoardType() ==15 || BOARD_TYPE == 16)
        {
            displayInput(0xffff);        //
            EnableDisIn(1);                //Input Diaplay Enable 595
        }
    SetOutStat(0);            //OK Good, signal
    ShowInitInfo();
    KMem.LastScanTime = GetuS();
    KMRunStat.WorkMode=0;
    KMRunStat.WorkMode2=0;
    KMRunStat.WorkMode = storedKMSysCfg.theKMSysCfg.workmode;
    if (KMRunStat.WorkMode == 1){
        InitPLC();
        KMRunStat.WorkMode2 = KMem.CurJumperSW&0x20 ;
        if (KMRunStat.WorkMode2) {
            StartPLC(); }
    }
#if (BOARD_TYPE == 15 || BOARD_TYPE == 16)
    KWireLessInit(KMem.EffJumperSW&0x20,KMem.EffJumperSW&0x0f);
    KWireLessStart();
#endif
  while (1)
  {
        //int MyKeyStat1,MyKeyStat2;
        //MyKeyStat1=GetInput();
        //*((unsigned int *)&(PLCMem.SDT[10]))=nRunCount;
    //    KMem.nRunCount=nRunCount;
        SlowFlicker=0;
        FastFlicker=1;
        us1=GetuS();
        int haltick=HAL_GetTick();
        int thisJumperSW=ReadJumperSW();
        if (KMRunStat.WorkMode&1){
            if (thisJumperSW&0x20 && !(KMem.CurJumperSW&0x20))  // Run 开关 正 跳变。
            {StartPLC();}
            if (!(thisJumperSW&0x20) && (KMem.CurJumperSW&0x20))  // Run 开关 负 跳变。
            {StopPLC();}
        }
        KMem.CurJumperSW=thisJumperSW;
        KMem.haltick=haltick;
//        KMem.TotalRunTime=TotalRunTime;
//        KMem.ThisRunTime=ThisRunTime;
//        *((unsigned int *)&(PLCMem.SDT[2]))=nChilds;
//        KMem.SDD[13]=PendSvCount;
//        KMem.SDD[14]=RCC->CSR;
        int a;
        a        = LL_GPIO_ReadInputPort(GPIOA);
        KMem.WDT[120]=a;
        a        = LL_GPIO_ReadInputPort(GPIOB);
        KMem.WDT[121]=a;
        a        = LL_GPIO_ReadInputPort(GPIOC);
        KMem.WDT[122]=a;
        a        = LL_GPIO_ReadInputPort(GPIOD);
        KMem.WDT[123]=a;
#if (BOARD_TYPE == 14)
//        KMem.WX[0]= GetInput();
        FP0_Proc();
#else
        KMem.WX[0]= GetInput();
#endif
        if (GetBoardType() == 7 || GetBoardType() ==8
            || GetBoardType() == 9 || GetBoardType() ==10 || GetBoardType() ==15 || GetBoardType() ==16)
        {
            displayInput(KMem.WX[0]);
        }
        us2=GetuS();
/*
        if (PowerDownEvent) {        KMem.WX[0]=0;}
        if ((KMem.nRunCount &0x1f) == 0x02)
        {
            ADCProcess();
            if (PowerDownEvent)
            {
                KMem.WX[0]=0;
                if (!OldPowerDownEvent)
                {
                    OldPowerDownEvent = PowerDownEvent;
                    OldPowerDownEventTime = nCurTick;
                    PowerDownProcess();
                }
            }else
            {
                if (OldPowerDownEvent)
                {
                    OldPowerDownEvent=PowerDownEvent;
                    PowerRecoverProcess();
                }
            }
        }
//*/
#if (BOARD_TYPE == 15 || BOARD_TYPE == 16)
        Radio.IrqProcess( ); // Process Radio IRQ
        KWL_Process(1);
#endif
//        pProgs = (stBinProg1 *) STORE_PRG_BASE;
        if (    KMRunStat.WorkMode==1 ) //&& bKBusMaster)
        {
            if (KMRunStat.nBinProgBank == 0){
                pProgs=(stBinProg1 *)STORE_PRG_BASE;
            }else {
                pProgs=(stBinProg1 *)ALT_PRG_BASE;
            }
            nSizeProg1=KMRunStat.nBinProgSize;
        //    pProgs=(stBinProg1 *)prog1;
            ProcessPLCBinProg(pProgs, nSizeProg1);
        }
        KMem.ScanTimeuS=us2-KMem.LastScanTime;
        KMem.LastScanTime = us2;
        if (KMem.ScanTimeuS < KMem.MinScanTimeuS) {KMem.MinScanTimeuS = KMem.ScanTimeuS;}
        if (KMem.ScanTimeuS > KMem.MaxScanTimeuS) {KMem.MaxScanTimeuS = KMem.ScanTimeuS;}
        //        if (bKBusRepeater)        {    KBusRepeaterFunc();    }
        us3=GetuS();
        if (bKBusMaster)
        {
#if (BOARD_TYPE == 14)
            for (int i=0;i<nOutputBytes;i++)
            {BufferOut[i+1]=KMem.WYB[i];}
#else
//            BufferOut[1]=KMem.WX[0]&0xff;
//            BufferOut[2]=(KMem.WX[0]>>8)&0xff;
#endif
            if (nChilds>0) {        KBusMasterFunc(2); }
#if (BOARD_TYPE == 14)
//            KMem.WX[0]=BufferIn[1]+(BufferIn[2]<<8);
#else
//            KMem.WY[0]=BufferIn[1]+(BufferIn[2]<<8);
#endif
        }
            if (haltick&0x00002000) SlowFlicker=1;
            else SlowFlicker=0;
            if (haltick&0x00000800) FastFlicker=1;
            else FastFlicker=0;
        if (bKBusSlave)
        {
//            BufferOut[0]=KMem.WX[0];
#if (BOARD_TYPE == 15 || BOARD_TYPE == 16)
//            KBusSlaveFunc(2);
        //    if (! KMem.RunStat) {BufferIn[0]=0;}
        //    KMem.WY[0]=BufferIn[0];
#else
            KBusSlaveFunc(2);
            if (! KMem.RunStat) {BufferIn[0]=0;}
            KMem.WY[0]=BufferIn[0];
#endif
            if (nSlaveTick&0x00002000) SlowFlicker=1;
            else SlowFlicker=0;
            if (nSlaveTick&0x00000800) FastFlicker=1;
            else FastFlicker=0;
        }
//        KMem.WY[0]=nCount2>>5;
        if (KMem.RunStat) {KMem.RunStat--;}
        if (KMem.ErrStat) {KMem.ErrStat--;}
        if (KMRunStat.bLEDFlick)
        {
            SetRunLed(FastFlicker);
            SetErrLed(FastFlicker);
            SetErr2Led(FastFlicker);
            SetOutStat(!FastFlicker);
            //KMRunStat.bLEDFlick-- ;
        }
        else
        {
            if (KMRunStat.WorkMode==1 ) {
                if (PLCMem.bPLCRunning){SetRunLed(SlowFlicker);}
                    else {SetRunLed(0);}
            }
            else {
                    if (!KMem.RunStat) SetRunLed(SlowFlicker);
                    else SetRunLed(FastFlicker);
            }
            if (!KMem.ErrStat)
            {
                SetErrLed(0);
                SetErr2Led(0);
                SetOutStat(1);
            }
            else
            {
                SetErrLed(FastFlicker);
                SetErr2Led(FastFlicker);
                SetOutStat(0);
            }
        }
//        SetRunLed(RunStat);
//        SetErrLed(ErrStat);
        us4=GetuS();
//        EffJumperSW = GetInput(20)&0xff;
#if (BOARD_TYPE == 15 || BOARD_TYPE == 16)
        if ((KMem.EffJumperSW&0x10)==0x10) {
            KMem.WFY[1]=KMem.WLY[0];
            KMem.WLX[0]=KMem.WFX[1];
        }else
        {
            KMem.WFY[1]=KMem.WX[0];
            KMem.WY[0]=KMem.WFX[1];
        }
//    KMem.WY[0]=KMem.WLY[0];
#elif (BOARD_TYPE == 14)
#else
        KMem.WLX[0]=KMem.WX[0];
        KMem.WY[0]=KMem.WLY[0];
#endif
        us5=GetuS();
#if (BOARD_TYPE == 14)
//        PutOutput (KMem.WY[0]);
#else
        PutOutput (KMem.WY[0]);
#endif
        //PutOutput (KMem.nRunCount>>8);
        //PutOutput(0x0f70);
//        if (bKBusMaster) ShowInfo();
//        if (bKBusSlave) ShowInfo();
        us6=GetuS();
        add1(10,10);
        for (int i=0;i<64;i++)
        {
//            ProcessTimer(i);
        }
        KMem.nRunCount++;
//        int nSize=sizeof(stKBusChnStat);
//        memcpy(&KMem.SDT[64],&KBusChnStats[1],nSize);
//        memcpy(&KMem.SDT[64+nSize/2],&KBusChnStats[2],nSize);
//        for (int i=0;i<128;i++)    {        SDT[i]=i;    }
//        SDT[48]=55;
        if (Uart1RecvBuf1DataLen >0 && Uart1Stat.bPacketRecved)
        {
            int res1 = -1;
            res1 = ModBusSlaveParsePkg(1, Uart1RecvBuf1, Uart1RecvBuf1DataLen);
            if (res1 !=0)
            {
                KLParsePacket(1, Uart1RecvBuf1, Uart1RecvBuf1DataLen);
            }
            Uart1RecvBuf1DataLen=0;
            Uart1Stat.bPacketRecved=0;
            Uart1IdelTimer = 0;
        }else {
            if (Uart1IdelTimer>600000) { // 超过60秒没有数据传输,重新进入自适应波特率状态
                LL_USART_EnableAutoBaudRate(USART1);
                LL_USART_SetAutoBaudRateMode(USART1, LL_USART_AUTOBAUD_DETECT_ON_FALLINGEDGE);
            }else {
                    Uart1IdelTimer++;
            }
        }
 if (bKBusSlave)    HAL_Delay(0);
/*
        if (!IsEmpty(&Uart1Stat.QRx))
        {
            unsigned char k=PopOne(&Uart1Stat.QRx);
            if (k=='L')
            {
                clearscreen();
            }
        }
*/
#if (BOARD_TYPE == 14)
const unsigned int pins[6]= {        LL_GPIO_PIN_10,LL_GPIO_PIN_11,LL_GPIO_PIN_12,LL_GPIO_PIN_13,LL_GPIO_PIN_14,LL_GPIO_PIN_15};
        //process 6 output
        {
                // mapping bits.
            for (int i=0;i<6;i++)
            {
                USHORT bitaddr = storedKMSysCfg.theKMSysCfg.OutMappings[i];
                UCHAR type =  (bitaddr&0xf000) >>12;
                USHORT byteaddr = (bitaddr&0x0ff0) >>4;
                UCHAR bitpos = bitaddr &0x0f;
                UCHAR bitvalue = 0 ;
                if (byteaddr>0) {
                    if (type == 0) bitvalue = KMem.WXB[byteaddr-1] & ( 1 << bitpos );
                    else if (type == 1 ) bitvalue = KMem.WYB[byteaddr-1] & ( 1 << bitpos );
                }
                if (bitvalue){ LL_GPIO_SetOutputPin(GPIOB,pins[i]);}
                else {LL_GPIO_ResetOutputPin(GPIOB,pins[i]);}
            }
        }
#endif
/*
        {
        unsigned char pos,seg;
        unsigned short val;
        pos=((KMem.nRunCount)&0x3);
        //val=(KMem.nRunCount)&0xfff;
        val=KMem.ErrStat;
        char buf5[20];
        sprintf(buf5,"%4d",val);
        val=buf5[3-pos];
        if (val <'0' || val >'9') {seg=0;}
        else {seg=LEDSEGTAB[val-'0'];}
        pos=1<<pos;
        //pos=1;
        //seg=2;
        seg=~seg;
        //    PutOutputSPI1(pos|(seg<<8));
    }
*/
#if (BOARD_TYPE == 13)
     w5500_network_info_show();
//     loopback_tcps(0,str1,5000);
#endif
     LL_IWDG_ReloadCounter(IWDG);
  }    //while (1) ;
  /* USER CODE END WHILE */
  /* USER CODE BEGIN 3 */
  /* USER CODE END 3 */
}
/* USER CODE BEGIN 4 */
/* USER CODE END 4 */
/**
  * @brief  This function is executed in case of error occurrence.
  * @param  file: The file name as string.
  * @param  line: The line in file as a number.
  * @retval None
  */
void _Error_Handler(char *file, int line)
{
  /* USER CODE BEGIN Error_Handler_Debug */
  /* User can add his own implementation to report the HAL error return state */
  while(1)
  {
  }
  /* USER CODE END Error_Handler_Debug */
}
#ifdef  USE_FULL_ASSERT
/**
  * @brief  Reports the name of the source file and the source line number
  *         where the assert_param error has occurred.
  * @param  file: pointer to the source file name
  * @param  line: assert_param error line source number
  * @retval None
  */
void assert_failed(uint8_t* file, uint32_t line)
{
  /* USER CODE BEGIN 6 */
  /* User can add his own implementation to report the file name and line number,
     tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
  /* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
/**
  * @}
  */
/**
  * @}
  */
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
KAD/Ethernet/W5500/w5500.c
New file
@@ -0,0 +1,367 @@
//*****************************************************************************
//
//! \file w5500.c
//! \brief W5500 HAL Interface.
//! \version 1.0.2
//! \date 2013/10/21
//! \par  Revision history
//!       <2014/05/01> V1.0.2
//!         1. Implicit type casting -> Explicit type casting. Refer to M20140501
//!            Fixed the problem on porting into under 32bit MCU
//!            Issued by Mathias ClauBen, wizwiki forum ID Think01 and bobh
//!            Thank for your interesting and serious advices.
//!       <2013/12/20> V1.0.1
//!         1. Remove warning
//!         2. WIZCHIP_READ_BUF WIZCHIP_WRITE_BUF in case _WIZCHIP_IO_MODE_SPI_FDM_
//!            for loop optimized(removed). refer to M20131220
//!       <2013/10/21> 1st Release
//! \author MidnightCow
//! \copyright
//!
//! Copyright (c)  2013, WIZnet Co., LTD.
//! All rights reserved.
//!
//! Redistribution and use in source and binary forms, with or without
//! modification, are permitted provided that the following conditions
//! are met:
//!
//!     * Redistributions of source code must retain the above copyright
//! notice, this list of conditions and the following disclaimer.
//!     * 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.
//!     * Neither the name of the <ORGANIZATION> nor the names of its
//! contributors may be used to endorse or promote products derived
//! from this software without specific prior written permission.
//!
//! 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 OWNER 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.
//
//*****************************************************************************
//#include <stdio.h>
#include "w5500.h"
#define _W5500_SPI_VDM_OP_          0x00
#define _W5500_SPI_FDM_OP_LEN1_     0x01
#define _W5500_SPI_FDM_OP_LEN2_     0x02
#define _W5500_SPI_FDM_OP_LEN4_     0x03
////////////////////////////////////////////////////
uint8_t  WIZCHIP_READ(uint32_t AddrSel)
{
   uint8_t ret;
   WIZCHIP_CRITICAL_ENTER();
   WIZCHIP.CS._select();
#if( (_WIZCHIP_IO_MODE_ & _WIZCHIP_IO_MODE_SPI_))
   #if  ( _WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_SPI_VDM_ )
          AddrSel |= (_W5500_SPI_READ_ | _W5500_SPI_VDM_OP_);
   #elif( _WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_SPI_FDM_ )
          AddrSel |= (_W5500_SPI_READ_ | _W5500_SPI_FDM_OP_LEN1_);
   #else
      #error "Unsupported _WIZCHIP_IO_SPI_ in W5500 !!!"
   #endif
   WIZCHIP.IF.SPI._write_byte((AddrSel & 0x00FF0000) >> 16);
   WIZCHIP.IF.SPI._write_byte((AddrSel & 0x0000FF00) >>  8);
   WIZCHIP.IF.SPI._write_byte((AddrSel & 0x000000FF) >>  0);
   ret = WIZCHIP.IF.SPI._read_byte();
#elif ( (_WIZCHIP_IO_MODE_ & _WIZCHIP_IO_MODE_BUS_) )
   #if  (_WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_BUS_DIR_)
   #elif(_WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_BUS_INDIR_)
   #else
      #error "Unsupported _WIZCHIP_IO_MODE_BUS_ in W5500 !!!"
   #endif
#else
   #error "Unknown _WIZCHIP_IO_MODE_ in W5000. !!!"
#endif
   WIZCHIP.CS._deselect();
   WIZCHIP_CRITICAL_EXIT();
   return ret;
}
void     WIZCHIP_WRITE(uint32_t AddrSel, uint8_t wb )
{
    WIZCHIP_CRITICAL_ENTER();
    WIZCHIP.CS._select();
#if( (_WIZCHIP_IO_MODE_ & _WIZCHIP_IO_MODE_SPI_))
   #if  ( _WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_SPI_VDM_ )
          AddrSel |= (_W5500_SPI_WRITE_ | _W5500_SPI_VDM_OP_);
   #elif( _WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_SPI_FDM_ )
          AddrSel |= (_W5500_SPI_WRITE_ | _W5500_SPI_FDM_OP_LEN1_);
   #else
      #error "Unsupported _WIZCHIP_IO_SPI_ in W5500 !!!"
   #endif
   WIZCHIP.IF.SPI._write_byte((AddrSel & 0x00FF0000) >> 16);
   WIZCHIP.IF.SPI._write_byte((AddrSel & 0x0000FF00) >>  8);
   WIZCHIP.IF.SPI._write_byte((AddrSel & 0x000000FF) >>  0);
   WIZCHIP.IF.SPI._write_byte(wb);
#elif ( (_WIZCHIP_IO_MODE_ & _WIZCHIP_IO_MODE_BUS_) )
   #if  (_WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_BUS_DIR_)
   #elif(_WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_BUS_INDIR_)
   #else
      #error "Unsupported _WIZCHIP_IO_MODE_BUS_ in W5500 !!!"
   #endif
#else
   #error "Unknown _WIZCHIP_IO_MODE_ in W5500. !!!"
#endif
   WIZCHIP.CS._deselect();
   WIZCHIP_CRITICAL_EXIT();
}
void     WIZCHIP_READ_BUF (uint32_t AddrSel, uint8_t* pBuf, uint16_t len)
{
   uint16_t i = 0;
   uint16_t j = 0;
   WIZCHIP_CRITICAL_ENTER();
   WIZCHIP.CS._select();
#if( (_WIZCHIP_IO_MODE_ & _WIZCHIP_IO_MODE_SPI_))
   #if  ( _WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_SPI_VDM_ )
      AddrSel |= (_W5500_SPI_READ_ | _W5500_SPI_VDM_OP_);
      WIZCHIP.IF.SPI._write_byte((AddrSel & 0x00FF0000) >> 16);
      WIZCHIP.IF.SPI._write_byte((AddrSel & 0x0000FF00) >>  8);
      WIZCHIP.IF.SPI._write_byte((AddrSel & 0x000000FF) >>  0);
      for(i = 0; i < len; i++,j)
        pBuf[i] = WIZCHIP.IF.SPI._read_byte();
   #elif( _WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_SPI_FDM_ )
      AddrSel |= (_W5500_SPI_READ_ | _W5500_SPI_FDM_OP_LEN4_);
      for(i = 0; i < len/4; i++, j)
      {
         WIZCHIP.IF.SPI._write_byte((AddrSel & 0x00FF0000) >> 16);
         WIZCHIP.IF.SPI._write_byte((AddrSel & 0x0000FF00) >>  8);
         WIZCHIP.IF.SPI._write_byte((AddrSel & 0x000000FF) >>  0);
         pBuf[i*4]   = WIZCHIP.IF.SPI._read_byte();
         pBuf[i*4+1] = WIZCHIP.IF.SPI._read_byte();
         pBuf[i*4+2] = WIZCHIP.IF.SPI._read_byte();
         pBuf[i*4+3] = WIZCHIP.IF.SPI._read_byte();
         AddrSel = WIZCHIP_OFFSET_INC(AddrSel,4);
      }
      len %= 4;      // for the rest data
      // M20131220 : remove for loop
      i *= 4;
      if(len >= 2)
      {
         AddrSel -= 1;  // change _W5500_SPI_FDM_OP_LEN4_ to _W5500_SPI_FDM_OP_LEN2_
       //for(j = 0; j < len/2 ; j++)
         {
            WIZCHIP.IF.SPI._write_byte((AddrSel & 0x00FF0000) >> 16);
            WIZCHIP.IF.SPI._write_byte((AddrSel & 0x0000FF00) >>  8);
            WIZCHIP.IF.SPI._write_byte((AddrSel & 0x000000FF) >>  0);
            pBuf[i]   = WIZCHIP.IF.SPI._read_byte();
            pBuf[i+1] = WIZCHIP.IF.SPI._read_byte();
            i += 2;
            AddrSel = WIZCHIP_OFFSET_INC(AddrSel,2);
         }
      }
      len %= 2;
      if(len)
      {
        AddrSel -= 1;  // change _W5500_SPI_FDM_OP_LEN2_ to _W5500_SPI_FDM_OP_LEN1_
        WIZCHIP.IF.SPI._write_byte((AddrSel & 0x00FF0000) >> 16);
        WIZCHIP.IF.SPI._write_byte((AddrSel & 0x0000FF00) >>  8);
        WIZCHIP.IF.SPI._write_byte((AddrSel & 0x000000FF) >>  0);
        pBuf[i]   = WIZCHIP.IF.SPI._read_byte();
      }
   #else
      #error "Unsupported _WIZCHIP_IO_MODE_SPI_ in W5500 !!!"
   #endif
#elif ( (_WIZCHIP_IO_MODE_ & _WIZCHIP_IO_MODE_BUS_) )
   #if  (_WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_BUS_DIR_)
   #elif(_WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_BUS_INDIR_)
   #else
      #error "Unsupported _WIZCHIP_IO_MODE_BUS_ in W5500 !!!"
   #endif
#else
   #error "Unknown _WIZCHIP_IO_MODE_ in W5500. !!!!"
#endif
   WIZCHIP.CS._deselect();
   WIZCHIP_CRITICAL_EXIT();
}
void     WIZCHIP_WRITE_BUF(uint32_t AddrSel, uint8_t* pBuf, uint16_t len)
{
   uint16_t i = 0;
   uint16_t j = 0;
   WIZCHIP_CRITICAL_ENTER();
   WIZCHIP.CS._select();
#if( (_WIZCHIP_IO_MODE_ & _WIZCHIP_IO_MODE_SPI_))
   #if  ( _WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_SPI_VDM_ )
      AddrSel |= (_W5500_SPI_WRITE_ | _W5500_SPI_VDM_OP_);
      WIZCHIP.IF.SPI._write_byte((AddrSel & 0x00FF0000) >> 16);
      WIZCHIP.IF.SPI._write_byte((AddrSel & 0x0000FF00) >>  8);
      WIZCHIP.IF.SPI._write_byte((AddrSel & 0x000000FF) >>  0);
      for(i = 0; i < len; i++,j)
         WIZCHIP.IF.SPI._write_byte(pBuf[i]);
   #elif( _WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_SPI_FDM_ )
      AddrSel |= (_W5500_SPI_WRITE_ | _W5500_SPI_FDM_OP_LEN4_);
      for(i = 0; i < len/4; i++, j)
      {
         WIZCHIP.IF.SPI._write_byte((AddrSel & 0x00FF0000) >> 16);
         WIZCHIP.IF.SPI._write_byte((AddrSel & 0x0000FF00) >>  8);
         WIZCHIP.IF.SPI._write_byte((AddrSel & 0x000000FF) >>  0);
         WIZCHIP.IF.SPI._write_byte(pBuf[i*4]  );
         WIZCHIP.IF.SPI._write_byte(pBuf[i*4+1]);
         WIZCHIP.IF.SPI._write_byte(pBuf[i*4+2]);
         WIZCHIP.IF.SPI._write_byte(pBuf[i*4+3]);
         AddrSel = WIZCHIP_OFFSET_INC(AddrSel,4);
      }
      len %= 4;      // for the rest data
      // M20131220 : Remove for loop
      i *= 4;
      if(len >= 2)
      {
         AddrSel -= 1;  // change _W5500_SPI_FDM_OP_LEN4_ to _W5500_SPI_FDM_OP_LEN2_
       //for(j = 0; j < len/2 ; j++)
         {
            WIZCHIP.IF.SPI._write_byte((AddrSel & 0x00FF0000) >> 16);
            WIZCHIP.IF.SPI._write_byte((AddrSel & 0x0000FF00) >>  8);
            WIZCHIP.IF.SPI._write_byte((AddrSel & 0x000000FF) >>  0);
            WIZCHIP.IF.SPI._write_byte(pBuf[i]  );
            WIZCHIP.IF.SPI._write_byte(pBuf[i+1]);
            i += 2;
            AddrSel = WIZCHIP_OFFSET_INC(AddrSel, 2);
         }
         len %= 2;
         if(len)
         {
            AddrSel -= 1;  // change _W5500_SPI_FDM_OP_LEN2_ to _W5500_SPI_FDM_OP_LEN1_
            WIZCHIP.IF.SPI._write_byte((AddrSel & 0x00FF0000) >> 16);
            WIZCHIP.IF.SPI._write_byte((AddrSel & 0x0000FF00) >>  8);
            WIZCHIP.IF.SPI._write_byte((AddrSel & 0x000000FF) >>  0);
            WIZCHIP.IF.SPI._write_byte(pBuf[i]);
         }
      }
   #else
      #error "Unsupported _WIZCHIP_IO_SPI_ in W5500 !!!"
   #endif
#elif ( (_WIZCHIP_IO_MODE_ & _WIZCHIP_IO_MODE_BUS_) )
   #if  (_WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_BUS_DIR_)
   #elif(_WIZCHIP_IO_MODE_ == _WIZCHIP_IO_MODE_BUS_INDIR_)
   #else
      #error "Unsupported _WIZCHIP_IO_MODE_BUS_ in W5500 !!!"
   #endif
#else
   #error "Unknown _WIZCHIP_IO_MODE_ in W5500. !!!!"
#endif
   WIZCHIP.CS._deselect();
   WIZCHIP_CRITICAL_EXIT();
}
uint16_t getSn_TX_FSR(uint8_t sn)
{
   uint16_t val=0,val1=0;
   do
   {
      val1 = WIZCHIP_READ(Sn_TX_FSR(sn));
      val1 = (val1 << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_TX_FSR(sn),1));
      if (val1 != 0)
      {
        val = WIZCHIP_READ(Sn_TX_FSR(sn));
        val = (val << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_TX_FSR(sn),1));
      }
   }while (val != val1);
   return val;
}
uint16_t getSn_RX_RSR(uint8_t sn)
{
   uint16_t val=0,val1=0;
   do
   {
      val1 = WIZCHIP_READ(Sn_RX_RSR(sn));
      val1 = (val1 << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_RX_RSR(sn),1));
      if (val1 != 0)
      {
        val = WIZCHIP_READ(Sn_RX_RSR(sn));
        val = (val << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_RX_RSR(sn),1));
      }
   }while (val != val1);
   return val;
}
void wiz_send_data(uint8_t sn, uint8_t *wizdata, uint16_t len)
{
   uint16_t ptr = 0;
   uint32_t addrsel = 0;
   if(len == 0)  return;
   ptr = getSn_TX_WR(sn);
   //M20140501 : implict type casting -> explict type casting
   //addrsel = (ptr << 8) + (WIZCHIP_TXBUF_BLOCK(sn) << 3);
   addrsel = ((uint32_t)ptr << 8) + (WIZCHIP_TXBUF_BLOCK(sn) << 3);
   //
   WIZCHIP_WRITE_BUF(addrsel,wizdata, len);
   ptr += len;
   setSn_TX_WR(sn,ptr);
}
void wiz_recv_data(uint8_t sn, uint8_t *wizdata, uint16_t len)
{
   uint16_t ptr = 0;
   uint32_t addrsel = 0;
   if(len == 0) return;
   ptr = getSn_RX_RD(sn);
   //M20140501 : implict type casting -> explict type casting
   //addrsel = ((ptr << 8) + (WIZCHIP_RXBUF_BLOCK(sn) << 3);
   addrsel = ((uint32_t)ptr << 8) + (WIZCHIP_RXBUF_BLOCK(sn) << 3);
   //
   WIZCHIP_READ_BUF(addrsel, wizdata, len);
   ptr += len;
   setSn_RX_RD(sn,ptr);
}
void wiz_recv_ignore(uint8_t sn, uint16_t len)
{
   uint16_t ptr = 0;
   ptr = getSn_RX_RD(sn);
   ptr += len;
   setSn_RX_RD(sn,ptr);
}
KAD/Ethernet/W5500/w5500.h
New file
@@ -0,0 +1,2054 @@
//*****************************************************************************
//
//! \file w5500.h
//! \brief W5500 HAL Header File.
//! \version 1.0.0
//! \date 2013/10/21
//! \par  Revision history
//!       <2013/10/21> 1st Release
//! \author MidnightCow
//! \copyright
//!
//! Copyright (c)  2013, WIZnet Co., LTD.
//! All rights reserved.
//!
//! Redistribution and use in source and binary forms, with or without
//! modification, are permitted provided that the following conditions
//! are met:
//!
//!     * Redistributions of source code must retain the above copyright
//! notice, this list of conditions and the following disclaimer.
//!     * 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.
//!     * Neither the name of the <ORGANIZATION> nor the names of its
//! contributors may be used to endorse or promote products derived
//! from this software without specific prior written permission.
//!
//! 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 OWNER OR CONTRIBUTORS BE
//! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
//! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
//! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
//! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
//! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
//! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
//! THE POSSIBILITY OF SUCH DAMAGE.
//
//*****************************************************************************
#ifndef  _W5500_H_
#define  _W5500_H_
#include <stdint.h>
#include "Ethernet/wizchip_conf.h"
#define _W5500_IO_BASE_              0x00000000
#define _W5500_SPI_READ_               (0x00 << 2) //< SPI interface Read operation in Control Phase
#define _W5500_SPI_WRITE_               (0x01 << 2) //< SPI interface Write operation in Control Phase
#define WIZCHIP_CREG_BLOCK          0x00     //< Common register block
#define WIZCHIP_SREG_BLOCK(N)       (1+4*N) //< Socket N register block
#define WIZCHIP_TXBUF_BLOCK(N)      (2+4*N) //< Socket N Tx buffer address block
#define WIZCHIP_RXBUF_BLOCK(N)      (3+4*N) //< Socket N Rx buffer address block
#define WIZCHIP_OFFSET_INC(ADDR, N)    (ADDR + (N<<8)) //< Increase offset address
///////////////////////////////////////
// Definition For Legacy Chip Driver //
///////////////////////////////////////
#define IINCHIP_READ(ADDR)                WIZCHIP_READ(ADDR)               ///< The defined for legacy chip driver
#define IINCHIP_WRITE(ADDR,VAL)           WIZCHIP_WRITE(ADDR,VAL)          ///< The defined for legacy chip driver
#define IINCHIP_READ_BUF(ADDR,BUF,LEN)    WIZCHIP_READ_BUF(ADDR,BUF,LEN)   ///< The defined for legacy chip driver
#define IINCHIP_WRITE_BUF(ADDR,BUF,LEN)   WIZCHIP_WRITE(ADDR,BUF,LEN)      ///< The defined for legacy chip driver
//////////////////////////////
//--------------------------  defgroup ---------------------------------
/**
 * @defgroup W5500 W5500
 *
 * @brief WHIZCHIP register defines and I/O functions of @b W5500.
 *
 * - @ref WIZCHIP_register : @ref Common_register_group and @ref Socket_register_group
 * - @ref WIZCHIP_IO_Functions : @ref Basic_IO_function, @ref Common_register_access_function and @ref Socket_register_access_function
 */
/**
 * @defgroup WIZCHIP_register WIZCHIP register
 * @ingroup W5500
 *
 * @brief WHIZCHIP register defines register group of @b W5500.
 *
 * - @ref Common_register_group : Common register group
 * - @ref Socket_register_group : \c SOCKET n register group
 */
/**
 * @defgroup WIZCHIP_IO_Functions WIZCHIP I/O functions
 * @ingroup W5500
 *
 * @brief This supports the basic I/O functions for @ref WIZCHIP_register.
 *
 * - <b> Basic I/O function </b> \n
 *   WIZCHIP_READ(), WIZCHIP_WRITE(), WIZCHIP_READ_BUF(), WIZCHIP_WRITE_BUF() \n\n
 *
 * - @ref Common_register_group <b>access functions</b> \n
 *     -# @b Mode \n
 *    getMR(), setMR()
 *     -# @b Interrupt \n
 *    getIR(), setIR(), getIMR(), setIMR(), getSIR(), setSIR(), getSIMR(), setSIMR(), getINTLEVEL(), setINTLEVEL()
 *     -# <b> Network Information </b> \n
 *    getSHAR(), setSHAR(), getGAR(), setGAR(), getSUBR(), setSUBR(), getSIPR(), setSIPR()
 *     -# @b Retransmission \n
 *    getRCR(), setRCR(), getRTR(), setRTR()
 *     -# @b PPPoE \n
 *    getPTIMER(), setPTIMER(), getPMAGIC(), getPMAGIC(), getPSID(), setPSID(), getPHAR(), setPHAR(), getPMRU(), setPMRU()
 *     -# <b> ICMP packet </b>\n
 *    getUIPR(), getUPORTR()
 *     -# @b etc. \n
 *    getPHYCFGR(), setPHYCFGR(), getVERSIONR() \n\n
 *
 * - \ref Socket_register_group <b>access functions</b> \n
 *   -# <b> SOCKET control</b> \n
 *      getSn_MR(), setSn_MR(), getSn_CR(), setSn_CR(), getSn_IMR(), setSn_IMR(), getSn_IR(), setSn_IR()
 *   -# <b> SOCKET information</b> \n
 *      getSn_SR(), getSn_DHAR(), setSn_DHAR(), getSn_PORT(), setSn_PORT(), getSn_DIPR(), setSn_DIPR(), getSn_DPORT(), setSn_DPORT()
 *      getSn_MSSR(), setSn_MSSR()
 *   -# <b> SOCKET communication </b> \n
 *      getSn_RXBUF_SIZE(), setSn_RXBUF_SIZE(), getSn_TXBUF_SIZE(), setSn_TXBUF_SIZE() \n
 *      getSn_TX_RD(), getSn_TX_WR(), setSn_TX_WR() \n
 *      getSn_RX_RD(), setSn_RX_RD(), getSn_RX_WR() \n
 *      getSn_TX_FSR(), getSn_RX_RSR(), getSn_KPALVTR(), setSn_KPALVTR()
 *   -# <b> IP header field </b> \n
 *      getSn_FRAG(), setSn_FRAG(),  getSn_TOS(), setSn_TOS() \n
 *      getSn_TTL(), setSn_TTL()
 */
/**
 * @defgroup Common_register_group Common register
 * @ingroup WIZCHIP_register
 *
 * @brief Common register group\n
 * It set the basic for the networking\n
 * It set the configuration such as interrupt, network information, ICMP, etc.
 * @details
 * @sa MR : Mode register.
 * @sa GAR, SUBR, SHAR, SIPR
 * @sa INTLEVEL, IR, IMR, SIR, SIMR : Interrupt.
 * @sa RTR, RCR : Data retransmission.
 * @sa PTIMER, PMAGIC, PHAR, PSID, PMRU : PPPoE.
 * @sa UIPR, UPORTR : ICMP message.
 * @sa PHYCFGR, VERSIONR : etc.
 */
/**
 * @defgroup Socket_register_group Socket register
 * @ingroup WIZCHIP_register
 *
 * @brief Socket register group.\n
 * Socket register configures and control SOCKETn which is necessary to data communication.
 * @details
 * @sa Sn_MR, Sn_CR, Sn_IR, Sn_IMR : SOCKETn Control
 * @sa Sn_SR, Sn_PORT, Sn_DHAR, Sn_DIPR, Sn_DPORT : SOCKETn Information
 * @sa Sn_MSSR, Sn_TOS, Sn_TTL, Sn_KPALVTR, Sn_FRAG : Internet protocol.
 * @sa Sn_RXBUF_SIZE, Sn_TXBUF_SIZE, Sn_TX_FSR, Sn_TX_RD, Sn_TX_WR, Sn_RX_RSR, Sn_RX_RD, Sn_RX_WR : Data communication
 */
 /**
 * @defgroup Basic_IO_function Basic I/O function
 * @ingroup WIZCHIP_IO_Functions
 * @brief These are basic input/output functions to read values from register or write values to register.
 */
/**
 * @defgroup Common_register_access_function Common register access functions
 * @ingroup WIZCHIP_IO_Functions
 * @brief These are functions to access <b>common registers</b>.
 */
/**
 * @defgroup Socket_register_access_function Socket register access functions
 * @ingroup WIZCHIP_IO_Functions
 * @brief These are functions to access <b>socket registers</b>.
 */
//------------------------------- defgroup end --------------------------------------------
//----------------------------- W5500 Common Registers IOMAP -----------------------------
/**
 * @ingroup Common_register_group
 * @brief Mode Register address(R/W)\n
 * @ref MR is used for S/W reset, ping block mode, PPPoE mode and etc.
 * @details Each bit of @ref MR defined as follows.
 * <table>
 *         <tr>  <td>7</td> <td>6</td> <td>5</td> <td>4</td> <td>3</td> <td>2</td> <td>1</td> <td>0</td>   </tr>
 *         <tr>  <td>RST</td> <td>Reserved</td> <td>WOL</td> <td>PB</td> <td>PPPoE</td> <td>Reserved</td> <td>FARP</td> <td>Reserved</td> </tr>
 * </table>
 * - \ref MR_RST             : Reset
 * - \ref MR_WOL               : Wake on LAN
 * - \ref MR_PB             : Ping block
 * - \ref MR_PPPOE          : PPPoE mode
 * - \ref MR_FARP            : Force ARP mode
 */
#define MR                 (_W5500_IO_BASE_ + (0x0000 << 8) + (WIZCHIP_CREG_BLOCK << 3))
/**
 * @ingroup Common_register_group
 * @brief Gateway IP Register address(R/W)
 * @details @ref GAR configures the default gateway address.
 */
#define GAR                (_W5500_IO_BASE_ + (0x0001 << 8) + (WIZCHIP_CREG_BLOCK << 3))
/**
 * @ingroup Common_register_group
 * @brief Subnet mask Register address(R/W)
 * @details @ref SUBR configures the subnet mask address.
 */
#define SUBR               (_W5500_IO_BASE_ + (0x0005 << 8) + (WIZCHIP_CREG_BLOCK << 3))
/**
 * @ingroup Common_register_group
 * @brief Source MAC Register address(R/W)
 * @details @ref SHAR configures the source hardware address.
 */
#define SHAR               (_W5500_IO_BASE_ + (0x0009 << 8) + (WIZCHIP_CREG_BLOCK << 3))
/**
 * @ingroup Common_register_group
 * @brief Source IP Register address(R/W)
 * @details @ref SIPR configures the source IP address.
 */
#define SIPR               (_W5500_IO_BASE_ + (0x000F << 8) + (WIZCHIP_CREG_BLOCK << 3))
/**
 * @ingroup Common_register_group
 * @brief Set Interrupt low level timer register address(R/W)
 * @details @ref INTLEVEL configures the Interrupt Assert Time.
 */
#define INTLEVEL           (_W5500_IO_BASE_ + (0x0013 << 8) + (WIZCHIP_CREG_BLOCK << 3))
/**
 * @ingroup Common_register_group
 * @brief Interrupt Register(R/W)
 * @details @ref IR indicates the interrupt status. Each bit of @ref IR will be still until the bit will be written to by the host.
 * If @ref IR is not equal to x00 INTn PIN is asserted to low until it is x00\n\n
 * Each bit of @ref IR defined as follows.
 * <table>
 *         <tr>  <td>7</td> <td>6</td> <td>5</td> <td>4</td> <td>3</td> <td>2</td> <td>1</td> <td>0</td>   </tr>
 *         <tr>  <td>CONFLICT</td> <td>UNREACH</td> <td>PPPoE</td> <td>MP</td> <td>Reserved</td> <td>Reserved</td> <td>Reserved</td> <td>Reserved</td> </tr>
 * </table>
 * - \ref IR_CONFLICT : IP conflict
 * - \ref IR_UNREACH  : Destination unreachable
 * - \ref IR_PPPoE      : PPPoE connection close
 * - \ref IR_MP          : Magic packet
 */
#define IR                 (_W5500_IO_BASE_ + (0x0015 << 8) + (WIZCHIP_CREG_BLOCK << 3))
/**
 * @ingroup Common_register_group
 * @brief Interrupt mask register(R/W)
 * @details @ref IMR is used to mask interrupts. Each bit of @ref IMR corresponds to each bit of @ref IR.
 * When a bit of @ref IMR is and the corresponding bit of @ref IR is  an interrupt will be issued. In other words,
 * if a bit of @ref IMR is  an interrupt will not be issued even if the corresponding bit of @ref IR is \n\n
 * Each bit of @ref IMR defined as the following.
 * <table>
 *         <tr>  <td>7</td> <td>6</td> <td>5</td> <td>4</td> <td>3</td> <td>2</td> <td>1</td> <td>0</td>   </tr>
 *         <tr>  <td>IM_IR7</td> <td>IM_IR6</td> <td>IM_IR5</td> <td>IM_IR4</td> <td>Reserved</td> <td>Reserved</td> <td>Reserved</td> <td>Reserved</td> </tr>
 * </table>
 * - \ref IM_IR7 : IP Conflict Interrupt Mask
 * - \ref IM_IR6 : Destination unreachable Interrupt Mask
 * - \ref IM_IR5 : PPPoE Close Interrupt Mask
 * - \ref IM_IR4 : Magic Packet Interrupt Mask
 */
#define IMR                (_W5500_IO_BASE_ + (0x0016 << 8) + (WIZCHIP_CREG_BLOCK << 3))
/**
 * @ingroup Common_register_group
 * @brief Socket Interrupt Register(R/W)
 * @details @ref SIR indicates the interrupt status of Socket.\n
 * Each bit of @ref SIR be still until @ref Sn_IR is cleared by the host.\n
 * If @ref Sn_IR is not equal to x00 the n-th bit of @ref SIR is and INTn PIN is asserted until @ref SIR is x00 */
#define SIR                (_W5500_IO_BASE_ + (0x0017 << 8) + (WIZCHIP_CREG_BLOCK << 3))
/**
 * @ingroup Common_register_group
 * @brief Socket Interrupt Mask Register(R/W)
 * @details Each bit of @ref SIMR corresponds to each bit of @ref SIR.
 * When a bit of @ref SIMR is and the corresponding bit of @ref SIR is  Interrupt will be issued.
 * In other words, if a bit of @ref SIMR is  an interrupt will be not issued even if the corresponding bit of @ref SIR is
 */
#define SIMR               (_W5500_IO_BASE_ + (0x0018 << 8) + (WIZCHIP_CREG_BLOCK << 3))
/**
 * @ingroup Common_register_group
 * @brief Timeout register address( 1 is 100us )(R/W)
 * @details @ref RTR configures the retransmission timeout period. The unit of timeout period is 100us and the default of @ref RTR is x07D0or 000
 * And so the default timeout period is 200ms(100us X 2000). During the time configured by @ref RTR, W5500 waits for the peer response
 * to the packet that is transmitted by \ref Sn_CR (CONNECT, DISCON, CLOSE, SEND, SEND_MAC, SEND_KEEP command).
 * If the peer does not respond within the @ref RTR time, W5500 retransmits the packet or issues timeout.
 */
#define RTR                (_W5500_IO_BASE_ + (0x0019 << 8) + (WIZCHIP_CREG_BLOCK << 3))
/**
 * @ingroup Common_register_group
 * @brief Retry count register(R/W)
 * @details @ref RCR configures the number of time of retransmission.
 * When retransmission occurs as many as ref RCR+1 Timeout interrupt is issued (@ref Sn_IR[TIMEOUT] = .
 */
#define RCR                (_W5500_IO_BASE_ + (0x001B << 8) + (WIZCHIP_CREG_BLOCK << 3))
/**
 * @ingroup Common_register_group
 * @brief PPP LCP Request Timer register  in PPPoE mode(R/W)
 * @details @ref PTIMER configures the time for sending LCP echo request. The unit of time is 25ms.
 */
#define PTIMER             (_W5500_IO_BASE_ + (0x001C << 8) + (WIZCHIP_CREG_BLOCK << 3))
/**
 * @ingroup Common_register_group
 * @brief PPP LCP Magic number register  in PPPoE mode(R/W)
 * @details @ref PMAGIC configures the 4bytes magic number to be used in LCP negotiation.
 */
#define PMAGIC             (_W5500_IO_BASE_ + (0x001D << 8) + (WIZCHIP_CREG_BLOCK << 3))
/**
 * @ingroup Common_register_group
 * @brief PPP Destination MAC Register address(R/W)
 * @details @ref PHAR configures the PPPoE server hardware address that is acquired during PPPoE connection process.
 */
#define PHAR                (_W5500_IO_BASE_ + (0x001E << 8) + (WIZCHIP_CREG_BLOCK << 3))
/**
 * @ingroup Common_register_group
 * @brief PPP Session Identification Register(R/W)
 * @details @ref PSID configures the PPPoE sever session ID acquired during PPPoE connection process.
 */
#define PSID               (_W5500_IO_BASE_ + (0x0024 << 8) + (WIZCHIP_CREG_BLOCK << 3))
/**
 * @ingroup Common_register_group
 * @brief PPP Maximum Segment Size(MSS) register(R/W)
 * @details @ref PMRU configures the maximum receive unit of PPPoE.
 */
#define PMRU               (_W5500_IO_BASE_ + (0x0026 << 8) + (WIZCHIP_CREG_BLOCK << 3))
/**
 * @ingroup Common_register_group
 * @brief Unreachable IP register address in UDP mode(R)
 * @details W5500 receives an ICMP packet(Destination port unreachable) when data is sent to a port number
 * which socket is not open and @ref UNREACH bit of @ref IR becomes and @ref UIPR & @ref UPORTR indicates
 * the destination IP address & port number respectively.
 */
#define UIPR               (_W5500_IO_BASE_ + (0x0028 << 8) + (WIZCHIP_CREG_BLOCK << 3))
/**
 * @ingroup Common_register_group
 * @brief Unreachable Port register address in UDP mode(R)
 * @details W5500 receives an ICMP packet(Destination port unreachable) when data is sent to a port number
 * which socket is not open and @ref UNREACH bit of @ref IR becomes and @ref UIPR & @ref UPORTR
 * indicates the destination IP address & port number respectively.
 */
#define UPORTR              (_W5500_IO_BASE_ + (0x002C << 8) + (WIZCHIP_CREG_BLOCK << 3))
/**
 * @ingroup Common_register_group
 * @brief PHY Status Register(R/W)
 * @details @ref PHYCFGR configures PHY operation mode and resets PHY. In addition, @ref PHYCFGR indicates the status of PHY such as duplex, Speed, Link.
 */
#define PHYCFGR            (_W5500_IO_BASE_ + (0x002E << 8) + (WIZCHIP_CREG_BLOCK << 3))
// Reserved                     (_W5500_IO_BASE_ + (0x002F << 8) + (WIZCHIP_CREG_BLOCK << 3))
// Reserved                     (_W5500_IO_BASE_ + (0x0030 << 8) + (WIZCHIP_CREG_BLOCK << 3))
// Reserved                     (_W5500_IO_BASE_ + (0x0031 << 8) + (WIZCHIP_CREG_BLOCK << 3))
// Reserved                     (_W5500_IO_BASE_ + (0x0032 << 8) + (WIZCHIP_CREG_BLOCK << 3))
// Reserved                     (_W5500_IO_BASE_ + (0x0033 << 8) + (WIZCHIP_CREG_BLOCK << 3))
// Reserved                     (_W5500_IO_BASE_ + (0x0034 << 8) + (WIZCHIP_CREG_BLOCK << 3))
// Reserved                     (_W5500_IO_BASE_ + (0x0035 << 8) + (WIZCHIP_CREG_BLOCK << 3))
// Reserved                     (_W5500_IO_BASE_ + (0x0036 << 8) + (WIZCHIP_CREG_BLOCK << 3))
// Reserved                     (_W5500_IO_BASE_ + (0x0037 << 8) + (WIZCHIP_CREG_BLOCK << 3))
// Reserved                     (_W5500_IO_BASE_ + (0x0038 << 8) + (WIZCHIP_CREG_BLOCK << 3))
/**
 * @ingroup Common_register_group
 * @brief chip version register address(R)
 * @details @ref VERSIONR always indicates the W5500 version as @b 0x04.
 */
#define VERSIONR           (_W5500_IO_BASE_ + (0x0039 << 8) + (WIZCHIP_CREG_BLOCK << 3))
//----------------------------- W5500 Socket Registers IOMAP -----------------------------
/**
 * @ingroup Socket_register_group
 * @brief socket Mode register(R/W)
 * @details @ref Sn_MR configures the option or protocol type of Socket n.\n\n
 * Each bit of @ref Sn_MR defined as the following.
 * <table>
 *         <tr>  <td>7</td> <td>6</td> <td>5</td> <td>4</td> <td>3</td> <td>2</td> <td>1</td> <td>0</td>   </tr>
 *         <tr>  <td>MULTI/MFEN</td> <td>BCASTB</td> <td>ND/MC/MMB</td> <td>UCASTB/MIP6B</td> <td>Protocol[3]</td> <td>Protocol[2]</td> <td>Protocol[1]</td> <td>Protocol[0]</td> </tr>
 * </table>
 * - @ref Sn_MR_MULTI    : Support UDP Multicasting
 * - @ref Sn_MR_BCASTB    : Broadcast block <b>in UDP Multicasting</b>
 * - @ref Sn_MR_ND        : No Delayed Ack(TCP) flag
 * - @ref Sn_MR_MC       : IGMP version used <b>in UDP mulitcasting</b>
 * - @ref Sn_MR_MMB        : Multicast Blocking <b>in @ref Sn_MR_MACRAW mode</b>
 * - @ref Sn_MR_UCASTB    : Unicast Block <b>in UDP Multicating</b>
 * - @ref Sn_MR_MIP6B   : IPv6 packet Blocking <b>in @ref Sn_MR_MACRAW mode</b>
 * - <b>Protocol</b>
 * <table>
 *         <tr>   <td><b>Protocol[3]</b></td> <td><b>Protocol[2]</b></td> <td><b>Protocol[1]</b></td> <td><b>Protocol[0]</b></td> <td>@b Meaning</td>   </tr>
 *         <tr>   <td>0</td> <td>0</td> <td>0</td> <td>0</td> <td>Closed</td>   </tr>
 *         <tr>   <td>0</td> <td>0</td> <td>0</td> <td>1</td> <td>TCP</td>   </tr>
 *         <tr>   <td>0</td> <td>0</td> <td>1</td> <td>0</td> <td>UDP</td>   </tr>
 *         <tr>   <td>0</td> <td>1</td> <td>0</td> <td>0</td> <td>MACRAW</td>   </tr>
 * </table>
 *    - @ref Sn_MR_MACRAW    : MAC LAYER RAW SOCK \n
 *  - @ref Sn_MR_UDP        : UDP
 *  - @ref Sn_MR_TCP        : TCP
 *  - @ref Sn_MR_CLOSE    : Unused socket
 *  @note MACRAW mode should be only used in Socket 0.
 */
#define Sn_MR(N)           (_W5500_IO_BASE_ + (0x0000 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
/**
 * @ingroup Socket_register_group
 * @brief Socket command register(R/W)
 * @details This is used to set the command for Socket n such as OPEN, CLOSE, CONNECT, LISTEN, SEND, and RECEIVE.\n
 * After W5500 accepts the command, the @ref Sn_CR register is automatically cleared to 0x00.
 * Even though @ref Sn_CR is cleared to 0x00, the command is still being processed.\n
 * To check whether the command is completed or not, please check the @ref Sn_IR or @ref Sn_SR.
 * - @ref Sn_CR_OPEN         : Initialize or open socket.
 * - @ref Sn_CR_LISTEN         : Wait connection request in TCP mode(<b>Server mode</b>)
 * - @ref Sn_CR_CONNECT     : Send connection request in TCP mode(<b>Client mode</b>)
 * - @ref Sn_CR_DISCON         : Send closing request in TCP mode.
 * - @ref Sn_CR_CLOSE       : Close socket.
 * - @ref Sn_CR_SEND        : Update TX buffer pointer and send data.
 * - @ref Sn_CR_SEND_MAC    : Send data with MAC address, so without ARP process.
 * - @ref Sn_CR_SEND_KEEP     : Send keep alive message.
 * - @ref Sn_CR_RECV        : Update RX buffer pointer and receive data.
 */
#define Sn_CR(N)           (_W5500_IO_BASE_ + (0x0001 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
/**
 * @ingroup Socket_register_group
 * @brief Socket interrupt register(R)
 * @details @ref Sn_IR indicates the status of Socket Interrupt such as establishment, termination, receiving data, timeout).\n
 * When an interrupt occurs and the corresponding bit of @ref Sn_IMR is  the corresponding bit of @ref Sn_IR becomes \n
 * In order to clear the @ref Sn_IR bit, the host should write the bit to \n
 * <table>
 *         <tr>  <td>7</td> <td>6</td> <td>5</td> <td>4</td> <td>3</td> <td>2</td> <td>1</td> <td>0</td>   </tr>
 *         <tr>  <td>Reserved</td> <td>Reserved</td> <td>Reserved</td> <td>SEND_OK</td> <td>TIMEOUT</td> <td>RECV</td> <td>DISCON</td> <td>CON</td> </tr>
 * </table>
 * - \ref Sn_IR_SENDOK : <b>SEND_OK Interrupt</b>
 * - \ref Sn_IR_TIMEOUT : <b>TIMEOUT Interrupt</b>
 * - \ref Sn_IR_RECV : <b>RECV Interrupt</b>
 * - \ref Sn_IR_DISCON : <b>DISCON Interrupt</b>
 * - \ref Sn_IR_CON : <b>CON Interrupt</b>
 */
#define Sn_IR(N)           (_W5500_IO_BASE_ + (0x0002 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
/**
 * @ingroup Socket_register_group
 * @brief Socket status register(R)
 * @details @ref Sn_SR indicates the status of Socket n.\n
 * The status of Socket n is changed by @ref Sn_CR or some special control packet as SYN, FIN packet in TCP.
 * @par Normal status
 * - @ref SOCK_CLOSED         : Closed
 * - @ref SOCK_INIT           : Initiate state
 * - @ref SOCK_LISTEN        : Listen state
 * - @ref SOCK_ESTABLISHED     : Success to connect
 * - @ref SOCK_CLOSE_WAIT   : Closing state
 * - @ref SOCK_UDP           : UDP socket
 * - @ref SOCK_MACRAW          : MAC raw mode socket
 *@par Temporary status during changing the status of Socket n.
 * - @ref SOCK_SYNSENT       : This indicates Socket n sent the connect-request packet (SYN packet) to a peer.
 * - @ref SOCK_SYNRECV        : It indicates Socket n successfully received the connect-request packet (SYN packet) from a peer.
 * - @ref SOCK_FIN_WAIT        : Connection state
 * - @ref SOCK_CLOSING        : Closing state
 * - @ref SOCK_TIME_WAIT    : Closing state
 * - @ref SOCK_LAST_ACK     : Closing state
 */
#define Sn_SR(N)           (_W5500_IO_BASE_ + (0x0003 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
/**
 * @ingroup Socket_register_group
 * @brief source port register(R/W)
 * @details @ref Sn_PORT configures the source port number of Socket n.
 * It is valid when Socket n is used in TCP/UPD mode. It should be set before OPEN command is ordered.
 */
#define Sn_PORT(N)         (_W5500_IO_BASE_ + (0x0004 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
/**
 * @ingroup Socket_register_group
 * @brief Peer MAC register address(R/W)
 * @details @ref Sn_DHAR configures the destination hardware address of Socket n when using SEND_MAC command in UDP mode or
 * it indicates that it is acquired in ARP-process by CONNECT/SEND command.
 */
#define Sn_DHAR(N)         (_W5500_IO_BASE_ + (0x0006 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
/**
 * @ingroup Socket_register_group
 * @brief Peer IP register address(R/W)
 * @details @ref Sn_DIPR configures or indicates the destination IP address of Socket n. It is valid when Socket n is used in TCP/UDP mode.
 * In TCP client mode, it configures an IP address of �TCP serverbefore CONNECT command.
 * In TCP server mode, it indicates an IP address of �TCP clientafter successfully establishing connection.
 * In UDP mode, it configures an IP address of peer to be received the UDP packet by SEND or SEND_MAC command.
 */
#define Sn_DIPR(N)         (_W5500_IO_BASE_ + (0x000C << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
/**
 * @ingroup Socket_register_group
 * @brief Peer port register address(R/W)
 * @details @ref Sn_DPORT configures or indicates the destination port number of Socket n. It is valid when Socket n is used in TCP/UDP mode.
 * In �TCP clientmode, it configures the listen port number of �TCP serverbefore CONNECT command.
 * In �TCP Servermode, it indicates the port number of TCP client after successfully establishing connection.
 * In UDP mode, it configures the port number of peer to be transmitted the UDP packet by SEND/SEND_MAC command.
 */
#define Sn_DPORT(N)        (_W5500_IO_BASE_ + (0x0010 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
/**
 * @ingroup Socket_register_group
 * @brief Maximum Segment Size(Sn_MSSR0) register address(R/W)
 * @details @ref Sn_MSSR configures or indicates the MTU(Maximum Transfer Unit) of Socket n.
 */
#define Sn_MSSR(N)         (_W5500_IO_BASE_ + (0x0012 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
// Reserved                     (_W5500_IO_BASE_ + (0x0014 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
/**
 * @ingroup Socket_register_group
 * @brief IP Type of Service(TOS) Register(R/W)
 * @details @ref Sn_TOS configures the TOS(Type Of Service field in IP Header) of Socket n.
 * It is set before OPEN command.
 */
#define Sn_TOS(N)          (_W5500_IO_BASE_ + (0x0015 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
/**
 * @ingroup Socket_register_group
 * @brief IP Time to live(TTL) Register(R/W)
 * @details @ref Sn_TTL configures the TTL(Time To Live field in IP header) of Socket n.
 * It is set before OPEN command.
 */
#define Sn_TTL(N)          (_W5500_IO_BASE_ + (0x0016 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
// Reserved                     (_W5500_IO_BASE_ + (0x0017 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
// Reserved                     (_W5500_IO_BASE_ + (0x0018 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
// Reserved                     (_W5500_IO_BASE_ + (0x0019 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
// Reserved                     (_W5500_IO_BASE_ + (0x001A << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
// Reserved                     (_W5500_IO_BASE_ + (0x001B << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
// Reserved                     (_W5500_IO_BASE_ + (0x001C << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
// Reserved                     (_W5500_IO_BASE_ + (0x001D << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
/**
 * @ingroup Socket_register_group
 * @brief Receive memory size register(R/W)
 * @details @ref Sn_RXBUF_SIZE configures the RX buffer block size of Socket n.
 * Socket n RX Buffer Block size can be configured with 1,2,4,8, and 16 Kbytes.
 * If a different size is configured, the data cannot be normally received from a peer.
 * Although Socket n RX Buffer Block size is initially configured to 2Kbytes,
 * user can re-configure its size using @ref Sn_RXBUF_SIZE. The total sum of @ref Sn_RXBUF_SIZE can not be exceed 16Kbytes.
 * When exceeded, the data reception error is occurred.
 */
#define Sn_RXBUF_SIZE(N)   (_W5500_IO_BASE_ + (0x001E << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
/**
 * @ingroup Socket_register_group
 * @brief Transmit memory size register(R/W)
 * @details @ref Sn_TXBUF_SIZE configures the TX buffer block size of Socket n. Socket n TX Buffer Block size can be configured with 1,2,4,8, and 16 Kbytes.
 * If a different size is configured, the data can�t be normally transmitted to a peer.
 * Although Socket n TX Buffer Block size is initially configured to 2Kbytes,
 * user can be re-configure its size using @ref Sn_TXBUF_SIZE. The total sum of @ref Sn_TXBUF_SIZE can not be exceed 16Kbytes.
 * When exceeded, the data transmission error is occurred.
 */
#define Sn_TXBUF_SIZE(N)   (_W5500_IO_BASE_ + (0x001F << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
/**
 * @ingroup Socket_register_group
 * @brief Transmit free memory size register(R)
 * @details @ref Sn_TX_FSR indicates the free size of Socket n TX Buffer Block. It is initialized to the configured size by @ref Sn_TXBUF_SIZE.
 * Data bigger than @ref Sn_TX_FSR should not be saved in the Socket n TX Buffer because the bigger data overwrites the previous saved data not yet sent.
 * Therefore, check before saving the data to the Socket n TX Buffer, and if data is equal or smaller than its checked size,
 * transmit the data with SEND/SEND_MAC command after saving the data in Socket n TX buffer. But, if data is bigger than its checked size,
 * transmit the data after dividing into the checked size and saving in the Socket n TX buffer.
 */
#define Sn_TX_FSR(N)       (_W5500_IO_BASE_ + (0x0020 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
/**
 * @ingroup Socket_register_group
 * @brief Transmit memory read pointer register address(R)
 * @details @ref Sn_TX_RD is initialized by OPEN command. However, if Sn_MR(P[3:0]) is TCP mode(001, it is re-initialized while connecting with TCP.
 * After its initialization, it is auto-increased by SEND command.
 * SEND command transmits the saved data from the current @ref Sn_TX_RD to the @ref Sn_TX_WR in the Socket n TX Buffer.
 * After transmitting the saved data, the SEND command increases the @ref Sn_TX_RD as same as the @ref Sn_TX_WR.
 * If its increment value exceeds the maximum value 0xFFFF, (greater than 0x10000 and the carry bit occurs),
 * then the carry bit is ignored and will automatically update with the lower 16bits value.
 */
#define Sn_TX_RD(N)        (_W5500_IO_BASE_ + (0x0022 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
/**
 * @ingroup Socket_register_group
 * @brief Transmit memory write pointer register address(R/W)
 * @details @ref Sn_TX_WR is initialized by OPEN command. However, if Sn_MR(P[3:0]) is TCP mode(001, it is re-initialized while connecting with TCP.\n
 * It should be read or be updated like as follows.\n
 * 1. Read the starting address for saving the transmitting data.\n
 * 2. Save the transmitting data from the starting address of Socket n TX buffer.\n
 * 3. After saving the transmitting data, update @ref Sn_TX_WR to the increased value as many as transmitting data size.
 * If the increment value exceeds the maximum value 0xFFFF(greater than 0x10000 and the carry bit occurs),
 * then the carry bit is ignored and will automatically update with the lower 16bits value.\n
 * 4. Transmit the saved data in Socket n TX Buffer by using SEND/SEND command
 */
#define Sn_TX_WR(N)        (_W5500_IO_BASE_ + (0x0024 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
/**
 * @ingroup Socket_register_group
 * @brief Received data size register(R)
 * @details @ref Sn_RX_RSR indicates the data size received and saved in Socket n RX Buffer.
 * @ref Sn_RX_RSR does not exceed the @ref Sn_RXBUF_SIZE and is calculated as the difference between
 * �Socket n RX Write Pointer (@ref Sn_RX_WR)and �Socket n RX Read Pointer (@ref Sn_RX_RD)
 */
#define Sn_RX_RSR(N)       (_W5500_IO_BASE_ + (0x0026 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
/**
 * @ingroup Socket_register_group
 * @brief Read point of Receive memory(R/W)
 * @details @ref Sn_RX_RD is initialized by OPEN command. Make sure to be read or updated as follows.\n
 * 1. Read the starting save address of the received data.\n
 * 2. Read data from the starting address of Socket n RX Buffer.\n
 * 3. After reading the received data, Update @ref Sn_RX_RD to the increased value as many as the reading size.
 * If the increment value exceeds the maximum value 0xFFFF, that is, is greater than 0x10000 and the carry bit occurs,
 * update with the lower 16bits value ignored the carry bit.\n
 * 4. Order RECV command is for notifying the updated @ref Sn_RX_RD to W5500.
 */
#define Sn_RX_RD(N)        (_W5500_IO_BASE_ + (0x0028 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
/**
 * @ingroup Socket_register_group
 * @brief Write point of Receive memory(R)
 * @details @ref Sn_RX_WR is initialized by OPEN command and it is auto-increased by the data reception.
 * If the increased value exceeds the maximum value 0xFFFF, (greater than 0x10000 and the carry bit occurs),
 * then the carry bit is ignored and will automatically update with the lower 16bits value.
 */
#define Sn_RX_WR(N)        (_W5500_IO_BASE_ + (0x002A << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
/**
 * @ingroup Socket_register_group
 * @brief socket interrupt mask register(R)
 * @details @ref Sn_IMR masks the interrupt of Socket n.
 * Each bit corresponds to each bit of @ref Sn_IR. When a Socket n Interrupt is occurred and the corresponding bit of @ref Sn_IMR is
 * the corresponding bit of @ref Sn_IR becomes  When both the corresponding bit of @ref Sn_IMR and @ref Sn_IR are and the n-th bit of @ref IR is
 * Host is interrupted by asserted INTn PIN to low.
 */
#define Sn_IMR(N)          (_W5500_IO_BASE_ + (0x002C << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
/**
 * @ingroup Socket_register_group
 * @brief Fragment field value in IP header register(R/W)
 * @details @ref Sn_FRAG configures the FRAG(Fragment field in IP header).
 */
#define Sn_FRAG(N)         (_W5500_IO_BASE_ + (0x002D << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
/**
 * @ingroup Socket_register_group
 * @brief Keep Alive Timer register(R/W)
 * @details @ref Sn_KPALVTR configures the transmitting timer of �KEEP ALIVE(KA)packet of SOCKETn. It is valid only in TCP mode,
 * and ignored in other modes. The time unit is 5s.
 * KA packet is transmittable after @ref Sn_SR is changed to SOCK_ESTABLISHED and after the data is transmitted or received to/from a peer at least once.
 * In case of '@ref Sn_KPALVTR > 0', W5500 automatically transmits KA packet after time-period for checking the TCP connection (Auto-keepalive-process).
 * In case of '@ref Sn_KPALVTR = 0', Auto-keep-alive-process will not operate,
 * and KA packet can be transmitted by SEND_KEEP command by the host (Manual-keep-alive-process).
 * Manual-keep-alive-process is ignored in case of '@ref Sn_KPALVTR > 0'.
 */
#define Sn_KPALVTR(N)      (_W5500_IO_BASE_ + (0x002F << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
//#define Sn_TSR(N)          (_W5500_IO_BASE_ + (0x0030 << 8) + (WIZCHIP_SREG_BLOCK(N) << 3))
//----------------------------- W5500 Register values  -----------------------------
/* MODE register values */
/**
 * @brief Reset
 * @details If this bit is  All internal registers will be initialized. It will be automatically cleared as after S/W reset.
 */
#define MR_RST                       0x80
/**
 * @brief Wake on LAN
 * @details 0 : Disable WOL mode\n
 * 1 : Enable WOL mode\n
 * If WOL mode is enabled and the received magic packet over UDP has been normally processed, the Interrupt PIN (INTn) asserts to low.
 * When using WOL mode, the UDP Socket should be opened with any source port number. (Refer to Socket n Mode Register (@ref Sn_MR) for opening Socket.)
 * @note The magic packet over UDP supported by W5500 consists of 6 bytes synchronization stream (xFFFFFFFFFFFF and
 * 16 times Target MAC address stream in UDP payload. The options such like password are ignored. You can use any UDP source port number for WOL mode.
 */
#define MR_WOL                       0x20
/**
 * @brief Ping block
 * @details 0 : Disable Ping block\n
 * 1 : Enable Ping block\n
 * If the bit is  it blocks the response to a ping request.
 */
#define MR_PB                        0x10
/**
 * @brief Enable PPPoE
 * @details 0 : DisablePPPoE mode\n
 * 1 : EnablePPPoE mode\n
 * If you use ADSL, this bit should be
 */
#define MR_PPPOE                     0x08
/**
 * @brief Enable UDP_FORCE_ARP CHECHK
 * @details 0 : Disable Force ARP mode\n
 * 1 : Enable Force ARP mode\n
 * In Force ARP mode, It forces on sending ARP Request whenever data is sent.
 */
#define MR_FARP                      0x02
/* IR register values */
/**
 * @brief Check IP conflict.
 * @details Bit is set as when own source IP address is same with the sender IP address in the received ARP request.
 */
#define IR_CONFLICT                  0x80
/**
 * @brief Get the destination unreachable message in UDP sending.
 * @details When receiving the ICMP (Destination port unreachable) packet, this bit is set as
 * When this bit is  Destination Information such as IP address and Port number may be checked with the corresponding @ref UIPR & @ref UPORTR.
 */
#define IR_UNREACH                   0x40
/**
 * @brief Get the PPPoE close message.
 * @details When PPPoE is disconnected during PPPoE mode, this bit is set.
 */
#define IR_PPPoE                     0x20
/**
 * @brief Get the magic packet interrupt.
 * @details When WOL mode is enabled and receives the magic packet over UDP, this bit is set.
 */
#define IR_MP                        0x10
/* PHYCFGR register value */
#define PHYCFGR_RST                  ~(1<<7)  //< For PHY reset, must operate AND mask.
#define PHYCFGR_OPMD                 (1<<6)   // Configre PHY with OPMDC value
#define PHYCFGR_OPMDC_ALLA           (7<<3)
#define PHYCFGR_OPMDC_PDOWN          (6<<3)
#define PHYCFGR_OPMDC_NA             (5<<3)
#define PHYCFGR_OPMDC_100FA          (4<<3)
#define PHYCFGR_OPMDC_100F           (3<<3)
#define PHYCFGR_OPMDC_100H           (2<<3)
#define PHYCFGR_OPMDC_10F            (1<<3)
#define PHYCFGR_OPMDC_10H            (0<<3)
#define PHYCFGR_DPX_FULL             (1<<2)
#define PHYCFGR_DPX_HALF             (0<<2)
#define PHYCFGR_SPD_100              (1<<1)
#define PHYCFGR_SPD_10               (0<<1)
#define PHYCFGR_LNK_ON               (1<<0)
#define PHYCFGR_LNK_OFF              (0<<0)
/* IMR register values */
/**
 * @brief IP Conflict Interrupt Mask.
 * @details 0: Disable IP Conflict Interrupt\n
 * 1: Enable IP Conflict Interrupt
 */
#define IM_IR7                       0x80
/**
 * @brief Destination unreachable Interrupt Mask.
 * @details 0: Disable Destination unreachable Interrupt\n
 * 1: Enable Destination unreachable Interrupt
 */
#define IM_IR6                       0x40
/**
 * @brief PPPoE Close Interrupt Mask.
 * @details 0: Disable PPPoE Close Interrupt\n
 * 1: Enable PPPoE Close Interrupt
 */
#define IM_IR5                       0x20
/**
 * @brief Magic Packet Interrupt Mask.
 * @details 0: Disable Magic Packet Interrupt\n
 * 1: Enable Magic Packet Interrupt
 */
#define IM_IR4                       0x10
/* Sn_MR Default values */
/**
 * @brief Support UDP Multicasting
 * @details 0 : disable Multicasting\n
 * 1 : enable Multicasting\n
 * This bit is applied only during UDP mode(P[3:0] = 010.\n
 * To use multicasting, @ref Sn_DIPR & @ref Sn_DPORT should be respectively configured with the multicast group IP address & port number
 * before Socket n is opened by OPEN command of @ref Sn_CR.
 */
#define Sn_MR_MULTI                  0x80
/**
 * @brief Broadcast block in UDP Multicasting.
 * @details 0 : disable Broadcast Blocking\n
 * 1 : enable Broadcast Blocking\n
 * This bit blocks to receive broadcasting packet during UDP mode(P[3:0] = 010.\m
 * In addition, This bit does when MACRAW mode(P[3:0] = 100
 */
#define Sn_MR_BCASTB                 0x40
/**
 * @brief No Delayed Ack(TCP), Multicast flag
 * @details 0 : Disable No Delayed ACK option\n
 * 1 : Enable No Delayed ACK option\n
 * This bit is applied only during TCP mode (P[3:0] = 001.\n
 * When this bit is  It sends the ACK packet without delay as soon as a Data packet is received from a peer.\n
 * When this bit is  It sends the ACK packet after waiting for the timeout time configured by @ref RTR.
 */
#define Sn_MR_ND                     0x20
/**
 * @brief Unicast Block in UDP Multicasting
 * @details 0 : disable Unicast Blocking\n
 * 1 : enable Unicast Blocking\n
 * This bit blocks receiving the unicast packet during UDP mode(P[3:0] = 010 and MULTI =
 */
#define Sn_MR_UCASTB                 0x10
/**
 * @brief MAC LAYER RAW SOCK
 * @details This configures the protocol mode of Socket n.
 * @note MACRAW mode should be only used in Socket 0.
 */
#define Sn_MR_MACRAW                 0x04
//#define Sn_MR_IPRAW                  0x03     /**< IP LAYER RAW SOCK */
/**
 * @brief UDP
 * @details This configures the protocol mode of Socket n.
 */
#define Sn_MR_UDP                    0x02
/**
 * @brief TCP
 * @details This configures the protocol mode of Socket n.
 */
#define Sn_MR_TCP                    0x01
/**
 * @brief Unused socket
 * @details This configures the protocol mode of Socket n.
 */
#define Sn_MR_CLOSE                  0x00
/* Sn_MR values used with Sn_MR_MACRAW */
/**
 * @brief MAC filter enable in @ref Sn_MR_MACRAW mode
 * @details 0 : disable MAC Filtering\n
 * 1 : enable MAC Filtering\n
 * This bit is applied only during MACRAW mode(P[3:0] = 100.\n
 * When set as  W5500 can only receive broadcasting packet or packet sent to itself.
 * When this bit is  W5500 can receive all packets on Ethernet.
 * If user wants to implement Hybrid TCP/IP stack,
 * it is recommended that this bit is set as for reducing host overhead to process the all received packets.
 */
#define Sn_MR_MFEN                   Sn_MR_MULTI
/**
 * @brief Multicast Blocking in @ref Sn_MR_MACRAW mode
 * @details 0 : using IGMP version 2\n
 * 1 : using IGMP version 1\n
 * This bit is applied only during UDP mode(P[3:0] = 010 and MULTI =
 * It configures the version for IGMP messages (Join/Leave/Report).
 */
#define Sn_MR_MMB                    Sn_MR_ND
/**
 * @brief IPv6 packet Blocking in @ref Sn_MR_MACRAW mode
 * @details 0 : disable IPv6 Blocking\n
 * 1 : enable IPv6 Blocking\n
 * This bit is applied only during MACRAW mode (P[3:0] = 100. It blocks to receiving the IPv6 packet.
 */
#define Sn_MR_MIP6B                  Sn_MR_UCASTB
/* Sn_MR value used with Sn_MR_UDP & Sn_MR_MULTI */
/**
 * @brief IGMP version used in UDP mulitcasting
 * @details 0 : disable Multicast Blocking\n
 * 1 : enable Multicast Blocking\n
 * This bit is applied only when MACRAW mode(P[3:0] = 100. It blocks to receive the packet with multicast MAC address.
 */
#define Sn_MR_MC                     Sn_MR_ND
/* Sn_MR alternate values */
/**
 * @brief For Berkeley Socket API
 */
#define SOCK_STREAM                  Sn_MR_TCP
/**
 * @brief For Berkeley Socket API
 */
#define SOCK_DGRAM                   Sn_MR_UDP
/* Sn_CR values */
/**
 * @brief Initialize or open socket
 * @details Socket n is initialized and opened according to the protocol selected in Sn_MR(P3:P0).
 * The table below shows the value of @ref Sn_SR corresponding to @ref Sn_MR.\n
 * <table>
 *   <tr>  <td>\b Sn_MR (P[3:0])</td> <td>\b Sn_SR</td>                     </tr>
 *   <tr>  <td>Sn_MR_CLOSE  (000</td> <td></td>                         </tr>
 *   <tr>  <td>Sn_MR_TCP  (001</td> <td>SOCK_INIT (0x13)</td>           </tr>
 *   <tr>  <td>Sn_MR_UDP  (010</td>  <td>SOCK_UDP (0x22)</td>           </tr>
 *   <tr>  <td>S0_MR_MACRAW  (100</td>  <td>SOCK_MACRAW (0x02)</td>  </tr>
 * </table>
 */
#define Sn_CR_OPEN                   0x01
/**
 * @brief Wait connection request in TCP mode(Server mode)
 * @details This is valid only in TCP mode (Sn_MR(P3:P0) = Sn_MR_TCP).
 * In this mode, Socket n operates as a �TCP serverand waits for  connection-request (SYN packet) from any �TCP client
 * The @ref Sn_SR changes the state from SOCK_INIT to SOCKET_LISTEN.
 * When a �TCP clientconnection request is successfully established,
 * the @ref Sn_SR changes from SOCK_LISTEN to SOCK_ESTABLISHED and the Sn_IR(0) becomes
 * But when a �TCP clientconnection request is failed, Sn_IR(3) becomes and the status of @ref Sn_SR changes to SOCK_CLOSED.
 */
#define Sn_CR_LISTEN                 0x02
/**
 * @brief Send connection request in TCP mode(Client mode)
 * @details  To connect, a connect-request (SYN packet) is sent to b>TCP server</b>configured by @ref Sn_DIPR & Sn_DPORT(destination address & port).
 * If the connect-request is successful, the @ref Sn_SR is changed to @ref SOCK_ESTABLISHED and the Sn_IR(0) becomes \n\n
 * The connect-request fails in the following three cases.\n
 * 1. When a @b ARPTO occurs (@ref Sn_IR[3] =  ) because destination hardware address is not acquired through the ARP-process.\n
 * 2. When a @b SYN/ACK packet is not received and @b TCPTO (Sn_IR(3) =  )\n
 * 3. When a @b RST packet is received instead of a @b SYN/ACK packet. In these cases, @ref Sn_SR is changed to @ref SOCK_CLOSED.
 * @note This is valid only in TCP mode and operates when Socket n acts as b>TCP client</b>
 */
#define Sn_CR_CONNECT                0x04
/**
 * @brief Send closing request in TCP mode
 * @details Regardless of b>TCP server</b>or b>TCP client</b> the DISCON command processes the disconnect-process (b>Active close</b>or b>Passive close</b>.\n
 * @par Active close
 * it transmits disconnect-request(FIN packet) to the connected peer\n
 * @par Passive close
 * When FIN packet is received from peer, a FIN packet is replied back to the peer.\n
 * @details When the disconnect-process is successful (that is, FIN/ACK packet is received successfully), @ref Sn_SR is changed to @ref SOCK_CLOSED.\n
 * Otherwise, TCPTO occurs (Sn_IR(3)=)= and then @ref Sn_SR is changed to @ref SOCK_CLOSED.
 * @note Valid only in TCP mode.
 */
#define Sn_CR_DISCON                 0x08
/**
 * @brief Close socket
 * @details Sn_SR is changed to @ref SOCK_CLOSED.
 */
#define Sn_CR_CLOSE                  0x10
/**
 * @brief Update TX buffer pointer and send data
 * @details SEND transmits all the data in the Socket n TX buffer.\n
 * For more details, please refer to Socket n TX Free Size Register (@ref Sn_TX_FSR), Socket n,
 * TX Write Pointer Register(@ref Sn_TX_WR), and Socket n TX Read Pointer Register(@ref Sn_TX_RD).
 */
#define Sn_CR_SEND                   0x20
/**
 * @brief Send data with MAC address, so without ARP process
 * @details The basic operation is same as SEND.\n
 * Normally SEND transmits data after destination hardware address is acquired by the automatic ARP-process(Address Resolution Protocol).\n
 * But SEND_MAC transmits data without the automatic ARP-process.\n
 * In this case, the destination hardware address is acquired from @ref Sn_DHAR configured by host, instead of APR-process.
 * @note Valid only in UDP mode.
 */
#define Sn_CR_SEND_MAC               0x21
/**
 * @brief Send keep alive message
 * @details It checks the connection status by sending 1byte keep-alive packet.\n
 * If the peer can not respond to the keep-alive packet during timeout time, the connection is terminated and the timeout interrupt will occur.
 * @note Valid only in TCP mode.
 */
#define Sn_CR_SEND_KEEP              0x22
/**
 * @brief Update RX buffer pointer and receive data
 * @details RECV completes the processing of the received data in Socket n RX Buffer by using a RX read pointer register (@ref Sn_RX_RD).\n
 * For more details, refer to Socket n RX Received Size Register (@ref Sn_RX_RSR), Socket n RX Write Pointer Register (@ref Sn_RX_WR),
 * and Socket n RX Read Pointer Register (@ref Sn_RX_RD).
 */
#define Sn_CR_RECV                   0x40
/* Sn_IR values */
/**
 * @brief SEND_OK Interrupt
 * @details This is issued when SEND command is completed.
 */
#define Sn_IR_SENDOK                 0x10
/**
 * @brief TIMEOUT Interrupt
 * @details This is issued when ARPTO or TCPTO occurs.
 */
#define Sn_IR_TIMEOUT                0x08
/**
 * @brief RECV Interrupt
 * @details This is issued whenever data is received from a peer.
 */
#define Sn_IR_RECV                   0x04
/**
 * @brief DISCON Interrupt
 * @details This is issued when FIN or FIN/ACK packet is received from a peer.
 */
#define Sn_IR_DISCON                 0x02
/**
 * @brief CON Interrupt
 * @details This is issued one time when the connection with peer is successful and then @ref Sn_SR is changed to @ref SOCK_ESTABLISHED.
 */
#define Sn_IR_CON                    0x01
/* Sn_SR values */
/**
 * @brief Closed
 * @details This indicates that Socket n is released.\N
 * When DICON, CLOSE command is ordered, or when a timeout occurs, it is changed to @ref SOCK_CLOSED regardless of previous status.
 */
#define SOCK_CLOSED                  0x00
/**
 * @brief Initiate state
 * @details This indicates Socket n is opened with TCP mode.\N
 * It is changed to @ref SOCK_INIT when Sn_MR(P[3:0]) = 001and OPEN command is ordered.\N
 * After @ref SOCK_INIT, user can use LISTEN /CONNECT command.
 */
#define SOCK_INIT                    0x13
/**
 * @brief Listen state
 * @details This indicates Socket n is operating as b>TCP server</b>mode and waiting for connection-request (SYN packet) from a peer (b>TCP client</b>.\n
 * It will change to @ref SOCK_ESTALBLISHED when the connection-request is successfully accepted.\n
 * Otherwise it will change to @ref SOCK_CLOSED after TCPTO occurred (Sn_IR(TIMEOUT) = .
 */
#define SOCK_LISTEN                  0x14
/**
 * @brief Connection state
 * @details This indicates Socket n sent the connect-request packet (SYN packet) to a peer.\n
 * It is temporarily shown when @ref Sn_SR is changed from @ref SOCK_INIT to @ref SOCK_ESTABLISHED by CONNECT command.\n
 * If connect-accept(SYN/ACK packet) is received from the peer at SOCK_SYNSENT, it changes to @ref SOCK_ESTABLISHED.\n
 * Otherwise, it changes to @ref SOCK_CLOSED after TCPTO (@ref Sn_IR[TIMEOUT] =  is occurred.
 */
#define SOCK_SYNSENT                 0x15
/**
 * @brief Connection state
 * @details It indicates Socket n successfully received the connect-request packet (SYN packet) from a peer.\n
 * If socket n sends the response (SYN/ACK  packet) to the peer successfully,  it changes to @ref SOCK_ESTABLISHED. \n
 * If not, it changes to @ref SOCK_CLOSED after timeout occurs (@ref Sn_IR[TIMEOUT] = .
 */
#define SOCK_SYNRECV                 0x16
/**
 * @brief Success to connect
 * @details This indicates the status of the connection of Socket n.\n
 * It changes to @ref SOCK_ESTABLISHED when the b>TCP SERVER</b>processed the SYN packet from the b>TCP CLIENT</b>during @ref SOCK_LISTEN, or
 * when the CONNECT command is successful.\n
 * During @ref SOCK_ESTABLISHED, DATA packet can be transferred using SEND or RECV command.
 */
#define SOCK_ESTABLISHED             0x17
/**
 * @brief Closing state
 * @details These indicate Socket n is closing.\n
 * These are shown in disconnect-process such as active-close and passive-close.\n
 * When Disconnect-process is successfully completed, or when timeout occurs, these change to @ref SOCK_CLOSED.
 */
#define SOCK_FIN_WAIT                0x18
/**
 * @brief Closing state
 * @details These indicate Socket n is closing.\n
 * These are shown in disconnect-process such as active-close and passive-close.\n
 * When Disconnect-process is successfully completed, or when timeout occurs, these change to @ref SOCK_CLOSED.
 */
#define SOCK_CLOSING                 0x1A
/**
 * @brief Closing state
 * @details These indicate Socket n is closing.\n
 * These are shown in disconnect-process such as active-close and passive-close.\n
 * When Disconnect-process is successfully completed, or when timeout occurs, these change to @ref SOCK_CLOSED.
 */
#define SOCK_TIME_WAIT               0x1B
/**
 * @brief Closing state
 * @details This indicates Socket n received the disconnect-request (FIN packet) from the connected peer.\n
 * This is half-closing status, and data can be transferred.\n
 * For full-closing, DISCON command is used. But For just-closing, CLOSE command is used.
 */
#define SOCK_CLOSE_WAIT              0x1C
/**
 * @brief Closing state
 * @details This indicates Socket n is waiting for the response (FIN/ACK packet) to the disconnect-request (FIN packet) by passive-close.\n
 * It changes to @ref SOCK_CLOSED when Socket n received the response successfully, or when timeout occurs  (@ref Sn_IR[TIMEOUT] = .
 */
#define SOCK_LAST_ACK                0x1D
/**
 * @brief UDP socket
 * @details This indicates Socket n is opened in UDP mode(Sn_MR(P[3:0]) = 010.\n
 * It changes to SOCK_UPD when Sn_MR(P[3:0]) = 010 and OPEN command is ordered.\n
 * Unlike TCP mode, data can be transfered without the connection-process.
 */
#define SOCK_UDP                     0x22
//#define SOCK_IPRAW                   0x32     /**< IP raw mode socket */
/**
 * @brief MAC raw mode socket
 * @details This indicates Socket 0 is opened in MACRAW mode (S0_MR(P[3:0]) = 100and is valid only in Socket 0.\n
 * It changes to SOCK_MACRAW when S0_MR(P[3:0] = 100and OPEN command is ordered.\n
 * Like UDP mode socket, MACRAW mode Socket 0 can transfer a MAC packet (Ethernet frame) without the connection-process.
 */
#define SOCK_MACRAW                  0x42
//#define SOCK_PPPOE                   0x5F
/* IP PROTOCOL */
#define IPPROTO_IP                   0        //< Dummy for IP
#define IPPROTO_ICMP                 1        //< Control message protocol
#define IPPROTO_IGMP                 2        //< Internet group management protocol
#define IPPROTO_GGP                  3        //< Gateway^2 (deprecated)
#define IPPROTO_TCP                  6        //< TCP
#define IPPROTO_PUP                  12       //< PUP
#define IPPROTO_UDP                  17       //< UDP
#define IPPROTO_IDP                  22       //< XNS idp
#define IPPROTO_ND                   77       //< UNOFFICIAL net disk protocol
#define IPPROTO_RAW                  255      //< Raw IP packet
/**
 * @brief Enter a critical section
 *
 * @details It is provided to protect your shared code which are executed without distribution. \n \n
 *
 * In non-OS environment, It can be just implemented by disabling whole interrupt.\n
 * In OS environment, You can replace it to critical section api supported by OS.
 *
 * \sa WIZCHIP_READ(), WIZCHIP_WRITE(), WIZCHIP_READ_BUF(), WIZCHIP_WRITE_BUF()
 * \sa WIZCHIP_CRITICAL_EXIT()
 */
#define WIZCHIP_CRITICAL_ENTER()    WIZCHIP.CRIS._enter()
/**
 * @brief Exit a critical section
 *
 * @details It is provided to protect your shared code which are executed without distribution. \n\n
 *
 * In non-OS environment, It can be just implemented by disabling whole interrupt. \n
 * In OS environment, You can replace it to critical section api supported by OS.
 *
 * @sa WIZCHIP_READ(), WIZCHIP_WRITE(), WIZCHIP_READ_BUF(), WIZCHIP_WRITE_BUF()
 * @sa WIZCHIP_CRITICAL_ENTER()
 */
#define WIZCHIP_CRITICAL_EXIT()     WIZCHIP.CRIS._exit()
////////////////////////
// Basic I/O Function //
////////////////////////
/**
 * @ingroup Basic_IO_function
 * @brief It reads 1 byte value from a register.
 * @param AddrSel Register address
 * @return The value of register
 */
uint8_t  WIZCHIP_READ (uint32_t AddrSel);
/**
 * @ingroup Basic_IO_function
 * @brief It writes 1 byte value to a register.
 * @param AddrSel Register address
 * @param wb Write data
 * @return void
 */
void     WIZCHIP_WRITE(uint32_t AddrSel, uint8_t wb );
/**
 * @ingroup Basic_IO_function
 * @brief It reads sequence data from registers.
 * @param AddrSel Register address
 * @param pBuf Pointer buffer to read data
 * @param len Data length
 */
void     WIZCHIP_READ_BUF (uint32_t AddrSel, uint8_t* pBuf, uint16_t len);
/**
 * @ingroup Basic_IO_function
 * @brief It writes sequence data to registers.
 * @param AddrSel Register address
 * @param pBuf Pointer buffer to write data
 * @param len Data length
 */
void     WIZCHIP_WRITE_BUF(uint32_t AddrSel, uint8_t* pBuf, uint16_t len);
/////////////////////////////////
// Common Register I/O function //
/////////////////////////////////
/**
 * @ingroup Common_register_access_function
 * @brief Set Mode Register
 * @param (uint8_t)mr The value to be set.
 * @sa getMR()
 */
#define setMR(mr) \
    WIZCHIP_WRITE(MR,mr)
/**
 * @ingroup Common_register_access_function
 * @brief Get Mode Register
 * @return uint8_t. The value of Mode register.
 * @sa setMR()
 */
#define getMR() \
        WIZCHIP_READ(MR)
/**
 * @ingroup Common_register_access_function
 * @brief Set gateway IP address
 * @param (uint8_t*)gar Pointer variable to set gateway IP address. It should be allocated 4 bytes.
 * @sa getGAR()
 */
#define setGAR(gar) \
        WIZCHIP_WRITE_BUF(GAR,gar,4)
/**
 * @ingroup Common_register_access_function
 * @brief Get gateway IP address
 * @param (uint8_t*)gar Pointer variable to get gateway IP address. It should be allocated 4 bytes.
 * @sa setGAR()
 */
#define getGAR(gar) \
        WIZCHIP_READ_BUF(GAR,gar,4)
/**
 * @ingroup Common_register_access_function
 * @brief Set subnet mask address
 * @param (uint8_t*)subr Pointer variable to set subnet mask address. It should be allocated 4 bytes.
 * @sa getSUBR()
 */
#define setSUBR(subr) \
        WIZCHIP_WRITE_BUF(SUBR, subr,4)
/**
 * @ingroup Common_register_access_function
 * @brief Get subnet mask address
 * @param (uint8_t*)subr Pointer variable to get subnet mask address. It should be allocated 4 bytes.
 * @sa setSUBR()
 */
#define getSUBR(subr) \
        WIZCHIP_READ_BUF(SUBR, subr, 4)
/**
 * @ingroup Common_register_access_function
 * @brief Set local MAC address
 * @param (uint8_t*)shar Pointer variable to set local MAC address. It should be allocated 6 bytes.
 * @sa getSHAR()
 */
#define setSHAR(shar) \
        WIZCHIP_WRITE_BUF(SHAR, shar, 6)
/**
 * @ingroup Common_register_access_function
 * @brief Get local MAC address
 * @param (uint8_t*)shar Pointer variable to get local MAC address. It should be allocated 6 bytes.
 * @sa setSHAR()
 */
#define getSHAR(shar) \
        WIZCHIP_READ_BUF(SHAR, shar, 6)
/**
 * @ingroup Common_register_access_function
 * @brief Set local IP address
 * @param (uint8_t*)sipr Pointer variable to set local IP address. It should be allocated 4 bytes.
 * @sa getSIPR()
 */
#define setSIPR(sipr) \
        WIZCHIP_WRITE_BUF(SIPR, sipr, 4)
/**
 * @ingroup Common_register_access_function
 * @brief Get local IP address
 * @param (uint8_t*)sipr Pointer variable to get local IP address. It should be allocated 4 bytes.
 * @sa setSIPR()
 */
#define getSIPR(sipr) \
        WIZCHIP_READ_BUF(SIPR, sipr, 4)
/**
 * @ingroup Common_register_access_function
 * @brief Set INTLEVEL register
 * @param (uint16_t)intlevel Value to set @ref INTLEVEL register.
 * @sa getINTLEVEL()
 */
#define setINTLEVEL(intlevel)  {\
        WIZCHIP_WRITE(INTLEVEL,   (uint8_t)(intlevel >> 8)); \
        WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(INTLEVEL,1), (uint8_t) intlevel); \
    }
/**
 * @ingroup Common_register_access_function
 * @brief Get INTLEVEL register
 * @return uint16_t. Value of @ref INTLEVEL register.
 * @sa setINTLEVEL()
 */
#define getINTLEVEL() \
        ((WIZCHIP_READ(INTLEVEL) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(INTLEVEL,1)))
/**
 * @ingroup Common_register_access_function
 * @brief Set @ref IR register
 * @param (uint8_t)ir Value to set @ref IR register.
 * @sa getIR()
 */
#define setIR(ir) \
        WIZCHIP_WRITE(IR, (ir & 0xF0))
/**
 * @ingroup Common_register_access_function
 * @brief Get @ref IR register
 * @return uint8_t. Value of @ref IR register.
 * @sa setIR()
 */
#define getIR() \
        (WIZCHIP_READ(IR) & 0xF0)
/**
 * @ingroup Common_register_access_function
 * @brief Set @ref IMR register
 * @param (uint8_t)imr Value to set @ref IMR register.
 * @sa getIMR()
 */
#define setIMR(imr) \
        WIZCHIP_WRITE(IMR, imr)
/**
 * @ingroup Common_register_access_function
 * @brief Get @ref IMR register
 * @return uint8_t. Value of @ref IMR register.
 * @sa setIMR()
 */
#define getIMR() \
        WIZCHIP_READ(IMR)
/**
 * @ingroup Common_register_access_function
 * @brief Set @ref SIR register
 * @param (uint8_t)sir Value to set @ref SIR register.
 * @sa getSIR()
 */
#define setSIR(sir) \
        WIZCHIP_WRITE(SIR, sir)
/**
 * @ingroup Common_register_access_function
 * @brief Get @ref SIR register
 * @return uint8_t. Value of @ref SIR register.
 * @sa setSIR()
 */
#define getSIR() \
        WIZCHIP_READ(SIR)
/**
 * @ingroup Common_register_access_function
 * @brief Set @ref SIMR register
 * @param (uint8_t)simr Value to set @ref SIMR register.
 * @sa getSIMR()
 */
#define setSIMR(simr) \
        WIZCHIP_WRITE(SIMR, simr)
/**
 * @ingroup Common_register_access_function
 * @brief Get @ref SIMR register
 * @return uint8_t. Value of @ref SIMR register.
 * @sa setSIMR()
 */
#define getSIMR() \
        WIZCHIP_READ(SIMR)
/**
 * @ingroup Common_register_access_function
 * @brief Set @ref RTR register
 * @param (uint16_t)rtr Value to set @ref RTR register.
 * @sa getRTR()
 */
#define setRTR(rtr)   {\
        WIZCHIP_WRITE(RTR,   (uint8_t)(rtr >> 8)); \
        WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(RTR,1), (uint8_t) rtr); \
    }
/**
 * @ingroup Common_register_access_function
 * @brief Get @ref RTR register
 * @return uint16_t. Value of @ref RTR register.
 * @sa setRTR()
 */
#define getRTR() \
        ((WIZCHIP_READ(RTR) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(RTR,1)))
/**
 * @ingroup Common_register_access_function
 * @brief Set @ref RCR register
 * @param (uint8_t)rcr Value to set @ref RCR register.
 * @sa getRCR()
 */
#define setRCR(rcr) \
        WIZCHIP_WRITE(RCR, rcr)
/**
 * @ingroup Common_register_access_function
 * @brief Get @ref RCR register
 * @return uint8_t. Value of @ref RCR register.
 * @sa setRCR()
 */
#define getRCR() \
        WIZCHIP_READ(RCR)
//================================================== test done ===========================================================
/**
 * @ingroup Common_register_access_function
 * @brief Set @ref PTIMER register
 * @param (uint8_t)ptimer Value to set @ref PTIMER register.
 * @sa getPTIMER()
 */
#define setPTIMER(ptimer) \
        WIZCHIP_WRITE(PTIMER, ptimer)
/**
 * @ingroup Common_register_access_function
 * @brief Get @ref PTIMER register
 * @return uint8_t. Value of @ref PTIMER register.
 * @sa setPTIMER()
 */
#define getPTIMER() \
        WIZCHIP_READ(PTIMER)
/**
 * @ingroup Common_register_access_function
 * @brief Set @ref PMAGIC register
 * @param (uint8_t)pmagic Value to set @ref PMAGIC register.
 * @sa getPMAGIC()
 */
#define setPMAGIC(pmagic) \
        WIZCHIP_WRITE(PMAGIC, pmagic)
/**
 * @ingroup Common_register_access_function
 * @brief Get @ref PMAGIC register
 * @return uint8_t. Value of @ref PMAGIC register.
 * @sa setPMAGIC()
 */
#define getPMAGIC() \
        WIZCHIP_READ(PMAGIC)
/**
 * @ingroup Common_register_access_function
 * @brief Set PHAR address
 * @param (uint8_t*)phar Pointer variable to set PPP destination MAC register address. It should be allocated 6 bytes.
 * @sa getPHAR()
 */
#define setPHAR(phar) \
        WIZCHIP_WRITE_BUF(PHAR, phar, 6)
/**
 * @ingroup Common_register_access_function
 * @brief Get local IP address
 * @param (uint8_t*)phar Pointer variable to PPP destination MAC register address. It should be allocated 6 bytes.
 * @sa setPHAR()
 */
#define getPHAR(phar) \
        WIZCHIP_READ_BUF(PHAR, phar, 6)
/**
 * @ingroup Common_register_access_function
 * @brief Set @ref PSID register
 * @param (uint16_t)psid Value to set @ref PSID register.
 * @sa getPSID()
 */
#define setPSID(psid)  {\
        WIZCHIP_WRITE(PSID,   (uint8_t)(psid >> 8)); \
        WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(PSID,1), (uint8_t) psid); \
    }
/**
 * @ingroup Common_register_access_function
 * @brief Get @ref PSID register
 * @return uint16_t. Value of @ref PSID register.
 * @sa setPSID()
 */
//uint16_t getPSID(void);
#define getPSID() \
        ((WIZCHIP_READ(PSID) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(PSID,1)))
/**
 * @ingroup Common_register_access_function
 * @brief Set @ref PMRU register
 * @param (uint16_t)pmru Value to set @ref PMRU register.
 * @sa getPMRU()
 */
#define setPMRU(pmru) { \
        WIZCHIP_WRITE(PMRU,   (uint8_t)(pmru>>8)); \
        WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(PMRU,1), (uint8_t) pmru); \
    }
/**
 * @ingroup Common_register_access_function
 * @brief Get @ref PMRU register
 * @return uint16_t. Value of @ref PMRU register.
 * @sa setPMRU()
 */
#define getPMRU() \
        ((WIZCHIP_READ(PMRU) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(PMRU,1)))
/**
 * @ingroup Common_register_access_function
 * @brief Get unreachable IP address
 * @param (uint8_t*)uipr Pointer variable to get unreachable IP address. It should be allocated 4 bytes.
 */
#define getUIPR(uipr) \
        WIZCHIP_READ_BUF(UIPR,uipr,6)
/**
 * @ingroup Common_register_access_function
 * @brief Get @ref UPORTR register
 * @return uint16_t. Value of @ref UPORTR register.
 */
#define getUPORTR() \
    ((WIZCHIP_READ(UPORTR) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(UPORTR,1)))
/**
 * @ingroup Common_register_access_function
 * @brief Set @ref PHYCFGR register
 * @param (uint8_t)phycfgr Value to set @ref PHYCFGR register.
 * @sa getPHYCFGR()
 */
#define setPHYCFGR(phycfgr) \
        WIZCHIP_WRITE(PHYCFGR, phycfgr)
/**
 * @ingroup Common_register_access_function
 * @brief Get @ref PHYCFGR register
 * @return uint8_t. Value of @ref PHYCFGR register.
 * @sa setPHYCFGR()
 */
#define getPHYCFGR() \
        WIZCHIP_READ(PHYCFGR)
/**
 * @ingroup Common_register_access_function
 * @brief Get @ref VERSIONR register
 * @return uint8_t. Value of @ref VERSIONR register.
 */
#define getVERSIONR() \
        WIZCHIP_READ(VERSIONR)
/////////////////////////////////////
///////////////////////////////////
// Socket N register I/O function //
///////////////////////////////////
/**
 * @ingroup Socket_register_access_function
 * @brief Set @ref Sn_MR register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @param (uint8_t)mr Value to set @ref Sn_MR
 * @sa getSn_MR()
 */
#define setSn_MR(sn, mr) \
        WIZCHIP_WRITE(Sn_MR(sn),mr)
/**
 * @ingroup Socket_register_access_function
 * @brief Get @ref Sn_MR register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @return uint8_t. Value of @ref Sn_MR.
 * @sa setSn_MR()
 */
#define getSn_MR(sn) \
    WIZCHIP_READ(Sn_MR(sn))
/**
 * @ingroup Socket_register_access_function
 * @brief Set @ref Sn_CR register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @param (uint8_t)cr Value to set @ref Sn_CR
 * @sa getSn_CR()
 */
#define setSn_CR(sn, cr) \
        WIZCHIP_WRITE(Sn_CR(sn), cr)
/**
 * @ingroup Socket_register_access_function
 * @brief Get @ref Sn_CR register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @return uint8_t. Value of @ref Sn_CR.
 * @sa setSn_CR()
 */
#define getSn_CR(sn) \
        WIZCHIP_READ(Sn_CR(sn))
/**
 * @ingroup Socket_register_access_function
 * @brief Set @ref Sn_IR register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @param (uint8_t)ir Value to set @ref Sn_IR
 * @sa getSn_IR()
 */
#define setSn_IR(sn, ir) \
        WIZCHIP_WRITE(Sn_IR(sn), (ir & 0x1F))
/**
 * @ingroup Socket_register_access_function
 * @brief Get @ref Sn_IR register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @return uint8_t. Value of @ref Sn_IR.
 * @sa setSn_IR()
 */
#define getSn_IR(sn) \
        (WIZCHIP_READ(Sn_IR(sn)) & 0x1F)
/**
 * @ingroup Socket_register_access_function
 * @brief Set @ref Sn_IMR register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @param (uint8_t)imr Value to set @ref Sn_IMR
 * @sa getSn_IMR()
 */
#define setSn_IMR(sn, imr) \
        WIZCHIP_WRITE(Sn_IMR(sn), (imr & 0x1F))
/**
 * @ingroup Socket_register_access_function
 * @brief Get @ref Sn_IMR register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @return uint8_t. Value of @ref Sn_IMR.
 * @sa setSn_IMR()
 */
#define getSn_IMR(sn) \
        (WIZCHIP_READ(Sn_IMR(sn)) & 0x1F)
/**
 * @ingroup Socket_register_access_function
 * @brief Get @ref Sn_SR register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @return uint8_t. Value of @ref Sn_SR.
 */
#define getSn_SR(sn) \
        WIZCHIP_READ(Sn_SR(sn))
/**
 * @ingroup Socket_register_access_function
 * @brief Set @ref Sn_PORT register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @param (uint16_t)port Value to set @ref Sn_PORT.
 * @sa getSn_PORT()
 */
#define setSn_PORT(sn, port)  { \
        WIZCHIP_WRITE(Sn_PORT(sn),   (uint8_t)(port >> 8)); \
        WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(Sn_PORT(sn),1), (uint8_t) port); \
    }
/**
 * @ingroup Socket_register_access_function
 * @brief Get @ref Sn_PORT register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @return uint16_t. Value of @ref Sn_PORT.
 * @sa setSn_PORT()
 */
#define getSn_PORT(sn) \
        ((WIZCHIP_READ(Sn_PORT(sn)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_PORT(sn),1)))
/**
 * @ingroup Socket_register_access_function
 * @brief Set @ref Sn_DHAR register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @param (uint8_t*)dhar Pointer variable to set socket n destination hardware address. It should be allocated 6 bytes.
 * @sa getSn_DHAR()
 */
#define setSn_DHAR(sn, dhar) \
        WIZCHIP_WRITE_BUF(Sn_DHAR(sn), dhar, 6)
/**
 * @ingroup Socket_register_access_function
 * @brief Get @ref Sn_MR register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @param (uint8_t*)dhar Pointer variable to get socket n destination hardware address. It should be allocated 6 bytes.
 * @sa setSn_DHAR()
 */
#define getSn_DHAR(sn, dhar) \
        WIZCHIP_READ_BUF(Sn_DHAR(sn), dhar, 6)
/**
 * @ingroup Socket_register_access_function
 * @brief Set @ref Sn_DIPR register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @param (uint8_t*)dipr Pointer variable to set socket n destination IP address. It should be allocated 4 bytes.
 * @sa getSn_DIPR()
 */
#define setSn_DIPR(sn, dipr) \
        WIZCHIP_WRITE_BUF(Sn_DIPR(sn), dipr, 4)
/**
 * @ingroup Socket_register_access_function
 * @brief Get @ref Sn_DIPR register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @param (uint8_t*)dipr Pointer variable to get socket n destination IP address. It should be allocated 4 bytes.
 * @sa SetSn_DIPR()
 */
#define getSn_DIPR(sn, dipr) \
        WIZCHIP_READ_BUF(Sn_DIPR(sn), dipr, 4)
/**
 * @ingroup Socket_register_access_function
 * @brief Set @ref Sn_DPORT register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @param (uint16_t)dport Value to set @ref Sn_DPORT
 * @sa getSn_DPORT()
 */
#define setSn_DPORT(sn, dport) { \
        WIZCHIP_WRITE(Sn_DPORT(sn),   (uint8_t) (dport>>8)); \
        WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(Sn_DPORT(sn),1), (uint8_t)  dport); \
    }
/**
 * @ingroup Socket_register_access_function
 * @brief Get @ref Sn_DPORT register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @return uint16_t. Value of @ref Sn_DPORT.
 * @sa setSn_DPORT()
 */
#define getSn_DPORT(sn) \
        ((WIZCHIP_READ(Sn_DPORT(sn)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_DPORT(sn),1)))
/**
 * @ingroup Socket_register_access_function
 * @brief Set @ref Sn_MSSR register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @param (uint16_t)mss Value to set @ref Sn_MSSR
 * @sa setSn_MSSR()
 */
#define setSn_MSSR(sn, mss) { \
        WIZCHIP_WRITE(Sn_MSSR(sn),   (uint8_t)(mss>>8)); \
        WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(Sn_MSSR(sn),1), (uint8_t) mss); \
    }
/**
 * @ingroup Socket_register_access_function
 * @brief Get @ref Sn_MSSR register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @return uint16_t. Value of @ref Sn_MSSR.
 * @sa setSn_MSSR()
 */
#define getSn_MSSR(sn) \
        ((WIZCHIP_READ(Sn_MSSR(sn)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_MSSR(sn),1)))
/**
 * @ingroup Socket_register_access_function
 * @brief Set @ref Sn_TOS register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @param (uint8_t)tos Value to set @ref Sn_TOS
 * @sa getSn_TOS()
 */
#define setSn_TOS(sn, tos) \
        WIZCHIP_WRITE(Sn_TOS(sn), tos)
/**
 * @ingroup Socket_register_access_function
 * @brief Get @ref Sn_TOS register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @return uint8_t. Value of Sn_TOS.
 * @sa setSn_TOS()
 */
#define getSn_TOS(sn) \
        WIZCHIP_READ(Sn_TOS(sn))
/**
 * @ingroup Socket_register_access_function
 * @brief Set @ref Sn_TTL register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @param (uint8_t)ttl Value to set @ref Sn_TTL
 * @sa getSn_TTL()
 */
#define setSn_TTL(sn, ttl) \
        WIZCHIP_WRITE(Sn_TTL(sn), ttl)
/**
 * @ingroup Socket_register_access_function
 * @brief Get @ref Sn_TTL register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @return uint8_t. Value of @ref Sn_TTL.
 * @sa setSn_TTL()
 */
#define getSn_TTL(sn) \
        WIZCHIP_READ(Sn_TTL(sn))
/**
 * @ingroup Socket_register_access_function
 * @brief Set @ref Sn_RXBUF_SIZE register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @param (uint8_t)rxbufsize Value to set @ref Sn_RXBUF_SIZE
 * @sa getSn_RXBUF_SIZE()
 */
#define setSn_RXBUF_SIZE(sn, rxbufsize) \
        WIZCHIP_WRITE(Sn_RXBUF_SIZE(sn),rxbufsize)
/**
 * @ingroup Socket_register_access_function
 * @brief Get @ref Sn_RXBUF_SIZE register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @return uint8_t. Value of @ref Sn_RXBUF_SIZE.
 * @sa setSn_RXBUF_SIZE()
 */
#define getSn_RXBUF_SIZE(sn) \
        WIZCHIP_READ(Sn_RXBUF_SIZE(sn))
/**
 * @ingroup Socket_register_access_function
 * @brief Set @ref Sn_TXBUF_SIZE register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @param (uint8_t)txbufsize Value to set @ref Sn_TXBUF_SIZE
 * @sa getSn_TXBUF_SIZE()
 */
#define setSn_TXBUF_SIZE(sn, txbufsize) \
        WIZCHIP_WRITE(Sn_TXBUF_SIZE(sn), txbufsize)
/**
 * @ingroup Socket_register_access_function
 * @brief Get @ref Sn_TXBUF_SIZE register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @return uint8_t. Value of @ref Sn_TXBUF_SIZE.
 * @sa setSn_TXBUF_SIZE()
 */
#define getSn_TXBUF_SIZE(sn) \
        WIZCHIP_READ(Sn_TXBUF_SIZE(sn))
/**
 * @ingroup Socket_register_access_function
 * @brief Get @ref Sn_TX_FSR register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @return uint16_t. Value of @ref Sn_TX_FSR.
 */
uint16_t getSn_TX_FSR(uint8_t sn);
/**
 * @ingroup Socket_register_access_function
 * @brief Get @ref Sn_TX_RD register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @return uint16_t. Value of @ref Sn_TX_RD.
 */
#define getSn_TX_RD(sn) \
        ((WIZCHIP_READ(Sn_TX_RD(sn)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_TX_RD(sn),1)))
/**
 * @ingroup Socket_register_access_function
 * @brief Set @ref Sn_TX_WR register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @param (uint16_t)txwr Value to set @ref Sn_TX_WR
 * @sa GetSn_TX_WR()
 */
#define setSn_TX_WR(sn, txwr) { \
        WIZCHIP_WRITE(Sn_TX_WR(sn),   (uint8_t)(txwr>>8)); \
        WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(Sn_TX_WR(sn),1), (uint8_t) txwr); \
        }
/**
 * @ingroup Socket_register_access_function
 * @brief Get @ref Sn_TX_WR register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @return uint16_t. Value of @ref Sn_TX_WR.
 * @sa setSn_TX_WR()
 */
#define getSn_TX_WR(sn) \
        ((WIZCHIP_READ(Sn_TX_WR(sn)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_TX_WR(sn),1)))
/**
 * @ingroup Socket_register_access_function
 * @brief Get @ref Sn_RX_RSR register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @return uint16_t. Value of @ref Sn_RX_RSR.
 */
uint16_t getSn_RX_RSR(uint8_t sn);
/**
 * @ingroup Socket_register_access_function
 * @brief Set @ref Sn_RX_RD register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @param (uint16_t)rxrd Value to set @ref Sn_RX_RD
 * @sa getSn_RX_RD()
 */
#define setSn_RX_RD(sn, rxrd) { \
        WIZCHIP_WRITE(Sn_RX_RD(sn),   (uint8_t)(rxrd>>8)); \
        WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(Sn_RX_RD(sn),1), (uint8_t) rxrd); \
    }
/**
 * @ingroup Socket_register_access_function
 * @brief Get @ref Sn_RX_RD register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @regurn uint16_t. Value of @ref Sn_RX_RD.
 * @sa setSn_RX_RD()
 */
#define getSn_RX_RD(sn) \
        ((WIZCHIP_READ(Sn_RX_RD(sn)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_RX_RD(sn),1)))
/**
 * @ingroup Socket_register_access_function
 * @brief Get @ref Sn_RX_WR register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @return uint16_t. Value of @ref Sn_RX_WR.
 */
#define getSn_RX_WR(sn) \
        ((WIZCHIP_READ(Sn_RX_WR(sn)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_RX_WR(sn),1)))
/**
 * @ingroup Socket_register_access_function
 * @brief Set @ref Sn_FRAG register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @param (uint16_t)frag Value to set @ref Sn_FRAG
 * @sa getSn_FRAD()
 */
#define setSn_FRAG(sn, frag) { \
        WIZCHIP_WRITE(Sn_FRAG(sn),  (uint8_t)(frag >>8)); \
        WIZCHIP_WRITE(WIZCHIP_OFFSET_INC(Sn_FRAG(sn),1), (uint8_t) frag); \
    }
/**
 * @ingroup Socket_register_access_function
 * @brief Get @ref Sn_FRAG register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @return uint16_t. Value of @ref Sn_FRAG.
 * @sa setSn_FRAG()
 */
#define getSn_FRAG(sn) \
        ((WIZCHIP_READ(Sn_FRAG(sn)) << 8) + WIZCHIP_READ(WIZCHIP_OFFSET_INC(Sn_FRAG(sn),1)))
/**
 * @ingroup Socket_register_access_function
 * @brief Set @ref Sn_KPALVTR register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @param (uint8_t)kpalvt Value to set @ref Sn_KPALVTR
 * @sa getSn_KPALVTR()
 */
#define setSn_KPALVTR(sn, kpalvt) \
        WIZCHIP_WRITE(Sn_KPALVTR(sn), kpalvt)
/**
 * @ingroup Socket_register_access_function
 * @brief Get @ref Sn_KPALVTR register
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @return uint8_t. Value of @ref Sn_KPALVTR.
 * @sa setSn_KPALVTR()
 */
#define getSn_KPALVTR(sn) \
        WIZCHIP_READ(Sn_KPALVTR(sn))
//////////////////////////////////////
/////////////////////////////////////
// Sn_TXBUF & Sn_RXBUF IO function //
/////////////////////////////////////
/**
 * @brief Gets the max buffer size of socket sn passed as parameter.
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @return uint16_t. Value of Socket n RX max buffer size.
 */
#define getSn_RxMAX(sn) \
        (getSn_RXBUF_SIZE(sn) << 10)
/**
 * @brief Gets the max buffer size of socket sn passed as parameters.
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @return uint16_t. Value of Socket n TX max buffer size.
 */
//uint16_t getSn_TxMAX(uint8_t sn);
#define getSn_TxMAX(sn) \
        (getSn_TXBUF_SIZE(sn) << 10)
/**
 * @ingroup Basic_IO_function
 * @brief It copies data to internal TX memory
 *
 * @details This function reads the Tx write pointer register and after that,
 * it copies the <i>wizdata(pointer buffer)</i> of the length of <i>len(variable)</i> bytes to internal TX memory
 * and updates the Tx write pointer register.
 * This function is being called by send() and sendto() function also.
 *
 * @note User should read upper byte first and lower byte later to get proper value.
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @param wizdata Pointer buffer to write data
 * @param len Data length
 * @sa wiz_recv_data()
 */
void wiz_send_data(uint8_t sn, uint8_t *wizdata, uint16_t len);
/**
 * @ingroup Basic_IO_function
 * @brief It copies data to your buffer from internal RX memory
 *
 * @details This function read the Rx read pointer register and after that,
 * it copies the received data from internal RX memory
 * to <i>wizdata(pointer variable)</i> of the length of <i>len(variable)</i> bytes.
 * This function is being called by recv() also.
 *
 * @note User should read upper byte first and lower byte later to get proper value.
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @param wizdata Pointer buffer to read data
 * @param len Data length
 * @sa wiz_send_data()
 */
void wiz_recv_data(uint8_t sn, uint8_t *wizdata, uint16_t len);
/**
 * @ingroup Basic_IO_function
 * @brief It discard the received data in RX memory.
 * @details It discards the data of the length of <i>len(variable)</i> bytes in internal RX memory.
 * @param (uint8_t)sn Socket number. It should be <b>0 ~ 7</b>.
 * @param len Data length
 */
void wiz_recv_ignore(uint8_t sn, uint16_t len);
#endif   // _W5500_H_
KAD/Ethernet/loopback.c
New file
@@ -0,0 +1,225 @@
#include <stdio.h>
#include "loopback.h"
#include "socket.h"
#include "wizchip_conf.h"
#if LOOPBACK_MODE == LOOPBACK_MAIN_NOBLCOK
int32_t loopback_tcps(uint8_t sn, uint8_t* buf, uint16_t port)
{
   int32_t ret;
   uint16_t size = 0, sentsize=0;
#ifdef _LOOPBACK_DEBUG_
   uint8_t destip[4];
   uint16_t destport;
#endif
   switch(getSn_SR(sn))
   {
      case SOCK_ESTABLISHED :
         if(getSn_IR(sn) & Sn_IR_CON)
         {
#ifdef _LOOPBACK_DEBUG_
            getSn_DIPR(sn, destip);
            destport = getSn_DPORT(sn);
            printf("%d:Connected - %d.%d.%d.%d : %d\r\n",sn, destip[0], destip[1], destip[2], destip[3], destport);
#endif
            setSn_IR(sn,Sn_IR_CON);
         }
         if((size = getSn_RX_RSR(sn)) > 0) // Don't need to check SOCKERR_BUSY because it doesn't not occur.
         {
            if(size > DATA_BUF_SIZE) size = DATA_BUF_SIZE;
            ret = recv(sn, buf, size);
            if(ret <= 0) return ret;      // check SOCKERR_BUSY & SOCKERR_XXX. For showing the occurrence of SOCKERR_BUSY.
            size = (uint16_t) ret;
            sentsize = 0;
            while(size != sentsize)
            {
                ret = send(sn, buf+sentsize, size-sentsize);
                if(ret < 0)
                {
                    close(sn);
                    return ret;
                }
                sentsize += ret; // Don't care SOCKERR_BUSY, because it is zero.
            }
         }
         break;
      case SOCK_CLOSE_WAIT :
#ifdef _LOOPBACK_DEBUG_
         //printf("%d:CloseWait\r\n",sn);
#endif
         if((ret = disconnect(sn)) != SOCK_OK) return ret;
#ifdef _LOOPBACK_DEBUG_
         printf("%d:Socket Closed\r\n", sn);
#endif
         break;
      case SOCK_INIT :
#ifdef _LOOPBACK_DEBUG_
         printf("%d:Listen, TCP server loopback, port [%d]\r\n", sn, port);
#endif
         if( (ret = listen(sn)) != SOCK_OK) return ret;
         break;
      case SOCK_CLOSED:
#ifdef _LOOPBACK_DEBUG_
         //printf("%d:TCP server loopback start\r\n",sn);
#endif
         if((ret = socket(sn, Sn_MR_TCP, port, 0x00)) != sn) return ret;
#ifdef _LOOPBACK_DEBUG_
         //printf("%d:Socket opened\r\n",sn);
#endif
         break;
      default:
         break;
   }
   return 1;
}
int32_t loopback_tcpc(uint8_t sn, uint8_t* buf, uint8_t* destip, uint16_t destport)
{
   int32_t ret; // return value for SOCK_ERRORs
   uint16_t size = 0, sentsize=0;
   // Destination (TCP Server) IP info (will be connected)
   // >> loopback_tcpc() function parameter
   // >> Ex)
   //    uint8_t destip[4] =     {192, 168, 0, 214};
   //    uint16_t destport =     5000;
   // Port number for TCP client (will be increased)
   static uint16_t any_port =     50000;
   // Socket Status Transitions
   // Check the W5500 Socket n status register (Sn_SR, The 'Sn_SR' controlled by Sn_CR command or Packet send/recv status)
   switch(getSn_SR(sn))
   {
      case SOCK_ESTABLISHED :
         if(getSn_IR(sn) & Sn_IR_CON)    // Socket n interrupt register mask; TCP CON interrupt = connection with peer is successful
         {
#ifdef _LOOPBACK_DEBUG_
            printf("%d:Connected to - %d.%d.%d.%d : %d\r\n",sn, destip[0], destip[1], destip[2], destip[3], destport);
#endif
            setSn_IR(sn, Sn_IR_CON);  // this interrupt should be write the bit cleared to '1'
         }
         //////////////////////////////////////////////////////////////////////////////////////////////
         // Data Transaction Parts; Handle the [data receive and send] process
         //////////////////////////////////////////////////////////////////////////////////////////////
         if((size = getSn_RX_RSR(sn)) > 0) // Sn_RX_RSR: Socket n Received Size Register, Receiving data length
         {
            if(size > DATA_BUF_SIZE) size = DATA_BUF_SIZE; // DATA_BUF_SIZE means user defined buffer size (array)
            ret = recv(sn, buf, size); // Data Receive process (H/W Rx socket buffer -> User's buffer)
            if(ret <= 0) return ret; // If the received data length <= 0, receive failed and process end
            size = (uint16_t) ret;
            sentsize = 0;
            // Data sentsize control
            while(size != sentsize)
            {
                ret = send(sn, buf+sentsize, size-sentsize); // Data send process (User's buffer -> Destination through H/W Tx socket buffer)
                if(ret < 0) // Send Error occurred (sent data length < 0)
                {
                    close(sn); // socket close
                    return ret;
                }
                sentsize += ret; // Don't care SOCKERR_BUSY, because it is zero.
            }
         }
         //////////////////////////////////////////////////////////////////////////////////////////////
         break;
      case SOCK_CLOSE_WAIT :
#ifdef _LOOPBACK_DEBUG_
         //printf("%d:CloseWait\r\n",sn);
#endif
         if((ret=disconnect(sn)) != SOCK_OK) return ret;
#ifdef _LOOPBACK_DEBUG_
         printf("%d:Socket Closed\r\n", sn);
#endif
         break;
      case SOCK_INIT :
#ifdef _LOOPBACK_DEBUG_
         printf("%d:Try to connect to the %d.%d.%d.%d : %d\r\n", sn, destip[0], destip[1], destip[2], destip[3], destport);
#endif
         if( (ret = connect(sn, destip, destport)) != SOCK_OK) return ret;    //    Try to TCP connect to the TCP server (destination)
         break;
      case SOCK_CLOSED:
          close(sn);
          if((ret=socket(sn, Sn_MR_TCP, any_port++, 0x00)) != sn){
         if(any_port == 0xffff) any_port = 50000;
         return ret; // TCP socket open with 'any_port' port number
        }
#ifdef _LOOPBACK_DEBUG_
         //printf("%d:TCP client loopback start\r\n",sn);
         //printf("%d:Socket opened\r\n",sn);
#endif
         break;
      default:
         break;
   }
   return 1;
}
int32_t loopback_udps(uint8_t sn, uint8_t* buf, uint16_t port)
{
   int32_t  ret;
   uint16_t size, sentsize;
   uint8_t  destip[4];
   uint16_t destport;
   switch(getSn_SR(sn))
   {
      case SOCK_UDP :
         if((size = getSn_RX_RSR(sn)) > 0)
         {
            if(size > DATA_BUF_SIZE) size = DATA_BUF_SIZE;
            ret = recvfrom(sn, buf, size, destip, (uint16_t*)&destport);
            if(ret <= 0)
            {
#ifdef _LOOPBACK_DEBUG_
               printf("%d: recvfrom error. %ld\r\n",sn,ret);
#endif
               return ret;
            }
            size = (uint16_t) ret;
            sentsize = 0;
            while(sentsize != size)
            {
               ret = sendto(sn, buf+sentsize, size-sentsize, destip, destport);
               if(ret < 0)
               {
#ifdef _LOOPBACK_DEBUG_
                  printf("%d: sendto error. %ld\r\n",sn,ret);
#endif
                  return ret;
               }
               sentsize += ret; // Don't care SOCKERR_BUSY, because it is zero.
            }
         }
         break;
      case SOCK_CLOSED:
#ifdef _LOOPBACK_DEBUG_
         //printf("%d:UDP loopback start\r\n",sn);
#endif
         if((ret = socket(sn, Sn_MR_UDP, port, 0x00)) != sn)
            return ret;
#ifdef _LOOPBACK_DEBUG_
         printf("%d:Opened, UDP loopback, port [%d]\r\n", sn, port);
#endif
         break;
      default :
         break;
   }
   return 1;
}
#endif
KAD/Ethernet/loopback.h
New file
@@ -0,0 +1,38 @@
#ifndef _LOOPBACK_H_
#define _LOOPBACK_H_
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
/* Loopback test debug message printout enable */
// #define    _LOOPBACK_DEBUG_
/* DATA_BUF_SIZE define for Loopback example */
#ifndef DATA_BUF_SIZE
    #define DATA_BUF_SIZE            256
#endif
/************************/
/* Select LOOPBACK_MODE */
/************************/
#define LOOPBACK_MAIN_NOBLOCK    0
#define LOOPBACK_MODE   LOOPBACK_MAIN_NOBLOCK
/* TCP server Loopback test example */
int32_t loopback_tcps(uint8_t sn, uint8_t* buf, uint16_t port);
/* TCP client Loopback test example */
int32_t loopback_tcpc(uint8_t sn, uint8_t* buf, uint8_t* destip, uint16_t destport);
/* UDP Loopback test example */
int32_t loopback_udps(uint8_t sn, uint8_t* buf, uint16_t port);
#ifdef __cplusplus
}
#endif
#endif
KAD/Ethernet/socket.c
New file
@@ -0,0 +1,688 @@
//*****************************************************************************
//
//! \file socket.c
//! \brief SOCKET APIs Implements file.
//! \details SOCKET APIs like as Berkeley Socket APIs.
//! \version 1.0.3
//! \date 2013/10/21
//! \par  Revision history
//!       <2014/05/01> V1.0.3. Refer to M20140501
//!         1. Implicit type casting -> Explicit type casting.
//!         2. replace 0x01 with PACK_REMAINED in recvfrom()
//!         3. Validation a destination ip in connect() & sendto():
//!            It occurs a fatal error on converting unint32 address if uint8* addr parameter is not aligned by 4byte address.
//!            Copy 4 byte addr value into temporary uint32 variable and then compares it.
//!       <2013/12/20> V1.0.2 Refer to M20131220
//!                    Remove Warning.
//!       <2013/11/04> V1.0.1 2nd Release. Refer to "20131104".
//!                    In sendto(), Add to clear timeout interrupt status (Sn_IR_TIMEOUT)
//!       <2013/10/21> 1st Release
//! \author MidnightCow
//! \copyright
//!
//! Copyright (c)  2013, WIZnet Co., LTD.
//! All rights reserved.
//!
//! Redistribution and use in source and binary forms, with or without
//! modification, are permitted provided that the following conditions
//! are met:
//!
//!     * Redistributions of source code must retain the above copyright
//! notice, this list of conditions and the following disclaimer.
//!     * 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.
//!     * Neither the name of the <ORGANIZATION> nor the names of its
//! contributors may be used to endorse or promote products derived
//! from this software without specific prior written permission.
//!
//! 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 OWNER 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.
//
//*****************************************************************************
#include "socket.h"
#define SOCK_ANY_PORT_NUM  0xC000;
static uint16_t sock_any_port = SOCK_ANY_PORT_NUM;
static uint16_t sock_io_mode = 0;
static uint16_t sock_is_sending = 0;
static uint16_t sock_remained_size[_WIZCHIP_SOCK_NUM_] = {0,0,};
static uint8_t  sock_pack_info[_WIZCHIP_SOCK_NUM_] = {0,};
#if _WIZCHIP_ == 5200
   static uint16_t sock_next_rd[_WIZCHIP_SOCK_NUM_] ={0,};
#endif
#define CHECK_SOCKNUM()   \
   do{                    \
      if(sn > _WIZCHIP_SOCK_NUM_) return SOCKERR_SOCKNUM;   \
   }while(0);             \
#define CHECK_SOCKMODE(mode)  \
   do{                     \
      if((getSn_MR(sn) & 0x0F) != mode) return SOCKERR_SOCKMODE;  \
   }while(0);              \
#define CHECK_SOCKINIT()   \
   do{                     \
      if((getSn_SR(sn) != SOCK_INIT)) return SOCKERR_SOCKINIT; \
   }while(0);              \
#define CHECK_SOCKDATA()   \
   do{                     \
      if(len == 0) return SOCKERR_DATALEN;   \
   }while(0);              \
int8_t socket(uint8_t sn, uint8_t protocol, uint16_t port, uint8_t flag)
{
    CHECK_SOCKNUM();
    switch(protocol)
    {
      case Sn_MR_TCP :
      case Sn_MR_UDP :
      case Sn_MR_MACRAW :
         break;
   #if ( _WIZCHIP_ < 5200 )
      case Sn_MR_IPRAW :
      case Sn_MR_PPPoE :
         break;
   #endif
      default :
         return SOCKERR_SOCKMODE;
    }
    if((flag & 0x06) != 0) return SOCKERR_SOCKFLAG;
#if _WIZCHIP_ == 5200
   if(flag & 0x10) return SOCKERR_SOCKFLAG;
#endif
    if(flag != 0)
    {
       switch(protocol)
       {
          case Sn_MR_TCP:
             if((flag & (SF_TCP_NODELAY|SF_IO_NONBLOCK))==0) return SOCKERR_SOCKFLAG;
             break;
          case Sn_MR_UDP:
             if(flag & SF_IGMP_VER2)
             {
                if((flag & SF_MULTI_ENABLE)==0) return SOCKERR_SOCKFLAG;
             }
             #if _WIZCHIP_ == 5500
                if(flag & SF_UNI_BLOCK)
                {
                   if((flag & SF_MULTI_ENABLE) == 0) return SOCKERR_SOCKFLAG;
                }
             #endif
             break;
          default:
             break;
       }
   }
    close(sn);
    setSn_MR(sn, (protocol | (flag & 0xF0)));
    if(!port)
    {
       port = sock_any_port++;
       if(sock_any_port == 0xFFF0) sock_any_port = SOCK_ANY_PORT_NUM;
    }
   setSn_PORT(sn,port);
   setSn_CR(sn,Sn_CR_OPEN);
   while(getSn_CR(sn));
    sock_io_mode |= ((flag & SF_IO_NONBLOCK) << sn);
   sock_is_sending &= ~(1<<sn);
   sock_remained_size[sn] = 0;
   sock_pack_info[sn] = 0;
   while(getSn_SR(sn) == SOCK_CLOSED);
   return (int8_t)sn;
}
int8_t close(uint8_t sn)
{
    CHECK_SOCKNUM();
    setSn_CR(sn,Sn_CR_CLOSE);
   /* wait to process the command... */
    while( getSn_CR(sn) );
    /* clear all interrupt of the socket. */
    setSn_IR(sn, 0xFF);
    sock_is_sending &= ~(1<<sn);
    sock_remained_size[sn] = 0;
    sock_pack_info[sn] = 0;
    while(getSn_SR(sn) != SOCK_CLOSED);
    return SOCK_OK;
}
int8_t listen(uint8_t sn)
{
    CHECK_SOCKNUM();
   CHECK_SOCKMODE(Sn_MR_TCP);
    CHECK_SOCKINIT();
    setSn_CR(sn,Sn_CR_LISTEN);
    while(getSn_CR(sn));
   while(getSn_SR(sn) != SOCK_LISTEN)
   {
      if(getSn_CR(sn) == SOCK_CLOSED)
      {
         close(sn);
         return SOCKERR_SOCKCLOSED;
      }
   }
   return SOCK_OK;
}
int8_t connect(uint8_t sn, uint8_t * addr, uint16_t port)
{
   CHECK_SOCKNUM();
   CHECK_SOCKMODE(Sn_MR_TCP);
   CHECK_SOCKINIT();
   //M20140501 : For avoiding fatal error on memory align mismatched
   //if( *((uint32_t*)addr) == 0xFFFFFFFF || *((uint32_t*)addr) == 0) return SOCKERR_IPINVALID;
   {
      uint32_t taddr;
      taddr = ((uint32_t)addr[0] & 0x000000FF);
      taddr = (taddr << 8) + ((uint32_t)addr[1] & 0x000000FF);
      taddr = (taddr << 8) + ((uint32_t)addr[2] & 0x000000FF);
      taddr = (taddr << 8) + ((uint32_t)addr[0] & 0x000000FF);
      if( taddr == 0xFFFFFFFF || taddr == 0) return SOCKERR_IPINVALID;
   }
   //
    if(port == 0) return SOCKERR_PORTZERO;
    setSn_DIPR(sn,addr);
    setSn_DPORT(sn,port);
   #if _WIZCHIP_ == 5200   // for W5200 ARP errata
      setSUBR(0);
   #endif
    setSn_CR(sn,Sn_CR_CONNECT);
   while(getSn_CR(sn));
   if(sock_io_mode & (1<<sn)) return SOCK_BUSY;
   while(getSn_SR(sn) != SOCK_ESTABLISHED)
   {
        if (getSn_IR(sn) & Sn_IR_TIMEOUT)
        {
            setSn_IR(sn, Sn_IR_TIMEOUT);
         #if _WIZCHIP_ == 5200   // for W5200 ARP errata
            setSUBR((uint8_t*)"\x00\x00\x00\x00");
         #endif
         return SOCKERR_TIMEOUT;
        }
    }
   #if _WIZCHIP_ == 5200   // for W5200 ARP errata
      setSUBR((uint8_t*)"\x00\x00\x00\x00");
   #endif
   return SOCK_OK;
}
int8_t disconnect(uint8_t sn)
{
   CHECK_SOCKNUM();
   CHECK_SOCKMODE(Sn_MR_TCP);
    setSn_CR(sn,Sn_CR_DISCON);
    /* wait to process the command... */
    while(getSn_CR(sn));
    sock_is_sending &= ~(1<<sn);
   if(sock_io_mode & (1<<sn)) return SOCK_BUSY;
    while(getSn_SR(sn) != SOCK_CLOSED)
    {
       if(getSn_IR(sn) & Sn_IR_TIMEOUT)
       {
          close(sn);
          return SOCKERR_TIMEOUT;
       }
    }
    return SOCK_OK;
}
int32_t send(uint8_t sn, uint8_t * buf, uint16_t len)
{
   uint8_t tmp=0;
   uint16_t freesize=0;
   CHECK_SOCKNUM();
   CHECK_SOCKMODE(Sn_MR_TCP);
   CHECK_SOCKDATA();
   tmp = getSn_SR(sn);
   if(tmp != SOCK_ESTABLISHED && tmp != SOCK_CLOSE_WAIT) return SOCKERR_SOCKSTATUS;
   if( sock_is_sending & (1<<sn) )
   {
      tmp = getSn_IR(sn);
      if(tmp & Sn_IR_SENDOK)
      {
         setSn_IR(sn, Sn_IR_SENDOK);
         #if _WZICHIP_ == 5200
            if(getSn_TX_RD(sn) != sock_next_rd[sn])
            {
               setSn_CR(sn,Sn_CR_SEND);
               while(getSn_CR(sn));
               return SOCKERR_BUSY;
            }
         #endif
         sock_is_sending &= ~(1<<sn);
      }
      else if(tmp & Sn_IR_TIMEOUT)
      {
         close(sn);
         return SOCKERR_TIMEOUT;
      }
      else return SOCK_BUSY;
   }
   freesize = getSn_TxMAX(sn);
   if (len > freesize) len = freesize; // check size not to exceed MAX size.
   while(1)
   {
      freesize = getSn_TX_FSR(sn);
      tmp = getSn_SR(sn);
      if ((tmp != SOCK_ESTABLISHED) && (tmp != SOCK_CLOSE_WAIT))
      {
         close(sn);
         return SOCKERR_SOCKSTATUS;
      }
      if( (sock_io_mode & (1<<sn)) && (len > freesize) ) return SOCK_BUSY;
      if(len <= freesize) break;
   }
   wiz_send_data(sn, buf, len);
   #if _WIZCHIP_ == 5200
      sock_next_rd[sn] = getSn_TX_RD(sn) + len;
   #endif
   setSn_CR(sn,Sn_CR_SEND);
   /* wait to process the command... */
   while(getSn_CR(sn));
   sock_is_sending |= (1 << sn);
   return len;
}
int32_t recv(uint8_t sn, uint8_t * buf, uint16_t len)
{
   uint8_t  tmp = 0;
   uint16_t recvsize = 0;
   CHECK_SOCKNUM();
   CHECK_SOCKMODE(Sn_MR_TCP);
   CHECK_SOCKDATA();
   recvsize = getSn_RxMAX(sn);
   if(recvsize < len) len = recvsize;
   while(1)
   {
      recvsize = getSn_RX_RSR(sn);
      tmp = getSn_SR(sn);
      if (tmp != SOCK_ESTABLISHED)
      {
         if(tmp == SOCK_CLOSE_WAIT)
         {
            if(recvsize != 0) break;
            else if(getSn_TX_FSR(sn) == getSn_TxMAX(sn))
            {
               close(sn);
               return SOCKERR_SOCKSTATUS;
            }
         }
         else
         {
            close(sn);
            return SOCKERR_SOCKSTATUS;
         }
      }
      if((sock_io_mode & (1<<sn)) && (recvsize == 0)) return SOCK_BUSY;
      if(recvsize != 0) break;
   };
   if(recvsize < len) len = recvsize;
   wiz_recv_data(sn, buf, len);
   setSn_CR(sn,Sn_CR_RECV);
   while(getSn_CR(sn));
   return len;
}
int32_t sendto(uint8_t sn, uint8_t * buf, uint16_t len, uint8_t * addr, uint16_t port)
{
   uint8_t tmp = 0;
   uint16_t freesize = 0;
   CHECK_SOCKNUM();
   switch(getSn_MR(sn) & 0x0F)
   {
      case Sn_MR_UDP:
      case Sn_MR_MACRAW:
         break;
      default:
         return SOCKERR_SOCKMODE;
   }
   CHECK_SOCKDATA();
   //M20140501 : For avoiding fatal error on memory align mismatched
   //if(*((uint32_t*)addr) == 0) return SOCKERR_IPINVALID;
   {
      uint32_t taddr;
      taddr = ((uint32_t)addr[0]) & 0x000000FF;
      taddr = (taddr << 8) + ((uint32_t)addr[1] & 0x000000FF);
      taddr = (taddr << 8) + ((uint32_t)addr[2] & 0x000000FF);
      taddr = (taddr << 8) + ((uint32_t)addr[3] & 0x000000FF);
   }
   //
   if(*((uint32_t*)addr) == 0) return SOCKERR_IPINVALID;
   if(port == 0)               return SOCKERR_PORTZERO;
   tmp = getSn_SR(sn);
   if(tmp != SOCK_MACRAW && tmp != SOCK_UDP) return SOCKERR_SOCKSTATUS;
   setSn_DIPR(sn,addr);
   setSn_DPORT(sn,port);
   freesize = getSn_TxMAX(sn);
   if (len > freesize) len = freesize; // check size not to exceed MAX size.
   while(1)
   {
      freesize = getSn_TX_FSR(sn);
      if(getSn_SR(sn) == SOCK_CLOSED) return SOCKERR_SOCKCLOSED;
      if( (sock_io_mode & (1<<sn)) && (len > freesize) ) return SOCK_BUSY;
      if(len <= freesize) break;
   };
    wiz_send_data(sn, buf, len);
   #if _WIZCHIP_ == 5200   // for W5200 ARP errata
      setSUBR(0);
   #endif
    setSn_CR(sn,Sn_CR_SEND);
    /* wait to process the command... */
    while(getSn_CR(sn));
   #if _WIZCHIP_ == 5200   // for W5200 ARP errata
      setSUBR((uint8_t*)"\x00\x00\x00\x00");
   #endif
   while(1)
   {
      tmp = getSn_IR(sn);
      if(tmp & Sn_IR_SENDOK)
      {
         setSn_IR(sn, Sn_IR_SENDOK);
         break;
      }
      //M:20131104
      //else if(tmp & Sn_IR_TIMEOUT) return SOCKERR_TIMEOUT;
      else if(tmp & Sn_IR_TIMEOUT)
      {
         setSn_IR(sn, Sn_IR_TIMEOUT);
         return SOCKERR_TIMEOUT;
      }
      ////////////
   }
    return len;
}
int32_t recvfrom(uint8_t sn, uint8_t * buf, uint16_t len, uint8_t * addr, uint16_t *port)
{
   uint8_t  mr;
   uint8_t  head[8];
    uint16_t pack_len=0;
   CHECK_SOCKNUM();
   //CHECK_SOCKMODE(Sn_MR_UDP);
   switch((mr=getSn_MR(sn)) & 0x0F)
   {
      case Sn_MR_UDP:
      case Sn_MR_MACRAW:
         break;
   #if ( _WIZCHIP_ < 5200 )
      case Sn_MR_IPRAW:
      case Sn_MR_PPPoE:
         break;
   #endif
      default:
         return SOCKERR_SOCKMODE;
   }
   CHECK_SOCKDATA();
   if(sock_remained_size[sn] == 0)
   {
      while(1)
      {
         pack_len = getSn_RX_RSR(sn);
         if(getSn_SR(sn) == SOCK_CLOSED) return SOCKERR_SOCKCLOSED;
         if( (sock_io_mode & (1<<sn)) && (pack_len == 0) ) return SOCK_BUSY;
         if(pack_len != 0) break;
      };
   }
   sock_pack_info[sn] = PACK_COMPLETED;
    switch (mr & 0x07)
    {
       case Sn_MR_UDP :
          if(sock_remained_size[sn] == 0)
          {
               wiz_recv_data(sn, head, 8);
               setSn_CR(sn,Sn_CR_RECV);
               while(getSn_CR(sn));
               // read peer's IP address, port number & packet length
                addr[0] = head[0];
               addr[1] = head[1];
               addr[2] = head[2];
               addr[3] = head[3];
               *port = head[4];
               *port = (*port << 8) + head[5];
               sock_remained_size[sn] = head[6];
               sock_remained_size[sn] = (sock_remained_size[sn] << 8) + head[7];
               sock_pack_info[sn] = PACK_FIRST;
          }
            if(len < sock_remained_size[sn]) pack_len = len;
            else pack_len = sock_remained_size[sn];
            //
            // Need to packet length check (default 1472)
            //
           wiz_recv_data(sn, buf, pack_len); // data copy.
            break;
       case Sn_MR_MACRAW :
          if(sock_remained_size[sn] == 0)
          {
               wiz_recv_data(sn, head, 2);
               setSn_CR(sn,Sn_CR_RECV);
               while(getSn_CR(sn));
               // read peer's IP address, port number & packet length
                sock_remained_size[sn] = head[0];
               sock_remained_size[sn] = (sock_remained_size[sn] <<8) + head[1];
               if(sock_remained_size[sn] > 1514)
               {
                  close(sn);
                  return SOCKFATAL_PACKLEN;
               }
               sock_pack_info[sn] = PACK_FIRST;
          }
            if(len < sock_remained_size[sn]) pack_len = len;
            else pack_len = sock_remained_size[sn];
            wiz_recv_data(sn,buf,pack_len);
           break;
   #if ( _WIZCHIP_ < 5200 )
        case Sn_MR_IPRAW:
           if(sock_remained_size[sn] == 0)
           {
               wiz_recv_data(sn, head, 6);
               setSn_CR(sn,Sn_CR_RECV);
               while(getSn_CR(sn));
               addr[0] = head[0];
               addr[1] = head[1];
               addr[2] = head[2];
               addr[3] = head[3];
               sock_remained_size[sn] = head[4];
               sock_remaiend_size[sn] = (sock_remained_size[sn] << 8) + head[5];
               sock_pack_info[sn] = PACK_FIRST;
         }
            //
            // Need to packet length check
            //
            if(len < sock_remained_size[sn]) pack_len = len;
            else pack_len = sock_remained_size[sn];
           wiz_recv_data(sn, buf, pack_len); // data copy.
            break;
   #endif
      default:
         wiz_recv_ignore(sn, pack_len); // data copy.
         sock_remained_size[sn] = pack_len;
         break;
   }
    setSn_CR(sn,Sn_CR_RECV);
    /* wait to process the command... */
    while(getSn_CR(sn)) ;
    sock_remained_size[sn] -= pack_len;
    //M20140501 : replace 0x01 with PACK_REMAINED
    //if(sock_remained_size[sn] != 0) sock_pack_info[sn] |= 0x01;
    if(sock_remained_size[sn] != 0) sock_pack_info[sn] |= PACK_REMAINED;
   //
     return pack_len;
}
int8_t  ctlsocket(uint8_t sn, ctlsock_type cstype, void* arg)
{
   uint8_t tmp = 0;
   CHECK_SOCKNUM();
   switch(cstype)
   {
      case CS_SET_IOMODE:
         tmp = *((uint8_t*)arg);
         if(tmp == SOCK_IO_NONBLOCK)  sock_io_mode |= (1<<sn);
         else if(tmp == SOCK_IO_BLOCK) sock_io_mode &= ~(1<<sn);
         else return SOCKERR_ARG;
         break;
      case CS_GET_IOMODE:
         //M20140501 : implict type casting -> explict type casting
         //*((uint8_t*)arg) = (sock_io_mode >> sn) & 0x0001;
         *((uint8_t*)arg) = (uint8_t)((sock_io_mode >> sn) & 0x0001);
         //
         break;
      case CS_GET_MAXTXBUF:
         *((uint16_t*)arg) = getSn_TxMAX(sn);
         break;
      case CS_GET_MAXRXBUF:
         *((uint16_t*)arg) = getSn_RxMAX(sn);
         break;
      case CS_CLR_INTERRUPT:
         if( (*(uint8_t*)arg) > SIK_ALL) return SOCKERR_ARG;
         setSn_IR(sn,*(uint8_t*)arg);
         break;
      case CS_GET_INTERRUPT:
         *((uint8_t*)arg) = getSn_IR(sn);
         break;
      case CS_SET_INTMASK:
         if( (*(uint8_t*)arg) > SIK_ALL) return SOCKERR_ARG;
         setSn_IMR(sn,*(uint8_t*)arg);
         break;
      case CS_GET_INTMASK:
         *((uint8_t*)arg) = getSn_IMR(sn);
      default:
         return SOCKERR_ARG;
   }
   return SOCK_OK;
}
int8_t  setsockopt(uint8_t sn, sockopt_type sotype, void* arg)
{
 // M20131220 : Remove warning
 //uint8_t tmp;
   CHECK_SOCKNUM();
   switch(sotype)
   {
      case SO_TTL:
         setSn_TTL(sn,*(uint8_t*)arg);
         break;
      case SO_TOS:
         setSn_TOS(sn,*(uint8_t*)arg);
         break;
      case SO_MSS:
         setSn_MSSR(sn,*(uint16_t*)arg);
         break;
      case SO_DESTIP:
         setSn_DIPR(sn, (uint8_t*)arg);
         break;
      case SO_DESTPORT:
         setSn_DPORT(sn, *(uint16_t*)arg);
         break;
#if _WIZCHIP_ != 5100
      case SO_KEEPALIVESEND:
         CHECK_SOCKMODE(Sn_MR_TCP);
         #if _WIZCHIP_ > 5200
            if(getSn_KPALVTR(sn) != 0) return SOCKERR_SOCKOPT;
         #endif
            setSn_CR(sn,Sn_CR_SEND_KEEP);
            while(getSn_CR(sn) != 0)
            {
               // M20131220
                 //if ((tmp = getSn_IR(sn)) & Sn_IR_TIMEOUT)
               if (getSn_IR(sn) & Sn_IR_TIMEOUT)
                 {
                     setSn_IR(sn, Sn_IR_TIMEOUT);
                  return SOCKERR_TIMEOUT;
                 }
            }
         break;
   #if _WIZCHIP_ > 5200
      case SO_KEEPALIVEAUTO:
         CHECK_SOCKMODE(Sn_MR_TCP);
         setSn_KPALVTR(sn,*(uint8_t*)arg);
         break;
   #endif
#endif
      default:
         return SOCKERR_ARG;
   }
   return SOCK_OK;
}
int8_t  getsockopt(uint8_t sn, sockopt_type sotype, void* arg)
{
   CHECK_SOCKNUM();
   switch(sotype)
   {
      case SO_FLAG:
         *(uint8_t*)arg = getSn_MR(sn) & 0xF0;
         break;
      case SO_TTL:
         *(uint8_t*) arg = getSn_TTL(sn);
         break;
      case SO_TOS:
         *(uint8_t*) arg = getSn_TOS(sn);
         break;
      case SO_MSS:
         *(uint8_t*) arg = getSn_MSSR(sn);
      case SO_DESTIP:
         getSn_DIPR(sn, (uint8_t*)arg);
         break;
      case SO_DESTPORT:
         *(uint16_t*) arg = getSn_DPORT(sn);
         break;
   #if _WIZCHIP_ > 5200
      case SO_KEEPALIVEAUTO:
         CHECK_SOCKMODE(Sn_MR_TCP);
         *(uint16_t*) arg = getSn_KPALVTR(sn);
         break;
   #endif
      case SO_SENDBUF:
         *(uint16_t*) arg = getSn_TX_FSR(sn);
      case SO_RECVBUF:
         *(uint16_t*) arg = getSn_RX_RSR(sn);
      case SO_STATUS:
         *(uint8_t*) arg = getSn_SR(sn);
         break;
      case SO_REMAINSIZE:
         if(getSn_MR(sn) == Sn_MR_TCP)
            *(uint16_t*)arg = getSn_RX_RSR(sn);
         else
            *(uint16_t*)arg = sock_remained_size[sn];
         break;
      case SO_PACKINFO:
         CHECK_SOCKMODE(Sn_MR_TCP);
         *(uint8_t*)arg = sock_pack_info[sn];
         break;
      default:
         return SOCKERR_SOCKOPT;
   }
   return SOCK_OK;
}
Diff truncated after the above file
KAD/Ethernet/socket.h KAD/Ethernet/wizchip_conf.c KAD/Ethernet/wizchip_conf.h KAD/Inc/BSP.h KAD/Inc/BoardType.h KAD/Inc/main.h KAD/Inc/stm32f0xx_hal_conf.h KAD/Internet/DHCP/dhcp.c KAD/Internet/DHCP/dhcp.h KAD/Internet/DNS/dns.c KAD/Internet/DNS/dns.h KAD/Radio/inc/crc.h KAD/Radio/inc/radio.h KAD/Radio/inc/sx126x-board.h KAD/Radio/inc/sx126x.h KAD/Radio/src/crc.c KAD/Radio/src/radio.c KAD/Radio/src/sx126x-board.c KAD/Radio/src/sx126x.c KAD/Src/BSP.c KAD/Src/BoardType.c KAD/Src/main.c KBus/Inc/BoardType.h KBus/Src/main.c KNet.uvmpw KPLC/Ethernet/W5500/w5500.c KPLC/Ethernet/W5500/w5500.h KPLC/Ethernet/loopback.c KPLC/Ethernet/loopback.h KPLC/Ethernet/socket.c KPLC/Ethernet/socket.h KPLC/Ethernet/wizchip_conf.c KPLC/Ethernet/wizchip_conf.h KPLC/Inc/BoardType.h KPLC/Inc/main.h KPLC/Inc/stm32f0xx_hal_conf.h KPLC/Internet/DHCP/dhcp.c KPLC/Internet/DHCP/dhcp.h KPLC/Internet/DNS/dns.c KPLC/Internet/DNS/dns.h KPLC/Radio/inc/crc.h KPLC/Radio/inc/radio.h KPLC/Radio/inc/sx126x-board.h KPLC/Radio/inc/sx126x.h KPLC/Radio/src/crc.c KPLC/Radio/src/radio.c KPLC/Radio/src/sx126x-board.c KPLC/Radio/src/sx126x.c KPLC/Src/BoardType.c KPLC/Src/main.c KSingleLineBus/KSingleLineBus.uvopt KSingleLineBus/KSingleLineBus.uvproj KSingleLineBus/Listings/demo.m51 KSingleLineBus/ModBus.c KSingleLineBus/Modbus.h KSingleLineBus/Objects/ModBus.obj KSingleLineBus/Objects/SLP.obj KSingleLineBus/Objects/STARTUP.obj KSingleLineBus/Objects/delay.__i KSingleLineBus/Objects/delay.obj KSingleLineBus/Objects/demo KSingleLineBus/Objects/demo.hex KSingleLineBus/Objects/gpio.__i KSingleLineBus/Objects/gpio.obj KSingleLineBus/Objects/main.__i KSingleLineBus/Objects/main.obj KSingleLineBus/Objects/pwm.__i KSingleLineBus/Objects/tim.__i KSingleLineBus/Objects/tim.obj KSingleLineBus/Objects/uart.__i KSingleLineBus/Objects/unibus.__i KSingleLineBus/SLP.c KSingleLineBus/SLP.h KSingleLineBus/STARTUP.A51 KSingleLineBus/drivers/gpio.c KSingleLineBus/drivers/gpio.h KSingleLineBus/drivers/pwm.c KSingleLineBus/drivers/pwm.h KSingleLineBus/drivers/tim.c KSingleLineBus/drivers/tim.h KSingleLineBus/drivers/uart.c KSingleLineBus/drivers/uart.h KSingleLineBus/main.h KSingleLineBus/user/delay.c KSingleLineBus/user/delay.h KSingleLineBus/user/main.c KSingleLineBus/user/main.h KSingleLineBus/user/modbus.c KSingleLineBus/user/modbus.h KSingleLineBus/user/unibus.c KSingleLineBus/user/unibus.h KSingleLineBus/按钮控制器引脚映射.txt MDK-ARM/EXT_FPX/Ext_FPx.hex (deleted) MDK-ARM/EXT_FPX/Ext_FPx.sct (deleted) MDK-ARM/EXT_FPX/F030C8T6_Ext_FPx.sct MDK-ARM/EXT_FPX/F030C8T6_Ext_FPx_V105.hex (deleted) MDK-ARM/F030C8T6_Ext_FP0.uvprojx (deleted) MDK-ARM/F030C8T6_Ext_FPx.uvprojx MDK-ARM/F030C8T6_KAD.uvprojx MDK-ARM/F030C8T6_KBox.uvprojx MDK-ARM/F030C8T6_KBus.uvprojx MDK-ARM/F030C8T6_KBus/F030C8T6_KBus.hex (deleted) MDK-ARM/F030C8T6_KBus/F030C8T6_KBus.sct (deleted) MDK-ARM/F030C8T6_KLink.uvprojx MDK-ARM/F030C8T6_KMini.uvprojx MDK-ARM/F030C8T6_KNet.uvprojx MDK-ARM/F030C8T6_KPLC.uvprojx MDK-ARM/F030C8T6_Radio/F030C8T6_Ext_FPx.map (deleted) MDK-ARM/F030C8T6_Radio/F030C8T6_KBus.map (deleted) MDK-ARM/F030C8T6_Radio/F030C8T6_KLink.map (deleted) MDK-ARM/F030C8T6_Radio/F030C8T6_Radio_LLCC68.hex (deleted) MDK-ARM/F030C8T6_Radio/F030C8T6_Radio_LLCC68.map (deleted) MDK-ARM/F030C8T6_Radio_LLCC68.uvprojx MDK-ARM/F030CCT6_KMini.uvprojx