xtos_ signal_ correct_ timestamps
按起点和四舍五入后的固定纳秒间隔重建时间戳数组。
本页目录
声明
#include <xtos/signal.h>
int xtos_signal_correct_timestamps(uint64_t start_timestamp_ns,
uint32_t sample_rate_hz,
uint64_t *timestamps_ns,
size_t count);参数
| 参数 | 类型 | 说明 |
|---|---|---|
| start_timestamp_ns | uint64_t | 起始时间戳,单位纳秒。 |
| sample_rate_hz | uint32_t | 采样率,单位 Hz,必须大于 0。 |
| timestamps_ns | uint64_t * | 非 NULL 输出数组,至少 count 项。 |
| count | size_t | 要写入的元素数,必须大于 0。 |
返回值
成功返回 0;失败返回 -1。成功时写入 start_timestamp_ns + i×rounded_interval。
错误
| errno | 条件 |
|---|---|
| EINVAL | timestamps_ns 为 NULL、count 或采样率为 0。 |
注意事项
- 函数不检查 uint64 乘加溢出;非整纳秒周期的舍入误差会随索引累积。
- 覆盖调用方数组,不分配内存;应保留原始时间戳以便比较。
示例
源码
本文按 OpenXTOS 提交 dd313955ad57542bcd2af8827157d1bbd0cf5e83 的头文件和实现编写。