当有多个嵌套的“重复”字段时,如何使用 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 中。有人可以给我一个例子,在这种情况下如何正确编码数据?