cost 360 ms
解碼一個 Nanopb

[英]Decoding oneof Nanopb

我目前正在使用 oneof 屬性。 我能夠毫無問題地對它們進行編碼,但是,解碼似乎是一個問題。 我不明白為什么它不起作用。 我的原型文件如下所示: 每當我從 C# 應用程序發送一條消息,該消息在有效負載中包含 integer 時,解碼就沒有問題。 我也得到了正確的 int 值和 which_pay ...

NanoPB 編碼和解碼重復的 int32_t 值

[英]NanoPB encode & decode repeated int32_t values

當我將我的 int 數組編碼為一條消息然后在我的 C# 應用程序中對其進行解碼時,我遇到了問題。 當我解碼我的 int 數組時,我通過 MQTT 將編碼字節發送到 C#。 我在那里解碼它,我所有的價值都在那里翻了一番。 然后我立即將相同的字節發送回 NanoPB 應用程序,在那里它也被解碼,這里所有 ...

NanoPB 回調函數

[英]NanoPB Callback functions

我正在做一個項目,其中包括使用 NanoPB。 目前,我的原型文件中有多個回調字段。 我現在必須使用我自己編寫的回調函數對這些回調字段進行編碼和解碼。 我的問題是: 我在 protofile 中定義了一條消息,其中包含回調字段和非回調字段。 如果我創建一個回調編碼 function,我應該為特定字段 ...

nanopb - 如何優化編碼以提高運行時速度

[英]nanopb - how to optimize encoding for runtime speed

我正在使用nanopb在嵌入式系統上進行日志記錄:我的日志記錄消息將是.proto消息。 編碼速度是最重要的因素; 我有足夠的內存和 flash。 問題具體到nanopb ,如何最大限度地減少編碼時間? 我知道我可以進行的所有 C 優化:內聯函數,在 RAM 中設置pb_encode函數而不是 fl ...

nanopb - 如何在 proto 文件中指定整數的編碼

[英]nanopb - how to specify encoding of integer in proto file

如何設置int32以使用固定大小進行編碼? 在API中,它說 但是我在.proto文件中設置什么選項來將int32編碼為PB_LTYPE_FIXED32而不是PB_LTYPE_VARINT ? 在函數encode_basic_field中,自動生成的fields結構存儲字段類型,這意味着該信 ...

nanopb,google-protobuf - 我可以將消息的長度設置為序列化數據本身的一部分嗎?

[英]nanopb, google-protobuf - can I set the length of the message as part of the serialized data itself?

我有消息 當我使用pb_encode編寫消息時,我注意到stream.bytes_written的數量取決於有多少Msg字段從默認值更改。 除了char * buffer之外,我真的不想發送單獨的stream.bytes_written參數。 我正在考慮做這樣的事情 因此pb_encod ...

google protobuf - PB_BYTES_ARRAY_T(n) - .size 字段的用途是什么?

[英]google protobuf - PB_BYTES_ARRAY_T(n) - what is the use of .size field?

我的 protobuf 文件是 當我生成C API 時,相關部分是: 問題 誰設置字段pb_size_t size ? 為什么它不以某種方式設置在宏中? 由於有效載荷的大小是已知的 - 在這種情況下為2048 - pb_size_t size不應該總是2048嗎? 注意:我知道2051是 ...

google protobuf - 如何訪問 .proto 文件中指定的緩沖區大小?

[英]google protobuf - how to access size of buffer as specified in .proto file?

我的 protobuf 文件是 當我生成C API 時,相關部分是: 問題 - 1 緩沖區的大小,為2048 ; 如何使用 API 訪問該值? 我知道我可以做sizeof(Msg_AuthenticationData_t.bytes)因為它在編譯時設置為2048但似乎應該有一個 API。 ...

nanopb : 獲取重復子消息的大小

[英]nanopb : get the size of repeated submessages

對於一個項目,我正在嘗試解碼重復數量的結構,我必須將其填充到動態分配的數組中,但為了使其工作,我需要知道重復的子消息有多少元素,以便分配事先合適的尺寸。 我正在為重復的子消息使用可變大小(沒有上限),所以我不能使用max_size 。 但我似乎找不到任何方法來事先檢索子消息的數量。 那么,有人知 ...

