1 /* Encodes a float value into a double on the wire.
2  * Used to emit doubles from AVR code, which doesn't support double directly.
3  */
4 
5 #include <stdio.h>
6 #include <pb_encode.h>
7 #include "double_conversion.h"
8 #include "doubleproto.pb.h"
9 
10 int main()
11 {
12     AVRDoubleMessage message = {
13         float_to_double(1234.5678f),
14         float_to_double(0.00001f)
15     };
16 
17     uint8_t buffer[32];
18     pb_ostream_t stream = pb_ostream_from_buffer(buffer, sizeof(buffer));
19 
20     pb_encode(&stream, AVRDoubleMessage_fields, &message);
21     fwrite(buffer, 1, stream.bytes_written, stdout);
22 
23     return 0;
24 }
25 
26