Commit 021f4169 authored by 时昊's avatar 时昊

🎉 init:上传修改串口通信的代码

parent ed779cfc
......@@ -7,4 +7,4 @@ include($ENV{IDF_PATH}/tools/cmake/project.cmake)
add_compile_options(-fdiagnostics-color=always -w)
project(YEDEA_C011_L)
project(YEDEA_C011_M)
set(CMAKE_ASM_COMPILER "/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc")
set(CMAKE_ASM_COMPILER_ARG1 "")
set(CMAKE_AR "/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-ar")
set(CMAKE_ASM_COMPILER_AR "/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc-ar")
set(CMAKE_RANLIB "/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-ranlib")
set(CMAKE_ASM_COMPILER_RANLIB "/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc-ranlib")
set(CMAKE_LINKER "/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-ld")
set(CMAKE_MT "")
set(CMAKE_ASM_COMPILER_LOADED 1)
set(CMAKE_ASM_COMPILER_ID "GNU")
set(CMAKE_ASM_COMPILER_VERSION "")
set(CMAKE_ASM_COMPILER_ENV_VAR "ASM")
set(CMAKE_ASM_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
set(CMAKE_ASM_LINKER_PREFERENCE 0)
set(CMAKE_C_COMPILER "/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc")
set(CMAKE_C_COMPILER_ARG1 "")
set(CMAKE_C_COMPILER_ID "GNU")
set(CMAKE_C_COMPILER_VERSION "13.2.0")
set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
set(CMAKE_C_COMPILER_WRAPPER "")
set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17")
set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON")
set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23")
set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
set(CMAKE_C17_COMPILE_FEATURES "c_std_17")
set(CMAKE_C23_COMPILE_FEATURES "c_std_23")
set(CMAKE_C_PLATFORM_ID "")
set(CMAKE_C_SIMULATE_ID "")
set(CMAKE_C_COMPILER_FRONTEND_VARIANT "")
set(CMAKE_C_SIMULATE_VERSION "")
set(CMAKE_AR "/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-ar")
set(CMAKE_C_COMPILER_AR "/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc-ar")
set(CMAKE_RANLIB "/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-ranlib")
set(CMAKE_C_COMPILER_RANLIB "/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc-ranlib")
set(CMAKE_LINKER "/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-ld")
set(CMAKE_MT "")
set(CMAKE_COMPILER_IS_GNUCC 1)
set(CMAKE_C_COMPILER_LOADED 1)
set(CMAKE_C_COMPILER_WORKS TRUE)
set(CMAKE_C_ABI_COMPILED TRUE)
set(CMAKE_C_COMPILER_ENV_VAR "CC")
set(CMAKE_C_COMPILER_ID_RUN 1)
set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
set(CMAKE_C_LINKER_PREFERENCE 10)
# Save compiler ABI information.
set(CMAKE_C_SIZEOF_DATA_PTR "4")
set(CMAKE_C_COMPILER_ABI "ELF")
set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN")
set(CMAKE_C_LIBRARY_ARCHITECTURE "")
if(CMAKE_C_SIZEOF_DATA_PTR)
set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
endif()
if(CMAKE_C_COMPILER_ABI)
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
endif()
if(CMAKE_C_LIBRARY_ARCHITECTURE)
set(CMAKE_LIBRARY_ARCHITECTURE "")
endif()
set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
endif()
set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/include;/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/include-fixed;/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/xtensa-esp-elf/sys-include;/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/xtensa-esp-elf/include")
set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;c;nosys;c;gcc")
set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/esp32;/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/xtensa-esp-elf/lib/esp32;/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0;/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/lib/gcc;/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/xtensa-esp-elf/lib")
set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
set(CMAKE_CXX_COMPILER "/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-g++")
set(CMAKE_CXX_COMPILER_ARG1 "")
set(CMAKE_CXX_COMPILER_ID "GNU")
set(CMAKE_CXX_COMPILER_VERSION "13.2.0")
set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
set(CMAKE_CXX_COMPILER_WRAPPER "")
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17")
set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON")
set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23")
set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23")
set(CMAKE_CXX_PLATFORM_ID "")
set(CMAKE_CXX_SIMULATE_ID "")
set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "")
set(CMAKE_CXX_SIMULATE_VERSION "")
set(CMAKE_AR "/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-ar")
set(CMAKE_CXX_COMPILER_AR "/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc-ar")
set(CMAKE_RANLIB "/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-ranlib")
set(CMAKE_CXX_COMPILER_RANLIB "/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc-ranlib")
set(CMAKE_LINKER "/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-ld")
set(CMAKE_MT "")
set(CMAKE_COMPILER_IS_GNUCXX 1)
set(CMAKE_CXX_COMPILER_LOADED 1)
set(CMAKE_CXX_COMPILER_WORKS TRUE)
set(CMAKE_CXX_ABI_COMPILED TRUE)
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
set(CMAKE_CXX_COMPILER_ID_RUN 1)
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm)
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
foreach (lang C OBJC OBJCXX)
if (CMAKE_${lang}_COMPILER_ID_RUN)
foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
endforeach()
endif()
endforeach()
set(CMAKE_CXX_LINKER_PREFERENCE 30)
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
# Save compiler ABI information.
set(CMAKE_CXX_SIZEOF_DATA_PTR "4")
set(CMAKE_CXX_COMPILER_ABI "ELF")
set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN")
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "")
if(CMAKE_CXX_SIZEOF_DATA_PTR)
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
endif()
if(CMAKE_CXX_COMPILER_ABI)
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
endif()
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
set(CMAKE_LIBRARY_ARCHITECTURE "")
endif()
set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
endif()
set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0;/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/xtensa-esp-elf/esp32;/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/xtensa-esp-elf/include/c++/13.2.0/backward;/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/include;/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/include-fixed;/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/xtensa-esp-elf/sys-include;/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/xtensa-esp-elf/include")
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc;c;nosys;c;gcc")
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0/esp32;/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/xtensa-esp-elf/lib/esp32;/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/lib/gcc/xtensa-esp-elf/13.2.0;/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/lib/gcc;/home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/xtensa-esp-elf/lib")
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
set(CMAKE_HOST_SYSTEM "Linux-6.5.0-41-generic")
set(CMAKE_HOST_SYSTEM_NAME "Linux")
set(CMAKE_HOST_SYSTEM_VERSION "6.5.0-41-generic")
set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
include("/home/king/esp/esp-idf/tools/cmake/toolchain-esp32.cmake")
set(CMAKE_SYSTEM "Generic")
set(CMAKE_SYSTEM_NAME "Generic")
set(CMAKE_SYSTEM_VERSION "")
set(CMAKE_SYSTEM_PROCESSOR "")
set(CMAKE_CROSSCOMPILING "TRUE")
set(CMAKE_SYSTEM_LOADED 1)
This source diff could not be displayed because it is too large. You can view the blob instead.
#
# Internal file for GetGitRevisionDescription.cmake
#
# Requires CMake 2.6 or newer (uses the 'function' command)
#
# Original Author:
# 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net>
# http://academic.cleardefinition.com
# Iowa State University HCI Graduate Program/VRAC
#
# Copyright Iowa State University 2009-2010.
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at
# http://www.boost.org/LICENSE_1_0.txt)
set(HEAD_HASH)
file(READ "/mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/build/CMakeFiles/git-data/HEAD" HEAD_CONTENTS LIMIT 1024)
string(STRIP "${HEAD_CONTENTS}" HEAD_CONTENTS)
set(GIT_DIR "/home/king/esp/esp-idf/.git")
# handle git-worktree
if(EXISTS "${GIT_DIR}/commondir")
file(READ "${GIT_DIR}/commondir" GIT_DIR_NEW LIMIT 1024)
string(STRIP "${GIT_DIR_NEW}" GIT_DIR_NEW)
if(NOT IS_ABSOLUTE "${GIT_DIR_NEW}")
get_filename_component(GIT_DIR_NEW ${GIT_DIR}/${GIT_DIR_NEW} ABSOLUTE)
endif()
if(EXISTS "${GIT_DIR_NEW}")
set(GIT_DIR "${GIT_DIR_NEW}")
endif()
endif()
if(HEAD_CONTENTS MATCHES "ref")
# named branch
string(REPLACE "ref: " "" HEAD_REF "${HEAD_CONTENTS}")
if(EXISTS "${GIT_DIR}/${HEAD_REF}")
configure_file("${GIT_DIR}/${HEAD_REF}" "/mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/build/CMakeFiles/git-data/head-ref" COPYONLY)
elseif(EXISTS "${GIT_DIR}/logs/${HEAD_REF}")
configure_file("${GIT_DIR}/logs/${HEAD_REF}" "/mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/build/CMakeFiles/git-data/head-ref" COPYONLY)
set(HEAD_HASH "${HEAD_REF}")
endif()
else()
# detached HEAD
configure_file("${GIT_DIR}/HEAD" "/mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/build/CMakeFiles/git-data/head-ref" COPYONLY)
endif()
if(NOT HEAD_HASH)
file(READ "/mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/build/CMakeFiles/git-data/head-ref" HEAD_HASH LIMIT 1024)
string(STRIP "${HEAD_HASH}" HEAD_HASH)
endif()
69359f4dfb75e4b9c3bf93a03f4f05f750a14a72
components:
- name: "app_trace"
path: "/home/king/esp/esp-idf/components/app_trace"
- name: "app_update"
path: "/home/king/esp/esp-idf/components/app_update"
- name: "bootloader"
path: "/home/king/esp/esp-idf/components/bootloader"
- name: "bootloader_support"
path: "/home/king/esp/esp-idf/components/bootloader_support"
- name: "bt"
path: "/home/king/esp/esp-idf/components/bt"
- name: "cmock"
path: "/home/king/esp/esp-idf/components/cmock"
- name: "console"
path: "/home/king/esp/esp-idf/components/console"
- name: "cxx"
path: "/home/king/esp/esp-idf/components/cxx"
- name: "driver"
path: "/home/king/esp/esp-idf/components/driver"
- name: "efuse"
path: "/home/king/esp/esp-idf/components/efuse"
- name: "esp-tls"
path: "/home/king/esp/esp-idf/components/esp-tls"
- name: "esp_adc"
path: "/home/king/esp/esp-idf/components/esp_adc"
- name: "esp_app_format"
path: "/home/king/esp/esp-idf/components/esp_app_format"
- name: "esp_bootloader_format"
path: "/home/king/esp/esp-idf/components/esp_bootloader_format"
- name: "esp_coex"
path: "/home/king/esp/esp-idf/components/esp_coex"
- name: "esp_common"
path: "/home/king/esp/esp-idf/components/esp_common"
- name: "esp_eth"
path: "/home/king/esp/esp-idf/components/esp_eth"
- name: "esp_event"
path: "/home/king/esp/esp-idf/components/esp_event"
- name: "esp_gdbstub"
path: "/home/king/esp/esp-idf/components/esp_gdbstub"
- name: "esp_hid"
path: "/home/king/esp/esp-idf/components/esp_hid"
- name: "esp_http_client"
path: "/home/king/esp/esp-idf/components/esp_http_client"
- name: "esp_http_server"
path: "/home/king/esp/esp-idf/components/esp_http_server"
- name: "esp_https_ota"
path: "/home/king/esp/esp-idf/components/esp_https_ota"
- name: "esp_https_server"
path: "/home/king/esp/esp-idf/components/esp_https_server"
- name: "esp_hw_support"
path: "/home/king/esp/esp-idf/components/esp_hw_support"
- name: "esp_lcd"
path: "/home/king/esp/esp-idf/components/esp_lcd"
- name: "esp_local_ctrl"
path: "/home/king/esp/esp-idf/components/esp_local_ctrl"
- name: "esp_mm"
path: "/home/king/esp/esp-idf/components/esp_mm"
- name: "esp_netif"
path: "/home/king/esp/esp-idf/components/esp_netif"
- name: "esp_netif_stack"
path: "/home/king/esp/esp-idf/components/esp_netif_stack"
- name: "esp_partition"
path: "/home/king/esp/esp-idf/components/esp_partition"
- name: "esp_phy"
path: "/home/king/esp/esp-idf/components/esp_phy"
- name: "esp_pm"
path: "/home/king/esp/esp-idf/components/esp_pm"
- name: "esp_psram"
path: "/home/king/esp/esp-idf/components/esp_psram"
- name: "esp_ringbuf"
path: "/home/king/esp/esp-idf/components/esp_ringbuf"
- name: "esp_rom"
path: "/home/king/esp/esp-idf/components/esp_rom"
- name: "esp_system"
path: "/home/king/esp/esp-idf/components/esp_system"
- name: "esp_timer"
path: "/home/king/esp/esp-idf/components/esp_timer"
- name: "esp_wifi"
path: "/home/king/esp/esp-idf/components/esp_wifi"
- name: "espcoredump"
path: "/home/king/esp/esp-idf/components/espcoredump"
- name: "esptool_py"
path: "/home/king/esp/esp-idf/components/esptool_py"
- name: "fatfs"
path: "/home/king/esp/esp-idf/components/fatfs"
- name: "freertos"
path: "/home/king/esp/esp-idf/components/freertos"
- name: "hal"
path: "/home/king/esp/esp-idf/components/hal"
- name: "heap"
path: "/home/king/esp/esp-idf/components/heap"
- name: "http_parser"
path: "/home/king/esp/esp-idf/components/http_parser"
- name: "idf_test"
path: "/home/king/esp/esp-idf/components/idf_test"
- name: "ieee802154"
path: "/home/king/esp/esp-idf/components/ieee802154"
- name: "json"
path: "/home/king/esp/esp-idf/components/json"
- name: "linux"
path: "/home/king/esp/esp-idf/components/linux"
- name: "log"
path: "/home/king/esp/esp-idf/components/log"
- name: "lwip"
path: "/home/king/esp/esp-idf/components/lwip"
- name: "mbedtls"
path: "/home/king/esp/esp-idf/components/mbedtls"
- name: "mqtt"
path: "/home/king/esp/esp-idf/components/mqtt"
- name: "newlib"
path: "/home/king/esp/esp-idf/components/newlib"
- name: "nvs_flash"
path: "/home/king/esp/esp-idf/components/nvs_flash"
- name: "nvs_sec_provider"
path: "/home/king/esp/esp-idf/components/nvs_sec_provider"
- name: "openthread"
path: "/home/king/esp/esp-idf/components/openthread"
- name: "partition_table"
path: "/home/king/esp/esp-idf/components/partition_table"
- name: "perfmon"
path: "/home/king/esp/esp-idf/components/perfmon"
- name: "protobuf-c"
path: "/home/king/esp/esp-idf/components/protobuf-c"
- name: "protocomm"
path: "/home/king/esp/esp-idf/components/protocomm"
- name: "pthread"
path: "/home/king/esp/esp-idf/components/pthread"
- name: "riscv"
path: "/home/king/esp/esp-idf/components/riscv"
- name: "sdmmc"
path: "/home/king/esp/esp-idf/components/sdmmc"
- name: "soc"
path: "/home/king/esp/esp-idf/components/soc"
- name: "spi_flash"
path: "/home/king/esp/esp-idf/components/spi_flash"
- name: "spiffs"
path: "/home/king/esp/esp-idf/components/spiffs"
- name: "tcp_transport"
path: "/home/king/esp/esp-idf/components/tcp_transport"
- name: "touch_element"
path: "/home/king/esp/esp-idf/components/touch_element"
- name: "ulp"
path: "/home/king/esp/esp-idf/components/ulp"
- name: "unity"
path: "/home/king/esp/esp-idf/components/unity"
- name: "usb"
path: "/home/king/esp/esp-idf/components/usb"
- name: "vfs"
path: "/home/king/esp/esp-idf/components/vfs"
- name: "wear_levelling"
path: "/home/king/esp/esp-idf/components/wear_levelling"
- name: "wifi_provisioning"
path: "/home/king/esp/esp-idf/components/wifi_provisioning"
- name: "wpa_supplicant"
path: "/home/king/esp/esp-idf/components/wpa_supplicant"
- name: "xtensa"
path: "/home/king/esp/esp-idf/components/xtensa"
- name: "main"
path: "/mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/main"
- name: "esp_jpeg"
path: "/mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/components/esp_jpeg"
- name: "esp_lvgl_port"
path: "/mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/components/esp_lvgl_port"
- name: "esp_mmap_assets"
path: "/mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/components/esp_mmap_assets"
- name: "esp_wrover_kit"
path: "/mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/components/esp_wrover_kit"
- name: "espressif__cmake_utilities"
path: "/mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/components/espressif__cmake_utilities"
- name: "espressif__esp-dsp"
path: "/mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/components/espressif__esp-dsp"
- name: "espressif__freetype"
path: "/mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/components/espressif__freetype"
- name: "espressif__jsmn"
path: "/mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/components/espressif__jsmn"
- name: "espressif__nghttp"
path: "/mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/components/espressif__nghttp"
- name: "lvgl__lvgl"
path: "/mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/components/lvgl__lvgl"
CMake Error at CMakeLists.txt:5 (include):
include could not find requested file:
/CMakeLists.txt
CMake Error at CMakeLists.txt:5 (include):
include could not find requested file:
/CMakeLists.txt
-- IDF_TARGET is not set, guessed 'esp32' from sdkconfig '/mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/sdkconfig'
-- Found Git: /usr/bin/git (found version "2.34.1")
-- The C compiler identification is GNU 13.2.0
-- The CXX compiler identification is GNU 13.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- git rev-parse returned 'fatal: not a git repository (or any parent up to mount point /mnt)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).'
-- Could not use 'git describe' to determine PROJECT_VER.
-- Building ESP-IDF components for target esp32
Manifest files have changed, solving dependencies.
Using component placed at /mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/components/esp_lvgl_port for dependency espressif/esp_lvgl_port(^2)(introduced by component esp_wrover_kit)
Using component placed at /mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/components/esp_mmap_assets for dependency espressif/esp_mmap_assets(==1.0.0), specified in /mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/main/idf_component.yml
Using component placed at /mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/components/espressif__freetype for dependency espressif/freetype(2.*), specified in /mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/main/idf_component.yml
Using component placed at /mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/components/lvgl__lvgl for dependency lvgl/lvgl(~8.4.0), specified in /mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/main/idf_component.yml
Using component placed at /mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/components/espressif__cmake_utilities for dependency espressif/cmake_utilities(0.*)(introduced by component esp_mmap_assets), specified in /mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/main/idf_component.yml
-- IDF_TARGET is not set, guessed 'esp32' from sdkconfig '/mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/sdkconfig'
-- Found Git: /usr/bin/git (found version "2.34.1")
-- The C compiler identification is GNU 13.2.0
-- The CXX compiler identification is GNU 13.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/king/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- git rev-parse returned 'fatal: not a git repository (or any parent up to mount point /mnt)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).'
-- Could not use 'git describe' to determine PROJECT_VER.
-- Building ESP-IDF components for target esp32
Manifest files have changed, solving dependencies.
Using component placed at /mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/components/esp_lvgl_port for dependency espressif/esp_lvgl_port(^2)(introduced by component esp_wrover_kit)
Using component placed at /mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/components/esp_mmap_assets for dependency espressif/esp_mmap_assets(==1.0.0), specified in /mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/main/idf_component.yml
Using component placed at /mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/components/espressif__freetype for dependency espressif/freetype(2.*), specified in /mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/main/idf_component.yml
Using component placed at /mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/components/lvgl__lvgl for dependency lvgl/lvgl(~8.4.0), specified in /mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/main/idf_component.yml
Using component placed at /mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/components/espressif__cmake_utilities for dependency espressif/cmake_utilities(0.*)(introduced by component esp_mmap_assets), specified in /mnt/hgfs/Shared/yedea-c011-M/yedea-c011-l/main/idf_component.yml
This diff is collapsed.
......@@ -7,188 +7,68 @@
#define LINE_DATA_PROTOCOL_ID 0x01
#define ANALOG_DATA_PROTOCOL_ID 0X02
#define MCU_DATA_PROTOCOL_ID 0X20
#define DATA_ID12 0x12
#define DATA_ID13 0x13
#define DATA_ID14 0x14
#define DATA_ID15 0x15
#define DATA_ID17 0x17
#define DATA_ID18 0x18
#define DATA_ID19 0x19
#define G031_Boot_ID 0x5
#define G031_RESET_ID 0XA
typedef union
{
uint8_t Msg[4u];
struct
{
/* Byte 5 */
uint8_t HightBeam : 1;
uint8_t LowBeam : 1;
uint8_t DoubleFlash : 1;
uint8_t Reset : 1;
uint8_t TurnRight : 1;
uint8_t TurnLeft : 1;
uint8_t Position : 1;
uint8_t Bluetooth :1;
/* Byte 6 */
uint8_t ButtonConfirm : 2;
uint8_t ButtonCancel : 2;
uint8_t ButtonDown : 2;
uint8_t ButtonUp : 2;
#define DATA_ID10 0x10U
#define DATA_ID12 0x12U
#define DATA_ID02 0x02U
#define DATA_ID04 0x04U
/* Byte 7 */
uint8_t ButtonLeft : 2;
uint8_t ButtonRight : 2;
uint8_t res : 4;
/* Byte 8 */
uint8_t res2 : 8;
} Sig;
} LineData_un_t;
typedef union
{
uint8_t Msg[3u];
uint8_t Msg[1u];
struct
{
uint8_t ACC_L : 8; /* Byte5 ACC采集 */
uint8_t ACC_M : 8; /* Byte6 ACC采集*/
uint8_t ACC_H : 8; /* Byte7 ACC采集*/
uint8_t u8StartSta : 1;
uint8_t u8Res : 7;
} Sig;
} AnaData_t;
} _ID10_Data_un_t;
typedef union
{
uint8_t Msg[3u];
uint8_t Msg[1u];
struct
{
uint8_t u8LEDLeft : 1;
uint8_t u8LEDPosition : 1;
uint8_t u8LEDAUTO : 1;
uint8_t u8LEDLowBeam : 1;
uint8_t u8LEDHighBeam : 1;
uint8_t u8LEDABS : 1;
uint8_t u8LEDTCS : 1;
uint8_t u8LEDReady : 1;
uint8_t u8LEDSystemFault : 1;
uint8_t u8LEDCharging : 1;
uint8_t u8LEDMotoFault : 1;
uint8_t u8LEDMCUFault : 1;
uint8_t u8LEDHandleFault : 1;
uint8_t u8LEDBluetooth : 1;
uint8_t u8LEDRight : 1;
uint8_t u8LEDOpenBox : 1;
uint8_t u8LEDCruiseWork : 1;
uint8_t u8LEDHDC : 1;
uint8_t u8LEDLimping : 1;
uint8_t u8LEDSOC : 1;
uint8_t u8LEDSupport : 1;
uint8_t u8LEDVietnam : 1;
uint8_t res : 2;
uint8_t u8AutoConnectSta : 1;
uint8_t u8Res : 7;
} Sig;
} _ID12_Data_un_t;
typedef union
{
uint8_t Msg[2u];
struct
{
uint8_t u8VspeedValue : 7;
uint8_t u8VspeedValid : 1;
uint8_t DriveMode: 8;
} Sig;
} _ID13_Data_un_t;
typedef union
{
uint8_t Msg[3u];
struct
{
uint8_t u8EnduranceH : 8;
uint8_t u8EnduranceL : 8;
uint8_t u8EnduranceOn : 2;
uint8_t u8EnduranceValid : 2;
uint8_t res : 4;
} Sig;
} _ID14_Data_un_t;
typedef union
{
uint8_t Msg[7u];
uint8_t Msg[25u];
struct
{
uint8_t u8ODOH : 8;
uint8_t u8ODOM : 8;
uint8_t u8ODOL : 8;
uint8_t u8TripH : 8;
uint8_t u8TripM : 8;
uint8_t u8TripL : 8;
uint8_t u8BluetoothSta : 2;
uint8_t u8Res : 6;
uint8_t u8ODOTrip : 8;
uint8_t u8BtPhoneTimeH : 8;
uint8_t u8BtPhoneTimeHM : 8;
uint8_t u8BtPhoneTimeLM : 8;
uint8_t u8BtPhoneTimeL : 8;
uint8_t u8BtPhoneNum[20];
} Sig;
} _ID15_Data_un_t;
typedef union
{
uint8_t Msg[3u];
struct
{
uint8_t u8Hour : 8;
uint8_t u8Minute : 8;
uint8_t u8TimeValid : 8;
} _ID02_Data_un_t;
} Sig;
} _ID17_Data_un_t;
typedef union
{
uint8_t Msg[3u];
uint8_t Msg[151u];
struct
{
uint8_t u8MusicSta : 2;
uint8_t u8Res : 6;
uint8_t u8SOCSeg : 8;
uint8_t u8SOCLED : 8;
uint8_t u8SOCValue : 8;
uint8_t u8MusicLyrics[50];
uint8_t u8MusicActor[50];
uint8_t u8MusicAlbum[50];
} Sig;
} _ID18_Data_un_t;
typedef union
{
uint8_t Msg[2u];
struct
{
uint8_t u8RGB : 8;
uint8_t u8Uint : 8;
} _ID04_Data_un_t;
} Sig;
} _ID19_Data_un_t;
typedef enum
{
MENU_ITEM_MAIN = 0U, /**< 主界面*/
MENU_ITEM_CHARGE, /**< 充电界面,*/
MENU_ITEM_MUSIC, /**< 音乐界面 */
// MENU_ITEM_BT_PAIRING, /**< 蓝牙配对界面 */
MENU_ITEM_NAV, /**< 简易导航 */
MENU_ITEM_NAV_MUSIC, /**< 简易导航,蓝牙音乐 共同显示 */
MENU_ITEM_NAV_FINISH, /**< 导航 目的地已到达 */
MENU_ITEM_, /**< 预留 */
MENU_ITEM_MAX,
} Menu_Item_en_t;
extern void Set_BacklightEn(uint8_t onoff);
extern void Read_Line_Data(const uint8_t *data, uint8_t len);
extern void Read_AnaLog_Data(const uint8_t *data, uint8_t len);
......@@ -216,13 +96,8 @@ extern uint32_t Get_ACC_Value(void);
extern uint32_t Get_ACC1_Value(void);
extern uint32_t Get_DC12_Value(void);
extern void Core_ID12_Service(void);
extern void Core_ID13_Service(void);
extern void Core_ID14_Service(void);
extern void Core_ID15_Service(void);
extern void Core_ID17_Service(void);
extern void Core_ID18_Service(void);
extern void Core_ID19_Service(void);
extern void Send_MCU_ID10(uint8_t Flag);
extern void Set_LCD_EN(uint8_t FLAG);
......
......@@ -70,8 +70,7 @@ static void Power_KL30_Init(void)
// Sys_On_Init();
// Popup_Scheduler_Init();
Telltales_Init();
Telltales_User_Init();
// Common_DataInit();
// u32PwrOFFDelay = 0UL;
......@@ -87,8 +86,7 @@ static void Power_Wakeup_Init(void)
// Sys_WakeUp_Init();
// Sys_WAKEUP_Init();
// // Sys_On_Init();
Telltales_Init();
Telltales_User_Init();
// Common_DataInit();
// u32PwrOFFDelay = 0UL;
// u8WakeUpFlag = 1;
......
......@@ -11,6 +11,8 @@
#define UART_TX_MAX_DEPTH 1024UL //(2 * 1024UL) // 4K
#define UART_RX_MAX_DEPTH (2 * 1024UL) // 4K
#define UART_DATA_BUF_LEN (2 * 1024UL) // 4K
Prot_State_st_t Prot_State;
extern void OTA_IC_To_Master(uint8_t len);
static Protocol_uint8_t HandshakeFlag = 0;
......@@ -188,17 +190,59 @@ static Protocol_uint32_t Protocol_UartSend(const Protocol_uint8_t *pData, Protoc
static void Protocol_UartHandle(const Protocol_Data_t *pData)
{
if (pData->CmdID == 0x01U)
if (pData->CmdID == 0x20U)//esp收到底板发送20
{
if(Prot_State.State < PROT_START)
{
Prot_State.State = PROT_START;//esp停止发送10,开始发1帧12,底板收到12后,停发20
}
}
else if (pData->CmdID == 0x03U)//底板控制蓝牙电话
{
if(pData->Data[0] == 1U)
{
Bt_Call_Auto_Answer();
}
else if(pData->Data[0] == 2U)
{
Bt_Call_Auto_Reject();
}
else
{
;
}
}
else if (pData->CmdID == 0x05U)//底板控制蓝牙音乐
{
if(pData->Data[0] == 1U)
{
Bt_Music_Play();
}
else if(pData->Data[0] == 2U)
{
Bt_Music_Stop();
}
else if(pData->Data[0] == 3U)
{
Read_Line_Data(pData->Data, pData->DataLen);
Bt_Music_Next();
}
else if (pData->CmdID == 2)
else if(pData->Data[0] == 4U)
{
// Read_AnaLog_Data(pData->Data, pData->DataLen);
Bt_Music_Previous();
}
else if (pData->CmdID == 3)
else if(pData->Data[0] == 5U)
{
HandshakeFlag = 1;
Bt_Music_Volume_Up();
}
else if(pData->Data[0] == 6U)
{
Bt_Music_Volume_Down();
}
else
{
;
}
}
else
{
......@@ -209,6 +253,69 @@ static void Protocol_UartHandle(const Protocol_Data_t *pData)
ESP_LOGW(ProtocolUser, "HandshakeFlag %x\r\n", HandshakeFlag);
}
void Protocol_User_Ctrl_Init(void)
{
Prot_State.State = PROT_IDLE;
}
void Prot_Send_Msg_Process(void)
{
if(Prot_State.State < PROT_START)
{
Core_ID10_Service();
}
if(Prot_State.State >= PROT_START)
{
if(Prot_State.u8TimeDelay == 0)
{
Core_ID12_Service();
Prot_State.u8TimeDelay = 1;
}
Core_ID02_Service();
Core_ID04_Service();
}
}
void Core_ID10_Service(void)//esp32发送启动完成给底板
{
memset(Data_Uart_SendID10.Msg, 0, sizeof(Data_Uart_SendID10.Msg));
Data_Uart_SendID10.Sig.u8StartSta = 1;
Protocol_Send(DATA_ID10, Data_Uart_SendID10.Msg, sizeof(Data_Uart_SendID10.Msg));
}
void Core_ID12_Service(void)//收到底板发送的20后发送12
{
uint8_t u8AutoConnectBt = Auto_Connect_Bt();
memset(Data_Uart_SendID12.Msg, 0, sizeof(Data_Uart_SendID12.Msg));
Data_Uart_SendID12.Sig.u8AutoConnectSta = u8AutoConnectBt;
Protocol_Send(DATA_ID12, Data_Uart_SendID12.Msg, sizeof(Data_Uart_SendID12.Msg));
}
void Core_ID02_Service(void)//esp32发送蓝牙电话状态
{
uint8_t u8BtPhoneStatus = Get_Bt_Phone_Status();
memset(Data_Uart_SendID02.Msg, 0, sizeof(Data_Uart_SendID02.Msg));
Data_Uart_SendID02.Sig.u8BluetoothSta = u8BtPhoneStatus;
Data_Uart_SendID02.Sig.u8BtPhoneTimeH = 1;
Data_Uart_SendID02.Sig.u8BtPhoneTimeHM = 1;
Data_Uart_SendID02.Sig.u8BtPhoneTimeLM = 1;
Data_Uart_SendID02.Sig.u8BtPhoneTimeL = 1;
Data_Uart_SendID02.Sig.u8BtPhoneNum = Get_Bt_Phone_Num();
Protocol_Send(DATA_ID02, Data_Uart_SendID02.Msg, sizeof(Data_Uart_SendID02.Msg));
}
void Core_ID04_Service(void)//esp32发送蓝牙音乐播放状态和音乐信息
{
uint8_t u8BtMusicStatus = Get_Bt_Music_Status();
memset(Data_Uart_SendID04.Msg, 0, sizeof(Data_Uart_SendID04.Msg));
Data_Uart_SendID04.Sig.u8MusicSta = u8BtMusicStatus;
Data_Uart_SendID04.Sig.u8MusicLyrics = Get_BT_Music_Lyrics();
Data_Uart_SendID04.Sig.u8MusicActor = Get_BT_Music_Actor();
Data_Uart_SendID04.Sig.u8MusicAlbum = Get_BT_Music_Album();
Protocol_Send(DATA_ID04, Data_Uart_SendID04.Msg, sizeof(Data_Uart_SendID04.Msg));
}
void UART_Put(Protocol_uint16_t Data)
{
Protocol_uint32_t nextPos = 0u;
......
......@@ -5,13 +5,26 @@
#include "Protocol_Lib.h"
typedef enum
{
PROT_IDLE = 0,
PROT_STARTING,
PROT_START,
PROT_NORMAL,
}Prot_State_en_t;
typedef struct
{
uint8_t u8State;
uint8_t u8TimeDelay;
}Prot_State_st_t;
void Protocol_KL30_Wakeup_Init(void);
void Protocol_Send_Service(void); // 10ms任务调用
void UART_Put(Protocol_uint16_t Data);
void Protocol_User_Ctrl_Init(void);
void Prot_Send_Msg_Process(void);
extern uint8_t Get_HandshakeFlag(void);
......
#include "R485_User.h"
_ID0X40h_Data R485_ID40h;
_ID0X48h_Data R485_ID48h;
_ID0X41h_Data R485_ID41h;
_ID0X49h_Data R485_ID49h;
_ID0X42h_Data R485_ID42h;
_ID0X4Ah_Data R485_ID4Ah;
const st_R485MsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[R485_ID_TOTAL_MAX] =
{
/* ID lost timer */
{0X41, 3000ul},
};
void R485_Receive_Analysis(_st_R485_Receive *R485RxMsgOP)
{
}
// #define R485IDMAX 5
// uint8_t R485_Receive_ID[R485IDMAX] =
// {
// 0X40,
// 0X48,
// 0X41,
// 0X49,
// 0X42,
// 0X4A,
// };
// /**
// * 起始字节 ID 数据长度 数据内容 校验字节 结束字节
// * 0 1 2 3 64字节 4+len 5+len 6+len
// * 0X59 0X44 ID LEN DATA CHECKSUM 0X4B 0X4A
// */
// #define R485_LEN 71
// #define LIN_RX_MAX 50U
// #define LIN_TX_MAX 50U
// uint8_t u8LinId11Flag = 0;
// uint8_t u8LinId11Data[16];
// uint8_t u8LinRxId = 0;
// uint8_t u8LinRxData[LIN_RX_MAX];
// uint8_t u8LinRxDataCount = 0;
// uint8_t u8LinRxDataBegin = 0;
// uint8_t u8LinRxDataRe = 0;
// uint8_t u8LinTxDataId18[LIN_TX_MAX];
// uint8_t u8LinTxDataId19[LIN_TX_MAX];
// uint8_t Yadi_CAL_Data_Sum(uint8_t *pu8LinData, uint8_t u8LinLen)
// {
// uint8_t u8LinSum = 0U;
// uint8_t i = 0;
// for (i = 0; i < u8LinLen; i++)
// {
// u8LinSum = (uint8_t)(u8LinSum + pu8LinData[i]);
// }
// return u8LinSum;
// }
// #define FrameHeader1 0X59
// #define FrameHeader2 0X44
// #define R485LEN 0x40
// #define FrameEnd1 0x4B
// #define FrameEnd2 0x4A
// #define R485MAXLEN 0X47
This diff is collapsed.
/**
* @file Services_Mileage.c
* @brief 里程服务函数
* @details 里程服务函数,包括大计、小计
* @author myliu
* @date 2022.05.10
* @version V1.0
* @copyright myiu
*/
#ifndef SERVICE_MILEAGE_H
#define SERVICE_MILEAGE_H
/*
Platform_32Bit
Platform_16Bit
*/
#ifdef Platform_16Bit
#define Millib_uint8_t unsigned char
#define Millib_uint16_t unsigned int
#define Millib_uint32_t unsigned long
#else
#define Millib_uint8_t unsigned char
#define Millib_uint16_t unsigned short
#define Millib_uint32_t unsigned int
#define Millib_uint64_t unsigned long long
#endif
#ifndef Millib_NULL
#define Millib_NULL (void *)0u
#endif /* NULL */
/**@enum 小计里程枚举
* @brief 用来区分每个小计里程数
*/
typedef enum
{
EM_TRIP_A,
EM_TRIP_B,
EM_TRIP_C,
EM_TRIP_D,
EM_TRIP_MAX,
} DataTripEnum_t;
/**@enum EEPROM存储块枚举类型
* @brief 用来区分EEPORM存储区域
*/
typedef enum
{
EM_MILEAGE_BLOCK = 0u, /**< 累计里程 */
EM_ODO_BLOCK, /**< 总计里程 */
EM_TRIP_BLOCK, /**< 小计里程 */
EM_Maintenance_BLOCK, /**< 保养里程 */
EM_ODOSYNC_CNT_BLOCK, /**< 里程备份次数 */
} Data_EEPROM_Enum_t;
typedef void (*EEPromWrite)(Data_EEPROM_Enum_t BlockID, Millib_uint32_t u32Data[], Millib_uint16_t u16Len);
typedef struct
{
Millib_uint8_t (*Get_Sys_IG_Sts)(void); /**< 获取系统电源状态,请务必填写函数名或NULL */
Millib_uint8_t (*Get_Act_V_Speed_Valid)(void); /**< 实际车速有效位,请务必填写函数名或NULL */
Millib_uint16_t (*Get_Act_V_Speed)(void); /**< 实际车速,请务必填写函数名或NULL */
Millib_uint16_t (*Get_TireSize)(void); /**< 轮胎系数,请务必填写函数名或NULL */
EEPromWrite EEPromWrite_Cbk; /**< 写EEPROM回调函数,请务必填写函数名或NULL */
} Mileage_Func_t;
typedef struct
{
Millib_uint32_t Mileage; /**< KL30初始化时,从EEPROM读取的数据 */
} Mileage_Init_t;
typedef struct
{
Millib_uint32_t Stamp; /**< 在Mileage上记录的里程戳 */
Millib_uint32_t Offset; /**< 里程偏移量,暂不使用,预留 */
Millib_uint32_t MaxValue; /**< 最大的总计里程,单位100m */
} ODO_Init_t;
typedef struct
{
Millib_uint32_t Stamp; /**< 在Mileage上记录的里程戳 */
Millib_uint32_t MaxValue; /**< 最大的小计里程,单位100m */
Millib_uint8_t IsRestart; /**< 小计里程达到最大值后,是否自动从0开始,重新累计小计里程 */
} Trip_Init_t;
#define Data_MEM_Block_Mileage ((Millib_uint8_t)12u)
#define Data_MEM_Block_ODO ((Millib_uint8_t)16u)
#define Data_MEM_Block_Trip ((Millib_uint8_t)16u)
/*
total size =Data_MEM_Block_Trip*EM_TRIP_MAX
*/
/**
* @brief 里程服务初始化,KL30调用,必须调用,否则造成空指针
* @param[in] pMemSpace 内存空间,需要的空间大小至少大于Data_MEM_Block_Mileage,此内存需在休眠唤醒后不丢失
* @param[in] pInitData 从EEPROM读取上次下电前累计的里程
* @param[in] pFunc 底层发送回调函数, 详见Mileage_Func_t
*
* @warning 此函数必须后于EEPROM初始化,因为要读取EEPROM数据,否则每次都是从0开始
*
* @since 1.0.0
*/
void Data_Mileage_KL30_Init(Millib_uint8_t *pMemSpace,
Mileage_Init_t *pInitData, Mileage_Func_t *pFunc);
/**
* @brief 里程服务初始化,唤醒时调用,必须调用,否则造成空指针
* @param[in] pMemSpace 内存空间,需要的空间大小至少大于Data_MEM_Block_Mileage,此内存需在休眠唤醒后不丢失
* @param[in] pFunc 底层发送回调函数, 详见Mileage_Func_t
*
* @since 1.0.0
*/
void Data_Mileage_Wakeup_Init(Millib_uint8_t *pMemSpace, Mileage_Func_t *pFunc);
/**
* @brief 里程累计服务,在100ms中断调用
*
* @since 1.0.0
*/
void Data_Mileage_ISR(void);
/**
* @brief 里程读取
* @return 当前累计里程数,单位100m
* @warning 此数据非总计里程,总计里程属于此里程数的一部分
*
* @since 1.0.0
*/
Millib_uint32_t Data_Mileage_Read(void);
/**
* @brief 里程读取
* @return 当前累计里程数,单位mm
* @warning 此数据非总计里程,总计里程属于此里程数的一部分
*
* @since 1.0.0
*/
Millib_uint32_t Data_Mileage_Readmm(void);
/**
* @brief 写里程
* @param[in] NewMileage 新里程数,单位100m
* @return 成功 - 1 失败 - 0
* @warning 调用此函数前,需要调用Data_Mileage_Clear函数
*
* @since 1.0.0
*/
Millib_uint8_t Data_Mileage_Write(Millib_uint32_t NewMileage);
/**
* @brief 清里程,出厂时使用
* @warning 此函数包含功能:清Mileage,清ODO以及清trip,调用此函数后,需要复位后,里程才会继续走动
*
* @since 1.0.0
*/
void Data_Mileage_Clear(void);
/**
* @brief 清里程,出厂时使用
* @warning 此函数包含功能:清Mileage,清ODO以及清Trip,调用此函数,不影响里程的走动
*
* @since 1.0.0
*/
void Data_Mileage_Clear_GoOn(void);
/**
* @brief 将累计的里程存入EEPROM, 10ms任务中调用
*
* @since 1.0.0
*/
void Data_Mileage_Write_EEPROM(void);
/**
* @brief 获取里程库软件版本号
* @return 版本号 1.01
* @since 1.0.0
*/
Millib_uint8_t *Get_Data_Mileage_Version(void);
/**
* @brief 总计里程初始化,KL30调用,必须调用,否则造成空指针
* @param[in] pMemSpace 内存空间,需要的空间大小至少大于Data_MEM_Block_ODO,此内存需在休眠唤醒后不丢失
* @param[in] pInitData 详见ODO_Init_t
* @param[in] Func 写EEPROM回调函数
*
* @warning 在Data_Mileage_KL30_Init之后调用
*
* @since 1.0.0
*/
void Data_ODO_KL30_Init(Millib_uint8_t *pMemSpace, ODO_Init_t *pInitData, EEPromWrite Func);
/**
* @brief 总计里程初始化,唤醒调用,必须调用,否则造成空指针
* @param[in] pMemSpace 内存空间,需要的空间大小至少大于Data_MEM_Block_ODO,此内存需在休眠唤醒后不丢失
* @param[in] Func 写EEPROM回调函数
*
* @warning 在Data_Mileage_Wakeup_Init之后调用
*
* @since 1.0.0
*/
void Data_ODO_Wakeup_Init(Millib_uint8_t *pMemSpace, EEPromWrite Func);
/**
* @brief 总计里程计算服务,为了其他服务获取总计里程无0.1m的偏差,需要此服务函数
*
* @warning 在100ms任务重调用
*
* @since 1.0.0
*/
void Data_ODO_Processing(void);
/**
* @brief 总计里程读取
* @return 当前总计里程数,单位100m
* @warning 此数据为上次Data_ODO_Clear后,到调用此函数为止,累计的Mileage,属于Mileage的一部分
*
* @since 1.0.0
*/
Millib_uint32_t Data_ODO_Read(void);
/**
* @brief 清总计里程,车厂使用
* @warning 此函数只是将总计里程的里程戳标记为当前的Mileage,不属于完全清除,如出厂请调用Data_Mileage_Clear
*
* @since 1.0.0
*/
void Data_ODO_Clear(void);
/**
* @brief 总计里程偏移量读取
* @return 当前偏移量,单位100m
* @warning 里程备份时使用
*
* @since 1.0.0
*/
Millib_uint32_t Data_Offset_Read(void);
/**
* @brief 总计里程偏移量修改
* @return 当前偏移量,单位100m
* @warning 里程备份时使用
*
* @since 1.0.0
*/
void Data_ODO_Modify(Millib_uint32_t Offset);
/**
* @brief 小计里程初始化,KL30调用,必须调用,否则造成空指针
* @param[in] pMemSpace 内存空间,需要的空间大小至少大于Data_MEM_Block_Trip*EM_TRIP_MAX,此内存需在休眠唤醒后不丢失
* @param[in] pInitData Trip_Init_t
* @param[in] TotalTrip 小计总数,(例如:1个小计, 2个小计,3个小计)
* @param[in] Func 写EEPROM回调函数
*
* @warning 在Data_Mileage_KL30_Init之后调用
*
* @since 1.0.0
*/
void Data_Trip_KL30_Init(Millib_uint8_t *pMemSpace, Trip_Init_t *pInitData, Millib_uint8_t TotalTrip, EEPromWrite pFunc);
/**
* @brief 小计里程初始化,唤醒调用,必须调用,否则造成空指针
* @param[in] pMemSpace 内存空间,需要的空间大小至少大于Data_MEM_Block_Trip*EM_TRIP_MAX,此内存需在休眠唤醒后不丢失
* @param[in] TotalTrip 小计总数,(例如:1个小计, 2个小计,3个小计)
* @param[in] Func 写EEPROM回调函数
*
* @warning 在Data_Mileage_Wakeup_Init之后调用
*
* @since 1.0.0
*/
void Data_Trip_Wakeup_Init(Millib_uint8_t *pMemSpace, Millib_uint8_t TotalTrip, EEPromWrite pFunc);
/**
* @brief 小计里程计算服务,为了其他服务获取小计里程无0.1m的偏差,需要此服务函数
*
* @warning 在100ms任务重调用
*
* @since 1.0.0
*/
void Data_Trip_Processing(void);
/**
* @brief 清小计里程
* @param[in] TripN DataTripEnum_t
* @warning 此函数只是将小计里程的里程戳标记为当前的Mileage,不属于完全清除,如出厂请调用Data_Mileage_Clear
*
* @since 1.0.0
*/
void Data_Clear_Trip(DataTripEnum_t TripN);
/**
* @brief 清小计里程
* @warning 此函数只是将小计里程的里程戳标记为当前的Mileage,不属于完全清除,如出厂请调用Data_Mileage_Clear
*
* @since 1.0.0
*/
void Data_Clear_Trip_All(void);
/**
* @brief 小计里程读取
* @param[in] TripN DataTripEnum_t
* @return 当前小计里程数,单位100m
* @warning 此数据为上次Data_ODO_Clear后,到调用此函数为止,累计的Mileage,属于Mileage的一部分
*
* @since 1.0.0
*/
Millib_uint32_t Data_Read_Trip(DataTripEnum_t TripN);
#endif
#include "Services_Mileage.h"
#include <stdint.h>
#include "Services_Mileage_User.h"
#include "eepromManage.h"
#include <stdio.h>
#include "Common_Interface.h"
uint8_t DataMilleageBuf[Data_MEM_Block_Mileage];
uint8_t DataODOBuf[Data_MEM_Block_ODO];
uint8_t DataTripBuf[Data_MEM_Block_Trip * EM_TRIP_MAX];
Mileage_t g_WriteMileage;
Mileage_t g_ReadMileage;
uint32_t Milleage_InitFlag = 0U;
static uint8_t YEDEA_CLEAR_FLAG = 0;
uint8_t odo_writeState;
uint8_t odo_readState;
uint32_t Milleage_UseIICFlag = 0;
typedef union
{
struct
{
uint32_t Count;
uint32_t Value;
} Sig;
uint8_t Data[8];
} _St_Mileage_Clear;
_St_Mileage_Clear Data_MileageClear;
static void Data_User_EEPROM_Write(Data_EEPROM_Enum_t BlockID, uint32_t u32Data[], uint16_t u16Len)
{
Milleage_UseIICFlag = 0;
// //printf("BlockID is : %d ; u32Data[0] is : %ld . u32Data[1] is %ld . \r\n", BlockID, u32Data[0], u32Data[1]);
switch (BlockID)
{
case EM_MILEAGE_BLOCK:
if (u32Data[0] == 0)
{
eeprom_ClearOdoSection();
}
else
{
g_WriteMileage.Odo = u32Data[0];
odo_writeState = eeprom_WriteODO(&g_WriteMileage, distance_1m, 1);
}
/// printf("odo_writeState = %d,g_WriteMileage.Odo = %d \r\n",odo_writeState,g_WriteMileage.Odo );
// eeprom_WriteRecord(EEPROM_BLOCK_00, ( uint8_t * )u32Data, u16Len * 4);
break;
case EM_ODO_BLOCK:
eeprom_WriteRecord(EEPROM_BLOCK_01, (uint8_t *)u32Data, u16Len * 4);
break;
case EM_TRIP_BLOCK:
eeprom_WriteRecord(EEPROM_BLOCK_03, (uint8_t *)u32Data, u16Len * 4);
break;
default:
break;
}
Milleage_UseIICFlag = 0X5AA53AA3UL;
}
uint32_t Data_User_EEPROM_Read(uint16_t u16BlockID, uint32_t u32Data[], uint16_t u16Len)
{
Milleage_UseIICFlag = 0;
switch (u16BlockID)
{
case EM_MILEAGE_BLOCK:
odo_readState = eeprom_ReadODO(&g_ReadMileage);
u32Data[0] = g_ReadMileage.Odo;
// eeprom_ReadRecord(EEPROM_BLOCK_00, ( uint8_t * )u32Data, u16Len * 4);
break;
case EM_ODO_BLOCK:
eeprom_ReadRecord(EEPROM_BLOCK_01, (uint8_t *)u32Data, u16Len * 4);
break;
case EM_TRIP_BLOCK:
eeprom_ReadRecord(EEPROM_BLOCK_03, (uint8_t *)u32Data, u16Len * 4);
break;
default:
break;
}
Milleage_UseIICFlag = 0X5AA53AA3UL;
return 0;
}
void Data_User_Mileage_KL30Init(void)
{
uint32_t TempBuf[7] = {0};
Mileage_Init_t MileInit = {0};
Mileage_Func_t Func = {0};
ODO_Init_t ODOInit = {0};
Trip_Init_t TripInit[4] = {0};
Milleage_InitFlag = 0U;
(void)Data_User_EEPROM_Read(EM_MILEAGE_BLOCK, TempBuf, 1);
if (TempBuf[0] == 0xFFFFFFFF)
{
MileInit.Mileage = 0u;
}
else
{
MileInit.Mileage = TempBuf[0];
}
Func.Get_Sys_IG_Sts = Common_Get_IG_Sts; // Get_Pwr_Sts;
Func.Get_Act_V_Speed_Valid = Common_Get_Act_V_Speed_Valid; // Get_VechileSpeedValid;
Func.Get_Act_V_Speed = Common_Get_Act_V_Speed; // Get_Vehicle_ActSpeed;
Func.Get_TireSize = (void *)0;
Func.EEPromWrite_Cbk = Data_User_EEPROM_Write;
Data_Mileage_KL30_Init(DataMilleageBuf, &MileInit, &Func);
(void)Data_User_EEPROM_Read(EM_ODO_BLOCK, TempBuf + 1, 2);
if (TempBuf[1] == 0xFFFFFFFF)
{
ODOInit.Stamp = 0;
}
else
{
ODOInit.Stamp = TempBuf[1];
}
if (TempBuf[1] == 0xFFFFFFFF)
{
ODOInit.Offset = 0;
}
else
{
ODOInit.Offset = TempBuf[2];
}
ODOInit.MaxValue = 9999999; // 9999999;
Data_ODO_KL30_Init(DataODOBuf, &ODOInit, Func.EEPromWrite_Cbk);
(void)Data_User_EEPROM_Read(EM_TRIP_BLOCK, TempBuf + 3, 4);
TripInit[EM_TRIP_A].Stamp = 0xFFFFFFFFu;
TripInit[EM_TRIP_A].MaxValue = 9999;
TripInit[EM_TRIP_A].IsRestart = 0u;
TripInit[EM_TRIP_B].Stamp = 0xFFFFFFFFu;
TripInit[EM_TRIP_B].MaxValue = 9999;
TripInit[EM_TRIP_B].IsRestart = 1u;
TripInit[EM_TRIP_C].Stamp = 0xFFFFFFFFu;
TripInit[EM_TRIP_C].MaxValue = 9999;
TripInit[EM_TRIP_C].IsRestart = 1u;
TripInit[EM_TRIP_D].Stamp = 0xFFFFFFFFu;
TripInit[EM_TRIP_D].MaxValue = 9999;
TripInit[EM_TRIP_D].IsRestart = 1u;
Data_Trip_KL30_Init(DataTripBuf, TripInit, EM_TRIP_MAX, Func.EEPromWrite_Cbk);
Milleage_InitFlag = 0X5AA53AA3UL;
/* 读取大计里程清零次数及上次清零时大计的里程值 */
(void)eeprom_ReadRecord(EEPROM_BLOCK_10, Data_MileageClear.Data, 8);
YEDEA_CLEAR_FLAG = 0;
}
void Data_User_Mileage_WakeupInit(void)
{
Mileage_Func_t Func = {0};
Func.Get_Sys_IG_Sts = NULL; // Get_Pwr_Sts;
Func.Get_Act_V_Speed_Valid = NULL; // Get_VechileSpeedValid;
Func.Get_Act_V_Speed = NULL; // Get_Vehicle_ActSpeed;
Func.Get_TireSize = (void *)0;
Func.EEPromWrite_Cbk = Data_User_EEPROM_Write; //???��????
Data_Mileage_Wakeup_Init(DataMilleageBuf, &Func);
Data_ODO_Wakeup_Init(DataODOBuf, Func.EEPromWrite_Cbk);
// Automatic = 0u;
Data_Trip_Wakeup_Init(DataTripBuf, EM_TRIP_MAX, Func.EEPromWrite_Cbk);
}
void Data_User_Mileage_OFF_Init(void)
{
Data_Clear_Trip(EM_TRIP_A);
}
void Data_User_Mileage_ISR(void)
{
if (Milleage_InitFlag == 0X5AA53AA3UL)
{
Data_Mileage_ISR();
Data_ODO_Processing();
Data_Trip_Processing();
}
}
uint32_t User_Data_ODO_Read(void)
{
if (Milleage_InitFlag == 0X5AA53AA3UL)
{
// printf("Data_ODO_Read %d \n",Data_ODO_Read());
return Data_ODO_Read();
}
return 0;
}
uint32_t User_Data_Trip_Read(void)
{
if (Milleage_InitFlag == 0X5AA53AA3UL)
{
return Data_Read_Trip(EM_TRIP_A);
}
return 0;
}
#ifndef SERVICE_MILEAGE_USER_H
#define SERVICE_MILEAGE_USER_H
#define EEPROM_BLOCK_00 0
#define EEPROM_BLOCK_01 16
#define EEPROM_BLOCK_02 32
#define EEPROM_BLOCK_03 48
#define EEPROM_BLOCK_04 64 // 诊断使用 27
#define EEPROM_BLOCK_05 80 // 诊断使用 2E
// #define EEPROM_BLOCK_06 96
// #define EEPROM_BLOCK_07 112
#define EEPROM_BLOCK_08 128 // 诊断使用 DTC
#define EEPROM_BLOCK_09 144
#define EEPROM_BLOCK_10 160
#define EEPROM_BLOCK_11 176
#define EEPROM_BLOCK_12 192
#define EEPROM_BLOCK_13 208
#define EEPROM_BLOCK_14 224
#define EEPROM_BLOCK(n) (n*16)
#define EEPROM_BLOCK_05_SIZE 48 // 当前使用35字节,向上对齐48字节
#define EEPROM_BLOCK_08_SIZE 48 // 占用48字节
void Data_User_Mileage_KL30Init(void);
void Data_User_Mileage_ISR(void);
uint32_t User_Data_ODO_Read(void);
void Data_User_Mileage_WakeupInit(void);
uint32_t Data_User_EEPROM_Read(uint16_t u16BlockID, uint32_t u32Data[], uint16_t u16Len);
uint32_t User_Data_Trip_Read(void);
extern uint32_t Milleage_InitFlag;
extern void YEDEA_Clear_Mileage_Service(void);
extern void Mileage_KL15_Init(void);
extern void Data_User_Mileage_OFF_Init(void);
extern void Can_Id_0c10ffd0_Receive(uint8_t CopyData[]);
extern void Can_Id_0C25FFD3_Receive(uint8_t CopyData[]);
extern void TYW_Clear_Mileage_Service(void);
extern uint8_t Get_Tyw_Clear_Flag(void);
extern void TYW_LCD_Check(void);
extern uint8_t Get_Lcd_Check(void);
#endif
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
#ifndef _BSP_IIC_AW8839_H_
#define _BSP_IIC_AW8839_H_
extern void InitAW88298_IIC(void);
extern void AW88298_IIC_Sleep(void);
#endif
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment