22#ifndef PROTOCORE_PROFIBUS_H
23#define PROTOCORE_PROFIBUS_H
27#if PROTOCORE_ENABLE_PROFIBUS
43#define PB_FC_REQUEST_FDL_STATUS 0x49
44#define PB_FC_SRD_LOW 0x6C
45#define PB_FC_SRD_HIGH 0x7D
73} ProfibusBuildSd1Args;
85} ProfibusBuildSd2Args;
96} ProfibusBuildSd3Args;
101 const uint8_t *frame;
137 ProfibusFcsArgs fcs_args;
138 ProfibusBuildSd1Args build_sd1_args;
139 ProfibusBuildSd2Args build_sd2_args;
140 ProfibusBuildSd3Args build_sd3_args;
141 ProfibusParseArgs parse_args;
148extern ProfibusVars ProfibusV;
153 void (*
const fcs)(uint8_t *work);
154 void (*
const build_sd1)(uint8_t *work);
155 void (*
const build_sd2)(uint8_t *work);
156 void (*
const build_sd3)(uint8_t *work);
157 void (*
const parse)(uint8_t *work);
162void protocore_profibus_fcs(uint8_t *work);
163void protocore_profibus_build_sd1(uint8_t *work);
164void protocore_profibus_build_sd2(uint8_t *work);
165void protocore_profibus_build_sd3(uint8_t *work);
166void protocore_profibus_parse(uint8_t *work);
172static const ProfibusNs Profibus __attribute__((unused)) = {
173 .fcs = protocore_profibus_fcs,
174 .build_sd1 = protocore_profibus_build_sd1,
175 .build_sd2 = protocore_profibus_build_sd2,
176 .build_sd3 = protocore_profibus_build_sd3,
177 .parse = protocore_profibus_parse,
#define PROTOCORE_BEGIN_DECLS
Give a header's declarations C linkage, so their symbol names carry no parameter types.
_Bool proto_bool
The truth value.
#define PROTOCORE_END_DECLS