17ef855e462b9a18b7d330e4b40f350164a6ad9daEtan CohenNanopb example "simple" 27ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen======================= 37ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen 47ef855e462b9a18b7d330e4b40f350164a6ad9daEtan CohenThis example demonstrates the very basic use of nanopb. It encodes and 57ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohendecodes a simple message. 67ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen 77ef855e462b9a18b7d330e4b40f350164a6ad9daEtan CohenThe code uses four different API functions: 87ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen 97ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen * pb_ostream_from_buffer() to declare the output buffer that is to be used 107ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen * pb_encode() to encode a message 117ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen * pb_istream_from_buffer() to declare the input buffer that is to be used 127ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen * pb_decode() to decode a message 137ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen 147ef855e462b9a18b7d330e4b40f350164a6ad9daEtan CohenExample usage 157ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen------------- 167ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen 177ef855e462b9a18b7d330e4b40f350164a6ad9daEtan CohenOn Linux, simply type "make" to build the example. After that, you can 187ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohenrun it with the command: ./simple 197ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen 207ef855e462b9a18b7d330e4b40f350164a6ad9daEtan CohenOn other platforms, you first have to compile the protocol definition using 217ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohenthe following command:: 227ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen 237ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen ../../generator-bin/protoc --nanopb_out=. simple.proto 247ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen 257ef855e462b9a18b7d330e4b40f350164a6ad9daEtan CohenAfter that, add the following four files to your project and compile: 267ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen 277ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen simple.c simple.pb.c pb_encode.c pb_decode.c 287ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen 297ef855e462b9a18b7d330e4b40f350164a6ad9daEtan Cohen 30