diff options
author | 2017-05-19 16:20:02 +0200 | |
---|---|---|
committer | 2017-05-19 16:20:02 +0200 | |
commit | 2d574dc77f68ecb5150016989900860e8b74be50 (patch) | |
tree | d691a8345a58dcd080131c58d028f77df51a45ed /CAN-binder/libs/nanopb/examples/using_double_on_avr/encode_double.c | |
parent | 48a2605965af1f05ba7f01f6e8c1758a4c9b0522 (diff) | |
parent | 278ffb890e3d8722e4c7d824baaf221a1e375fc4 (diff) |
Add 'CAN-binder/libs/nanopb/' from commit '278ffb890e3d8722e4c7d824baaf221a1e375fc4'
git-subtree-dir: CAN-binder/libs/nanopb
git-subtree-mainline: 48a2605965af1f05ba7f01f6e8c1758a4c9b0522
git-subtree-split: 278ffb890e3d8722e4c7d824baaf221a1e375fc4
Diffstat (limited to 'CAN-binder/libs/nanopb/examples/using_double_on_avr/encode_double.c')
-rw-r--r-- | CAN-binder/libs/nanopb/examples/using_double_on_avr/encode_double.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/CAN-binder/libs/nanopb/examples/using_double_on_avr/encode_double.c b/CAN-binder/libs/nanopb/examples/using_double_on_avr/encode_double.c new file mode 100644 index 0000000..cd532d4 --- /dev/null +++ b/CAN-binder/libs/nanopb/examples/using_double_on_avr/encode_double.c @@ -0,0 +1,25 @@ +/* Encodes a float value into a double on the wire. + * Used to emit doubles from AVR code, which doesn't support double directly. + */ + +#include <stdio.h> +#include <pb_encode.h> +#include "double_conversion.h" +#include "doubleproto.pb.h" + +int main() +{ + AVRDoubleMessage message = { + float_to_double(1234.5678f), + float_to_double(0.00001f) + }; + + uint8_t buffer[32]; + pb_ostream_t stream = pb_ostream_from_buffer(buffer, sizeof(buffer)); + + pb_encode(&stream, AVRDoubleMessage_fields, &message); + fwrite(buffer, 1, stream.bytes_written, stdout); + + return 0; +} + |