set(_trout_VHAL_CXX_FLAGS -Wall -Werror -std=c++17)
include(${trout_SRC_ROOT}/cmake/fmtlib.cmake)
include(${trout_SRC_ROOT}/cmake/android.cmake)
include(${trout_SRC_ROOT}/cmake/default_native_vhal.cmake)
include(${trout_SRC_ROOT}/cmake/grpc.cmake)
include(${trout_SRC_ROOT}/cmake/jsoncpp.cmake)
include(${trout_SRC_ROOT}/cmake/protobuf.cmake)
include(${trout_SRC_ROOT}/cmake/utils/grpc_cpp_generator.cmake)
get_filename_component(trout_VHAL_SRC_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/.. ABSOLUTE)
set(trout_VHAL_PREBUILT_DIR ${trout_VHAL_SRC_ROOT}/agl_build/prebuilt)
if (NOT trout_GENS_DIR)
set(trout_GENS_DIR ${PROJECT_BINARY_DIR}/gens)
endif()
trout_generate_grpc_cpp_from_proto(
INCLUDES
${trout_NATIVE_VHAL_ROOT_DIR}/impl/vhal_v2_0/proto
SRCS
${trout_NATIVE_VHAL_ROOT_DIR}/impl/vhal_v2_0/proto/VehicleHalProto.proto
${trout_VHAL_SRC_ROOT}/proto/VehicleServer.proto)
# ========== Protobuf generated code ==================
add_library(vehicle_hal_protobuf_gen
${trout_GENS_DIR}/VehicleHalProto.pb.cc
${trout_GENS_DIR}/VehicleHalProto.grpc.pb.cc
${trout_GENS_DIR}/VehicleServer.pb.cc
${trout_GENS_DIR}/VehicleServer.grpc.pb.cc
)
target_link_libraries(vehicle_hal_protobuf_gen
${trout_GRPCXX_LIBRARIES}
)
target_compile_options(vehicle_hal_protobuf_gen PRIVATE ${_trout_VHAL_CXX_FLAGS} -Wno-array-bounds)
# ========== vehicle_hal_grpc_server ==============
add_executable(vehicle_hal_grpc_server
${trout_VHAL_SRC_ROOT}/VirtualizationGrpcServer.cpp
${trout_VHAL_SRC_ROOT}/GarageModeServerSideHandler.cpp
${trout_VHAL_SRC_ROOT}/GrpcVehicleServer.cpp
${trout_VHAL_SRC_ROOT}/PowerStateListener.cpp
${trout_VHAL_SRC_ROOT}/Utils.cpp
${trout_NATIVE_VHAL_ROOT_DIR}/common/src/Obd2SensorStore.cpp
${trout_NATIVE_VHAL_ROOT_DIR}/common/src/VehicleObjectPool.cpp
${trout_NATIVE_VHAL_ROOT_DIR}/common/src/VehicleUtils.cpp
${trout_NATIVE_VHAL_ROOT_DIR}/common/src/VehiclePropertyStore.cpp
${trout_NATIVE_VHAL_ROOT_DIR}/impl/vhal_v2_0/VehicleHalServer.cpp
${trout_NATIVE_VHAL_ROOT_DIR}/impl/vhal_v2_0/GeneratorHub.cpp
${trout_NATIVE_VHAL_ROOT_DIR}/impl/vhal_v2_0/JsonFakeValueGenerator.cpp
${trout_NATIVE_VHAL_ROOT_DIR}/impl/vhal_v2_0/LinearFakeValueGenerator.cpp
${trout_NATIVE_VHAL_ROOT_DIR}/impl/vhal_v2_0/ProtoMessageConverter.cpp
)
target_include_directories(vehicle_hal_grpc_server
PRIVATE ${trout_ANDROID_INCLUDE_DIRS}
PRIVATE ${trout_GENS_DIR}
PRIVATE ${trout_JSONCPP_INCLUDE_DIRS}
PRIVATE ${trout_NAVTIVE_VHAL_COMMON_INCLUDE_DIRS}
PRIVATE ${trout_NAVTIVE_VHAL_IMPL_INCLUDE_DIRS}
PRIVATE ${trout_VHAL_PREBUILT_DIR}/include
)
target_link_libraries(vehicle_hal_grpc_server
vehicle_hal_protobuf_gen
${trout_ANDROID_LIBRARIES}
${trout_JSONCPP_LIBRARIES}
)
target_compile_options(vehicle_hal_grpc_server PRIVATE ${_trout_VHAL_CXX_FLAGS})
没有合适的资源?快使用搜索试试~ 我知道了~
android car service和can通讯
共54个文件
cpp:22个
h:20个
rc:4个
需积分: 0 4 下载量 189 浏览量
2023-09-04
13:16:55
上传
评论
收藏 159KB RAR 举报
温馨提示
Android Car Service是Android Auto的核心组件,它负责为应用程序提供汽车硬件接口。这个服务运行在车载设备上,并通过标准API向应用开发人员公开车辆的各种功能,例如车辆传感器、车载网络等。 Car Service通过各种Manager类(如CarSensorManager,CarInfoManager等)公开其功能,这些类可以通过调用Car类的getCarManager方法获取。这个架构允许开发者编写应用程序来与汽车的硬件和网络进行交互,无需关心底层的实现细节。 CAN(Controller Area Network)通讯模块是一种用于汽车网络的常见协议,它允许车辆中的各种设备(如发动机控制单元或制动系统)进行通信。Android Car Service可以通过专门的CAN通讯模块与车辆的CAN总线通信,从而获取和发送信息。 例如,如果你想要读取车速传感器的值,你的应用程序可以使用Car Sensor Manager从Android Car Service请求这个信息。Car Service会通过其CAN通讯模块从CAN总线上获取这个信息,然后返回给你的
资源推荐
资源详情
资源评论
收起资源包目录
can-property.rar (54个子文件)
can-property
android.hardware.automotive.vehicle@2.0-gecko-grpc-server.rc 394B
CommunicationManager.h 1005B
PowerStateListener.h 1KB
GrpcVehicleClient.h 1KB
PropertyManager.h 900B
ev_can_ccm_4_0.c 203KB
PropertyManager.cpp 3KB
ev_can_ccm_4_0.h 377KB
MessageHandler.cpp 2KB
TestECom.cpp 897B
Utils.h 3KB
Utils.cpp 5KB
agl_build
CMakeLists.txt 3KB
prebuilt
include
android
hardware
automotive
vehicle
2.0
types.h 766KB
PowerStateListener.cpp 5KB
android.hardware.automotive.vehicle@2.0-gecko-service.rc 161B
ReceiveQueue.cpp 432B
manifest_android.hardware.automotive.vehicle@2.0-virtualization-service.xml 608B
SPICommunication.h 672B
body_can_ccm_4_0.h 248KB
android.hardware.automotive.vehicle@2.0-virtualization-grpc-server.rc 561B
CommunicationManager.cpp 3KB
SPICommunication.cpp 1KB
VirtualizedVehicleService.cpp 2KB
garage_mode_helper
CMakeLists.txt 254B
helper.cpp 2KB
SerialCommunication.h 809B
android.hardware.automotive.vehicle@2.0-virtualization-service.rc 170B
MessageHandler.h 361B
FunctionMap.h 1KB
proto
VehicleServer.proto 2KB
GeckoGrpcServer.cpp 1KB
GrpcVehicleServer.cpp 10KB
chassise_can_ccm_4_0.c 35KB
GarageModeServerSideHandler.h 1KB
EthernetCommunication.h 798B
GarageModeServerSideHandler.cpp 6KB
VirtualizationGrpcServer.cpp 1KB
GrpcVehicleClient.cpp 5KB
chassise_can_ccm_4_0.h 69KB
MessageParser.h 779B
SendQueue.h 380B
SendQueue.cpp 423B
GrpcVehicleServer.h 2KB
CommunicationThread.h 474B
FunctionMap.cpp 3KB
ReceiveQueue.h 421B
manifest_android.hardware.automotive.vehicle@2.0-gecko-service.xml 608B
EthernetCommunication.cpp 2KB
CommunicationThread.cpp 1KB
body_can_ccm_4_0.c 122KB
SerialCommunication.cpp 3KB
GeckoVehicleService.cpp 2KB
MessagePrase.cpp 3KB
共 54 条
- 1
资源评论
longyundafei
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功