【发布时间】:2019-11-15 22:49:16
【问题描述】:
当有多个嵌套的“重复”字段时,如何使用 NanoPB 正确编码数据?
这是我的架构:
message Report {
message SensorData {
required uint32 sensorid = 1;
required uint32 sample = 2;
}
message DeviceData {
required uint32 devid = 1;
repeated SensorData sensor_data = 2;
}
required uint32 reportnum = 1;
repeated DeviceData dev_data = 2;
}
我已经制作了一个工作版本,其中 SensorData 字段嵌入到 DeviceData 消息中,基于来自 NanoPB 源的 server.c 示例。这样我只有一个重复的字段,一切正常。但是,这样我必须为每个 sensorid 和每个“样本”重复“分隔”字段,而不是只给它一次,然后循环遍历一组 SensorData 消息。但是我正在努力用 NanoPB 进行编码,解码部分是在 Python 中。谁能给我一个例子,在这种情况下如何正确编码数据?
【问题讨论】:
标签: c protocol-buffers nanopb