simplersble 0.14.1-dev44

The all-in-one Bluetooth library that makes it easy to add wireless connectivity to your projects.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
/* Automatically generated nanopb header */
/* Generated by nanopb-0.4.9.1 */

#ifndef PB_SIMPLEBLE_SIMPLEBLE_PB_H_INCLUDED
#define PB_SIMPLEBLE_SIMPLEBLE_PB_H_INCLUDED
#include "nanopb/pb.h"

#if PB_PROTO_HEADER_VERSION != 40
#error Regenerate this file with the current version of nanopb generator.
#endif

/* Enum definitions */
typedef enum _simpleble_BluetoothAddressType {
    simpleble_BluetoothAddressType_PUBLIC = 0,
    simpleble_BluetoothAddressType_RANDOM = 1,
    simpleble_BluetoothAddressType_UNSPECIFIED = 2
} simpleble_BluetoothAddressType;

typedef enum _simpleble_WriteOperation {
    simpleble_WriteOperation_WRITE_INVALID = 0,
    simpleble_WriteOperation_WRITE_REQ = 1,
    simpleble_WriteOperation_WRITE_CMD = 2
} simpleble_WriteOperation;

typedef enum _simpleble_ValueChangedType {
    simpleble_ValueChangedType_VALUE_CHANGED_INVALID = 0,
    simpleble_ValueChangedType_NOTIFICATION = 1,
    simpleble_ValueChangedType_INDICATION = 2
} simpleble_ValueChangedType;

/* Struct definitions */
typedef struct _simpleble_UUID16Bit {
    uint16_t uuid;
} simpleble_UUID16Bit;

typedef struct _simpleble_UUID32Bit {
    uint32_t uuid;
} simpleble_UUID32Bit;

typedef struct _simpleble_UUID128Bit {
    pb_byte_t uuid[16]; /* BluetoothUUID, 16 bytes */
} simpleble_UUID128Bit;

typedef struct _simpleble_UUID {
    pb_size_t which_uuid;
    union {
        simpleble_UUID16Bit uuid16;
        simpleble_UUID32Bit uuid32;
        simpleble_UUID128Bit uuid128;
    } uuid;
} simpleble_UUID;

typedef PB_BYTES_ARRAY_T(27) simpleble_ManufacturerDataEntry_data_t;
typedef struct _simpleble_ManufacturerDataEntry {
    uint16_t company_id;
    simpleble_ManufacturerDataEntry_data_t data; /* Max manufacturer data size */
} simpleble_ManufacturerDataEntry;

typedef PB_BYTES_ARRAY_T(27) simpleble_ServiceDataEntry_data_t;
typedef struct _simpleble_ServiceDataEntry {
    bool has_uuid;
    simpleble_UUID uuid;
    simpleble_ServiceDataEntry_data_t data; /* Max service data size */
} simpleble_ServiceDataEntry;

typedef struct _simpleble_CharacteristicProperties {
    bool broadcast;
    bool read;
    bool write_wo_resp;
    bool write;
    bool notify;
    bool indicate;
    bool auth_signed_wr;
} simpleble_CharacteristicProperties;

typedef struct _simpleble_Service {
    bool has_uuid;
    simpleble_UUID uuid;
    uint16_t start_handle;
    uint16_t end_handle;
} simpleble_Service;

typedef struct _simpleble_Characteristic {
    bool has_uuid;
    simpleble_UUID uuid;
    bool has_props;
    simpleble_CharacteristicProperties props;
    uint16_t handle_decl;
    uint16_t handle_value;
} simpleble_Characteristic;

typedef struct _simpleble_Descriptor {
    bool has_uuid;
    simpleble_UUID uuid;
    uint16_t handle;
} simpleble_Descriptor;

typedef struct _simpleble_Attribute {
    pb_size_t which_attribute;
    union {
        simpleble_Service service;
        simpleble_Characteristic characteristic;
        simpleble_Descriptor descriptor;
    } attribute;
} simpleble_Attribute;

typedef struct _simpleble_InitCmd {
    char dummy_field;
} simpleble_InitCmd;

typedef struct _simpleble_ScanStartCmd {
    char dummy_field;
} simpleble_ScanStartCmd;

typedef struct _simpleble_ScanStopCmd {
    char dummy_field;
} simpleble_ScanStopCmd;

typedef struct _simpleble_ScanIsActiveCmd {
    char dummy_field;
} simpleble_ScanIsActiveCmd;

typedef struct _simpleble_ConnectCmd {
    simpleble_BluetoothAddressType address_type;
    char address[18]; /* 17 characters + null terminator */
} simpleble_ConnectCmd;

typedef struct _simpleble_DisconnectCmd {
    uint16_t conn_handle;
} simpleble_DisconnectCmd;

typedef struct _simpleble_ReadCmd {
    uint16_t conn_handle;
    uint16_t handle;
} simpleble_ReadCmd;

typedef PB_BYTES_ARRAY_T(512) simpleble_WriteCmd_data_t;
typedef struct _simpleble_WriteCmd {
    uint16_t conn_handle;
    uint16_t handle;
    simpleble_WriteOperation op;
    simpleble_WriteCmd_data_t data; /* Variable length */
} simpleble_WriteCmd;

typedef struct _simpleble_InitRsp {
    uint32_t ret_code;
} simpleble_InitRsp;

typedef struct _simpleble_ScanStartRsp {
    uint32_t ret_code;
} simpleble_ScanStartRsp;

typedef struct _simpleble_ScanStopRsp {
    uint32_t ret_code;
} simpleble_ScanStopRsp;

typedef struct _simpleble_ScanIsActiveRsp {
    bool is_active;
} simpleble_ScanIsActiveRsp;

typedef struct _simpleble_ConnectRsp {
    uint32_t ret_code;
} simpleble_ConnectRsp;

typedef struct _simpleble_DisconnectRsp {
    uint32_t ret_code;
} simpleble_DisconnectRsp;

typedef PB_BYTES_ARRAY_T(512) simpleble_ReadRsp_data_t;
typedef struct _simpleble_ReadRsp {
    uint32_t ret_code;
    uint16_t conn_handle;
    simpleble_ReadRsp_data_t data; /* Variable length */
} simpleble_ReadRsp;

typedef struct _simpleble_WriteRsp {
    uint32_t ret_code;
    uint16_t conn_handle;
} simpleble_WriteRsp;

typedef struct _simpleble_AdvEvt {
    char identifier[32];
    simpleble_BluetoothAddressType address_type;
    char address[18]; /* 17 characters + null terminator */
    bool connectable;
    int16_t rssi;
    int16_t tx_power;
    pb_size_t manufacturer_data_count;
    simpleble_ManufacturerDataEntry manufacturer_data[4];
    pb_size_t service_data_count;
    simpleble_ServiceDataEntry service_data[4];
} simpleble_AdvEvt;

