mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:50:18 +00:00
Initial commit for the HIDL Context Hub HAL
Initial commit for the context hub Hal. At this point it is largely a refactoring of the older HAL with some new abstractions. Test: Make completes successfully Change-Id: Ieac4b20403e6e0b3966a4f5570fbbba7151e783b
This commit is contained in:
59
contexthub/1.0/Android.bp
Normal file
59
contexthub/1.0/Android.bp
Normal file
@@ -0,0 +1,59 @@
|
||||
// This file is autogenerated by hidl-gen. Do not edit manually.
|
||||
|
||||
genrule {
|
||||
name: "android.hardware.contexthub@1.0_genc++",
|
||||
tools: ["hidl-gen"],
|
||||
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.contexthub@1.0",
|
||||
srcs: [
|
||||
"types.hal",
|
||||
"IContexthub.hal",
|
||||
"IContexthubCallback.hal",
|
||||
],
|
||||
out: [
|
||||
"android/hardware/contexthub/1.0/types.cpp",
|
||||
"android/hardware/contexthub/1.0/ContexthubAll.cpp",
|
||||
"android/hardware/contexthub/1.0/ContexthubCallbackAll.cpp",
|
||||
],
|
||||
}
|
||||
|
||||
genrule {
|
||||
name: "android.hardware.contexthub@1.0_genc++_headers",
|
||||
tools: ["hidl-gen"],
|
||||
cmd: "$(location hidl-gen) -o $(genDir) -Lc++ -randroid.hardware:hardware/interfaces android.hardware.contexthub@1.0",
|
||||
srcs: [
|
||||
"types.hal",
|
||||
"IContexthub.hal",
|
||||
"IContexthubCallback.hal",
|
||||
],
|
||||
out: [
|
||||
"android/hardware/contexthub/1.0/types.h",
|
||||
"android/hardware/contexthub/1.0/IContexthub.h",
|
||||
"android/hardware/contexthub/1.0/IHwContexthub.h",
|
||||
"android/hardware/contexthub/1.0/BnContexthub.h",
|
||||
"android/hardware/contexthub/1.0/BpContexthub.h",
|
||||
"android/hardware/contexthub/1.0/BsContexthub.h",
|
||||
"android/hardware/contexthub/1.0/IContexthubCallback.h",
|
||||
"android/hardware/contexthub/1.0/IHwContexthubCallback.h",
|
||||
"android/hardware/contexthub/1.0/BnContexthubCallback.h",
|
||||
"android/hardware/contexthub/1.0/BpContexthubCallback.h",
|
||||
"android/hardware/contexthub/1.0/BsContexthubCallback.h",
|
||||
],
|
||||
}
|
||||
|
||||
cc_library_shared {
|
||||
name: "android.hardware.contexthub@1.0",
|
||||
generated_sources: ["android.hardware.contexthub@1.0_genc++"],
|
||||
generated_headers: ["android.hardware.contexthub@1.0_genc++_headers"],
|
||||
export_generated_headers: ["android.hardware.contexthub@1.0_genc++_headers"],
|
||||
shared_libs: [
|
||||
"libhidl",
|
||||
"libhwbinder",
|
||||
"libutils",
|
||||
"libcutils",
|
||||
],
|
||||
export_shared_lib_headers: [
|
||||
"libhidl",
|
||||
"libhwbinder",
|
||||
"libutils",
|
||||
],
|
||||
}
|
||||
552
contexthub/1.0/Android.mk
Normal file
552
contexthub/1.0/Android.mk
Normal file
@@ -0,0 +1,552 @@
|
||||
# This file is autogenerated by hidl-gen. Do not edit manually.
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
################################################################################
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := android.hardware.contexthub@1.0-java
|
||||
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
|
||||
|
||||
intermediates := $(local-generated-sources-dir)
|
||||
|
||||
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
|
||||
|
||||
#
|
||||
# Build types.hal (AsyncEventType)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/AsyncEventType.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::types.AsyncEventType
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (ContextHub)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/ContextHub.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::types.ContextHub
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (ContextHubMsg)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/ContextHubMsg.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::types.ContextHubMsg
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (HubAppInfo)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/HubAppInfo.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::types.HubAppInfo
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (HubMemoryFlag)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/HubMemoryFlag.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::types.HubMemoryFlag
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (HubMemoryType)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/HubMemoryType.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::types.HubMemoryType
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (MemRange)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/MemRange.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::types.MemRange
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (NanoAppBinary)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/NanoAppBinary.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::types.NanoAppBinary
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (NanoAppFlags)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/NanoAppFlags.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::types.NanoAppFlags
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (PhysicalSensor)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/PhysicalSensor.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::types.PhysicalSensor
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (Result)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/Result.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::types.Result
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (SensorType)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/SensorType.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::types.SensorType
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (TransactionResult)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/TransactionResult.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::types.TransactionResult
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build IContexthub.hal
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/IContexthub.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IContexthub.hal
|
||||
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/IContexthubCallback.hal
|
||||
$(GEN): $(LOCAL_PATH)/IContexthubCallback.hal
|
||||
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::IContexthub
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/IContexthub.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build IContexthubCallback.hal
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/IContexthubCallback.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IContexthubCallback.hal
|
||||
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::IContexthubCallback
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/IContexthubCallback.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
include $(BUILD_JAVA_LIBRARY)
|
||||
|
||||
|
||||
################################################################################
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
LOCAL_MODULE := android.hardware.contexthub@1.0-java-static
|
||||
LOCAL_MODULE_CLASS := JAVA_LIBRARIES
|
||||
|
||||
intermediates := $(local-generated-sources-dir)
|
||||
|
||||
HIDL := $(HOST_OUT_EXECUTABLES)/hidl-gen$(HOST_EXECUTABLE_SUFFIX)
|
||||
|
||||
#
|
||||
# Build types.hal (AsyncEventType)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/AsyncEventType.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::types.AsyncEventType
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (ContextHub)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/ContextHub.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::types.ContextHub
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (ContextHubMsg)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/ContextHubMsg.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::types.ContextHubMsg
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (HubAppInfo)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/HubAppInfo.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::types.HubAppInfo
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (HubMemoryFlag)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/HubMemoryFlag.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::types.HubMemoryFlag
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (HubMemoryType)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/HubMemoryType.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::types.HubMemoryType
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (MemRange)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/MemRange.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::types.MemRange
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (NanoAppBinary)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/NanoAppBinary.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::types.NanoAppBinary
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (NanoAppFlags)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/NanoAppFlags.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::types.NanoAppFlags
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (PhysicalSensor)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/PhysicalSensor.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::types.PhysicalSensor
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (Result)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/Result.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::types.Result
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (SensorType)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/SensorType.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::types.SensorType
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build types.hal (TransactionResult)
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/TransactionResult.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::types.TransactionResult
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build IContexthub.hal
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/IContexthub.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IContexthub.hal
|
||||
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/IContexthubCallback.hal
|
||||
$(GEN): $(LOCAL_PATH)/IContexthubCallback.hal
|
||||
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::IContexthub
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/IContexthub.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
|
||||
#
|
||||
# Build IContexthubCallback.hal
|
||||
#
|
||||
GEN := $(intermediates)/android/hardware/contexthub/1.0/IContexthubCallback.java
|
||||
$(GEN): $(HIDL)
|
||||
$(GEN): PRIVATE_HIDL := $(HIDL)
|
||||
$(GEN): PRIVATE_DEPS := $(LOCAL_PATH)/IContexthubCallback.hal
|
||||
$(GEN): PRIVATE_DEPS += $(LOCAL_PATH)/types.hal
|
||||
$(GEN): $(LOCAL_PATH)/types.hal
|
||||
$(GEN): PRIVATE_OUTPUT_DIR := $(intermediates)
|
||||
$(GEN): PRIVATE_CUSTOM_TOOL = \
|
||||
$(PRIVATE_HIDL) -o $(PRIVATE_OUTPUT_DIR) \
|
||||
-Ljava -randroid.hardware:hardware/interfaces \
|
||||
android.hardware.contexthub@1.0::IContexthubCallback
|
||||
|
||||
$(GEN): $(LOCAL_PATH)/IContexthubCallback.hal
|
||||
$(transform-generated-source)
|
||||
LOCAL_GENERATED_SOURCES += $(GEN)
|
||||
include $(BUILD_STATIC_JAVA_LIBRARY)
|
||||
|
||||
|
||||
|
||||
include $(call all-makefiles-under,$(LOCAL_PATH))
|
||||
157
contexthub/1.0/IContexthub.hal
Normal file
157
contexthub/1.0/IContexthub.hal
Normal file
@@ -0,0 +1,157 @@
|
||||
/*
|
||||
* Copyright (C) 2016 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package android.hardware.contexthub@1.0;
|
||||
|
||||
import IContexthubCallback;
|
||||
|
||||
interface IContexthub {
|
||||
/*
|
||||
* Enumerate all available context hubs on the system.
|
||||
*
|
||||
* @return hubs list of hubs on this system.
|
||||
*/
|
||||
getHubs() generates (vec<ContextHub> hubs);
|
||||
|
||||
/*
|
||||
* Register a callback for the HAL implementation to send asynchronous
|
||||
* messages to the service from a context hub. There can be a maximum of
|
||||
* one callback registered with the HAL. A call to this function when a
|
||||
* callback has already been registered must override the previous
|
||||
* registration.
|
||||
*
|
||||
* @param hubId identifier for the hub
|
||||
* callback an implementation of the IContextHubCallbacks
|
||||
*
|
||||
* @return result OK on success
|
||||
* BAD_VALUE if parameters are not sane
|
||||
*
|
||||
*/
|
||||
registerCallback(uint32_t hubId, IContexthubCallback cb) generates (Result result);
|
||||
|
||||
/**
|
||||
* Send a message to a hub
|
||||
*
|
||||
* @param hubId identifier for hub to send message to
|
||||
* msg message to be sent
|
||||
*
|
||||
* @return result OK if successful, error code otherwise
|
||||
* BAD_VALUE if parameters are not sane
|
||||
* TRANSACTION_FAILED if message send failed
|
||||
*/
|
||||
sendMessageToHub(uint32_t hubId, ContextHubMsg msg)
|
||||
generates (Result result);
|
||||
|
||||
/**
|
||||
* Loads a nanoApp. After loading, the nanoApp's init method must be called.
|
||||
* After the init method for nanoApp returns success, this must be indicated
|
||||
* to the service by an asynchronous call to handleTxnResult.
|
||||
*
|
||||
* @param hubId identifer of the contextHub
|
||||
* appBinary binary for the nanoApp
|
||||
* msg message to be sent
|
||||
*
|
||||
* @return result OK if transation started
|
||||
* BAD_VALUE if parameters are not sane
|
||||
* TRANSACTION_PENDING if hub is busy with another
|
||||
* load/unload transaction
|
||||
* TRANSACTION_FAILED if load failed synchronously
|
||||
*
|
||||
*/
|
||||
loadNanoApp(uint32_t hubId, NanoAppBinary appBinary, uint32_t transactionId)
|
||||
generates (Result result);
|
||||
|
||||
/**
|
||||
* Unloads a nanoApp. Before the unload, the apps deinit method is called.
|
||||
* After this, success must be indicated to the service through an
|
||||
* asynchronous call to handleTxnResult.
|
||||
*
|
||||
* @param hubId identifer of the contextHub
|
||||
* appId appIdentifier returned by the HAL
|
||||
* msg message to be sent
|
||||
*
|
||||
* @return result OK if transation started
|
||||
* BAD_VALUE if parameters are not sane
|
||||
* TRANSACTION_PENDING if hub is busy with another
|
||||
* load/unload transaction
|
||||
* TRANSACTION_FAILED if unload failed synchronously
|
||||
*
|
||||
*/
|
||||
unloadNanoApp(uint32_t hubId, uint64_t appId, uint32_t transactionId)
|
||||
generates (Result result);
|
||||
|
||||
/**
|
||||
* Enables a nanoApp. The app's init method is called.
|
||||
* After this, success must be indicated to the service through an
|
||||
* asynchronous message.
|
||||
*
|
||||
* @param hubId identifer of the contextHub
|
||||
* appId appIdentifier returned by the HAL
|
||||
* msg message to be sent
|
||||
*
|
||||
* @return result OK if transation started
|
||||
* BAD_VALUE if parameters are not sane
|
||||
* TRANSACTION_PENDING if hub is busy with another
|
||||
* load/unload transaction
|
||||
* FAILED_TRANSACTION if load fails immediately
|
||||
*
|
||||
*/
|
||||
enableNanoApp(uint32_t hubId, uint64_t appId, uint32_t transactionId)
|
||||
generates (Result result);
|
||||
|
||||
/**
|
||||
* Disables a nanoApp. The app's deinit method is called.
|
||||
* After this, success must be indicated to the service through an
|
||||
* asynchronous message.
|
||||
*
|
||||
* @param hubId identifer of the contextHub
|
||||
* appId appIdentifier returned by the HAL
|
||||
* msg message to be sent
|
||||
*
|
||||
* @return result OK if transation started
|
||||
* BAD_VALUE if parameters are not sane
|
||||
* TRANSACTION_PENDING if hub is busy with another
|
||||
* load/unload transaction
|
||||
* FAILED_TRANSACTION if load fails immediately
|
||||
*
|
||||
*/
|
||||
disableNanoApp(uint32_t hubId, uint64_t appId, uint32_t transactionId)
|
||||
generates (Result result);
|
||||
|
||||
/**
|
||||
* Queries for Loaded apps on the hub
|
||||
*
|
||||
* @param hubId identifer of the contextHub
|
||||
*
|
||||
* @return apps all nanoApps on the hub
|
||||
*
|
||||
*/
|
||||
queryApps(uint32_t hubId) generates (Result result);
|
||||
|
||||
/**
|
||||
* Reboots context hub OS, restarts all the nanoApps.
|
||||
* No reboot notification is sent to nanoApps; reboot happens immediately
|
||||
* and unconditionally; all volatile contexthub state and any data is lost
|
||||
* as a result.
|
||||
*
|
||||
* @param hubId identifer of the contextHub
|
||||
*
|
||||
* @return result OK on success
|
||||
* BAD_VALUE if parameters are not sane
|
||||
*
|
||||
*/
|
||||
reboot(uint32_t hubId) generates (Result result);
|
||||
};
|
||||
62
contexthub/1.0/IContexthubCallback.hal
Normal file
62
contexthub/1.0/IContexthubCallback.hal
Normal file
@@ -0,0 +1,62 @@
|
||||
/*
|
||||
* Copyright (C) 2016 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package android.hardware.contexthub@1.0;
|
||||
|
||||
interface IContexthubCallback {
|
||||
/*
|
||||
* This callback is passed by the Contexthub service to the HAL
|
||||
* implementation to allow the HAL to send asynchronous messages back
|
||||
* to the service and registered clients of the ContextHub service.
|
||||
*
|
||||
* @params hubId : identifier of the hub calling callback
|
||||
* msg : message
|
||||
*
|
||||
*/
|
||||
handleClientMsg(uint32_t hubId, ContextHubMsg msg);
|
||||
|
||||
/*
|
||||
* This callback is passed by the Contexthub service to the HAL
|
||||
* implementation to allow the HAL to send the response for a
|
||||
* transaction.
|
||||
*
|
||||
* @params hubId : identifier of the hub calling callback
|
||||
* txnId : transaction id whose result is being sent
|
||||
* passed in by the service at start of transacation.
|
||||
* result: result of transaction.
|
||||
*
|
||||
*/
|
||||
handleTxnResult(uint32_t hubId, uint32_t txnId,
|
||||
TransactionResult result);
|
||||
|
||||
/*
|
||||
* This callback is passed by the Contexthub service to the HAL
|
||||
* implementation to allow the HAL to send an asynchronous event
|
||||
* to the ContextHub service.
|
||||
*
|
||||
* @params hubId : identifier of the hub calling callback
|
||||
* msg : message
|
||||
*
|
||||
*/
|
||||
handleHubEvent(uint32_t hubId, AsyncEventType evt);
|
||||
|
||||
/*
|
||||
* This callback is passed by the Contexthub service to the HAL
|
||||
* implementation to allow the HAL to send information about the
|
||||
* currently loaded and active nanoapps on the hub.
|
||||
*/
|
||||
handleAppsInfo(uint32_t hubId, vec<HubAppInfo> appInfo);
|
||||
};
|
||||
151
contexthub/1.0/types.hal
Normal file
151
contexthub/1.0/types.hal
Normal file
@@ -0,0 +1,151 @@
|
||||
/*
|
||||
* Copyright (C) 2016 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package android.hardware.contexthub@1.0;
|
||||
|
||||
enum Result : uint32_t {
|
||||
OK, // Success
|
||||
BAD_PARAMS, // Parameters not sane
|
||||
NOT_INIT, // not initialized
|
||||
TRANSACTION_FAILED, // transaction failed
|
||||
TRANSACTION_PENDING, // Pending transaction, cannot accept a new request
|
||||
};
|
||||
|
||||
|
||||
enum NanoAppFlags : uint32_t {
|
||||
SIGNED = (1<<0), // Signed nanoapp
|
||||
ENCRYPTED = (1<<1),// Encrypted nanoapp
|
||||
};
|
||||
|
||||
struct NanoAppBinary {
|
||||
uint32_t headerVersion; // 0x1 for this version
|
||||
uint32_t magic; // "NANO"
|
||||
uint64_t appId; // App Id contains vendor id
|
||||
uint32_t appVersion; // Version of the app
|
||||
uint32_t flags; // mask of NanoAppFlags
|
||||
uint64_t hwHubType; // which hub type is this compiled for
|
||||
// a unique UUID for each h/w + toolchain
|
||||
// combination.
|
||||
vec<uint8_t> customBinary; // start of custom binary data
|
||||
};
|
||||
|
||||
enum SensorType : uint32_t {
|
||||
RESERVED,
|
||||
ACCELEROMETER,
|
||||
GYROSCOPE,
|
||||
MAGNETOMETER,
|
||||
BAROMETER,
|
||||
PROXIMITY_SENSOR,
|
||||
AMBIENT_LIGHT_SENSOR,
|
||||
|
||||
GPS = 0x100,
|
||||
// Reserving this space for variants on GPS
|
||||
|
||||
WIFI = 0x200,
|
||||
// Reserving this space for variants on WIFI
|
||||
|
||||
AUDIO = 0x300,
|
||||
// Reserving this space for variants on Audio
|
||||
|
||||
CAMERA = 0x400,
|
||||
// Reserving this space for variants on Camera
|
||||
|
||||
BLE = 0x500,
|
||||
|
||||
PRIVATE_SENSOR_BASE = 0x10000,
|
||||
// Sensor types beyond PRIVATE_SENSOR_BASE are custom types
|
||||
};
|
||||
|
||||
struct PhysicalSensor{
|
||||
SensorType sensorType; // From the definitions above eg: 100
|
||||
string type; // Type as a string. eg: "GPS"
|
||||
string name; // Identifier eg: "Bosch BMI160"
|
||||
string vendor; // Vendor : eg "STM"
|
||||
uint32_t version; // Version : eg 0x1001
|
||||
uint32_t fifoReservedCount; // Batching possible in hardware. Please
|
||||
// note that here hardware does not include
|
||||
// the context hub itself. Thus, this
|
||||
// definition may be different from say the
|
||||
// number advertised in the sensors HAL
|
||||
// which allows for batching in a hub.
|
||||
uint32_t fifoMaxCount; // maximum number of batchable events.
|
||||
uint64_t minDelayMs; // in milliseconds, corresponding to highest
|
||||
// sampling freq.
|
||||
uint64_t maxDelayMs; // in milliseconds, corresponds to minimum
|
||||
// sampling frequency
|
||||
float peakPowerMw; // At max frequency & no batching, power
|
||||
// in milliwatts
|
||||
};
|
||||
|
||||
struct ContextHub {
|
||||
string name; // descriptive name eg: "Awesome Hub #1"
|
||||
string vendor; // hub hardware vendor eg: "Qualcomm"
|
||||
string toolchain; // toolchain to make binaries eg: "gcc ARM"
|
||||
uint32_t platformVersion; // Version of the hardware : eg 0x20
|
||||
uint32_t toolchainVersion; // Version of the toolchain : eg: 0x484
|
||||
uint32_t hubId; // a device unique id for this hub
|
||||
|
||||
float peakMips; // Peak MIPS platform can deliver
|
||||
float stoppedPowerDrawMw; // if stopped, retention power, milliwatts
|
||||
float sleepPowerDrawMw; // if sleeping, retention power, milliwatts
|
||||
float peakPowerDrawMw; // for a busy CPUm power in milliwatts
|
||||
|
||||
vec<PhysicalSensor> connectedSensors; // array of connected sensors
|
||||
|
||||
uint32_t maxSupportedMsgLen;// This is the maximum size of the message that can
|
||||
// be sent to the hub in one chunk (in bytes)
|
||||
};
|
||||
|
||||
struct ContextHubMsg {
|
||||
uint64_t appName; // intended recipient
|
||||
uint32_t msgType; // identifier for message
|
||||
vec<uint8_t> msg; // message body
|
||||
};
|
||||
|
||||
enum HubMemoryType : uint32_t {
|
||||
MAIN = 0, // Main memory
|
||||
SECONDARY = 1, // Secondary memory
|
||||
TCM = 2, // Tightly coupled memory
|
||||
};
|
||||
|
||||
enum HubMemoryFlag : uint32_t {
|
||||
READ = (1<<0), // Readable
|
||||
WRITE = (1<<1), // Writable
|
||||
EXEC = (1<<2), // Executable
|
||||
};
|
||||
|
||||
struct MemRange {
|
||||
uint32_t totalBytes; // total capacity in bytes
|
||||
uint32_t freeBytes; // free capacity in bytes
|
||||
HubMemoryType type; // type of memory, see HubMemoryType
|
||||
uint32_t flags; // mask of HubMemoryFlag
|
||||
};
|
||||
|
||||
enum AsyncEventType : uint32_t {
|
||||
RESTARTED = 1, // Hub restarted unexpectedly
|
||||
};
|
||||
|
||||
enum TransactionResult {
|
||||
SUCCESS, // successful completion of transaction
|
||||
FAILURE, // failed transaction
|
||||
};
|
||||
|
||||
struct HubAppInfo {
|
||||
uint64_t appId; // Identifier of the app
|
||||
uint32_t version; // version of the app
|
||||
vec<MemRange> memUsage; // Memory used by this app
|
||||
};
|
||||
|
||||
4
contexthub/Android.bp
Normal file
4
contexthub/Android.bp
Normal file
@@ -0,0 +1,4 @@
|
||||
// This is an autogenerated file, do not edit.
|
||||
subdirs = [
|
||||
"1.0",
|
||||
]
|
||||
Reference in New Issue
Block a user