
/* #########################################################################
 * [2015-11-30 12:17:29.286000] THIS FILE IS AUTOGENERATED - DO NOT EDIT!
 * ######################################################################### */

/* Automatically generated nanopb header */
/* Generated by nanopb-0.3.2 at Mon Nov 30 12:17:29 2015. */

#ifndef PB__TEENSY_MINIMAL_RPC__DMA_PB_H_INCLUDED
#define PB__TEENSY_MINIMAL_RPC__DMA_PB_H_INCLUDED
#include <pb.h>

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

#ifdef __cplusplus
extern "C" {
#endif

/* Enum definitions */
typedef enum _teensy__3_1_dma_R_TCD_ATTR_E_SIZE {
    teensy__3_1_dma_R_TCD_ATTR_E_SIZE__8_BIT = 0,
    teensy__3_1_dma_R_TCD_ATTR_E_SIZE__16_BIT = 1,
    teensy__3_1_dma_R_TCD_ATTR_E_SIZE__32_BIT = 2,
    teensy__3_1_dma_R_TCD_ATTR_E_SIZE__16_BYTE = 4
} teensy__3_1_dma_R_TCD_ATTR_E_SIZE;

typedef enum _teensy__3_1_dma_R_TCD_CSR_E_BWC {
    teensy__3_1_dma_R_TCD_CSR_E_BWC_NO_STALLS = 0,
    teensy__3_1_dma_R_TCD_CSR_E_BWC_STALL_4_CYCLES = 2,
    teensy__3_1_dma_R_TCD_CSR_E_BWC_STALL_8_CYCLES = 3
} teensy__3_1_dma_R_TCD_CSR_E_BWC;

/* Struct definitions */
typedef struct _teensy__3_1_dma_DCHPRI {
    bool has_ECP;
    bool ECP;
    bool has_DPA;
    bool DPA;
    bool has_CHPRI;
    uint32_t CHPRI;
} teensy__3_1_dma_DCHPRI;

typedef struct _teensy__3_1_dma_MUX_CHCFG {
    bool has_ENBL;
    bool ENBL;
    bool has_TRIG;
    bool TRIG;
    bool has_SOURCE;
    uint32_t SOURCE;
} teensy__3_1_dma_MUX_CHCFG;

typedef struct _teensy__3_1_dma_R_CR {
    bool has_CX;
    bool CX;
    bool has_ECX;
    bool ECX;
    bool has_EMLM;
    bool EMLM;
    bool has_CLM;
    bool CLM;
    bool has_HALT;
    bool HALT;
    bool has_HOE;
    bool HOE;
    bool has_ERCA;
    bool ERCA;
    bool has_EDBG;
    bool EDBG;
} teensy__3_1_dma_R_CR;

typedef struct _teensy__3_1_dma_R_ES {
    bool has_VLD;
    bool VLD;
    bool has_ECX;
    bool ECX;
    bool has_CPE;
    bool CPE;
    bool has_ERRCHN;
    uint32_t ERRCHN;
    bool has_SAE;
    bool SAE;
    bool has_SOE;
    bool SOE;
    bool has_DAE;
    bool DAE;
    bool has_DOE;
    bool DOE;
    bool has_NCE;
    bool NCE;
    bool has_SGE;
    bool SGE;
    bool has_SBE;
    bool SBE;
    bool has_DBE;
    bool DBE;
} teensy__3_1_dma_R_ES;

typedef struct _teensy__3_1_dma_R_TCD_ATTR {
    bool has_SMOD;
    uint32_t SMOD;
    bool has_SSIZE;
    teensy__3_1_dma_R_TCD_ATTR_E_SIZE SSIZE;
    bool has_DMOD;
    uint32_t DMOD;
    bool has_DSIZE;
    teensy__3_1_dma_R_TCD_ATTR_E_SIZE DSIZE;
} teensy__3_1_dma_R_TCD_ATTR;

typedef struct _teensy__3_1_dma_R_TCD_CSR {
    bool has_BWC;
    teensy__3_1_dma_R_TCD_CSR_E_BWC BWC;
    bool has_MAJORLINKCH;
    uint32_t MAJORLINKCH;
    bool has_DONE;
    bool DONE;
    bool has_ACTIVE;
    bool ACTIVE;
    bool has_MAJORELINK;
    bool MAJORELINK;
    bool has_ESG;
    bool ESG;
    bool has_DREQ;
    bool DREQ;
    bool has_INTHALF;
    bool INTHALF;
    bool has_INTMAJOR;
    bool INTMAJOR;
    bool has_START;
    bool START;
} teensy__3_1_dma_R_TCD_CSR;

typedef struct _teensy__3_1_dma_R_TCD_ITER_ELINKNO {
    bool has_ELINK;
    bool ELINK;
    bool has_ITER;
    uint32_t ITER;
} teensy__3_1_dma_R_TCD_ITER_ELINKNO;

typedef struct _teensy__3_1_dma_R_TCD_ITER_ELINKYES {
    bool has_ELINK;
    bool ELINK;
    bool has_LINKCH;
    uint32_t LINKCH;
    bool has_ITER;
    uint32_t ITER;
} teensy__3_1_dma_R_TCD_ITER_ELINKYES;

typedef struct _teensy__3_1_dma_R_TCD_NBYTES_MLOFFNO {
    bool has_SMLOE;
    bool SMLOE;
    bool has_DMLOE;
    bool DMLOE;
    bool has_NBYTES;
    uint32_t NBYTES;
} teensy__3_1_dma_R_TCD_NBYTES_MLOFFNO;

typedef struct _teensy__3_1_dma_R_TCD_NBYTES_MLOFFYES {
    bool has_SMLOE;
    bool SMLOE;
    bool has_DMLOE;
    bool DMLOE;
    bool has_MLOFF;
    uint32_t MLOFF;
    bool has_NBYTES;
    uint32_t NBYTES;
} teensy__3_1_dma_R_TCD_NBYTES_MLOFFYES;

typedef struct _teensy__3_1_dma_Registers {
    bool has_CR;
    teensy__3_1_dma_R_CR CR;
    bool has_ES;
    teensy__3_1_dma_R_ES ES;
    bool has_ERQ;
    uint32_t ERQ;
    bool has_EEI;
    uint32_t EEI;
    bool has_CEEI;
    uint32_t CEEI;
    bool has_SEEI;
    uint32_t SEEI;
    bool has_CERQ;
    uint32_t CERQ;
    bool has_SERQ;
    uint32_t SERQ;
    bool has_CDNE;
    uint32_t CDNE;
    bool has_SSRT;
    uint32_t SSRT;
    bool has_CERR;
    uint32_t CERR;
    bool has_CINT;
    uint32_t CINT;
    bool has_INT;
    uint32_t INT;
    bool has_ERR;
    uint32_t ERR;
    bool has_HRS;
    uint32_t HRS;
} teensy__3_1_dma_Registers;

typedef struct _teensy__3_1_dma_TCD {
    bool has_SADDR;
    uint32_t SADDR;
    bool has_SOFF;
    int32_t SOFF;
    bool has_ATTR;
    teensy__3_1_dma_R_TCD_ATTR ATTR;
    bool has_NBYTES_MLNO;
    uint32_t NBYTES_MLNO;
    bool has_NBYTES_MLOFFNO;
    teensy__3_1_dma_R_TCD_NBYTES_MLOFFNO NBYTES_MLOFFNO;
    bool has_NBYTES_MLOFFYES;
    teensy__3_1_dma_R_TCD_NBYTES_MLOFFYES NBYTES_MLOFFYES;
    bool has_SLAST;
    int32_t SLAST;
    bool has_DADDR;
    uint32_t DADDR;
    bool has_DOFF;
    int32_t DOFF;
    bool has_CITER_ELINKYES;
    teensy__3_1_dma_R_TCD_ITER_ELINKYES CITER_ELINKYES;
    bool has_CITER_ELINKNO;
    teensy__3_1_dma_R_TCD_ITER_ELINKNO CITER_ELINKNO;
    bool has_DLASTSGA;
    int32_t DLASTSGA;
    bool has_CSR;
    teensy__3_1_dma_R_TCD_CSR CSR;
    bool has_BITER_ELINKYES;
    teensy__3_1_dma_R_TCD_ITER_ELINKYES BITER_ELINKYES;
    bool has_BITER_ELINKNO;
    teensy__3_1_dma_R_TCD_ITER_ELINKNO BITER_ELINKNO;
} teensy__3_1_dma_TCD;

/* Default values for struct fields */

/* Initializer values for message structs */
#define teensy__3_1_dma_R_TCD_ATTR_init_default  {false, 0, false, (teensy__3_1_dma_R_TCD_ATTR_E_SIZE)0, false, 0, false, (teensy__3_1_dma_R_TCD_ATTR_E_SIZE)0}
#define teensy__3_1_dma_R_TCD_NBYTES_MLOFFNO_init_default {false, 0, false, 0, false, 0}
#define teensy__3_1_dma_R_TCD_NBYTES_MLOFFYES_init_default {false, 0, false, 0, false, 0, false, 0}
#define teensy__3_1_dma_R_TCD_ITER_ELINKYES_init_default {false, 0, false, 0, false, 0}
#define teensy__3_1_dma_R_TCD_ITER_ELINKNO_init_default {false, 0, false, 0}
#define teensy__3_1_dma_R_TCD_CSR_init_default   {false, (teensy__3_1_dma_R_TCD_CSR_E_BWC)0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0}
#define teensy__3_1_dma_TCD_init_default         {false, 0, false, 0, false, teensy__3_1_dma_R_TCD_ATTR_init_default, false, 0, false, teensy__3_1_dma_R_TCD_NBYTES_MLOFFNO_init_default, false, teensy__3_1_dma_R_TCD_NBYTES_MLOFFYES_init_default, false, 0, false, 0, false, 0, false, teensy__3_1_dma_R_TCD_ITER_ELINKYES_init_default, false, teensy__3_1_dma_R_TCD_ITER_ELINKNO_init_default, false, 0, false, teensy__3_1_dma_R_TCD_CSR_init_default, false, teensy__3_1_dma_R_TCD_ITER_ELINKYES_init_default, false, teensy__3_1_dma_R_TCD_ITER_ELINKNO_init_default}
#define teensy__3_1_dma_DCHPRI_init_default      {false, 0, false, 0, false, 0}
#define teensy__3_1_dma_R_CR_init_default        {false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0}
#define teensy__3_1_dma_MUX_CHCFG_init_default   {false, 0, false, 0, false, 0}
#define teensy__3_1_dma_R_ES_init_default        {false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0}
#define teensy__3_1_dma_Registers_init_default   {false, teensy__3_1_dma_R_CR_init_default, false, teensy__3_1_dma_R_ES_init_default, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0}
#define teensy__3_1_dma_R_TCD_ATTR_init_zero     {false, 0, false, (teensy__3_1_dma_R_TCD_ATTR_E_SIZE)0, false, 0, false, (teensy__3_1_dma_R_TCD_ATTR_E_SIZE)0}
#define teensy__3_1_dma_R_TCD_NBYTES_MLOFFNO_init_zero {false, 0, false, 0, false, 0}
#define teensy__3_1_dma_R_TCD_NBYTES_MLOFFYES_init_zero {false, 0, false, 0, false, 0, false, 0}
#define teensy__3_1_dma_R_TCD_ITER_ELINKYES_init_zero {false, 0, false, 0, false, 0}
#define teensy__3_1_dma_R_TCD_ITER_ELINKNO_init_zero {false, 0, false, 0}
#define teensy__3_1_dma_R_TCD_CSR_init_zero      {false, (teensy__3_1_dma_R_TCD_CSR_E_BWC)0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0}
#define teensy__3_1_dma_TCD_init_zero            {false, 0, false, 0, false, teensy__3_1_dma_R_TCD_ATTR_init_zero, false, 0, false, teensy__3_1_dma_R_TCD_NBYTES_MLOFFNO_init_zero, false, teensy__3_1_dma_R_TCD_NBYTES_MLOFFYES_init_zero, false, 0, false, 0, false, 0, false, teensy__3_1_dma_R_TCD_ITER_ELINKYES_init_zero, false, teensy__3_1_dma_R_TCD_ITER_ELINKNO_init_zero, false, 0, false, teensy__3_1_dma_R_TCD_CSR_init_zero, false, teensy__3_1_dma_R_TCD_ITER_ELINKYES_init_zero, false, teensy__3_1_dma_R_TCD_ITER_ELINKNO_init_zero}
#define teensy__3_1_dma_DCHPRI_init_zero         {false, 0, false, 0, false, 0}
#define teensy__3_1_dma_R_CR_init_zero           {false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0}
#define teensy__3_1_dma_MUX_CHCFG_init_zero      {false, 0, false, 0, false, 0}
#define teensy__3_1_dma_R_ES_init_zero           {false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0}
#define teensy__3_1_dma_Registers_init_zero      {false, teensy__3_1_dma_R_CR_init_zero, false, teensy__3_1_dma_R_ES_init_zero, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0, false, 0}

/* Field tags (for use in manual encoding/decoding) */
#define teensy__3_1_dma_DCHPRI_ECP_tag           1
#define teensy__3_1_dma_DCHPRI_DPA_tag           2
#define teensy__3_1_dma_DCHPRI_CHPRI_tag         3
#define teensy__3_1_dma_MUX_CHCFG_ENBL_tag       1
#define teensy__3_1_dma_MUX_CHCFG_TRIG_tag       2
#define teensy__3_1_dma_MUX_CHCFG_SOURCE_tag     3
#define teensy__3_1_dma_R_CR_CX_tag              1
#define teensy__3_1_dma_R_CR_ECX_tag             2
#define teensy__3_1_dma_R_CR_EMLM_tag            3
#define teensy__3_1_dma_R_CR_CLM_tag             4
#define teensy__3_1_dma_R_CR_HALT_tag            5
#define teensy__3_1_dma_R_CR_HOE_tag             6
#define teensy__3_1_dma_R_CR_ERCA_tag            7
#define teensy__3_1_dma_R_CR_EDBG_tag            8
#define teensy__3_1_dma_R_ES_VLD_tag             1
#define teensy__3_1_dma_R_ES_ECX_tag             2
#define teensy__3_1_dma_R_ES_CPE_tag             3
#define teensy__3_1_dma_R_ES_ERRCHN_tag          4
#define teensy__3_1_dma_R_ES_SAE_tag             5
#define teensy__3_1_dma_R_ES_SOE_tag             6
#define teensy__3_1_dma_R_ES_DAE_tag             7
#define teensy__3_1_dma_R_ES_DOE_tag             8
#define teensy__3_1_dma_R_ES_NCE_tag             9
#define teensy__3_1_dma_R_ES_SGE_tag             10
#define teensy__3_1_dma_R_ES_SBE_tag             11
#define teensy__3_1_dma_R_ES_DBE_tag             12
#define teensy__3_1_dma_R_TCD_ATTR_SMOD_tag      1
#define teensy__3_1_dma_R_TCD_ATTR_SSIZE_tag     2
#define teensy__3_1_dma_R_TCD_ATTR_DMOD_tag      3
#define teensy__3_1_dma_R_TCD_ATTR_DSIZE_tag     4
#define teensy__3_1_dma_R_TCD_CSR_BWC_tag        1
#define teensy__3_1_dma_R_TCD_CSR_MAJORLINKCH_tag 2
#define teensy__3_1_dma_R_TCD_CSR_DONE_tag       3
#define teensy__3_1_dma_R_TCD_CSR_ACTIVE_tag     4
#define teensy__3_1_dma_R_TCD_CSR_MAJORELINK_tag 5
#define teensy__3_1_dma_R_TCD_CSR_ESG_tag        6
#define teensy__3_1_dma_R_TCD_CSR_DREQ_tag       7
#define teensy__3_1_dma_R_TCD_CSR_INTHALF_tag    8
#define teensy__3_1_dma_R_TCD_CSR_INTMAJOR_tag   9
#define teensy__3_1_dma_R_TCD_CSR_START_tag      10
#define teensy__3_1_dma_R_TCD_ITER_ELINKNO_ELINK_tag 1
#define teensy__3_1_dma_R_TCD_ITER_ELINKNO_ITER_tag 2
#define teensy__3_1_dma_R_TCD_ITER_ELINKYES_ELINK_tag 1
#define teensy__3_1_dma_R_TCD_ITER_ELINKYES_LINKCH_tag 2
#define teensy__3_1_dma_R_TCD_ITER_ELINKYES_ITER_tag 3
#define teensy__3_1_dma_R_TCD_NBYTES_MLOFFNO_SMLOE_tag 1
#define teensy__3_1_dma_R_TCD_NBYTES_MLOFFNO_DMLOE_tag 2
#define teensy__3_1_dma_R_TCD_NBYTES_MLOFFNO_NBYTES_tag 3
#define teensy__3_1_dma_R_TCD_NBYTES_MLOFFYES_SMLOE_tag 1
#define teensy__3_1_dma_R_TCD_NBYTES_MLOFFYES_DMLOE_tag 2
#define teensy__3_1_dma_R_TCD_NBYTES_MLOFFYES_MLOFF_tag 3
#define teensy__3_1_dma_R_TCD_NBYTES_MLOFFYES_NBYTES_tag 4
#define teensy__3_1_dma_Registers_CR_tag         1
#define teensy__3_1_dma_Registers_ES_tag         2
#define teensy__3_1_dma_Registers_ERQ_tag        3
#define teensy__3_1_dma_Registers_EEI_tag        4
#define teensy__3_1_dma_Registers_CEEI_tag       5
#define teensy__3_1_dma_Registers_SEEI_tag       6
#define teensy__3_1_dma_Registers_CERQ_tag       7
#define teensy__3_1_dma_Registers_SERQ_tag       8
#define teensy__3_1_dma_Registers_CDNE_tag       9
#define teensy__3_1_dma_Registers_SSRT_tag       10
#define teensy__3_1_dma_Registers_CERR_tag       11
#define teensy__3_1_dma_Registers_CINT_tag       12
#define teensy__3_1_dma_Registers_INT_tag        13
#define teensy__3_1_dma_Registers_ERR_tag        14
#define teensy__3_1_dma_Registers_HRS_tag        15
#define teensy__3_1_dma_TCD_SADDR_tag            1
#define teensy__3_1_dma_TCD_SOFF_tag             2
#define teensy__3_1_dma_TCD_ATTR_tag             3
#define teensy__3_1_dma_TCD_NBYTES_MLNO_tag      4
#define teensy__3_1_dma_TCD_NBYTES_MLOFFNO_tag   5
#define teensy__3_1_dma_TCD_NBYTES_MLOFFYES_tag  6
#define teensy__3_1_dma_TCD_SLAST_tag            7
#define teensy__3_1_dma_TCD_DADDR_tag            8
#define teensy__3_1_dma_TCD_DOFF_tag             9
#define teensy__3_1_dma_TCD_CITER_ELINKYES_tag   10
#define teensy__3_1_dma_TCD_CITER_ELINKNO_tag    11
#define teensy__3_1_dma_TCD_DLASTSGA_tag         12
#define teensy__3_1_dma_TCD_CSR_tag              13
#define teensy__3_1_dma_TCD_BITER_ELINKYES_tag   14
#define teensy__3_1_dma_TCD_BITER_ELINKNO_tag    15

/* Struct field encoding specification for nanopb */
extern const pb_field_t teensy__3_1_dma_R_TCD_ATTR_fields[5];
extern const pb_field_t teensy__3_1_dma_R_TCD_NBYTES_MLOFFNO_fields[4];
extern const pb_field_t teensy__3_1_dma_R_TCD_NBYTES_MLOFFYES_fields[5];
extern const pb_field_t teensy__3_1_dma_R_TCD_ITER_ELINKYES_fields[4];
extern const pb_field_t teensy__3_1_dma_R_TCD_ITER_ELINKNO_fields[3];
extern const pb_field_t teensy__3_1_dma_R_TCD_CSR_fields[11];
extern const pb_field_t teensy__3_1_dma_TCD_fields[16];
extern const pb_field_t teensy__3_1_dma_DCHPRI_fields[4];
extern const pb_field_t teensy__3_1_dma_R_CR_fields[9];
extern const pb_field_t teensy__3_1_dma_MUX_CHCFG_fields[4];
extern const pb_field_t teensy__3_1_dma_R_ES_fields[13];
extern const pb_field_t teensy__3_1_dma_Registers_fields[16];

/* Maximum encoded size of messages (where known) */
#define teensy__3_1_dma_R_TCD_ATTR_size          24
#define teensy__3_1_dma_R_TCD_NBYTES_MLOFFNO_size 10
#define teensy__3_1_dma_R_TCD_NBYTES_MLOFFYES_size 16
#define teensy__3_1_dma_R_TCD_ITER_ELINKYES_size 14
#define teensy__3_1_dma_R_TCD_ITER_ELINKNO_size  8
#define teensy__3_1_dma_R_TCD_CSR_size           28
#define teensy__3_1_dma_TCD_size                 180
#define teensy__3_1_dma_DCHPRI_size              10
#define teensy__3_1_dma_R_CR_size                16
#define teensy__3_1_dma_MUX_CHCFG_size           10
#define teensy__3_1_dma_R_ES_size                28
#define teensy__3_1_dma_Registers_size           126

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

#endif
