LEX_Threaded_Programming

Dependencies:   Heater_V2 MODSERIAL Nanopb FastPWM ADS8568_ADC

Committer:
justinbuckland
Date:
Mon Mar 30 16:56:05 2020 +0000
Revision:
36:fef05d541679
Parent:
22:f65353f6e935
Removed old code no longer used

Who changed what in which revision?

UserRevisionLine numberNew contents of line
paullj 14:39a5eb99fbdb 1 /* Automatically generated nanopb header */
paullj 22:f65353f6e935 2 /* Generated by nanopb-0.3.9.3 at Tue Sep 24 09:50:11 2019. */
paullj 14:39a5eb99fbdb 3
paullj 14:39a5eb99fbdb 4 #ifndef PB_MEMSPCR_MEMSPCR_PB_H_INCLUDED
paullj 14:39a5eb99fbdb 5 #define PB_MEMSPCR_MEMSPCR_PB_H_INCLUDED
paullj 14:39a5eb99fbdb 6 #include <pb.h>
paullj 14:39a5eb99fbdb 7
paullj 14:39a5eb99fbdb 8 /* @@protoc_insertion_point(includes) */
paullj 14:39a5eb99fbdb 9 #if PB_PROTO_HEADER_VERSION != 30
paullj 14:39a5eb99fbdb 10 #error Regenerate this file with the current version of nanopb generator.
paullj 14:39a5eb99fbdb 11 #endif
paullj 14:39a5eb99fbdb 12
paullj 14:39a5eb99fbdb 13 #ifdef __cplusplus
paullj 14:39a5eb99fbdb 14 extern "C" {
paullj 14:39a5eb99fbdb 15 #endif
paullj 14:39a5eb99fbdb 16
paullj 14:39a5eb99fbdb 17 /* Enum definitions */
paullj 14:39a5eb99fbdb 18 typedef enum _memspcr_ExperimentConfiguration_Heater {
paullj 14:39a5eb99fbdb 19 memspcr_ExperimentConfiguration_Heater_HEATER_1 = 0,
paullj 14:39a5eb99fbdb 20 memspcr_ExperimentConfiguration_Heater_HEATER_2 = 1
paullj 14:39a5eb99fbdb 21 } memspcr_ExperimentConfiguration_Heater;
paullj 14:39a5eb99fbdb 22 #define _memspcr_ExperimentConfiguration_Heater_MIN memspcr_ExperimentConfiguration_Heater_HEATER_1
paullj 14:39a5eb99fbdb 23 #define _memspcr_ExperimentConfiguration_Heater_MAX memspcr_ExperimentConfiguration_Heater_HEATER_2
paullj 14:39a5eb99fbdb 24 #define _memspcr_ExperimentConfiguration_Heater_ARRAYSIZE ((memspcr_ExperimentConfiguration_Heater)(memspcr_ExperimentConfiguration_Heater_HEATER_2+1))
paullj 14:39a5eb99fbdb 25
paullj 14:39a5eb99fbdb 26 /* Struct definitions */
paullj 14:39a5eb99fbdb 27 typedef struct _memspcr_FluidicConfiguration {
paullj 14:39a5eb99fbdb 28 float pressure_sensor_setpoint_adc;
paullj 14:39a5eb99fbdb 29 float pressure_sensor_hysteresis_adc;
paullj 22:f65353f6e935 30 int32_t pressure_control_loop_interval_ms;
paullj 14:39a5eb99fbdb 31 /* @@protoc_insertion_point(struct:memspcr_FluidicConfiguration) */
paullj 14:39a5eb99fbdb 32 } memspcr_FluidicConfiguration;
paullj 14:39a5eb99fbdb 33
paullj 14:39a5eb99fbdb 34 typedef struct _memspcr_OpticsConfiguration {
paullj 14:39a5eb99fbdb 35 int32_t camera_interframe_delay_us;
paullj 14:39a5eb99fbdb 36 /* @@protoc_insertion_point(struct:memspcr_OpticsConfiguration) */
paullj 14:39a5eb99fbdb 37 } memspcr_OpticsConfiguration;
paullj 14:39a5eb99fbdb 38
paullj 14:39a5eb99fbdb 39 typedef struct _memspcr_ThermalConfiguration {
paullj 14:39a5eb99fbdb 40 float guard_drive_ratio;
paullj 14:39a5eb99fbdb 41 int32_t settling_time_us;
paullj 14:39a5eb99fbdb 42 float pid_kp_mho;
paullj 14:39a5eb99fbdb 43 float pid_integral_time_ms;
paullj 22:f65353f6e935 44 int32_t thermal_control_loop_interval_ms;
paullj 14:39a5eb99fbdb 45 float pid_wind_up_limit_ohm;
paullj 14:39a5eb99fbdb 46 float pid_pwm_limit;
paullj 22:f65353f6e935 47 int32_t heater_pwm_period_ticks;
paullj 14:39a5eb99fbdb 48 /* @@protoc_insertion_point(struct:memspcr_ThermalConfiguration) */
paullj 14:39a5eb99fbdb 49 } memspcr_ThermalConfiguration;
paullj 14:39a5eb99fbdb 50
paullj 14:39a5eb99fbdb 51 typedef struct _memspcr_ThermalStep {
paullj 14:39a5eb99fbdb 52 int32_t elapsed_time_ms;
paullj 14:39a5eb99fbdb 53 int32_t camera_offset_ms;
paullj 14:39a5eb99fbdb 54 int32_t camera_exposure_ms;
paullj 14:39a5eb99fbdb 55 float resistance_set_point;
paullj 14:39a5eb99fbdb 56 /* @@protoc_insertion_point(struct:memspcr_ThermalStep) */
paullj 14:39a5eb99fbdb 57 } memspcr_ThermalStep;
paullj 14:39a5eb99fbdb 58
paullj 14:39a5eb99fbdb 59 typedef struct _memspcr_ExperimentConfiguration {
paullj 14:39a5eb99fbdb 60 int32_t logging_interval_ms;
paullj 14:39a5eb99fbdb 61 memspcr_ExperimentConfiguration_Heater selected_heater;
paullj 14:39a5eb99fbdb 62 memspcr_ThermalConfiguration thermal;
paullj 14:39a5eb99fbdb 63 memspcr_FluidicConfiguration fluidics;
paullj 14:39a5eb99fbdb 64 memspcr_OpticsConfiguration optics;
paullj 14:39a5eb99fbdb 65 pb_callback_t profile;
paullj 14:39a5eb99fbdb 66 /* @@protoc_insertion_point(struct:memspcr_ExperimentConfiguration) */
paullj 14:39a5eb99fbdb 67 } memspcr_ExperimentConfiguration;
paullj 14:39a5eb99fbdb 68
paullj 14:39a5eb99fbdb 69 /* Default values for struct fields */
paullj 14:39a5eb99fbdb 70
paullj 14:39a5eb99fbdb 71 /* Initializer values for message structs */
paullj 22:f65353f6e935 72 #define memspcr_FluidicConfiguration_init_default {0, 0, 0}
paullj 22:f65353f6e935 73 #define memspcr_ThermalConfiguration_init_default {0, 0, 0, 0, 0, 0, 0, 0}
paullj 14:39a5eb99fbdb 74 #define memspcr_OpticsConfiguration_init_default {0}
paullj 22:f65353f6e935 75 #define memspcr_ThermalStep_init_default {0, 0, 0, 0}
paullj 14:39a5eb99fbdb 76 #define memspcr_ExperimentConfiguration_init_default {0, _memspcr_ExperimentConfiguration_Heater_MIN, memspcr_ThermalConfiguration_init_default, memspcr_FluidicConfiguration_init_default, memspcr_OpticsConfiguration_init_default, {{NULL}, NULL}}
paullj 22:f65353f6e935 77 #define memspcr_FluidicConfiguration_init_zero {0, 0, 0}
paullj 22:f65353f6e935 78 #define memspcr_ThermalConfiguration_init_zero {0, 0, 0, 0, 0, 0, 0, 0}
paullj 14:39a5eb99fbdb 79 #define memspcr_OpticsConfiguration_init_zero {0}
paullj 22:f65353f6e935 80 #define memspcr_ThermalStep_init_zero {0, 0, 0, 0}
paullj 14:39a5eb99fbdb 81 #define memspcr_ExperimentConfiguration_init_zero {0, _memspcr_ExperimentConfiguration_Heater_MIN, memspcr_ThermalConfiguration_init_zero, memspcr_FluidicConfiguration_init_zero, memspcr_OpticsConfiguration_init_zero, {{NULL}, NULL}}
paullj 14:39a5eb99fbdb 82
paullj 14:39a5eb99fbdb 83 /* Field tags (for use in manual encoding/decoding) */
paullj 22:f65353f6e935 84 #define memspcr_FluidicConfiguration_pressure_sensor_setpoint_adc_tag 1
paullj 22:f65353f6e935 85 #define memspcr_FluidicConfiguration_pressure_sensor_hysteresis_adc_tag 2
paullj 22:f65353f6e935 86 #define memspcr_FluidicConfiguration_pressure_control_loop_interval_ms_tag 3
paullj 14:39a5eb99fbdb 87 #define memspcr_OpticsConfiguration_camera_interframe_delay_us_tag 1
paullj 14:39a5eb99fbdb 88 #define memspcr_ThermalConfiguration_guard_drive_ratio_tag 1
paullj 14:39a5eb99fbdb 89 #define memspcr_ThermalConfiguration_settling_time_us_tag 2
paullj 14:39a5eb99fbdb 90 #define memspcr_ThermalConfiguration_pid_kp_mho_tag 3
paullj 14:39a5eb99fbdb 91 #define memspcr_ThermalConfiguration_pid_integral_time_ms_tag 4
paullj 22:f65353f6e935 92 #define memspcr_ThermalConfiguration_thermal_control_loop_interval_ms_tag 5
paullj 14:39a5eb99fbdb 93 #define memspcr_ThermalConfiguration_pid_wind_up_limit_ohm_tag 6
paullj 14:39a5eb99fbdb 94 #define memspcr_ThermalConfiguration_pid_pwm_limit_tag 7
paullj 22:f65353f6e935 95 #define memspcr_ThermalConfiguration_heater_pwm_period_ticks_tag 8
paullj 14:39a5eb99fbdb 96 #define memspcr_ThermalStep_elapsed_time_ms_tag 1
paullj 14:39a5eb99fbdb 97 #define memspcr_ThermalStep_camera_offset_ms_tag 2
paullj 14:39a5eb99fbdb 98 #define memspcr_ThermalStep_camera_exposure_ms_tag 3
paullj 22:f65353f6e935 99 #define memspcr_ThermalStep_resistance_set_point_tag 4
paullj 14:39a5eb99fbdb 100 #define memspcr_ExperimentConfiguration_logging_interval_ms_tag 1
paullj 14:39a5eb99fbdb 101 #define memspcr_ExperimentConfiguration_selected_heater_tag 2
paullj 14:39a5eb99fbdb 102 #define memspcr_ExperimentConfiguration_thermal_tag 3
paullj 14:39a5eb99fbdb 103 #define memspcr_ExperimentConfiguration_fluidics_tag 4
paullj 14:39a5eb99fbdb 104 #define memspcr_ExperimentConfiguration_optics_tag 5
paullj 14:39a5eb99fbdb 105 #define memspcr_ExperimentConfiguration_profile_tag 6
paullj 14:39a5eb99fbdb 106
paullj 14:39a5eb99fbdb 107 /* Struct field encoding specification for nanopb */
paullj 22:f65353f6e935 108 extern const pb_field_t memspcr_FluidicConfiguration_fields[4];
paullj 22:f65353f6e935 109 extern const pb_field_t memspcr_ThermalConfiguration_fields[9];
paullj 14:39a5eb99fbdb 110 extern const pb_field_t memspcr_OpticsConfiguration_fields[2];
paullj 22:f65353f6e935 111 extern const pb_field_t memspcr_ThermalStep_fields[5];
paullj 14:39a5eb99fbdb 112 extern const pb_field_t memspcr_ExperimentConfiguration_fields[7];
paullj 14:39a5eb99fbdb 113
paullj 14:39a5eb99fbdb 114 /* Maximum encoded size of messages (where known) */
paullj 22:f65353f6e935 115 #define memspcr_FluidicConfiguration_size 21
paullj 22:f65353f6e935 116 #define memspcr_ThermalConfiguration_size 58
paullj 14:39a5eb99fbdb 117 #define memspcr_OpticsConfiguration_size 11
paullj 22:f65353f6e935 118 #define memspcr_ThermalStep_size 38
paullj 14:39a5eb99fbdb 119 /* memspcr_ExperimentConfiguration_size depends on runtime parameters */
paullj 14:39a5eb99fbdb 120
paullj 14:39a5eb99fbdb 121 /* Message IDs (where set with "msgid" option) */
paullj 14:39a5eb99fbdb 122 #ifdef PB_MSGID
paullj 14:39a5eb99fbdb 123
paullj 14:39a5eb99fbdb 124 #define MEMSPCR_MESSAGES \
paullj 14:39a5eb99fbdb 125
paullj 14:39a5eb99fbdb 126
paullj 14:39a5eb99fbdb 127 #endif
paullj 14:39a5eb99fbdb 128
paullj 14:39a5eb99fbdb 129 #ifdef __cplusplus
paullj 14:39a5eb99fbdb 130 } /* extern "C" */
paullj 14:39a5eb99fbdb 131 #endif
paullj 14:39a5eb99fbdb 132 /* @@protoc_insertion_point(eof) */
paullj 14:39a5eb99fbdb 133
paullj 14:39a5eb99fbdb 134 #endif
omatthews 0:54bedd3964e2 135