Nanopb 剝離包選項在導入時引發錯誤

[英]Nanopb strip package option raises error at import

我正在努力使用 nanopb 來獲取另一個在.options文件中具有* mangle_names:M_STRIP_PACKAGE的包的枚舉。 這是一種輕松重現問題的方法: 我有一個包含文件夾_A 和文件夾_B 的根文件夾。 在文件夾_A 中,我有 file_A.proto 和 file_A.op ...

2022-06-06 16:01:09   1   19    nanopb  
協議緩沖區將 oneof 消息拆分到不同的文件

[英]Protocol buffer split oneof message to a different file

我使用 nanopb 和一個看起來像這樣(簡化)的 .proto 文件: 我現在需要將oneMessage拆分為不同的 .proto 文件並導入它。 我可以這樣做:文件 a.proto: 文件 b.proto 但這意味着我無法使用message.messageType1獲取我的消息類型, ...

編碼的 nanopb 協議緩沖區消耗的內存比預期的要多

[英]Encoded nanopb protocol buffer consumes more memory than expected

我正在嘗試轉換以下 c 結構: 使用以下 .proto 文件到協議緩沖區: 和以下 .option 文件: 問題是algo_stream_debug_pkt類型的編碼協議緩沖區數據在我的用例中使用了大約 58 個字節(當流式傳輸到內存時)。 algo_stream_debug_pkt的 ...

如何對重復的 google.protobuf.any 進行編碼?

[英]How to encode a repeated google.protobuf.any?

我有一條消息,我想將它打包成任何重復的 google 原型類型:: 有沒有辦法對重復的任何消息類型進行編碼? 我什至可以在 google.protobuf.any 中使用重復標簽嗎? 我正在尋找一個示例,目前使用 nanopb 進行編碼。 ...

使用字節字段作為任意消息的代理

[英]using a bytes field as proxy for arbitrary messages

你好納米開發者, 我想實現以下原型: 點表示,有更多消息帶有(多個)原語,其中包含即將到來的數據類型。 枚舉也會增長,只是想保持簡短。 容器生成為: evt_resultStatus 是: 字段cmd_evt_transfer應該充當后續消息的代理,例如evt_resultStatus持有原始數據 ...

nanopb 未應用選項

[英]nanopb not applying options

我有以下原型定義 和選項文件 我使用以下命令運行 protoc 並且它正確地選擇了選項(不知道為什么它會打印兩次相同的東西) 現在,當我檢查生成的simple.pb.h時,我看到了 我期待int32_t lucky_numbers[10]; 如文件所示。 知道我哪里出錯了嗎? ...

如何清除 C++ 中的 ZF7B44CFFAFD5C52223D5498196C8A2E7BZ 以供 nanoPB 協議緩沖區使用?

[英]How do I clear a stream in C++ for a nanoPB protocol buffer to use?

我在平台IO中的ESP32項目中使用nanopb。 這是一個 arduino 風格的 C++ 代碼庫。 我正在使用一些 protobufs 對數據進行編碼以進行傳輸。 我已經設置了 memory protobufs 將在根級別使用,以避免每次發送消息時重新分配 memory。 然后我得到了我的 f ...

使用 nanopb 的 C 客戶端 gRPC 的 HTTP/2 客戶端前言字符串丟失或損壞(盡管適用於 Socket 實現)

[英]HTTP/2 client preface string missing or corrupt for C client gRPC using nanopb (though works for Socket implementation)

目標:我想創建一個客戶端,它可以通過 gRPC 將溫度數據發送到遠程服務器 (LAN)。 問題:我收到“HTTP/2 客戶端前言字符串丟失或損壞”。 我可以完美地使用 Sockets。 我已經記錄了我在下面所做的事情以及我的github上的一些事情。 我的想法是它與標題設置不正確有關。 可能是 W ...

編碼 NanoPB 變量字符串

[英]Encoding NanoPB variable Strings

我有一個在運行時通過從 EEPROM 讀取確定的字符串: 問題是“nuts”正在被編碼,但eeprom_buffer中的變量值沒有被編碼。 我需要一些關於為什么會發生這種情況的建議,好嗎? 這是我的encode_string function: ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM