This will generate the message for the programme

Dependencies:   MODSERIAL Nanopb

Revision:
0:388a2a9f5247
Child:
2:b46d53a5f931
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/memspcr.pb.h	Tue Aug 27 09:24:17 2019 +0000
@@ -0,0 +1,130 @@
+/* Automatically generated nanopb header */
+/* Generated by nanopb-0.3.9.3 at Wed Aug 21 21:39:54 2019. */
+
+#ifndef PB_MEMSPCR_MEMSPCR_PB_H_INCLUDED
+#define PB_MEMSPCR_MEMSPCR_PB_H_INCLUDED
+#include <pb.h>
+
+/* @@protoc_insertion_point(includes) */
+#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 _memspcr_ThermalConfiguration_Heater {
+    memspcr_ThermalConfiguration_Heater_MAIN = 0,
+    memspcr_ThermalConfiguration_Heater_LYSIS = 1
+} memspcr_ThermalConfiguration_Heater;
+#define _memspcr_ThermalConfiguration_Heater_MIN memspcr_ThermalConfiguration_Heater_MAIN
+#define _memspcr_ThermalConfiguration_Heater_MAX memspcr_ThermalConfiguration_Heater_LYSIS
+#define _memspcr_ThermalConfiguration_Heater_ARRAYSIZE ((memspcr_ThermalConfiguration_Heater)(memspcr_ThermalConfiguration_Heater_LYSIS+1))
+
+/* Struct definitions */
+typedef struct _memspcr_FluidicConfiguration {
+    float pressure_setpoint;
+    float pressure_hysterisis;
+/* @@protoc_insertion_point(struct:memspcr_FluidicConfiguration) */
+} memspcr_FluidicConfiguration;
+
+typedef struct _memspcr_OpticsConfiguration {
+    int32_t pre_trigger_ms;
+    int32_t on_time_ms;
+    float led_pwm;
+/* @@protoc_insertion_point(struct:memspcr_OpticsConfiguration) */
+} memspcr_OpticsConfiguration;
+
+typedef struct _memspcr_ThermalConfiguration {
+    pb_callback_t profile;
+    float guard_drive_ratio;
+    memspcr_ThermalConfiguration_Heater selected_heater;
+    int32_t adc_settling_time_us;
+    float pid_kp;
+    float pid_integral_time;
+    float pid_derivative_time;
+    int32_t control_loop_interval;
+/* @@protoc_insertion_point(struct:memspcr_ThermalConfiguration) */
+} memspcr_ThermalConfiguration;
+
+typedef struct _memspcr_ThermalStep {
+    int32_t elapsed_time_ms;
+    float resistance;
+    int32_t camera_offset_ms;
+/* @@protoc_insertion_point(struct:memspcr_ThermalStep) */
+} memspcr_ThermalStep;
+
+typedef struct _memspcr_ExperimentConfiguration {
+    memspcr_ThermalConfiguration thermal;
+    memspcr_OpticsConfiguration optics;
+    memspcr_FluidicConfiguration fluidics;
+    int32_t logging_interval_ms;
+/* @@protoc_insertion_point(struct:memspcr_ExperimentConfiguration) */
+} memspcr_ExperimentConfiguration;
+
+/* Default values for struct fields */
+
+/* Initializer values for message structs */
+#define memspcr_ThermalStep_init_default         {0, 0, 0}
+#define memspcr_ThermalConfiguration_init_default {{{NULL}, NULL}, 0, _memspcr_ThermalConfiguration_Heater_MIN, 0, 0, 0, 0, 0}
+#define memspcr_OpticsConfiguration_init_default {0, 0, 0}
+#define memspcr_FluidicConfiguration_init_default {0, 0}
+#define memspcr_ExperimentConfiguration_init_default {memspcr_ThermalConfiguration_init_default, memspcr_OpticsConfiguration_init_default, memspcr_FluidicConfiguration_init_default, 0}
+#define memspcr_ThermalStep_init_zero            {0, 0, 0}
+#define memspcr_ThermalConfiguration_init_zero   {{{NULL}, NULL}, 0, _memspcr_ThermalConfiguration_Heater_MIN, 0, 0, 0, 0, 0}
+#define memspcr_OpticsConfiguration_init_zero    {0, 0, 0}
+#define memspcr_FluidicConfiguration_init_zero   {0, 0}
+#define memspcr_ExperimentConfiguration_init_zero {memspcr_ThermalConfiguration_init_zero, memspcr_OpticsConfiguration_init_zero, memspcr_FluidicConfiguration_init_zero, 0}
+
+/* Field tags (for use in manual encoding/decoding) */
+#define memspcr_FluidicConfiguration_pressure_setpoint_tag 1
+#define memspcr_FluidicConfiguration_pressure_hysterisis_tag 2
+#define memspcr_OpticsConfiguration_pre_trigger_ms_tag 1
+#define memspcr_OpticsConfiguration_on_time_ms_tag 2
+#define memspcr_OpticsConfiguration_led_pwm_tag  3
+#define memspcr_ThermalConfiguration_profile_tag 1
+#define memspcr_ThermalConfiguration_guard_drive_ratio_tag 2
+#define memspcr_ThermalConfiguration_selected_heater_tag 3
+#define memspcr_ThermalConfiguration_adc_settling_time_us_tag 4
+#define memspcr_ThermalConfiguration_pid_kp_tag  7
+#define memspcr_ThermalConfiguration_pid_integral_time_tag 8
+#define memspcr_ThermalConfiguration_pid_derivative_time_tag 9
+#define memspcr_ThermalConfiguration_control_loop_interval_tag 10
+#define memspcr_ThermalStep_elapsed_time_ms_tag  1
+#define memspcr_ThermalStep_resistance_tag       2
+#define memspcr_ThermalStep_camera_offset_ms_tag 3
+#define memspcr_ExperimentConfiguration_thermal_tag 1
+#define memspcr_ExperimentConfiguration_optics_tag 2
+#define memspcr_ExperimentConfiguration_fluidics_tag 3
+#define memspcr_ExperimentConfiguration_logging_interval_ms_tag 4
+
+/* Struct field encoding specification for nanopb */
+extern const pb_field_t memspcr_ThermalStep_fields[4];
+extern const pb_field_t memspcr_ThermalConfiguration_fields[9];
+extern const pb_field_t memspcr_OpticsConfiguration_fields[4];
+extern const pb_field_t memspcr_FluidicConfiguration_fields[3];
+extern const pb_field_t memspcr_ExperimentConfiguration_fields[5];
+
+/* Maximum encoded size of messages (where known) */
+#define memspcr_ThermalStep_size                 27
+/* memspcr_ThermalConfiguration_size depends on runtime parameters */
+#define memspcr_OpticsConfiguration_size         27
+#define memspcr_FluidicConfiguration_size        10
+/* memspcr_ExperimentConfiguration_size depends on runtime parameters */
+
+/* Message IDs (where set with "msgid" option) */
+#ifdef PB_MSGID
+
+#define MEMSPCR_MESSAGES \
+
+
+#endif
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+/* @@protoc_insertion_point(eof) */
+
+#endif
\ No newline at end of file