Itron LCE research protocol on July 12, 2017. The protocol is based on Protocol Buffers developed by Google.

Dependents:   ProtocBufTest Borsch

Committer:
sgnezdov
Date:
Tue Aug 01 23:29:05 2017 +0000
Revision:
1:83c12dd43854
Child:
2:67db916a7e08
added protocol dependency (nano protocol buffers).  Added job and schedule structures.  Not in use yet.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sgnezdov 1:83c12dd43854 1 /* Automatically generated nanopb header */
sgnezdov 1:83c12dd43854 2 /* Generated by nanopb-0.3.8 at Tue Aug 1 16:20:24 2017. */
sgnezdov 1:83c12dd43854 3
sgnezdov 1:83c12dd43854 4 #ifndef PB_PROTOCOL_JOB_PB_H_INCLUDED
sgnezdov 1:83c12dd43854 5 #define PB_PROTOCOL_JOB_PB_H_INCLUDED
sgnezdov 1:83c12dd43854 6 #include <pb.h>
sgnezdov 1:83c12dd43854 7
sgnezdov 1:83c12dd43854 8 #include "google/protobuf/timestamp.pb.h"
sgnezdov 1:83c12dd43854 9
sgnezdov 1:83c12dd43854 10 /* @@protoc_insertion_point(includes) */
sgnezdov 1:83c12dd43854 11 #if PB_PROTO_HEADER_VERSION != 30
sgnezdov 1:83c12dd43854 12 #error Regenerate this file with the current version of nanopb generator.
sgnezdov 1:83c12dd43854 13 #endif
sgnezdov 1:83c12dd43854 14
sgnezdov 1:83c12dd43854 15 #ifdef __cplusplus
sgnezdov 1:83c12dd43854 16 extern "C" {
sgnezdov 1:83c12dd43854 17 #endif
sgnezdov 1:83c12dd43854 18
sgnezdov 1:83c12dd43854 19 /* Enum definitions */
sgnezdov 1:83c12dd43854 20 typedef enum _protocol_ScheduleType {
sgnezdov 1:83c12dd43854 21 protocol_ScheduleType_Undefined = 0,
sgnezdov 1:83c12dd43854 22 protocol_ScheduleType_RunOnce = 1,
sgnezdov 1:83c12dd43854 23 protocol_ScheduleType_Periodic = 2,
sgnezdov 1:83c12dd43854 24 protocol_ScheduleType_TopOfHour = 3,
sgnezdov 1:83c12dd43854 25 protocol_ScheduleType_NeverRun = 4
sgnezdov 1:83c12dd43854 26 } protocol_ScheduleType;
sgnezdov 1:83c12dd43854 27 #define _protocol_ScheduleType_MIN protocol_ScheduleType_Undefined
sgnezdov 1:83c12dd43854 28 #define _protocol_ScheduleType_MAX protocol_ScheduleType_NeverRun
sgnezdov 1:83c12dd43854 29 #define _protocol_ScheduleType_ARRAYSIZE ((protocol_ScheduleType)(protocol_ScheduleType_NeverRun+1))
sgnezdov 1:83c12dd43854 30
sgnezdov 1:83c12dd43854 31 /* Struct definitions */
sgnezdov 1:83c12dd43854 32 typedef struct _protocol_JobList {
sgnezdov 1:83c12dd43854 33 pb_callback_t sn;
sgnezdov 1:83c12dd43854 34 pb_callback_t items;
sgnezdov 1:83c12dd43854 35 /* @@protoc_insertion_point(struct:protocol_JobList) */
sgnezdov 1:83c12dd43854 36 } protocol_JobList;
sgnezdov 1:83c12dd43854 37
sgnezdov 1:83c12dd43854 38 typedef struct _protocol_NeverRunSchedule {
sgnezdov 1:83c12dd43854 39 char dummy_field;
sgnezdov 1:83c12dd43854 40 /* @@protoc_insertion_point(struct:protocol_NeverRunSchedule) */
sgnezdov 1:83c12dd43854 41 } protocol_NeverRunSchedule;
sgnezdov 1:83c12dd43854 42
sgnezdov 1:83c12dd43854 43 typedef struct _protocol_Job {
sgnezdov 1:83c12dd43854 44 uint32_t ID;
sgnezdov 1:83c12dd43854 45 uint32_t TypeID;
sgnezdov 1:83c12dd43854 46 protocol_ScheduleType ScheduleTypeID;
sgnezdov 1:83c12dd43854 47 pb_callback_t ScheduleData;
sgnezdov 1:83c12dd43854 48 pb_callback_t Data;
sgnezdov 1:83c12dd43854 49 /* @@protoc_insertion_point(struct:protocol_Job) */
sgnezdov 1:83c12dd43854 50 } protocol_Job;
sgnezdov 1:83c12dd43854 51
sgnezdov 1:83c12dd43854 52 typedef struct _protocol_PeriodicSchedule {
sgnezdov 1:83c12dd43854 53 uint32_t PeriodSec;
sgnezdov 1:83c12dd43854 54 uint32_t Limit;
sgnezdov 1:83c12dd43854 55 /* @@protoc_insertion_point(struct:protocol_PeriodicSchedule) */
sgnezdov 1:83c12dd43854 56 } protocol_PeriodicSchedule;
sgnezdov 1:83c12dd43854 57
sgnezdov 1:83c12dd43854 58 typedef struct _protocol_RunOnceSchedule {
sgnezdov 1:83c12dd43854 59 uint32_t AtUnixSec;
sgnezdov 1:83c12dd43854 60 /* @@protoc_insertion_point(struct:protocol_RunOnceSchedule) */
sgnezdov 1:83c12dd43854 61 } protocol_RunOnceSchedule;
sgnezdov 1:83c12dd43854 62
sgnezdov 1:83c12dd43854 63 typedef struct _protocol_TopOfHourSchedule {
sgnezdov 1:83c12dd43854 64 uint32_t OffsetSec;
sgnezdov 1:83c12dd43854 65 uint32_t PeriodSec;
sgnezdov 1:83c12dd43854 66 /* @@protoc_insertion_point(struct:protocol_TopOfHourSchedule) */
sgnezdov 1:83c12dd43854 67 } protocol_TopOfHourSchedule;
sgnezdov 1:83c12dd43854 68
sgnezdov 1:83c12dd43854 69 /* Default values for struct fields */
sgnezdov 1:83c12dd43854 70
sgnezdov 1:83c12dd43854 71 /* Initializer values for message structs */
sgnezdov 1:83c12dd43854 72 #define protocol_Job_init_default {0, 0, (protocol_ScheduleType)0, {{NULL}, NULL}, {{NULL}, NULL}}
sgnezdov 1:83c12dd43854 73 #define protocol_JobList_init_default {{{NULL}, NULL}, {{NULL}, NULL}}
sgnezdov 1:83c12dd43854 74 #define protocol_RunOnceSchedule_init_default {0}
sgnezdov 1:83c12dd43854 75 #define protocol_PeriodicSchedule_init_default {0, 0}
sgnezdov 1:83c12dd43854 76 #define protocol_TopOfHourSchedule_init_default {0, 0}
sgnezdov 1:83c12dd43854 77 #define protocol_NeverRunSchedule_init_default {0}
sgnezdov 1:83c12dd43854 78 #define protocol_Job_init_zero {0, 0, (protocol_ScheduleType)0, {{NULL}, NULL}, {{NULL}, NULL}}
sgnezdov 1:83c12dd43854 79 #define protocol_JobList_init_zero {{{NULL}, NULL}, {{NULL}, NULL}}
sgnezdov 1:83c12dd43854 80 #define protocol_RunOnceSchedule_init_zero {0}
sgnezdov 1:83c12dd43854 81 #define protocol_PeriodicSchedule_init_zero {0, 0}
sgnezdov 1:83c12dd43854 82 #define protocol_TopOfHourSchedule_init_zero {0, 0}
sgnezdov 1:83c12dd43854 83 #define protocol_NeverRunSchedule_init_zero {0}
sgnezdov 1:83c12dd43854 84
sgnezdov 1:83c12dd43854 85 /* Field tags (for use in manual encoding/decoding) */
sgnezdov 1:83c12dd43854 86 #define protocol_JobList_sn_tag 1
sgnezdov 1:83c12dd43854 87 #define protocol_JobList_items_tag 2
sgnezdov 1:83c12dd43854 88 #define protocol_Job_ID_tag 1
sgnezdov 1:83c12dd43854 89 #define protocol_Job_TypeID_tag 2
sgnezdov 1:83c12dd43854 90 #define protocol_Job_ScheduleTypeID_tag 3
sgnezdov 1:83c12dd43854 91 #define protocol_Job_ScheduleData_tag 4
sgnezdov 1:83c12dd43854 92 #define protocol_Job_Data_tag 5
sgnezdov 1:83c12dd43854 93 #define protocol_PeriodicSchedule_PeriodSec_tag 1
sgnezdov 1:83c12dd43854 94 #define protocol_PeriodicSchedule_Limit_tag 2
sgnezdov 1:83c12dd43854 95 #define protocol_RunOnceSchedule_AtUnixSec_tag 1
sgnezdov 1:83c12dd43854 96 #define protocol_TopOfHourSchedule_OffsetSec_tag 1
sgnezdov 1:83c12dd43854 97 #define protocol_TopOfHourSchedule_PeriodSec_tag 2
sgnezdov 1:83c12dd43854 98
sgnezdov 1:83c12dd43854 99 /* Struct field encoding specification for nanopb */
sgnezdov 1:83c12dd43854 100 extern const pb_field_t protocol_Job_fields[6];
sgnezdov 1:83c12dd43854 101 extern const pb_field_t protocol_JobList_fields[3];
sgnezdov 1:83c12dd43854 102 extern const pb_field_t protocol_RunOnceSchedule_fields[2];
sgnezdov 1:83c12dd43854 103 extern const pb_field_t protocol_PeriodicSchedule_fields[3];
sgnezdov 1:83c12dd43854 104 extern const pb_field_t protocol_TopOfHourSchedule_fields[3];
sgnezdov 1:83c12dd43854 105 extern const pb_field_t protocol_NeverRunSchedule_fields[1];
sgnezdov 1:83c12dd43854 106
sgnezdov 1:83c12dd43854 107 /* Maximum encoded size of messages (where known) */
sgnezdov 1:83c12dd43854 108 /* protocol_Job_size depends on runtime parameters */
sgnezdov 1:83c12dd43854 109 /* protocol_JobList_size depends on runtime parameters */
sgnezdov 1:83c12dd43854 110 #define protocol_RunOnceSchedule_size 6
sgnezdov 1:83c12dd43854 111 #define protocol_PeriodicSchedule_size 12
sgnezdov 1:83c12dd43854 112 #define protocol_TopOfHourSchedule_size 12
sgnezdov 1:83c12dd43854 113 #define protocol_NeverRunSchedule_size 0
sgnezdov 1:83c12dd43854 114
sgnezdov 1:83c12dd43854 115 /* Message IDs (where set with "msgid" option) */
sgnezdov 1:83c12dd43854 116 #ifdef PB_MSGID
sgnezdov 1:83c12dd43854 117
sgnezdov 1:83c12dd43854 118 #define JOB_MESSAGES \
sgnezdov 1:83c12dd43854 119
sgnezdov 1:83c12dd43854 120
sgnezdov 1:83c12dd43854 121 #endif
sgnezdov 1:83c12dd43854 122
sgnezdov 1:83c12dd43854 123 #ifdef __cplusplus
sgnezdov 1:83c12dd43854 124 } /* extern "C" */
sgnezdov 1:83c12dd43854 125 #endif
sgnezdov 1:83c12dd43854 126 /* @@protoc_insertion_point(eof) */
sgnezdov 1:83c12dd43854 127
sgnezdov 1:83c12dd43854 128 #endif