typedef struct _simpleble_ConnectionEvt {
    char address[18]; /* 17 characters + null terminator */
    uint16_t conn_handle;
} simpleble_ConnectionEvt;

typedef struct _simpleble_DisconnectionEvt {
    uint16_t conn_handle;
} simpleble_DisconnectionEvt;

typedef struct _simpleble_ServiceDiscoveredEvt {
    uint16_t conn_handle;
    uint16_t start_handle;
    uint16_t end_handle;
    bool has_uuid16;
    simpleble_UUID16Bit uuid16;
} simpleble_ServiceDiscoveredEvt;

typedef struct _simpleble_CharacteristicDiscoveredEvt {
    uint16_t conn_handle;
    uint16_t handle_decl;
    uint16_t handle_value;
    bool has_uuid16;
    simpleble_UUID16Bit uuid16;
    bool has_props;
    simpleble_CharacteristicProperties props;
} simpleble_CharacteristicDiscoveredEvt;

typedef struct _simpleble_DescriptorDiscoveredEvt {
    uint16_t conn_handle;
    uint16_t handle;
    bool has_uuid16;
    simpleble_UUID16Bit uuid16;
} simpleble_DescriptorDiscoveredEvt;

typedef struct _simpleble_AttributeDiscoveryCompleteEvt {
    uint16_t conn_handle;
} simpleble_AttributeDiscoveryCompleteEvt;

typedef PB_BYTES_ARRAY_T(512) simpleble_ValueChangedEvt_data_t;
typedef struct _simpleble_ValueChangedEvt {
    uint16_t conn_handle;
    uint16_t handle;
    simpleble_ValueChangedType type;
    simpleble_ValueChangedEvt_data_t data; /* Variable length */
} simpleble_ValueChangedEvt;

typedef struct _simpleble_Command {
    pb_size_t which_cmd;
    union {
        simpleble_InitCmd init;
        simpleble_ScanStartCmd scan_start;
        simpleble_ScanStopCmd scan_stop;
        simpleble_ConnectCmd connect;
        simpleble_DisconnectCmd disconnect;
        simpleble_ReadCmd read;
        simpleble_WriteCmd write;
        simpleble_ScanIsActiveCmd scan_is_active;
    } cmd;
} simpleble_Command;

typedef struct _simpleble_Response {
    pb_size_t which_rsp;
    union {
        simpleble_InitRsp init;
        simpleble_ScanStartRsp scan_start;
        simpleble_ScanStopRsp scan_stop;
        simpleble_ConnectRsp connect;
        simpleble_DisconnectRsp disconnect;
        simpleble_ReadRsp read;
        simpleble_WriteRsp write;
        simpleble_ScanIsActiveRsp scan_is_active;
    } rsp;
} simpleble_Response;

typedef struct _simpleble_Event {
    pb_size_t which_evt;
    union {
        simpleble_AdvEvt adv_evt;
        simpleble_ConnectionEvt connection_evt;
        simpleble_DisconnectionEvt disconnection_evt;
        simpleble_ServiceDiscoveredEvt service_discovered_evt;
        simpleble_CharacteristicDiscoveredEvt characteristic_discovered_evt;
        simpleble_DescriptorDiscoveredEvt descriptor_discovered_evt;
        simpleble_AttributeDiscoveryCompleteEvt attribute_discovery_complete_evt;
        simpleble_ValueChangedEvt value_changed_evt;
    } evt;
} simpleble_Event;


