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