报告模式
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
传感器能够以不同的方式(称为报告模式)生成事件;每种传感器类型有且仅有一个与之关联的报告模式。共有 4 种报告模式。
连续
以传递给 batch
函数的 sampling_period_ns
参数所定义的恒定速率生成事件。使用连续报告模式的示例传感器有加速度计和陀螺仪。
变化模式
仅在测量值发生变化时生成事件。在 HAL 层激活传感器(在其上调用 activate(..., enable=1)
)也会触发事件,也就是说在激活变化模式传感器时,HAL 必须立即返回事件。使用变化报告模式的示例传感器类型有计步器、近程传感器和心率传感器。
传递给 batch
函数的 sampling_period_ns
参数用于设置连续事件之间的最小时间间隔,也就是说不得在自上一事件后的 sampling_period_ns
纳秒内生成事件,即使值在这段时间内发生了变化也是如此。如果值在间隔期间发生变化,则必须在自上一事件的 sampling_period_ns
后立即生成事件。
例如,假设:
- 我们使用
sampling_period_ns = 10 * 10^9
(10 秒)激活计步器。
- 步行 55 秒,再站立 1 分钟。
- 在第一分钟,约每 10 秒生成一个事件(包括传感器激活时的
t=0
秒以及 t=60
秒),共有 7 个事件。在第二分钟,不生成任何事件,因为步数的值在 t=60
秒后没有发生变化。
单次模式
传感器一检测到事件便会自行禁用,然后通过 HAL 发送单个事件。顺序非常重要,可避免出现竞态条件。(在通过 HAL 报告事件之前,传感器必须处于禁用状态)。重新激活传感器之前,不会发送其他任何事件。大幅度动作传感器就是这样一种传感器。
单次模式传感器有时称为触发传感器。
传递给 batch
函数的 sampling_period_ns
和 max_report_latency_ns
参数会被忽略。来自单次事件的事件不可存储在硬件 FIFO 中;这些事件在生成后必须立即报告。
特殊模式
如需详细了解何时生成事件,请参阅各传感器类型说明。
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-10-02。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u6700\u540e\u66f4\u65b0\u65f6\u95f4 (UTC)\uff1a2024-10-02\u3002"}
[[["易于理解","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):2024-10-02。"]]