#ifdef __cplusplus
extern "C" {
#endif

/* Helper constants for enums */
#define _simpleble_BluetoothAddressType_MIN simpleble_BluetoothAddressType_PUBLIC
#define _simpleble_BluetoothAddressType_MAX simpleble_BluetoothAddressType_UNSPECIFIED
#define _simpleble_BluetoothAddressType_ARRAYSIZE ((simpleble_BluetoothAddressType)(simpleble_BluetoothAddressType_UNSPECIFIED+1))

#define _simpleble_WriteOperation_MIN simpleble_WriteOperation_WRITE_INVALID
#define _simpleble_WriteOperation_MAX simpleble_WriteOperation_WRITE_CMD
#define _simpleble_WriteOperation_ARRAYSIZE ((simpleble_WriteOperation)(simpleble_WriteOperation_WRITE_CMD+1))

#define _simpleble_ValueChangedType_MIN simpleble_ValueChangedType_VALUE_CHANGED_INVALID
#define _simpleble_ValueChangedType_MAX simpleble_ValueChangedType_INDICATION
#define _simpleble_ValueChangedType_ARRAYSIZE ((simpleble_ValueChangedType)(simpleble_ValueChangedType_INDICATION+1))
















#define simpleble_ConnectCmd_address_type_ENUMTYPE simpleble_BluetoothAddressType



#define simpleble_WriteCmd_op_ENUMTYPE simpleble_WriteOperation









#define simpleble_AdvEvt_address_type_ENUMTYPE simpleble_BluetoothAddressType







#define simpleble_ValueChangedEvt_type_ENUMTYPE simpleble_ValueChangedType





/* Initializer values for message structs */
#define simpleble_UUID16Bit_init_default         {0}
#define simpleble_UUID32Bit_init_default         {0}
#define simpleble_UUID128Bit_init_default        {{0}}
#define simpleble_UUID_init_default              {0, {simpleble_UUID16Bit_init_default}}
#define simpleble_ManufacturerDataEntry_init_default {0, {0, {0}}}
#define simpleble_ServiceDataEntry_init_default  {false, simpleble_UUID_init_default, {0, {0}}}
#define simpleble_CharacteristicProperties_init_default {0, 0, 0, 0, 0, 0, 0}
#define simpleble_Service_init_default           {false, simpleble_UUID_init_default, 0, 0}
#define simpleble_Characteristic_init_default    {false, simpleble_UUID_init_default, false, simpleble_CharacteristicProperties_init_default, 0, 0}
#define simpleble_Descriptor_init_default        {false, simpleble_UUID_init_default, 0}
#define simpleble_Attribute_init_default         {0, {simpleble_Service_init_default}}
#define simpleble_InitCmd_init_default           {0}
#define simpleble_ScanStartCmd_init_default      {0}
#define simpleble_ScanStopCmd_init_default       {0}
#define simpleble_ScanIsActiveCmd_init_default   {0}
#define simpleble_ConnectCmd_init_default        {_simpleble_BluetoothAddressType_MIN, ""}
#define simpleble_DisconnectCmd_init_default     {0}
#define simpleble_ReadCmd_init_default           {0, 0}
#define simpleble_WriteCmd_init_default          {0, 0, _simpleble_WriteOperation_MIN, {0, {0}}}
#define simpleble_InitRsp_init_default           {0}
#define simpleble_ScanStartRsp_init_default      {0}
#define simpleble_ScanStopRsp_init_default       {0}
#define simpleble_ScanIsActiveRsp_init_default   {0}
#define simpleble_ConnectRsp_init_default        {0}
#define simpleble_DisconnectRsp_init_default     {0}
#define simpleble_ReadRsp_init_default           {0, 0, {0, {0}}}
#define simpleble_WriteRsp_init_default          {0, 0}
#define simpleble_AdvEvt_init_default            {"", _simpleble_BluetoothAddressType_MIN, "", 0, 0, 0, 0, {simpleble_ManufacturerDataEntry_init_default, simpleble_ManufacturerDataEntry_init_default, simpleble_ManufacturerDataEntry_init_default, simpleble_ManufacturerDataEntry_init_default}, 0, {simpleble_ServiceDataEntry_init_default, simpleble_ServiceDataEntry_init_default, simpleble_ServiceDataEntry_init_default, simpleble_ServiceDataEntry_init_default}}
#define simpleble_ConnectionEvt_init_default     {"", 0}
#define simpleble_DisconnectionEvt_init_default  {0}
#define simpleble_ServiceDiscoveredEvt_init_default {0, 0, 0, false, simpleble_UUID16Bit_init_default}
#define simpleble_CharacteristicDiscoveredEvt_init_default {0, 0, 0, false, simpleble_UUID16Bit_init_default, false, simpleble_CharacteristicProperties_init_default}
#define simpleble_DescriptorDiscoveredEvt_init_default {0, 0, false, simpleble_UUID16Bit_init_default}
#define simpleble_AttributeDiscoveryCompleteEvt_init_default {0}
#define simpleble_ValueChangedEvt_init_default   {0, 0, _simpleble_ValueChangedType_MIN, {0, {0}}}
#define simpleble_Command_init_default           {0, {simpleble_InitCmd_init_default}}
#define simpleble_Response_init_default          {0, {simpleble_InitRsp_init_default}}
#define simpleble_Event_init_default             {0, {simpleble_AdvEvt_init_default}}
#define simpleble_UUID16Bit_init_zero            {0}
#define simpleble_UUID32Bit_init_zero            {0}
#define simpleble_UUID128Bit_init_zero           {{0}}
#define simpleble_UUID_init_zero                 {0, {simpleble_UUID16Bit_init_zero}}
#define simpleble_ManufacturerDataEntry_init_zero {0, {0, {0}}}
#define simpleble_ServiceDataEntry_init_zero     {false, simpleble_UUID_init_zero, {0, {0}}}
#define simpleble_CharacteristicProperties_init_zero {0, 0, 0, 0, 0, 0, 0}
#define simpleble_Service_init_zero              {false, simpleble_UUID_init_zero, 0, 0}
#define simpleble_Characteristic_init_zero       {false, simpleble_UUID_init_zero, false, simpleble_CharacteristicProperties_init_zero, 0, 0}
#define simpleble_Descriptor_init_zero           {false, simpleble_UUID_init_zero, 0}
#define simpleble_Attribute_init_zero            {0, {simpleble_Service_init_zero}}
#define simpleble_InitCmd_init_zero              {0}
#define simpleble_ScanStartCmd_init_zero         {0}
#define simpleble_ScanStopCmd_init_zero          {0}
#define simpleble_ScanIsActiveCmd_init_zero      {0}
#define simpleble_ConnectCmd_init_zero           {_simpleble_BluetoothAddressType_MIN, ""}
#define simpleble_DisconnectCmd_init_zero        {0}
#define simpleble_ReadCmd_init_zero              {0, 0}
#define simpleble_WriteCmd_init_zero             {0, 0, _simpleble_WriteOperation_MIN, {0, {0}}}
#define simpleble_InitRsp_init_zero              {0}
#define simpleble_ScanStartRsp_init_zero         {0}
#define simpleble_ScanStopRsp_init_zero          {0}
#define simpleble_ScanIsActiveRsp_init_zero      {0}
#define simpleble_ConnectRsp_init_zero           {0}
#define simpleble_DisconnectRsp_init_zero        {0}
#define simpleble_ReadRsp_init_zero              {0, 0, {0, {0}}}
#define simpleble_WriteRsp_init_zero             {0, 0}
#define simpleble_AdvEvt_init_zero               {"", _simpleble_BluetoothAddressType_MIN, "", 0, 0, 0, 0, {simpleble_ManufacturerDataEntry_init_zero, simpleble_ManufacturerDataEntry_init_zero, simpleble_ManufacturerDataEntry_init_zero, simpleble_ManufacturerDataEntry_init_zero}, 0, {simpleble_ServiceDataEntry_init_zero, simpleble_ServiceDataEntry_init_zero, simpleble_ServiceDataEntry_init_zero, simpleble_ServiceDataEntry_init_zero}}
#define simpleble_ConnectionEvt_init_zero        {"", 0}
#define simpleble_DisconnectionEvt_init_zero     {0}
#define simpleble_ServiceDiscoveredEvt_init_zero {0, 0, 0, false, simpleble_UUID16Bit_init_zero}
#define simpleble_CharacteristicDiscoveredEvt_init_zero {0, 0, 0, false, simpleble_UUID16Bit_init_zero, false, simpleble_CharacteristicProperties_init_zero}
#define simpleble_DescriptorDiscoveredEvt_init_zero {0, 0, false, simpleble_UUID16Bit_init_zero}
#define simpleble_AttributeDiscoveryCompleteEvt_init_zero {0}
#define simpleble_ValueChangedEvt_init_zero      {0, 0, _simpleble_ValueChangedType_MIN, {0, {0}}}
#define simpleble_Command_init_zero              {0, {simpleble_InitCmd_init_zero}}
#define simpleble_Response_init_zero             {0, {simpleble_InitRsp_init_zero}}
#define simpleble_Event_init_zero                {0, {simpleble_AdvEvt_init_zero}}

/* Field tags (for use in manual encoding/decoding) */
#define simpleble_UUID16Bit_uuid_tag             1
#define simpleble_UUID32Bit_uuid_tag             1
#define simpleble_UUID128Bit_uuid_tag            1
#define simpleble_UUID_uuid16_tag                1
#define simpleble_UUID_uuid32_tag                2
#define simpleble_UUID_uuid128_tag               3
#define simpleble_ManufacturerDataEntry_company_id_tag 1
#define simpleble_ManufacturerDataEntry_data_tag 2
#define simpleble_ServiceDataEntry_uuid_tag      1
#define simpleble_ServiceDataEntry_data_tag      2
#define simpleble_CharacteristicProperties_broadcast_tag 1
#define simpleble_CharacteristicProperties_read_tag 2
#define simpleble_CharacteristicProperties_write_wo_resp_tag 3
#define simpleble_CharacteristicProperties_write_tag 4
#define simpleble_CharacteristicProperties_notify_tag 5
#define simpleble_CharacteristicProperties_indicate_tag 6
#define simpleble_CharacteristicProperties_auth_signed_wr_tag 7
#define simpleble_Service_uuid_tag               1
#define simpleble_Service_start_handle_tag       2
#define simpleble_Service_end_handle_tag         3
#define simpleble_Characteristic_uuid_tag        1
#define simpleble_Characteristic_props_tag       2
#define simpleble_Characteristic_handle_decl_tag 3
#define simpleble_Characteristic_handle_value_tag 4
#define simpleble_Descriptor_uuid_tag            1
#define simpleble_Descriptor_handle_tag          2
#define simpleble_Attribute_service_tag          1
#define simpleble_Attribute_characteristic_tag   2
#define simpleble_Attribute_descriptor_tag       3
#define simpleble_ConnectCmd_address_type_tag    1
#define simpleble_ConnectCmd_address_tag         2
#define simpleble_DisconnectCmd_conn_handle_tag  1
#define simpleble_ReadCmd_conn_handle_tag        1
#define simpleble_ReadCmd_handle_tag             2
#define simpleble_WriteCmd_conn_handle_tag       1
#define simpleble_WriteCmd_handle_tag            2
#define simpleble_WriteCmd_op_tag                3
#define simpleble_WriteCmd_data_tag              4
#define simpleble_InitRsp_ret_code_tag           1
#define simpleble_ScanStartRsp_ret_code_tag      1
#define simpleble_ScanStopRsp_ret_code_tag       1
#define simpleble_ScanIsActiveRsp_is_active_tag  1
#define simpleble_ConnectRsp_ret_code_tag        1
#define simpleble_DisconnectRsp_ret_code_tag     1
#define simpleble_ReadRsp_ret_code_tag           1
#define simpleble_ReadRsp_conn_handle_tag        2
#define simpleble_ReadRsp_data_tag               3
#define simpleble_WriteRsp_ret_code_tag          1
#define simpleble_WriteRsp_conn_handle_tag       2
#define simpleble_AdvEvt_identifier_tag          1
#define simpleble_AdvEvt_address_type_tag        2
#define simpleble_AdvEvt_address_tag             3
#define simpleble_AdvEvt_connectable_tag         4
#define simpleble_AdvEvt_rssi_tag                5
#define simpleble_AdvEvt_tx_power_tag            6
#define simpleble_AdvEvt_manufacturer_data_tag   7
#define simpleble_AdvEvt_service_data_tag        8
#define simpleble_ConnectionEvt_address_tag      1
#define simpleble_ConnectionEvt_conn_handle_tag  2
#define simpleble_DisconnectionEvt_conn_handle_tag 1
#define simpleble_ServiceDiscoveredEvt_conn_handle_tag 1
#define simpleble_ServiceDiscoveredEvt_start_handle_tag 2
#define simpleble_ServiceDiscoveredEvt_end_handle_tag 3
#define simpleble_ServiceDiscoveredEvt_uuid16_tag 4
#define simpleble_CharacteristicDiscoveredEvt_conn_handle_tag 1
#define simpleble_CharacteristicDiscoveredEvt_handle_decl_tag 2
#define simpleble_CharacteristicDiscoveredEvt_handle_value_tag 3
#define simpleble_CharacteristicDiscoveredEvt_uuid16_tag 4
#define simpleble_CharacteristicDiscoveredEvt_props_tag 5
#define simpleble_DescriptorDiscoveredEvt_conn_handle_tag 1
#define simpleble_DescriptorDiscoveredEvt_handle_tag 2
#define simpleble_DescriptorDiscoveredEvt_uuid16_tag 3
#define simpleble_AttributeDiscoveryCompleteEvt_conn_handle_tag 1
#define simpleble_ValueChangedEvt_conn_handle_tag 1
#define simpleble_ValueChangedEvt_handle_tag     2
#define simpleble_ValueChangedEvt_type_tag       3
#define simpleble_ValueChangedEvt_data_tag       4
#define simpleble_Command_init_tag               1
#define simpleble_Command_scan_start_tag         2
#define simpleble_Command_scan_stop_tag          3
#define simpleble_Command_connect_tag            4
#define simpleble_Command_disconnect_tag         5
#define simpleble_Command_read_tag               6
#define simpleble_Command_write_tag              7
#define simpleble_Command_scan_is_active_tag     8
#define simpleble_Response_init_tag              1
#define simpleble_Response_scan_start_tag        2
#define simpleble_Response_scan_stop_tag         3
#define simpleble_Response_connect_tag           4
#define simpleble_Response_disconnect_tag        5
#define simpleble_Response_read_tag              6
#define simpleble_Response_write_tag             7
#define simpleble_Response_scan_is_active_tag    8
#define simpleble_Event_adv_evt_tag              1
#define simpleble_Event_connection_evt_tag       2
#define simpleble_Event_disconnection_evt_tag    3
#define simpleble_Event_service_discovered_evt_tag 4
#define simpleble_Event_characteristic_discovered_evt_tag 5
#define simpleble_Event_descriptor_discovered_evt_tag 6
#define simpleble_Event_attribute_discovery_complete_evt_tag 7
#define simpleble_Event_value_changed_evt_tag    8

/* Struct field encoding specification for nanopb */
#define simpleble_UUID16Bit_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   uuid,              1)
#define simpleble_UUID16Bit_CALLBACK NULL
#define simpleble_UUID16Bit_DEFAULT NULL

#define simpleble_UUID32Bit_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   uuid,              1)
#define simpleble_UUID32Bit_CALLBACK NULL
#define simpleble_UUID32Bit_DEFAULT NULL

#define simpleble_UUID128Bit_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, FIXED_LENGTH_BYTES, uuid,              1)
#define simpleble_UUID128Bit_CALLBACK NULL
#define simpleble_UUID128Bit_DEFAULT NULL

#define simpleble_UUID_FIELDLIST(X, a) \
X(a, STATIC,   ONEOF,    MESSAGE,  (uuid,uuid16,uuid.uuid16),   1) \
X(a, STATIC,   ONEOF,    MESSAGE,  (uuid,uuid32,uuid.uuid32),   2) \
X(a, STATIC,   ONEOF,    MESSAGE,  (uuid,uuid128,uuid.uuid128),   3)
#define simpleble_UUID_CALLBACK NULL
#define simpleble_UUID_DEFAULT NULL
#define simpleble_UUID_uuid_uuid16_MSGTYPE simpleble_UUID16Bit
#define simpleble_UUID_uuid_uuid32_MSGTYPE simpleble_UUID32Bit
#define simpleble_UUID_uuid_uuid128_MSGTYPE simpleble_UUID128Bit

#define simpleble_ManufacturerDataEntry_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   company_id,        1) \
X(a, STATIC,   SINGULAR, BYTES,    data,              2)
#define simpleble_ManufacturerDataEntry_CALLBACK NULL
#define simpleble_ManufacturerDataEntry_DEFAULT NULL

#define simpleble_ServiceDataEntry_FIELDLIST(X, a) \
X(a, STATIC,   OPTIONAL, MESSAGE,  uuid,              1) \
X(a, STATIC,   SINGULAR, BYTES,    data,              2)
#define simpleble_ServiceDataEntry_CALLBACK NULL
#define simpleble_ServiceDataEntry_DEFAULT NULL
#define simpleble_ServiceDataEntry_uuid_MSGTYPE simpleble_UUID

#define simpleble_CharacteristicProperties_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, BOOL,     broadcast,         1) \
X(a, STATIC,   SINGULAR, BOOL,     read,              2) \
X(a, STATIC,   SINGULAR, BOOL,     write_wo_resp,     3) \
X(a, STATIC,   SINGULAR, BOOL,     write,             4) \
X(a, STATIC,   SINGULAR, BOOL,     notify,            5) \
X(a, STATIC,   SINGULAR, BOOL,     indicate,          6) \
X(a, STATIC,   SINGULAR, BOOL,     auth_signed_wr,    7)
#define simpleble_CharacteristicProperties_CALLBACK NULL
#define simpleble_CharacteristicProperties_DEFAULT NULL

#define simpleble_Service_FIELDLIST(X, a) \
X(a, STATIC,   OPTIONAL, MESSAGE,  uuid,              1) \
X(a, STATIC,   SINGULAR, UINT32,   start_handle,      2) \
X(a, STATIC,   SINGULAR, UINT32,   end_handle,        3)
#define simpleble_Service_CALLBACK NULL
#define simpleble_Service_DEFAULT NULL
#define simpleble_Service_uuid_MSGTYPE simpleble_UUID

#define simpleble_Characteristic_FIELDLIST(X, a) \
X(a, STATIC,   OPTIONAL, MESSAGE,  uuid,              1) \
X(a, STATIC,   OPTIONAL, MESSAGE,  props,             2) \
X(a, STATIC,   SINGULAR, UINT32,   handle_decl,       3) \
X(a, STATIC,   SINGULAR, UINT32,   handle_value,      4)
#define simpleble_Characteristic_CALLBACK NULL
#define simpleble_Characteristic_DEFAULT NULL
#define simpleble_Characteristic_uuid_MSGTYPE simpleble_UUID
#define simpleble_Characteristic_props_MSGTYPE simpleble_CharacteristicProperties

#define simpleble_Descriptor_FIELDLIST(X, a) \
X(a, STATIC,   OPTIONAL, MESSAGE,  uuid,              1) \
X(a, STATIC,   SINGULAR, UINT32,   handle,            2)
#define simpleble_Descriptor_CALLBACK NULL
#define simpleble_Descriptor_DEFAULT NULL
#define simpleble_Descriptor_uuid_MSGTYPE simpleble_UUID

#define simpleble_Attribute_FIELDLIST(X, a) \
X(a, STATIC,   ONEOF,    MESSAGE,  (attribute,service,attribute.service),   1) \
X(a, STATIC,   ONEOF,    MESSAGE,  (attribute,characteristic,attribute.characteristic),   2) \
X(a, STATIC,   ONEOF,    MESSAGE,  (attribute,descriptor,attribute.descriptor),   3)
#define simpleble_Attribute_CALLBACK NULL
#define simpleble_Attribute_DEFAULT NULL
#define simpleble_Attribute_attribute_service_MSGTYPE simpleble_Service
#define simpleble_Attribute_attribute_characteristic_MSGTYPE simpleble_Characteristic
#define simpleble_Attribute_attribute_descriptor_MSGTYPE simpleble_Descriptor

#define simpleble_InitCmd_FIELDLIST(X, a) \

#define simpleble_InitCmd_CALLBACK NULL
#define simpleble_InitCmd_DEFAULT NULL

#define simpleble_ScanStartCmd_FIELDLIST(X, a) \

#define simpleble_ScanStartCmd_CALLBACK NULL
#define simpleble_ScanStartCmd_DEFAULT NULL

#define simpleble_ScanStopCmd_FIELDLIST(X, a) \

#define simpleble_ScanStopCmd_CALLBACK NULL
#define simpleble_ScanStopCmd_DEFAULT NULL

#define simpleble_ScanIsActiveCmd_FIELDLIST(X, a) \

#define simpleble_ScanIsActiveCmd_CALLBACK NULL
#define simpleble_ScanIsActiveCmd_DEFAULT NULL

#define simpleble_ConnectCmd_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UENUM,    address_type,      1) \
X(a, STATIC,   SINGULAR, STRING,   address,           2)
#define simpleble_ConnectCmd_CALLBACK NULL
#define simpleble_ConnectCmd_DEFAULT NULL

#define simpleble_DisconnectCmd_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   conn_handle,       1)
#define simpleble_DisconnectCmd_CALLBACK NULL
#define simpleble_DisconnectCmd_DEFAULT NULL

#define simpleble_ReadCmd_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   conn_handle,       1) \
X(a, STATIC,   SINGULAR, UINT32,   handle,            2)
#define simpleble_ReadCmd_CALLBACK NULL
#define simpleble_ReadCmd_DEFAULT NULL

#define simpleble_WriteCmd_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   conn_handle,       1) \
X(a, STATIC,   SINGULAR, UINT32,   handle,            2) \
X(a, STATIC,   SINGULAR, UENUM,    op,                3) \
X(a, STATIC,   SINGULAR, BYTES,    data,              4)
#define simpleble_WriteCmd_CALLBACK NULL
#define simpleble_WriteCmd_DEFAULT NULL

#define simpleble_InitRsp_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   ret_code,          1)
#define simpleble_InitRsp_CALLBACK NULL
#define simpleble_InitRsp_DEFAULT NULL

#define simpleble_ScanStartRsp_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   ret_code,          1)
#define simpleble_ScanStartRsp_CALLBACK NULL
#define simpleble_ScanStartRsp_DEFAULT NULL

#define simpleble_ScanStopRsp_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   ret_code,          1)
#define simpleble_ScanStopRsp_CALLBACK NULL
#define simpleble_ScanStopRsp_DEFAULT NULL

#define simpleble_ScanIsActiveRsp_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, BOOL,     is_active,         1)
#define simpleble_ScanIsActiveRsp_CALLBACK NULL
#define simpleble_ScanIsActiveRsp_DEFAULT NULL

#define simpleble_ConnectRsp_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   ret_code,          1)
#define simpleble_ConnectRsp_CALLBACK NULL
#define simpleble_ConnectRsp_DEFAULT NULL

#define simpleble_DisconnectRsp_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   ret_code,          1)
#define simpleble_DisconnectRsp_CALLBACK NULL
#define simpleble_DisconnectRsp_DEFAULT NULL

#define simpleble_ReadRsp_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   ret_code,          1) \
X(a, STATIC,   SINGULAR, UINT32,   conn_handle,       2) \
X(a, STATIC,   SINGULAR, BYTES,    data,              3)
#define simpleble_ReadRsp_CALLBACK NULL
#define simpleble_ReadRsp_DEFAULT NULL

#define simpleble_WriteRsp_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   ret_code,          1) \
X(a, STATIC,   SINGULAR, UINT32,   conn_handle,       2)
#define simpleble_WriteRsp_CALLBACK NULL
#define simpleble_WriteRsp_DEFAULT NULL

#define simpleble_AdvEvt_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, STRING,   identifier,        1) \
X(a, STATIC,   SINGULAR, UENUM,    address_type,      2) \
X(a, STATIC,   SINGULAR, STRING,   address,           3) \
X(a, STATIC,   SINGULAR, BOOL,     connectable,       4) \
X(a, STATIC,   SINGULAR, SINT32,   rssi,              5) \
X(a, STATIC,   SINGULAR, SINT32,   tx_power,          6) \
X(a, STATIC,   REPEATED, MESSAGE,  manufacturer_data,   7) \
X(a, STATIC,   REPEATED, MESSAGE,  service_data,      8)
#define simpleble_AdvEvt_CALLBACK NULL
#define simpleble_AdvEvt_DEFAULT NULL
#define simpleble_AdvEvt_manufacturer_data_MSGTYPE simpleble_ManufacturerDataEntry
#define simpleble_AdvEvt_service_data_MSGTYPE simpleble_ServiceDataEntry

#define simpleble_ConnectionEvt_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, STRING,   address,           1) \
X(a, STATIC,   SINGULAR, UINT32,   conn_handle,       2)
#define simpleble_ConnectionEvt_CALLBACK NULL
#define simpleble_ConnectionEvt_DEFAULT NULL

#define simpleble_DisconnectionEvt_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   conn_handle,       1)
#define simpleble_DisconnectionEvt_CALLBACK NULL
#define simpleble_DisconnectionEvt_DEFAULT NULL

#define simpleble_ServiceDiscoveredEvt_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   conn_handle,       1) \
X(a, STATIC,   SINGULAR, UINT32,   start_handle,      2) \
X(a, STATIC,   SINGULAR, UINT32,   end_handle,        3) \
X(a, STATIC,   OPTIONAL, MESSAGE,  uuid16,            4)
#define simpleble_ServiceDiscoveredEvt_CALLBACK NULL
#define simpleble_ServiceDiscoveredEvt_DEFAULT NULL
#define simpleble_ServiceDiscoveredEvt_uuid16_MSGTYPE simpleble_UUID16Bit

#define simpleble_CharacteristicDiscoveredEvt_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   conn_handle,       1) \
X(a, STATIC,   SINGULAR, UINT32,   handle_decl,       2) \
X(a, STATIC,   SINGULAR, UINT32,   handle_value,      3) \
X(a, STATIC,   OPTIONAL, MESSAGE,  uuid16,            4) \
X(a, STATIC,   OPTIONAL, MESSAGE,  props,             5)
#define simpleble_CharacteristicDiscoveredEvt_CALLBACK NULL
#define simpleble_CharacteristicDiscoveredEvt_DEFAULT NULL
#define simpleble_CharacteristicDiscoveredEvt_uuid16_MSGTYPE simpleble_UUID16Bit
#define simpleble_CharacteristicDiscoveredEvt_props_MSGTYPE simpleble_CharacteristicProperties

#define simpleble_DescriptorDiscoveredEvt_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   conn_handle,       1) \
X(a, STATIC,   SINGULAR, UINT32,   handle,            2) \
X(a, STATIC,   OPTIONAL, MESSAGE,  uuid16,            3)
#define simpleble_DescriptorDiscoveredEvt_CALLBACK NULL
#define simpleble_DescriptorDiscoveredEvt_DEFAULT NULL
#define simpleble_DescriptorDiscoveredEvt_uuid16_MSGTYPE simpleble_UUID16Bit

#define simpleble_AttributeDiscoveryCompleteEvt_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   conn_handle,       1)
#define simpleble_AttributeDiscoveryCompleteEvt_CALLBACK NULL
#define simpleble_AttributeDiscoveryCompleteEvt_DEFAULT NULL

#define simpleble_ValueChangedEvt_FIELDLIST(X, a) \
X(a, STATIC,   SINGULAR, UINT32,   conn_handle,       1) \
X(a, STATIC,   SINGULAR, UINT32,   handle,            2) \
X(a, STATIC,   SINGULAR, UENUM,    type,              3) \
X(a, STATIC,   SINGULAR, BYTES,    data,              4)
#define simpleble_ValueChangedEvt_CALLBACK NULL
#define simpleble_ValueChangedEvt_DEFAULT NULL

#define simpleble_Command_FIELDLIST(X, a) \
X(a, STATIC,   ONEOF,    MESSAGE,  (cmd,init,cmd.init),   1) \
X(a, STATIC,   ONEOF,    MESSAGE,  (cmd,scan_start,cmd.scan_start),   2) \
X(a, STATIC,   ONEOF,    MESSAGE,  (cmd,scan_stop,cmd.scan_stop),   3) \
X(a, STATIC,   ONEOF,    MESSAGE,  (cmd,connect,cmd.connect),   4) \
X(a, STATIC,   ONEOF,    MESSAGE,  (cmd,disconnect,cmd.disconnect),   5) \
X(a, STATIC,   ONEOF,    MESSAGE,  (cmd,read,cmd.read),   6) \
X(a, STATIC,   ONEOF,    MESSAGE,  (cmd,write,cmd.write),   7) \
X(a, STATIC,   ONEOF,    MESSAGE,  (cmd,scan_is_active,cmd.scan_is_active),   8)
#define simpleble_Command_CALLBACK NULL
#define simpleble_Command_DEFAULT NULL
#define simpleble_Command_cmd_init_MSGTYPE simpleble_InitCmd
#define simpleble_Command_cmd_scan_start_MSGTYPE simpleble_ScanStartCmd
#define simpleble_Command_cmd_scan_stop_MSGTYPE simpleble_ScanStopCmd
#define simpleble_Command_cmd_connect_MSGTYPE simpleble_ConnectCmd
#define simpleble_Command_cmd_disconnect_MSGTYPE simpleble_DisconnectCmd
#define simpleble_Command_cmd_read_MSGTYPE simpleble_ReadCmd
#define simpleble_Command_cmd_write_MSGTYPE simpleble_WriteCmd
#define simpleble_Command_cmd_scan_is_active_MSGTYPE simpleble_ScanIsActiveCmd

#define simpleble_Response_FIELDLIST(X, a) \
X(a, STATIC,   ONEOF,    MESSAGE,  (rsp,init,rsp.init),   1) \
X(a, STATIC,   ONEOF,    MESSAGE,  (rsp,scan_start,rsp.scan_start),   2) \
X(a, STATIC,   ONEOF,    MESSAGE,  (rsp,scan_stop,rsp.scan_stop),   3) \
X(a, STATIC,   ONEOF,    MESSAGE,  (rsp,connect,rsp.connect),   4) \
X(a, STATIC,   ONEOF,    MESSAGE,  (rsp,disconnect,rsp.disconnect),   5) \
X(a, STATIC,   ONEOF,    MESSAGE,  (rsp,read,rsp.read),   6) \
X(a, STATIC,   ONEOF,    MESSAGE,  (rsp,write,rsp.write),   7) \
X(a, STATIC,   ONEOF,    MESSAGE,  (rsp,scan_is_active,rsp.scan_is_active),   8)
#define simpleble_Response_CALLBACK NULL
#define simpleble_Response_DEFAULT NULL
#define simpleble_Response_rsp_init_MSGTYPE simpleble_InitRsp
#define simpleble_Response_rsp_scan_start_MSGTYPE simpleble_ScanStartRsp
#define simpleble_Response_rsp_scan_stop_MSGTYPE simpleble_ScanStopRsp
#define simpleble_Response_rsp_connect_MSGTYPE simpleble_ConnectRsp
#define simpleble_Response_rsp_disconnect_MSGTYPE simpleble_DisconnectRsp
#define simpleble_Response_rsp_read_MSGTYPE simpleble_ReadRsp
#define simpleble_Response_rsp_write_MSGTYPE simpleble_WriteRsp
#define simpleble_Response_rsp_scan_is_active_MSGTYPE simpleble_ScanIsActiveRsp

#define simpleble_Event_FIELDLIST(X, a) \
X(a, STATIC,   ONEOF,    MESSAGE,  (evt,adv_evt,evt.adv_evt),   1) \
X(a, STATIC,   ONEOF,    MESSAGE,  (evt,connection_evt,evt.connection_evt),   2) \
X(a, STATIC,   ONEOF,    MESSAGE,  (evt,disconnection_evt,evt.disconnection_evt),   3) \
X(a, STATIC,   ONEOF,    MESSAGE,  (evt,service_discovered_evt,evt.service_discovered_evt),   4) \
X(a, STATIC,   ONEOF,    MESSAGE,  (evt,characteristic_discovered_evt,evt.characteristic_discovered_evt),   5) \
X(a, STATIC,   ONEOF,    MESSAGE,  (evt,descriptor_discovered_evt,evt.descriptor_discovered_evt),   6) \
X(a, STATIC,   ONEOF,    MESSAGE,  (evt,attribute_discovery_complete_evt,evt.attribute_discovery_complete_evt),   7) \
X(a, STATIC,   ONEOF,    MESSAGE,  (evt,value_changed_evt,evt.value_changed_evt),   8)
#define simpleble_Event_CALLBACK NULL
#define simpleble_Event_DEFAULT NULL
#define simpleble_Event_evt_adv_evt_MSGTYPE simpleble_AdvEvt
#define simpleble_Event_evt_connection_evt_MSGTYPE simpleble_ConnectionEvt
#define simpleble_Event_evt_disconnection_evt_MSGTYPE simpleble_DisconnectionEvt
#define simpleble_Event_evt_service_discovered_evt_MSGTYPE simpleble_ServiceDiscoveredEvt
#define simpleble_Event_evt_characteristic_discovered_evt_MSGTYPE simpleble_CharacteristicDiscoveredEvt
#define simpleble_Event_evt_descriptor_discovered_evt_MSGTYPE simpleble_DescriptorDiscoveredEvt
#define simpleble_Event_evt_attribute_discovery_complete_evt_MSGTYPE simpleble_AttributeDiscoveryCompleteEvt
#define simpleble_Event_evt_value_changed_evt_MSGTYPE simpleble_ValueChangedEvt

extern const pb_msgdesc_t simpleble_UUID16Bit_msg;
extern const pb_msgdesc_t simpleble_UUID32Bit_msg;
extern const pb_msgdesc_t simpleble_UUID128Bit_msg;
extern const pb_msgdesc_t simpleble_UUID_msg;
extern const pb_msgdesc_t simpleble_ManufacturerDataEntry_msg;
extern const pb_msgdesc_t simpleble_ServiceDataEntry_msg;
extern const pb_msgdesc_t simpleble_CharacteristicProperties_msg;
extern const pb_msgdesc_t simpleble_Service_msg;
extern const pb_msgdesc_t simpleble_Characteristic_msg;
extern const pb_msgdesc_t simpleble_Descriptor_msg;
extern const pb_msgdesc_t simpleble_Attribute_msg;
extern const pb_msgdesc_t simpleble_InitCmd_msg;
extern const pb_msgdesc_t simpleble_ScanStartCmd_msg;
extern const pb_msgdesc_t simpleble_ScanStopCmd_msg;
extern const pb_msgdesc_t simpleble_ScanIsActiveCmd_msg;
extern const pb_msgdesc_t simpleble_ConnectCmd_msg;
extern const pb_msgdesc_t simpleble_DisconnectCmd_msg;
extern const pb_msgdesc_t simpleble_ReadCmd_msg;
extern const pb_msgdesc_t simpleble_WriteCmd_msg;
extern const pb_msgdesc_t simpleble_InitRsp_msg;
extern const pb_msgdesc_t simpleble_ScanStartRsp_msg;
extern const pb_msgdesc_t simpleble_ScanStopRsp_msg;
extern const pb_msgdesc_t simpleble_ScanIsActiveRsp_msg;
extern const pb_msgdesc_t simpleble_ConnectRsp_msg;
extern const pb_msgdesc_t simpleble_DisconnectRsp_msg;
extern const pb_msgdesc_t simpleble_ReadRsp_msg;
extern const pb_msgdesc_t simpleble_WriteRsp_msg;
extern const pb_msgdesc_t simpleble_AdvEvt_msg;
extern const pb_msgdesc_t simpleble_ConnectionEvt_msg;
extern const pb_msgdesc_t simpleble_DisconnectionEvt_msg;
extern const pb_msgdesc_t simpleble_ServiceDiscoveredEvt_msg;
extern const pb_msgdesc_t simpleble_CharacteristicDiscoveredEvt_msg;
extern const pb_msgdesc_t simpleble_DescriptorDiscoveredEvt_msg;
extern const pb_msgdesc_t simpleble_AttributeDiscoveryCompleteEvt_msg;
extern const pb_msgdesc_t simpleble_ValueChangedEvt_msg;
extern const pb_msgdesc_t simpleble_Command_msg;
extern const pb_msgdesc_t simpleble_Response_msg;
extern const pb_msgdesc_t simpleble_Event_msg;

/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
#define simpleble_UUID16Bit_fields &simpleble_UUID16Bit_msg
#define simpleble_UUID32Bit_fields &simpleble_UUID32Bit_msg
#define simpleble_UUID128Bit_fields &simpleble_UUID128Bit_msg
#define simpleble_UUID_fields &simpleble_UUID_msg
#define simpleble_ManufacturerDataEntry_fields &simpleble_ManufacturerDataEntry_msg
#define simpleble_ServiceDataEntry_fields &simpleble_ServiceDataEntry_msg
#define simpleble_CharacteristicProperties_fields &simpleble_CharacteristicProperties_msg
#define simpleble_Service_fields &simpleble_Service_msg
#define simpleble_Characteristic_fields &simpleble_Characteristic_msg
#define simpleble_Descriptor_fields &simpleble_Descriptor_msg
#define simpleble_Attribute_fields &simpleble_Attribute_msg
#define simpleble_InitCmd_fields &simpleble_InitCmd_msg
#define simpleble_ScanStartCmd_fields &simpleble_ScanStartCmd_msg
#define simpleble_ScanStopCmd_fields &simpleble_ScanStopCmd_msg
#define simpleble_ScanIsActiveCmd_fields &simpleble_ScanIsActiveCmd_msg
#define simpleble_ConnectCmd_fields &simpleble_ConnectCmd_msg
#define simpleble_DisconnectCmd_fields &simpleble_DisconnectCmd_msg
#define simpleble_ReadCmd_fields &simpleble_ReadCmd_msg
#define simpleble_WriteCmd_fields &simpleble_WriteCmd_msg
#define simpleble_InitRsp_fields &simpleble_InitRsp_msg
#define simpleble_ScanStartRsp_fields &simpleble_ScanStartRsp_msg
#define simpleble_ScanStopRsp_fields &simpleble_ScanStopRsp_msg
#define simpleble_ScanIsActiveRsp_fields &simpleble_ScanIsActiveRsp_msg
#define simpleble_ConnectRsp_fields &simpleble_ConnectRsp_msg
#define simpleble_DisconnectRsp_fields &simpleble_DisconnectRsp_msg
#define simpleble_ReadRsp_fields &simpleble_ReadRsp_msg
#define simpleble_WriteRsp_fields &simpleble_WriteRsp_msg
#define simpleble_AdvEvt_fields &simpleble_AdvEvt_msg
#define simpleble_ConnectionEvt_fields &simpleble_ConnectionEvt_msg
#define simpleble_DisconnectionEvt_fields &simpleble_DisconnectionEvt_msg
#define simpleble_ServiceDiscoveredEvt_fields &simpleble_ServiceDiscoveredEvt_msg
#define simpleble_CharacteristicDiscoveredEvt_fields &simpleble_CharacteristicDiscoveredEvt_msg
#define simpleble_DescriptorDiscoveredEvt_fields &simpleble_DescriptorDiscoveredEvt_msg
#define simpleble_AttributeDiscoveryCompleteEvt_fields &simpleble_AttributeDiscoveryCompleteEvt_msg
#define simpleble_ValueChangedEvt_fields &simpleble_ValueChangedEvt_msg
#define simpleble_Command_fields &simpleble_Command_msg
#define simpleble_Response_fields &simpleble_Response_msg
#define simpleble_Event_fields &simpleble_Event_msg

/* Maximum encoded size of messages (where known) */
#define SIMPLEBLE_SIMPLEBLE_PB_H_MAX_SIZE        simpleble_Command_size
#define simpleble_AdvEvt_size                    416
#define simpleble_AttributeDiscoveryCompleteEvt_size 4
#define simpleble_Attribute_size                 48
#define simpleble_CharacteristicDiscoveredEvt_size 34
#define simpleble_CharacteristicProperties_size  14
#define simpleble_Characteristic_size            46
#define simpleble_Command_size                   528
#define simpleble_ConnectCmd_size                21
#define simpleble_ConnectRsp_size                6
#define simpleble_ConnectionEvt_size             23
#define simpleble_DescriptorDiscoveredEvt_size   14
#define simpleble_Descriptor_size                26
#define simpleble_DisconnectCmd_size             4
#define simpleble_DisconnectRsp_size             6
#define simpleble_DisconnectionEvt_size          4
#define simpleble_Event_size                     528
#define simpleble_InitCmd_size                   0
#define simpleble_InitRsp_size                   6
#define simpleble_ManufacturerDataEntry_size     33
#define simpleble_ReadCmd_size                   8
#define simpleble_ReadRsp_size                   525
#define simpleble_Response_size                  528
#define simpleble_ScanIsActiveCmd_size           0
#define simpleble_ScanIsActiveRsp_size           2
#define simpleble_ScanStartCmd_size              0
#define simpleble_ScanStartRsp_size              6
#define simpleble_ScanStopCmd_size               0
#define simpleble_ScanStopRsp_size               6
#define simpleble_ServiceDataEntry_size          51
#define simpleble_ServiceDiscoveredEvt_size      18
#define simpleble_Service_size                   30
#define simpleble_UUID128Bit_size                18
#define simpleble_UUID16Bit_size                 4
#define simpleble_UUID32Bit_size                 6
#define simpleble_UUID_size                      20
#define simpleble_ValueChangedEvt_size           525
#define simpleble_WriteCmd_size                  525
#define simpleble_WriteRsp_size                  10

#ifdef __cplusplus
} /* extern "C" */
#endif

#endif