使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
Vehicle_hw_device结构参考
#include < vehicle.h >
打印出车辆hal的调试状态。这将由车辆网络服务调用,并将包含在服务的转储中。
传入的文件描述符可用于使用 dprintf() 或 write() 写入调试文本。文本应仅采用 ASCII 编码。
性能要求:
这必须是非阻塞调用。 HAL 应在 1 毫秒内从此调用返回,必须在 10 毫秒内从此调用返回。此调用必须避免死锁,因为它可以在操作的任何点调用。使用的任何同步原语(例如互斥锁或信号量)都应该在超时时获取。
文件Vehicle.h第1744行的定义。
立即获取车辆财产价值。数据应正确分配。 API 的调用者拥有数据字段。调用者将为分区属性设置 data->prop、data->value_type 以及可选的区域值。但 HAL 实现需要在返回时正确填充所有条目。对于指针类型,HAL 实现应该分配必要的内存,调用者负责调用release_memory_from_get,这允许HAL 释放分配的内存。对于 VEHICLE_PROP_CHANGE_MODE_STATIC 类型的属性, get 应始终返回相同的值。对于 VEHICLE_PROP_CHANGE_MODE_ON_CHANGE 类型的属性,它应该返回最新值。如果尚无可用数据(这种情况可能发生在初始阶段),则此调用应立即返回,错误代码为 -EAGAIN。
定义位于文件Vehicle.h的第1681行。
枚举所有可用的属性。该列表在“list”中返回。
- 参数
- 退货
- 这辆车支持的属性配置数组。请注意,返回的数据是 const,调用者无法修改它。 HAL 实现应保留此内存直到 HAL 被释放,以避免再次复制。
定义位于文件Vehicle.h的第1663行。
释放先前 get 调用中分配给数据的内存。对字节或字符串的 get 调用涉及从车辆 hal 分配必要的内存。为了安全起见,车辆 hal 分配的内存应该由车辆 hal 释放,并且当不再需要来自车辆 hal 的数据时,车辆网络服务将调用它。车辆hal实现应该只释放vehicle_prop_value_t的成员,如data->str_value.data或data->bytes_value.data,而不是数据本身,因为数据本身是从车辆网络服务分配的。一旦内存被释放,相应的指针应该被设置为 NULL buvehicle hal。
定义位于文件Vehicle.h的第1693行。
设置车辆属性值。数据应正确分配且不为 NULL。 API 的调用者拥有数据字段。设置操作时将忽略数据的时间戳。设置某些属性需要具有可用的初始状态。根据车辆暂停情况,此类初始数据可能在初始化后短时间内不可用。在这种情况下,set 调用可以像 get 调用一样返回 -EAGAIN。对于具有单独电源控制的属性,如果该属性未通电,则设置可能会失败。在这种情况下,hal 应返回 -ESHUTDOWN 错误。
文件vehicle.h第1706行的定义。
订阅活动。根据 list_properties 的输出,如果属性是: a) 变化时:sample_rate 应设置为 0。 b) 支持频率:sample_rate 应设置为从 min_sample_rate 到 max_sample_rate。对于变化类型的属性,车辆网络服务将再次调用 get 来检查初始状态。因此,车辆 hal 实现不需要发送属性变化类型的初始状态。
- 参数
设备 | |
支柱 | |
采样率 | |
区域 | 分区财产的所有订阅区域。对于非分区财产可以忽略。 0 表示支持所有区域而不是不支持区域。 |
定义位于文件Vehicle.h的第1723行。
该结构的文档是从以下文件生成的:
- 硬件/libhardware/include/hardware/vehicle.h
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2023-12-01。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2023-12-01。"],[],[]]