aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Communication
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-03-19 18:16:48 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-03-19 18:16:48 +0200
commit00f6e78e425fa184855acc293d29e7ebcfd76f5d (patch)
tree3cf8b62f4f921104582a6ea10eceb45050512437 /Software/Embedded_SW/Embedded/Communication
parentc16f47eb401a12f034eecf75924680262285e1f4 (diff)
parent102fcff171fb309a92b65df755285f7f4e0654ff (diff)
downloadTango-00f6e78e425fa184855acc293d29e7ebcfd76f5d.tar.gz
Tango-00f6e78e425fa184855acc293d29e7ebcfd76f5d.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software/Embedded_SW/Embedded/Communication')
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Common/ErrorCode.pb-c.c39
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Common/ErrorCode.pb-c.h47
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Common/KeepAliveRequest.pb-c.c72
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Common/KeepAliveRequest.pb-c.h70
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Common/KeepAliveResponse.pb-c.c72
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Common/KeepAliveResponse.pb-c.h70
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageContainer.pb-c.c170
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageContainer.pb-c.h85
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.c237
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.h143
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Debugging/DebugLogCategory.pb-c.c43
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Debugging/DebugLogCategory.pb-c.h46
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Debugging/DebugLogRequest.pb-c.c72
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Debugging/DebugLogRequest.pb-c.h70
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Debugging/DebugLogResponse.pb-c.c157
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Debugging/DebugLogResponse.pb-c.h81
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareConfiguration.pb-c.c144
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareConfiguration.pb-c.h85
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancer.pb-c.c144
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancer.pb-c.h81
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancerType.pb-c.c39
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancerType.pb-c.h44
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDispenser.pb-c.c274
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDispenser.pb-c.h101
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDispenserType.pb-c.c35
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDispenserType.pb-c.h42
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotor.pb-c.c274
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotor.pb-c.h101
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotorType.pb-c.c41
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotorType.pb-c.h45
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwarePidControl.pb-c.c274
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwarePidControl.pb-c.h101
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwarePidControlType.pb-c.c61
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwarePidControlType.pb-c.h55
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareWinder.pb-c.c105
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareWinder.pb-c.h75
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareWinderType.pb-c.c35
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareWinderType.pb-c.h42
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/UploadHardwareConfigurationRequest.pb-c.c92
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/UploadHardwareConfigurationRequest.pb-c.h72
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/UploadHardwareConfigurationResponse.pb-c.c72
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Hardware/UploadHardwareConfigurationResponse.pb-c.h70
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/AbortJobRequest.pb-c.c72
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/AbortJobRequest.pb-c.h70
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/AbortJobResponse.pb-c.c72
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/AbortJobResponse.pb-c.h70
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/DispenserLiquidType.pb-c.c47
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/DispenserLiquidType.pb-c.h48
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/DispenserStepDivision.pb-c.c51
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/DispenserStepDivision.pb-c.h50
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobBrushStop.pb-c.c131
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobBrushStop.pb-c.h79
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobDispenser.pb-c.c196
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobDispenser.pb-c.h90
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobRequest.pb-c.c92
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobRequest.pb-c.h72
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobResponse.pb-c.c105
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobResponse.pb-c.h74
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobSegment.pb-c.c118
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobSegment.pb-c.h76
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobSpool.pb-c.c170
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobSpool.pb-c.h85
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobSpoolType.pb-c.c35
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobSpoolType.pb-c.h42
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobStatus.pb-c.c118
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobStatus.pb-c.h75
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobTicket.pb-c.c183
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobTicket.pb-c.h87
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobWindingMethod.pb-c.c37
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobWindingMethod.pb-c.h43
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/ProcessParameters.pb-c.c287
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/ProcessParameters.pb-c.h102
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/UploadProcessParametersRequest.pb-c.c92
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/UploadProcessParametersRequest.pb-c.h72
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/UploadProcessParametersResponse.pb-c.c72
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Printing/UploadProcessParametersResponse.pb-c.h70
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/CalculateRequest.pb-c.c105
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/CalculateRequest.pb-c.h74
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/CalculateResponse.pb-c.c92
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/CalculateResponse.pb-c.h72
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressRequest.pb-c.c105
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressRequest.pb-c.h74
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressResponse.pb-c.c92
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressResponse.pb-c.h72
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeReadRequest.pb-c.c92
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeReadRequest.pb-c.h75
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeReadResponse.pb-c.c170
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeReadResponse.pb-c.h89
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeWriteRequest.pb-c.c144
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeWriteRequest.pb-c.h88
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeWriteResponse.pb-c.c118
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeWriteResponse.pb-c.h81
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubDispenserRequest.pb-c.c144
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubDispenserRequest.pb-c.h92
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubDispenserResponse.pb-c.c144
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubDispenserResponse.pb-c.h93
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashReadRequest.pb-c.c92
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashReadRequest.pb-c.h75
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashReadResponse.pb-c.c170
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashReadResponse.pb-c.h99
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashWriteRequest.pb-c.c144
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashWriteRequest.pb-c.h95
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashWriteResponse.pb-c.c105
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashWriteResponse.pb-c.h79
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubF3Gpo01WriteRequest.pb-c.c235
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubF3Gpo01WriteRequest.pb-c.h100
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubF3Gpo01WriteResponse.pb-c.c105
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubF3Gpo01WriteResponse.pb-c.h79
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadBackRegRequest.pb-c.c105
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadBackRegRequest.pb-c.h80
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadBackRegResponse.pb-c.c132
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadBackRegResponse.pb-c.h89
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadVersionRequest.pb-c.c92
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadVersionRequest.pb-c.h75
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadVersionResponse.pb-c.c170
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadVersionResponse.pb-c.h92
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOInputSetupRequest.pb-c.c131
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOInputSetupRequest.pb-c.h89
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOInputSetupResponse.pb-c.c131
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOInputSetupResponse.pb-c.h88
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadBitRequest.pb-c.c131
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadBitRequest.pb-c.h89
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadBitResponse.pb-c.c144
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadBitResponse.pb-c.h90
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadByteRequest.pb-c.c92
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadByteRequest.pb-c.h74
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadByteResponse.pb-c.c131
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadByteResponse.pb-c.h85
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteBitRequest.pb-c.c118
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteBitRequest.pb-c.h81
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteBitResponse.pb-c.c131
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteBitResponse.pb-c.h88
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteByteRequest.pb-c.c106
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteByteRequest.pb-c.h76
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteByteResponse.pb-c.c118
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteByteResponse.pb-c.h83
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHWVersionRequest.pb-c.c72
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHWVersionRequest.pb-c.h70
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHWVersionResponse.pb-c.c131
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHWVersionResponse.pb-c.h83
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHeaterRequest.pb-c.c118
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHeaterRequest.pb-c.h82
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHeaterResponse.pb-c.c131
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHeaterResponse.pb-c.h86
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubL6470DriverRequest.pb-c.c339
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubL6470DriverRequest.pb-c.h110
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubL6470DriverResponse.pb-c.c274
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubL6470DriverResponse.pb-c.h105
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorEncoderRequest.pb-c.c131
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorEncoderRequest.pb-c.h87
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorEncoderResponse.pb-c.c157
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorEncoderResponse.pb-c.h93
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorInitRequest.pb-c.c196
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorInitRequest.pb-c.h91
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorInitResponse.pb-c.c105
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorInitResponse.pb-c.h74
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorMovRequest.pb-c.c118
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorMovRequest.pb-c.h76
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorMovResponse.pb-c.c170
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorMovResponse.pb-c.h90
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorPositionRequest.pb-c.c92
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorPositionRequest.pb-c.h72
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorPositionResponse.pb-c.c105
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorPositionResponse.pb-c.h74
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorRunRequest.pb-c.c118
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorRunRequest.pb-c.h76
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorRunResponse.pb-c.c183
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorRunResponse.pb-c.h92
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorSpeedRequest.pb-c.c92
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorSpeedRequest.pb-c.h72
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorSpeedResponse.pb-c.c105
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorSpeedResponse.pb-c.h74
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStatusRequest.pb-c.c105
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStatusRequest.pb-c.h74
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStatusResponse.pb-c.c287
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStatusResponse.pb-c.h102
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStopRequest.pb-c.c105
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStopRequest.pb-c.h77
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStopResponse.pb-c.c131
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStopResponse.pb-c.h84
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubOptLimitSwitchRequest.pb-c.c105
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubOptLimitSwitchRequest.pb-c.h80
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubOptLimitSwitchResponse.pb-c.c131
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubOptLimitSwitchResponse.pb-c.h88
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubSteperMotorRequest.pb-c.c144
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubSteperMotorRequest.pb-c.h95
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubSteperMotorResponse.pb-c.c131
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubSteperMotorResponse.pb-c.h88
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubValveRequest.pb-c.c118
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubValveRequest.pb-c.h85
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubValveResponse.pb-c.c105
-rw-r--r--Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubValveResponse.pb-c.h79
192 files changed, 19724 insertions, 0 deletions
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Common/ErrorCode.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Common/ErrorCode.pb-c.c
new file mode 100644
index 000000000..d5690d60f
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Common/ErrorCode.pb-c.c
@@ -0,0 +1,39 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ErrorCode.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "ErrorCode.pb-c.h"
+static const ProtobufCEnumValue error_code__enum_values_by_number[3] =
+{
+ { "NONE", "ERROR_CODE__NONE", 0 },
+ { "BAD_CRC", "ERROR_CODE__BAD_CRC", 1 },
+ { "INVALID_DIGITAL_PIN_NUMBER", "ERROR_CODE__INVALID_DIGITAL_PIN_NUMBER", 2 },
+};
+static const ProtobufCIntRange error_code__value_ranges[] = {
+{0, 0},{0, 3}
+};
+static const ProtobufCEnumValueIndex error_code__enum_values_by_name[3] =
+{
+ { "BAD_CRC", 1 },
+ { "INVALID_DIGITAL_PIN_NUMBER", 2 },
+ { "NONE", 0 },
+};
+const ProtobufCEnumDescriptor error_code__descriptor =
+{
+ PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
+ "ErrorCode",
+ "ErrorCode",
+ "ErrorCode",
+ "",
+ 3,
+ error_code__enum_values_by_number,
+ 3,
+ error_code__enum_values_by_name,
+ 1,
+ error_code__value_ranges,
+ NULL,NULL,NULL,NULL /* reserved[1234] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Common/ErrorCode.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Common/ErrorCode.pb-c.h
new file mode 100644
index 000000000..feb3bf249
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Common/ErrorCode.pb-c.h
@@ -0,0 +1,47 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ErrorCode.proto */
+
+#ifndef PROTOBUF_C_ErrorCode_2eproto__INCLUDED
+#define PROTOBUF_C_ErrorCode_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+
+
+/* --- enums --- */
+
+typedef enum _ErrorCode {
+ ERROR_CODE__NONE = 0,
+ ERROR_CODE__BAD_CRC = 1,
+ /*
+ *Can be returned by SetDigitalOutResponse.
+ */
+ ERROR_CODE__INVALID_DIGITAL_PIN_NUMBER = 2
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(ERROR_CODE)
+} ErrorCode;
+
+/* --- messages --- */
+
+/* --- per-message closures --- */
+
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCEnumDescriptor error_code__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_ErrorCode_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Common/KeepAliveRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Common/KeepAliveRequest.pb-c.c
new file mode 100644
index 000000000..70fca2425
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Common/KeepAliveRequest.pb-c.c
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: KeepAliveRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "KeepAliveRequest.pb-c.h"
+void keep_alive_request__init
+ (KeepAliveRequest *message)
+{
+ static const KeepAliveRequest init_value = KEEP_ALIVE_REQUEST__INIT;
+ *message = init_value;
+}
+size_t keep_alive_request__get_packed_size
+ (const KeepAliveRequest *message)
+{
+ assert(message->base.descriptor == &keep_alive_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t keep_alive_request__pack
+ (const KeepAliveRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &keep_alive_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t keep_alive_request__pack_to_buffer
+ (const KeepAliveRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &keep_alive_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+KeepAliveRequest *
+ keep_alive_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (KeepAliveRequest *)
+ protobuf_c_message_unpack (&keep_alive_request__descriptor,
+ allocator, len, data);
+}
+void keep_alive_request__free_unpacked
+ (KeepAliveRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &keep_alive_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+#define keep_alive_request__field_descriptors NULL
+#define keep_alive_request__field_indices_by_name NULL
+#define keep_alive_request__number_ranges NULL
+const ProtobufCMessageDescriptor keep_alive_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "KeepAliveRequest",
+ "KeepAliveRequest",
+ "KeepAliveRequest",
+ "",
+ sizeof(KeepAliveRequest),
+ 0,
+ keep_alive_request__field_descriptors,
+ keep_alive_request__field_indices_by_name,
+ 0, keep_alive_request__number_ranges,
+ (ProtobufCMessageInit) keep_alive_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Common/KeepAliveRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Common/KeepAliveRequest.pb-c.h
new file mode 100644
index 000000000..379aa6caa
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Common/KeepAliveRequest.pb-c.h
@@ -0,0 +1,70 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: KeepAliveRequest.proto */
+
+#ifndef PROTOBUF_C_KeepAliveRequest_2eproto__INCLUDED
+#define PROTOBUF_C_KeepAliveRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _KeepAliveRequest KeepAliveRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _KeepAliveRequest
+{
+ ProtobufCMessage base;
+};
+#define KEEP_ALIVE_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&keep_alive_request__descriptor) \
+ }
+
+
+/* KeepAliveRequest methods */
+void keep_alive_request__init
+ (KeepAliveRequest *message);
+size_t keep_alive_request__get_packed_size
+ (const KeepAliveRequest *message);
+size_t keep_alive_request__pack
+ (const KeepAliveRequest *message,
+ uint8_t *out);
+size_t keep_alive_request__pack_to_buffer
+ (const KeepAliveRequest *message,
+ ProtobufCBuffer *buffer);
+KeepAliveRequest *
+ keep_alive_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void keep_alive_request__free_unpacked
+ (KeepAliveRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*KeepAliveRequest_Closure)
+ (const KeepAliveRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor keep_alive_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_KeepAliveRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Common/KeepAliveResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Common/KeepAliveResponse.pb-c.c
new file mode 100644
index 000000000..9bae1f119
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Common/KeepAliveResponse.pb-c.c
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: KeepAliveResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "KeepAliveResponse.pb-c.h"
+void keep_alive_response__init
+ (KeepAliveResponse *message)
+{
+ static const KeepAliveResponse init_value = KEEP_ALIVE_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t keep_alive_response__get_packed_size
+ (const KeepAliveResponse *message)
+{
+ assert(message->base.descriptor == &keep_alive_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t keep_alive_response__pack
+ (const KeepAliveResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &keep_alive_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t keep_alive_response__pack_to_buffer
+ (const KeepAliveResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &keep_alive_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+KeepAliveResponse *
+ keep_alive_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (KeepAliveResponse *)
+ protobuf_c_message_unpack (&keep_alive_response__descriptor,
+ allocator, len, data);
+}
+void keep_alive_response__free_unpacked
+ (KeepAliveResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &keep_alive_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+#define keep_alive_response__field_descriptors NULL
+#define keep_alive_response__field_indices_by_name NULL
+#define keep_alive_response__number_ranges NULL
+const ProtobufCMessageDescriptor keep_alive_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "KeepAliveResponse",
+ "KeepAliveResponse",
+ "KeepAliveResponse",
+ "",
+ sizeof(KeepAliveResponse),
+ 0,
+ keep_alive_response__field_descriptors,
+ keep_alive_response__field_indices_by_name,
+ 0, keep_alive_response__number_ranges,
+ (ProtobufCMessageInit) keep_alive_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Common/KeepAliveResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Common/KeepAliveResponse.pb-c.h
new file mode 100644
index 000000000..a29f79c99
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Common/KeepAliveResponse.pb-c.h
@@ -0,0 +1,70 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: KeepAliveResponse.proto */
+
+#ifndef PROTOBUF_C_KeepAliveResponse_2eproto__INCLUDED
+#define PROTOBUF_C_KeepAliveResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _KeepAliveResponse KeepAliveResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _KeepAliveResponse
+{
+ ProtobufCMessage base;
+};
+#define KEEP_ALIVE_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&keep_alive_response__descriptor) \
+ }
+
+
+/* KeepAliveResponse methods */
+void keep_alive_response__init
+ (KeepAliveResponse *message);
+size_t keep_alive_response__get_packed_size
+ (const KeepAliveResponse *message);
+size_t keep_alive_response__pack
+ (const KeepAliveResponse *message,
+ uint8_t *out);
+size_t keep_alive_response__pack_to_buffer
+ (const KeepAliveResponse *message,
+ ProtobufCBuffer *buffer);
+KeepAliveResponse *
+ keep_alive_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void keep_alive_response__free_unpacked
+ (KeepAliveResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*KeepAliveResponse_Closure)
+ (const KeepAliveResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor keep_alive_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_KeepAliveResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageContainer.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageContainer.pb-c.c
new file mode 100644
index 000000000..de74c4054
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageContainer.pb-c.c
@@ -0,0 +1,170 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MessageContainer.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "MessageContainer.pb-c.h"
+void message_container__init
+ (MessageContainer *message)
+{
+ static const MessageContainer init_value = MESSAGE_CONTAINER__INIT;
+ *message = init_value;
+}
+size_t message_container__get_packed_size
+ (const MessageContainer *message)
+{
+ assert(message->base.descriptor == &message_container__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t message_container__pack
+ (const MessageContainer *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &message_container__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t message_container__pack_to_buffer
+ (const MessageContainer *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &message_container__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+MessageContainer *
+ message_container__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (MessageContainer *)
+ protobuf_c_message_unpack (&message_container__descriptor,
+ allocator, len, data);
+}
+void message_container__free_unpacked
+ (MessageContainer *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &message_container__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor message_container__field_descriptors[7] =
+{
+ {
+ "Type",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(MessageContainer, has_type),
+ offsetof(MessageContainer, type),
+ &message_type__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Token",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(MessageContainer, token),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Continuous",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(MessageContainer, has_continuous),
+ offsetof(MessageContainer, continuous),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Completed",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(MessageContainer, has_completed),
+ offsetof(MessageContainer, completed),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Data",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BYTES,
+ offsetof(MessageContainer, has_data),
+ offsetof(MessageContainer, data),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "CRC",
+ 6,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(MessageContainer, has_crc),
+ offsetof(MessageContainer, crc),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Error",
+ 7,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(MessageContainer, has_error),
+ offsetof(MessageContainer, error),
+ &error_code__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned message_container__field_indices_by_name[] = {
+ 5, /* field[5] = CRC */
+ 3, /* field[3] = Completed */
+ 2, /* field[2] = Continuous */
+ 4, /* field[4] = Data */
+ 6, /* field[6] = Error */
+ 1, /* field[1] = Token */
+ 0, /* field[0] = Type */
+};
+static const ProtobufCIntRange message_container__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 7 }
+};
+const ProtobufCMessageDescriptor message_container__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "MessageContainer",
+ "MessageContainer",
+ "MessageContainer",
+ "",
+ sizeof(MessageContainer),
+ 7,
+ message_container__field_descriptors,
+ message_container__field_indices_by_name,
+ 1, message_container__number_ranges,
+ (ProtobufCMessageInit) message_container__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageContainer.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageContainer.pb-c.h
new file mode 100644
index 000000000..edb24d775
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageContainer.pb-c.h
@@ -0,0 +1,85 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MessageContainer.proto */
+
+#ifndef PROTOBUF_C_MessageContainer_2eproto__INCLUDED
+#define PROTOBUF_C_MessageContainer_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "MessageType.pb-c.h"
+#include "ErrorCode.pb-c.h"
+
+typedef struct _MessageContainer MessageContainer;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _MessageContainer
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_type;
+ MessageType type;
+ char *token;
+ protobuf_c_boolean has_continuous;
+ protobuf_c_boolean continuous;
+ protobuf_c_boolean has_completed;
+ protobuf_c_boolean completed;
+ protobuf_c_boolean has_data;
+ ProtobufCBinaryData data;
+ protobuf_c_boolean has_crc;
+ uint32_t crc;
+ protobuf_c_boolean has_error;
+ ErrorCode error;
+};
+#define MESSAGE_CONTAINER__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&message_container__descriptor) \
+ , 0, MESSAGE_TYPE__None, NULL, 0, 0, 0, 0, 0, {0,NULL}, 0, 0, 0, ERROR_CODE__NONE }
+
+
+/* MessageContainer methods */
+void message_container__init
+ (MessageContainer *message);
+size_t message_container__get_packed_size
+ (const MessageContainer *message);
+size_t message_container__pack
+ (const MessageContainer *message,
+ uint8_t *out);
+size_t message_container__pack_to_buffer
+ (const MessageContainer *message,
+ ProtobufCBuffer *buffer);
+MessageContainer *
+ message_container__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void message_container__free_unpacked
+ (MessageContainer *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*MessageContainer_Closure)
+ (const MessageContainer *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor message_container__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_MessageContainer_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.c
new file mode 100644
index 000000000..b193ae3e1
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.c
@@ -0,0 +1,237 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MessageType.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "MessageType.pb-c.h"
+static const ProtobufCEnumValue message_type__enum_values_by_number[102] =
+{
+ { "None", "MESSAGE_TYPE__None", 0 },
+ { "CalculateRequest", "MESSAGE_TYPE__CalculateRequest", 3 },
+ { "CalculateResponse", "MESSAGE_TYPE__CalculateResponse", 4 },
+ { "ProgressRequest", "MESSAGE_TYPE__ProgressRequest", 5 },
+ { "ProgressResponse", "MESSAGE_TYPE__ProgressResponse", 6 },
+ { "StubCartridgeReadRequest", "MESSAGE_TYPE__StubCartridgeReadRequest", 7 },
+ { "StubCartridgeReadResponse", "MESSAGE_TYPE__StubCartridgeReadResponse", 8 },
+ { "StubCartridgeWriteRequest", "MESSAGE_TYPE__StubCartridgeWriteRequest", 9 },
+ { "StubCartridgeWriteResponse", "MESSAGE_TYPE__StubCartridgeWriteResponse", 10 },
+ { "StubDispenserRequest", "MESSAGE_TYPE__StubDispenserRequest", 11 },
+ { "StubDispenserResponse", "MESSAGE_TYPE__StubDispenserResponse", 12 },
+ { "StubGPIOInputSetupRequest", "MESSAGE_TYPE__StubGPIOInputSetupRequest", 13 },
+ { "StubGPIOInputSetupResponse", "MESSAGE_TYPE__StubGPIOInputSetupResponse", 14 },
+ { "StubGPIOReadBitRequest", "MESSAGE_TYPE__StubGPIOReadBitRequest", 15 },
+ { "StubGPIOReadBitResponse", "MESSAGE_TYPE__StubGPIOReadBitResponse", 16 },
+ { "StubGPIOReadByteRequest", "MESSAGE_TYPE__StubGPIOReadByteRequest", 17 },
+ { "StubGPIOReadByteResponse", "MESSAGE_TYPE__StubGPIOReadByteResponse", 18 },
+ { "StubGPIOWriteBitRequest", "MESSAGE_TYPE__StubGPIOWriteBitRequest", 19 },
+ { "StubGPIOWriteBitResponse", "MESSAGE_TYPE__StubGPIOWriteBitResponse", 20 },
+ { "StubGPIOWriteByteRequest", "MESSAGE_TYPE__StubGPIOWriteByteRequest", 21 },
+ { "StubGPIOWriteByteResponse", "MESSAGE_TYPE__StubGPIOWriteByteResponse", 22 },
+ { "StubHeaterRequest", "MESSAGE_TYPE__StubHeaterRequest", 23 },
+ { "StubHeaterResponse", "MESSAGE_TYPE__StubHeaterResponse", 24 },
+ { "StubMotorEncoderRequest", "MESSAGE_TYPE__StubMotorEncoderRequest", 25 },
+ { "StubMotorEncoderResponse", "MESSAGE_TYPE__StubMotorEncoderResponse", 26 },
+ { "StubOptLimitSwitchRequest", "MESSAGE_TYPE__StubOptLimitSwitchRequest", 27 },
+ { "StubOptLimitSwitchResponse", "MESSAGE_TYPE__StubOptLimitSwitchResponse", 28 },
+ { "StubSteperMotorRequest", "MESSAGE_TYPE__StubSteperMotorRequest", 29 },
+ { "StubSteperMotorResponse", "MESSAGE_TYPE__StubSteperMotorResponse", 30 },
+ { "StubValveRequest", "MESSAGE_TYPE__StubValveRequest", 31 },
+ { "StubValveResponse", "MESSAGE_TYPE__StubValveResponse", 32 },
+ { "StubExtFlashReadRequest", "MESSAGE_TYPE__StubExtFlashReadRequest", 33 },
+ { "StubExtFlashReadResponse", "MESSAGE_TYPE__StubExtFlashReadResponse", 34 },
+ { "StubExtFlashWriteRequest", "MESSAGE_TYPE__StubExtFlashWriteRequest", 35 },
+ { "StubExtFlashWriteResponse", "MESSAGE_TYPE__StubExtFlashWriteResponse", 36 },
+ { "StubFPGAReadBackRegRequest", "MESSAGE_TYPE__StubFPGAReadBackRegRequest", 37 },
+ { "StubFPGAReadBackRegResponse", "MESSAGE_TYPE__StubFPGAReadBackRegResponse", 38 },
+ { "StubFPGAReadVersionRequest", "MESSAGE_TYPE__StubFPGAReadVersionRequest", 39 },
+ { "StubFPGAReadVersionResponse", "MESSAGE_TYPE__StubFPGAReadVersionResponse", 40 },
+ { "StubL6470DriverRequest", "MESSAGE_TYPE__StubL6470DriverRequest", 41 },
+ { "StubL6470DriverResponse", "MESSAGE_TYPE__StubL6470DriverResponse", 42 },
+ { "StubMotorInitRequest", "MESSAGE_TYPE__StubMotorInitRequest", 43 },
+ { "StubMotorInitResponse", "MESSAGE_TYPE__StubMotorInitResponse", 44 },
+ { "StubMotorRunRequest", "MESSAGE_TYPE__StubMotorRunRequest", 45 },
+ { "StubMotorRunResponse", "MESSAGE_TYPE__StubMotorRunResponse", 46 },
+ { "StubMotorStopRequest", "MESSAGE_TYPE__StubMotorStopRequest", 47 },
+ { "StubMotorStopResponse", "MESSAGE_TYPE__StubMotorStopResponse", 48 },
+ { "StubMotorStatusRequest", "MESSAGE_TYPE__StubMotorStatusRequest", 49 },
+ { "StubMotorStatusResponse", "MESSAGE_TYPE__StubMotorStatusResponse", 50 },
+ { "StubMotorMovRequest", "MESSAGE_TYPE__StubMotorMovRequest", 51 },
+ { "StubMotorMovResponse", "MESSAGE_TYPE__StubMotorMovResponse", 52 },
+ { "StubMotorSpeedRequest", "MESSAGE_TYPE__StubMotorSpeedRequest", 53 },
+ { "StubMotorSpeedResponse", "MESSAGE_TYPE__StubMotorSpeedResponse", 54 },
+ { "StubMotorPositionRequest", "MESSAGE_TYPE__StubMotorPositionRequest", 55 },
+ { "StubMotorPositionResponse", "MESSAGE_TYPE__StubMotorPositionResponse", 56 },
+ { "StubHWVersionRequest", "MESSAGE_TYPE__StubHWVersionRequest", 57 },
+ { "StubHWVersionResponse", "MESSAGE_TYPE__StubHWVersionResponse", 58 },
+ { "StubF3Gpo01WriteRequest", "MESSAGE_TYPE__StubF3Gpo01WriteRequest", 59 },
+ { "StubF3Gpo01WriteResponse", "MESSAGE_TYPE__StubF3Gpo01WriteResponse", 60 },
+ { "ExternalBridgeUdpDiscoveryPacket", "MESSAGE_TYPE__ExternalBridgeUdpDiscoveryPacket", 1000 },
+ { "ExternalClientLoginRequest", "MESSAGE_TYPE__ExternalClientLoginRequest", 1001 },
+ { "ExternalClientLoginResponse", "MESSAGE_TYPE__ExternalClientLoginResponse", 1002 },
+ { "DirectSynchronizationRequest", "MESSAGE_TYPE__DirectSynchronizationRequest", 1003 },
+ { "DirectSynchronizationResponse", "MESSAGE_TYPE__DirectSynchronizationResponse", 1004 },
+ { "OverrideDataBaseRequest", "MESSAGE_TYPE__OverrideDataBaseRequest", 1005 },
+ { "OverrideDataBaseResponse", "MESSAGE_TYPE__OverrideDataBaseResponse", 1006 },
+ { "KeepAliveRequest", "MESSAGE_TYPE__KeepAliveRequest", 1007 },
+ { "KeepAliveResponse", "MESSAGE_TYPE__KeepAliveResponse", 1008 },
+ { "PushDiagnosticsRequest", "MESSAGE_TYPE__PushDiagnosticsRequest", 2000 },
+ { "PushDiagnosticsResponse", "MESSAGE_TYPE__PushDiagnosticsResponse", 2001 },
+ { "MotorAbortHomingRequest", "MESSAGE_TYPE__MotorAbortHomingRequest", 2002 },
+ { "MotorAbortHomingResponse", "MESSAGE_TYPE__MotorAbortHomingResponse", 2003 },
+ { "MotorHomingRequest", "MESSAGE_TYPE__MotorHomingRequest", 2004 },
+ { "MotorHomingResponse", "MESSAGE_TYPE__MotorHomingResponse", 2005 },
+ { "MotorJoggingRequest", "MESSAGE_TYPE__MotorJoggingRequest", 2006 },
+ { "MotorJoggingResponse", "MESSAGE_TYPE__MotorJoggingResponse", 2007 },
+ { "MotorAbortJoggingRequest", "MESSAGE_TYPE__MotorAbortJoggingRequest", 2008 },
+ { "MotorAbortJoggingResponse", "MESSAGE_TYPE__MotorAbortJoggingResponse", 2009 },
+ { "DispenserAbortHomingRequest", "MESSAGE_TYPE__DispenserAbortHomingRequest", 2010 },
+ { "DispenserAbortHomingResponse", "MESSAGE_TYPE__DispenserAbortHomingResponse", 2011 },
+ { "DispenserHomingRequest", "MESSAGE_TYPE__DispenserHomingRequest", 2012 },
+ { "DispenserHomingResponse", "MESSAGE_TYPE__DispenserHomingResponse", 2013 },
+ { "DispenserJoggingRequest", "MESSAGE_TYPE__DispenserJoggingRequest", 2014 },
+ { "DispenserJoggingResponse", "MESSAGE_TYPE__DispenserJoggingResponse", 2015 },
+ { "DispenserAbortJoggingRequest", "MESSAGE_TYPE__DispenserAbortJoggingRequest", 2016 },
+ { "DispenserAbortJoggingResponse", "MESSAGE_TYPE__DispenserAbortJoggingResponse", 2017 },
+ { "SetDigitalOutRequest", "MESSAGE_TYPE__SetDigitalOutRequest", 2018 },
+ { "SetDigitalOutResponse", "MESSAGE_TYPE__SetDigitalOutResponse", 2019 },
+ { "ThreadJoggingRequest", "MESSAGE_TYPE__ThreadJoggingRequest", 2020 },
+ { "ThreadJoggingResponse", "MESSAGE_TYPE__ThreadJoggingResponse", 2021 },
+ { "ThreadAbortJoggingRequest", "MESSAGE_TYPE__ThreadAbortJoggingRequest", 2022 },
+ { "ThreadAbortJoggingResponse", "MESSAGE_TYPE__ThreadAbortJoggingResponse", 2023 },
+ { "JobRequest", "MESSAGE_TYPE__JobRequest", 3000 },
+ { "JobResponse", "MESSAGE_TYPE__JobResponse", 3001 },
+ { "AbortJobRequest", "MESSAGE_TYPE__AbortJobRequest", 3002 },
+ { "AbortJobResponse", "MESSAGE_TYPE__AbortJobResponse", 3003 },
+ { "UploadProcessParametersRequest", "MESSAGE_TYPE__UploadProcessParametersRequest", 3004 },
+ { "UploadProcessParametersResponse", "MESSAGE_TYPE__UploadProcessParametersResponse", 3005 },
+ { "DebugLogRequest", "MESSAGE_TYPE__DebugLogRequest", 4000 },
+ { "DebugLogResponse", "MESSAGE_TYPE__DebugLogResponse", 4001 },
+ { "UploadHardwareConfigurationRequest", "MESSAGE_TYPE__UploadHardwareConfigurationRequest", 5000 },
+ { "UploadHardwareConfigurationResponse", "MESSAGE_TYPE__UploadHardwareConfigurationResponse", 5001 },
+};
+static const ProtobufCIntRange message_type__value_ranges[] = {
+{0, 0},{3, 1},{1000, 59},{2000, 68},{3000, 92},{4000, 98},{5000, 100},{0, 102}
+};
+static const ProtobufCEnumValueIndex message_type__enum_values_by_name[102] =
+{
+ { "AbortJobRequest", 94 },
+ { "AbortJobResponse", 95 },
+ { "CalculateRequest", 1 },
+ { "CalculateResponse", 2 },
+ { "DebugLogRequest", 98 },
+ { "DebugLogResponse", 99 },
+ { "DirectSynchronizationRequest", 62 },
+ { "DirectSynchronizationResponse", 63 },
+ { "DispenserAbortHomingRequest", 78 },
+ { "DispenserAbortHomingResponse", 79 },
+ { "DispenserAbortJoggingRequest", 84 },
+ { "DispenserAbortJoggingResponse", 85 },
+ { "DispenserHomingRequest", 80 },
+ { "DispenserHomingResponse", 81 },
+ { "DispenserJoggingRequest", 82 },
+ { "DispenserJoggingResponse", 83 },
+ { "ExternalBridgeUdpDiscoveryPacket", 59 },
+ { "ExternalClientLoginRequest", 60 },
+ { "ExternalClientLoginResponse", 61 },
+ { "JobRequest", 92 },
+ { "JobResponse", 93 },
+ { "KeepAliveRequest", 66 },
+ { "KeepAliveResponse", 67 },
+ { "MotorAbortHomingRequest", 70 },
+ { "MotorAbortHomingResponse", 71 },
+ { "MotorAbortJoggingRequest", 76 },
+ { "MotorAbortJoggingResponse", 77 },
+ { "MotorHomingRequest", 72 },
+ { "MotorHomingResponse", 73 },
+ { "MotorJoggingRequest", 74 },
+ { "MotorJoggingResponse", 75 },
+ { "None", 0 },
+ { "OverrideDataBaseRequest", 64 },
+ { "OverrideDataBaseResponse", 65 },
+ { "ProgressRequest", 3 },
+ { "ProgressResponse", 4 },
+ { "PushDiagnosticsRequest", 68 },
+ { "PushDiagnosticsResponse", 69 },
+ { "SetDigitalOutRequest", 86 },
+ { "SetDigitalOutResponse", 87 },
+ { "StubCartridgeReadRequest", 5 },
+ { "StubCartridgeReadResponse", 6 },
+ { "StubCartridgeWriteRequest", 7 },
+ { "StubCartridgeWriteResponse", 8 },
+ { "StubDispenserRequest", 9 },
+ { "StubDispenserResponse", 10 },
+ { "StubExtFlashReadRequest", 31 },
+ { "StubExtFlashReadResponse", 32 },
+ { "StubExtFlashWriteRequest", 33 },
+ { "StubExtFlashWriteResponse", 34 },
+ { "StubF3Gpo01WriteRequest", 57 },
+ { "StubF3Gpo01WriteResponse", 58 },
+ { "StubFPGAReadBackRegRequest", 35 },
+ { "StubFPGAReadBackRegResponse", 36 },
+ { "StubFPGAReadVersionRequest", 37 },
+ { "StubFPGAReadVersionResponse", 38 },
+ { "StubGPIOInputSetupRequest", 11 },
+ { "StubGPIOInputSetupResponse", 12 },
+ { "StubGPIOReadBitRequest", 13 },
+ { "StubGPIOReadBitResponse", 14 },
+ { "StubGPIOReadByteRequest", 15 },
+ { "StubGPIOReadByteResponse", 16 },
+ { "StubGPIOWriteBitRequest", 17 },
+ { "StubGPIOWriteBitResponse", 18 },
+ { "StubGPIOWriteByteRequest", 19 },
+ { "StubGPIOWriteByteResponse", 20 },
+ { "StubHWVersionRequest", 55 },
+ { "StubHWVersionResponse", 56 },
+ { "StubHeaterRequest", 21 },
+ { "StubHeaterResponse", 22 },
+ { "StubL6470DriverRequest", 39 },
+ { "StubL6470DriverResponse", 40 },
+ { "StubMotorEncoderRequest", 23 },
+ { "StubMotorEncoderResponse", 24 },
+ { "StubMotorInitRequest", 41 },
+ { "StubMotorInitResponse", 42 },
+ { "StubMotorMovRequest", 49 },
+ { "StubMotorMovResponse", 50 },
+ { "StubMotorPositionRequest", 53 },
+ { "StubMotorPositionResponse", 54 },
+ { "StubMotorRunRequest", 43 },
+ { "StubMotorRunResponse", 44 },
+ { "StubMotorSpeedRequest", 51 },
+ { "StubMotorSpeedResponse", 52 },
+ { "StubMotorStatusRequest", 47 },
+ { "StubMotorStatusResponse", 48 },
+ { "StubMotorStopRequest", 45 },
+ { "StubMotorStopResponse", 46 },
+ { "StubOptLimitSwitchRequest", 25 },
+ { "StubOptLimitSwitchResponse", 26 },
+ { "StubSteperMotorRequest", 27 },
+ { "StubSteperMotorResponse", 28 },
+ { "StubValveRequest", 29 },
+ { "StubValveResponse", 30 },
+ { "ThreadAbortJoggingRequest", 90 },
+ { "ThreadAbortJoggingResponse", 91 },
+ { "ThreadJoggingRequest", 88 },
+ { "ThreadJoggingResponse", 89 },
+ { "UploadHardwareConfigurationRequest", 100 },
+ { "UploadHardwareConfigurationResponse", 101 },
+ { "UploadProcessParametersRequest", 96 },
+ { "UploadProcessParametersResponse", 97 },
+};
+const ProtobufCEnumDescriptor message_type__descriptor =
+{
+ PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
+ "MessageType",
+ "MessageType",
+ "MessageType",
+ "",
+ 102,
+ message_type__enum_values_by_number,
+ 102,
+ message_type__enum_values_by_name,
+ 7,
+ message_type__value_ranges,
+ NULL,NULL,NULL,NULL /* reserved[1234] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.h
new file mode 100644
index 000000000..f5e6eb785
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Common/MessageType.pb-c.h
@@ -0,0 +1,143 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: MessageType.proto */
+
+#ifndef PROTOBUF_C_MessageType_2eproto__INCLUDED
+#define PROTOBUF_C_MessageType_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+
+
+/* --- enums --- */
+
+typedef enum _MessageType {
+ MESSAGE_TYPE__None = 0,
+ MESSAGE_TYPE__CalculateRequest = 3,
+ MESSAGE_TYPE__CalculateResponse = 4,
+ MESSAGE_TYPE__ProgressRequest = 5,
+ MESSAGE_TYPE__ProgressResponse = 6,
+ MESSAGE_TYPE__StubCartridgeReadRequest = 7,
+ MESSAGE_TYPE__StubCartridgeReadResponse = 8,
+ MESSAGE_TYPE__StubCartridgeWriteRequest = 9,
+ MESSAGE_TYPE__StubCartridgeWriteResponse = 10,
+ MESSAGE_TYPE__StubDispenserRequest = 11,
+ MESSAGE_TYPE__StubDispenserResponse = 12,
+ MESSAGE_TYPE__StubGPIOInputSetupRequest = 13,
+ MESSAGE_TYPE__StubGPIOInputSetupResponse = 14,
+ MESSAGE_TYPE__StubGPIOReadBitRequest = 15,
+ MESSAGE_TYPE__StubGPIOReadBitResponse = 16,
+ MESSAGE_TYPE__StubGPIOReadByteRequest = 17,
+ MESSAGE_TYPE__StubGPIOReadByteResponse = 18,
+ MESSAGE_TYPE__StubGPIOWriteBitRequest = 19,
+ MESSAGE_TYPE__StubGPIOWriteBitResponse = 20,
+ MESSAGE_TYPE__StubGPIOWriteByteRequest = 21,
+ MESSAGE_TYPE__StubGPIOWriteByteResponse = 22,
+ MESSAGE_TYPE__StubHeaterRequest = 23,
+ MESSAGE_TYPE__StubHeaterResponse = 24,
+ MESSAGE_TYPE__StubMotorEncoderRequest = 25,
+ MESSAGE_TYPE__StubMotorEncoderResponse = 26,
+ MESSAGE_TYPE__StubOptLimitSwitchRequest = 27,
+ MESSAGE_TYPE__StubOptLimitSwitchResponse = 28,
+ MESSAGE_TYPE__StubSteperMotorRequest = 29,
+ MESSAGE_TYPE__StubSteperMotorResponse = 30,
+ MESSAGE_TYPE__StubValveRequest = 31,
+ MESSAGE_TYPE__StubValveResponse = 32,
+ MESSAGE_TYPE__StubExtFlashReadRequest = 33,
+ MESSAGE_TYPE__StubExtFlashReadResponse = 34,
+ MESSAGE_TYPE__StubExtFlashWriteRequest = 35,
+ MESSAGE_TYPE__StubExtFlashWriteResponse = 36,
+ MESSAGE_TYPE__StubFPGAReadBackRegRequest = 37,
+ MESSAGE_TYPE__StubFPGAReadBackRegResponse = 38,
+ MESSAGE_TYPE__StubFPGAReadVersionRequest = 39,
+ MESSAGE_TYPE__StubFPGAReadVersionResponse = 40,
+ MESSAGE_TYPE__StubL6470DriverRequest = 41,
+ MESSAGE_TYPE__StubL6470DriverResponse = 42,
+ MESSAGE_TYPE__StubMotorInitRequest = 43,
+ MESSAGE_TYPE__StubMotorInitResponse = 44,
+ MESSAGE_TYPE__StubMotorRunRequest = 45,
+ MESSAGE_TYPE__StubMotorRunResponse = 46,
+ MESSAGE_TYPE__StubMotorStopRequest = 47,
+ MESSAGE_TYPE__StubMotorStopResponse = 48,
+ MESSAGE_TYPE__StubMotorStatusRequest = 49,
+ MESSAGE_TYPE__StubMotorStatusResponse = 50,
+ MESSAGE_TYPE__StubMotorMovRequest = 51,
+ MESSAGE_TYPE__StubMotorMovResponse = 52,
+ MESSAGE_TYPE__StubMotorSpeedRequest = 53,
+ MESSAGE_TYPE__StubMotorSpeedResponse = 54,
+ MESSAGE_TYPE__StubMotorPositionRequest = 55,
+ MESSAGE_TYPE__StubMotorPositionResponse = 56,
+ MESSAGE_TYPE__StubHWVersionRequest = 57,
+ MESSAGE_TYPE__StubHWVersionResponse = 58,
+ MESSAGE_TYPE__StubF3Gpo01WriteRequest = 59,
+ MESSAGE_TYPE__StubF3Gpo01WriteResponse = 60,
+ MESSAGE_TYPE__ExternalBridgeUdpDiscoveryPacket = 1000,
+ MESSAGE_TYPE__ExternalClientLoginRequest = 1001,
+ MESSAGE_TYPE__ExternalClientLoginResponse = 1002,
+ MESSAGE_TYPE__DirectSynchronizationRequest = 1003,
+ MESSAGE_TYPE__DirectSynchronizationResponse = 1004,
+ MESSAGE_TYPE__OverrideDataBaseRequest = 1005,
+ MESSAGE_TYPE__OverrideDataBaseResponse = 1006,
+ MESSAGE_TYPE__KeepAliveRequest = 1007,
+ MESSAGE_TYPE__KeepAliveResponse = 1008,
+ MESSAGE_TYPE__PushDiagnosticsRequest = 2000,
+ MESSAGE_TYPE__PushDiagnosticsResponse = 2001,
+ MESSAGE_TYPE__MotorAbortHomingRequest = 2002,
+ MESSAGE_TYPE__MotorAbortHomingResponse = 2003,
+ MESSAGE_TYPE__MotorHomingRequest = 2004,
+ MESSAGE_TYPE__MotorHomingResponse = 2005,
+ MESSAGE_TYPE__MotorJoggingRequest = 2006,
+ MESSAGE_TYPE__MotorJoggingResponse = 2007,
+ MESSAGE_TYPE__MotorAbortJoggingRequest = 2008,
+ MESSAGE_TYPE__MotorAbortJoggingResponse = 2009,
+ MESSAGE_TYPE__DispenserAbortHomingRequest = 2010,
+ MESSAGE_TYPE__DispenserAbortHomingResponse = 2011,
+ MESSAGE_TYPE__DispenserHomingRequest = 2012,
+ MESSAGE_TYPE__DispenserHomingResponse = 2013,
+ MESSAGE_TYPE__DispenserJoggingRequest = 2014,
+ MESSAGE_TYPE__DispenserJoggingResponse = 2015,
+ MESSAGE_TYPE__DispenserAbortJoggingRequest = 2016,
+ MESSAGE_TYPE__DispenserAbortJoggingResponse = 2017,
+ MESSAGE_TYPE__SetDigitalOutRequest = 2018,
+ MESSAGE_TYPE__SetDigitalOutResponse = 2019,
+ MESSAGE_TYPE__ThreadJoggingRequest = 2020,
+ MESSAGE_TYPE__ThreadJoggingResponse = 2021,
+ MESSAGE_TYPE__ThreadAbortJoggingRequest = 2022,
+ MESSAGE_TYPE__ThreadAbortJoggingResponse = 2023,
+ MESSAGE_TYPE__JobRequest = 3000,
+ MESSAGE_TYPE__JobResponse = 3001,
+ MESSAGE_TYPE__AbortJobRequest = 3002,
+ MESSAGE_TYPE__AbortJobResponse = 3003,
+ MESSAGE_TYPE__UploadProcessParametersRequest = 3004,
+ MESSAGE_TYPE__UploadProcessParametersResponse = 3005,
+ MESSAGE_TYPE__DebugLogRequest = 4000,
+ MESSAGE_TYPE__DebugLogResponse = 4001,
+ MESSAGE_TYPE__UploadHardwareConfigurationRequest = 5000,
+ MESSAGE_TYPE__UploadHardwareConfigurationResponse = 5001
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(MESSAGE_TYPE)
+} MessageType;
+
+/* --- messages --- */
+
+/* --- per-message closures --- */
+
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCEnumDescriptor message_type__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_MessageType_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Debugging/DebugLogCategory.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Debugging/DebugLogCategory.pb-c.c
new file mode 100644
index 000000000..ebb901ba8
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Debugging/DebugLogCategory.pb-c.c
@@ -0,0 +1,43 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DebugLogCategory.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "DebugLogCategory.pb-c.h"
+static const ProtobufCEnumValue debug_log_category__enum_values_by_number[5] =
+{
+ { "Info", "DEBUG_LOG_CATEGORY__Info", 0 },
+ { "Warning", "DEBUG_LOG_CATEGORY__Warning", 1 },
+ { "Error", "DEBUG_LOG_CATEGORY__Error", 2 },
+ { "Critical", "DEBUG_LOG_CATEGORY__Critical", 3 },
+ { "Debug", "DEBUG_LOG_CATEGORY__Debug", 4 },
+};
+static const ProtobufCIntRange debug_log_category__value_ranges[] = {
+{0, 0},{0, 5}
+};
+static const ProtobufCEnumValueIndex debug_log_category__enum_values_by_name[5] =
+{
+ { "Critical", 3 },
+ { "Debug", 4 },
+ { "Error", 2 },
+ { "Info", 0 },
+ { "Warning", 1 },
+};
+const ProtobufCEnumDescriptor debug_log_category__descriptor =
+{
+ PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
+ "DebugLogCategory",
+ "DebugLogCategory",
+ "DebugLogCategory",
+ "",
+ 5,
+ debug_log_category__enum_values_by_number,
+ 5,
+ debug_log_category__enum_values_by_name,
+ 1,
+ debug_log_category__value_ranges,
+ NULL,NULL,NULL,NULL /* reserved[1234] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Debugging/DebugLogCategory.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Debugging/DebugLogCategory.pb-c.h
new file mode 100644
index 000000000..d97b42d33
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Debugging/DebugLogCategory.pb-c.h
@@ -0,0 +1,46 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DebugLogCategory.proto */
+
+#ifndef PROTOBUF_C_DebugLogCategory_2eproto__INCLUDED
+#define PROTOBUF_C_DebugLogCategory_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+
+
+/* --- enums --- */
+
+typedef enum _DebugLogCategory {
+ DEBUG_LOG_CATEGORY__Info = 0,
+ DEBUG_LOG_CATEGORY__Warning = 1,
+ DEBUG_LOG_CATEGORY__Error = 2,
+ DEBUG_LOG_CATEGORY__Critical = 3,
+ DEBUG_LOG_CATEGORY__Debug = 4
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(DEBUG_LOG_CATEGORY)
+} DebugLogCategory;
+
+/* --- messages --- */
+
+/* --- per-message closures --- */
+
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCEnumDescriptor debug_log_category__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_DebugLogCategory_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Debugging/DebugLogRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Debugging/DebugLogRequest.pb-c.c
new file mode 100644
index 000000000..e8faeddcb
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Debugging/DebugLogRequest.pb-c.c
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DebugLogRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "DebugLogRequest.pb-c.h"
+void debug_log_request__init
+ (DebugLogRequest *message)
+{
+ static const DebugLogRequest init_value = DEBUG_LOG_REQUEST__INIT;
+ *message = init_value;
+}
+size_t debug_log_request__get_packed_size
+ (const DebugLogRequest *message)
+{
+ assert(message->base.descriptor == &debug_log_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t debug_log_request__pack
+ (const DebugLogRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &debug_log_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t debug_log_request__pack_to_buffer
+ (const DebugLogRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &debug_log_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+DebugLogRequest *
+ debug_log_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (DebugLogRequest *)
+ protobuf_c_message_unpack (&debug_log_request__descriptor,
+ allocator, len, data);
+}
+void debug_log_request__free_unpacked
+ (DebugLogRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &debug_log_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+#define debug_log_request__field_descriptors NULL
+#define debug_log_request__field_indices_by_name NULL
+#define debug_log_request__number_ranges NULL
+const ProtobufCMessageDescriptor debug_log_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "DebugLogRequest",
+ "DebugLogRequest",
+ "DebugLogRequest",
+ "",
+ sizeof(DebugLogRequest),
+ 0,
+ debug_log_request__field_descriptors,
+ debug_log_request__field_indices_by_name,
+ 0, debug_log_request__number_ranges,
+ (ProtobufCMessageInit) debug_log_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Debugging/DebugLogRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Debugging/DebugLogRequest.pb-c.h
new file mode 100644
index 000000000..2507b3068
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Debugging/DebugLogRequest.pb-c.h
@@ -0,0 +1,70 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DebugLogRequest.proto */
+
+#ifndef PROTOBUF_C_DebugLogRequest_2eproto__INCLUDED
+#define PROTOBUF_C_DebugLogRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _DebugLogRequest DebugLogRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _DebugLogRequest
+{
+ ProtobufCMessage base;
+};
+#define DEBUG_LOG_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&debug_log_request__descriptor) \
+ }
+
+
+/* DebugLogRequest methods */
+void debug_log_request__init
+ (DebugLogRequest *message);
+size_t debug_log_request__get_packed_size
+ (const DebugLogRequest *message);
+size_t debug_log_request__pack
+ (const DebugLogRequest *message,
+ uint8_t *out);
+size_t debug_log_request__pack_to_buffer
+ (const DebugLogRequest *message,
+ ProtobufCBuffer *buffer);
+DebugLogRequest *
+ debug_log_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void debug_log_request__free_unpacked
+ (DebugLogRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*DebugLogRequest_Closure)
+ (const DebugLogRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor debug_log_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_DebugLogRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Debugging/DebugLogResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Debugging/DebugLogResponse.pb-c.c
new file mode 100644
index 000000000..36e08e981
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Debugging/DebugLogResponse.pb-c.c
@@ -0,0 +1,157 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DebugLogResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "DebugLogResponse.pb-c.h"
+void debug_log_response__init
+ (DebugLogResponse *message)
+{
+ static const DebugLogResponse init_value = DEBUG_LOG_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t debug_log_response__get_packed_size
+ (const DebugLogResponse *message)
+{
+ assert(message->base.descriptor == &debug_log_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t debug_log_response__pack
+ (const DebugLogResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &debug_log_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t debug_log_response__pack_to_buffer
+ (const DebugLogResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &debug_log_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+DebugLogResponse *
+ debug_log_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (DebugLogResponse *)
+ protobuf_c_message_unpack (&debug_log_response__descriptor,
+ allocator, len, data);
+}
+void debug_log_response__free_unpacked
+ (DebugLogResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &debug_log_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor debug_log_response__field_descriptors[6] =
+{
+ {
+ "Category",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(DebugLogResponse, has_category),
+ offsetof(DebugLogResponse, category),
+ &debug_log_category__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "FileName",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(DebugLogResponse, filename),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "LineNumber",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(DebugLogResponse, has_linenumber),
+ offsetof(DebugLogResponse, linenumber),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Filter",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(DebugLogResponse, has_filter),
+ offsetof(DebugLogResponse, filter),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Message",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(DebugLogResponse, message),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "ModuleId",
+ 6,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(DebugLogResponse, has_moduleid),
+ offsetof(DebugLogResponse, moduleid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned debug_log_response__field_indices_by_name[] = {
+ 0, /* field[0] = Category */
+ 1, /* field[1] = FileName */
+ 3, /* field[3] = Filter */
+ 2, /* field[2] = LineNumber */
+ 4, /* field[4] = Message */
+ 5, /* field[5] = ModuleId */
+};
+static const ProtobufCIntRange debug_log_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 6 }
+};
+const ProtobufCMessageDescriptor debug_log_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "DebugLogResponse",
+ "DebugLogResponse",
+ "DebugLogResponse",
+ "",
+ sizeof(DebugLogResponse),
+ 6,
+ debug_log_response__field_descriptors,
+ debug_log_response__field_indices_by_name,
+ 1, debug_log_response__number_ranges,
+ (ProtobufCMessageInit) debug_log_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Debugging/DebugLogResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Debugging/DebugLogResponse.pb-c.h
new file mode 100644
index 000000000..414c07188
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Debugging/DebugLogResponse.pb-c.h
@@ -0,0 +1,81 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DebugLogResponse.proto */
+
+#ifndef PROTOBUF_C_DebugLogResponse_2eproto__INCLUDED
+#define PROTOBUF_C_DebugLogResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "DebugLogCategory.pb-c.h"
+
+typedef struct _DebugLogResponse DebugLogResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _DebugLogResponse
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_category;
+ DebugLogCategory category;
+ char *filename;
+ protobuf_c_boolean has_linenumber;
+ uint32_t linenumber;
+ protobuf_c_boolean has_filter;
+ uint32_t filter;
+ char *message;
+ protobuf_c_boolean has_moduleid;
+ uint32_t moduleid;
+};
+#define DEBUG_LOG_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&debug_log_response__descriptor) \
+ , 0, DEBUG_LOG_CATEGORY__Info, NULL, 0, 0, 0, 0, NULL, 0, 0 }
+
+
+/* DebugLogResponse methods */
+void debug_log_response__init
+ (DebugLogResponse *message);
+size_t debug_log_response__get_packed_size
+ (const DebugLogResponse *message);
+size_t debug_log_response__pack
+ (const DebugLogResponse *message,
+ uint8_t *out);
+size_t debug_log_response__pack_to_buffer
+ (const DebugLogResponse *message,
+ ProtobufCBuffer *buffer);
+DebugLogResponse *
+ debug_log_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void debug_log_response__free_unpacked
+ (DebugLogResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*DebugLogResponse_Closure)
+ (const DebugLogResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor debug_log_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_DebugLogResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareConfiguration.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareConfiguration.pb-c.c
new file mode 100644
index 000000000..6ba4d7fc9
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareConfiguration.pb-c.c
@@ -0,0 +1,144 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: HardwareConfiguration.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "HardwareConfiguration.pb-c.h"
+void hardware_configuration__init
+ (HardwareConfiguration *message)
+{
+ static const HardwareConfiguration init_value = HARDWARE_CONFIGURATION__INIT;
+ *message = init_value;
+}
+size_t hardware_configuration__get_packed_size
+ (const HardwareConfiguration *message)
+{
+ assert(message->base.descriptor == &hardware_configuration__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t hardware_configuration__pack
+ (const HardwareConfiguration *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &hardware_configuration__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t hardware_configuration__pack_to_buffer
+ (const HardwareConfiguration *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &hardware_configuration__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+HardwareConfiguration *
+ hardware_configuration__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (HardwareConfiguration *)
+ protobuf_c_message_unpack (&hardware_configuration__descriptor,
+ allocator, len, data);
+}
+void hardware_configuration__free_unpacked
+ (HardwareConfiguration *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &hardware_configuration__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor hardware_configuration__field_descriptors[5] =
+{
+ {
+ "Dancers",
+ 1,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_MESSAGE,
+ offsetof(HardwareConfiguration, n_dancers),
+ offsetof(HardwareConfiguration, dancers),
+ &hardware_dancer__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Dispensers",
+ 2,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_MESSAGE,
+ offsetof(HardwareConfiguration, n_dispensers),
+ offsetof(HardwareConfiguration, dispensers),
+ &hardware_dispenser__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Motors",
+ 3,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_MESSAGE,
+ offsetof(HardwareConfiguration, n_motors),
+ offsetof(HardwareConfiguration, motors),
+ &hardware_motor__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "PidControls",
+ 4,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_MESSAGE,
+ offsetof(HardwareConfiguration, n_pidcontrols),
+ offsetof(HardwareConfiguration, pidcontrols),
+ &hardware_pid_control__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Winders",
+ 5,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_MESSAGE,
+ offsetof(HardwareConfiguration, n_winders),
+ offsetof(HardwareConfiguration, winders),
+ &hardware_winder__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned hardware_configuration__field_indices_by_name[] = {
+ 0, /* field[0] = Dancers */
+ 1, /* field[1] = Dispensers */
+ 2, /* field[2] = Motors */
+ 3, /* field[3] = PidControls */
+ 4, /* field[4] = Winders */
+};
+static const ProtobufCIntRange hardware_configuration__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 5 }
+};
+const ProtobufCMessageDescriptor hardware_configuration__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "HardwareConfiguration",
+ "HardwareConfiguration",
+ "HardwareConfiguration",
+ "",
+ sizeof(HardwareConfiguration),
+ 5,
+ hardware_configuration__field_descriptors,
+ hardware_configuration__field_indices_by_name,
+ 1, hardware_configuration__number_ranges,
+ (ProtobufCMessageInit) hardware_configuration__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareConfiguration.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareConfiguration.pb-c.h
new file mode 100644
index 000000000..d9818c891
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareConfiguration.pb-c.h
@@ -0,0 +1,85 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: HardwareConfiguration.proto */
+
+#ifndef PROTOBUF_C_HardwareConfiguration_2eproto__INCLUDED
+#define PROTOBUF_C_HardwareConfiguration_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "HardwareDancer.pb-c.h"
+#include "HardwareDispenser.pb-c.h"
+#include "HardwareMotor.pb-c.h"
+#include "HardwarePidControl.pb-c.h"
+#include "HardwareWinder.pb-c.h"
+
+typedef struct _HardwareConfiguration HardwareConfiguration;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _HardwareConfiguration
+{
+ ProtobufCMessage base;
+ size_t n_dancers;
+ HardwareDancer **dancers;
+ size_t n_dispensers;
+ HardwareDispenser **dispensers;
+ size_t n_motors;
+ HardwareMotor **motors;
+ size_t n_pidcontrols;
+ HardwarePidControl **pidcontrols;
+ size_t n_winders;
+ HardwareWinder **winders;
+};
+#define HARDWARE_CONFIGURATION__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&hardware_configuration__descriptor) \
+ , 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL }
+
+
+/* HardwareConfiguration methods */
+void hardware_configuration__init
+ (HardwareConfiguration *message);
+size_t hardware_configuration__get_packed_size
+ (const HardwareConfiguration *message);
+size_t hardware_configuration__pack
+ (const HardwareConfiguration *message,
+ uint8_t *out);
+size_t hardware_configuration__pack_to_buffer
+ (const HardwareConfiguration *message,
+ ProtobufCBuffer *buffer);
+HardwareConfiguration *
+ hardware_configuration__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void hardware_configuration__free_unpacked
+ (HardwareConfiguration *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*HardwareConfiguration_Closure)
+ (const HardwareConfiguration *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor hardware_configuration__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_HardwareConfiguration_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancer.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancer.pb-c.c
new file mode 100644
index 000000000..b838e1382
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancer.pb-c.c
@@ -0,0 +1,144 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: HardwareDancer.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "HardwareDancer.pb-c.h"
+void hardware_dancer__init
+ (HardwareDancer *message)
+{
+ static const HardwareDancer init_value = HARDWARE_DANCER__INIT;
+ *message = init_value;
+}
+size_t hardware_dancer__get_packed_size
+ (const HardwareDancer *message)
+{
+ assert(message->base.descriptor == &hardware_dancer__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t hardware_dancer__pack
+ (const HardwareDancer *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &hardware_dancer__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t hardware_dancer__pack_to_buffer
+ (const HardwareDancer *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &hardware_dancer__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+HardwareDancer *
+ hardware_dancer__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (HardwareDancer *)
+ protobuf_c_message_unpack (&hardware_dancer__descriptor,
+ allocator, len, data);
+}
+void hardware_dancer__free_unpacked
+ (HardwareDancer *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &hardware_dancer__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor hardware_dancer__field_descriptors[5] =
+{
+ {
+ "HardwareDancerType",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(HardwareDancer, has_hardwaredancertype),
+ offsetof(HardwareDancer, hardwaredancertype),
+ &hardware_dancer_type__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Gradual",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(HardwareDancer, has_gradual),
+ offsetof(HardwareDancer, gradual),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "K",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(HardwareDancer, has_k),
+ offsetof(HardwareDancer, k),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "X",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(HardwareDancer, has_x),
+ offsetof(HardwareDancer, x),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "PulsePerMmSpring",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwareDancer, has_pulsepermmspring),
+ offsetof(HardwareDancer, pulsepermmspring),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned hardware_dancer__field_indices_by_name[] = {
+ 1, /* field[1] = Gradual */
+ 0, /* field[0] = HardwareDancerType */
+ 2, /* field[2] = K */
+ 4, /* field[4] = PulsePerMmSpring */
+ 3, /* field[3] = X */
+};
+static const ProtobufCIntRange hardware_dancer__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 5 }
+};
+const ProtobufCMessageDescriptor hardware_dancer__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "HardwareDancer",
+ "HardwareDancer",
+ "HardwareDancer",
+ "",
+ sizeof(HardwareDancer),
+ 5,
+ hardware_dancer__field_descriptors,
+ hardware_dancer__field_indices_by_name,
+ 1, hardware_dancer__number_ranges,
+ (ProtobufCMessageInit) hardware_dancer__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancer.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancer.pb-c.h
new file mode 100644
index 000000000..19bd4d967
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancer.pb-c.h
@@ -0,0 +1,81 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: HardwareDancer.proto */
+
+#ifndef PROTOBUF_C_HardwareDancer_2eproto__INCLUDED
+#define PROTOBUF_C_HardwareDancer_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "HardwareDancerType.pb-c.h"
+
+typedef struct _HardwareDancer HardwareDancer;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _HardwareDancer
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_hardwaredancertype;
+ HardwareDancerType hardwaredancertype;
+ protobuf_c_boolean has_gradual;
+ protobuf_c_boolean gradual;
+ protobuf_c_boolean has_k;
+ double k;
+ protobuf_c_boolean has_x;
+ double x;
+ protobuf_c_boolean has_pulsepermmspring;
+ int32_t pulsepermmspring;
+};
+#define HARDWARE_DANCER__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&hardware_dancer__descriptor) \
+ , 0, HARDWARE_DANCER_TYPE__RightDancer, 0, 0, 0, 0, 0, 0, 0, 0 }
+
+
+/* HardwareDancer methods */
+void hardware_dancer__init
+ (HardwareDancer *message);
+size_t hardware_dancer__get_packed_size
+ (const HardwareDancer *message);
+size_t hardware_dancer__pack
+ (const HardwareDancer *message,
+ uint8_t *out);
+size_t hardware_dancer__pack_to_buffer
+ (const HardwareDancer *message,
+ ProtobufCBuffer *buffer);
+HardwareDancer *
+ hardware_dancer__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void hardware_dancer__free_unpacked
+ (HardwareDancer *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*HardwareDancer_Closure)
+ (const HardwareDancer *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor hardware_dancer__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_HardwareDancer_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancerType.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancerType.pb-c.c
new file mode 100644
index 000000000..2f73b763a
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancerType.pb-c.c
@@ -0,0 +1,39 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: HardwareDancerType.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "HardwareDancerType.pb-c.h"
+static const ProtobufCEnumValue hardware_dancer_type__enum_values_by_number[3] =
+{
+ { "RightDancer", "HARDWARE_DANCER_TYPE__RightDancer", 0 },
+ { "MiddleDancer", "HARDWARE_DANCER_TYPE__MiddleDancer", 1 },
+ { "LeftDancer", "HARDWARE_DANCER_TYPE__LeftDancer", 2 },
+};
+static const ProtobufCIntRange hardware_dancer_type__value_ranges[] = {
+{0, 0},{0, 3}
+};
+static const ProtobufCEnumValueIndex hardware_dancer_type__enum_values_by_name[3] =
+{
+ { "LeftDancer", 2 },
+ { "MiddleDancer", 1 },
+ { "RightDancer", 0 },
+};
+const ProtobufCEnumDescriptor hardware_dancer_type__descriptor =
+{
+ PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
+ "HardwareDancerType",
+ "HardwareDancerType",
+ "HardwareDancerType",
+ "",
+ 3,
+ hardware_dancer_type__enum_values_by_number,
+ 3,
+ hardware_dancer_type__enum_values_by_name,
+ 1,
+ hardware_dancer_type__value_ranges,
+ NULL,NULL,NULL,NULL /* reserved[1234] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancerType.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancerType.pb-c.h
new file mode 100644
index 000000000..ddee709ad
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDancerType.pb-c.h
@@ -0,0 +1,44 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: HardwareDancerType.proto */
+
+#ifndef PROTOBUF_C_HardwareDancerType_2eproto__INCLUDED
+#define PROTOBUF_C_HardwareDancerType_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+
+
+/* --- enums --- */
+
+typedef enum _HardwareDancerType {
+ HARDWARE_DANCER_TYPE__RightDancer = 0,
+ HARDWARE_DANCER_TYPE__MiddleDancer = 1,
+ HARDWARE_DANCER_TYPE__LeftDancer = 2
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(HARDWARE_DANCER_TYPE)
+} HardwareDancerType;
+
+/* --- messages --- */
+
+/* --- per-message closures --- */
+
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCEnumDescriptor hardware_dancer_type__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_HardwareDancerType_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDispenser.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDispenser.pb-c.c
new file mode 100644
index 000000000..1691150ab
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDispenser.pb-c.c
@@ -0,0 +1,274 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: HardwareDispenser.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "HardwareDispenser.pb-c.h"
+void hardware_dispenser__init
+ (HardwareDispenser *message)
+{
+ static const HardwareDispenser init_value = HARDWARE_DISPENSER__INIT;
+ *message = init_value;
+}
+size_t hardware_dispenser__get_packed_size
+ (const HardwareDispenser *message)
+{
+ assert(message->base.descriptor == &hardware_dispenser__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t hardware_dispenser__pack
+ (const HardwareDispenser *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &hardware_dispenser__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t hardware_dispenser__pack_to_buffer
+ (const HardwareDispenser *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &hardware_dispenser__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+HardwareDispenser *
+ hardware_dispenser__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (HardwareDispenser *)
+ protobuf_c_message_unpack (&hardware_dispenser__descriptor,
+ allocator, len, data);
+}
+void hardware_dispenser__free_unpacked
+ (HardwareDispenser *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &hardware_dispenser__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor hardware_dispenser__field_descriptors[15] =
+{
+ {
+ "HardwareDispenserType",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(HardwareDispenser, has_hardwaredispensertype),
+ offsetof(HardwareDispenser, hardwaredispensertype),
+ &hardware_dispenser_type__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "NlPerPulse",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(HardwareDispenser, has_nlperpulse),
+ offsetof(HardwareDispenser, nlperpulse),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Capacity",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(HardwareDispenser, has_capacity),
+ offsetof(HardwareDispenser, capacity),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "MinFrequency",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwareDispenser, has_minfrequency),
+ offsetof(HardwareDispenser, minfrequency),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "MaxFrequency",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwareDispenser, has_maxfrequency),
+ offsetof(HardwareDispenser, maxfrequency),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "MinMicroStep",
+ 6,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwareDispenser, has_minmicrostep),
+ offsetof(HardwareDispenser, minmicrostep),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "MaxMicroStep",
+ 7,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwareDispenser, has_maxmicrostep),
+ offsetof(HardwareDispenser, maxmicrostep),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "CorrectionGain",
+ 8,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(HardwareDispenser, has_correctiongain),
+ offsetof(HardwareDispenser, correctiongain),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "RatioToDryerSpeed",
+ 9,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(HardwareDispenser, has_ratiotodryerspeed),
+ offsetof(HardwareDispenser, ratiotodryerspeed),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Kp",
+ 10,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(HardwareDispenser, has_kp),
+ offsetof(HardwareDispenser, kp),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Ki",
+ 11,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(HardwareDispenser, has_ki),
+ offsetof(HardwareDispenser, ki),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Kd",
+ 12,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(HardwareDispenser, has_kd),
+ offsetof(HardwareDispenser, kd),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "ChangeSlope",
+ 13,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(HardwareDispenser, has_changeslope),
+ offsetof(HardwareDispenser, changeslope),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "HighLengthMicroSecond",
+ 14,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(HardwareDispenser, has_highlengthmicrosecond),
+ offsetof(HardwareDispenser, highlengthmicrosecond),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "ControlTiming",
+ 15,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwareDispenser, has_controltiming),
+ offsetof(HardwareDispenser, controltiming),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned hardware_dispenser__field_indices_by_name[] = {
+ 2, /* field[2] = Capacity */
+ 12, /* field[12] = ChangeSlope */
+ 14, /* field[14] = ControlTiming */
+ 7, /* field[7] = CorrectionGain */
+ 0, /* field[0] = HardwareDispenserType */
+ 13, /* field[13] = HighLengthMicroSecond */
+ 11, /* field[11] = Kd */
+ 10, /* field[10] = Ki */
+ 9, /* field[9] = Kp */
+ 4, /* field[4] = MaxFrequency */
+ 6, /* field[6] = MaxMicroStep */
+ 3, /* field[3] = MinFrequency */
+ 5, /* field[5] = MinMicroStep */
+ 1, /* field[1] = NlPerPulse */
+ 8, /* field[8] = RatioToDryerSpeed */
+};
+static const ProtobufCIntRange hardware_dispenser__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 15 }
+};
+const ProtobufCMessageDescriptor hardware_dispenser__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "HardwareDispenser",
+ "HardwareDispenser",
+ "HardwareDispenser",
+ "",
+ sizeof(HardwareDispenser),
+ 15,
+ hardware_dispenser__field_descriptors,
+ hardware_dispenser__field_indices_by_name,
+ 1, hardware_dispenser__number_ranges,
+ (ProtobufCMessageInit) hardware_dispenser__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDispenser.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDispenser.pb-c.h
new file mode 100644
index 000000000..bde6bad40
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDispenser.pb-c.h
@@ -0,0 +1,101 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: HardwareDispenser.proto */
+
+#ifndef PROTOBUF_C_HardwareDispenser_2eproto__INCLUDED
+#define PROTOBUF_C_HardwareDispenser_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "HardwareDispenserType.pb-c.h"
+
+typedef struct _HardwareDispenser HardwareDispenser;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _HardwareDispenser
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_hardwaredispensertype;
+ HardwareDispenserType hardwaredispensertype;
+ protobuf_c_boolean has_nlperpulse;
+ double nlperpulse;
+ protobuf_c_boolean has_capacity;
+ double capacity;
+ protobuf_c_boolean has_minfrequency;
+ int32_t minfrequency;
+ protobuf_c_boolean has_maxfrequency;
+ int32_t maxfrequency;
+ protobuf_c_boolean has_minmicrostep;
+ int32_t minmicrostep;
+ protobuf_c_boolean has_maxmicrostep;
+ int32_t maxmicrostep;
+ protobuf_c_boolean has_correctiongain;
+ double correctiongain;
+ protobuf_c_boolean has_ratiotodryerspeed;
+ double ratiotodryerspeed;
+ protobuf_c_boolean has_kp;
+ double kp;
+ protobuf_c_boolean has_ki;
+ double ki;
+ protobuf_c_boolean has_kd;
+ double kd;
+ protobuf_c_boolean has_changeslope;
+ double changeslope;
+ protobuf_c_boolean has_highlengthmicrosecond;
+ double highlengthmicrosecond;
+ protobuf_c_boolean has_controltiming;
+ int32_t controltiming;
+};
+#define HARDWARE_DISPENSER__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&hardware_dispenser__descriptor) \
+ , 0, HARDWARE_DISPENSER_TYPE__StandardDispenser, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+
+
+/* HardwareDispenser methods */
+void hardware_dispenser__init
+ (HardwareDispenser *message);
+size_t hardware_dispenser__get_packed_size
+ (const HardwareDispenser *message);
+size_t hardware_dispenser__pack
+ (const HardwareDispenser *message,
+ uint8_t *out);
+size_t hardware_dispenser__pack_to_buffer
+ (const HardwareDispenser *message,
+ ProtobufCBuffer *buffer);
+HardwareDispenser *
+ hardware_dispenser__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void hardware_dispenser__free_unpacked
+ (HardwareDispenser *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*HardwareDispenser_Closure)
+ (const HardwareDispenser *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor hardware_dispenser__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_HardwareDispenser_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDispenserType.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDispenserType.pb-c.c
new file mode 100644
index 000000000..723d41bc3
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDispenserType.pb-c.c
@@ -0,0 +1,35 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: HardwareDispenserType.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "HardwareDispenserType.pb-c.h"
+static const ProtobufCEnumValue hardware_dispenser_type__enum_values_by_number[1] =
+{
+ { "StandardDispenser", "HARDWARE_DISPENSER_TYPE__StandardDispenser", 0 },
+};
+static const ProtobufCIntRange hardware_dispenser_type__value_ranges[] = {
+{0, 0},{0, 1}
+};
+static const ProtobufCEnumValueIndex hardware_dispenser_type__enum_values_by_name[1] =
+{
+ { "StandardDispenser", 0 },
+};
+const ProtobufCEnumDescriptor hardware_dispenser_type__descriptor =
+{
+ PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
+ "HardwareDispenserType",
+ "HardwareDispenserType",
+ "HardwareDispenserType",
+ "",
+ 1,
+ hardware_dispenser_type__enum_values_by_number,
+ 1,
+ hardware_dispenser_type__enum_values_by_name,
+ 1,
+ hardware_dispenser_type__value_ranges,
+ NULL,NULL,NULL,NULL /* reserved[1234] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDispenserType.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDispenserType.pb-c.h
new file mode 100644
index 000000000..cd6319f60
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareDispenserType.pb-c.h
@@ -0,0 +1,42 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: HardwareDispenserType.proto */
+
+#ifndef PROTOBUF_C_HardwareDispenserType_2eproto__INCLUDED
+#define PROTOBUF_C_HardwareDispenserType_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+
+
+/* --- enums --- */
+
+typedef enum _HardwareDispenserType {
+ HARDWARE_DISPENSER_TYPE__StandardDispenser = 0
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(HARDWARE_DISPENSER_TYPE)
+} HardwareDispenserType;
+
+/* --- messages --- */
+
+/* --- per-message closures --- */
+
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCEnumDescriptor hardware_dispenser_type__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_HardwareDispenserType_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotor.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotor.pb-c.c
new file mode 100644
index 000000000..68b02ae76
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotor.pb-c.c
@@ -0,0 +1,274 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: HardwareMotor.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "HardwareMotor.pb-c.h"
+void hardware_motor__init
+ (HardwareMotor *message)
+{
+ static const HardwareMotor init_value = HARDWARE_MOTOR__INIT;
+ *message = init_value;
+}
+size_t hardware_motor__get_packed_size
+ (const HardwareMotor *message)
+{
+ assert(message->base.descriptor == &hardware_motor__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t hardware_motor__pack
+ (const HardwareMotor *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &hardware_motor__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t hardware_motor__pack_to_buffer
+ (const HardwareMotor *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &hardware_motor__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+HardwareMotor *
+ hardware_motor__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (HardwareMotor *)
+ protobuf_c_message_unpack (&hardware_motor__descriptor,
+ allocator, len, data);
+}
+void hardware_motor__free_unpacked
+ (HardwareMotor *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &hardware_motor__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor hardware_motor__field_descriptors[15] =
+{
+ {
+ "HardwareMotorType",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(HardwareMotor, has_hardwaremotortype),
+ offsetof(HardwareMotor, hardwaremotortype),
+ &hardware_motor_type__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "MinFrequency",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwareMotor, has_minfrequency),
+ offsetof(HardwareMotor, minfrequency),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "MaxFrequency",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwareMotor, has_maxfrequency),
+ offsetof(HardwareMotor, maxfrequency),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "MinMicroStep",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwareMotor, has_minmicrostep),
+ offsetof(HardwareMotor, minmicrostep),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "MaxMicroStep",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwareMotor, has_maxmicrostep),
+ offsetof(HardwareMotor, maxmicrostep),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "LinearRatio",
+ 6,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(HardwareMotor, has_linearratio),
+ offsetof(HardwareMotor, linearratio),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "MedianPosition",
+ 7,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwareMotor, has_medianposition),
+ offsetof(HardwareMotor, medianposition),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "CorrectionGain",
+ 8,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(HardwareMotor, has_correctiongain),
+ offsetof(HardwareMotor, correctiongain),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "RatioToDryerSpeed",
+ 9,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(HardwareMotor, has_ratiotodryerspeed),
+ offsetof(HardwareMotor, ratiotodryerspeed),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Kp",
+ 10,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(HardwareMotor, has_kp),
+ offsetof(HardwareMotor, kp),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Ki",
+ 11,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(HardwareMotor, has_ki),
+ offsetof(HardwareMotor, ki),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Kd",
+ 12,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(HardwareMotor, has_kd),
+ offsetof(HardwareMotor, kd),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "ChangeSlope",
+ 13,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(HardwareMotor, has_changeslope),
+ offsetof(HardwareMotor, changeslope),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "HighLengthMicroSecond",
+ 14,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(HardwareMotor, has_highlengthmicrosecond),
+ offsetof(HardwareMotor, highlengthmicrosecond),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "SpeedMaster",
+ 15,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(HardwareMotor, has_speedmaster),
+ offsetof(HardwareMotor, speedmaster),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned hardware_motor__field_indices_by_name[] = {
+ 12, /* field[12] = ChangeSlope */
+ 7, /* field[7] = CorrectionGain */
+ 0, /* field[0] = HardwareMotorType */
+ 13, /* field[13] = HighLengthMicroSecond */
+ 11, /* field[11] = Kd */
+ 10, /* field[10] = Ki */
+ 9, /* field[9] = Kp */
+ 5, /* field[5] = LinearRatio */
+ 2, /* field[2] = MaxFrequency */
+ 4, /* field[4] = MaxMicroStep */
+ 6, /* field[6] = MedianPosition */
+ 1, /* field[1] = MinFrequency */
+ 3, /* field[3] = MinMicroStep */
+ 8, /* field[8] = RatioToDryerSpeed */
+ 14, /* field[14] = SpeedMaster */
+};
+static const ProtobufCIntRange hardware_motor__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 15 }
+};
+const ProtobufCMessageDescriptor hardware_motor__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "HardwareMotor",
+ "HardwareMotor",
+ "HardwareMotor",
+ "",
+ sizeof(HardwareMotor),
+ 15,
+ hardware_motor__field_descriptors,
+ hardware_motor__field_indices_by_name,
+ 1, hardware_motor__number_ranges,
+ (ProtobufCMessageInit) hardware_motor__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotor.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotor.pb-c.h
new file mode 100644
index 000000000..50c29e576
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotor.pb-c.h
@@ -0,0 +1,101 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: HardwareMotor.proto */
+
+#ifndef PROTOBUF_C_HardwareMotor_2eproto__INCLUDED
+#define PROTOBUF_C_HardwareMotor_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "HardwareMotorType.pb-c.h"
+
+typedef struct _HardwareMotor HardwareMotor;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _HardwareMotor
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_hardwaremotortype;
+ HardwareMotorType hardwaremotortype;
+ protobuf_c_boolean has_minfrequency;
+ int32_t minfrequency;
+ protobuf_c_boolean has_maxfrequency;
+ int32_t maxfrequency;
+ protobuf_c_boolean has_minmicrostep;
+ int32_t minmicrostep;
+ protobuf_c_boolean has_maxmicrostep;
+ int32_t maxmicrostep;
+ protobuf_c_boolean has_linearratio;
+ double linearratio;
+ protobuf_c_boolean has_medianposition;
+ int32_t medianposition;
+ protobuf_c_boolean has_correctiongain;
+ double correctiongain;
+ protobuf_c_boolean has_ratiotodryerspeed;
+ double ratiotodryerspeed;
+ protobuf_c_boolean has_kp;
+ double kp;
+ protobuf_c_boolean has_ki;
+ double ki;
+ protobuf_c_boolean has_kd;
+ double kd;
+ protobuf_c_boolean has_changeslope;
+ double changeslope;
+ protobuf_c_boolean has_highlengthmicrosecond;
+ double highlengthmicrosecond;
+ protobuf_c_boolean has_speedmaster;
+ protobuf_c_boolean speedmaster;
+};
+#define HARDWARE_MOTOR__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&hardware_motor__descriptor) \
+ , 0, HARDWARE_MOTOR_TYPE__FeederMotor, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+
+
+/* HardwareMotor methods */
+void hardware_motor__init
+ (HardwareMotor *message);
+size_t hardware_motor__get_packed_size
+ (const HardwareMotor *message);
+size_t hardware_motor__pack
+ (const HardwareMotor *message,
+ uint8_t *out);
+size_t hardware_motor__pack_to_buffer
+ (const HardwareMotor *message,
+ ProtobufCBuffer *buffer);
+HardwareMotor *
+ hardware_motor__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void hardware_motor__free_unpacked
+ (HardwareMotor *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*HardwareMotor_Closure)
+ (const HardwareMotor *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor hardware_motor__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_HardwareMotor_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotorType.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotorType.pb-c.c
new file mode 100644
index 000000000..70f2b41fd
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotorType.pb-c.c
@@ -0,0 +1,41 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: HardwareMotorType.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "HardwareMotorType.pb-c.h"
+static const ProtobufCEnumValue hardware_motor_type__enum_values_by_number[4] =
+{
+ { "FeederMotor", "HARDWARE_MOTOR_TYPE__FeederMotor", 0 },
+ { "DryerMotor", "HARDWARE_MOTOR_TYPE__DryerMotor", 1 },
+ { "PoolerMotor", "HARDWARE_MOTOR_TYPE__PoolerMotor", 2 },
+ { "WinderMotor", "HARDWARE_MOTOR_TYPE__WinderMotor", 3 },
+};
+static const ProtobufCIntRange hardware_motor_type__value_ranges[] = {
+{0, 0},{0, 4}
+};
+static const ProtobufCEnumValueIndex hardware_motor_type__enum_values_by_name[4] =
+{
+ { "DryerMotor", 1 },
+ { "FeederMotor", 0 },
+ { "PoolerMotor", 2 },
+ { "WinderMotor", 3 },
+};
+const ProtobufCEnumDescriptor hardware_motor_type__descriptor =
+{
+ PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
+ "HardwareMotorType",
+ "HardwareMotorType",
+ "HardwareMotorType",
+ "",
+ 4,
+ hardware_motor_type__enum_values_by_number,
+ 4,
+ hardware_motor_type__enum_values_by_name,
+ 1,
+ hardware_motor_type__value_ranges,
+ NULL,NULL,NULL,NULL /* reserved[1234] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotorType.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotorType.pb-c.h
new file mode 100644
index 000000000..a72ba2d7c
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareMotorType.pb-c.h
@@ -0,0 +1,45 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: HardwareMotorType.proto */
+
+#ifndef PROTOBUF_C_HardwareMotorType_2eproto__INCLUDED
+#define PROTOBUF_C_HardwareMotorType_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+
+
+/* --- enums --- */
+
+typedef enum _HardwareMotorType {
+ HARDWARE_MOTOR_TYPE__FeederMotor = 0,
+ HARDWARE_MOTOR_TYPE__DryerMotor = 1,
+ HARDWARE_MOTOR_TYPE__PoolerMotor = 2,
+ HARDWARE_MOTOR_TYPE__WinderMotor = 3
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(HARDWARE_MOTOR_TYPE)
+} HardwareMotorType;
+
+/* --- messages --- */
+
+/* --- per-message closures --- */
+
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCEnumDescriptor hardware_motor_type__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_HardwareMotorType_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwarePidControl.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwarePidControl.pb-c.c
new file mode 100644
index 000000000..8eb96d16d
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwarePidControl.pb-c.c
@@ -0,0 +1,274 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: HardwarePidControl.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "HardwarePidControl.pb-c.h"
+void hardware_pid_control__init
+ (HardwarePidControl *message)
+{
+ static const HardwarePidControl init_value = HARDWARE_PID_CONTROL__INIT;
+ *message = init_value;
+}
+size_t hardware_pid_control__get_packed_size
+ (const HardwarePidControl *message)
+{
+ assert(message->base.descriptor == &hardware_pid_control__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t hardware_pid_control__pack
+ (const HardwarePidControl *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &hardware_pid_control__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t hardware_pid_control__pack_to_buffer
+ (const HardwarePidControl *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &hardware_pid_control__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+HardwarePidControl *
+ hardware_pid_control__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (HardwarePidControl *)
+ protobuf_c_message_unpack (&hardware_pid_control__descriptor,
+ allocator, len, data);
+}
+void hardware_pid_control__free_unpacked
+ (HardwarePidControl *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &hardware_pid_control__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor hardware_pid_control__field_descriptors[15] =
+{
+ {
+ "HardwarePidControlType",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(HardwarePidControl, has_hardwarepidcontroltype),
+ offsetof(HardwarePidControl, hardwarepidcontroltype),
+ &hardware_pid_control_type__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "OutputProportionalPowerLimit",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwarePidControl, has_outputproportionalpowerlimit),
+ offsetof(HardwarePidControl, outputproportionalpowerlimit),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "OutputProportionalBand",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwarePidControl, has_outputproportionalband),
+ offsetof(HardwarePidControl, outputproportionalband),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "IntegralTime",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwarePidControl, has_integraltime),
+ offsetof(HardwarePidControl, integraltime),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "DerivativeTime",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwarePidControl, has_derivativetime),
+ offsetof(HardwarePidControl, derivativetime),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "SensorCorrectionAdjustment",
+ 6,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwarePidControl, has_sensorcorrectionadjustment),
+ offsetof(HardwarePidControl, sensorcorrectionadjustment),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "SensorMinValue",
+ 7,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwarePidControl, has_sensorminvalue),
+ offsetof(HardwarePidControl, sensorminvalue),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "SensorMaxValue",
+ 8,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwarePidControl, has_sensormaxvalue),
+ offsetof(HardwarePidControl, sensormaxvalue),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "SetPointRampRateorSoftStartRamp",
+ 9,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwarePidControl, has_setpointramprateorsoftstartramp),
+ offsetof(HardwarePidControl, setpointramprateorsoftstartramp),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "SetPointControlOutputRate",
+ 10,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwarePidControl, has_setpointcontroloutputrate),
+ offsetof(HardwarePidControl, setpointcontroloutputrate),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "ControlOutputType",
+ 11,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwarePidControl, has_controloutputtype),
+ offsetof(HardwarePidControl, controloutputtype),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "SsrControlOutputType",
+ 12,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwarePidControl, has_ssrcontroloutputtype),
+ offsetof(HardwarePidControl, ssrcontroloutputtype),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "OutputOnOffHysteresisValue",
+ 13,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwarePidControl, has_outputonoffhysteresisvalue),
+ offsetof(HardwarePidControl, outputonoffhysteresisvalue),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "ProcessVariableSamplingRate",
+ 14,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwarePidControl, has_processvariablesamplingrate),
+ offsetof(HardwarePidControl, processvariablesamplingrate),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "PvInputFilterFactorMode",
+ 15,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwarePidControl, has_pvinputfilterfactormode),
+ offsetof(HardwarePidControl, pvinputfilterfactormode),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned hardware_pid_control__field_indices_by_name[] = {
+ 10, /* field[10] = ControlOutputType */
+ 4, /* field[4] = DerivativeTime */
+ 0, /* field[0] = HardwarePidControlType */
+ 3, /* field[3] = IntegralTime */
+ 12, /* field[12] = OutputOnOffHysteresisValue */
+ 2, /* field[2] = OutputProportionalBand */
+ 1, /* field[1] = OutputProportionalPowerLimit */
+ 13, /* field[13] = ProcessVariableSamplingRate */
+ 14, /* field[14] = PvInputFilterFactorMode */
+ 5, /* field[5] = SensorCorrectionAdjustment */
+ 7, /* field[7] = SensorMaxValue */
+ 6, /* field[6] = SensorMinValue */
+ 9, /* field[9] = SetPointControlOutputRate */
+ 8, /* field[8] = SetPointRampRateorSoftStartRamp */
+ 11, /* field[11] = SsrControlOutputType */
+};
+static const ProtobufCIntRange hardware_pid_control__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 15 }
+};
+const ProtobufCMessageDescriptor hardware_pid_control__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "HardwarePidControl",
+ "HardwarePidControl",
+ "HardwarePidControl",
+ "",
+ sizeof(HardwarePidControl),
+ 15,
+ hardware_pid_control__field_descriptors,
+ hardware_pid_control__field_indices_by_name,
+ 1, hardware_pid_control__number_ranges,
+ (ProtobufCMessageInit) hardware_pid_control__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwarePidControl.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwarePidControl.pb-c.h
new file mode 100644
index 000000000..2a316b5ab
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwarePidControl.pb-c.h
@@ -0,0 +1,101 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: HardwarePidControl.proto */
+
+#ifndef PROTOBUF_C_HardwarePidControl_2eproto__INCLUDED
+#define PROTOBUF_C_HardwarePidControl_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "HardwarePidControlType.pb-c.h"
+
+typedef struct _HardwarePidControl HardwarePidControl;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _HardwarePidControl
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_hardwarepidcontroltype;
+ HardwarePidControlType hardwarepidcontroltype;
+ protobuf_c_boolean has_outputproportionalpowerlimit;
+ int32_t outputproportionalpowerlimit;
+ protobuf_c_boolean has_outputproportionalband;
+ int32_t outputproportionalband;
+ protobuf_c_boolean has_integraltime;
+ int32_t integraltime;
+ protobuf_c_boolean has_derivativetime;
+ int32_t derivativetime;
+ protobuf_c_boolean has_sensorcorrectionadjustment;
+ int32_t sensorcorrectionadjustment;
+ protobuf_c_boolean has_sensorminvalue;
+ int32_t sensorminvalue;
+ protobuf_c_boolean has_sensormaxvalue;
+ int32_t sensormaxvalue;
+ protobuf_c_boolean has_setpointramprateorsoftstartramp;
+ int32_t setpointramprateorsoftstartramp;
+ protobuf_c_boolean has_setpointcontroloutputrate;
+ int32_t setpointcontroloutputrate;
+ protobuf_c_boolean has_controloutputtype;
+ int32_t controloutputtype;
+ protobuf_c_boolean has_ssrcontroloutputtype;
+ int32_t ssrcontroloutputtype;
+ protobuf_c_boolean has_outputonoffhysteresisvalue;
+ int32_t outputonoffhysteresisvalue;
+ protobuf_c_boolean has_processvariablesamplingrate;
+ int32_t processvariablesamplingrate;
+ protobuf_c_boolean has_pvinputfilterfactormode;
+ int32_t pvinputfilterfactormode;
+};
+#define HARDWARE_PID_CONTROL__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&hardware_pid_control__descriptor) \
+ , 0, HARDWARE_PID_CONTROL_TYPE__DryerHeater1000w, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+
+
+/* HardwarePidControl methods */
+void hardware_pid_control__init
+ (HardwarePidControl *message);
+size_t hardware_pid_control__get_packed_size
+ (const HardwarePidControl *message);
+size_t hardware_pid_control__pack
+ (const HardwarePidControl *message,
+ uint8_t *out);
+size_t hardware_pid_control__pack_to_buffer
+ (const HardwarePidControl *message,
+ ProtobufCBuffer *buffer);
+HardwarePidControl *
+ hardware_pid_control__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void hardware_pid_control__free_unpacked
+ (HardwarePidControl *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*HardwarePidControl_Closure)
+ (const HardwarePidControl *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor hardware_pid_control__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_HardwarePidControl_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwarePidControlType.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwarePidControlType.pb-c.c
new file mode 100644
index 000000000..a64913666
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwarePidControlType.pb-c.c
@@ -0,0 +1,61 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: HardwarePidControlType.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "HardwarePidControlType.pb-c.h"
+static const ProtobufCEnumValue hardware_pid_control_type__enum_values_by_number[14] =
+{
+ { "DryerHeater1000w", "HARDWARE_PID_CONTROL_TYPE__DryerHeater1000w", 0 },
+ { "DryerHeater200w1", "HARDWARE_PID_CONTROL_TYPE__DryerHeater200w1", 1 },
+ { "DryerHeater200w2", "HARDWARE_PID_CONTROL_TYPE__DryerHeater200w2", 2 },
+ { "HeadHeaterZ1", "HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ1", 3 },
+ { "HeadHeaterZ2", "HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ2", 4 },
+ { "HeadHeaterZ3", "HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ3", 5 },
+ { "HeadHeaterZ4", "HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ4", 6 },
+ { "MixerHeater", "HARDWARE_PID_CONTROL_TYPE__MixerHeater", 7 },
+ { "WasteControl", "HARDWARE_PID_CONTROL_TYPE__WasteControl", 8 },
+ { "MotorDryer", "HARDWARE_PID_CONTROL_TYPE__MotorDryer", 9 },
+ { "MotorFeeder", "HARDWARE_PID_CONTROL_TYPE__MotorFeeder", 10 },
+ { "MotorPooler", "HARDWARE_PID_CONTROL_TYPE__MotorPooler", 11 },
+ { "MotorWinder", "HARDWARE_PID_CONTROL_TYPE__MotorWinder", 12 },
+ { "DryerHeater400", "HARDWARE_PID_CONTROL_TYPE__DryerHeater400", 13 },
+};
+static const ProtobufCIntRange hardware_pid_control_type__value_ranges[] = {
+{0, 0},{0, 14}
+};
+static const ProtobufCEnumValueIndex hardware_pid_control_type__enum_values_by_name[14] =
+{
+ { "DryerHeater1000w", 0 },
+ { "DryerHeater200w1", 1 },
+ { "DryerHeater200w2", 2 },
+ { "DryerHeater400", 13 },
+ { "HeadHeaterZ1", 3 },
+ { "HeadHeaterZ2", 4 },
+ { "HeadHeaterZ3", 5 },
+ { "HeadHeaterZ4", 6 },
+ { "MixerHeater", 7 },
+ { "MotorDryer", 9 },
+ { "MotorFeeder", 10 },
+ { "MotorPooler", 11 },
+ { "MotorWinder", 12 },
+ { "WasteControl", 8 },
+};
+const ProtobufCEnumDescriptor hardware_pid_control_type__descriptor =
+{
+ PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
+ "HardwarePidControlType",
+ "HardwarePidControlType",
+ "HardwarePidControlType",
+ "",
+ 14,
+ hardware_pid_control_type__enum_values_by_number,
+ 14,
+ hardware_pid_control_type__enum_values_by_name,
+ 1,
+ hardware_pid_control_type__value_ranges,
+ NULL,NULL,NULL,NULL /* reserved[1234] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwarePidControlType.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwarePidControlType.pb-c.h
new file mode 100644
index 000000000..8bcea3bd0
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwarePidControlType.pb-c.h
@@ -0,0 +1,55 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: HardwarePidControlType.proto */
+
+#ifndef PROTOBUF_C_HardwarePidControlType_2eproto__INCLUDED
+#define PROTOBUF_C_HardwarePidControlType_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+
+
+/* --- enums --- */
+
+typedef enum _HardwarePidControlType {
+ HARDWARE_PID_CONTROL_TYPE__DryerHeater1000w = 0,
+ HARDWARE_PID_CONTROL_TYPE__DryerHeater200w1 = 1,
+ HARDWARE_PID_CONTROL_TYPE__DryerHeater200w2 = 2,
+ HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ1 = 3,
+ HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ2 = 4,
+ HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ3 = 5,
+ HARDWARE_PID_CONTROL_TYPE__HeadHeaterZ4 = 6,
+ HARDWARE_PID_CONTROL_TYPE__MixerHeater = 7,
+ HARDWARE_PID_CONTROL_TYPE__WasteControl = 8,
+ HARDWARE_PID_CONTROL_TYPE__MotorDryer = 9,
+ HARDWARE_PID_CONTROL_TYPE__MotorFeeder = 10,
+ HARDWARE_PID_CONTROL_TYPE__MotorPooler = 11,
+ HARDWARE_PID_CONTROL_TYPE__MotorWinder = 12,
+ HARDWARE_PID_CONTROL_TYPE__DryerHeater400 = 13
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(HARDWARE_PID_CONTROL_TYPE)
+} HardwarePidControlType;
+
+/* --- messages --- */
+
+/* --- per-message closures --- */
+
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCEnumDescriptor hardware_pid_control_type__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_HardwarePidControlType_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareWinder.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareWinder.pb-c.c
new file mode 100644
index 000000000..2ed95d9a5
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareWinder.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: HardwareWinder.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "HardwareWinder.pb-c.h"
+void hardware_winder__init
+ (HardwareWinder *message)
+{
+ static const HardwareWinder init_value = HARDWARE_WINDER__INIT;
+ *message = init_value;
+}
+size_t hardware_winder__get_packed_size
+ (const HardwareWinder *message)
+{
+ assert(message->base.descriptor == &hardware_winder__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t hardware_winder__pack
+ (const HardwareWinder *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &hardware_winder__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t hardware_winder__pack_to_buffer
+ (const HardwareWinder *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &hardware_winder__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+HardwareWinder *
+ hardware_winder__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (HardwareWinder *)
+ protobuf_c_message_unpack (&hardware_winder__descriptor,
+ allocator, len, data);
+}
+void hardware_winder__free_unpacked
+ (HardwareWinder *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &hardware_winder__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor hardware_winder__field_descriptors[2] =
+{
+ {
+ "HardwareWinderType",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(HardwareWinder, has_hardwarewindertype),
+ offsetof(HardwareWinder, hardwarewindertype),
+ &hardware_winder_type__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "MillimeterPerRotation",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(HardwareWinder, has_millimeterperrotation),
+ offsetof(HardwareWinder, millimeterperrotation),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned hardware_winder__field_indices_by_name[] = {
+ 0, /* field[0] = HardwareWinderType */
+ 1, /* field[1] = MillimeterPerRotation */
+};
+static const ProtobufCIntRange hardware_winder__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor hardware_winder__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "HardwareWinder",
+ "HardwareWinder",
+ "HardwareWinder",
+ "",
+ sizeof(HardwareWinder),
+ 2,
+ hardware_winder__field_descriptors,
+ hardware_winder__field_indices_by_name,
+ 1, hardware_winder__number_ranges,
+ (ProtobufCMessageInit) hardware_winder__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareWinder.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareWinder.pb-c.h
new file mode 100644
index 000000000..1595e4313
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareWinder.pb-c.h
@@ -0,0 +1,75 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: HardwareWinder.proto */
+
+#ifndef PROTOBUF_C_HardwareWinder_2eproto__INCLUDED
+#define PROTOBUF_C_HardwareWinder_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "HardwareWinderType.pb-c.h"
+
+typedef struct _HardwareWinder HardwareWinder;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _HardwareWinder
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_hardwarewindertype;
+ HardwareWinderType hardwarewindertype;
+ protobuf_c_boolean has_millimeterperrotation;
+ int32_t millimeterperrotation;
+};
+#define HARDWARE_WINDER__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&hardware_winder__descriptor) \
+ , 0, HARDWARE_WINDER_TYPE__InternalWinder, 0, 0 }
+
+
+/* HardwareWinder methods */
+void hardware_winder__init
+ (HardwareWinder *message);
+size_t hardware_winder__get_packed_size
+ (const HardwareWinder *message);
+size_t hardware_winder__pack
+ (const HardwareWinder *message,
+ uint8_t *out);
+size_t hardware_winder__pack_to_buffer
+ (const HardwareWinder *message,
+ ProtobufCBuffer *buffer);
+HardwareWinder *
+ hardware_winder__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void hardware_winder__free_unpacked
+ (HardwareWinder *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*HardwareWinder_Closure)
+ (const HardwareWinder *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor hardware_winder__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_HardwareWinder_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareWinderType.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareWinderType.pb-c.c
new file mode 100644
index 000000000..ed168e14d
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareWinderType.pb-c.c
@@ -0,0 +1,35 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: HardwareWinderType.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "HardwareWinderType.pb-c.h"
+static const ProtobufCEnumValue hardware_winder_type__enum_values_by_number[1] =
+{
+ { "InternalWinder", "HARDWARE_WINDER_TYPE__InternalWinder", 0 },
+};
+static const ProtobufCIntRange hardware_winder_type__value_ranges[] = {
+{0, 0},{0, 1}
+};
+static const ProtobufCEnumValueIndex hardware_winder_type__enum_values_by_name[1] =
+{
+ { "InternalWinder", 0 },
+};
+const ProtobufCEnumDescriptor hardware_winder_type__descriptor =
+{
+ PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
+ "HardwareWinderType",
+ "HardwareWinderType",
+ "HardwareWinderType",
+ "",
+ 1,
+ hardware_winder_type__enum_values_by_number,
+ 1,
+ hardware_winder_type__enum_values_by_name,
+ 1,
+ hardware_winder_type__value_ranges,
+ NULL,NULL,NULL,NULL /* reserved[1234] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareWinderType.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareWinderType.pb-c.h
new file mode 100644
index 000000000..952c9ea12
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/HardwareWinderType.pb-c.h
@@ -0,0 +1,42 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: HardwareWinderType.proto */
+
+#ifndef PROTOBUF_C_HardwareWinderType_2eproto__INCLUDED
+#define PROTOBUF_C_HardwareWinderType_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+
+
+/* --- enums --- */
+
+typedef enum _HardwareWinderType {
+ HARDWARE_WINDER_TYPE__InternalWinder = 0
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(HARDWARE_WINDER_TYPE)
+} HardwareWinderType;
+
+/* --- messages --- */
+
+/* --- per-message closures --- */
+
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCEnumDescriptor hardware_winder_type__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_HardwareWinderType_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/UploadHardwareConfigurationRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/UploadHardwareConfigurationRequest.pb-c.c
new file mode 100644
index 000000000..160c02c0b
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/UploadHardwareConfigurationRequest.pb-c.c
@@ -0,0 +1,92 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: UploadHardwareConfigurationRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "UploadHardwareConfigurationRequest.pb-c.h"
+void upload_hardware_configuration_request__init
+ (UploadHardwareConfigurationRequest *message)
+{
+ static const UploadHardwareConfigurationRequest init_value = UPLOAD_HARDWARE_CONFIGURATION_REQUEST__INIT;
+ *message = init_value;
+}
+size_t upload_hardware_configuration_request__get_packed_size
+ (const UploadHardwareConfigurationRequest *message)
+{
+ assert(message->base.descriptor == &upload_hardware_configuration_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t upload_hardware_configuration_request__pack
+ (const UploadHardwareConfigurationRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &upload_hardware_configuration_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t upload_hardware_configuration_request__pack_to_buffer
+ (const UploadHardwareConfigurationRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &upload_hardware_configuration_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+UploadHardwareConfigurationRequest *
+ upload_hardware_configuration_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (UploadHardwareConfigurationRequest *)
+ protobuf_c_message_unpack (&upload_hardware_configuration_request__descriptor,
+ allocator, len, data);
+}
+void upload_hardware_configuration_request__free_unpacked
+ (UploadHardwareConfigurationRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &upload_hardware_configuration_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor upload_hardware_configuration_request__field_descriptors[1] =
+{
+ {
+ "HardwareConfiguration",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_MESSAGE,
+ 0, /* quantifier_offset */
+ offsetof(UploadHardwareConfigurationRequest, hardwareconfiguration),
+ &hardware_configuration__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned upload_hardware_configuration_request__field_indices_by_name[] = {
+ 0, /* field[0] = HardwareConfiguration */
+};
+static const ProtobufCIntRange upload_hardware_configuration_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 1 }
+};
+const ProtobufCMessageDescriptor upload_hardware_configuration_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "UploadHardwareConfigurationRequest",
+ "UploadHardwareConfigurationRequest",
+ "UploadHardwareConfigurationRequest",
+ "",
+ sizeof(UploadHardwareConfigurationRequest),
+ 1,
+ upload_hardware_configuration_request__field_descriptors,
+ upload_hardware_configuration_request__field_indices_by_name,
+ 1, upload_hardware_configuration_request__number_ranges,
+ (ProtobufCMessageInit) upload_hardware_configuration_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/UploadHardwareConfigurationRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/UploadHardwareConfigurationRequest.pb-c.h
new file mode 100644
index 000000000..6e715a378
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/UploadHardwareConfigurationRequest.pb-c.h
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: UploadHardwareConfigurationRequest.proto */
+
+#ifndef PROTOBUF_C_UploadHardwareConfigurationRequest_2eproto__INCLUDED
+#define PROTOBUF_C_UploadHardwareConfigurationRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "HardwareConfiguration.pb-c.h"
+
+typedef struct _UploadHardwareConfigurationRequest UploadHardwareConfigurationRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _UploadHardwareConfigurationRequest
+{
+ ProtobufCMessage base;
+ HardwareConfiguration *hardwareconfiguration;
+};
+#define UPLOAD_HARDWARE_CONFIGURATION_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&upload_hardware_configuration_request__descriptor) \
+ , NULL }
+
+
+/* UploadHardwareConfigurationRequest methods */
+void upload_hardware_configuration_request__init
+ (UploadHardwareConfigurationRequest *message);
+size_t upload_hardware_configuration_request__get_packed_size
+ (const UploadHardwareConfigurationRequest *message);
+size_t upload_hardware_configuration_request__pack
+ (const UploadHardwareConfigurationRequest *message,
+ uint8_t *out);
+size_t upload_hardware_configuration_request__pack_to_buffer
+ (const UploadHardwareConfigurationRequest *message,
+ ProtobufCBuffer *buffer);
+UploadHardwareConfigurationRequest *
+ upload_hardware_configuration_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void upload_hardware_configuration_request__free_unpacked
+ (UploadHardwareConfigurationRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*UploadHardwareConfigurationRequest_Closure)
+ (const UploadHardwareConfigurationRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor upload_hardware_configuration_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_UploadHardwareConfigurationRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/UploadHardwareConfigurationResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/UploadHardwareConfigurationResponse.pb-c.c
new file mode 100644
index 000000000..56aff3176
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/UploadHardwareConfigurationResponse.pb-c.c
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: UploadHardwareConfigurationResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "UploadHardwareConfigurationResponse.pb-c.h"
+void upload_hardware_configuration_response__init
+ (UploadHardwareConfigurationResponse *message)
+{
+ static const UploadHardwareConfigurationResponse init_value = UPLOAD_HARDWARE_CONFIGURATION_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t upload_hardware_configuration_response__get_packed_size
+ (const UploadHardwareConfigurationResponse *message)
+{
+ assert(message->base.descriptor == &upload_hardware_configuration_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t upload_hardware_configuration_response__pack
+ (const UploadHardwareConfigurationResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &upload_hardware_configuration_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t upload_hardware_configuration_response__pack_to_buffer
+ (const UploadHardwareConfigurationResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &upload_hardware_configuration_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+UploadHardwareConfigurationResponse *
+ upload_hardware_configuration_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (UploadHardwareConfigurationResponse *)
+ protobuf_c_message_unpack (&upload_hardware_configuration_response__descriptor,
+ allocator, len, data);
+}
+void upload_hardware_configuration_response__free_unpacked
+ (UploadHardwareConfigurationResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &upload_hardware_configuration_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+#define upload_hardware_configuration_response__field_descriptors NULL
+#define upload_hardware_configuration_response__field_indices_by_name NULL
+#define upload_hardware_configuration_response__number_ranges NULL
+const ProtobufCMessageDescriptor upload_hardware_configuration_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "UploadHardwareConfigurationResponse",
+ "UploadHardwareConfigurationResponse",
+ "UploadHardwareConfigurationResponse",
+ "",
+ sizeof(UploadHardwareConfigurationResponse),
+ 0,
+ upload_hardware_configuration_response__field_descriptors,
+ upload_hardware_configuration_response__field_indices_by_name,
+ 0, upload_hardware_configuration_response__number_ranges,
+ (ProtobufCMessageInit) upload_hardware_configuration_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/UploadHardwareConfigurationResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/UploadHardwareConfigurationResponse.pb-c.h
new file mode 100644
index 000000000..7f754f3bf
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Hardware/UploadHardwareConfigurationResponse.pb-c.h
@@ -0,0 +1,70 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: UploadHardwareConfigurationResponse.proto */
+
+#ifndef PROTOBUF_C_UploadHardwareConfigurationResponse_2eproto__INCLUDED
+#define PROTOBUF_C_UploadHardwareConfigurationResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _UploadHardwareConfigurationResponse UploadHardwareConfigurationResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _UploadHardwareConfigurationResponse
+{
+ ProtobufCMessage base;
+};
+#define UPLOAD_HARDWARE_CONFIGURATION_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&upload_hardware_configuration_response__descriptor) \
+ }
+
+
+/* UploadHardwareConfigurationResponse methods */
+void upload_hardware_configuration_response__init
+ (UploadHardwareConfigurationResponse *message);
+size_t upload_hardware_configuration_response__get_packed_size
+ (const UploadHardwareConfigurationResponse *message);
+size_t upload_hardware_configuration_response__pack
+ (const UploadHardwareConfigurationResponse *message,
+ uint8_t *out);
+size_t upload_hardware_configuration_response__pack_to_buffer
+ (const UploadHardwareConfigurationResponse *message,
+ ProtobufCBuffer *buffer);
+UploadHardwareConfigurationResponse *
+ upload_hardware_configuration_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void upload_hardware_configuration_response__free_unpacked
+ (UploadHardwareConfigurationResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*UploadHardwareConfigurationResponse_Closure)
+ (const UploadHardwareConfigurationResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor upload_hardware_configuration_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_UploadHardwareConfigurationResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/AbortJobRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/AbortJobRequest.pb-c.c
new file mode 100644
index 000000000..a2b2826c0
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/AbortJobRequest.pb-c.c
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: AbortJobRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "AbortJobRequest.pb-c.h"
+void abort_job_request__init
+ (AbortJobRequest *message)
+{
+ static const AbortJobRequest init_value = ABORT_JOB_REQUEST__INIT;
+ *message = init_value;
+}
+size_t abort_job_request__get_packed_size
+ (const AbortJobRequest *message)
+{
+ assert(message->base.descriptor == &abort_job_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t abort_job_request__pack
+ (const AbortJobRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &abort_job_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t abort_job_request__pack_to_buffer
+ (const AbortJobRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &abort_job_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+AbortJobRequest *
+ abort_job_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (AbortJobRequest *)
+ protobuf_c_message_unpack (&abort_job_request__descriptor,
+ allocator, len, data);
+}
+void abort_job_request__free_unpacked
+ (AbortJobRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &abort_job_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+#define abort_job_request__field_descriptors NULL
+#define abort_job_request__field_indices_by_name NULL
+#define abort_job_request__number_ranges NULL
+const ProtobufCMessageDescriptor abort_job_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "AbortJobRequest",
+ "AbortJobRequest",
+ "AbortJobRequest",
+ "",
+ sizeof(AbortJobRequest),
+ 0,
+ abort_job_request__field_descriptors,
+ abort_job_request__field_indices_by_name,
+ 0, abort_job_request__number_ranges,
+ (ProtobufCMessageInit) abort_job_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/AbortJobRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/AbortJobRequest.pb-c.h
new file mode 100644
index 000000000..1635e0458
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/AbortJobRequest.pb-c.h
@@ -0,0 +1,70 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: AbortJobRequest.proto */
+
+#ifndef PROTOBUF_C_AbortJobRequest_2eproto__INCLUDED
+#define PROTOBUF_C_AbortJobRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _AbortJobRequest AbortJobRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _AbortJobRequest
+{
+ ProtobufCMessage base;
+};
+#define ABORT_JOB_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&abort_job_request__descriptor) \
+ }
+
+
+/* AbortJobRequest methods */
+void abort_job_request__init
+ (AbortJobRequest *message);
+size_t abort_job_request__get_packed_size
+ (const AbortJobRequest *message);
+size_t abort_job_request__pack
+ (const AbortJobRequest *message,
+ uint8_t *out);
+size_t abort_job_request__pack_to_buffer
+ (const AbortJobRequest *message,
+ ProtobufCBuffer *buffer);
+AbortJobRequest *
+ abort_job_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void abort_job_request__free_unpacked
+ (AbortJobRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*AbortJobRequest_Closure)
+ (const AbortJobRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor abort_job_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_AbortJobRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/AbortJobResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/AbortJobResponse.pb-c.c
new file mode 100644
index 000000000..7a6f4e341
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/AbortJobResponse.pb-c.c
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: AbortJobResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "AbortJobResponse.pb-c.h"
+void abort_job_response__init
+ (AbortJobResponse *message)
+{
+ static const AbortJobResponse init_value = ABORT_JOB_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t abort_job_response__get_packed_size
+ (const AbortJobResponse *message)
+{
+ assert(message->base.descriptor == &abort_job_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t abort_job_response__pack
+ (const AbortJobResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &abort_job_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t abort_job_response__pack_to_buffer
+ (const AbortJobResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &abort_job_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+AbortJobResponse *
+ abort_job_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (AbortJobResponse *)
+ protobuf_c_message_unpack (&abort_job_response__descriptor,
+ allocator, len, data);
+}
+void abort_job_response__free_unpacked
+ (AbortJobResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &abort_job_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+#define abort_job_response__field_descriptors NULL
+#define abort_job_response__field_indices_by_name NULL
+#define abort_job_response__number_ranges NULL
+const ProtobufCMessageDescriptor abort_job_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "AbortJobResponse",
+ "AbortJobResponse",
+ "AbortJobResponse",
+ "",
+ sizeof(AbortJobResponse),
+ 0,
+ abort_job_response__field_descriptors,
+ abort_job_response__field_indices_by_name,
+ 0, abort_job_response__number_ranges,
+ (ProtobufCMessageInit) abort_job_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/AbortJobResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/AbortJobResponse.pb-c.h
new file mode 100644
index 000000000..66c887250
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/AbortJobResponse.pb-c.h
@@ -0,0 +1,70 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: AbortJobResponse.proto */
+
+#ifndef PROTOBUF_C_AbortJobResponse_2eproto__INCLUDED
+#define PROTOBUF_C_AbortJobResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _AbortJobResponse AbortJobResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _AbortJobResponse
+{
+ ProtobufCMessage base;
+};
+#define ABORT_JOB_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&abort_job_response__descriptor) \
+ }
+
+
+/* AbortJobResponse methods */
+void abort_job_response__init
+ (AbortJobResponse *message);
+size_t abort_job_response__get_packed_size
+ (const AbortJobResponse *message);
+size_t abort_job_response__pack
+ (const AbortJobResponse *message,
+ uint8_t *out);
+size_t abort_job_response__pack_to_buffer
+ (const AbortJobResponse *message,
+ ProtobufCBuffer *buffer);
+AbortJobResponse *
+ abort_job_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void abort_job_response__free_unpacked
+ (AbortJobResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*AbortJobResponse_Closure)
+ (const AbortJobResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor abort_job_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_AbortJobResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/DispenserLiquidType.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/DispenserLiquidType.pb-c.c
new file mode 100644
index 000000000..15fe539f2
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/DispenserLiquidType.pb-c.c
@@ -0,0 +1,47 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DispenserLiquidType.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "DispenserLiquidType.pb-c.h"
+static const ProtobufCEnumValue dispenser_liquid_type__enum_values_by_number[7] =
+{
+ { "Cyan", "DISPENSER_LIQUID_TYPE__Cyan", 0 },
+ { "Magenta", "DISPENSER_LIQUID_TYPE__Magenta", 1 },
+ { "Yellow", "DISPENSER_LIQUID_TYPE__Yellow", 2 },
+ { "Black", "DISPENSER_LIQUID_TYPE__Black", 3 },
+ { "TransparentInk", "DISPENSER_LIQUID_TYPE__TransparentInk", 4 },
+ { "Lubricant", "DISPENSER_LIQUID_TYPE__Lubricant", 5 },
+ { "Red", "DISPENSER_LIQUID_TYPE__Red", 7 },
+};
+static const ProtobufCIntRange dispenser_liquid_type__value_ranges[] = {
+{0, 0},{7, 6},{0, 7}
+};
+static const ProtobufCEnumValueIndex dispenser_liquid_type__enum_values_by_name[7] =
+{
+ { "Black", 3 },
+ { "Cyan", 0 },
+ { "Lubricant", 5 },
+ { "Magenta", 1 },
+ { "Red", 6 },
+ { "TransparentInk", 4 },
+ { "Yellow", 2 },
+};
+const ProtobufCEnumDescriptor dispenser_liquid_type__descriptor =
+{
+ PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
+ "DispenserLiquidType",
+ "DispenserLiquidType",
+ "DispenserLiquidType",
+ "",
+ 7,
+ dispenser_liquid_type__enum_values_by_number,
+ 7,
+ dispenser_liquid_type__enum_values_by_name,
+ 2,
+ dispenser_liquid_type__value_ranges,
+ NULL,NULL,NULL,NULL /* reserved[1234] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/DispenserLiquidType.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/DispenserLiquidType.pb-c.h
new file mode 100644
index 000000000..a6ae3e867
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/DispenserLiquidType.pb-c.h
@@ -0,0 +1,48 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DispenserLiquidType.proto */
+
+#ifndef PROTOBUF_C_DispenserLiquidType_2eproto__INCLUDED
+#define PROTOBUF_C_DispenserLiquidType_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+
+
+/* --- enums --- */
+
+typedef enum _DispenserLiquidType {
+ DISPENSER_LIQUID_TYPE__Cyan = 0,
+ DISPENSER_LIQUID_TYPE__Magenta = 1,
+ DISPENSER_LIQUID_TYPE__Yellow = 2,
+ DISPENSER_LIQUID_TYPE__Black = 3,
+ DISPENSER_LIQUID_TYPE__TransparentInk = 4,
+ DISPENSER_LIQUID_TYPE__Lubricant = 5,
+ DISPENSER_LIQUID_TYPE__Red = 7
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(DISPENSER_LIQUID_TYPE)
+} DispenserLiquidType;
+
+/* --- messages --- */
+
+/* --- per-message closures --- */
+
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCEnumDescriptor dispenser_liquid_type__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_DispenserLiquidType_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/DispenserStepDivision.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/DispenserStepDivision.pb-c.c
new file mode 100644
index 000000000..38da8a46b
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/DispenserStepDivision.pb-c.c
@@ -0,0 +1,51 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DispenserStepDivision.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "DispenserStepDivision.pb-c.h"
+static const ProtobufCEnumValue dispenser_step_division__enum_values_by_number[9] =
+{
+ { "Auto", "DISPENSER_STEP_DIVISION__Auto", 0 },
+ { "D1", "DISPENSER_STEP_DIVISION__D1", 1 },
+ { "D2", "DISPENSER_STEP_DIVISION__D2", 2 },
+ { "D4", "DISPENSER_STEP_DIVISION__D4", 4 },
+ { "D8", "DISPENSER_STEP_DIVISION__D8", 8 },
+ { "D16", "DISPENSER_STEP_DIVISION__D16", 16 },
+ { "D32", "DISPENSER_STEP_DIVISION__D32", 32 },
+ { "D64", "DISPENSER_STEP_DIVISION__D64", 64 },
+ { "D128", "DISPENSER_STEP_DIVISION__D128", 128 },
+};
+static const ProtobufCIntRange dispenser_step_division__value_ranges[] = {
+{0, 0},{4, 3},{8, 4},{16, 5},{32, 6},{64, 7},{128, 8},{0, 9}
+};
+static const ProtobufCEnumValueIndex dispenser_step_division__enum_values_by_name[9] =
+{
+ { "Auto", 0 },
+ { "D1", 1 },
+ { "D128", 8 },
+ { "D16", 5 },
+ { "D2", 2 },
+ { "D32", 6 },
+ { "D4", 3 },
+ { "D64", 7 },
+ { "D8", 4 },
+};
+const ProtobufCEnumDescriptor dispenser_step_division__descriptor =
+{
+ PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
+ "DispenserStepDivision",
+ "DispenserStepDivision",
+ "DispenserStepDivision",
+ "",
+ 9,
+ dispenser_step_division__enum_values_by_number,
+ 9,
+ dispenser_step_division__enum_values_by_name,
+ 7,
+ dispenser_step_division__value_ranges,
+ NULL,NULL,NULL,NULL /* reserved[1234] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/DispenserStepDivision.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/DispenserStepDivision.pb-c.h
new file mode 100644
index 000000000..42e340daa
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/DispenserStepDivision.pb-c.h
@@ -0,0 +1,50 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: DispenserStepDivision.proto */
+
+#ifndef PROTOBUF_C_DispenserStepDivision_2eproto__INCLUDED
+#define PROTOBUF_C_DispenserStepDivision_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+
+
+/* --- enums --- */
+
+typedef enum _DispenserStepDivision {
+ DISPENSER_STEP_DIVISION__Auto = 0,
+ DISPENSER_STEP_DIVISION__D1 = 1,
+ DISPENSER_STEP_DIVISION__D2 = 2,
+ DISPENSER_STEP_DIVISION__D4 = 4,
+ DISPENSER_STEP_DIVISION__D8 = 8,
+ DISPENSER_STEP_DIVISION__D16 = 16,
+ DISPENSER_STEP_DIVISION__D32 = 32,
+ DISPENSER_STEP_DIVISION__D64 = 64,
+ DISPENSER_STEP_DIVISION__D128 = 128
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(DISPENSER_STEP_DIVISION)
+} DispenserStepDivision;
+
+/* --- messages --- */
+
+/* --- per-message closures --- */
+
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCEnumDescriptor dispenser_step_division__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_DispenserStepDivision_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobBrushStop.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobBrushStop.pb-c.c
new file mode 100644
index 000000000..45e10394b
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobBrushStop.pb-c.c
@@ -0,0 +1,131 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobBrushStop.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "JobBrushStop.pb-c.h"
+void job_brush_stop__init
+ (JobBrushStop *message)
+{
+ static const JobBrushStop init_value = JOB_BRUSH_STOP__INIT;
+ *message = init_value;
+}
+size_t job_brush_stop__get_packed_size
+ (const JobBrushStop *message)
+{
+ assert(message->base.descriptor == &job_brush_stop__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t job_brush_stop__pack
+ (const JobBrushStop *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &job_brush_stop__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t job_brush_stop__pack_to_buffer
+ (const JobBrushStop *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &job_brush_stop__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+JobBrushStop *
+ job_brush_stop__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (JobBrushStop *)
+ protobuf_c_message_unpack (&job_brush_stop__descriptor,
+ allocator, len, data);
+}
+void job_brush_stop__free_unpacked
+ (JobBrushStop *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &job_brush_stop__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor job_brush_stop__field_descriptors[4] =
+{
+ {
+ "Index",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(JobBrushStop, has_index),
+ offsetof(JobBrushStop, index),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "OffsetPercent",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(JobBrushStop, has_offsetpercent),
+ offsetof(JobBrushStop, offsetpercent),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "OffsetMeters",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(JobBrushStop, has_offsetmeters),
+ offsetof(JobBrushStop, offsetmeters),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Dispensers",
+ 4,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_MESSAGE,
+ offsetof(JobBrushStop, n_dispensers),
+ offsetof(JobBrushStop, dispensers),
+ &job_dispenser__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned job_brush_stop__field_indices_by_name[] = {
+ 3, /* field[3] = Dispensers */
+ 0, /* field[0] = Index */
+ 2, /* field[2] = OffsetMeters */
+ 1, /* field[1] = OffsetPercent */
+};
+static const ProtobufCIntRange job_brush_stop__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 4 }
+};
+const ProtobufCMessageDescriptor job_brush_stop__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "JobBrushStop",
+ "JobBrushStop",
+ "JobBrushStop",
+ "",
+ sizeof(JobBrushStop),
+ 4,
+ job_brush_stop__field_descriptors,
+ job_brush_stop__field_indices_by_name,
+ 1, job_brush_stop__number_ranges,
+ (ProtobufCMessageInit) job_brush_stop__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobBrushStop.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobBrushStop.pb-c.h
new file mode 100644
index 000000000..6e887a448
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobBrushStop.pb-c.h
@@ -0,0 +1,79 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobBrushStop.proto */
+
+#ifndef PROTOBUF_C_JobBrushStop_2eproto__INCLUDED
+#define PROTOBUF_C_JobBrushStop_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "JobDispenser.pb-c.h"
+
+typedef struct _JobBrushStop JobBrushStop;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _JobBrushStop
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_index;
+ int32_t index;
+ protobuf_c_boolean has_offsetpercent;
+ double offsetpercent;
+ protobuf_c_boolean has_offsetmeters;
+ double offsetmeters;
+ size_t n_dispensers;
+ JobDispenser **dispensers;
+};
+#define JOB_BRUSH_STOP__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&job_brush_stop__descriptor) \
+ , 0, 0, 0, 0, 0, 0, 0,NULL }
+
+
+/* JobBrushStop methods */
+void job_brush_stop__init
+ (JobBrushStop *message);
+size_t job_brush_stop__get_packed_size
+ (const JobBrushStop *message);
+size_t job_brush_stop__pack
+ (const JobBrushStop *message,
+ uint8_t *out);
+size_t job_brush_stop__pack_to_buffer
+ (const JobBrushStop *message,
+ ProtobufCBuffer *buffer);
+JobBrushStop *
+ job_brush_stop__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void job_brush_stop__free_unpacked
+ (JobBrushStop *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*JobBrushStop_Closure)
+ (const JobBrushStop *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor job_brush_stop__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_JobBrushStop_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobDispenser.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobDispenser.pb-c.c
new file mode 100644
index 000000000..f868d121e
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobDispenser.pb-c.c
@@ -0,0 +1,196 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobDispenser.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "JobDispenser.pb-c.h"
+void job_dispenser__init
+ (JobDispenser *message)
+{
+ static const JobDispenser init_value = JOB_DISPENSER__INIT;
+ *message = init_value;
+}
+size_t job_dispenser__get_packed_size
+ (const JobDispenser *message)
+{
+ assert(message->base.descriptor == &job_dispenser__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t job_dispenser__pack
+ (const JobDispenser *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &job_dispenser__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t job_dispenser__pack_to_buffer
+ (const JobDispenser *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &job_dispenser__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+JobDispenser *
+ job_dispenser__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (JobDispenser *)
+ protobuf_c_message_unpack (&job_dispenser__descriptor,
+ allocator, len, data);
+}
+void job_dispenser__free_unpacked
+ (JobDispenser *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &job_dispenser__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor job_dispenser__field_descriptors[9] =
+{
+ {
+ "Index",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(JobDispenser, has_index),
+ offsetof(JobDispenser, index),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Volume",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(JobDispenser, has_volume),
+ offsetof(JobDispenser, volume),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "DispenserStepDivision",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(JobDispenser, has_dispenserstepdivision),
+ offsetof(JobDispenser, dispenserstepdivision),
+ &dispenser_step_division__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "NanolitterPerSecond",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(JobDispenser, has_nanolitterpersecond),
+ offsetof(JobDispenser, nanolitterpersecond),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "NanoliterPerCentimeter",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(JobDispenser, has_nanoliterpercentimeter),
+ offsetof(JobDispenser, nanoliterpercentimeter),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "PulsePerSecond",
+ 6,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(JobDispenser, has_pulsepersecond),
+ offsetof(JobDispenser, pulsepersecond),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "DispenserLiquidType",
+ 7,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(JobDispenser, has_dispenserliquidtype),
+ offsetof(JobDispenser, dispenserliquidtype),
+ &dispenser_liquid_type__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "LiquidMaxNanoliterPerCentimeter",
+ 8,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(JobDispenser, has_liquidmaxnanoliterpercentimeter),
+ offsetof(JobDispenser, liquidmaxnanoliterpercentimeter),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "NanoliterPerPulse",
+ 9,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(JobDispenser, has_nanoliterperpulse),
+ offsetof(JobDispenser, nanoliterperpulse),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned job_dispenser__field_indices_by_name[] = {
+ 6, /* field[6] = DispenserLiquidType */
+ 2, /* field[2] = DispenserStepDivision */
+ 0, /* field[0] = Index */
+ 7, /* field[7] = LiquidMaxNanoliterPerCentimeter */
+ 4, /* field[4] = NanoliterPerCentimeter */
+ 8, /* field[8] = NanoliterPerPulse */
+ 3, /* field[3] = NanolitterPerSecond */
+ 5, /* field[5] = PulsePerSecond */
+ 1, /* field[1] = Volume */
+};
+static const ProtobufCIntRange job_dispenser__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 9 }
+};
+const ProtobufCMessageDescriptor job_dispenser__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "JobDispenser",
+ "JobDispenser",
+ "JobDispenser",
+ "",
+ sizeof(JobDispenser),
+ 9,
+ job_dispenser__field_descriptors,
+ job_dispenser__field_indices_by_name,
+ 1, job_dispenser__number_ranges,
+ (ProtobufCMessageInit) job_dispenser__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobDispenser.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobDispenser.pb-c.h
new file mode 100644
index 000000000..2b21e265c
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobDispenser.pb-c.h
@@ -0,0 +1,90 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobDispenser.proto */
+
+#ifndef PROTOBUF_C_JobDispenser_2eproto__INCLUDED
+#define PROTOBUF_C_JobDispenser_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "DispenserStepDivision.pb-c.h"
+#include "DispenserLiquidType.pb-c.h"
+
+typedef struct _JobDispenser JobDispenser;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _JobDispenser
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_index;
+ int32_t index;
+ protobuf_c_boolean has_volume;
+ double volume;
+ protobuf_c_boolean has_dispenserstepdivision;
+ DispenserStepDivision dispenserstepdivision;
+ protobuf_c_boolean has_nanolitterpersecond;
+ double nanolitterpersecond;
+ protobuf_c_boolean has_nanoliterpercentimeter;
+ double nanoliterpercentimeter;
+ protobuf_c_boolean has_pulsepersecond;
+ double pulsepersecond;
+ protobuf_c_boolean has_dispenserliquidtype;
+ DispenserLiquidType dispenserliquidtype;
+ protobuf_c_boolean has_liquidmaxnanoliterpercentimeter;
+ double liquidmaxnanoliterpercentimeter;
+ protobuf_c_boolean has_nanoliterperpulse;
+ double nanoliterperpulse;
+};
+#define JOB_DISPENSER__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&job_dispenser__descriptor) \
+ , 0, 0, 0, 0, 0, DISPENSER_STEP_DIVISION__Auto, 0, 0, 0, 0, 0, 0, 0, DISPENSER_LIQUID_TYPE__Cyan, 0, 0, 0, 0 }
+
+
+/* JobDispenser methods */
+void job_dispenser__init
+ (JobDispenser *message);
+size_t job_dispenser__get_packed_size
+ (const JobDispenser *message);
+size_t job_dispenser__pack
+ (const JobDispenser *message,
+ uint8_t *out);
+size_t job_dispenser__pack_to_buffer
+ (const JobDispenser *message,
+ ProtobufCBuffer *buffer);
+JobDispenser *
+ job_dispenser__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void job_dispenser__free_unpacked
+ (JobDispenser *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*JobDispenser_Closure)
+ (const JobDispenser *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor job_dispenser__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_JobDispenser_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobRequest.pb-c.c
new file mode 100644
index 000000000..d1e101dfd
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobRequest.pb-c.c
@@ -0,0 +1,92 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "JobRequest.pb-c.h"
+void job_request__init
+ (JobRequest *message)
+{
+ static const JobRequest init_value = JOB_REQUEST__INIT;
+ *message = init_value;
+}
+size_t job_request__get_packed_size
+ (const JobRequest *message)
+{
+ assert(message->base.descriptor == &job_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t job_request__pack
+ (const JobRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &job_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t job_request__pack_to_buffer
+ (const JobRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &job_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+JobRequest *
+ job_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (JobRequest *)
+ protobuf_c_message_unpack (&job_request__descriptor,
+ allocator, len, data);
+}
+void job_request__free_unpacked
+ (JobRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &job_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor job_request__field_descriptors[1] =
+{
+ {
+ "JobTicket",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_MESSAGE,
+ 0, /* quantifier_offset */
+ offsetof(JobRequest, jobticket),
+ &job_ticket__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned job_request__field_indices_by_name[] = {
+ 0, /* field[0] = JobTicket */
+};
+static const ProtobufCIntRange job_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 1 }
+};
+const ProtobufCMessageDescriptor job_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "JobRequest",
+ "JobRequest",
+ "JobRequest",
+ "",
+ sizeof(JobRequest),
+ 1,
+ job_request__field_descriptors,
+ job_request__field_indices_by_name,
+ 1, job_request__number_ranges,
+ (ProtobufCMessageInit) job_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobRequest.pb-c.h
new file mode 100644
index 000000000..224db64af
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobRequest.pb-c.h
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobRequest.proto */
+
+#ifndef PROTOBUF_C_JobRequest_2eproto__INCLUDED
+#define PROTOBUF_C_JobRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "JobTicket.pb-c.h"
+
+typedef struct _JobRequest JobRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _JobRequest
+{
+ ProtobufCMessage base;
+ JobTicket *jobticket;
+};
+#define JOB_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&job_request__descriptor) \
+ , NULL }
+
+
+/* JobRequest methods */
+void job_request__init
+ (JobRequest *message);
+size_t job_request__get_packed_size
+ (const JobRequest *message);
+size_t job_request__pack
+ (const JobRequest *message,
+ uint8_t *out);
+size_t job_request__pack_to_buffer
+ (const JobRequest *message,
+ ProtobufCBuffer *buffer);
+JobRequest *
+ job_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void job_request__free_unpacked
+ (JobRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*JobRequest_Closure)
+ (const JobRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor job_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_JobRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobResponse.pb-c.c
new file mode 100644
index 000000000..692f2df66
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobResponse.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "JobResponse.pb-c.h"
+void job_response__init
+ (JobResponse *message)
+{
+ static const JobResponse init_value = JOB_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t job_response__get_packed_size
+ (const JobResponse *message)
+{
+ assert(message->base.descriptor == &job_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t job_response__pack
+ (const JobResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &job_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t job_response__pack_to_buffer
+ (const JobResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &job_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+JobResponse *
+ job_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (JobResponse *)
+ protobuf_c_message_unpack (&job_response__descriptor,
+ allocator, len, data);
+}
+void job_response__free_unpacked
+ (JobResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &job_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor job_response__field_descriptors[2] =
+{
+ {
+ "Status",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_MESSAGE,
+ 0, /* quantifier_offset */
+ offsetof(JobResponse, status),
+ &job_status__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Canceled",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(JobResponse, has_canceled),
+ offsetof(JobResponse, canceled),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned job_response__field_indices_by_name[] = {
+ 1, /* field[1] = Canceled */
+ 0, /* field[0] = Status */
+};
+static const ProtobufCIntRange job_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor job_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "JobResponse",
+ "JobResponse",
+ "JobResponse",
+ "",
+ sizeof(JobResponse),
+ 2,
+ job_response__field_descriptors,
+ job_response__field_indices_by_name,
+ 1, job_response__number_ranges,
+ (ProtobufCMessageInit) job_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobResponse.pb-c.h
new file mode 100644
index 000000000..56efcd106
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobResponse.pb-c.h
@@ -0,0 +1,74 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobResponse.proto */
+
+#ifndef PROTOBUF_C_JobResponse_2eproto__INCLUDED
+#define PROTOBUF_C_JobResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "JobStatus.pb-c.h"
+
+typedef struct _JobResponse JobResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _JobResponse
+{
+ ProtobufCMessage base;
+ JobStatus *status;
+ protobuf_c_boolean has_canceled;
+ protobuf_c_boolean canceled;
+};
+#define JOB_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&job_response__descriptor) \
+ , NULL, 0, 0 }
+
+
+/* JobResponse methods */
+void job_response__init
+ (JobResponse *message);
+size_t job_response__get_packed_size
+ (const JobResponse *message);
+size_t job_response__pack
+ (const JobResponse *message,
+ uint8_t *out);
+size_t job_response__pack_to_buffer
+ (const JobResponse *message,
+ ProtobufCBuffer *buffer);
+JobResponse *
+ job_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void job_response__free_unpacked
+ (JobResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*JobResponse_Closure)
+ (const JobResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor job_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_JobResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobSegment.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobSegment.pb-c.c
new file mode 100644
index 000000000..8b1710079
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobSegment.pb-c.c
@@ -0,0 +1,118 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobSegment.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "JobSegment.pb-c.h"
+void job_segment__init
+ (JobSegment *message)
+{
+ static const JobSegment init_value = JOB_SEGMENT__INIT;
+ *message = init_value;
+}
+size_t job_segment__get_packed_size
+ (const JobSegment *message)
+{
+ assert(message->base.descriptor == &job_segment__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t job_segment__pack
+ (const JobSegment *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &job_segment__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t job_segment__pack_to_buffer
+ (const JobSegment *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &job_segment__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+JobSegment *
+ job_segment__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (JobSegment *)
+ protobuf_c_message_unpack (&job_segment__descriptor,
+ allocator, len, data);
+}
+void job_segment__free_unpacked
+ (JobSegment *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &job_segment__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor job_segment__field_descriptors[3] =
+{
+ {
+ "Name",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(JobSegment, name),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Length",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(JobSegment, has_length),
+ offsetof(JobSegment, length),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "BrushStops",
+ 3,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_MESSAGE,
+ offsetof(JobSegment, n_brushstops),
+ offsetof(JobSegment, brushstops),
+ &job_brush_stop__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned job_segment__field_indices_by_name[] = {
+ 2, /* field[2] = BrushStops */
+ 1, /* field[1] = Length */
+ 0, /* field[0] = Name */
+};
+static const ProtobufCIntRange job_segment__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 3 }
+};
+const ProtobufCMessageDescriptor job_segment__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "JobSegment",
+ "JobSegment",
+ "JobSegment",
+ "",
+ sizeof(JobSegment),
+ 3,
+ job_segment__field_descriptors,
+ job_segment__field_indices_by_name,
+ 1, job_segment__number_ranges,
+ (ProtobufCMessageInit) job_segment__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobSegment.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobSegment.pb-c.h
new file mode 100644
index 000000000..2c077abaa
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobSegment.pb-c.h
@@ -0,0 +1,76 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobSegment.proto */
+
+#ifndef PROTOBUF_C_JobSegment_2eproto__INCLUDED
+#define PROTOBUF_C_JobSegment_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "JobBrushStop.pb-c.h"
+
+typedef struct _JobSegment JobSegment;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _JobSegment
+{
+ ProtobufCMessage base;
+ char *name;
+ protobuf_c_boolean has_length;
+ double length;
+ size_t n_brushstops;
+ JobBrushStop **brushstops;
+};
+#define JOB_SEGMENT__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&job_segment__descriptor) \
+ , NULL, 0, 0, 0,NULL }
+
+
+/* JobSegment methods */
+void job_segment__init
+ (JobSegment *message);
+size_t job_segment__get_packed_size
+ (const JobSegment *message);
+size_t job_segment__pack
+ (const JobSegment *message,
+ uint8_t *out);
+size_t job_segment__pack_to_buffer
+ (const JobSegment *message,
+ ProtobufCBuffer *buffer);
+JobSegment *
+ job_segment__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void job_segment__free_unpacked
+ (JobSegment *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*JobSegment_Closure)
+ (const JobSegment *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor job_segment__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_JobSegment_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobSpool.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobSpool.pb-c.c
new file mode 100644
index 000000000..329c9e701
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobSpool.pb-c.c
@@ -0,0 +1,170 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobSpool.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "JobSpool.pb-c.h"
+void job_spool__init
+ (JobSpool *message)
+{
+ static const JobSpool init_value = JOB_SPOOL__INIT;
+ *message = init_value;
+}
+size_t job_spool__get_packed_size
+ (const JobSpool *message)
+{
+ assert(message->base.descriptor == &job_spool__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t job_spool__pack
+ (const JobSpool *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &job_spool__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t job_spool__pack_to_buffer
+ (const JobSpool *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &job_spool__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+JobSpool *
+ job_spool__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (JobSpool *)
+ protobuf_c_message_unpack (&job_spool__descriptor,
+ allocator, len, data);
+}
+void job_spool__free_unpacked
+ (JobSpool *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &job_spool__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor job_spool__field_descriptors[7] =
+{
+ {
+ "JobSpoolType",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(JobSpool, has_jobspooltype),
+ offsetof(JobSpool, jobspooltype),
+ &job_spool_type__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Length",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(JobSpool, has_length),
+ offsetof(JobSpool, length),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Weight",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(JobSpool, has_weight),
+ offsetof(JobSpool, weight),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Diameter",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(JobSpool, has_diameter),
+ offsetof(JobSpool, diameter),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "StartOffsetPulses",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(JobSpool, has_startoffsetpulses),
+ offsetof(JobSpool, startoffsetpulses),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "BackingRate",
+ 6,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(JobSpool, has_backingrate),
+ offsetof(JobSpool, backingrate),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "SegmentOffsetPulses",
+ 7,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(JobSpool, has_segmentoffsetpulses),
+ offsetof(JobSpool, segmentoffsetpulses),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned job_spool__field_indices_by_name[] = {
+ 5, /* field[5] = BackingRate */
+ 3, /* field[3] = Diameter */
+ 0, /* field[0] = JobSpoolType */
+ 1, /* field[1] = Length */
+ 6, /* field[6] = SegmentOffsetPulses */
+ 4, /* field[4] = StartOffsetPulses */
+ 2, /* field[2] = Weight */
+};
+static const ProtobufCIntRange job_spool__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 7 }
+};
+const ProtobufCMessageDescriptor job_spool__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "JobSpool",
+ "JobSpool",
+ "JobSpool",
+ "",
+ sizeof(JobSpool),
+ 7,
+ job_spool__field_descriptors,
+ job_spool__field_indices_by_name,
+ 1, job_spool__number_ranges,
+ (ProtobufCMessageInit) job_spool__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobSpool.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobSpool.pb-c.h
new file mode 100644
index 000000000..38e9236ce
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobSpool.pb-c.h
@@ -0,0 +1,85 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobSpool.proto */
+
+#ifndef PROTOBUF_C_JobSpool_2eproto__INCLUDED
+#define PROTOBUF_C_JobSpool_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "JobSpoolType.pb-c.h"
+
+typedef struct _JobSpool JobSpool;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _JobSpool
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_jobspooltype;
+ JobSpoolType jobspooltype;
+ protobuf_c_boolean has_length;
+ double length;
+ protobuf_c_boolean has_weight;
+ double weight;
+ protobuf_c_boolean has_diameter;
+ double diameter;
+ protobuf_c_boolean has_startoffsetpulses;
+ int32_t startoffsetpulses;
+ protobuf_c_boolean has_backingrate;
+ int32_t backingrate;
+ protobuf_c_boolean has_segmentoffsetpulses;
+ int32_t segmentoffsetpulses;
+};
+#define JOB_SPOOL__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&job_spool__descriptor) \
+ , 0, JOB_SPOOL_TYPE__StandardSpool, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+
+
+/* JobSpool methods */
+void job_spool__init
+ (JobSpool *message);
+size_t job_spool__get_packed_size
+ (const JobSpool *message);
+size_t job_spool__pack
+ (const JobSpool *message,
+ uint8_t *out);
+size_t job_spool__pack_to_buffer
+ (const JobSpool *message,
+ ProtobufCBuffer *buffer);
+JobSpool *
+ job_spool__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void job_spool__free_unpacked
+ (JobSpool *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*JobSpool_Closure)
+ (const JobSpool *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor job_spool__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_JobSpool_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobSpoolType.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobSpoolType.pb-c.c
new file mode 100644
index 000000000..aa72dc2c9
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobSpoolType.pb-c.c
@@ -0,0 +1,35 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobSpoolType.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "JobSpoolType.pb-c.h"
+static const ProtobufCEnumValue job_spool_type__enum_values_by_number[1] =
+{
+ { "StandardSpool", "JOB_SPOOL_TYPE__StandardSpool", 0 },
+};
+static const ProtobufCIntRange job_spool_type__value_ranges[] = {
+{0, 0},{0, 1}
+};
+static const ProtobufCEnumValueIndex job_spool_type__enum_values_by_name[1] =
+{
+ { "StandardSpool", 0 },
+};
+const ProtobufCEnumDescriptor job_spool_type__descriptor =
+{
+ PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
+ "JobSpoolType",
+ "JobSpoolType",
+ "JobSpoolType",
+ "",
+ 1,
+ job_spool_type__enum_values_by_number,
+ 1,
+ job_spool_type__enum_values_by_name,
+ 1,
+ job_spool_type__value_ranges,
+ NULL,NULL,NULL,NULL /* reserved[1234] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobSpoolType.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobSpoolType.pb-c.h
new file mode 100644
index 000000000..2cfab4ae8
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobSpoolType.pb-c.h
@@ -0,0 +1,42 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobSpoolType.proto */
+
+#ifndef PROTOBUF_C_JobSpoolType_2eproto__INCLUDED
+#define PROTOBUF_C_JobSpoolType_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+
+
+/* --- enums --- */
+
+typedef enum _JobSpoolType {
+ JOB_SPOOL_TYPE__StandardSpool = 0
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(JOB_SPOOL_TYPE)
+} JobSpoolType;
+
+/* --- messages --- */
+
+/* --- per-message closures --- */
+
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCEnumDescriptor job_spool_type__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_JobSpoolType_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobStatus.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobStatus.pb-c.c
new file mode 100644
index 000000000..c7682cdb2
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobStatus.pb-c.c
@@ -0,0 +1,118 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobStatus.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "JobStatus.pb-c.h"
+void job_status__init
+ (JobStatus *message)
+{
+ static const JobStatus init_value = JOB_STATUS__INIT;
+ *message = init_value;
+}
+size_t job_status__get_packed_size
+ (const JobStatus *message)
+{
+ assert(message->base.descriptor == &job_status__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t job_status__pack
+ (const JobStatus *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &job_status__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t job_status__pack_to_buffer
+ (const JobStatus *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &job_status__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+JobStatus *
+ job_status__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (JobStatus *)
+ protobuf_c_message_unpack (&job_status__descriptor,
+ allocator, len, data);
+}
+void job_status__free_unpacked
+ (JobStatus *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &job_status__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor job_status__field_descriptors[3] =
+{
+ {
+ "Message",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(JobStatus, message),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Progress",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(JobStatus, has_progress),
+ offsetof(JobStatus, progress),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "CurrentSegmentIndex",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(JobStatus, has_currentsegmentindex),
+ offsetof(JobStatus, currentsegmentindex),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned job_status__field_indices_by_name[] = {
+ 2, /* field[2] = CurrentSegmentIndex */
+ 0, /* field[0] = Message */
+ 1, /* field[1] = Progress */
+};
+static const ProtobufCIntRange job_status__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 3 }
+};
+const ProtobufCMessageDescriptor job_status__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "JobStatus",
+ "JobStatus",
+ "JobStatus",
+ "",
+ sizeof(JobStatus),
+ 3,
+ job_status__field_descriptors,
+ job_status__field_indices_by_name,
+ 1, job_status__number_ranges,
+ (ProtobufCMessageInit) job_status__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobStatus.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobStatus.pb-c.h
new file mode 100644
index 000000000..abfb9d71f
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobStatus.pb-c.h
@@ -0,0 +1,75 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobStatus.proto */
+
+#ifndef PROTOBUF_C_JobStatus_2eproto__INCLUDED
+#define PROTOBUF_C_JobStatus_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _JobStatus JobStatus;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _JobStatus
+{
+ ProtobufCMessage base;
+ char *message;
+ protobuf_c_boolean has_progress;
+ double progress;
+ protobuf_c_boolean has_currentsegmentindex;
+ int32_t currentsegmentindex;
+};
+#define JOB_STATUS__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&job_status__descriptor) \
+ , NULL, 0, 0, 0, 0 }
+
+
+/* JobStatus methods */
+void job_status__init
+ (JobStatus *message);
+size_t job_status__get_packed_size
+ (const JobStatus *message);
+size_t job_status__pack
+ (const JobStatus *message,
+ uint8_t *out);
+size_t job_status__pack_to_buffer
+ (const JobStatus *message,
+ ProtobufCBuffer *buffer);
+JobStatus *
+ job_status__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void job_status__free_unpacked
+ (JobStatus *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*JobStatus_Closure)
+ (const JobStatus *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor job_status__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_JobStatus_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobTicket.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobTicket.pb-c.c
new file mode 100644
index 000000000..c9f1e859f
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobTicket.pb-c.c
@@ -0,0 +1,183 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobTicket.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "JobTicket.pb-c.h"
+void job_ticket__init
+ (JobTicket *message)
+{
+ static const JobTicket init_value = JOB_TICKET__INIT;
+ *message = init_value;
+}
+size_t job_ticket__get_packed_size
+ (const JobTicket *message)
+{
+ assert(message->base.descriptor == &job_ticket__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t job_ticket__pack
+ (const JobTicket *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &job_ticket__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t job_ticket__pack_to_buffer
+ (const JobTicket *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &job_ticket__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+JobTicket *
+ job_ticket__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (JobTicket *)
+ protobuf_c_message_unpack (&job_ticket__descriptor,
+ allocator, len, data);
+}
+void job_ticket__free_unpacked
+ (JobTicket *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &job_ticket__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor job_ticket__field_descriptors[8] =
+{
+ {
+ "Name",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(JobTicket, name),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "EnableInterSegment",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(JobTicket, has_enableintersegment),
+ offsetof(JobTicket, enableintersegment),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "InterSegmentLength",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(JobTicket, has_intersegmentlength),
+ offsetof(JobTicket, intersegmentlength),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Length",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(JobTicket, has_length),
+ offsetof(JobTicket, length),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "ProcessParameters",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_MESSAGE,
+ 0, /* quantifier_offset */
+ offsetof(JobTicket, processparameters),
+ &process_parameters__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "WindingMethod",
+ 6,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_ENUM,
+ offsetof(JobTicket, has_windingmethod),
+ offsetof(JobTicket, windingmethod),
+ &job_winding_method__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Spool",
+ 7,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_MESSAGE,
+ 0, /* quantifier_offset */
+ offsetof(JobTicket, spool),
+ &job_spool__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Segments",
+ 8,
+ PROTOBUF_C_LABEL_REPEATED,
+ PROTOBUF_C_TYPE_MESSAGE,
+ offsetof(JobTicket, n_segments),
+ offsetof(JobTicket, segments),
+ &job_segment__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned job_ticket__field_indices_by_name[] = {
+ 1, /* field[1] = EnableInterSegment */
+ 2, /* field[2] = InterSegmentLength */
+ 3, /* field[3] = Length */
+ 0, /* field[0] = Name */
+ 4, /* field[4] = ProcessParameters */
+ 7, /* field[7] = Segments */
+ 6, /* field[6] = Spool */
+ 5, /* field[5] = WindingMethod */
+};
+static const ProtobufCIntRange job_ticket__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 8 }
+};
+const ProtobufCMessageDescriptor job_ticket__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "JobTicket",
+ "JobTicket",
+ "JobTicket",
+ "",
+ sizeof(JobTicket),
+ 8,
+ job_ticket__field_descriptors,
+ job_ticket__field_indices_by_name,
+ 1, job_ticket__number_ranges,
+ (ProtobufCMessageInit) job_ticket__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobTicket.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobTicket.pb-c.h
new file mode 100644
index 000000000..b20d1db3c
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobTicket.pb-c.h
@@ -0,0 +1,87 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobTicket.proto */
+
+#ifndef PROTOBUF_C_JobTicket_2eproto__INCLUDED
+#define PROTOBUF_C_JobTicket_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "JobSegment.pb-c.h"
+#include "ProcessParameters.pb-c.h"
+#include "JobWindingMethod.pb-c.h"
+#include "JobSpool.pb-c.h"
+
+typedef struct _JobTicket JobTicket;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _JobTicket
+{
+ ProtobufCMessage base;
+ char *name;
+ protobuf_c_boolean has_enableintersegment;
+ protobuf_c_boolean enableintersegment;
+ protobuf_c_boolean has_intersegmentlength;
+ double intersegmentlength;
+ protobuf_c_boolean has_length;
+ double length;
+ ProcessParameters *processparameters;
+ protobuf_c_boolean has_windingmethod;
+ JobWindingMethod windingmethod;
+ JobSpool *spool;
+ size_t n_segments;
+ JobSegment **segments;
+};
+#define JOB_TICKET__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&job_ticket__descriptor) \
+ , NULL, 0, 0, 0, 0, 0, 0, NULL, 0, JOB_WINDING_METHOD__Embroidery, NULL, 0,NULL }
+
+
+/* JobTicket methods */
+void job_ticket__init
+ (JobTicket *message);
+size_t job_ticket__get_packed_size
+ (const JobTicket *message);
+size_t job_ticket__pack
+ (const JobTicket *message,
+ uint8_t *out);
+size_t job_ticket__pack_to_buffer
+ (const JobTicket *message,
+ ProtobufCBuffer *buffer);
+JobTicket *
+ job_ticket__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void job_ticket__free_unpacked
+ (JobTicket *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*JobTicket_Closure)
+ (const JobTicket *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor job_ticket__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_JobTicket_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobWindingMethod.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobWindingMethod.pb-c.c
new file mode 100644
index 000000000..89ca011a3
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobWindingMethod.pb-c.c
@@ -0,0 +1,37 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobWindingMethod.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "JobWindingMethod.pb-c.h"
+static const ProtobufCEnumValue job_winding_method__enum_values_by_number[2] =
+{
+ { "Embroidery", "JOB_WINDING_METHOD__Embroidery", 0 },
+ { "Calibration", "JOB_WINDING_METHOD__Calibration", 1 },
+};
+static const ProtobufCIntRange job_winding_method__value_ranges[] = {
+{0, 0},{0, 2}
+};
+static const ProtobufCEnumValueIndex job_winding_method__enum_values_by_name[2] =
+{
+ { "Calibration", 1 },
+ { "Embroidery", 0 },
+};
+const ProtobufCEnumDescriptor job_winding_method__descriptor =
+{
+ PROTOBUF_C__ENUM_DESCRIPTOR_MAGIC,
+ "JobWindingMethod",
+ "JobWindingMethod",
+ "JobWindingMethod",
+ "",
+ 2,
+ job_winding_method__enum_values_by_number,
+ 2,
+ job_winding_method__enum_values_by_name,
+ 1,
+ job_winding_method__value_ranges,
+ NULL,NULL,NULL,NULL /* reserved[1234] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobWindingMethod.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobWindingMethod.pb-c.h
new file mode 100644
index 000000000..a762ae2c5
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/JobWindingMethod.pb-c.h
@@ -0,0 +1,43 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: JobWindingMethod.proto */
+
+#ifndef PROTOBUF_C_JobWindingMethod_2eproto__INCLUDED
+#define PROTOBUF_C_JobWindingMethod_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+
+
+/* --- enums --- */
+
+typedef enum _JobWindingMethod {
+ JOB_WINDING_METHOD__Embroidery = 0,
+ JOB_WINDING_METHOD__Calibration = 1
+ PROTOBUF_C__FORCE_ENUM_TO_BE_INT_SIZE(JOB_WINDING_METHOD)
+} JobWindingMethod;
+
+/* --- messages --- */
+
+/* --- per-message closures --- */
+
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCEnumDescriptor job_winding_method__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_JobWindingMethod_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/ProcessParameters.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/ProcessParameters.pb-c.c
new file mode 100644
index 000000000..a6c9b8f08
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/ProcessParameters.pb-c.c
@@ -0,0 +1,287 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ProcessParameters.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "ProcessParameters.pb-c.h"
+void process_parameters__init
+ (ProcessParameters *message)
+{
+ static const ProcessParameters init_value = PROCESS_PARAMETERS__INIT;
+ *message = init_value;
+}
+size_t process_parameters__get_packed_size
+ (const ProcessParameters *message)
+{
+ assert(message->base.descriptor == &process_parameters__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t process_parameters__pack
+ (const ProcessParameters *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &process_parameters__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t process_parameters__pack_to_buffer
+ (const ProcessParameters *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &process_parameters__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+ProcessParameters *
+ process_parameters__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (ProcessParameters *)
+ protobuf_c_message_unpack (&process_parameters__descriptor,
+ allocator, len, data);
+}
+void process_parameters__free_unpacked
+ (ProcessParameters *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &process_parameters__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor process_parameters__field_descriptors[16] =
+{
+ {
+ "DyeingSpeed",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_dyeingspeed),
+ offsetof(ProcessParameters, dyeingspeed),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "MixerTemp",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_mixertemp),
+ offsetof(ProcessParameters, mixertemp),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "DryerBufferLength",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_dryerbufferlength),
+ offsetof(ProcessParameters, dryerbufferlength),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "MinInkUptake",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_mininkuptake),
+ offsetof(ProcessParameters, mininkuptake),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "HeadZone1Temp",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_headzone1temp),
+ offsetof(ProcessParameters, headzone1temp),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "DryerZone1Temp",
+ 6,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_dryerzone1temp),
+ offsetof(ProcessParameters, dryerzone1temp),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "FeederTension",
+ 7,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_feedertension),
+ offsetof(ProcessParameters, feedertension),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "DryerZone2Temp",
+ 8,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_dryerzone2temp),
+ offsetof(ProcessParameters, dryerzone2temp),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "HeadZone2Temp",
+ 9,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_headzone2temp),
+ offsetof(ProcessParameters, headzone2temp),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "PullerTension",
+ 10,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_pullertension),
+ offsetof(ProcessParameters, pullertension),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "HeadZone3Temp",
+ 11,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_headzone3temp),
+ offsetof(ProcessParameters, headzone3temp),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "DryerZone3Temp",
+ 12,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_dryerzone3temp),
+ offsetof(ProcessParameters, dryerzone3temp),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "WinderTension",
+ 13,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_windertension),
+ offsetof(ProcessParameters, windertension),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "HeadAirFlow",
+ 14,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_headairflow),
+ offsetof(ProcessParameters, headairflow),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "DryerAirFlow",
+ 15,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProcessParameters, has_dryerairflow),
+ offsetof(ProcessParameters, dryerairflow),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "TableIndex",
+ 16,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(ProcessParameters, has_tableindex),
+ offsetof(ProcessParameters, tableindex),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned process_parameters__field_indices_by_name[] = {
+ 14, /* field[14] = DryerAirFlow */
+ 2, /* field[2] = DryerBufferLength */
+ 5, /* field[5] = DryerZone1Temp */
+ 7, /* field[7] = DryerZone2Temp */
+ 11, /* field[11] = DryerZone3Temp */
+ 0, /* field[0] = DyeingSpeed */
+ 6, /* field[6] = FeederTension */
+ 13, /* field[13] = HeadAirFlow */
+ 4, /* field[4] = HeadZone1Temp */
+ 8, /* field[8] = HeadZone2Temp */
+ 10, /* field[10] = HeadZone3Temp */
+ 3, /* field[3] = MinInkUptake */
+ 1, /* field[1] = MixerTemp */
+ 9, /* field[9] = PullerTension */
+ 15, /* field[15] = TableIndex */
+ 12, /* field[12] = WinderTension */
+};
+static const ProtobufCIntRange process_parameters__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 16 }
+};
+const ProtobufCMessageDescriptor process_parameters__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "ProcessParameters",
+ "ProcessParameters",
+ "ProcessParameters",
+ "",
+ sizeof(ProcessParameters),
+ 16,
+ process_parameters__field_descriptors,
+ process_parameters__field_indices_by_name,
+ 1, process_parameters__number_ranges,
+ (ProtobufCMessageInit) process_parameters__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/ProcessParameters.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/ProcessParameters.pb-c.h
new file mode 100644
index 000000000..00be2df93
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/ProcessParameters.pb-c.h
@@ -0,0 +1,102 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ProcessParameters.proto */
+
+#ifndef PROTOBUF_C_ProcessParameters_2eproto__INCLUDED
+#define PROTOBUF_C_ProcessParameters_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _ProcessParameters ProcessParameters;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _ProcessParameters
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_dyeingspeed;
+ double dyeingspeed;
+ protobuf_c_boolean has_mixertemp;
+ double mixertemp;
+ protobuf_c_boolean has_dryerbufferlength;
+ double dryerbufferlength;
+ protobuf_c_boolean has_mininkuptake;
+ double mininkuptake;
+ protobuf_c_boolean has_headzone1temp;
+ double headzone1temp;
+ protobuf_c_boolean has_dryerzone1temp;
+ double dryerzone1temp;
+ protobuf_c_boolean has_feedertension;
+ double feedertension;
+ protobuf_c_boolean has_dryerzone2temp;
+ double dryerzone2temp;
+ protobuf_c_boolean has_headzone2temp;
+ double headzone2temp;
+ protobuf_c_boolean has_pullertension;
+ double pullertension;
+ protobuf_c_boolean has_headzone3temp;
+ double headzone3temp;
+ protobuf_c_boolean has_dryerzone3temp;
+ double dryerzone3temp;
+ protobuf_c_boolean has_windertension;
+ double windertension;
+ protobuf_c_boolean has_headairflow;
+ double headairflow;
+ protobuf_c_boolean has_dryerairflow;
+ double dryerairflow;
+ protobuf_c_boolean has_tableindex;
+ int32_t tableindex;
+};
+#define PROCESS_PARAMETERS__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&process_parameters__descriptor) \
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+
+
+/* ProcessParameters methods */
+void process_parameters__init
+ (ProcessParameters *message);
+size_t process_parameters__get_packed_size
+ (const ProcessParameters *message);
+size_t process_parameters__pack
+ (const ProcessParameters *message,
+ uint8_t *out);
+size_t process_parameters__pack_to_buffer
+ (const ProcessParameters *message,
+ ProtobufCBuffer *buffer);
+ProcessParameters *
+ process_parameters__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void process_parameters__free_unpacked
+ (ProcessParameters *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*ProcessParameters_Closure)
+ (const ProcessParameters *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor process_parameters__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_ProcessParameters_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/UploadProcessParametersRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/UploadProcessParametersRequest.pb-c.c
new file mode 100644
index 000000000..bae09c741
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/UploadProcessParametersRequest.pb-c.c
@@ -0,0 +1,92 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: UploadProcessParametersRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "UploadProcessParametersRequest.pb-c.h"
+void upload_process_parameters_request__init
+ (UploadProcessParametersRequest *message)
+{
+ static const UploadProcessParametersRequest init_value = UPLOAD_PROCESS_PARAMETERS_REQUEST__INIT;
+ *message = init_value;
+}
+size_t upload_process_parameters_request__get_packed_size
+ (const UploadProcessParametersRequest *message)
+{
+ assert(message->base.descriptor == &upload_process_parameters_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t upload_process_parameters_request__pack
+ (const UploadProcessParametersRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &upload_process_parameters_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t upload_process_parameters_request__pack_to_buffer
+ (const UploadProcessParametersRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &upload_process_parameters_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+UploadProcessParametersRequest *
+ upload_process_parameters_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (UploadProcessParametersRequest *)
+ protobuf_c_message_unpack (&upload_process_parameters_request__descriptor,
+ allocator, len, data);
+}
+void upload_process_parameters_request__free_unpacked
+ (UploadProcessParametersRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &upload_process_parameters_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor upload_process_parameters_request__field_descriptors[1] =
+{
+ {
+ "ProcessParameters",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_MESSAGE,
+ 0, /* quantifier_offset */
+ offsetof(UploadProcessParametersRequest, processparameters),
+ &process_parameters__descriptor,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned upload_process_parameters_request__field_indices_by_name[] = {
+ 0, /* field[0] = ProcessParameters */
+};
+static const ProtobufCIntRange upload_process_parameters_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 1 }
+};
+const ProtobufCMessageDescriptor upload_process_parameters_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "UploadProcessParametersRequest",
+ "UploadProcessParametersRequest",
+ "UploadProcessParametersRequest",
+ "",
+ sizeof(UploadProcessParametersRequest),
+ 1,
+ upload_process_parameters_request__field_descriptors,
+ upload_process_parameters_request__field_indices_by_name,
+ 1, upload_process_parameters_request__number_ranges,
+ (ProtobufCMessageInit) upload_process_parameters_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/UploadProcessParametersRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/UploadProcessParametersRequest.pb-c.h
new file mode 100644
index 000000000..c39ee4174
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/UploadProcessParametersRequest.pb-c.h
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: UploadProcessParametersRequest.proto */
+
+#ifndef PROTOBUF_C_UploadProcessParametersRequest_2eproto__INCLUDED
+#define PROTOBUF_C_UploadProcessParametersRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+#include "ProcessParameters.pb-c.h"
+
+typedef struct _UploadProcessParametersRequest UploadProcessParametersRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _UploadProcessParametersRequest
+{
+ ProtobufCMessage base;
+ ProcessParameters *processparameters;
+};
+#define UPLOAD_PROCESS_PARAMETERS_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&upload_process_parameters_request__descriptor) \
+ , NULL }
+
+
+/* UploadProcessParametersRequest methods */
+void upload_process_parameters_request__init
+ (UploadProcessParametersRequest *message);
+size_t upload_process_parameters_request__get_packed_size
+ (const UploadProcessParametersRequest *message);
+size_t upload_process_parameters_request__pack
+ (const UploadProcessParametersRequest *message,
+ uint8_t *out);
+size_t upload_process_parameters_request__pack_to_buffer
+ (const UploadProcessParametersRequest *message,
+ ProtobufCBuffer *buffer);
+UploadProcessParametersRequest *
+ upload_process_parameters_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void upload_process_parameters_request__free_unpacked
+ (UploadProcessParametersRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*UploadProcessParametersRequest_Closure)
+ (const UploadProcessParametersRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor upload_process_parameters_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_UploadProcessParametersRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/UploadProcessParametersResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/UploadProcessParametersResponse.pb-c.c
new file mode 100644
index 000000000..2503df80d
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/UploadProcessParametersResponse.pb-c.c
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: UploadProcessParametersResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "UploadProcessParametersResponse.pb-c.h"
+void upload_process_parameters_response__init
+ (UploadProcessParametersResponse *message)
+{
+ static const UploadProcessParametersResponse init_value = UPLOAD_PROCESS_PARAMETERS_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t upload_process_parameters_response__get_packed_size
+ (const UploadProcessParametersResponse *message)
+{
+ assert(message->base.descriptor == &upload_process_parameters_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t upload_process_parameters_response__pack
+ (const UploadProcessParametersResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &upload_process_parameters_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t upload_process_parameters_response__pack_to_buffer
+ (const UploadProcessParametersResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &upload_process_parameters_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+UploadProcessParametersResponse *
+ upload_process_parameters_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (UploadProcessParametersResponse *)
+ protobuf_c_message_unpack (&upload_process_parameters_response__descriptor,
+ allocator, len, data);
+}
+void upload_process_parameters_response__free_unpacked
+ (UploadProcessParametersResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &upload_process_parameters_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+#define upload_process_parameters_response__field_descriptors NULL
+#define upload_process_parameters_response__field_indices_by_name NULL
+#define upload_process_parameters_response__number_ranges NULL
+const ProtobufCMessageDescriptor upload_process_parameters_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "UploadProcessParametersResponse",
+ "UploadProcessParametersResponse",
+ "UploadProcessParametersResponse",
+ "",
+ sizeof(UploadProcessParametersResponse),
+ 0,
+ upload_process_parameters_response__field_descriptors,
+ upload_process_parameters_response__field_indices_by_name,
+ 0, upload_process_parameters_response__number_ranges,
+ (ProtobufCMessageInit) upload_process_parameters_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Printing/UploadProcessParametersResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/UploadProcessParametersResponse.pb-c.h
new file mode 100644
index 000000000..4089217d2
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Printing/UploadProcessParametersResponse.pb-c.h
@@ -0,0 +1,70 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: UploadProcessParametersResponse.proto */
+
+#ifndef PROTOBUF_C_UploadProcessParametersResponse_2eproto__INCLUDED
+#define PROTOBUF_C_UploadProcessParametersResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _UploadProcessParametersResponse UploadProcessParametersResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _UploadProcessParametersResponse
+{
+ ProtobufCMessage base;
+};
+#define UPLOAD_PROCESS_PARAMETERS_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&upload_process_parameters_response__descriptor) \
+ }
+
+
+/* UploadProcessParametersResponse methods */
+void upload_process_parameters_response__init
+ (UploadProcessParametersResponse *message);
+size_t upload_process_parameters_response__get_packed_size
+ (const UploadProcessParametersResponse *message);
+size_t upload_process_parameters_response__pack
+ (const UploadProcessParametersResponse *message,
+ uint8_t *out);
+size_t upload_process_parameters_response__pack_to_buffer
+ (const UploadProcessParametersResponse *message,
+ ProtobufCBuffer *buffer);
+UploadProcessParametersResponse *
+ upload_process_parameters_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void upload_process_parameters_response__free_unpacked
+ (UploadProcessParametersResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*UploadProcessParametersResponse_Closure)
+ (const UploadProcessParametersResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor upload_process_parameters_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_UploadProcessParametersResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/CalculateRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/CalculateRequest.pb-c.c
new file mode 100644
index 000000000..68134c1f8
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/CalculateRequest.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: CalculateRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "CalculateRequest.pb-c.h"
+void calculate_request__init
+ (CalculateRequest *message)
+{
+ static const CalculateRequest init_value = CALCULATE_REQUEST__INIT;
+ *message = init_value;
+}
+size_t calculate_request__get_packed_size
+ (const CalculateRequest *message)
+{
+ assert(message->base.descriptor == &calculate_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t calculate_request__pack
+ (const CalculateRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &calculate_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t calculate_request__pack_to_buffer
+ (const CalculateRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &calculate_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+CalculateRequest *
+ calculate_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (CalculateRequest *)
+ protobuf_c_message_unpack (&calculate_request__descriptor,
+ allocator, len, data);
+}
+void calculate_request__free_unpacked
+ (CalculateRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &calculate_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor calculate_request__field_descriptors[2] =
+{
+ {
+ "A",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(CalculateRequest, has_a),
+ offsetof(CalculateRequest, a),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "B",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(CalculateRequest, has_b),
+ offsetof(CalculateRequest, b),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned calculate_request__field_indices_by_name[] = {
+ 0, /* field[0] = A */
+ 1, /* field[1] = B */
+};
+static const ProtobufCIntRange calculate_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor calculate_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "CalculateRequest",
+ "CalculateRequest",
+ "CalculateRequest",
+ "",
+ sizeof(CalculateRequest),
+ 2,
+ calculate_request__field_descriptors,
+ calculate_request__field_indices_by_name,
+ 1, calculate_request__number_ranges,
+ (ProtobufCMessageInit) calculate_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/CalculateRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/CalculateRequest.pb-c.h
new file mode 100644
index 000000000..4ad015493
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/CalculateRequest.pb-c.h
@@ -0,0 +1,74 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: CalculateRequest.proto */
+
+#ifndef PROTOBUF_C_CalculateRequest_2eproto__INCLUDED
+#define PROTOBUF_C_CalculateRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _CalculateRequest CalculateRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _CalculateRequest
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_a;
+ double a;
+ protobuf_c_boolean has_b;
+ double b;
+};
+#define CALCULATE_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&calculate_request__descriptor) \
+ , 0, 0, 0, 0 }
+
+
+/* CalculateRequest methods */
+void calculate_request__init
+ (CalculateRequest *message);
+size_t calculate_request__get_packed_size
+ (const CalculateRequest *message);
+size_t calculate_request__pack
+ (const CalculateRequest *message,
+ uint8_t *out);
+size_t calculate_request__pack_to_buffer
+ (const CalculateRequest *message,
+ ProtobufCBuffer *buffer);
+CalculateRequest *
+ calculate_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void calculate_request__free_unpacked
+ (CalculateRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*CalculateRequest_Closure)
+ (const CalculateRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor calculate_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_CalculateRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/CalculateResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/CalculateResponse.pb-c.c
new file mode 100644
index 000000000..920356a05
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/CalculateResponse.pb-c.c
@@ -0,0 +1,92 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: CalculateResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "CalculateResponse.pb-c.h"
+void calculate_response__init
+ (CalculateResponse *message)
+{
+ static const CalculateResponse init_value = CALCULATE_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t calculate_response__get_packed_size
+ (const CalculateResponse *message)
+{
+ assert(message->base.descriptor == &calculate_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t calculate_response__pack
+ (const CalculateResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &calculate_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t calculate_response__pack_to_buffer
+ (const CalculateResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &calculate_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+CalculateResponse *
+ calculate_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (CalculateResponse *)
+ protobuf_c_message_unpack (&calculate_response__descriptor,
+ allocator, len, data);
+}
+void calculate_response__free_unpacked
+ (CalculateResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &calculate_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor calculate_response__field_descriptors[1] =
+{
+ {
+ "Sum",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(CalculateResponse, has_sum),
+ offsetof(CalculateResponse, sum),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned calculate_response__field_indices_by_name[] = {
+ 0, /* field[0] = Sum */
+};
+static const ProtobufCIntRange calculate_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 1 }
+};
+const ProtobufCMessageDescriptor calculate_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "CalculateResponse",
+ "CalculateResponse",
+ "CalculateResponse",
+ "",
+ sizeof(CalculateResponse),
+ 1,
+ calculate_response__field_descriptors,
+ calculate_response__field_indices_by_name,
+ 1, calculate_response__number_ranges,
+ (ProtobufCMessageInit) calculate_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/CalculateResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/CalculateResponse.pb-c.h
new file mode 100644
index 000000000..05bdf2b52
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/CalculateResponse.pb-c.h
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: CalculateResponse.proto */
+
+#ifndef PROTOBUF_C_CalculateResponse_2eproto__INCLUDED
+#define PROTOBUF_C_CalculateResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _CalculateResponse CalculateResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _CalculateResponse
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_sum;
+ double sum;
+};
+#define CALCULATE_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&calculate_response__descriptor) \
+ , 0, 0 }
+
+
+/* CalculateResponse methods */
+void calculate_response__init
+ (CalculateResponse *message);
+size_t calculate_response__get_packed_size
+ (const CalculateResponse *message);
+size_t calculate_response__pack
+ (const CalculateResponse *message,
+ uint8_t *out);
+size_t calculate_response__pack_to_buffer
+ (const CalculateResponse *message,
+ ProtobufCBuffer *buffer);
+CalculateResponse *
+ calculate_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void calculate_response__free_unpacked
+ (CalculateResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*CalculateResponse_Closure)
+ (const CalculateResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor calculate_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_CalculateResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressRequest.pb-c.c
new file mode 100644
index 000000000..9e074f376
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressRequest.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ProgressRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "ProgressRequest.pb-c.h"
+void progress_request__init
+ (ProgressRequest *message)
+{
+ static const ProgressRequest init_value = PROGRESS_REQUEST__INIT;
+ *message = init_value;
+}
+size_t progress_request__get_packed_size
+ (const ProgressRequest *message)
+{
+ assert(message->base.descriptor == &progress_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t progress_request__pack
+ (const ProgressRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &progress_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t progress_request__pack_to_buffer
+ (const ProgressRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &progress_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+ProgressRequest *
+ progress_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (ProgressRequest *)
+ protobuf_c_message_unpack (&progress_request__descriptor,
+ allocator, len, data);
+}
+void progress_request__free_unpacked
+ (ProgressRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &progress_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor progress_request__field_descriptors[2] =
+{
+ {
+ "Amount",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(ProgressRequest, has_amount),
+ offsetof(ProgressRequest, amount),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Delay",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(ProgressRequest, has_delay),
+ offsetof(ProgressRequest, delay),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned progress_request__field_indices_by_name[] = {
+ 0, /* field[0] = Amount */
+ 1, /* field[1] = Delay */
+};
+static const ProtobufCIntRange progress_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor progress_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "ProgressRequest",
+ "ProgressRequest",
+ "ProgressRequest",
+ "",
+ sizeof(ProgressRequest),
+ 2,
+ progress_request__field_descriptors,
+ progress_request__field_indices_by_name,
+ 1, progress_request__number_ranges,
+ (ProtobufCMessageInit) progress_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressRequest.pb-c.h
new file mode 100644
index 000000000..1ce2b6d6b
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressRequest.pb-c.h
@@ -0,0 +1,74 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ProgressRequest.proto */
+
+#ifndef PROTOBUF_C_ProgressRequest_2eproto__INCLUDED
+#define PROTOBUF_C_ProgressRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _ProgressRequest ProgressRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _ProgressRequest
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_amount;
+ int32_t amount;
+ protobuf_c_boolean has_delay;
+ int32_t delay;
+};
+#define PROGRESS_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&progress_request__descriptor) \
+ , 0, 0, 0, 0 }
+
+
+/* ProgressRequest methods */
+void progress_request__init
+ (ProgressRequest *message);
+size_t progress_request__get_packed_size
+ (const ProgressRequest *message);
+size_t progress_request__pack
+ (const ProgressRequest *message,
+ uint8_t *out);
+size_t progress_request__pack_to_buffer
+ (const ProgressRequest *message,
+ ProtobufCBuffer *buffer);
+ProgressRequest *
+ progress_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void progress_request__free_unpacked
+ (ProgressRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*ProgressRequest_Closure)
+ (const ProgressRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor progress_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_ProgressRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressResponse.pb-c.c
new file mode 100644
index 000000000..9e54fb5d6
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressResponse.pb-c.c
@@ -0,0 +1,92 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ProgressResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "ProgressResponse.pb-c.h"
+void progress_response__init
+ (ProgressResponse *message)
+{
+ static const ProgressResponse init_value = PROGRESS_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t progress_response__get_packed_size
+ (const ProgressResponse *message)
+{
+ assert(message->base.descriptor == &progress_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t progress_response__pack
+ (const ProgressResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &progress_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t progress_response__pack_to_buffer
+ (const ProgressResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &progress_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+ProgressResponse *
+ progress_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (ProgressResponse *)
+ protobuf_c_message_unpack (&progress_response__descriptor,
+ allocator, len, data);
+}
+void progress_response__free_unpacked
+ (ProgressResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &progress_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor progress_response__field_descriptors[1] =
+{
+ {
+ "Progress",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(ProgressResponse, has_progress),
+ offsetof(ProgressResponse, progress),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned progress_response__field_indices_by_name[] = {
+ 0, /* field[0] = Progress */
+};
+static const ProtobufCIntRange progress_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 1 }
+};
+const ProtobufCMessageDescriptor progress_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "ProgressResponse",
+ "ProgressResponse",
+ "ProgressResponse",
+ "",
+ sizeof(ProgressResponse),
+ 1,
+ progress_response__field_descriptors,
+ progress_response__field_indices_by_name,
+ 1, progress_response__number_ranges,
+ (ProtobufCMessageInit) progress_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressResponse.pb-c.h
new file mode 100644
index 000000000..de5201ee5
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/ProgressResponse.pb-c.h
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: ProgressResponse.proto */
+
+#ifndef PROTOBUF_C_ProgressResponse_2eproto__INCLUDED
+#define PROTOBUF_C_ProgressResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _ProgressResponse ProgressResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _ProgressResponse
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_progress;
+ double progress;
+};
+#define PROGRESS_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&progress_response__descriptor) \
+ , 0, 0 }
+
+
+/* ProgressResponse methods */
+void progress_response__init
+ (ProgressResponse *message);
+size_t progress_response__get_packed_size
+ (const ProgressResponse *message);
+size_t progress_response__pack
+ (const ProgressResponse *message,
+ uint8_t *out);
+size_t progress_response__pack_to_buffer
+ (const ProgressResponse *message,
+ ProtobufCBuffer *buffer);
+ProgressResponse *
+ progress_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void progress_response__free_unpacked
+ (ProgressResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*ProgressResponse_Closure)
+ (const ProgressResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor progress_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_ProgressResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeReadRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeReadRequest.pb-c.c
new file mode 100644
index 000000000..6ecf34fcd
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeReadRequest.pb-c.c
@@ -0,0 +1,92 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubCartridgeReadRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubCartridgeReadRequest.pb-c.h"
+void stub_cartridge_read_request__init
+ (StubCartridgeReadRequest *message)
+{
+ static const StubCartridgeReadRequest init_value = STUB_CARTRIDGE_READ_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_cartridge_read_request__get_packed_size
+ (const StubCartridgeReadRequest *message)
+{
+ assert(message->base.descriptor == &stub_cartridge_read_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_cartridge_read_request__pack
+ (const StubCartridgeReadRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_cartridge_read_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_cartridge_read_request__pack_to_buffer
+ (const StubCartridgeReadRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_cartridge_read_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubCartridgeReadRequest *
+ stub_cartridge_read_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubCartridgeReadRequest *)
+ protobuf_c_message_unpack (&stub_cartridge_read_request__descriptor,
+ allocator, len, data);
+}
+void stub_cartridge_read_request__free_unpacked
+ (StubCartridgeReadRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_cartridge_read_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_cartridge_read_request__field_descriptors[1] =
+{
+ {
+ "CartridgeId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubCartridgeReadRequest, has_cartridgeid),
+ offsetof(StubCartridgeReadRequest, cartridgeid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_cartridge_read_request__field_indices_by_name[] = {
+ 0, /* field[0] = CartridgeId */
+};
+static const ProtobufCIntRange stub_cartridge_read_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 1 }
+};
+const ProtobufCMessageDescriptor stub_cartridge_read_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubCartridgeReadRequest",
+ "StubCartridgeReadRequest",
+ "StubCartridgeReadRequest",
+ "",
+ sizeof(StubCartridgeReadRequest),
+ 1,
+ stub_cartridge_read_request__field_descriptors,
+ stub_cartridge_read_request__field_indices_by_name,
+ 1, stub_cartridge_read_request__number_ranges,
+ (ProtobufCMessageInit) stub_cartridge_read_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeReadRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeReadRequest.pb-c.h
new file mode 100644
index 000000000..12ea3b514
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeReadRequest.pb-c.h
@@ -0,0 +1,75 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubCartridgeReadRequest.proto */
+
+#ifndef PROTOBUF_C_StubCartridgeReadRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubCartridgeReadRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubCartridgeReadRequest StubCartridgeReadRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubCartridgeReadRequest
+{
+ ProtobufCMessage base;
+ /*
+ *0..7
+ */
+ protobuf_c_boolean has_cartridgeid;
+ uint32_t cartridgeid;
+};
+#define STUB_CARTRIDGE_READ_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_cartridge_read_request__descriptor) \
+ , 0, 0 }
+
+
+/* StubCartridgeReadRequest methods */
+void stub_cartridge_read_request__init
+ (StubCartridgeReadRequest *message);
+size_t stub_cartridge_read_request__get_packed_size
+ (const StubCartridgeReadRequest *message);
+size_t stub_cartridge_read_request__pack
+ (const StubCartridgeReadRequest *message,
+ uint8_t *out);
+size_t stub_cartridge_read_request__pack_to_buffer
+ (const StubCartridgeReadRequest *message,
+ ProtobufCBuffer *buffer);
+StubCartridgeReadRequest *
+ stub_cartridge_read_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_cartridge_read_request__free_unpacked
+ (StubCartridgeReadRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubCartridgeReadRequest_Closure)
+ (const StubCartridgeReadRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_cartridge_read_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubCartridgeReadRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeReadResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeReadResponse.pb-c.c
new file mode 100644
index 000000000..125ec15e2
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeReadResponse.pb-c.c
@@ -0,0 +1,170 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubCartridgeReadResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubCartridgeReadResponse.pb-c.h"
+void stub_cartridge_read_response__init
+ (StubCartridgeReadResponse *message)
+{
+ static const StubCartridgeReadResponse init_value = STUB_CARTRIDGE_READ_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_cartridge_read_response__get_packed_size
+ (const StubCartridgeReadResponse *message)
+{
+ assert(message->base.descriptor == &stub_cartridge_read_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_cartridge_read_response__pack
+ (const StubCartridgeReadResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_cartridge_read_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_cartridge_read_response__pack_to_buffer
+ (const StubCartridgeReadResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_cartridge_read_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubCartridgeReadResponse *
+ stub_cartridge_read_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubCartridgeReadResponse *)
+ protobuf_c_message_unpack (&stub_cartridge_read_response__descriptor,
+ allocator, len, data);
+}
+void stub_cartridge_read_response__free_unpacked
+ (StubCartridgeReadResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_cartridge_read_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_cartridge_read_response__field_descriptors[7] =
+{
+ {
+ "CartridgeId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubCartridgeReadResponse, has_cartridgeid),
+ offsetof(StubCartridgeReadResponse, cartridgeid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "CartridgeColor",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubCartridgeReadResponse, has_cartridgecolor),
+ offsetof(StubCartridgeReadResponse, cartridgecolor),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "CartridgeVersion",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubCartridgeReadResponse, has_cartridgeversion),
+ offsetof(StubCartridgeReadResponse, cartridgeversion),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "CartridgeData",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(StubCartridgeReadResponse, has_cartridgedata),
+ offsetof(StubCartridgeReadResponse, cartridgedata),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "CartridgeUsed",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubCartridgeReadResponse, has_cartridgeused),
+ offsetof(StubCartridgeReadResponse, cartridgeused),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Status",
+ 6,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubCartridgeReadResponse, status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "StatusWord",
+ 7,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubCartridgeReadResponse, has_statusword),
+ offsetof(StubCartridgeReadResponse, statusword),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_cartridge_read_response__field_indices_by_name[] = {
+ 1, /* field[1] = CartridgeColor */
+ 3, /* field[3] = CartridgeData */
+ 0, /* field[0] = CartridgeId */
+ 4, /* field[4] = CartridgeUsed */
+ 2, /* field[2] = CartridgeVersion */
+ 5, /* field[5] = Status */
+ 6, /* field[6] = StatusWord */
+};
+static const ProtobufCIntRange stub_cartridge_read_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 7 }
+};
+const ProtobufCMessageDescriptor stub_cartridge_read_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubCartridgeReadResponse",
+ "StubCartridgeReadResponse",
+ "StubCartridgeReadResponse",
+ "",
+ sizeof(StubCartridgeReadResponse),
+ 7,
+ stub_cartridge_read_response__field_descriptors,
+ stub_cartridge_read_response__field_indices_by_name,
+ 1, stub_cartridge_read_response__number_ranges,
+ (ProtobufCMessageInit) stub_cartridge_read_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeReadResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeReadResponse.pb-c.h
new file mode 100644
index 000000000..06a173e8b
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeReadResponse.pb-c.h
@@ -0,0 +1,89 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubCartridgeReadResponse.proto */
+
+#ifndef PROTOBUF_C_StubCartridgeReadResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubCartridgeReadResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubCartridgeReadResponse StubCartridgeReadResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubCartridgeReadResponse
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_cartridgeid;
+ uint32_t cartridgeid;
+ protobuf_c_boolean has_cartridgecolor;
+ uint32_t cartridgecolor;
+ protobuf_c_boolean has_cartridgeversion;
+ uint32_t cartridgeversion;
+ protobuf_c_boolean has_cartridgedata;
+ int32_t cartridgedata;
+ protobuf_c_boolean has_cartridgeused;
+ protobuf_c_boolean cartridgeused;
+ /*
+ * Passed/Failed
+ */
+ char *status;
+ /*
+ * Error number/bit when the status is Failed
+ */
+ protobuf_c_boolean has_statusword;
+ uint32_t statusword;
+};
+#define STUB_CARTRIDGE_READ_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_cartridge_read_response__descriptor) \
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0 }
+
+
+/* StubCartridgeReadResponse methods */
+void stub_cartridge_read_response__init
+ (StubCartridgeReadResponse *message);
+size_t stub_cartridge_read_response__get_packed_size
+ (const StubCartridgeReadResponse *message);
+size_t stub_cartridge_read_response__pack
+ (const StubCartridgeReadResponse *message,
+ uint8_t *out);
+size_t stub_cartridge_read_response__pack_to_buffer
+ (const StubCartridgeReadResponse *message,
+ ProtobufCBuffer *buffer);
+StubCartridgeReadResponse *
+ stub_cartridge_read_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_cartridge_read_response__free_unpacked
+ (StubCartridgeReadResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubCartridgeReadResponse_Closure)
+ (const StubCartridgeReadResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_cartridge_read_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubCartridgeReadResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeWriteRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeWriteRequest.pb-c.c
new file mode 100644
index 000000000..fe528a34e
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeWriteRequest.pb-c.c
@@ -0,0 +1,144 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubCartridgeWriteRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubCartridgeWriteRequest.pb-c.h"
+void stub_cartridge_write_request__init
+ (StubCartridgeWriteRequest *message)
+{
+ static const StubCartridgeWriteRequest init_value = STUB_CARTRIDGE_WRITE_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_cartridge_write_request__get_packed_size
+ (const StubCartridgeWriteRequest *message)
+{
+ assert(message->base.descriptor == &stub_cartridge_write_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_cartridge_write_request__pack
+ (const StubCartridgeWriteRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_cartridge_write_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_cartridge_write_request__pack_to_buffer
+ (const StubCartridgeWriteRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_cartridge_write_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubCartridgeWriteRequest *
+ stub_cartridge_write_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubCartridgeWriteRequest *)
+ protobuf_c_message_unpack (&stub_cartridge_write_request__descriptor,
+ allocator, len, data);
+}
+void stub_cartridge_write_request__free_unpacked
+ (StubCartridgeWriteRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_cartridge_write_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_cartridge_write_request__field_descriptors[5] =
+{
+ {
+ "CartridgeId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubCartridgeWriteRequest, has_cartridgeid),
+ offsetof(StubCartridgeWriteRequest, cartridgeid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "CartridgeColor",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubCartridgeWriteRequest, has_cartridgecolor),
+ offsetof(StubCartridgeWriteRequest, cartridgecolor),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "CartridgeVersion",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubCartridgeWriteRequest, has_cartridgeversion),
+ offsetof(StubCartridgeWriteRequest, cartridgeversion),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "CartridgeData",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubCartridgeWriteRequest, has_cartridgedata),
+ offsetof(StubCartridgeWriteRequest, cartridgedata),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "CartridgeUsed",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubCartridgeWriteRequest, has_cartridgeused),
+ offsetof(StubCartridgeWriteRequest, cartridgeused),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_cartridge_write_request__field_indices_by_name[] = {
+ 1, /* field[1] = CartridgeColor */
+ 3, /* field[3] = CartridgeData */
+ 0, /* field[0] = CartridgeId */
+ 4, /* field[4] = CartridgeUsed */
+ 2, /* field[2] = CartridgeVersion */
+};
+static const ProtobufCIntRange stub_cartridge_write_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 5 }
+};
+const ProtobufCMessageDescriptor stub_cartridge_write_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubCartridgeWriteRequest",
+ "StubCartridgeWriteRequest",
+ "StubCartridgeWriteRequest",
+ "",
+ sizeof(StubCartridgeWriteRequest),
+ 5,
+ stub_cartridge_write_request__field_descriptors,
+ stub_cartridge_write_request__field_indices_by_name,
+ 1, stub_cartridge_write_request__number_ranges,
+ (ProtobufCMessageInit) stub_cartridge_write_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeWriteRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeWriteRequest.pb-c.h
new file mode 100644
index 000000000..ead0d6b2d
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeWriteRequest.pb-c.h
@@ -0,0 +1,88 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubCartridgeWriteRequest.proto */
+
+#ifndef PROTOBUF_C_StubCartridgeWriteRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubCartridgeWriteRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubCartridgeWriteRequest StubCartridgeWriteRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubCartridgeWriteRequest
+{
+ ProtobufCMessage base;
+ /*
+ *0..7
+ */
+ protobuf_c_boolean has_cartridgeid;
+ uint32_t cartridgeid;
+ /*
+ */
+ protobuf_c_boolean has_cartridgecolor;
+ uint32_t cartridgecolor;
+ protobuf_c_boolean has_cartridgeversion;
+ uint32_t cartridgeversion;
+ protobuf_c_boolean has_cartridgedata;
+ uint32_t cartridgedata;
+ /*
+ * 0 - new 1- used
+ */
+ protobuf_c_boolean has_cartridgeused;
+ protobuf_c_boolean cartridgeused;
+};
+#define STUB_CARTRIDGE_WRITE_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_cartridge_write_request__descriptor) \
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+
+
+/* StubCartridgeWriteRequest methods */
+void stub_cartridge_write_request__init
+ (StubCartridgeWriteRequest *message);
+size_t stub_cartridge_write_request__get_packed_size
+ (const StubCartridgeWriteRequest *message);
+size_t stub_cartridge_write_request__pack
+ (const StubCartridgeWriteRequest *message,
+ uint8_t *out);
+size_t stub_cartridge_write_request__pack_to_buffer
+ (const StubCartridgeWriteRequest *message,
+ ProtobufCBuffer *buffer);
+StubCartridgeWriteRequest *
+ stub_cartridge_write_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_cartridge_write_request__free_unpacked
+ (StubCartridgeWriteRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubCartridgeWriteRequest_Closure)
+ (const StubCartridgeWriteRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_cartridge_write_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubCartridgeWriteRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeWriteResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeWriteResponse.pb-c.c
new file mode 100644
index 000000000..aa271df59
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeWriteResponse.pb-c.c
@@ -0,0 +1,118 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubCartridgeWriteResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubCartridgeWriteResponse.pb-c.h"
+void stub_cartridge_write_response__init
+ (StubCartridgeWriteResponse *message)
+{
+ static const StubCartridgeWriteResponse init_value = STUB_CARTRIDGE_WRITE_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_cartridge_write_response__get_packed_size
+ (const StubCartridgeWriteResponse *message)
+{
+ assert(message->base.descriptor == &stub_cartridge_write_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_cartridge_write_response__pack
+ (const StubCartridgeWriteResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_cartridge_write_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_cartridge_write_response__pack_to_buffer
+ (const StubCartridgeWriteResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_cartridge_write_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubCartridgeWriteResponse *
+ stub_cartridge_write_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubCartridgeWriteResponse *)
+ protobuf_c_message_unpack (&stub_cartridge_write_response__descriptor,
+ allocator, len, data);
+}
+void stub_cartridge_write_response__free_unpacked
+ (StubCartridgeWriteResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_cartridge_write_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_cartridge_write_response__field_descriptors[3] =
+{
+ {
+ "CartridgeId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubCartridgeWriteResponse, has_cartridgeid),
+ offsetof(StubCartridgeWriteResponse, cartridgeid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Status",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubCartridgeWriteResponse, status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "StatusWord",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubCartridgeWriteResponse, has_statusword),
+ offsetof(StubCartridgeWriteResponse, statusword),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_cartridge_write_response__field_indices_by_name[] = {
+ 0, /* field[0] = CartridgeId */
+ 1, /* field[1] = Status */
+ 2, /* field[2] = StatusWord */
+};
+static const ProtobufCIntRange stub_cartridge_write_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 3 }
+};
+const ProtobufCMessageDescriptor stub_cartridge_write_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubCartridgeWriteResponse",
+ "StubCartridgeWriteResponse",
+ "StubCartridgeWriteResponse",
+ "",
+ sizeof(StubCartridgeWriteResponse),
+ 3,
+ stub_cartridge_write_response__field_descriptors,
+ stub_cartridge_write_response__field_indices_by_name,
+ 1, stub_cartridge_write_response__number_ranges,
+ (ProtobufCMessageInit) stub_cartridge_write_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeWriteResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeWriteResponse.pb-c.h
new file mode 100644
index 000000000..dab3d46fb
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubCartridgeWriteResponse.pb-c.h
@@ -0,0 +1,81 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubCartridgeWriteResponse.proto */
+
+#ifndef PROTOBUF_C_StubCartridgeWriteResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubCartridgeWriteResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubCartridgeWriteResponse StubCartridgeWriteResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubCartridgeWriteResponse
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_cartridgeid;
+ uint32_t cartridgeid;
+ /*
+ * Passed/Failed
+ */
+ char *status;
+ /*
+ * Error number/bit when the status is Failed
+ */
+ protobuf_c_boolean has_statusword;
+ uint32_t statusword;
+};
+#define STUB_CARTRIDGE_WRITE_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_cartridge_write_response__descriptor) \
+ , 0, 0, NULL, 0, 0 }
+
+
+/* StubCartridgeWriteResponse methods */
+void stub_cartridge_write_response__init
+ (StubCartridgeWriteResponse *message);
+size_t stub_cartridge_write_response__get_packed_size
+ (const StubCartridgeWriteResponse *message);
+size_t stub_cartridge_write_response__pack
+ (const StubCartridgeWriteResponse *message,
+ uint8_t *out);
+size_t stub_cartridge_write_response__pack_to_buffer
+ (const StubCartridgeWriteResponse *message,
+ ProtobufCBuffer *buffer);
+StubCartridgeWriteResponse *
+ stub_cartridge_write_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_cartridge_write_response__free_unpacked
+ (StubCartridgeWriteResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubCartridgeWriteResponse_Closure)
+ (const StubCartridgeWriteResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_cartridge_write_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubCartridgeWriteResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubDispenserRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubDispenserRequest.pb-c.c
new file mode 100644
index 000000000..d8cdbdd8b
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubDispenserRequest.pb-c.c
@@ -0,0 +1,144 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubDispenserRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubDispenserRequest.pb-c.h"
+void stub_dispenser_request__init
+ (StubDispenserRequest *message)
+{
+ static const StubDispenserRequest init_value = STUB_DISPENSER_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_dispenser_request__get_packed_size
+ (const StubDispenserRequest *message)
+{
+ assert(message->base.descriptor == &stub_dispenser_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_dispenser_request__pack
+ (const StubDispenserRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_dispenser_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_dispenser_request__pack_to_buffer
+ (const StubDispenserRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_dispenser_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubDispenserRequest *
+ stub_dispenser_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubDispenserRequest *)
+ protobuf_c_message_unpack (&stub_dispenser_request__descriptor,
+ allocator, len, data);
+}
+void stub_dispenser_request__free_unpacked
+ (StubDispenserRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_dispenser_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_dispenser_request__field_descriptors[5] =
+{
+ {
+ "DispenserId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubDispenserRequest, has_dispenserid),
+ offsetof(StubDispenserRequest, dispenserid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Start",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubDispenserRequest, has_start),
+ offsetof(StubDispenserRequest, start),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "SetDirection",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubDispenserRequest, has_setdirection),
+ offsetof(StubDispenserRequest, setdirection),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "SetMicrostepDivision",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubDispenserRequest, has_setmicrostepdivision),
+ offsetof(StubDispenserRequest, setmicrostepdivision),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "SetSpeed",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(StubDispenserRequest, has_setspeed),
+ offsetof(StubDispenserRequest, setspeed),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_dispenser_request__field_indices_by_name[] = {
+ 0, /* field[0] = DispenserId */
+ 2, /* field[2] = SetDirection */
+ 3, /* field[3] = SetMicrostepDivision */
+ 4, /* field[4] = SetSpeed */
+ 1, /* field[1] = Start */
+};
+static const ProtobufCIntRange stub_dispenser_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 5 }
+};
+const ProtobufCMessageDescriptor stub_dispenser_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubDispenserRequest",
+ "StubDispenserRequest",
+ "StubDispenserRequest",
+ "",
+ sizeof(StubDispenserRequest),
+ 5,
+ stub_dispenser_request__field_descriptors,
+ stub_dispenser_request__field_indices_by_name,
+ 1, stub_dispenser_request__number_ranges,
+ (ProtobufCMessageInit) stub_dispenser_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubDispenserRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubDispenserRequest.pb-c.h
new file mode 100644
index 000000000..8f99287a9
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubDispenserRequest.pb-c.h
@@ -0,0 +1,92 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubDispenserRequest.proto */
+
+#ifndef PROTOBUF_C_StubDispenserRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubDispenserRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubDispenserRequest StubDispenserRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubDispenserRequest
+{
+ ProtobufCMessage base;
+ /*
+ * 0..7
+ */
+ protobuf_c_boolean has_dispenserid;
+ uint32_t dispenserid;
+ /*
+ * 1-start 0-stop
+ */
+ protobuf_c_boolean has_start;
+ protobuf_c_boolean start;
+ /*
+ * 1-cw 0-ccw
+ */
+ protobuf_c_boolean has_setdirection;
+ protobuf_c_boolean setdirection;
+ /*
+ * No. of steps for 360 deg.
+ */
+ protobuf_c_boolean has_setmicrostepdivision;
+ uint32_t setmicrostepdivision;
+ protobuf_c_boolean has_setspeed;
+ int32_t setspeed;
+};
+#define STUB_DISPENSER_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_dispenser_request__descriptor) \
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+
+
+/* StubDispenserRequest methods */
+void stub_dispenser_request__init
+ (StubDispenserRequest *message);
+size_t stub_dispenser_request__get_packed_size
+ (const StubDispenserRequest *message);
+size_t stub_dispenser_request__pack
+ (const StubDispenserRequest *message,
+ uint8_t *out);
+size_t stub_dispenser_request__pack_to_buffer
+ (const StubDispenserRequest *message,
+ ProtobufCBuffer *buffer);
+StubDispenserRequest *
+ stub_dispenser_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_dispenser_request__free_unpacked
+ (StubDispenserRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubDispenserRequest_Closure)
+ (const StubDispenserRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_dispenser_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubDispenserRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubDispenserResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubDispenserResponse.pb-c.c
new file mode 100644
index 000000000..cbfd886ec
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubDispenserResponse.pb-c.c
@@ -0,0 +1,144 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubDispenserResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubDispenserResponse.pb-c.h"
+void stub_dispenser_response__init
+ (StubDispenserResponse *message)
+{
+ static const StubDispenserResponse init_value = STUB_DISPENSER_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_dispenser_response__get_packed_size
+ (const StubDispenserResponse *message)
+{
+ assert(message->base.descriptor == &stub_dispenser_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_dispenser_response__pack
+ (const StubDispenserResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_dispenser_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_dispenser_response__pack_to_buffer
+ (const StubDispenserResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_dispenser_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubDispenserResponse *
+ stub_dispenser_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubDispenserResponse *)
+ protobuf_c_message_unpack (&stub_dispenser_response__descriptor,
+ allocator, len, data);
+}
+void stub_dispenser_response__free_unpacked
+ (StubDispenserResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_dispenser_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_dispenser_response__field_descriptors[5] =
+{
+ {
+ "DispenserId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubDispenserResponse, has_dispenserid),
+ offsetof(StubDispenserResponse, dispenserid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "DispenserPosition",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubDispenserResponse, has_dispenserposition),
+ offsetof(StubDispenserResponse, dispenserposition),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "InkWorningLevel",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubDispenserResponse, has_inkworninglevel),
+ offsetof(StubDispenserResponse, inkworninglevel),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Status",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubDispenserResponse, status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "StatusWord",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubDispenserResponse, has_statusword),
+ offsetof(StubDispenserResponse, statusword),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_dispenser_response__field_indices_by_name[] = {
+ 0, /* field[0] = DispenserId */
+ 1, /* field[1] = DispenserPosition */
+ 2, /* field[2] = InkWorningLevel */
+ 3, /* field[3] = Status */
+ 4, /* field[4] = StatusWord */
+};
+static const ProtobufCIntRange stub_dispenser_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 5 }
+};
+const ProtobufCMessageDescriptor stub_dispenser_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubDispenserResponse",
+ "StubDispenserResponse",
+ "StubDispenserResponse",
+ "",
+ sizeof(StubDispenserResponse),
+ 5,
+ stub_dispenser_response__field_descriptors,
+ stub_dispenser_response__field_indices_by_name,
+ 1, stub_dispenser_response__number_ranges,
+ (ProtobufCMessageInit) stub_dispenser_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubDispenserResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubDispenserResponse.pb-c.h
new file mode 100644
index 000000000..14d55b18e
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubDispenserResponse.pb-c.h
@@ -0,0 +1,93 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubDispenserResponse.proto */
+
+#ifndef PROTOBUF_C_StubDispenserResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubDispenserResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubDispenserResponse StubDispenserResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubDispenserResponse
+{
+ ProtobufCMessage base;
+ /*
+ * 0..7
+ */
+ protobuf_c_boolean has_dispenserid;
+ uint32_t dispenserid;
+ /*
+ */
+ protobuf_c_boolean has_dispenserposition;
+ uint32_t dispenserposition;
+ /*
+ * 1- critical 2- level 3- overflow
+ */
+ protobuf_c_boolean has_inkworninglevel;
+ uint32_t inkworninglevel;
+ /*
+ * Passed/Failed
+ */
+ char *status;
+ /*
+ * Error number/bit when the status is Failed
+ */
+ protobuf_c_boolean has_statusword;
+ uint32_t statusword;
+};
+#define STUB_DISPENSER_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_dispenser_response__descriptor) \
+ , 0, 0, 0, 0, 0, 0, NULL, 0, 0 }
+
+
+/* StubDispenserResponse methods */
+void stub_dispenser_response__init
+ (StubDispenserResponse *message);
+size_t stub_dispenser_response__get_packed_size
+ (const StubDispenserResponse *message);
+size_t stub_dispenser_response__pack
+ (const StubDispenserResponse *message,
+ uint8_t *out);
+size_t stub_dispenser_response__pack_to_buffer
+ (const StubDispenserResponse *message,
+ ProtobufCBuffer *buffer);
+StubDispenserResponse *
+ stub_dispenser_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_dispenser_response__free_unpacked
+ (StubDispenserResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubDispenserResponse_Closure)
+ (const StubDispenserResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_dispenser_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubDispenserResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashReadRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashReadRequest.pb-c.c
new file mode 100644
index 000000000..e5f22797a
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashReadRequest.pb-c.c
@@ -0,0 +1,92 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubExtFlashReadRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubExtFlashReadRequest.pb-c.h"
+void stub_ext_flash_read_request__init
+ (StubExtFlashReadRequest *message)
+{
+ static const StubExtFlashReadRequest init_value = STUB_EXT_FLASH_READ_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_ext_flash_read_request__get_packed_size
+ (const StubExtFlashReadRequest *message)
+{
+ assert(message->base.descriptor == &stub_ext_flash_read_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_ext_flash_read_request__pack
+ (const StubExtFlashReadRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_ext_flash_read_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_ext_flash_read_request__pack_to_buffer
+ (const StubExtFlashReadRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_ext_flash_read_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubExtFlashReadRequest *
+ stub_ext_flash_read_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubExtFlashReadRequest *)
+ protobuf_c_message_unpack (&stub_ext_flash_read_request__descriptor,
+ allocator, len, data);
+}
+void stub_ext_flash_read_request__free_unpacked
+ (StubExtFlashReadRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_ext_flash_read_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_ext_flash_read_request__field_descriptors[1] =
+{
+ {
+ "Number_Of_Words",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubExtFlashReadRequest, has_number_of_words),
+ offsetof(StubExtFlashReadRequest, number_of_words),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_ext_flash_read_request__field_indices_by_name[] = {
+ 0, /* field[0] = Number_Of_Words */
+};
+static const ProtobufCIntRange stub_ext_flash_read_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 1 }
+};
+const ProtobufCMessageDescriptor stub_ext_flash_read_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubExtFlashReadRequest",
+ "StubExtFlashReadRequest",
+ "StubExtFlashReadRequest",
+ "",
+ sizeof(StubExtFlashReadRequest),
+ 1,
+ stub_ext_flash_read_request__field_descriptors,
+ stub_ext_flash_read_request__field_indices_by_name,
+ 1, stub_ext_flash_read_request__number_ranges,
+ (ProtobufCMessageInit) stub_ext_flash_read_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashReadRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashReadRequest.pb-c.h
new file mode 100644
index 000000000..0345c7c86
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashReadRequest.pb-c.h
@@ -0,0 +1,75 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubExtFlashReadRequest.proto */
+
+#ifndef PROTOBUF_C_StubExtFlashReadRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubExtFlashReadRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubExtFlashReadRequest StubExtFlashReadRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubExtFlashReadRequest
+{
+ ProtobufCMessage base;
+ /*
+ *Max 5 at this test
+ */
+ protobuf_c_boolean has_number_of_words;
+ uint32_t number_of_words;
+};
+#define STUB_EXT_FLASH_READ_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_ext_flash_read_request__descriptor) \
+ , 0, 0 }
+
+
+/* StubExtFlashReadRequest methods */
+void stub_ext_flash_read_request__init
+ (StubExtFlashReadRequest *message);
+size_t stub_ext_flash_read_request__get_packed_size
+ (const StubExtFlashReadRequest *message);
+size_t stub_ext_flash_read_request__pack
+ (const StubExtFlashReadRequest *message,
+ uint8_t *out);
+size_t stub_ext_flash_read_request__pack_to_buffer
+ (const StubExtFlashReadRequest *message,
+ ProtobufCBuffer *buffer);
+StubExtFlashReadRequest *
+ stub_ext_flash_read_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_ext_flash_read_request__free_unpacked
+ (StubExtFlashReadRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubExtFlashReadRequest_Closure)
+ (const StubExtFlashReadRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_ext_flash_read_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubExtFlashReadRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashReadResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashReadResponse.pb-c.c
new file mode 100644
index 000000000..57045730d
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashReadResponse.pb-c.c
@@ -0,0 +1,170 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubExtFlashReadResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubExtFlashReadResponse.pb-c.h"
+void stub_ext_flash_read_response__init
+ (StubExtFlashReadResponse *message)
+{
+ static const StubExtFlashReadResponse init_value = STUB_EXT_FLASH_READ_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_ext_flash_read_response__get_packed_size
+ (const StubExtFlashReadResponse *message)
+{
+ assert(message->base.descriptor == &stub_ext_flash_read_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_ext_flash_read_response__pack
+ (const StubExtFlashReadResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_ext_flash_read_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_ext_flash_read_response__pack_to_buffer
+ (const StubExtFlashReadResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_ext_flash_read_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubExtFlashReadResponse *
+ stub_ext_flash_read_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubExtFlashReadResponse *)
+ protobuf_c_message_unpack (&stub_ext_flash_read_response__descriptor,
+ allocator, len, data);
+}
+void stub_ext_flash_read_response__free_unpacked
+ (StubExtFlashReadResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_ext_flash_read_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_ext_flash_read_response__field_descriptors[7] =
+{
+ {
+ "ReadWord_1",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(StubExtFlashReadResponse, has_readword_1),
+ offsetof(StubExtFlashReadResponse, readword_1),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "ReadWord_2",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(StubExtFlashReadResponse, has_readword_2),
+ offsetof(StubExtFlashReadResponse, readword_2),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "ReadWord_3",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(StubExtFlashReadResponse, has_readword_3),
+ offsetof(StubExtFlashReadResponse, readword_3),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "ReadWord_4",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(StubExtFlashReadResponse, has_readword_4),
+ offsetof(StubExtFlashReadResponse, readword_4),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "ReadWord_5",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(StubExtFlashReadResponse, has_readword_5),
+ offsetof(StubExtFlashReadResponse, readword_5),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Status",
+ 6,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubExtFlashReadResponse, status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "StatusWord",
+ 7,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubExtFlashReadResponse, has_statusword),
+ offsetof(StubExtFlashReadResponse, statusword),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_ext_flash_read_response__field_indices_by_name[] = {
+ 0, /* field[0] = ReadWord_1 */
+ 1, /* field[1] = ReadWord_2 */
+ 2, /* field[2] = ReadWord_3 */
+ 3, /* field[3] = ReadWord_4 */
+ 4, /* field[4] = ReadWord_5 */
+ 5, /* field[5] = Status */
+ 6, /* field[6] = StatusWord */
+};
+static const ProtobufCIntRange stub_ext_flash_read_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 7 }
+};
+const ProtobufCMessageDescriptor stub_ext_flash_read_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubExtFlashReadResponse",
+ "StubExtFlashReadResponse",
+ "StubExtFlashReadResponse",
+ "",
+ sizeof(StubExtFlashReadResponse),
+ 7,
+ stub_ext_flash_read_response__field_descriptors,
+ stub_ext_flash_read_response__field_indices_by_name,
+ 1, stub_ext_flash_read_response__number_ranges,
+ (ProtobufCMessageInit) stub_ext_flash_read_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashReadResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashReadResponse.pb-c.h
new file mode 100644
index 000000000..c0bfdd88c
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashReadResponse.pb-c.h
@@ -0,0 +1,99 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubExtFlashReadResponse.proto */
+
+#ifndef PROTOBUF_C_StubExtFlashReadResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubExtFlashReadResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubExtFlashReadResponse StubExtFlashReadResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubExtFlashReadResponse
+{
+ ProtobufCMessage base;
+ /*
+ */
+ protobuf_c_boolean has_readword_1;
+ int32_t readword_1;
+ /*
+ */
+ protobuf_c_boolean has_readword_2;
+ int32_t readword_2;
+ /*
+ */
+ protobuf_c_boolean has_readword_3;
+ int32_t readword_3;
+ /*
+ */
+ protobuf_c_boolean has_readword_4;
+ int32_t readword_4;
+ /*
+ */
+ protobuf_c_boolean has_readword_5;
+ int32_t readword_5;
+ /*
+ * Passed/Failed
+ */
+ char *status;
+ /*
+ * Error number/bit when the status is Failed
+ */
+ protobuf_c_boolean has_statusword;
+ uint32_t statusword;
+};
+#define STUB_EXT_FLASH_READ_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_ext_flash_read_response__descriptor) \
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0 }
+
+
+/* StubExtFlashReadResponse methods */
+void stub_ext_flash_read_response__init
+ (StubExtFlashReadResponse *message);
+size_t stub_ext_flash_read_response__get_packed_size
+ (const StubExtFlashReadResponse *message);
+size_t stub_ext_flash_read_response__pack
+ (const StubExtFlashReadResponse *message,
+ uint8_t *out);
+size_t stub_ext_flash_read_response__pack_to_buffer
+ (const StubExtFlashReadResponse *message,
+ ProtobufCBuffer *buffer);
+StubExtFlashReadResponse *
+ stub_ext_flash_read_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_ext_flash_read_response__free_unpacked
+ (StubExtFlashReadResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubExtFlashReadResponse_Closure)
+ (const StubExtFlashReadResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_ext_flash_read_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubExtFlashReadResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashWriteRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashWriteRequest.pb-c.c
new file mode 100644
index 000000000..e74bb57de
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashWriteRequest.pb-c.c
@@ -0,0 +1,144 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubExtFlashWriteRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubExtFlashWriteRequest.pb-c.h"
+void stub_ext_flash_write_request__init
+ (StubExtFlashWriteRequest *message)
+{
+ static const StubExtFlashWriteRequest init_value = STUB_EXT_FLASH_WRITE_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_ext_flash_write_request__get_packed_size
+ (const StubExtFlashWriteRequest *message)
+{
+ assert(message->base.descriptor == &stub_ext_flash_write_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_ext_flash_write_request__pack
+ (const StubExtFlashWriteRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_ext_flash_write_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_ext_flash_write_request__pack_to_buffer
+ (const StubExtFlashWriteRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_ext_flash_write_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubExtFlashWriteRequest *
+ stub_ext_flash_write_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubExtFlashWriteRequest *)
+ protobuf_c_message_unpack (&stub_ext_flash_write_request__descriptor,
+ allocator, len, data);
+}
+void stub_ext_flash_write_request__free_unpacked
+ (StubExtFlashWriteRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_ext_flash_write_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_ext_flash_write_request__field_descriptors[5] =
+{
+ {
+ "WordToWrite1",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(StubExtFlashWriteRequest, has_wordtowrite1),
+ offsetof(StubExtFlashWriteRequest, wordtowrite1),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "WordToWrite2",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(StubExtFlashWriteRequest, has_wordtowrite2),
+ offsetof(StubExtFlashWriteRequest, wordtowrite2),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "WordToWrite3",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(StubExtFlashWriteRequest, has_wordtowrite3),
+ offsetof(StubExtFlashWriteRequest, wordtowrite3),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "WordToWrite4",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(StubExtFlashWriteRequest, has_wordtowrite4),
+ offsetof(StubExtFlashWriteRequest, wordtowrite4),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "WordToWrite5",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(StubExtFlashWriteRequest, has_wordtowrite5),
+ offsetof(StubExtFlashWriteRequest, wordtowrite5),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_ext_flash_write_request__field_indices_by_name[] = {
+ 0, /* field[0] = WordToWrite1 */
+ 1, /* field[1] = WordToWrite2 */
+ 2, /* field[2] = WordToWrite3 */
+ 3, /* field[3] = WordToWrite4 */
+ 4, /* field[4] = WordToWrite5 */
+};
+static const ProtobufCIntRange stub_ext_flash_write_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 5 }
+};
+const ProtobufCMessageDescriptor stub_ext_flash_write_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubExtFlashWriteRequest",
+ "StubExtFlashWriteRequest",
+ "StubExtFlashWriteRequest",
+ "",
+ sizeof(StubExtFlashWriteRequest),
+ 5,
+ stub_ext_flash_write_request__field_descriptors,
+ stub_ext_flash_write_request__field_indices_by_name,
+ 1, stub_ext_flash_write_request__number_ranges,
+ (ProtobufCMessageInit) stub_ext_flash_write_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashWriteRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashWriteRequest.pb-c.h
new file mode 100644
index 000000000..91453d218
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashWriteRequest.pb-c.h
@@ -0,0 +1,95 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubExtFlashWriteRequest.proto */
+
+#ifndef PROTOBUF_C_StubExtFlashWriteRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubExtFlashWriteRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubExtFlashWriteRequest StubExtFlashWriteRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubExtFlashWriteRequest
+{
+ ProtobufCMessage base;
+ /*
+ *0..255
+ */
+ protobuf_c_boolean has_wordtowrite1;
+ int32_t wordtowrite1;
+ /*
+ *0..255
+ */
+ protobuf_c_boolean has_wordtowrite2;
+ int32_t wordtowrite2;
+ /*
+ *0..255
+ */
+ protobuf_c_boolean has_wordtowrite3;
+ int32_t wordtowrite3;
+ /*
+ *0..255
+ */
+ protobuf_c_boolean has_wordtowrite4;
+ int32_t wordtowrite4;
+ /*
+ *0..255
+ */
+ protobuf_c_boolean has_wordtowrite5;
+ int32_t wordtowrite5;
+};
+#define STUB_EXT_FLASH_WRITE_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_ext_flash_write_request__descriptor) \
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+
+
+/* StubExtFlashWriteRequest methods */
+void stub_ext_flash_write_request__init
+ (StubExtFlashWriteRequest *message);
+size_t stub_ext_flash_write_request__get_packed_size
+ (const StubExtFlashWriteRequest *message);
+size_t stub_ext_flash_write_request__pack
+ (const StubExtFlashWriteRequest *message,
+ uint8_t *out);
+size_t stub_ext_flash_write_request__pack_to_buffer
+ (const StubExtFlashWriteRequest *message,
+ ProtobufCBuffer *buffer);
+StubExtFlashWriteRequest *
+ stub_ext_flash_write_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_ext_flash_write_request__free_unpacked
+ (StubExtFlashWriteRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubExtFlashWriteRequest_Closure)
+ (const StubExtFlashWriteRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_ext_flash_write_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubExtFlashWriteRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashWriteResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashWriteResponse.pb-c.c
new file mode 100644
index 000000000..33a3b7e98
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashWriteResponse.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubExtFlashWriteResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubExtFlashWriteResponse.pb-c.h"
+void stub_ext_flash_write_response__init
+ (StubExtFlashWriteResponse *message)
+{
+ static const StubExtFlashWriteResponse init_value = STUB_EXT_FLASH_WRITE_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_ext_flash_write_response__get_packed_size
+ (const StubExtFlashWriteResponse *message)
+{
+ assert(message->base.descriptor == &stub_ext_flash_write_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_ext_flash_write_response__pack
+ (const StubExtFlashWriteResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_ext_flash_write_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_ext_flash_write_response__pack_to_buffer
+ (const StubExtFlashWriteResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_ext_flash_write_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubExtFlashWriteResponse *
+ stub_ext_flash_write_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubExtFlashWriteResponse *)
+ protobuf_c_message_unpack (&stub_ext_flash_write_response__descriptor,
+ allocator, len, data);
+}
+void stub_ext_flash_write_response__free_unpacked
+ (StubExtFlashWriteResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_ext_flash_write_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_ext_flash_write_response__field_descriptors[2] =
+{
+ {
+ "Status",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubExtFlashWriteResponse, status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "StatusWord",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubExtFlashWriteResponse, has_statusword),
+ offsetof(StubExtFlashWriteResponse, statusword),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_ext_flash_write_response__field_indices_by_name[] = {
+ 0, /* field[0] = Status */
+ 1, /* field[1] = StatusWord */
+};
+static const ProtobufCIntRange stub_ext_flash_write_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor stub_ext_flash_write_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubExtFlashWriteResponse",
+ "StubExtFlashWriteResponse",
+ "StubExtFlashWriteResponse",
+ "",
+ sizeof(StubExtFlashWriteResponse),
+ 2,
+ stub_ext_flash_write_response__field_descriptors,
+ stub_ext_flash_write_response__field_indices_by_name,
+ 1, stub_ext_flash_write_response__number_ranges,
+ (ProtobufCMessageInit) stub_ext_flash_write_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashWriteResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashWriteResponse.pb-c.h
new file mode 100644
index 000000000..50d2f94d4
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubExtFlashWriteResponse.pb-c.h
@@ -0,0 +1,79 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubExtFlashWriteResponse.proto */
+
+#ifndef PROTOBUF_C_StubExtFlashWriteResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubExtFlashWriteResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubExtFlashWriteResponse StubExtFlashWriteResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubExtFlashWriteResponse
+{
+ ProtobufCMessage base;
+ /*
+ * Passed/Failed
+ */
+ char *status;
+ /*
+ * Error number/bit when the status is Failed
+ */
+ protobuf_c_boolean has_statusword;
+ uint32_t statusword;
+};
+#define STUB_EXT_FLASH_WRITE_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_ext_flash_write_response__descriptor) \
+ , NULL, 0, 0 }
+
+
+/* StubExtFlashWriteResponse methods */
+void stub_ext_flash_write_response__init
+ (StubExtFlashWriteResponse *message);
+size_t stub_ext_flash_write_response__get_packed_size
+ (const StubExtFlashWriteResponse *message);
+size_t stub_ext_flash_write_response__pack
+ (const StubExtFlashWriteResponse *message,
+ uint8_t *out);
+size_t stub_ext_flash_write_response__pack_to_buffer
+ (const StubExtFlashWriteResponse *message,
+ ProtobufCBuffer *buffer);
+StubExtFlashWriteResponse *
+ stub_ext_flash_write_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_ext_flash_write_response__free_unpacked
+ (StubExtFlashWriteResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubExtFlashWriteResponse_Closure)
+ (const StubExtFlashWriteResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_ext_flash_write_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubExtFlashWriteResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubF3Gpo01WriteRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubF3Gpo01WriteRequest.pb-c.c
new file mode 100644
index 000000000..69466269b
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubF3Gpo01WriteRequest.pb-c.c
@@ -0,0 +1,235 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubF3Gpo01WriteRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubF3Gpo01WriteRequest.pb-c.h"
+void stub_f3_gpo01_write_request__init
+ (StubF3Gpo01WriteRequest *message)
+{
+ static const StubF3Gpo01WriteRequest init_value = STUB_F3_GPO01_WRITE_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_f3_gpo01_write_request__get_packed_size
+ (const StubF3Gpo01WriteRequest *message)
+{
+ assert(message->base.descriptor == &stub_f3_gpo01_write_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_f3_gpo01_write_request__pack
+ (const StubF3Gpo01WriteRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_f3_gpo01_write_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_f3_gpo01_write_request__pack_to_buffer
+ (const StubF3Gpo01WriteRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_f3_gpo01_write_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubF3Gpo01WriteRequest *
+ stub_f3_gpo01_write_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubF3Gpo01WriteRequest *)
+ protobuf_c_message_unpack (&stub_f3_gpo01_write_request__descriptor,
+ allocator, len, data);
+}
+void stub_f3_gpo01_write_request__free_unpacked
+ (StubF3Gpo01WriteRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_f3_gpo01_write_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_f3_gpo01_write_request__field_descriptors[12] =
+{
+ {
+ "F3_GPO_LED4",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubF3Gpo01WriteRequest, has_f3_gpo_led4),
+ offsetof(StubF3Gpo01WriteRequest, f3_gpo_led4),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Write_F3_GPO_LED4",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubF3Gpo01WriteRequest, has_write_f3_gpo_led4),
+ offsetof(StubF3Gpo01WriteRequest, write_f3_gpo_led4),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "F3_GPO_LED3",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubF3Gpo01WriteRequest, has_f3_gpo_led3),
+ offsetof(StubF3Gpo01WriteRequest, f3_gpo_led3),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Write_F3_GPO_LED3",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubF3Gpo01WriteRequest, has_write_f3_gpo_led3),
+ offsetof(StubF3Gpo01WriteRequest, write_f3_gpo_led3),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "F3_GPO_LED2",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubF3Gpo01WriteRequest, has_f3_gpo_led2),
+ offsetof(StubF3Gpo01WriteRequest, f3_gpo_led2),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Write_F3_GPO_LED2",
+ 6,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubF3Gpo01WriteRequest, has_write_f3_gpo_led2),
+ offsetof(StubF3Gpo01WriteRequest, write_f3_gpo_led2),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "F3_GPO_LED1",
+ 7,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubF3Gpo01WriteRequest, has_f3_gpo_led1),
+ offsetof(StubF3Gpo01WriteRequest, f3_gpo_led1),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Write_F3_GPO_LED1",
+ 8,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubF3Gpo01WriteRequest, has_write_f3_gpo_led1),
+ offsetof(StubF3Gpo01WriteRequest, write_f3_gpo_led1),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "F3_GPO_EXTWINDER_SSR11_CTRL",
+ 9,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubF3Gpo01WriteRequest, has_f3_gpo_extwinder_ssr11_ctrl),
+ offsetof(StubF3Gpo01WriteRequest, f3_gpo_extwinder_ssr11_ctrl),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Write_F3_GPO_EXTWINDER_SSR11_CTRL",
+ 10,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubF3Gpo01WriteRequest, has_write_f3_gpo_extwinder_ssr11_ctrl),
+ offsetof(StubF3Gpo01WriteRequest, write_f3_gpo_extwinder_ssr11_ctrl),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "F3_GPO_BUZZER",
+ 11,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubF3Gpo01WriteRequest, has_f3_gpo_buzzer),
+ offsetof(StubF3Gpo01WriteRequest, f3_gpo_buzzer),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Write_F3_GPO_BUZZER",
+ 12,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubF3Gpo01WriteRequest, has_write_f3_gpo_buzzer),
+ offsetof(StubF3Gpo01WriteRequest, write_f3_gpo_buzzer),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_f3_gpo01_write_request__field_indices_by_name[] = {
+ 10, /* field[10] = F3_GPO_BUZZER */
+ 8, /* field[8] = F3_GPO_EXTWINDER_SSR11_CTRL */
+ 6, /* field[6] = F3_GPO_LED1 */
+ 4, /* field[4] = F3_GPO_LED2 */
+ 2, /* field[2] = F3_GPO_LED3 */
+ 0, /* field[0] = F3_GPO_LED4 */
+ 11, /* field[11] = Write_F3_GPO_BUZZER */
+ 9, /* field[9] = Write_F3_GPO_EXTWINDER_SSR11_CTRL */
+ 7, /* field[7] = Write_F3_GPO_LED1 */
+ 5, /* field[5] = Write_F3_GPO_LED2 */
+ 3, /* field[3] = Write_F3_GPO_LED3 */
+ 1, /* field[1] = Write_F3_GPO_LED4 */
+};
+static const ProtobufCIntRange stub_f3_gpo01_write_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 12 }
+};
+const ProtobufCMessageDescriptor stub_f3_gpo01_write_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubF3Gpo01WriteRequest",
+ "StubF3Gpo01WriteRequest",
+ "StubF3Gpo01WriteRequest",
+ "",
+ sizeof(StubF3Gpo01WriteRequest),
+ 12,
+ stub_f3_gpo01_write_request__field_descriptors,
+ stub_f3_gpo01_write_request__field_indices_by_name,
+ 1, stub_f3_gpo01_write_request__number_ranges,
+ (ProtobufCMessageInit) stub_f3_gpo01_write_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubF3Gpo01WriteRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubF3Gpo01WriteRequest.pb-c.h
new file mode 100644
index 000000000..1dec7e478
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubF3Gpo01WriteRequest.pb-c.h
@@ -0,0 +1,100 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubF3Gpo01WriteRequest.proto */
+
+#ifndef PROTOBUF_C_StubF3Gpo01WriteRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubF3Gpo01WriteRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubF3Gpo01WriteRequest StubF3Gpo01WriteRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubF3Gpo01WriteRequest
+{
+ ProtobufCMessage base;
+ /*
+ *value
+ */
+ protobuf_c_boolean has_f3_gpo_led4;
+ protobuf_c_boolean f3_gpo_led4;
+ /*
+ *write
+ */
+ protobuf_c_boolean has_write_f3_gpo_led4;
+ protobuf_c_boolean write_f3_gpo_led4;
+ protobuf_c_boolean has_f3_gpo_led3;
+ protobuf_c_boolean f3_gpo_led3;
+ protobuf_c_boolean has_write_f3_gpo_led3;
+ protobuf_c_boolean write_f3_gpo_led3;
+ protobuf_c_boolean has_f3_gpo_led2;
+ protobuf_c_boolean f3_gpo_led2;
+ protobuf_c_boolean has_write_f3_gpo_led2;
+ protobuf_c_boolean write_f3_gpo_led2;
+ protobuf_c_boolean has_f3_gpo_led1;
+ protobuf_c_boolean f3_gpo_led1;
+ protobuf_c_boolean has_write_f3_gpo_led1;
+ protobuf_c_boolean write_f3_gpo_led1;
+ protobuf_c_boolean has_f3_gpo_extwinder_ssr11_ctrl;
+ protobuf_c_boolean f3_gpo_extwinder_ssr11_ctrl;
+ protobuf_c_boolean has_write_f3_gpo_extwinder_ssr11_ctrl;
+ protobuf_c_boolean write_f3_gpo_extwinder_ssr11_ctrl;
+ protobuf_c_boolean has_f3_gpo_buzzer;
+ protobuf_c_boolean f3_gpo_buzzer;
+ protobuf_c_boolean has_write_f3_gpo_buzzer;
+ protobuf_c_boolean write_f3_gpo_buzzer;
+};
+#define STUB_F3_GPO01_WRITE_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_f3_gpo01_write_request__descriptor) \
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+
+
+/* StubF3Gpo01WriteRequest methods */
+void stub_f3_gpo01_write_request__init
+ (StubF3Gpo01WriteRequest *message);
+size_t stub_f3_gpo01_write_request__get_packed_size
+ (const StubF3Gpo01WriteRequest *message);
+size_t stub_f3_gpo01_write_request__pack
+ (const StubF3Gpo01WriteRequest *message,
+ uint8_t *out);
+size_t stub_f3_gpo01_write_request__pack_to_buffer
+ (const StubF3Gpo01WriteRequest *message,
+ ProtobufCBuffer *buffer);
+StubF3Gpo01WriteRequest *
+ stub_f3_gpo01_write_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_f3_gpo01_write_request__free_unpacked
+ (StubF3Gpo01WriteRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubF3Gpo01WriteRequest_Closure)
+ (const StubF3Gpo01WriteRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_f3_gpo01_write_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubF3Gpo01WriteRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubF3Gpo01WriteResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubF3Gpo01WriteResponse.pb-c.c
new file mode 100644
index 000000000..4b852987e
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubF3Gpo01WriteResponse.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubF3Gpo01WriteResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubF3Gpo01WriteResponse.pb-c.h"
+void stub_f3_gpo01_write_response__init
+ (StubF3Gpo01WriteResponse *message)
+{
+ static const StubF3Gpo01WriteResponse init_value = STUB_F3_GPO01_WRITE_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_f3_gpo01_write_response__get_packed_size
+ (const StubF3Gpo01WriteResponse *message)
+{
+ assert(message->base.descriptor == &stub_f3_gpo01_write_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_f3_gpo01_write_response__pack
+ (const StubF3Gpo01WriteResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_f3_gpo01_write_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_f3_gpo01_write_response__pack_to_buffer
+ (const StubF3Gpo01WriteResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_f3_gpo01_write_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubF3Gpo01WriteResponse *
+ stub_f3_gpo01_write_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubF3Gpo01WriteResponse *)
+ protobuf_c_message_unpack (&stub_f3_gpo01_write_response__descriptor,
+ allocator, len, data);
+}
+void stub_f3_gpo01_write_response__free_unpacked
+ (StubF3Gpo01WriteResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_f3_gpo01_write_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_f3_gpo01_write_response__field_descriptors[2] =
+{
+ {
+ "Status",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubF3Gpo01WriteResponse, status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "StatusWord",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubF3Gpo01WriteResponse, has_statusword),
+ offsetof(StubF3Gpo01WriteResponse, statusword),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_f3_gpo01_write_response__field_indices_by_name[] = {
+ 0, /* field[0] = Status */
+ 1, /* field[1] = StatusWord */
+};
+static const ProtobufCIntRange stub_f3_gpo01_write_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor stub_f3_gpo01_write_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubF3Gpo01WriteResponse",
+ "StubF3Gpo01WriteResponse",
+ "StubF3Gpo01WriteResponse",
+ "",
+ sizeof(StubF3Gpo01WriteResponse),
+ 2,
+ stub_f3_gpo01_write_response__field_descriptors,
+ stub_f3_gpo01_write_response__field_indices_by_name,
+ 1, stub_f3_gpo01_write_response__number_ranges,
+ (ProtobufCMessageInit) stub_f3_gpo01_write_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubF3Gpo01WriteResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubF3Gpo01WriteResponse.pb-c.h
new file mode 100644
index 000000000..c245016a4
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubF3Gpo01WriteResponse.pb-c.h
@@ -0,0 +1,79 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubF3Gpo01WriteResponse.proto */
+
+#ifndef PROTOBUF_C_StubF3Gpo01WriteResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubF3Gpo01WriteResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubF3Gpo01WriteResponse StubF3Gpo01WriteResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubF3Gpo01WriteResponse
+{
+ ProtobufCMessage base;
+ /*
+ * Passed/Failed
+ */
+ char *status;
+ /*
+ * Error number/bit when the status is Failed
+ */
+ protobuf_c_boolean has_statusword;
+ uint32_t statusword;
+};
+#define STUB_F3_GPO01_WRITE_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_f3_gpo01_write_response__descriptor) \
+ , NULL, 0, 0 }
+
+
+/* StubF3Gpo01WriteResponse methods */
+void stub_f3_gpo01_write_response__init
+ (StubF3Gpo01WriteResponse *message);
+size_t stub_f3_gpo01_write_response__get_packed_size
+ (const StubF3Gpo01WriteResponse *message);
+size_t stub_f3_gpo01_write_response__pack
+ (const StubF3Gpo01WriteResponse *message,
+ uint8_t *out);
+size_t stub_f3_gpo01_write_response__pack_to_buffer
+ (const StubF3Gpo01WriteResponse *message,
+ ProtobufCBuffer *buffer);
+StubF3Gpo01WriteResponse *
+ stub_f3_gpo01_write_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_f3_gpo01_write_response__free_unpacked
+ (StubF3Gpo01WriteResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubF3Gpo01WriteResponse_Closure)
+ (const StubF3Gpo01WriteResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_f3_gpo01_write_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubF3Gpo01WriteResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadBackRegRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadBackRegRequest.pb-c.c
new file mode 100644
index 000000000..60519632e
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadBackRegRequest.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubFPGAReadBackRegRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubFPGAReadBackRegRequest.pb-c.h"
+void stub_fpgaread_back_reg_request__init
+ (StubFPGAReadBackRegRequest *message)
+{
+ static const StubFPGAReadBackRegRequest init_value = STUB_FPGAREAD_BACK_REG_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_fpgaread_back_reg_request__get_packed_size
+ (const StubFPGAReadBackRegRequest *message)
+{
+ assert(message->base.descriptor == &stub_fpgaread_back_reg_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_fpgaread_back_reg_request__pack
+ (const StubFPGAReadBackRegRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_fpgaread_back_reg_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_fpgaread_back_reg_request__pack_to_buffer
+ (const StubFPGAReadBackRegRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_fpgaread_back_reg_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubFPGAReadBackRegRequest *
+ stub_fpgaread_back_reg_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubFPGAReadBackRegRequest *)
+ protobuf_c_message_unpack (&stub_fpgaread_back_reg_request__descriptor,
+ allocator, len, data);
+}
+void stub_fpgaread_back_reg_request__free_unpacked
+ (StubFPGAReadBackRegRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_fpgaread_back_reg_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_fpgaread_back_reg_request__field_descriptors[2] =
+{
+ {
+ "FPGAId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubFPGAReadBackRegRequest, has_fpgaid),
+ offsetof(StubFPGAReadBackRegRequest, fpgaid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Value",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubFPGAReadBackRegRequest, has_value),
+ offsetof(StubFPGAReadBackRegRequest, value),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_fpgaread_back_reg_request__field_indices_by_name[] = {
+ 0, /* field[0] = FPGAId */
+ 1, /* field[1] = Value */
+};
+static const ProtobufCIntRange stub_fpgaread_back_reg_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor stub_fpgaread_back_reg_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubFPGAReadBackRegRequest",
+ "StubFPGAReadBackRegRequest",
+ "StubFPGAReadBackRegRequest",
+ "",
+ sizeof(StubFPGAReadBackRegRequest),
+ 2,
+ stub_fpgaread_back_reg_request__field_descriptors,
+ stub_fpgaread_back_reg_request__field_indices_by_name,
+ 1, stub_fpgaread_back_reg_request__number_ranges,
+ (ProtobufCMessageInit) stub_fpgaread_back_reg_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadBackRegRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadBackRegRequest.pb-c.h
new file mode 100644
index 000000000..e4ae69f1f
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadBackRegRequest.pb-c.h
@@ -0,0 +1,80 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubFPGAReadBackRegRequest.proto */
+
+#ifndef PROTOBUF_C_StubFPGAReadBackRegRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubFPGAReadBackRegRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubFPGAReadBackRegRequest StubFPGAReadBackRegRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubFPGAReadBackRegRequest
+{
+ ProtobufCMessage base;
+ /*
+ * 0..2
+ */
+ protobuf_c_boolean has_fpgaid;
+ uint32_t fpgaid;
+ /*
+ * 16 bit
+ */
+ protobuf_c_boolean has_value;
+ uint32_t value;
+};
+#define STUB_FPGAREAD_BACK_REG_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_fpgaread_back_reg_request__descriptor) \
+ , 0, 0, 0, 0 }
+
+
+/* StubFPGAReadBackRegRequest methods */
+void stub_fpgaread_back_reg_request__init
+ (StubFPGAReadBackRegRequest *message);
+size_t stub_fpgaread_back_reg_request__get_packed_size
+ (const StubFPGAReadBackRegRequest *message);
+size_t stub_fpgaread_back_reg_request__pack
+ (const StubFPGAReadBackRegRequest *message,
+ uint8_t *out);
+size_t stub_fpgaread_back_reg_request__pack_to_buffer
+ (const StubFPGAReadBackRegRequest *message,
+ ProtobufCBuffer *buffer);
+StubFPGAReadBackRegRequest *
+ stub_fpgaread_back_reg_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_fpgaread_back_reg_request__free_unpacked
+ (StubFPGAReadBackRegRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubFPGAReadBackRegRequest_Closure)
+ (const StubFPGAReadBackRegRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_fpgaread_back_reg_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubFPGAReadBackRegRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadBackRegResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadBackRegResponse.pb-c.c
new file mode 100644
index 000000000..e222b3b24
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadBackRegResponse.pb-c.c
@@ -0,0 +1,132 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubFPGAReadBackRegResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubFPGAReadBackRegResponse.pb-c.h"
+void stub_fpgaread_back_reg_response__init
+ (StubFPGAReadBackRegResponse *message)
+{
+ static const StubFPGAReadBackRegResponse init_value = STUB_FPGAREAD_BACK_REG_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_fpgaread_back_reg_response__get_packed_size
+ (const StubFPGAReadBackRegResponse *message)
+{
+ assert(message->base.descriptor == &stub_fpgaread_back_reg_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_fpgaread_back_reg_response__pack
+ (const StubFPGAReadBackRegResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_fpgaread_back_reg_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_fpgaread_back_reg_response__pack_to_buffer
+ (const StubFPGAReadBackRegResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_fpgaread_back_reg_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubFPGAReadBackRegResponse *
+ stub_fpgaread_back_reg_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubFPGAReadBackRegResponse *)
+ protobuf_c_message_unpack (&stub_fpgaread_back_reg_response__descriptor,
+ allocator, len, data);
+}
+void stub_fpgaread_back_reg_response__free_unpacked
+ (StubFPGAReadBackRegResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_fpgaread_back_reg_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_fpgaread_back_reg_response__field_descriptors[4] =
+{
+ {
+ "FPGAId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubFPGAReadBackRegResponse, has_fpgaid),
+ offsetof(StubFPGAReadBackRegResponse, fpgaid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "ReadBackValue",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubFPGAReadBackRegResponse, has_readbackvalue),
+ offsetof(StubFPGAReadBackRegResponse, readbackvalue),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Status",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubFPGAReadBackRegResponse, status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "StatusWord",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubFPGAReadBackRegResponse, has_statusword),
+ offsetof(StubFPGAReadBackRegResponse, statusword),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_fpgaread_back_reg_response__field_indices_by_name[] = {
+ 0, /* field[0] = FPGAId */
+ 1, /* field[1] = ReadBackValue */
+ 2, /* field[2] = Status */
+ 3, /* field[3] = StatusWord */
+};
+static const ProtobufCIntRange stub_fpgaread_back_reg_response__number_ranges[2 + 1] =
+{
+ { 1, 0 },
+ { 4, 2 },
+ { 0, 4 }
+};
+const ProtobufCMessageDescriptor stub_fpgaread_back_reg_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubFPGAReadBackRegResponse",
+ "StubFPGAReadBackRegResponse",
+ "StubFPGAReadBackRegResponse",
+ "",
+ sizeof(StubFPGAReadBackRegResponse),
+ 4,
+ stub_fpgaread_back_reg_response__field_descriptors,
+ stub_fpgaread_back_reg_response__field_indices_by_name,
+ 2, stub_fpgaread_back_reg_response__number_ranges,
+ (ProtobufCMessageInit) stub_fpgaread_back_reg_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadBackRegResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadBackRegResponse.pb-c.h
new file mode 100644
index 000000000..234017433
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadBackRegResponse.pb-c.h
@@ -0,0 +1,89 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubFPGAReadBackRegResponse.proto */
+
+#ifndef PROTOBUF_C_StubFPGAReadBackRegResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubFPGAReadBackRegResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubFPGAReadBackRegResponse StubFPGAReadBackRegResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubFPGAReadBackRegResponse
+{
+ ProtobufCMessage base;
+ /*
+ * 0..2
+ */
+ protobuf_c_boolean has_fpgaid;
+ uint32_t fpgaid;
+ /*
+ * 16 bit
+ */
+ protobuf_c_boolean has_readbackvalue;
+ uint32_t readbackvalue;
+ /*
+ * Passed/Failed
+ */
+ char *status;
+ /*
+ * Error number/bit when the status is Failed
+ */
+ protobuf_c_boolean has_statusword;
+ uint32_t statusword;
+};
+#define STUB_FPGAREAD_BACK_REG_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_fpgaread_back_reg_response__descriptor) \
+ , 0, 0, 0, 0, NULL, 0, 0 }
+
+
+/* StubFPGAReadBackRegResponse methods */
+void stub_fpgaread_back_reg_response__init
+ (StubFPGAReadBackRegResponse *message);
+size_t stub_fpgaread_back_reg_response__get_packed_size
+ (const StubFPGAReadBackRegResponse *message);
+size_t stub_fpgaread_back_reg_response__pack
+ (const StubFPGAReadBackRegResponse *message,
+ uint8_t *out);
+size_t stub_fpgaread_back_reg_response__pack_to_buffer
+ (const StubFPGAReadBackRegResponse *message,
+ ProtobufCBuffer *buffer);
+StubFPGAReadBackRegResponse *
+ stub_fpgaread_back_reg_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_fpgaread_back_reg_response__free_unpacked
+ (StubFPGAReadBackRegResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubFPGAReadBackRegResponse_Closure)
+ (const StubFPGAReadBackRegResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_fpgaread_back_reg_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubFPGAReadBackRegResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadVersionRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadVersionRequest.pb-c.c
new file mode 100644
index 000000000..5381c462a
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadVersionRequest.pb-c.c
@@ -0,0 +1,92 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubFPGAReadVersionRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubFPGAReadVersionRequest.pb-c.h"
+void stub_fpgaread_version_request__init
+ (StubFPGAReadVersionRequest *message)
+{
+ static const StubFPGAReadVersionRequest init_value = STUB_FPGAREAD_VERSION_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_fpgaread_version_request__get_packed_size
+ (const StubFPGAReadVersionRequest *message)
+{
+ assert(message->base.descriptor == &stub_fpgaread_version_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_fpgaread_version_request__pack
+ (const StubFPGAReadVersionRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_fpgaread_version_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_fpgaread_version_request__pack_to_buffer
+ (const StubFPGAReadVersionRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_fpgaread_version_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubFPGAReadVersionRequest *
+ stub_fpgaread_version_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubFPGAReadVersionRequest *)
+ protobuf_c_message_unpack (&stub_fpgaread_version_request__descriptor,
+ allocator, len, data);
+}
+void stub_fpgaread_version_request__free_unpacked
+ (StubFPGAReadVersionRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_fpgaread_version_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_fpgaread_version_request__field_descriptors[1] =
+{
+ {
+ "FPGAId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubFPGAReadVersionRequest, has_fpgaid),
+ offsetof(StubFPGAReadVersionRequest, fpgaid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_fpgaread_version_request__field_indices_by_name[] = {
+ 0, /* field[0] = FPGAId */
+};
+static const ProtobufCIntRange stub_fpgaread_version_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 1 }
+};
+const ProtobufCMessageDescriptor stub_fpgaread_version_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubFPGAReadVersionRequest",
+ "StubFPGAReadVersionRequest",
+ "StubFPGAReadVersionRequest",
+ "",
+ sizeof(StubFPGAReadVersionRequest),
+ 1,
+ stub_fpgaread_version_request__field_descriptors,
+ stub_fpgaread_version_request__field_indices_by_name,
+ 1, stub_fpgaread_version_request__number_ranges,
+ (ProtobufCMessageInit) stub_fpgaread_version_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadVersionRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadVersionRequest.pb-c.h
new file mode 100644
index 000000000..54db77bad
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadVersionRequest.pb-c.h
@@ -0,0 +1,75 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubFPGAReadVersionRequest.proto */
+
+#ifndef PROTOBUF_C_StubFPGAReadVersionRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubFPGAReadVersionRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubFPGAReadVersionRequest StubFPGAReadVersionRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubFPGAReadVersionRequest
+{
+ ProtobufCMessage base;
+ /*
+ * 0..2
+ */
+ protobuf_c_boolean has_fpgaid;
+ uint32_t fpgaid;
+};
+#define STUB_FPGAREAD_VERSION_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_fpgaread_version_request__descriptor) \
+ , 0, 0 }
+
+
+/* StubFPGAReadVersionRequest methods */
+void stub_fpgaread_version_request__init
+ (StubFPGAReadVersionRequest *message);
+size_t stub_fpgaread_version_request__get_packed_size
+ (const StubFPGAReadVersionRequest *message);
+size_t stub_fpgaread_version_request__pack
+ (const StubFPGAReadVersionRequest *message,
+ uint8_t *out);
+size_t stub_fpgaread_version_request__pack_to_buffer
+ (const StubFPGAReadVersionRequest *message,
+ ProtobufCBuffer *buffer);
+StubFPGAReadVersionRequest *
+ stub_fpgaread_version_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_fpgaread_version_request__free_unpacked
+ (StubFPGAReadVersionRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubFPGAReadVersionRequest_Closure)
+ (const StubFPGAReadVersionRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_fpgaread_version_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubFPGAReadVersionRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadVersionResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadVersionResponse.pb-c.c
new file mode 100644
index 000000000..79c25d9a5
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadVersionResponse.pb-c.c
@@ -0,0 +1,170 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubFPGAReadVersionResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubFPGAReadVersionResponse.pb-c.h"
+void stub_fpgaread_version_response__init
+ (StubFPGAReadVersionResponse *message)
+{
+ static const StubFPGAReadVersionResponse init_value = STUB_FPGAREAD_VERSION_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_fpgaread_version_response__get_packed_size
+ (const StubFPGAReadVersionResponse *message)
+{
+ assert(message->base.descriptor == &stub_fpgaread_version_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_fpgaread_version_response__pack
+ (const StubFPGAReadVersionResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_fpgaread_version_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_fpgaread_version_response__pack_to_buffer
+ (const StubFPGAReadVersionResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_fpgaread_version_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubFPGAReadVersionResponse *
+ stub_fpgaread_version_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubFPGAReadVersionResponse *)
+ protobuf_c_message_unpack (&stub_fpgaread_version_response__descriptor,
+ allocator, len, data);
+}
+void stub_fpgaread_version_response__free_unpacked
+ (StubFPGAReadVersionResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_fpgaread_version_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_fpgaread_version_response__field_descriptors[7] =
+{
+ {
+ "FPGAId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubFPGAReadVersionResponse, has_fpgaid),
+ offsetof(StubFPGAReadVersionResponse, fpgaid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Day",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubFPGAReadVersionResponse, has_day),
+ offsetof(StubFPGAReadVersionResponse, day),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Month",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubFPGAReadVersionResponse, has_month),
+ offsetof(StubFPGAReadVersionResponse, month),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Year",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubFPGAReadVersionResponse, has_year),
+ offsetof(StubFPGAReadVersionResponse, year),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Ver_num",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubFPGAReadVersionResponse, has_ver_num),
+ offsetof(StubFPGAReadVersionResponse, ver_num),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Status",
+ 6,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubFPGAReadVersionResponse, status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "StatusWord",
+ 7,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubFPGAReadVersionResponse, has_statusword),
+ offsetof(StubFPGAReadVersionResponse, statusword),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_fpgaread_version_response__field_indices_by_name[] = {
+ 1, /* field[1] = Day */
+ 0, /* field[0] = FPGAId */
+ 2, /* field[2] = Month */
+ 5, /* field[5] = Status */
+ 6, /* field[6] = StatusWord */
+ 4, /* field[4] = Ver_num */
+ 3, /* field[3] = Year */
+};
+static const ProtobufCIntRange stub_fpgaread_version_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 7 }
+};
+const ProtobufCMessageDescriptor stub_fpgaread_version_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubFPGAReadVersionResponse",
+ "StubFPGAReadVersionResponse",
+ "StubFPGAReadVersionResponse",
+ "",
+ sizeof(StubFPGAReadVersionResponse),
+ 7,
+ stub_fpgaread_version_response__field_descriptors,
+ stub_fpgaread_version_response__field_indices_by_name,
+ 1, stub_fpgaread_version_response__number_ranges,
+ (ProtobufCMessageInit) stub_fpgaread_version_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadVersionResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadVersionResponse.pb-c.h
new file mode 100644
index 000000000..360f7faac
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubFPGAReadVersionResponse.pb-c.h
@@ -0,0 +1,92 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubFPGAReadVersionResponse.proto */
+
+#ifndef PROTOBUF_C_StubFPGAReadVersionResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubFPGAReadVersionResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubFPGAReadVersionResponse StubFPGAReadVersionResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubFPGAReadVersionResponse
+{
+ ProtobufCMessage base;
+ /*
+ * 0..2
+ */
+ protobuf_c_boolean has_fpgaid;
+ uint32_t fpgaid;
+ protobuf_c_boolean has_day;
+ uint32_t day;
+ protobuf_c_boolean has_month;
+ uint32_t month;
+ protobuf_c_boolean has_year;
+ uint32_t year;
+ protobuf_c_boolean has_ver_num;
+ uint32_t ver_num;
+ /*
+ * Passed/Failed
+ */
+ char *status;
+ /*
+ * Error number/bit when the status is Failed
+ */
+ protobuf_c_boolean has_statusword;
+ uint32_t statusword;
+};
+#define STUB_FPGAREAD_VERSION_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_fpgaread_version_response__descriptor) \
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0 }
+
+
+/* StubFPGAReadVersionResponse methods */
+void stub_fpgaread_version_response__init
+ (StubFPGAReadVersionResponse *message);
+size_t stub_fpgaread_version_response__get_packed_size
+ (const StubFPGAReadVersionResponse *message);
+size_t stub_fpgaread_version_response__pack
+ (const StubFPGAReadVersionResponse *message,
+ uint8_t *out);
+size_t stub_fpgaread_version_response__pack_to_buffer
+ (const StubFPGAReadVersionResponse *message,
+ ProtobufCBuffer *buffer);
+StubFPGAReadVersionResponse *
+ stub_fpgaread_version_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_fpgaread_version_response__free_unpacked
+ (StubFPGAReadVersionResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubFPGAReadVersionResponse_Closure)
+ (const StubFPGAReadVersionResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_fpgaread_version_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubFPGAReadVersionResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOInputSetupRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOInputSetupRequest.pb-c.c
new file mode 100644
index 000000000..9ea597eeb
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOInputSetupRequest.pb-c.c
@@ -0,0 +1,131 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubGPIOInputSetupRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubGPIOInputSetupRequest.pb-c.h"
+void stub_gpioinput_setup_request__init
+ (StubGPIOInputSetupRequest *message)
+{
+ static const StubGPIOInputSetupRequest init_value = STUB_GPIOINPUT_SETUP_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_gpioinput_setup_request__get_packed_size
+ (const StubGPIOInputSetupRequest *message)
+{
+ assert(message->base.descriptor == &stub_gpioinput_setup_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_gpioinput_setup_request__pack
+ (const StubGPIOInputSetupRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_gpioinput_setup_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_gpioinput_setup_request__pack_to_buffer
+ (const StubGPIOInputSetupRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_gpioinput_setup_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubGPIOInputSetupRequest *
+ stub_gpioinput_setup_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubGPIOInputSetupRequest *)
+ protobuf_c_message_unpack (&stub_gpioinput_setup_request__descriptor,
+ allocator, len, data);
+}
+void stub_gpioinput_setup_request__free_unpacked
+ (StubGPIOInputSetupRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_gpioinput_setup_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_gpioinput_setup_request__field_descriptors[4] =
+{
+ {
+ "PortId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubGPIOInputSetupRequest, portid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "PinId",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubGPIOInputSetupRequest, has_pinid),
+ offsetof(StubGPIOInputSetupRequest, pinid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "SetInput",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubGPIOInputSetupRequest, has_setinput),
+ offsetof(StubGPIOInputSetupRequest, setinput),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "SetPullUP",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubGPIOInputSetupRequest, has_setpullup),
+ offsetof(StubGPIOInputSetupRequest, setpullup),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_gpioinput_setup_request__field_indices_by_name[] = {
+ 1, /* field[1] = PinId */
+ 0, /* field[0] = PortId */
+ 2, /* field[2] = SetInput */
+ 3, /* field[3] = SetPullUP */
+};
+static const ProtobufCIntRange stub_gpioinput_setup_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 4 }
+};
+const ProtobufCMessageDescriptor stub_gpioinput_setup_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubGPIOInputSetupRequest",
+ "StubGPIOInputSetupRequest",
+ "StubGPIOInputSetupRequest",
+ "",
+ sizeof(StubGPIOInputSetupRequest),
+ 4,
+ stub_gpioinput_setup_request__field_descriptors,
+ stub_gpioinput_setup_request__field_indices_by_name,
+ 1, stub_gpioinput_setup_request__number_ranges,
+ (ProtobufCMessageInit) stub_gpioinput_setup_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOInputSetupRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOInputSetupRequest.pb-c.h
new file mode 100644
index 000000000..3e515a650
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOInputSetupRequest.pb-c.h
@@ -0,0 +1,89 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubGPIOInputSetupRequest.proto */
+
+#ifndef PROTOBUF_C_StubGPIOInputSetupRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubGPIOInputSetupRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubGPIOInputSetupRequest StubGPIOInputSetupRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubGPIOInputSetupRequest
+{
+ ProtobufCMessage base;
+ /*
+ * A..
+ */
+ char *portid;
+ /*
+ * 0..7
+ */
+ protobuf_c_boolean has_pinid;
+ uint32_t pinid;
+ /*
+ * 0 - Set OUTPUT, 1 - Set INPUT,
+ */
+ protobuf_c_boolean has_setinput;
+ uint32_t setinput;
+ /*
+ *0 - Down, 1 - Up
+ */
+ protobuf_c_boolean has_setpullup;
+ uint32_t setpullup;
+};
+#define STUB_GPIOINPUT_SETUP_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_gpioinput_setup_request__descriptor) \
+ , NULL, 0, 0, 0, 0, 0, 0 }
+
+
+/* StubGPIOInputSetupRequest methods */
+void stub_gpioinput_setup_request__init
+ (StubGPIOInputSetupRequest *message);
+size_t stub_gpioinput_setup_request__get_packed_size
+ (const StubGPIOInputSetupRequest *message);
+size_t stub_gpioinput_setup_request__pack
+ (const StubGPIOInputSetupRequest *message,
+ uint8_t *out);
+size_t stub_gpioinput_setup_request__pack_to_buffer
+ (const StubGPIOInputSetupRequest *message,
+ ProtobufCBuffer *buffer);
+StubGPIOInputSetupRequest *
+ stub_gpioinput_setup_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_gpioinput_setup_request__free_unpacked
+ (StubGPIOInputSetupRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubGPIOInputSetupRequest_Closure)
+ (const StubGPIOInputSetupRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_gpioinput_setup_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubGPIOInputSetupRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOInputSetupResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOInputSetupResponse.pb-c.c
new file mode 100644
index 000000000..a7ad8a8e5
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOInputSetupResponse.pb-c.c
@@ -0,0 +1,131 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubGPIOInputSetupResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubGPIOInputSetupResponse.pb-c.h"
+void stub_gpioinput_setup_response__init
+ (StubGPIOInputSetupResponse *message)
+{
+ static const StubGPIOInputSetupResponse init_value = STUB_GPIOINPUT_SETUP_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_gpioinput_setup_response__get_packed_size
+ (const StubGPIOInputSetupResponse *message)
+{
+ assert(message->base.descriptor == &stub_gpioinput_setup_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_gpioinput_setup_response__pack
+ (const StubGPIOInputSetupResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_gpioinput_setup_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_gpioinput_setup_response__pack_to_buffer
+ (const StubGPIOInputSetupResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_gpioinput_setup_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubGPIOInputSetupResponse *
+ stub_gpioinput_setup_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubGPIOInputSetupResponse *)
+ protobuf_c_message_unpack (&stub_gpioinput_setup_response__descriptor,
+ allocator, len, data);
+}
+void stub_gpioinput_setup_response__free_unpacked
+ (StubGPIOInputSetupResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_gpioinput_setup_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_gpioinput_setup_response__field_descriptors[4] =
+{
+ {
+ "PortId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubGPIOInputSetupResponse, portid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "PinId",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubGPIOInputSetupResponse, has_pinid),
+ offsetof(StubGPIOInputSetupResponse, pinid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Status",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubGPIOInputSetupResponse, status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "StatusWord",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubGPIOInputSetupResponse, has_statusword),
+ offsetof(StubGPIOInputSetupResponse, statusword),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_gpioinput_setup_response__field_indices_by_name[] = {
+ 1, /* field[1] = PinId */
+ 0, /* field[0] = PortId */
+ 2, /* field[2] = Status */
+ 3, /* field[3] = StatusWord */
+};
+static const ProtobufCIntRange stub_gpioinput_setup_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 4 }
+};
+const ProtobufCMessageDescriptor stub_gpioinput_setup_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubGPIOInputSetupResponse",
+ "StubGPIOInputSetupResponse",
+ "StubGPIOInputSetupResponse",
+ "",
+ sizeof(StubGPIOInputSetupResponse),
+ 4,
+ stub_gpioinput_setup_response__field_descriptors,
+ stub_gpioinput_setup_response__field_indices_by_name,
+ 1, stub_gpioinput_setup_response__number_ranges,
+ (ProtobufCMessageInit) stub_gpioinput_setup_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOInputSetupResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOInputSetupResponse.pb-c.h
new file mode 100644
index 000000000..7a93c3048
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOInputSetupResponse.pb-c.h
@@ -0,0 +1,88 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubGPIOInputSetupResponse.proto */
+
+#ifndef PROTOBUF_C_StubGPIOInputSetupResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubGPIOInputSetupResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubGPIOInputSetupResponse StubGPIOInputSetupResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubGPIOInputSetupResponse
+{
+ ProtobufCMessage base;
+ /*
+ * A..
+ */
+ char *portid;
+ /*
+ * 0..7
+ */
+ protobuf_c_boolean has_pinid;
+ uint32_t pinid;
+ /*
+ * Passed/Failed
+ */
+ char *status;
+ /*
+ * Error number/bit when the status is Failed
+ */
+ protobuf_c_boolean has_statusword;
+ uint32_t statusword;
+};
+#define STUB_GPIOINPUT_SETUP_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_gpioinput_setup_response__descriptor) \
+ , NULL, 0, 0, NULL, 0, 0 }
+
+
+/* StubGPIOInputSetupResponse methods */
+void stub_gpioinput_setup_response__init
+ (StubGPIOInputSetupResponse *message);
+size_t stub_gpioinput_setup_response__get_packed_size
+ (const StubGPIOInputSetupResponse *message);
+size_t stub_gpioinput_setup_response__pack
+ (const StubGPIOInputSetupResponse *message,
+ uint8_t *out);
+size_t stub_gpioinput_setup_response__pack_to_buffer
+ (const StubGPIOInputSetupResponse *message,
+ ProtobufCBuffer *buffer);
+StubGPIOInputSetupResponse *
+ stub_gpioinput_setup_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_gpioinput_setup_response__free_unpacked
+ (StubGPIOInputSetupResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubGPIOInputSetupResponse_Closure)
+ (const StubGPIOInputSetupResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_gpioinput_setup_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubGPIOInputSetupResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadBitRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadBitRequest.pb-c.c
new file mode 100644
index 000000000..68826631e
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadBitRequest.pb-c.c
@@ -0,0 +1,131 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubGPIOReadBitRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubGPIOReadBitRequest.pb-c.h"
+void stub_gpioread_bit_request__init
+ (StubGPIOReadBitRequest *message)
+{
+ static const StubGPIOReadBitRequest init_value = STUB_GPIOREAD_BIT_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_gpioread_bit_request__get_packed_size
+ (const StubGPIOReadBitRequest *message)
+{
+ assert(message->base.descriptor == &stub_gpioread_bit_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_gpioread_bit_request__pack
+ (const StubGPIOReadBitRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_gpioread_bit_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_gpioread_bit_request__pack_to_buffer
+ (const StubGPIOReadBitRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_gpioread_bit_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubGPIOReadBitRequest *
+ stub_gpioread_bit_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubGPIOReadBitRequest *)
+ protobuf_c_message_unpack (&stub_gpioread_bit_request__descriptor,
+ allocator, len, data);
+}
+void stub_gpioread_bit_request__free_unpacked
+ (StubGPIOReadBitRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_gpioread_bit_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_gpioread_bit_request__field_descriptors[4] =
+{
+ {
+ "PortId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubGPIOReadBitRequest, portid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "PinId",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubGPIOReadBitRequest, has_pinid),
+ offsetof(StubGPIOReadBitRequest, pinid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Polling",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubGPIOReadBitRequest, has_polling),
+ offsetof(StubGPIOReadBitRequest, polling),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "PollExpValue",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubGPIOReadBitRequest, has_pollexpvalue),
+ offsetof(StubGPIOReadBitRequest, pollexpvalue),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_gpioread_bit_request__field_indices_by_name[] = {
+ 1, /* field[1] = PinId */
+ 3, /* field[3] = PollExpValue */
+ 2, /* field[2] = Polling */
+ 0, /* field[0] = PortId */
+};
+static const ProtobufCIntRange stub_gpioread_bit_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 4 }
+};
+const ProtobufCMessageDescriptor stub_gpioread_bit_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubGPIOReadBitRequest",
+ "StubGPIOReadBitRequest",
+ "StubGPIOReadBitRequest",
+ "",
+ sizeof(StubGPIOReadBitRequest),
+ 4,
+ stub_gpioread_bit_request__field_descriptors,
+ stub_gpioread_bit_request__field_indices_by_name,
+ 1, stub_gpioread_bit_request__number_ranges,
+ (ProtobufCMessageInit) stub_gpioread_bit_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadBitRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadBitRequest.pb-c.h
new file mode 100644
index 000000000..263fb539e
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadBitRequest.pb-c.h
@@ -0,0 +1,89 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubGPIOReadBitRequest.proto */
+
+#ifndef PROTOBUF_C_StubGPIOReadBitRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubGPIOReadBitRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubGPIOReadBitRequest StubGPIOReadBitRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubGPIOReadBitRequest
+{
+ ProtobufCMessage base;
+ /*
+ * A..
+ */
+ char *portid;
+ /*
+ * 0..7
+ */
+ protobuf_c_boolean has_pinid;
+ uint32_t pinid;
+ /*
+ * 1 - Polling
+ */
+ protobuf_c_boolean has_polling;
+ protobuf_c_boolean polling;
+ /*
+ * 0/1
+ */
+ protobuf_c_boolean has_pollexpvalue;
+ protobuf_c_boolean pollexpvalue;
+};
+#define STUB_GPIOREAD_BIT_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_gpioread_bit_request__descriptor) \
+ , NULL, 0, 0, 0, 0, 0, 0 }
+
+
+/* StubGPIOReadBitRequest methods */
+void stub_gpioread_bit_request__init
+ (StubGPIOReadBitRequest *message);
+size_t stub_gpioread_bit_request__get_packed_size
+ (const StubGPIOReadBitRequest *message);
+size_t stub_gpioread_bit_request__pack
+ (const StubGPIOReadBitRequest *message,
+ uint8_t *out);
+size_t stub_gpioread_bit_request__pack_to_buffer
+ (const StubGPIOReadBitRequest *message,
+ ProtobufCBuffer *buffer);
+StubGPIOReadBitRequest *
+ stub_gpioread_bit_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_gpioread_bit_request__free_unpacked
+ (StubGPIOReadBitRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubGPIOReadBitRequest_Closure)
+ (const StubGPIOReadBitRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_gpioread_bit_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubGPIOReadBitRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadBitResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadBitResponse.pb-c.c
new file mode 100644
index 000000000..bc5bc2e84
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadBitResponse.pb-c.c
@@ -0,0 +1,144 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubGPIOReadBitResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubGPIOReadBitResponse.pb-c.h"
+void stub_gpioread_bit_response__init
+ (StubGPIOReadBitResponse *message)
+{
+ static const StubGPIOReadBitResponse init_value = STUB_GPIOREAD_BIT_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_gpioread_bit_response__get_packed_size
+ (const StubGPIOReadBitResponse *message)
+{
+ assert(message->base.descriptor == &stub_gpioread_bit_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_gpioread_bit_response__pack
+ (const StubGPIOReadBitResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_gpioread_bit_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_gpioread_bit_response__pack_to_buffer
+ (const StubGPIOReadBitResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_gpioread_bit_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubGPIOReadBitResponse *
+ stub_gpioread_bit_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubGPIOReadBitResponse *)
+ protobuf_c_message_unpack (&stub_gpioread_bit_response__descriptor,
+ allocator, len, data);
+}
+void stub_gpioread_bit_response__free_unpacked
+ (StubGPIOReadBitResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_gpioread_bit_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_gpioread_bit_response__field_descriptors[5] =
+{
+ {
+ "PortId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubGPIOReadBitResponse, portid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "PinId",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubGPIOReadBitResponse, has_pinid),
+ offsetof(StubGPIOReadBitResponse, pinid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "BitValue",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubGPIOReadBitResponse, has_bitvalue),
+ offsetof(StubGPIOReadBitResponse, bitvalue),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Status",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubGPIOReadBitResponse, status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "StatusWord",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubGPIOReadBitResponse, has_statusword),
+ offsetof(StubGPIOReadBitResponse, statusword),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_gpioread_bit_response__field_indices_by_name[] = {
+ 2, /* field[2] = BitValue */
+ 1, /* field[1] = PinId */
+ 0, /* field[0] = PortId */
+ 3, /* field[3] = Status */
+ 4, /* field[4] = StatusWord */
+};
+static const ProtobufCIntRange stub_gpioread_bit_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 5 }
+};
+const ProtobufCMessageDescriptor stub_gpioread_bit_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubGPIOReadBitResponse",
+ "StubGPIOReadBitResponse",
+ "StubGPIOReadBitResponse",
+ "",
+ sizeof(StubGPIOReadBitResponse),
+ 5,
+ stub_gpioread_bit_response__field_descriptors,
+ stub_gpioread_bit_response__field_indices_by_name,
+ 1, stub_gpioread_bit_response__number_ranges,
+ (ProtobufCMessageInit) stub_gpioread_bit_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadBitResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadBitResponse.pb-c.h
new file mode 100644
index 000000000..ebbdc199d
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadBitResponse.pb-c.h
@@ -0,0 +1,90 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubGPIOReadBitResponse.proto */
+
+#ifndef PROTOBUF_C_StubGPIOReadBitResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubGPIOReadBitResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubGPIOReadBitResponse StubGPIOReadBitResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubGPIOReadBitResponse
+{
+ ProtobufCMessage base;
+ /*
+ * A..
+ */
+ char *portid;
+ /*
+ * 0..7
+ */
+ protobuf_c_boolean has_pinid;
+ uint32_t pinid;
+ protobuf_c_boolean has_bitvalue;
+ protobuf_c_boolean bitvalue;
+ /*
+ * Passed/Failed
+ */
+ char *status;
+ /*
+ * Error number/bit when the status is Failed
+ */
+ protobuf_c_boolean has_statusword;
+ uint32_t statusword;
+};
+#define STUB_GPIOREAD_BIT_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_gpioread_bit_response__descriptor) \
+ , NULL, 0, 0, 0, 0, NULL, 0, 0 }
+
+
+/* StubGPIOReadBitResponse methods */
+void stub_gpioread_bit_response__init
+ (StubGPIOReadBitResponse *message);
+size_t stub_gpioread_bit_response__get_packed_size
+ (const StubGPIOReadBitResponse *message);
+size_t stub_gpioread_bit_response__pack
+ (const StubGPIOReadBitResponse *message,
+ uint8_t *out);
+size_t stub_gpioread_bit_response__pack_to_buffer
+ (const StubGPIOReadBitResponse *message,
+ ProtobufCBuffer *buffer);
+StubGPIOReadBitResponse *
+ stub_gpioread_bit_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_gpioread_bit_response__free_unpacked
+ (StubGPIOReadBitResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubGPIOReadBitResponse_Closure)
+ (const StubGPIOReadBitResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_gpioread_bit_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubGPIOReadBitResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadByteRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadByteRequest.pb-c.c
new file mode 100644
index 000000000..6707d7a6f
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadByteRequest.pb-c.c
@@ -0,0 +1,92 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubGPIOReadByteRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubGPIOReadByteRequest.pb-c.h"
+void stub_gpioread_byte_request__init
+ (StubGPIOReadByteRequest *message)
+{
+ static const StubGPIOReadByteRequest init_value = STUB_GPIOREAD_BYTE_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_gpioread_byte_request__get_packed_size
+ (const StubGPIOReadByteRequest *message)
+{
+ assert(message->base.descriptor == &stub_gpioread_byte_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_gpioread_byte_request__pack
+ (const StubGPIOReadByteRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_gpioread_byte_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_gpioread_byte_request__pack_to_buffer
+ (const StubGPIOReadByteRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_gpioread_byte_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubGPIOReadByteRequest *
+ stub_gpioread_byte_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubGPIOReadByteRequest *)
+ protobuf_c_message_unpack (&stub_gpioread_byte_request__descriptor,
+ allocator, len, data);
+}
+void stub_gpioread_byte_request__free_unpacked
+ (StubGPIOReadByteRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_gpioread_byte_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_gpioread_byte_request__field_descriptors[1] =
+{
+ {
+ "PortId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubGPIOReadByteRequest, portid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_gpioread_byte_request__field_indices_by_name[] = {
+ 0, /* field[0] = PortId */
+};
+static const ProtobufCIntRange stub_gpioread_byte_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 1 }
+};
+const ProtobufCMessageDescriptor stub_gpioread_byte_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubGPIOReadByteRequest",
+ "StubGPIOReadByteRequest",
+ "StubGPIOReadByteRequest",
+ "",
+ sizeof(StubGPIOReadByteRequest),
+ 1,
+ stub_gpioread_byte_request__field_descriptors,
+ stub_gpioread_byte_request__field_indices_by_name,
+ 1, stub_gpioread_byte_request__number_ranges,
+ (ProtobufCMessageInit) stub_gpioread_byte_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadByteRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadByteRequest.pb-c.h
new file mode 100644
index 000000000..53e49de7f
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadByteRequest.pb-c.h
@@ -0,0 +1,74 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubGPIOReadByteRequest.proto */
+
+#ifndef PROTOBUF_C_StubGPIOReadByteRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubGPIOReadByteRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubGPIOReadByteRequest StubGPIOReadByteRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubGPIOReadByteRequest
+{
+ ProtobufCMessage base;
+ /*
+ * A..
+ */
+ char *portid;
+};
+#define STUB_GPIOREAD_BYTE_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_gpioread_byte_request__descriptor) \
+ , NULL }
+
+
+/* StubGPIOReadByteRequest methods */
+void stub_gpioread_byte_request__init
+ (StubGPIOReadByteRequest *message);
+size_t stub_gpioread_byte_request__get_packed_size
+ (const StubGPIOReadByteRequest *message);
+size_t stub_gpioread_byte_request__pack
+ (const StubGPIOReadByteRequest *message,
+ uint8_t *out);
+size_t stub_gpioread_byte_request__pack_to_buffer
+ (const StubGPIOReadByteRequest *message,
+ ProtobufCBuffer *buffer);
+StubGPIOReadByteRequest *
+ stub_gpioread_byte_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_gpioread_byte_request__free_unpacked
+ (StubGPIOReadByteRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubGPIOReadByteRequest_Closure)
+ (const StubGPIOReadByteRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_gpioread_byte_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubGPIOReadByteRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadByteResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadByteResponse.pb-c.c
new file mode 100644
index 000000000..b43726c3e
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadByteResponse.pb-c.c
@@ -0,0 +1,131 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubGPIOReadByteResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubGPIOReadByteResponse.pb-c.h"
+void stub_gpioread_byte_response__init
+ (StubGPIOReadByteResponse *message)
+{
+ static const StubGPIOReadByteResponse init_value = STUB_GPIOREAD_BYTE_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_gpioread_byte_response__get_packed_size
+ (const StubGPIOReadByteResponse *message)
+{
+ assert(message->base.descriptor == &stub_gpioread_byte_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_gpioread_byte_response__pack
+ (const StubGPIOReadByteResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_gpioread_byte_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_gpioread_byte_response__pack_to_buffer
+ (const StubGPIOReadByteResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_gpioread_byte_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubGPIOReadByteResponse *
+ stub_gpioread_byte_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubGPIOReadByteResponse *)
+ protobuf_c_message_unpack (&stub_gpioread_byte_response__descriptor,
+ allocator, len, data);
+}
+void stub_gpioread_byte_response__free_unpacked
+ (StubGPIOReadByteResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_gpioread_byte_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_gpioread_byte_response__field_descriptors[4] =
+{
+ {
+ "PortId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubGPIOReadByteResponse, portid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "ByteValue",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubGPIOReadByteResponse, has_bytevalue),
+ offsetof(StubGPIOReadByteResponse, bytevalue),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Status",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubGPIOReadByteResponse, status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "StatusWord",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubGPIOReadByteResponse, has_statusword),
+ offsetof(StubGPIOReadByteResponse, statusword),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_gpioread_byte_response__field_indices_by_name[] = {
+ 1, /* field[1] = ByteValue */
+ 0, /* field[0] = PortId */
+ 2, /* field[2] = Status */
+ 3, /* field[3] = StatusWord */
+};
+static const ProtobufCIntRange stub_gpioread_byte_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 4 }
+};
+const ProtobufCMessageDescriptor stub_gpioread_byte_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubGPIOReadByteResponse",
+ "StubGPIOReadByteResponse",
+ "StubGPIOReadByteResponse",
+ "",
+ sizeof(StubGPIOReadByteResponse),
+ 4,
+ stub_gpioread_byte_response__field_descriptors,
+ stub_gpioread_byte_response__field_indices_by_name,
+ 1, stub_gpioread_byte_response__number_ranges,
+ (ProtobufCMessageInit) stub_gpioread_byte_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadByteResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadByteResponse.pb-c.h
new file mode 100644
index 000000000..dad405984
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOReadByteResponse.pb-c.h
@@ -0,0 +1,85 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubGPIOReadByteResponse.proto */
+
+#ifndef PROTOBUF_C_StubGPIOReadByteResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubGPIOReadByteResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubGPIOReadByteResponse StubGPIOReadByteResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubGPIOReadByteResponse
+{
+ ProtobufCMessage base;
+ /*
+ * A..
+ */
+ char *portid;
+ protobuf_c_boolean has_bytevalue;
+ uint32_t bytevalue;
+ /*
+ * Passed/Failed
+ */
+ char *status;
+ /*
+ * Error number/bit when the status is Failed
+ */
+ protobuf_c_boolean has_statusword;
+ uint32_t statusword;
+};
+#define STUB_GPIOREAD_BYTE_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_gpioread_byte_response__descriptor) \
+ , NULL, 0, 0, NULL, 0, 0 }
+
+
+/* StubGPIOReadByteResponse methods */
+void stub_gpioread_byte_response__init
+ (StubGPIOReadByteResponse *message);
+size_t stub_gpioread_byte_response__get_packed_size
+ (const StubGPIOReadByteResponse *message);
+size_t stub_gpioread_byte_response__pack
+ (const StubGPIOReadByteResponse *message,
+ uint8_t *out);
+size_t stub_gpioread_byte_response__pack_to_buffer
+ (const StubGPIOReadByteResponse *message,
+ ProtobufCBuffer *buffer);
+StubGPIOReadByteResponse *
+ stub_gpioread_byte_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_gpioread_byte_response__free_unpacked
+ (StubGPIOReadByteResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubGPIOReadByteResponse_Closure)
+ (const StubGPIOReadByteResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_gpioread_byte_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubGPIOReadByteResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteBitRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteBitRequest.pb-c.c
new file mode 100644
index 000000000..0e8670609
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteBitRequest.pb-c.c
@@ -0,0 +1,118 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubGPIOWriteBitRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubGPIOWriteBitRequest.pb-c.h"
+void stub_gpiowrite_bit_request__init
+ (StubGPIOWriteBitRequest *message)
+{
+ static const StubGPIOWriteBitRequest init_value = STUB_GPIOWRITE_BIT_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_gpiowrite_bit_request__get_packed_size
+ (const StubGPIOWriteBitRequest *message)
+{
+ assert(message->base.descriptor == &stub_gpiowrite_bit_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_gpiowrite_bit_request__pack
+ (const StubGPIOWriteBitRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_gpiowrite_bit_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_gpiowrite_bit_request__pack_to_buffer
+ (const StubGPIOWriteBitRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_gpiowrite_bit_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubGPIOWriteBitRequest *
+ stub_gpiowrite_bit_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubGPIOWriteBitRequest *)
+ protobuf_c_message_unpack (&stub_gpiowrite_bit_request__descriptor,
+ allocator, len, data);
+}
+void stub_gpiowrite_bit_request__free_unpacked
+ (StubGPIOWriteBitRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_gpiowrite_bit_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_gpiowrite_bit_request__field_descriptors[3] =
+{
+ {
+ "PortId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubGPIOWriteBitRequest, portid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "PinId",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubGPIOWriteBitRequest, has_pinid),
+ offsetof(StubGPIOWriteBitRequest, pinid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "BitToWrite",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubGPIOWriteBitRequest, has_bittowrite),
+ offsetof(StubGPIOWriteBitRequest, bittowrite),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_gpiowrite_bit_request__field_indices_by_name[] = {
+ 2, /* field[2] = BitToWrite */
+ 1, /* field[1] = PinId */
+ 0, /* field[0] = PortId */
+};
+static const ProtobufCIntRange stub_gpiowrite_bit_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 3 }
+};
+const ProtobufCMessageDescriptor stub_gpiowrite_bit_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubGPIOWriteBitRequest",
+ "StubGPIOWriteBitRequest",
+ "StubGPIOWriteBitRequest",
+ "",
+ sizeof(StubGPIOWriteBitRequest),
+ 3,
+ stub_gpiowrite_bit_request__field_descriptors,
+ stub_gpiowrite_bit_request__field_indices_by_name,
+ 1, stub_gpiowrite_bit_request__number_ranges,
+ (ProtobufCMessageInit) stub_gpiowrite_bit_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteBitRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteBitRequest.pb-c.h
new file mode 100644
index 000000000..705ca7d38
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteBitRequest.pb-c.h
@@ -0,0 +1,81 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubGPIOWriteBitRequest.proto */
+
+#ifndef PROTOBUF_C_StubGPIOWriteBitRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubGPIOWriteBitRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubGPIOWriteBitRequest StubGPIOWriteBitRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubGPIOWriteBitRequest
+{
+ ProtobufCMessage base;
+ /*
+ * A..
+ */
+ char *portid;
+ /*
+ * 0..7
+ */
+ protobuf_c_boolean has_pinid;
+ uint32_t pinid;
+ protobuf_c_boolean has_bittowrite;
+ protobuf_c_boolean bittowrite;
+};
+#define STUB_GPIOWRITE_BIT_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_gpiowrite_bit_request__descriptor) \
+ , NULL, 0, 0, 0, 0 }
+
+
+/* StubGPIOWriteBitRequest methods */
+void stub_gpiowrite_bit_request__init
+ (StubGPIOWriteBitRequest *message);
+size_t stub_gpiowrite_bit_request__get_packed_size
+ (const StubGPIOWriteBitRequest *message);
+size_t stub_gpiowrite_bit_request__pack
+ (const StubGPIOWriteBitRequest *message,
+ uint8_t *out);
+size_t stub_gpiowrite_bit_request__pack_to_buffer
+ (const StubGPIOWriteBitRequest *message,
+ ProtobufCBuffer *buffer);
+StubGPIOWriteBitRequest *
+ stub_gpiowrite_bit_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_gpiowrite_bit_request__free_unpacked
+ (StubGPIOWriteBitRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubGPIOWriteBitRequest_Closure)
+ (const StubGPIOWriteBitRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_gpiowrite_bit_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubGPIOWriteBitRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteBitResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteBitResponse.pb-c.c
new file mode 100644
index 000000000..ef26dbf57
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteBitResponse.pb-c.c
@@ -0,0 +1,131 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubGPIOWriteBitResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubGPIOWriteBitResponse.pb-c.h"
+void stub_gpiowrite_bit_response__init
+ (StubGPIOWriteBitResponse *message)
+{
+ static const StubGPIOWriteBitResponse init_value = STUB_GPIOWRITE_BIT_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_gpiowrite_bit_response__get_packed_size
+ (const StubGPIOWriteBitResponse *message)
+{
+ assert(message->base.descriptor == &stub_gpiowrite_bit_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_gpiowrite_bit_response__pack
+ (const StubGPIOWriteBitResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_gpiowrite_bit_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_gpiowrite_bit_response__pack_to_buffer
+ (const StubGPIOWriteBitResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_gpiowrite_bit_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubGPIOWriteBitResponse *
+ stub_gpiowrite_bit_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubGPIOWriteBitResponse *)
+ protobuf_c_message_unpack (&stub_gpiowrite_bit_response__descriptor,
+ allocator, len, data);
+}
+void stub_gpiowrite_bit_response__free_unpacked
+ (StubGPIOWriteBitResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_gpiowrite_bit_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_gpiowrite_bit_response__field_descriptors[4] =
+{
+ {
+ "PortId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubGPIOWriteBitResponse, portid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "PinId",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubGPIOWriteBitResponse, has_pinid),
+ offsetof(StubGPIOWriteBitResponse, pinid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Status",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubGPIOWriteBitResponse, status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "StatusWord",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubGPIOWriteBitResponse, has_statusword),
+ offsetof(StubGPIOWriteBitResponse, statusword),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_gpiowrite_bit_response__field_indices_by_name[] = {
+ 1, /* field[1] = PinId */
+ 0, /* field[0] = PortId */
+ 2, /* field[2] = Status */
+ 3, /* field[3] = StatusWord */
+};
+static const ProtobufCIntRange stub_gpiowrite_bit_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 4 }
+};
+const ProtobufCMessageDescriptor stub_gpiowrite_bit_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubGPIOWriteBitResponse",
+ "StubGPIOWriteBitResponse",
+ "StubGPIOWriteBitResponse",
+ "",
+ sizeof(StubGPIOWriteBitResponse),
+ 4,
+ stub_gpiowrite_bit_response__field_descriptors,
+ stub_gpiowrite_bit_response__field_indices_by_name,
+ 1, stub_gpiowrite_bit_response__number_ranges,
+ (ProtobufCMessageInit) stub_gpiowrite_bit_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteBitResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteBitResponse.pb-c.h
new file mode 100644
index 000000000..831732f4a
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteBitResponse.pb-c.h
@@ -0,0 +1,88 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubGPIOWriteBitResponse.proto */
+
+#ifndef PROTOBUF_C_StubGPIOWriteBitResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubGPIOWriteBitResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubGPIOWriteBitResponse StubGPIOWriteBitResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubGPIOWriteBitResponse
+{
+ ProtobufCMessage base;
+ /*
+ * A..
+ */
+ char *portid;
+ /*
+ * 0..7
+ */
+ protobuf_c_boolean has_pinid;
+ uint32_t pinid;
+ /*
+ * Passed/Failed
+ */
+ char *status;
+ /*
+ * Error number/bit when the status is Failed
+ */
+ protobuf_c_boolean has_statusword;
+ uint32_t statusword;
+};
+#define STUB_GPIOWRITE_BIT_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_gpiowrite_bit_response__descriptor) \
+ , NULL, 0, 0, NULL, 0, 0 }
+
+
+/* StubGPIOWriteBitResponse methods */
+void stub_gpiowrite_bit_response__init
+ (StubGPIOWriteBitResponse *message);
+size_t stub_gpiowrite_bit_response__get_packed_size
+ (const StubGPIOWriteBitResponse *message);
+size_t stub_gpiowrite_bit_response__pack
+ (const StubGPIOWriteBitResponse *message,
+ uint8_t *out);
+size_t stub_gpiowrite_bit_response__pack_to_buffer
+ (const StubGPIOWriteBitResponse *message,
+ ProtobufCBuffer *buffer);
+StubGPIOWriteBitResponse *
+ stub_gpiowrite_bit_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_gpiowrite_bit_response__free_unpacked
+ (StubGPIOWriteBitResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubGPIOWriteBitResponse_Closure)
+ (const StubGPIOWriteBitResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_gpiowrite_bit_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubGPIOWriteBitResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteByteRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteByteRequest.pb-c.c
new file mode 100644
index 000000000..fe4fe1981
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteByteRequest.pb-c.c
@@ -0,0 +1,106 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubGPIOWriteByteRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubGPIOWriteByteRequest.pb-c.h"
+void stub_gpiowrite_byte_request__init
+ (StubGPIOWriteByteRequest *message)
+{
+ static const StubGPIOWriteByteRequest init_value = STUB_GPIOWRITE_BYTE_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_gpiowrite_byte_request__get_packed_size
+ (const StubGPIOWriteByteRequest *message)
+{
+ assert(message->base.descriptor == &stub_gpiowrite_byte_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_gpiowrite_byte_request__pack
+ (const StubGPIOWriteByteRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_gpiowrite_byte_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_gpiowrite_byte_request__pack_to_buffer
+ (const StubGPIOWriteByteRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_gpiowrite_byte_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubGPIOWriteByteRequest *
+ stub_gpiowrite_byte_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubGPIOWriteByteRequest *)
+ protobuf_c_message_unpack (&stub_gpiowrite_byte_request__descriptor,
+ allocator, len, data);
+}
+void stub_gpiowrite_byte_request__free_unpacked
+ (StubGPIOWriteByteRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_gpiowrite_byte_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_gpiowrite_byte_request__field_descriptors[2] =
+{
+ {
+ "PortId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubGPIOWriteByteRequest, portid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "DataToWrite",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubGPIOWriteByteRequest, has_datatowrite),
+ offsetof(StubGPIOWriteByteRequest, datatowrite),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_gpiowrite_byte_request__field_indices_by_name[] = {
+ 1, /* field[1] = DataToWrite */
+ 0, /* field[0] = PortId */
+};
+static const ProtobufCIntRange stub_gpiowrite_byte_request__number_ranges[2 + 1] =
+{
+ { 1, 0 },
+ { 3, 1 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor stub_gpiowrite_byte_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubGPIOWriteByteRequest",
+ "StubGPIOWriteByteRequest",
+ "StubGPIOWriteByteRequest",
+ "",
+ sizeof(StubGPIOWriteByteRequest),
+ 2,
+ stub_gpiowrite_byte_request__field_descriptors,
+ stub_gpiowrite_byte_request__field_indices_by_name,
+ 2, stub_gpiowrite_byte_request__number_ranges,
+ (ProtobufCMessageInit) stub_gpiowrite_byte_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteByteRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteByteRequest.pb-c.h
new file mode 100644
index 000000000..a69934e01
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteByteRequest.pb-c.h
@@ -0,0 +1,76 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubGPIOWriteByteRequest.proto */
+
+#ifndef PROTOBUF_C_StubGPIOWriteByteRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubGPIOWriteByteRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubGPIOWriteByteRequest StubGPIOWriteByteRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubGPIOWriteByteRequest
+{
+ ProtobufCMessage base;
+ /*
+ * A..
+ */
+ char *portid;
+ protobuf_c_boolean has_datatowrite;
+ uint32_t datatowrite;
+};
+#define STUB_GPIOWRITE_BYTE_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_gpiowrite_byte_request__descriptor) \
+ , NULL, 0, 0 }
+
+
+/* StubGPIOWriteByteRequest methods */
+void stub_gpiowrite_byte_request__init
+ (StubGPIOWriteByteRequest *message);
+size_t stub_gpiowrite_byte_request__get_packed_size
+ (const StubGPIOWriteByteRequest *message);
+size_t stub_gpiowrite_byte_request__pack
+ (const StubGPIOWriteByteRequest *message,
+ uint8_t *out);
+size_t stub_gpiowrite_byte_request__pack_to_buffer
+ (const StubGPIOWriteByteRequest *message,
+ ProtobufCBuffer *buffer);
+StubGPIOWriteByteRequest *
+ stub_gpiowrite_byte_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_gpiowrite_byte_request__free_unpacked
+ (StubGPIOWriteByteRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubGPIOWriteByteRequest_Closure)
+ (const StubGPIOWriteByteRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_gpiowrite_byte_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubGPIOWriteByteRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteByteResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteByteResponse.pb-c.c
new file mode 100644
index 000000000..ab6b357d9
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteByteResponse.pb-c.c
@@ -0,0 +1,118 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubGPIOWriteByteResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubGPIOWriteByteResponse.pb-c.h"
+void stub_gpiowrite_byte_response__init
+ (StubGPIOWriteByteResponse *message)
+{
+ static const StubGPIOWriteByteResponse init_value = STUB_GPIOWRITE_BYTE_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_gpiowrite_byte_response__get_packed_size
+ (const StubGPIOWriteByteResponse *message)
+{
+ assert(message->base.descriptor == &stub_gpiowrite_byte_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_gpiowrite_byte_response__pack
+ (const StubGPIOWriteByteResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_gpiowrite_byte_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_gpiowrite_byte_response__pack_to_buffer
+ (const StubGPIOWriteByteResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_gpiowrite_byte_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubGPIOWriteByteResponse *
+ stub_gpiowrite_byte_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubGPIOWriteByteResponse *)
+ protobuf_c_message_unpack (&stub_gpiowrite_byte_response__descriptor,
+ allocator, len, data);
+}
+void stub_gpiowrite_byte_response__free_unpacked
+ (StubGPIOWriteByteResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_gpiowrite_byte_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_gpiowrite_byte_response__field_descriptors[3] =
+{
+ {
+ "PortId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubGPIOWriteByteResponse, portid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Status",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubGPIOWriteByteResponse, status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "StatusWord",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubGPIOWriteByteResponse, has_statusword),
+ offsetof(StubGPIOWriteByteResponse, statusword),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_gpiowrite_byte_response__field_indices_by_name[] = {
+ 0, /* field[0] = PortId */
+ 1, /* field[1] = Status */
+ 2, /* field[2] = StatusWord */
+};
+static const ProtobufCIntRange stub_gpiowrite_byte_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 3 }
+};
+const ProtobufCMessageDescriptor stub_gpiowrite_byte_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubGPIOWriteByteResponse",
+ "StubGPIOWriteByteResponse",
+ "StubGPIOWriteByteResponse",
+ "",
+ sizeof(StubGPIOWriteByteResponse),
+ 3,
+ stub_gpiowrite_byte_response__field_descriptors,
+ stub_gpiowrite_byte_response__field_indices_by_name,
+ 1, stub_gpiowrite_byte_response__number_ranges,
+ (ProtobufCMessageInit) stub_gpiowrite_byte_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteByteResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteByteResponse.pb-c.h
new file mode 100644
index 000000000..6995dbc15
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubGPIOWriteByteResponse.pb-c.h
@@ -0,0 +1,83 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubGPIOWriteByteResponse.proto */
+
+#ifndef PROTOBUF_C_StubGPIOWriteByteResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubGPIOWriteByteResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubGPIOWriteByteResponse StubGPIOWriteByteResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubGPIOWriteByteResponse
+{
+ ProtobufCMessage base;
+ /*
+ * A..
+ */
+ char *portid;
+ /*
+ * Passed/Failed
+ */
+ char *status;
+ /*
+ * Error number/bit when the status is Failed
+ */
+ protobuf_c_boolean has_statusword;
+ uint32_t statusword;
+};
+#define STUB_GPIOWRITE_BYTE_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_gpiowrite_byte_response__descriptor) \
+ , NULL, NULL, 0, 0 }
+
+
+/* StubGPIOWriteByteResponse methods */
+void stub_gpiowrite_byte_response__init
+ (StubGPIOWriteByteResponse *message);
+size_t stub_gpiowrite_byte_response__get_packed_size
+ (const StubGPIOWriteByteResponse *message);
+size_t stub_gpiowrite_byte_response__pack
+ (const StubGPIOWriteByteResponse *message,
+ uint8_t *out);
+size_t stub_gpiowrite_byte_response__pack_to_buffer
+ (const StubGPIOWriteByteResponse *message,
+ ProtobufCBuffer *buffer);
+StubGPIOWriteByteResponse *
+ stub_gpiowrite_byte_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_gpiowrite_byte_response__free_unpacked
+ (StubGPIOWriteByteResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubGPIOWriteByteResponse_Closure)
+ (const StubGPIOWriteByteResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_gpiowrite_byte_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubGPIOWriteByteResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHWVersionRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHWVersionRequest.pb-c.c
new file mode 100644
index 000000000..fba567238
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHWVersionRequest.pb-c.c
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubHWVersionRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubHWVersionRequest.pb-c.h"
+void stub_hwversion_request__init
+ (StubHWVersionRequest *message)
+{
+ static const StubHWVersionRequest init_value = STUB_HWVERSION_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_hwversion_request__get_packed_size
+ (const StubHWVersionRequest *message)
+{
+ assert(message->base.descriptor == &stub_hwversion_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_hwversion_request__pack
+ (const StubHWVersionRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_hwversion_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_hwversion_request__pack_to_buffer
+ (const StubHWVersionRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_hwversion_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubHWVersionRequest *
+ stub_hwversion_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubHWVersionRequest *)
+ protobuf_c_message_unpack (&stub_hwversion_request__descriptor,
+ allocator, len, data);
+}
+void stub_hwversion_request__free_unpacked
+ (StubHWVersionRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_hwversion_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+#define stub_hwversion_request__field_descriptors NULL
+#define stub_hwversion_request__field_indices_by_name NULL
+#define stub_hwversion_request__number_ranges NULL
+const ProtobufCMessageDescriptor stub_hwversion_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubHWVersionRequest",
+ "StubHWVersionRequest",
+ "StubHWVersionRequest",
+ "",
+ sizeof(StubHWVersionRequest),
+ 0,
+ stub_hwversion_request__field_descriptors,
+ stub_hwversion_request__field_indices_by_name,
+ 0, stub_hwversion_request__number_ranges,
+ (ProtobufCMessageInit) stub_hwversion_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHWVersionRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHWVersionRequest.pb-c.h
new file mode 100644
index 000000000..017aa8cd2
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHWVersionRequest.pb-c.h
@@ -0,0 +1,70 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubHWVersionRequest.proto */
+
+#ifndef PROTOBUF_C_StubHWVersionRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubHWVersionRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubHWVersionRequest StubHWVersionRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubHWVersionRequest
+{
+ ProtobufCMessage base;
+};
+#define STUB_HWVERSION_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_hwversion_request__descriptor) \
+ }
+
+
+/* StubHWVersionRequest methods */
+void stub_hwversion_request__init
+ (StubHWVersionRequest *message);
+size_t stub_hwversion_request__get_packed_size
+ (const StubHWVersionRequest *message);
+size_t stub_hwversion_request__pack
+ (const StubHWVersionRequest *message,
+ uint8_t *out);
+size_t stub_hwversion_request__pack_to_buffer
+ (const StubHWVersionRequest *message,
+ ProtobufCBuffer *buffer);
+StubHWVersionRequest *
+ stub_hwversion_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_hwversion_request__free_unpacked
+ (StubHWVersionRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubHWVersionRequest_Closure)
+ (const StubHWVersionRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_hwversion_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubHWVersionRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHWVersionResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHWVersionResponse.pb-c.c
new file mode 100644
index 000000000..4aec291a0
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHWVersionResponse.pb-c.c
@@ -0,0 +1,131 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubHWVersionResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubHWVersionResponse.pb-c.h"
+void stub_hwversion_response__init
+ (StubHWVersionResponse *message)
+{
+ static const StubHWVersionResponse init_value = STUB_HWVERSION_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_hwversion_response__get_packed_size
+ (const StubHWVersionResponse *message)
+{
+ assert(message->base.descriptor == &stub_hwversion_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_hwversion_response__pack
+ (const StubHWVersionResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_hwversion_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_hwversion_response__pack_to_buffer
+ (const StubHWVersionResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_hwversion_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubHWVersionResponse *
+ stub_hwversion_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubHWVersionResponse *)
+ protobuf_c_message_unpack (&stub_hwversion_response__descriptor,
+ allocator, len, data);
+}
+void stub_hwversion_response__free_unpacked
+ (StubHWVersionResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_hwversion_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_hwversion_response__field_descriptors[4] =
+{
+ {
+ "BRD_ID",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubHWVersionResponse, has_brd_id),
+ offsetof(StubHWVersionResponse, brd_id),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "ASSY_ID",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubHWVersionResponse, has_assy_id),
+ offsetof(StubHWVersionResponse, assy_id),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Status",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubHWVersionResponse, status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "StatusWord",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubHWVersionResponse, has_statusword),
+ offsetof(StubHWVersionResponse, statusword),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_hwversion_response__field_indices_by_name[] = {
+ 1, /* field[1] = ASSY_ID */
+ 0, /* field[0] = BRD_ID */
+ 2, /* field[2] = Status */
+ 3, /* field[3] = StatusWord */
+};
+static const ProtobufCIntRange stub_hwversion_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 4 }
+};
+const ProtobufCMessageDescriptor stub_hwversion_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubHWVersionResponse",
+ "StubHWVersionResponse",
+ "StubHWVersionResponse",
+ "",
+ sizeof(StubHWVersionResponse),
+ 4,
+ stub_hwversion_response__field_descriptors,
+ stub_hwversion_response__field_indices_by_name,
+ 1, stub_hwversion_response__number_ranges,
+ (ProtobufCMessageInit) stub_hwversion_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHWVersionResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHWVersionResponse.pb-c.h
new file mode 100644
index 000000000..349ff1452
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHWVersionResponse.pb-c.h
@@ -0,0 +1,83 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubHWVersionResponse.proto */
+
+#ifndef PROTOBUF_C_StubHWVersionResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubHWVersionResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubHWVersionResponse StubHWVersionResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubHWVersionResponse
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_brd_id;
+ uint32_t brd_id;
+ protobuf_c_boolean has_assy_id;
+ uint32_t assy_id;
+ /*
+ * Passed/Failed
+ */
+ char *status;
+ /*
+ * Error number/bit when the status is Failed
+ */
+ protobuf_c_boolean has_statusword;
+ uint32_t statusword;
+};
+#define STUB_HWVERSION_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_hwversion_response__descriptor) \
+ , 0, 0, 0, 0, NULL, 0, 0 }
+
+
+/* StubHWVersionResponse methods */
+void stub_hwversion_response__init
+ (StubHWVersionResponse *message);
+size_t stub_hwversion_response__get_packed_size
+ (const StubHWVersionResponse *message);
+size_t stub_hwversion_response__pack
+ (const StubHWVersionResponse *message,
+ uint8_t *out);
+size_t stub_hwversion_response__pack_to_buffer
+ (const StubHWVersionResponse *message,
+ ProtobufCBuffer *buffer);
+StubHWVersionResponse *
+ stub_hwversion_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_hwversion_response__free_unpacked
+ (StubHWVersionResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubHWVersionResponse_Closure)
+ (const StubHWVersionResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_hwversion_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubHWVersionResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHeaterRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHeaterRequest.pb-c.c
new file mode 100644
index 000000000..f77207045
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHeaterRequest.pb-c.c
@@ -0,0 +1,118 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubHeaterRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubHeaterRequest.pb-c.h"
+void stub_heater_request__init
+ (StubHeaterRequest *message)
+{
+ static const StubHeaterRequest init_value = STUB_HEATER_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_heater_request__get_packed_size
+ (const StubHeaterRequest *message)
+{
+ assert(message->base.descriptor == &stub_heater_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_heater_request__pack
+ (const StubHeaterRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_heater_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_heater_request__pack_to_buffer
+ (const StubHeaterRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_heater_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubHeaterRequest *
+ stub_heater_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubHeaterRequest *)
+ protobuf_c_message_unpack (&stub_heater_request__descriptor,
+ allocator, len, data);
+}
+void stub_heater_request__free_unpacked
+ (StubHeaterRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_heater_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_heater_request__field_descriptors[3] =
+{
+ {
+ "HeaterGroupId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubHeaterRequest, has_heatergroupid),
+ offsetof(StubHeaterRequest, heatergroupid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "HeaterGroupOn",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubHeaterRequest, has_heatergroupon),
+ offsetof(StubHeaterRequest, heatergroupon),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "HeaterTemperatureReq",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubHeaterRequest, has_heatertemperaturereq),
+ offsetof(StubHeaterRequest, heatertemperaturereq),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_heater_request__field_indices_by_name[] = {
+ 0, /* field[0] = HeaterGroupId */
+ 1, /* field[1] = HeaterGroupOn */
+ 2, /* field[2] = HeaterTemperatureReq */
+};
+static const ProtobufCIntRange stub_heater_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 3 }
+};
+const ProtobufCMessageDescriptor stub_heater_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubHeaterRequest",
+ "StubHeaterRequest",
+ "StubHeaterRequest",
+ "",
+ sizeof(StubHeaterRequest),
+ 3,
+ stub_heater_request__field_descriptors,
+ stub_heater_request__field_indices_by_name,
+ 1, stub_heater_request__number_ranges,
+ (ProtobufCMessageInit) stub_heater_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHeaterRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHeaterRequest.pb-c.h
new file mode 100644
index 000000000..6d220df5d
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHeaterRequest.pb-c.h
@@ -0,0 +1,82 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubHeaterRequest.proto */
+
+#ifndef PROTOBUF_C_StubHeaterRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubHeaterRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubHeaterRequest StubHeaterRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubHeaterRequest
+{
+ ProtobufCMessage base;
+ /*
+ *0..2
+ */
+ protobuf_c_boolean has_heatergroupid;
+ uint32_t heatergroupid;
+ /*
+ * 1-On 0-Off
+ */
+ protobuf_c_boolean has_heatergroupon;
+ protobuf_c_boolean heatergroupon;
+ protobuf_c_boolean has_heatertemperaturereq;
+ uint32_t heatertemperaturereq;
+};
+#define STUB_HEATER_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_heater_request__descriptor) \
+ , 0, 0, 0, 0, 0, 0 }
+
+
+/* StubHeaterRequest methods */
+void stub_heater_request__init
+ (StubHeaterRequest *message);
+size_t stub_heater_request__get_packed_size
+ (const StubHeaterRequest *message);
+size_t stub_heater_request__pack
+ (const StubHeaterRequest *message,
+ uint8_t *out);
+size_t stub_heater_request__pack_to_buffer
+ (const StubHeaterRequest *message,
+ ProtobufCBuffer *buffer);
+StubHeaterRequest *
+ stub_heater_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_heater_request__free_unpacked
+ (StubHeaterRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubHeaterRequest_Closure)
+ (const StubHeaterRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_heater_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubHeaterRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHeaterResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHeaterResponse.pb-c.c
new file mode 100644
index 000000000..f45ed51b6
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHeaterResponse.pb-c.c
@@ -0,0 +1,131 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubHeaterResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubHeaterResponse.pb-c.h"
+void stub_heater_response__init
+ (StubHeaterResponse *message)
+{
+ static const StubHeaterResponse init_value = STUB_HEATER_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_heater_response__get_packed_size
+ (const StubHeaterResponse *message)
+{
+ assert(message->base.descriptor == &stub_heater_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_heater_response__pack
+ (const StubHeaterResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_heater_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_heater_response__pack_to_buffer
+ (const StubHeaterResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_heater_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubHeaterResponse *
+ stub_heater_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubHeaterResponse *)
+ protobuf_c_message_unpack (&stub_heater_response__descriptor,
+ allocator, len, data);
+}
+void stub_heater_response__free_unpacked
+ (StubHeaterResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_heater_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_heater_response__field_descriptors[4] =
+{
+ {
+ "HeaterGroupId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubHeaterResponse, has_heatergroupid),
+ offsetof(StubHeaterResponse, heatergroupid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "HeaterTemperatureSensor",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubHeaterResponse, has_heatertemperaturesensor),
+ offsetof(StubHeaterResponse, heatertemperaturesensor),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Status",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubHeaterResponse, status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "StatusWord",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubHeaterResponse, has_statusword),
+ offsetof(StubHeaterResponse, statusword),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_heater_response__field_indices_by_name[] = {
+ 0, /* field[0] = HeaterGroupId */
+ 1, /* field[1] = HeaterTemperatureSensor */
+ 2, /* field[2] = Status */
+ 3, /* field[3] = StatusWord */
+};
+static const ProtobufCIntRange stub_heater_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 4 }
+};
+const ProtobufCMessageDescriptor stub_heater_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubHeaterResponse",
+ "StubHeaterResponse",
+ "StubHeaterResponse",
+ "",
+ sizeof(StubHeaterResponse),
+ 4,
+ stub_heater_response__field_descriptors,
+ stub_heater_response__field_indices_by_name,
+ 1, stub_heater_response__number_ranges,
+ (ProtobufCMessageInit) stub_heater_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHeaterResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHeaterResponse.pb-c.h
new file mode 100644
index 000000000..fd37a5ae7
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubHeaterResponse.pb-c.h
@@ -0,0 +1,86 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubHeaterResponse.proto */
+
+#ifndef PROTOBUF_C_StubHeaterResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubHeaterResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubHeaterResponse StubHeaterResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubHeaterResponse
+{
+ ProtobufCMessage base;
+ /*
+ *0..2
+ */
+ protobuf_c_boolean has_heatergroupid;
+ uint32_t heatergroupid;
+ protobuf_c_boolean has_heatertemperaturesensor;
+ uint32_t heatertemperaturesensor;
+ /*
+ * Passed/Failed
+ */
+ char *status;
+ /*
+ * Error number/bit when the status is Failed
+ */
+ protobuf_c_boolean has_statusword;
+ uint32_t statusword;
+};
+#define STUB_HEATER_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_heater_response__descriptor) \
+ , 0, 0, 0, 0, NULL, 0, 0 }
+
+
+/* StubHeaterResponse methods */
+void stub_heater_response__init
+ (StubHeaterResponse *message);
+size_t stub_heater_response__get_packed_size
+ (const StubHeaterResponse *message);
+size_t stub_heater_response__pack
+ (const StubHeaterResponse *message,
+ uint8_t *out);
+size_t stub_heater_response__pack_to_buffer
+ (const StubHeaterResponse *message,
+ ProtobufCBuffer *buffer);
+StubHeaterResponse *
+ stub_heater_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_heater_response__free_unpacked
+ (StubHeaterResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubHeaterResponse_Closure)
+ (const StubHeaterResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_heater_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubHeaterResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubL6470DriverRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubL6470DriverRequest.pb-c.c
new file mode 100644
index 000000000..3771b60a9
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubL6470DriverRequest.pb-c.c
@@ -0,0 +1,339 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubL6470DriverRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubL6470DriverRequest.pb-c.h"
+void stub_l6470_driver_request__init
+ (StubL6470DriverRequest *message)
+{
+ static const StubL6470DriverRequest init_value = STUB_L6470_DRIVER_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_l6470_driver_request__get_packed_size
+ (const StubL6470DriverRequest *message)
+{
+ assert(message->base.descriptor == &stub_l6470_driver_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_l6470_driver_request__pack
+ (const StubL6470DriverRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_l6470_driver_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_l6470_driver_request__pack_to_buffer
+ (const StubL6470DriverRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_l6470_driver_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubL6470DriverRequest *
+ stub_l6470_driver_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubL6470DriverRequest *)
+ protobuf_c_message_unpack (&stub_l6470_driver_request__descriptor,
+ allocator, len, data);
+}
+void stub_l6470_driver_request__free_unpacked
+ (StubL6470DriverRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_l6470_driver_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_l6470_driver_request__field_descriptors[20] =
+{
+ {
+ "Run_Value",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubL6470DriverRequest, has_run_value),
+ offsetof(StubL6470DriverRequest, run_value),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Mov_Value",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubL6470DriverRequest, has_mov_value),
+ offsetof(StubL6470DriverRequest, mov_value),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Direction",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubL6470DriverRequest, has_direction),
+ offsetof(StubL6470DriverRequest, direction),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Time_2_Change_Direction",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubL6470DriverRequest, has_time_2_change_direction),
+ offsetof(StubL6470DriverRequest, time_2_change_direction),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Display_Tx_ON_LCD",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubL6470DriverRequest, has_display_tx_on_lcd),
+ offsetof(StubL6470DriverRequest, display_tx_on_lcd),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Display_Rx_on_LCD",
+ 6,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubL6470DriverRequest, has_display_rx_on_lcd),
+ offsetof(StubL6470DriverRequest, display_rx_on_lcd),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Init_MicroStep",
+ 7,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubL6470DriverRequest, has_init_microstep),
+ offsetof(StubL6470DriverRequest, init_microstep),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Init_Acc",
+ 8,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubL6470DriverRequest, has_init_acc),
+ offsetof(StubL6470DriverRequest, init_acc),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Init_Dec",
+ 9,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubL6470DriverRequest, has_init_dec),
+ offsetof(StubL6470DriverRequest, init_dec),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "TestBool_1",
+ 10,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubL6470DriverRequest, has_testbool_1),
+ offsetof(StubL6470DriverRequest, testbool_1),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "TestBool_2",
+ 11,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubL6470DriverRequest, has_testbool_2),
+ offsetof(StubL6470DriverRequest, testbool_2),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "TestBool_3",
+ 12,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubL6470DriverRequest, has_testbool_3),
+ offsetof(StubL6470DriverRequest, testbool_3),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "TestBool_4",
+ 13,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubL6470DriverRequest, has_testbool_4),
+ offsetof(StubL6470DriverRequest, testbool_4),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "TestBool_5",
+ 14,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubL6470DriverRequest, has_testbool_5),
+ offsetof(StubL6470DriverRequest, testbool_5),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "TestUint32_1",
+ 15,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubL6470DriverRequest, has_testuint32_1),
+ offsetof(StubL6470DriverRequest, testuint32_1),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "TestUint32_2",
+ 16,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubL6470DriverRequest, has_testuint32_2),
+ offsetof(StubL6470DriverRequest, testuint32_2),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "TestUint32_3",
+ 17,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubL6470DriverRequest, has_testuint32_3),
+ offsetof(StubL6470DriverRequest, testuint32_3),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "TestUint32_4",
+ 18,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubL6470DriverRequest, has_testuint32_4),
+ offsetof(StubL6470DriverRequest, testuint32_4),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "TestUint32_5",
+ 19,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubL6470DriverRequest, has_testuint32_5),
+ offsetof(StubL6470DriverRequest, testuint32_5),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "TestUint32_6",
+ 20,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubL6470DriverRequest, has_testuint32_6),
+ offsetof(StubL6470DriverRequest, testuint32_6),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_l6470_driver_request__field_indices_by_name[] = {
+ 2, /* field[2] = Direction */
+ 5, /* field[5] = Display_Rx_on_LCD */
+ 4, /* field[4] = Display_Tx_ON_LCD */
+ 7, /* field[7] = Init_Acc */
+ 8, /* field[8] = Init_Dec */
+ 6, /* field[6] = Init_MicroStep */
+ 1, /* field[1] = Mov_Value */
+ 0, /* field[0] = Run_Value */
+ 9, /* field[9] = TestBool_1 */
+ 10, /* field[10] = TestBool_2 */
+ 11, /* field[11] = TestBool_3 */
+ 12, /* field[12] = TestBool_4 */
+ 13, /* field[13] = TestBool_5 */
+ 14, /* field[14] = TestUint32_1 */
+ 15, /* field[15] = TestUint32_2 */
+ 16, /* field[16] = TestUint32_3 */
+ 17, /* field[17] = TestUint32_4 */
+ 18, /* field[18] = TestUint32_5 */
+ 19, /* field[19] = TestUint32_6 */
+ 3, /* field[3] = Time_2_Change_Direction */
+};
+static const ProtobufCIntRange stub_l6470_driver_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 20 }
+};
+const ProtobufCMessageDescriptor stub_l6470_driver_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubL6470DriverRequest",
+ "StubL6470DriverRequest",
+ "StubL6470DriverRequest",
+ "",
+ sizeof(StubL6470DriverRequest),
+ 20,
+ stub_l6470_driver_request__field_descriptors,
+ stub_l6470_driver_request__field_indices_by_name,
+ 1, stub_l6470_driver_request__number_ranges,
+ (ProtobufCMessageInit) stub_l6470_driver_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubL6470DriverRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubL6470DriverRequest.pb-c.h
new file mode 100644
index 000000000..ee4e261c9
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubL6470DriverRequest.pb-c.h
@@ -0,0 +1,110 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubL6470DriverRequest.proto */
+
+#ifndef PROTOBUF_C_StubL6470DriverRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubL6470DriverRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubL6470DriverRequest StubL6470DriverRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubL6470DriverRequest
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_run_value;
+ uint32_t run_value;
+ protobuf_c_boolean has_mov_value;
+ uint32_t mov_value;
+ protobuf_c_boolean has_direction;
+ protobuf_c_boolean direction;
+ protobuf_c_boolean has_time_2_change_direction;
+ uint32_t time_2_change_direction;
+ protobuf_c_boolean has_display_tx_on_lcd;
+ protobuf_c_boolean display_tx_on_lcd;
+ protobuf_c_boolean has_display_rx_on_lcd;
+ protobuf_c_boolean display_rx_on_lcd;
+ protobuf_c_boolean has_init_microstep;
+ uint32_t init_microstep;
+ protobuf_c_boolean has_init_acc;
+ uint32_t init_acc;
+ protobuf_c_boolean has_init_dec;
+ uint32_t init_dec;
+ protobuf_c_boolean has_testbool_1;
+ protobuf_c_boolean testbool_1;
+ protobuf_c_boolean has_testbool_2;
+ protobuf_c_boolean testbool_2;
+ protobuf_c_boolean has_testbool_3;
+ protobuf_c_boolean testbool_3;
+ protobuf_c_boolean has_testbool_4;
+ protobuf_c_boolean testbool_4;
+ protobuf_c_boolean has_testbool_5;
+ protobuf_c_boolean testbool_5;
+ protobuf_c_boolean has_testuint32_1;
+ uint32_t testuint32_1;
+ protobuf_c_boolean has_testuint32_2;
+ uint32_t testuint32_2;
+ protobuf_c_boolean has_testuint32_3;
+ uint32_t testuint32_3;
+ protobuf_c_boolean has_testuint32_4;
+ uint32_t testuint32_4;
+ protobuf_c_boolean has_testuint32_5;
+ uint32_t testuint32_5;
+ protobuf_c_boolean has_testuint32_6;
+ uint32_t testuint32_6;
+};
+#define STUB_L6470_DRIVER_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_l6470_driver_request__descriptor) \
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+
+
+/* StubL6470DriverRequest methods */
+void stub_l6470_driver_request__init
+ (StubL6470DriverRequest *message);
+size_t stub_l6470_driver_request__get_packed_size
+ (const StubL6470DriverRequest *message);
+size_t stub_l6470_driver_request__pack
+ (const StubL6470DriverRequest *message,
+ uint8_t *out);
+size_t stub_l6470_driver_request__pack_to_buffer
+ (const StubL6470DriverRequest *message,
+ ProtobufCBuffer *buffer);
+StubL6470DriverRequest *
+ stub_l6470_driver_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_l6470_driver_request__free_unpacked
+ (StubL6470DriverRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubL6470DriverRequest_Closure)
+ (const StubL6470DriverRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_l6470_driver_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubL6470DriverRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubL6470DriverResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubL6470DriverResponse.pb-c.c
new file mode 100644
index 000000000..b129bb930
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubL6470DriverResponse.pb-c.c
@@ -0,0 +1,274 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubL6470DriverResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubL6470DriverResponse.pb-c.h"
+void stub_l6470_driver_response__init
+ (StubL6470DriverResponse *message)
+{
+ static const StubL6470DriverResponse init_value = STUB_L6470_DRIVER_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_l6470_driver_response__get_packed_size
+ (const StubL6470DriverResponse *message)
+{
+ assert(message->base.descriptor == &stub_l6470_driver_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_l6470_driver_response__pack
+ (const StubL6470DriverResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_l6470_driver_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_l6470_driver_response__pack_to_buffer
+ (const StubL6470DriverResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_l6470_driver_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubL6470DriverResponse *
+ stub_l6470_driver_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubL6470DriverResponse *)
+ protobuf_c_message_unpack (&stub_l6470_driver_response__descriptor,
+ allocator, len, data);
+}
+void stub_l6470_driver_response__free_unpacked
+ (StubL6470DriverResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_l6470_driver_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_l6470_driver_response__field_descriptors[15] =
+{
+ {
+ "Run_Value",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubL6470DriverResponse, has_run_value),
+ offsetof(StubL6470DriverResponse, run_value),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Mov_Value",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubL6470DriverResponse, has_mov_value),
+ offsetof(StubL6470DriverResponse, mov_value),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "TestBool_1",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubL6470DriverResponse, has_testbool_1),
+ offsetof(StubL6470DriverResponse, testbool_1),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "TestBool_2",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubL6470DriverResponse, has_testbool_2),
+ offsetof(StubL6470DriverResponse, testbool_2),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "TestBool_3",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubL6470DriverResponse, has_testbool_3),
+ offsetof(StubL6470DriverResponse, testbool_3),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "TestBool_4",
+ 6,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubL6470DriverResponse, has_testbool_4),
+ offsetof(StubL6470DriverResponse, testbool_4),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "TestBool_5",
+ 7,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubL6470DriverResponse, has_testbool_5),
+ offsetof(StubL6470DriverResponse, testbool_5),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "TestUint32_1",
+ 8,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubL6470DriverResponse, has_testuint32_1),
+ offsetof(StubL6470DriverResponse, testuint32_1),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "TestUint32_2",
+ 9,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubL6470DriverResponse, has_testuint32_2),
+ offsetof(StubL6470DriverResponse, testuint32_2),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "TestUint32_3",
+ 10,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubL6470DriverResponse, has_testuint32_3),
+ offsetof(StubL6470DriverResponse, testuint32_3),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "TestUint32_4",
+ 11,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubL6470DriverResponse, has_testuint32_4),
+ offsetof(StubL6470DriverResponse, testuint32_4),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "TestUint32_5",
+ 12,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubL6470DriverResponse, has_testuint32_5),
+ offsetof(StubL6470DriverResponse, testuint32_5),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "TestUint32_6",
+ 13,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubL6470DriverResponse, has_testuint32_6),
+ offsetof(StubL6470DriverResponse, testuint32_6),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Status",
+ 14,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubL6470DriverResponse, status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "StatusWord",
+ 15,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubL6470DriverResponse, has_statusword),
+ offsetof(StubL6470DriverResponse, statusword),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_l6470_driver_response__field_indices_by_name[] = {
+ 1, /* field[1] = Mov_Value */
+ 0, /* field[0] = Run_Value */
+ 13, /* field[13] = Status */
+ 14, /* field[14] = StatusWord */
+ 2, /* field[2] = TestBool_1 */
+ 3, /* field[3] = TestBool_2 */
+ 4, /* field[4] = TestBool_3 */
+ 5, /* field[5] = TestBool_4 */
+ 6, /* field[6] = TestBool_5 */
+ 7, /* field[7] = TestUint32_1 */
+ 8, /* field[8] = TestUint32_2 */
+ 9, /* field[9] = TestUint32_3 */
+ 10, /* field[10] = TestUint32_4 */
+ 11, /* field[11] = TestUint32_5 */
+ 12, /* field[12] = TestUint32_6 */
+};
+static const ProtobufCIntRange stub_l6470_driver_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 15 }
+};
+const ProtobufCMessageDescriptor stub_l6470_driver_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubL6470DriverResponse",
+ "StubL6470DriverResponse",
+ "StubL6470DriverResponse",
+ "",
+ sizeof(StubL6470DriverResponse),
+ 15,
+ stub_l6470_driver_response__field_descriptors,
+ stub_l6470_driver_response__field_indices_by_name,
+ 1, stub_l6470_driver_response__number_ranges,
+ (ProtobufCMessageInit) stub_l6470_driver_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubL6470DriverResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubL6470DriverResponse.pb-c.h
new file mode 100644
index 000000000..ca18da2a9
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubL6470DriverResponse.pb-c.h
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubL6470DriverResponse.proto */
+
+#ifndef PROTOBUF_C_StubL6470DriverResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubL6470DriverResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubL6470DriverResponse StubL6470DriverResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubL6470DriverResponse
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_run_value;
+ uint32_t run_value;
+ protobuf_c_boolean has_mov_value;
+ uint32_t mov_value;
+ protobuf_c_boolean has_testbool_1;
+ protobuf_c_boolean testbool_1;
+ protobuf_c_boolean has_testbool_2;
+ protobuf_c_boolean testbool_2;
+ protobuf_c_boolean has_testbool_3;
+ protobuf_c_boolean testbool_3;
+ protobuf_c_boolean has_testbool_4;
+ protobuf_c_boolean testbool_4;
+ protobuf_c_boolean has_testbool_5;
+ protobuf_c_boolean testbool_5;
+ protobuf_c_boolean has_testuint32_1;
+ uint32_t testuint32_1;
+ protobuf_c_boolean has_testuint32_2;
+ uint32_t testuint32_2;
+ protobuf_c_boolean has_testuint32_3;
+ uint32_t testuint32_3;
+ protobuf_c_boolean has_testuint32_4;
+ uint32_t testuint32_4;
+ protobuf_c_boolean has_testuint32_5;
+ uint32_t testuint32_5;
+ protobuf_c_boolean has_testuint32_6;
+ uint32_t testuint32_6;
+ /*
+ * Passed/Failed
+ */
+ char *status;
+ /*
+ * Error number/bit when the status is Failed
+ */
+ protobuf_c_boolean has_statusword;
+ uint32_t statusword;
+};
+#define STUB_L6470_DRIVER_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_l6470_driver_response__descriptor) \
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0 }
+
+
+/* StubL6470DriverResponse methods */
+void stub_l6470_driver_response__init
+ (StubL6470DriverResponse *message);
+size_t stub_l6470_driver_response__get_packed_size
+ (const StubL6470DriverResponse *message);
+size_t stub_l6470_driver_response__pack
+ (const StubL6470DriverResponse *message,
+ uint8_t *out);
+size_t stub_l6470_driver_response__pack_to_buffer
+ (const StubL6470DriverResponse *message,
+ ProtobufCBuffer *buffer);
+StubL6470DriverResponse *
+ stub_l6470_driver_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_l6470_driver_response__free_unpacked
+ (StubL6470DriverResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubL6470DriverResponse_Closure)
+ (const StubL6470DriverResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_l6470_driver_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubL6470DriverResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorEncoderRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorEncoderRequest.pb-c.c
new file mode 100644
index 000000000..cb95c4718
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorEncoderRequest.pb-c.c
@@ -0,0 +1,131 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorEncoderRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubMotorEncoderRequest.pb-c.h"
+void stub_motor_encoder_request__init
+ (StubMotorEncoderRequest *message)
+{
+ static const StubMotorEncoderRequest init_value = STUB_MOTOR_ENCODER_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_motor_encoder_request__get_packed_size
+ (const StubMotorEncoderRequest *message)
+{
+ assert(message->base.descriptor == &stub_motor_encoder_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_motor_encoder_request__pack
+ (const StubMotorEncoderRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_motor_encoder_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_motor_encoder_request__pack_to_buffer
+ (const StubMotorEncoderRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_motor_encoder_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubMotorEncoderRequest *
+ stub_motor_encoder_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubMotorEncoderRequest *)
+ protobuf_c_message_unpack (&stub_motor_encoder_request__descriptor,
+ allocator, len, data);
+}
+void stub_motor_encoder_request__free_unpacked
+ (StubMotorEncoderRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_motor_encoder_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_motor_encoder_request__field_descriptors[4] =
+{
+ {
+ "MotorId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorEncoderRequest, has_motorid),
+ offsetof(StubMotorEncoderRequest, motorid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "ReadEncSpeed",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorEncoderRequest, has_readencspeed),
+ offsetof(StubMotorEncoderRequest, readencspeed),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "ReadDirection",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorEncoderRequest, has_readdirection),
+ offsetof(StubMotorEncoderRequest, readdirection),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Motion_Control",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorEncoderRequest, has_motion_control),
+ offsetof(StubMotorEncoderRequest, motion_control),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_motor_encoder_request__field_indices_by_name[] = {
+ 3, /* field[3] = Motion_Control */
+ 0, /* field[0] = MotorId */
+ 2, /* field[2] = ReadDirection */
+ 1, /* field[1] = ReadEncSpeed */
+};
+static const ProtobufCIntRange stub_motor_encoder_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 4 }
+};
+const ProtobufCMessageDescriptor stub_motor_encoder_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubMotorEncoderRequest",
+ "StubMotorEncoderRequest",
+ "StubMotorEncoderRequest",
+ "",
+ sizeof(StubMotorEncoderRequest),
+ 4,
+ stub_motor_encoder_request__field_descriptors,
+ stub_motor_encoder_request__field_indices_by_name,
+ 1, stub_motor_encoder_request__number_ranges,
+ (ProtobufCMessageInit) stub_motor_encoder_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorEncoderRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorEncoderRequest.pb-c.h
new file mode 100644
index 000000000..ba7151b89
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorEncoderRequest.pb-c.h
@@ -0,0 +1,87 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorEncoderRequest.proto */
+
+#ifndef PROTOBUF_C_StubMotorEncoderRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubMotorEncoderRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubMotorEncoderRequest StubMotorEncoderRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubMotorEncoderRequest
+{
+ ProtobufCMessage base;
+ /*
+ *0..8
+ */
+ protobuf_c_boolean has_motorid;
+ uint32_t motorid;
+ protobuf_c_boolean has_readencspeed;
+ protobuf_c_boolean readencspeed;
+ /*
+ * 1-cw 0-ccw
+ */
+ protobuf_c_boolean has_readdirection;
+ protobuf_c_boolean readdirection;
+ /*
+ * close loop using the encoder
+ */
+ protobuf_c_boolean has_motion_control;
+ protobuf_c_boolean motion_control;
+};
+#define STUB_MOTOR_ENCODER_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_motor_encoder_request__descriptor) \
+ , 0, 0, 0, 0, 0, 0, 0, 0 }
+
+
+/* StubMotorEncoderRequest methods */
+void stub_motor_encoder_request__init
+ (StubMotorEncoderRequest *message);
+size_t stub_motor_encoder_request__get_packed_size
+ (const StubMotorEncoderRequest *message);
+size_t stub_motor_encoder_request__pack
+ (const StubMotorEncoderRequest *message,
+ uint8_t *out);
+size_t stub_motor_encoder_request__pack_to_buffer
+ (const StubMotorEncoderRequest *message,
+ ProtobufCBuffer *buffer);
+StubMotorEncoderRequest *
+ stub_motor_encoder_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_motor_encoder_request__free_unpacked
+ (StubMotorEncoderRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubMotorEncoderRequest_Closure)
+ (const StubMotorEncoderRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_motor_encoder_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubMotorEncoderRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorEncoderResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorEncoderResponse.pb-c.c
new file mode 100644
index 000000000..5204790a0
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorEncoderResponse.pb-c.c
@@ -0,0 +1,157 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorEncoderResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubMotorEncoderResponse.pb-c.h"
+void stub_motor_encoder_response__init
+ (StubMotorEncoderResponse *message)
+{
+ static const StubMotorEncoderResponse init_value = STUB_MOTOR_ENCODER_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_motor_encoder_response__get_packed_size
+ (const StubMotorEncoderResponse *message)
+{
+ assert(message->base.descriptor == &stub_motor_encoder_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_motor_encoder_response__pack
+ (const StubMotorEncoderResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_motor_encoder_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_motor_encoder_response__pack_to_buffer
+ (const StubMotorEncoderResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_motor_encoder_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubMotorEncoderResponse *
+ stub_motor_encoder_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubMotorEncoderResponse *)
+ protobuf_c_message_unpack (&stub_motor_encoder_response__descriptor,
+ allocator, len, data);
+}
+void stub_motor_encoder_response__free_unpacked
+ (StubMotorEncoderResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_motor_encoder_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_motor_encoder_response__field_descriptors[6] =
+{
+ {
+ "EncoderId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorEncoderResponse, has_encoderid),
+ offsetof(StubMotorEncoderResponse, encoderid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "EncoderVersion",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorEncoderResponse, has_encoderversion),
+ offsetof(StubMotorEncoderResponse, encoderversion),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "MotorSpeed",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(StubMotorEncoderResponse, has_motorspeed),
+ offsetof(StubMotorEncoderResponse, motorspeed),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "MotorDirection",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorEncoderResponse, has_motordirection),
+ offsetof(StubMotorEncoderResponse, motordirection),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Status",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubMotorEncoderResponse, status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "StatusWord",
+ 6,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorEncoderResponse, has_statusword),
+ offsetof(StubMotorEncoderResponse, statusword),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_motor_encoder_response__field_indices_by_name[] = {
+ 0, /* field[0] = EncoderId */
+ 1, /* field[1] = EncoderVersion */
+ 3, /* field[3] = MotorDirection */
+ 2, /* field[2] = MotorSpeed */
+ 4, /* field[4] = Status */
+ 5, /* field[5] = StatusWord */
+};
+static const ProtobufCIntRange stub_motor_encoder_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 6 }
+};
+const ProtobufCMessageDescriptor stub_motor_encoder_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubMotorEncoderResponse",
+ "StubMotorEncoderResponse",
+ "StubMotorEncoderResponse",
+ "",
+ sizeof(StubMotorEncoderResponse),
+ 6,
+ stub_motor_encoder_response__field_descriptors,
+ stub_motor_encoder_response__field_indices_by_name,
+ 1, stub_motor_encoder_response__number_ranges,
+ (ProtobufCMessageInit) stub_motor_encoder_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorEncoderResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorEncoderResponse.pb-c.h
new file mode 100644
index 000000000..d1e150306
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorEncoderResponse.pb-c.h
@@ -0,0 +1,93 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorEncoderResponse.proto */
+
+#ifndef PROTOBUF_C_StubMotorEncoderResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubMotorEncoderResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubMotorEncoderResponse StubMotorEncoderResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubMotorEncoderResponse
+{
+ ProtobufCMessage base;
+ /*
+ *0..8
+ */
+ protobuf_c_boolean has_encoderid;
+ uint32_t encoderid;
+ protobuf_c_boolean has_encoderversion;
+ uint32_t encoderversion;
+ protobuf_c_boolean has_motorspeed;
+ int32_t motorspeed;
+ /*
+ * 1-cw 0-ccw
+ */
+ protobuf_c_boolean has_motordirection;
+ protobuf_c_boolean motordirection;
+ /*
+ * Passed/Failed
+ */
+ char *status;
+ /*
+ * Error number/bit when the status is Failed
+ */
+ protobuf_c_boolean has_statusword;
+ uint32_t statusword;
+};
+#define STUB_MOTOR_ENCODER_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_motor_encoder_response__descriptor) \
+ , 0, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 0 }
+
+
+/* StubMotorEncoderResponse methods */
+void stub_motor_encoder_response__init
+ (StubMotorEncoderResponse *message);
+size_t stub_motor_encoder_response__get_packed_size
+ (const StubMotorEncoderResponse *message);
+size_t stub_motor_encoder_response__pack
+ (const StubMotorEncoderResponse *message,
+ uint8_t *out);
+size_t stub_motor_encoder_response__pack_to_buffer
+ (const StubMotorEncoderResponse *message,
+ ProtobufCBuffer *buffer);
+StubMotorEncoderResponse *
+ stub_motor_encoder_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_motor_encoder_response__free_unpacked
+ (StubMotorEncoderResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubMotorEncoderResponse_Closure)
+ (const StubMotorEncoderResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_motor_encoder_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubMotorEncoderResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorInitRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorInitRequest.pb-c.c
new file mode 100644
index 000000000..0f01b16d4
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorInitRequest.pb-c.c
@@ -0,0 +1,196 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorInitRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubMotorInitRequest.pb-c.h"
+void stub_motor_init_request__init
+ (StubMotorInitRequest *message)
+{
+ static const StubMotorInitRequest init_value = STUB_MOTOR_INIT_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_motor_init_request__get_packed_size
+ (const StubMotorInitRequest *message)
+{
+ assert(message->base.descriptor == &stub_motor_init_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_motor_init_request__pack
+ (const StubMotorInitRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_motor_init_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_motor_init_request__pack_to_buffer
+ (const StubMotorInitRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_motor_init_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubMotorInitRequest *
+ stub_motor_init_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubMotorInitRequest *)
+ protobuf_c_message_unpack (&stub_motor_init_request__descriptor,
+ allocator, len, data);
+}
+void stub_motor_init_request__free_unpacked
+ (StubMotorInitRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_motor_init_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_motor_init_request__field_descriptors[9] =
+{
+ {
+ "Motor_ID",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorInitRequest, has_motor_id),
+ offsetof(StubMotorInitRequest, motor_id),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Micro_Steps",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorInitRequest, has_micro_steps),
+ offsetof(StubMotorInitRequest, micro_steps),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Set_Micro_Steps",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorInitRequest, has_set_micro_steps),
+ offsetof(StubMotorInitRequest, set_micro_steps),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "ACC",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorInitRequest, has_acc),
+ offsetof(StubMotorInitRequest, acc),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Set_ACC",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorInitRequest, has_set_acc),
+ offsetof(StubMotorInitRequest, set_acc),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "DEC",
+ 6,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorInitRequest, has_dec),
+ offsetof(StubMotorInitRequest, dec),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Set_Dec",
+ 7,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorInitRequest, has_set_dec),
+ offsetof(StubMotorInitRequest, set_dec),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Max_Speed",
+ 8,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorInitRequest, has_max_speed),
+ offsetof(StubMotorInitRequest, max_speed),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Set_Max_Speed",
+ 9,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorInitRequest, has_set_max_speed),
+ offsetof(StubMotorInitRequest, set_max_speed),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_motor_init_request__field_indices_by_name[] = {
+ 3, /* field[3] = ACC */
+ 5, /* field[5] = DEC */
+ 7, /* field[7] = Max_Speed */
+ 1, /* field[1] = Micro_Steps */
+ 0, /* field[0] = Motor_ID */
+ 4, /* field[4] = Set_ACC */
+ 6, /* field[6] = Set_Dec */
+ 8, /* field[8] = Set_Max_Speed */
+ 2, /* field[2] = Set_Micro_Steps */
+};
+static const ProtobufCIntRange stub_motor_init_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 9 }
+};
+const ProtobufCMessageDescriptor stub_motor_init_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubMotorInitRequest",
+ "StubMotorInitRequest",
+ "StubMotorInitRequest",
+ "",
+ sizeof(StubMotorInitRequest),
+ 9,
+ stub_motor_init_request__field_descriptors,
+ stub_motor_init_request__field_indices_by_name,
+ 1, stub_motor_init_request__number_ranges,
+ (ProtobufCMessageInit) stub_motor_init_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorInitRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorInitRequest.pb-c.h
new file mode 100644
index 000000000..29b1f6036
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorInitRequest.pb-c.h
@@ -0,0 +1,91 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorInitRequest.proto */
+
+#ifndef PROTOBUF_C_StubMotorInitRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubMotorInitRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubMotorInitRequest StubMotorInitRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubMotorInitRequest
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_motor_id;
+ uint32_t motor_id;
+ /*
+ * 1/2/4/8/16/32/64/128
+ */
+ protobuf_c_boolean has_micro_steps;
+ uint32_t micro_steps;
+ protobuf_c_boolean has_set_micro_steps;
+ protobuf_c_boolean set_micro_steps;
+ protobuf_c_boolean has_acc;
+ uint32_t acc;
+ protobuf_c_boolean has_set_acc;
+ protobuf_c_boolean set_acc;
+ protobuf_c_boolean has_dec;
+ uint32_t dec;
+ protobuf_c_boolean has_set_dec;
+ protobuf_c_boolean set_dec;
+ protobuf_c_boolean has_max_speed;
+ uint32_t max_speed;
+ protobuf_c_boolean has_set_max_speed;
+ protobuf_c_boolean set_max_speed;
+};
+#define STUB_MOTOR_INIT_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_motor_init_request__descriptor) \
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+
+
+/* StubMotorInitRequest methods */
+void stub_motor_init_request__init
+ (StubMotorInitRequest *message);
+size_t stub_motor_init_request__get_packed_size
+ (const StubMotorInitRequest *message);
+size_t stub_motor_init_request__pack
+ (const StubMotorInitRequest *message,
+ uint8_t *out);
+size_t stub_motor_init_request__pack_to_buffer
+ (const StubMotorInitRequest *message,
+ ProtobufCBuffer *buffer);
+StubMotorInitRequest *
+ stub_motor_init_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_motor_init_request__free_unpacked
+ (StubMotorInitRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubMotorInitRequest_Closure)
+ (const StubMotorInitRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_motor_init_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubMotorInitRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorInitResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorInitResponse.pb-c.c
new file mode 100644
index 000000000..17c436fa3
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorInitResponse.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorInitResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubMotorInitResponse.pb-c.h"
+void stub_motor_init_response__init
+ (StubMotorInitResponse *message)
+{
+ static const StubMotorInitResponse init_value = STUB_MOTOR_INIT_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_motor_init_response__get_packed_size
+ (const StubMotorInitResponse *message)
+{
+ assert(message->base.descriptor == &stub_motor_init_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_motor_init_response__pack
+ (const StubMotorInitResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_motor_init_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_motor_init_response__pack_to_buffer
+ (const StubMotorInitResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_motor_init_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubMotorInitResponse *
+ stub_motor_init_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubMotorInitResponse *)
+ protobuf_c_message_unpack (&stub_motor_init_response__descriptor,
+ allocator, len, data);
+}
+void stub_motor_init_response__free_unpacked
+ (StubMotorInitResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_motor_init_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_motor_init_response__field_descriptors[2] =
+{
+ {
+ "Motor_ID",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorInitResponse, has_motor_id),
+ offsetof(StubMotorInitResponse, motor_id),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Status",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorInitResponse, has_status),
+ offsetof(StubMotorInitResponse, status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_motor_init_response__field_indices_by_name[] = {
+ 0, /* field[0] = Motor_ID */
+ 1, /* field[1] = Status */
+};
+static const ProtobufCIntRange stub_motor_init_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor stub_motor_init_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubMotorInitResponse",
+ "StubMotorInitResponse",
+ "StubMotorInitResponse",
+ "",
+ sizeof(StubMotorInitResponse),
+ 2,
+ stub_motor_init_response__field_descriptors,
+ stub_motor_init_response__field_indices_by_name,
+ 1, stub_motor_init_response__number_ranges,
+ (ProtobufCMessageInit) stub_motor_init_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorInitResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorInitResponse.pb-c.h
new file mode 100644
index 000000000..c4f825818
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorInitResponse.pb-c.h
@@ -0,0 +1,74 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorInitResponse.proto */
+
+#ifndef PROTOBUF_C_StubMotorInitResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubMotorInitResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubMotorInitResponse StubMotorInitResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubMotorInitResponse
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_motor_id;
+ uint32_t motor_id;
+ protobuf_c_boolean has_status;
+ uint32_t status;
+};
+#define STUB_MOTOR_INIT_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_motor_init_response__descriptor) \
+ , 0, 0, 0, 0 }
+
+
+/* StubMotorInitResponse methods */
+void stub_motor_init_response__init
+ (StubMotorInitResponse *message);
+size_t stub_motor_init_response__get_packed_size
+ (const StubMotorInitResponse *message);
+size_t stub_motor_init_response__pack
+ (const StubMotorInitResponse *message,
+ uint8_t *out);
+size_t stub_motor_init_response__pack_to_buffer
+ (const StubMotorInitResponse *message,
+ ProtobufCBuffer *buffer);
+StubMotorInitResponse *
+ stub_motor_init_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_motor_init_response__free_unpacked
+ (StubMotorInitResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubMotorInitResponse_Closure)
+ (const StubMotorInitResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_motor_init_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubMotorInitResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorMovRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorMovRequest.pb-c.c
new file mode 100644
index 000000000..ed5152830
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorMovRequest.pb-c.c
@@ -0,0 +1,118 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorMovRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubMotorMovRequest.pb-c.h"
+void stub_motor_mov_request__init
+ (StubMotorMovRequest *message)
+{
+ static const StubMotorMovRequest init_value = STUB_MOTOR_MOV_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_motor_mov_request__get_packed_size
+ (const StubMotorMovRequest *message)
+{
+ assert(message->base.descriptor == &stub_motor_mov_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_motor_mov_request__pack
+ (const StubMotorMovRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_motor_mov_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_motor_mov_request__pack_to_buffer
+ (const StubMotorMovRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_motor_mov_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubMotorMovRequest *
+ stub_motor_mov_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubMotorMovRequest *)
+ protobuf_c_message_unpack (&stub_motor_mov_request__descriptor,
+ allocator, len, data);
+}
+void stub_motor_mov_request__free_unpacked
+ (StubMotorMovRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_motor_mov_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_motor_mov_request__field_descriptors[3] =
+{
+ {
+ "Motor_ID",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorMovRequest, has_motor_id),
+ offsetof(StubMotorMovRequest, motor_id),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Direction",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorMovRequest, has_direction),
+ offsetof(StubMotorMovRequest, direction),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Position",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorMovRequest, has_position),
+ offsetof(StubMotorMovRequest, position),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_motor_mov_request__field_indices_by_name[] = {
+ 1, /* field[1] = Direction */
+ 0, /* field[0] = Motor_ID */
+ 2, /* field[2] = Position */
+};
+static const ProtobufCIntRange stub_motor_mov_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 3 }
+};
+const ProtobufCMessageDescriptor stub_motor_mov_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubMotorMovRequest",
+ "StubMotorMovRequest",
+ "StubMotorMovRequest",
+ "",
+ sizeof(StubMotorMovRequest),
+ 3,
+ stub_motor_mov_request__field_descriptors,
+ stub_motor_mov_request__field_indices_by_name,
+ 1, stub_motor_mov_request__number_ranges,
+ (ProtobufCMessageInit) stub_motor_mov_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorMovRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorMovRequest.pb-c.h
new file mode 100644
index 000000000..8957b336a
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorMovRequest.pb-c.h
@@ -0,0 +1,76 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorMovRequest.proto */
+
+#ifndef PROTOBUF_C_StubMotorMovRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubMotorMovRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubMotorMovRequest StubMotorMovRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubMotorMovRequest
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_motor_id;
+ uint32_t motor_id;
+ protobuf_c_boolean has_direction;
+ protobuf_c_boolean direction;
+ protobuf_c_boolean has_position;
+ uint32_t position;
+};
+#define STUB_MOTOR_MOV_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_motor_mov_request__descriptor) \
+ , 0, 0, 0, 0, 0, 0 }
+
+
+/* StubMotorMovRequest methods */
+void stub_motor_mov_request__init
+ (StubMotorMovRequest *message);
+size_t stub_motor_mov_request__get_packed_size
+ (const StubMotorMovRequest *message);
+size_t stub_motor_mov_request__pack
+ (const StubMotorMovRequest *message,
+ uint8_t *out);
+size_t stub_motor_mov_request__pack_to_buffer
+ (const StubMotorMovRequest *message,
+ ProtobufCBuffer *buffer);
+StubMotorMovRequest *
+ stub_motor_mov_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_motor_mov_request__free_unpacked
+ (StubMotorMovRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubMotorMovRequest_Closure)
+ (const StubMotorMovRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_motor_mov_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubMotorMovRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorMovResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorMovResponse.pb-c.c
new file mode 100644
index 000000000..e0da6c0b3
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorMovResponse.pb-c.c
@@ -0,0 +1,170 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorMovResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubMotorMovResponse.pb-c.h"
+void stub_motor_mov_response__init
+ (StubMotorMovResponse *message)
+{
+ static const StubMotorMovResponse init_value = STUB_MOTOR_MOV_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_motor_mov_response__get_packed_size
+ (const StubMotorMovResponse *message)
+{
+ assert(message->base.descriptor == &stub_motor_mov_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_motor_mov_response__pack
+ (const StubMotorMovResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_motor_mov_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_motor_mov_response__pack_to_buffer
+ (const StubMotorMovResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_motor_mov_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubMotorMovResponse *
+ stub_motor_mov_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubMotorMovResponse *)
+ protobuf_c_message_unpack (&stub_motor_mov_response__descriptor,
+ allocator, len, data);
+}
+void stub_motor_mov_response__free_unpacked
+ (StubMotorMovResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_motor_mov_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_motor_mov_response__field_descriptors[7] =
+{
+ {
+ "Motor_ID",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorMovResponse, has_motor_id),
+ offsetof(StubMotorMovResponse, motor_id),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Position",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorMovResponse, has_position),
+ offsetof(StubMotorMovResponse, position),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Status_Reg",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorMovResponse, has_status_reg),
+ offsetof(StubMotorMovResponse, status_reg),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Direction",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorMovResponse, has_direction),
+ offsetof(StubMotorMovResponse, direction),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Mot_Status",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorMovResponse, has_mot_status),
+ offsetof(StubMotorMovResponse, mot_status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "STEP_LOSS_A",
+ 6,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorMovResponse, has_step_loss_a),
+ offsetof(StubMotorMovResponse, step_loss_a),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "STEP_LOSS_B",
+ 7,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorMovResponse, has_step_loss_b),
+ offsetof(StubMotorMovResponse, step_loss_b),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_motor_mov_response__field_indices_by_name[] = {
+ 3, /* field[3] = Direction */
+ 4, /* field[4] = Mot_Status */
+ 0, /* field[0] = Motor_ID */
+ 1, /* field[1] = Position */
+ 5, /* field[5] = STEP_LOSS_A */
+ 6, /* field[6] = STEP_LOSS_B */
+ 2, /* field[2] = Status_Reg */
+};
+static const ProtobufCIntRange stub_motor_mov_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 7 }
+};
+const ProtobufCMessageDescriptor stub_motor_mov_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubMotorMovResponse",
+ "StubMotorMovResponse",
+ "StubMotorMovResponse",
+ "",
+ sizeof(StubMotorMovResponse),
+ 7,
+ stub_motor_mov_response__field_descriptors,
+ stub_motor_mov_response__field_indices_by_name,
+ 1, stub_motor_mov_response__number_ranges,
+ (ProtobufCMessageInit) stub_motor_mov_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorMovResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorMovResponse.pb-c.h
new file mode 100644
index 000000000..cd80996ed
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorMovResponse.pb-c.h
@@ -0,0 +1,90 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorMovResponse.proto */
+
+#ifndef PROTOBUF_C_StubMotorMovResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubMotorMovResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubMotorMovResponse StubMotorMovResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubMotorMovResponse
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_motor_id;
+ uint32_t motor_id;
+ protobuf_c_boolean has_position;
+ uint32_t position;
+ protobuf_c_boolean has_status_reg;
+ uint32_t status_reg;
+ /*
+ * Reverse / Forward
+ */
+ protobuf_c_boolean has_direction;
+ protobuf_c_boolean direction;
+ /*
+ *Stopped / Acceleration / Deceleration / Constant speed
+ */
+ protobuf_c_boolean has_mot_status;
+ uint32_t mot_status;
+ protobuf_c_boolean has_step_loss_a;
+ protobuf_c_boolean step_loss_a;
+ protobuf_c_boolean has_step_loss_b;
+ protobuf_c_boolean step_loss_b;
+};
+#define STUB_MOTOR_MOV_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_motor_mov_response__descriptor) \
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+
+
+/* StubMotorMovResponse methods */
+void stub_motor_mov_response__init
+ (StubMotorMovResponse *message);
+size_t stub_motor_mov_response__get_packed_size
+ (const StubMotorMovResponse *message);
+size_t stub_motor_mov_response__pack
+ (const StubMotorMovResponse *message,
+ uint8_t *out);
+size_t stub_motor_mov_response__pack_to_buffer
+ (const StubMotorMovResponse *message,
+ ProtobufCBuffer *buffer);
+StubMotorMovResponse *
+ stub_motor_mov_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_motor_mov_response__free_unpacked
+ (StubMotorMovResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubMotorMovResponse_Closure)
+ (const StubMotorMovResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_motor_mov_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubMotorMovResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorPositionRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorPositionRequest.pb-c.c
new file mode 100644
index 000000000..08f43e778
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorPositionRequest.pb-c.c
@@ -0,0 +1,92 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorPositionRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubMotorPositionRequest.pb-c.h"
+void stub_motor_position_request__init
+ (StubMotorPositionRequest *message)
+{
+ static const StubMotorPositionRequest init_value = STUB_MOTOR_POSITION_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_motor_position_request__get_packed_size
+ (const StubMotorPositionRequest *message)
+{
+ assert(message->base.descriptor == &stub_motor_position_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_motor_position_request__pack
+ (const StubMotorPositionRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_motor_position_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_motor_position_request__pack_to_buffer
+ (const StubMotorPositionRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_motor_position_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubMotorPositionRequest *
+ stub_motor_position_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubMotorPositionRequest *)
+ protobuf_c_message_unpack (&stub_motor_position_request__descriptor,
+ allocator, len, data);
+}
+void stub_motor_position_request__free_unpacked
+ (StubMotorPositionRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_motor_position_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_motor_position_request__field_descriptors[1] =
+{
+ {
+ "Motor_ID",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorPositionRequest, has_motor_id),
+ offsetof(StubMotorPositionRequest, motor_id),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_motor_position_request__field_indices_by_name[] = {
+ 0, /* field[0] = Motor_ID */
+};
+static const ProtobufCIntRange stub_motor_position_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 1 }
+};
+const ProtobufCMessageDescriptor stub_motor_position_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubMotorPositionRequest",
+ "StubMotorPositionRequest",
+ "StubMotorPositionRequest",
+ "",
+ sizeof(StubMotorPositionRequest),
+ 1,
+ stub_motor_position_request__field_descriptors,
+ stub_motor_position_request__field_indices_by_name,
+ 1, stub_motor_position_request__number_ranges,
+ (ProtobufCMessageInit) stub_motor_position_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorPositionRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorPositionRequest.pb-c.h
new file mode 100644
index 000000000..439a0f31d
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorPositionRequest.pb-c.h
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorPositionRequest.proto */
+
+#ifndef PROTOBUF_C_StubMotorPositionRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubMotorPositionRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubMotorPositionRequest StubMotorPositionRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubMotorPositionRequest
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_motor_id;
+ uint32_t motor_id;
+};
+#define STUB_MOTOR_POSITION_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_motor_position_request__descriptor) \
+ , 0, 0 }
+
+
+/* StubMotorPositionRequest methods */
+void stub_motor_position_request__init
+ (StubMotorPositionRequest *message);
+size_t stub_motor_position_request__get_packed_size
+ (const StubMotorPositionRequest *message);
+size_t stub_motor_position_request__pack
+ (const StubMotorPositionRequest *message,
+ uint8_t *out);
+size_t stub_motor_position_request__pack_to_buffer
+ (const StubMotorPositionRequest *message,
+ ProtobufCBuffer *buffer);
+StubMotorPositionRequest *
+ stub_motor_position_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_motor_position_request__free_unpacked
+ (StubMotorPositionRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubMotorPositionRequest_Closure)
+ (const StubMotorPositionRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_motor_position_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubMotorPositionRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorPositionResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorPositionResponse.pb-c.c
new file mode 100644
index 000000000..4354eb2da
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorPositionResponse.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorPositionResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubMotorPositionResponse.pb-c.h"
+void stub_motor_position_response__init
+ (StubMotorPositionResponse *message)
+{
+ static const StubMotorPositionResponse init_value = STUB_MOTOR_POSITION_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_motor_position_response__get_packed_size
+ (const StubMotorPositionResponse *message)
+{
+ assert(message->base.descriptor == &stub_motor_position_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_motor_position_response__pack
+ (const StubMotorPositionResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_motor_position_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_motor_position_response__pack_to_buffer
+ (const StubMotorPositionResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_motor_position_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubMotorPositionResponse *
+ stub_motor_position_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubMotorPositionResponse *)
+ protobuf_c_message_unpack (&stub_motor_position_response__descriptor,
+ allocator, len, data);
+}
+void stub_motor_position_response__free_unpacked
+ (StubMotorPositionResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_motor_position_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_motor_position_response__field_descriptors[2] =
+{
+ {
+ "Motor_ID",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorPositionResponse, has_motor_id),
+ offsetof(StubMotorPositionResponse, motor_id),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Position",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorPositionResponse, has_position),
+ offsetof(StubMotorPositionResponse, position),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_motor_position_response__field_indices_by_name[] = {
+ 0, /* field[0] = Motor_ID */
+ 1, /* field[1] = Position */
+};
+static const ProtobufCIntRange stub_motor_position_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor stub_motor_position_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubMotorPositionResponse",
+ "StubMotorPositionResponse",
+ "StubMotorPositionResponse",
+ "",
+ sizeof(StubMotorPositionResponse),
+ 2,
+ stub_motor_position_response__field_descriptors,
+ stub_motor_position_response__field_indices_by_name,
+ 1, stub_motor_position_response__number_ranges,
+ (ProtobufCMessageInit) stub_motor_position_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorPositionResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorPositionResponse.pb-c.h
new file mode 100644
index 000000000..13c7c3c95
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorPositionResponse.pb-c.h
@@ -0,0 +1,74 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorPositionResponse.proto */
+
+#ifndef PROTOBUF_C_StubMotorPositionResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubMotorPositionResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubMotorPositionResponse StubMotorPositionResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubMotorPositionResponse
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_motor_id;
+ uint32_t motor_id;
+ protobuf_c_boolean has_position;
+ uint32_t position;
+};
+#define STUB_MOTOR_POSITION_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_motor_position_response__descriptor) \
+ , 0, 0, 0, 0 }
+
+
+/* StubMotorPositionResponse methods */
+void stub_motor_position_response__init
+ (StubMotorPositionResponse *message);
+size_t stub_motor_position_response__get_packed_size
+ (const StubMotorPositionResponse *message);
+size_t stub_motor_position_response__pack
+ (const StubMotorPositionResponse *message,
+ uint8_t *out);
+size_t stub_motor_position_response__pack_to_buffer
+ (const StubMotorPositionResponse *message,
+ ProtobufCBuffer *buffer);
+StubMotorPositionResponse *
+ stub_motor_position_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_motor_position_response__free_unpacked
+ (StubMotorPositionResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubMotorPositionResponse_Closure)
+ (const StubMotorPositionResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_motor_position_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubMotorPositionResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorRunRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorRunRequest.pb-c.c
new file mode 100644
index 000000000..30cf9ccf2
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorRunRequest.pb-c.c
@@ -0,0 +1,118 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorRunRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubMotorRunRequest.pb-c.h"
+void stub_motor_run_request__init
+ (StubMotorRunRequest *message)
+{
+ static const StubMotorRunRequest init_value = STUB_MOTOR_RUN_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_motor_run_request__get_packed_size
+ (const StubMotorRunRequest *message)
+{
+ assert(message->base.descriptor == &stub_motor_run_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_motor_run_request__pack
+ (const StubMotorRunRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_motor_run_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_motor_run_request__pack_to_buffer
+ (const StubMotorRunRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_motor_run_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubMotorRunRequest *
+ stub_motor_run_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubMotorRunRequest *)
+ protobuf_c_message_unpack (&stub_motor_run_request__descriptor,
+ allocator, len, data);
+}
+void stub_motor_run_request__free_unpacked
+ (StubMotorRunRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_motor_run_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_motor_run_request__field_descriptors[3] =
+{
+ {
+ "Motor_ID",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorRunRequest, has_motor_id),
+ offsetof(StubMotorRunRequest, motor_id),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Direction",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorRunRequest, has_direction),
+ offsetof(StubMotorRunRequest, direction),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Speed",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubMotorRunRequest, has_speed),
+ offsetof(StubMotorRunRequest, speed),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_motor_run_request__field_indices_by_name[] = {
+ 1, /* field[1] = Direction */
+ 0, /* field[0] = Motor_ID */
+ 2, /* field[2] = Speed */
+};
+static const ProtobufCIntRange stub_motor_run_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 3 }
+};
+const ProtobufCMessageDescriptor stub_motor_run_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubMotorRunRequest",
+ "StubMotorRunRequest",
+ "StubMotorRunRequest",
+ "",
+ sizeof(StubMotorRunRequest),
+ 3,
+ stub_motor_run_request__field_descriptors,
+ stub_motor_run_request__field_indices_by_name,
+ 1, stub_motor_run_request__number_ranges,
+ (ProtobufCMessageInit) stub_motor_run_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorRunRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorRunRequest.pb-c.h
new file mode 100644
index 000000000..5c4ce2efd
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorRunRequest.pb-c.h
@@ -0,0 +1,76 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorRunRequest.proto */
+
+#ifndef PROTOBUF_C_StubMotorRunRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubMotorRunRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubMotorRunRequest StubMotorRunRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubMotorRunRequest
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_motor_id;
+ uint32_t motor_id;
+ protobuf_c_boolean has_direction;
+ protobuf_c_boolean direction;
+ protobuf_c_boolean has_speed;
+ double speed;
+};
+#define STUB_MOTOR_RUN_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_motor_run_request__descriptor) \
+ , 0, 0, 0, 0, 0, 0 }
+
+
+/* StubMotorRunRequest methods */
+void stub_motor_run_request__init
+ (StubMotorRunRequest *message);
+size_t stub_motor_run_request__get_packed_size
+ (const StubMotorRunRequest *message);
+size_t stub_motor_run_request__pack
+ (const StubMotorRunRequest *message,
+ uint8_t *out);
+size_t stub_motor_run_request__pack_to_buffer
+ (const StubMotorRunRequest *message,
+ ProtobufCBuffer *buffer);
+StubMotorRunRequest *
+ stub_motor_run_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_motor_run_request__free_unpacked
+ (StubMotorRunRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubMotorRunRequest_Closure)
+ (const StubMotorRunRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_motor_run_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubMotorRunRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorRunResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorRunResponse.pb-c.c
new file mode 100644
index 000000000..4d437ab7e
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorRunResponse.pb-c.c
@@ -0,0 +1,183 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorRunResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubMotorRunResponse.pb-c.h"
+void stub_motor_run_response__init
+ (StubMotorRunResponse *message)
+{
+ static const StubMotorRunResponse init_value = STUB_MOTOR_RUN_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_motor_run_response__get_packed_size
+ (const StubMotorRunResponse *message)
+{
+ assert(message->base.descriptor == &stub_motor_run_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_motor_run_response__pack
+ (const StubMotorRunResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_motor_run_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_motor_run_response__pack_to_buffer
+ (const StubMotorRunResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_motor_run_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubMotorRunResponse *
+ stub_motor_run_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubMotorRunResponse *)
+ protobuf_c_message_unpack (&stub_motor_run_response__descriptor,
+ allocator, len, data);
+}
+void stub_motor_run_response__free_unpacked
+ (StubMotorRunResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_motor_run_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_motor_run_response__field_descriptors[8] =
+{
+ {
+ "Motor_ID",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorRunResponse, has_motor_id),
+ offsetof(StubMotorRunResponse, motor_id),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Speed",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubMotorRunResponse, has_speed),
+ offsetof(StubMotorRunResponse, speed),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Status_Reg",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorRunResponse, has_status_reg),
+ offsetof(StubMotorRunResponse, status_reg),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Direction",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorRunResponse, has_direction),
+ offsetof(StubMotorRunResponse, direction),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Mot_Status",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorRunResponse, has_mot_status),
+ offsetof(StubMotorRunResponse, mot_status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "STEP_LOSS_A",
+ 6,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorRunResponse, has_step_loss_a),
+ offsetof(StubMotorRunResponse, step_loss_a),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "STEP_LOSS_B",
+ 7,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorRunResponse, has_step_loss_b),
+ offsetof(StubMotorRunResponse, step_loss_b),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "BUSY",
+ 8,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorRunResponse, has_busy),
+ offsetof(StubMotorRunResponse, busy),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_motor_run_response__field_indices_by_name[] = {
+ 7, /* field[7] = BUSY */
+ 3, /* field[3] = Direction */
+ 4, /* field[4] = Mot_Status */
+ 0, /* field[0] = Motor_ID */
+ 5, /* field[5] = STEP_LOSS_A */
+ 6, /* field[6] = STEP_LOSS_B */
+ 1, /* field[1] = Speed */
+ 2, /* field[2] = Status_Reg */
+};
+static const ProtobufCIntRange stub_motor_run_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 8 }
+};
+const ProtobufCMessageDescriptor stub_motor_run_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubMotorRunResponse",
+ "StubMotorRunResponse",
+ "StubMotorRunResponse",
+ "",
+ sizeof(StubMotorRunResponse),
+ 8,
+ stub_motor_run_response__field_descriptors,
+ stub_motor_run_response__field_indices_by_name,
+ 1, stub_motor_run_response__number_ranges,
+ (ProtobufCMessageInit) stub_motor_run_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorRunResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorRunResponse.pb-c.h
new file mode 100644
index 000000000..9c80cd28d
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorRunResponse.pb-c.h
@@ -0,0 +1,92 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorRunResponse.proto */
+
+#ifndef PROTOBUF_C_StubMotorRunResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubMotorRunResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubMotorRunResponse StubMotorRunResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubMotorRunResponse
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_motor_id;
+ uint32_t motor_id;
+ protobuf_c_boolean has_speed;
+ double speed;
+ protobuf_c_boolean has_status_reg;
+ uint32_t status_reg;
+ /*
+ * Reverse / Forward
+ */
+ protobuf_c_boolean has_direction;
+ protobuf_c_boolean direction;
+ /*
+ *Stopped / Acceleration / Deceleration / Constant speed
+ */
+ protobuf_c_boolean has_mot_status;
+ uint32_t mot_status;
+ protobuf_c_boolean has_step_loss_a;
+ protobuf_c_boolean step_loss_a;
+ protobuf_c_boolean has_step_loss_b;
+ protobuf_c_boolean step_loss_b;
+ protobuf_c_boolean has_busy;
+ protobuf_c_boolean busy;
+};
+#define STUB_MOTOR_RUN_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_motor_run_response__descriptor) \
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+
+
+/* StubMotorRunResponse methods */
+void stub_motor_run_response__init
+ (StubMotorRunResponse *message);
+size_t stub_motor_run_response__get_packed_size
+ (const StubMotorRunResponse *message);
+size_t stub_motor_run_response__pack
+ (const StubMotorRunResponse *message,
+ uint8_t *out);
+size_t stub_motor_run_response__pack_to_buffer
+ (const StubMotorRunResponse *message,
+ ProtobufCBuffer *buffer);
+StubMotorRunResponse *
+ stub_motor_run_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_motor_run_response__free_unpacked
+ (StubMotorRunResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubMotorRunResponse_Closure)
+ (const StubMotorRunResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_motor_run_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubMotorRunResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorSpeedRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorSpeedRequest.pb-c.c
new file mode 100644
index 000000000..c8acbfdfd
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorSpeedRequest.pb-c.c
@@ -0,0 +1,92 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorSpeedRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubMotorSpeedRequest.pb-c.h"
+void stub_motor_speed_request__init
+ (StubMotorSpeedRequest *message)
+{
+ static const StubMotorSpeedRequest init_value = STUB_MOTOR_SPEED_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_motor_speed_request__get_packed_size
+ (const StubMotorSpeedRequest *message)
+{
+ assert(message->base.descriptor == &stub_motor_speed_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_motor_speed_request__pack
+ (const StubMotorSpeedRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_motor_speed_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_motor_speed_request__pack_to_buffer
+ (const StubMotorSpeedRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_motor_speed_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubMotorSpeedRequest *
+ stub_motor_speed_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubMotorSpeedRequest *)
+ protobuf_c_message_unpack (&stub_motor_speed_request__descriptor,
+ allocator, len, data);
+}
+void stub_motor_speed_request__free_unpacked
+ (StubMotorSpeedRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_motor_speed_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_motor_speed_request__field_descriptors[1] =
+{
+ {
+ "Motor_ID",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorSpeedRequest, has_motor_id),
+ offsetof(StubMotorSpeedRequest, motor_id),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_motor_speed_request__field_indices_by_name[] = {
+ 0, /* field[0] = Motor_ID */
+};
+static const ProtobufCIntRange stub_motor_speed_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 1 }
+};
+const ProtobufCMessageDescriptor stub_motor_speed_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubMotorSpeedRequest",
+ "StubMotorSpeedRequest",
+ "StubMotorSpeedRequest",
+ "",
+ sizeof(StubMotorSpeedRequest),
+ 1,
+ stub_motor_speed_request__field_descriptors,
+ stub_motor_speed_request__field_indices_by_name,
+ 1, stub_motor_speed_request__number_ranges,
+ (ProtobufCMessageInit) stub_motor_speed_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorSpeedRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorSpeedRequest.pb-c.h
new file mode 100644
index 000000000..537ca4da6
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorSpeedRequest.pb-c.h
@@ -0,0 +1,72 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorSpeedRequest.proto */
+
+#ifndef PROTOBUF_C_StubMotorSpeedRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubMotorSpeedRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubMotorSpeedRequest StubMotorSpeedRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubMotorSpeedRequest
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_motor_id;
+ uint32_t motor_id;
+};
+#define STUB_MOTOR_SPEED_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_motor_speed_request__descriptor) \
+ , 0, 0 }
+
+
+/* StubMotorSpeedRequest methods */
+void stub_motor_speed_request__init
+ (StubMotorSpeedRequest *message);
+size_t stub_motor_speed_request__get_packed_size
+ (const StubMotorSpeedRequest *message);
+size_t stub_motor_speed_request__pack
+ (const StubMotorSpeedRequest *message,
+ uint8_t *out);
+size_t stub_motor_speed_request__pack_to_buffer
+ (const StubMotorSpeedRequest *message,
+ ProtobufCBuffer *buffer);
+StubMotorSpeedRequest *
+ stub_motor_speed_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_motor_speed_request__free_unpacked
+ (StubMotorSpeedRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubMotorSpeedRequest_Closure)
+ (const StubMotorSpeedRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_motor_speed_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubMotorSpeedRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorSpeedResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorSpeedResponse.pb-c.c
new file mode 100644
index 000000000..34d826880
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorSpeedResponse.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorSpeedResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubMotorSpeedResponse.pb-c.h"
+void stub_motor_speed_response__init
+ (StubMotorSpeedResponse *message)
+{
+ static const StubMotorSpeedResponse init_value = STUB_MOTOR_SPEED_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_motor_speed_response__get_packed_size
+ (const StubMotorSpeedResponse *message)
+{
+ assert(message->base.descriptor == &stub_motor_speed_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_motor_speed_response__pack
+ (const StubMotorSpeedResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_motor_speed_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_motor_speed_response__pack_to_buffer
+ (const StubMotorSpeedResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_motor_speed_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubMotorSpeedResponse *
+ stub_motor_speed_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubMotorSpeedResponse *)
+ protobuf_c_message_unpack (&stub_motor_speed_response__descriptor,
+ allocator, len, data);
+}
+void stub_motor_speed_response__free_unpacked
+ (StubMotorSpeedResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_motor_speed_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_motor_speed_response__field_descriptors[2] =
+{
+ {
+ "Motor_ID",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorSpeedResponse, has_motor_id),
+ offsetof(StubMotorSpeedResponse, motor_id),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Speed",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_DOUBLE,
+ offsetof(StubMotorSpeedResponse, has_speed),
+ offsetof(StubMotorSpeedResponse, speed),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_motor_speed_response__field_indices_by_name[] = {
+ 0, /* field[0] = Motor_ID */
+ 1, /* field[1] = Speed */
+};
+static const ProtobufCIntRange stub_motor_speed_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor stub_motor_speed_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubMotorSpeedResponse",
+ "StubMotorSpeedResponse",
+ "StubMotorSpeedResponse",
+ "",
+ sizeof(StubMotorSpeedResponse),
+ 2,
+ stub_motor_speed_response__field_descriptors,
+ stub_motor_speed_response__field_indices_by_name,
+ 1, stub_motor_speed_response__number_ranges,
+ (ProtobufCMessageInit) stub_motor_speed_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorSpeedResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorSpeedResponse.pb-c.h
new file mode 100644
index 000000000..d113e02d9
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorSpeedResponse.pb-c.h
@@ -0,0 +1,74 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorSpeedResponse.proto */
+
+#ifndef PROTOBUF_C_StubMotorSpeedResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubMotorSpeedResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubMotorSpeedResponse StubMotorSpeedResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubMotorSpeedResponse
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_motor_id;
+ uint32_t motor_id;
+ protobuf_c_boolean has_speed;
+ double speed;
+};
+#define STUB_MOTOR_SPEED_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_motor_speed_response__descriptor) \
+ , 0, 0, 0, 0 }
+
+
+/* StubMotorSpeedResponse methods */
+void stub_motor_speed_response__init
+ (StubMotorSpeedResponse *message);
+size_t stub_motor_speed_response__get_packed_size
+ (const StubMotorSpeedResponse *message);
+size_t stub_motor_speed_response__pack
+ (const StubMotorSpeedResponse *message,
+ uint8_t *out);
+size_t stub_motor_speed_response__pack_to_buffer
+ (const StubMotorSpeedResponse *message,
+ ProtobufCBuffer *buffer);
+StubMotorSpeedResponse *
+ stub_motor_speed_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_motor_speed_response__free_unpacked
+ (StubMotorSpeedResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubMotorSpeedResponse_Closure)
+ (const StubMotorSpeedResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_motor_speed_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubMotorSpeedResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStatusRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStatusRequest.pb-c.c
new file mode 100644
index 000000000..21ff45bab
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStatusRequest.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorStatusRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubMotorStatusRequest.pb-c.h"
+void stub_motor_status_request__init
+ (StubMotorStatusRequest *message)
+{
+ static const StubMotorStatusRequest init_value = STUB_MOTOR_STATUS_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_motor_status_request__get_packed_size
+ (const StubMotorStatusRequest *message)
+{
+ assert(message->base.descriptor == &stub_motor_status_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_motor_status_request__pack
+ (const StubMotorStatusRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_motor_status_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_motor_status_request__pack_to_buffer
+ (const StubMotorStatusRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_motor_status_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubMotorStatusRequest *
+ stub_motor_status_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubMotorStatusRequest *)
+ protobuf_c_message_unpack (&stub_motor_status_request__descriptor,
+ allocator, len, data);
+}
+void stub_motor_status_request__free_unpacked
+ (StubMotorStatusRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_motor_status_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_motor_status_request__field_descriptors[2] =
+{
+ {
+ "Motor_ID",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorStatusRequest, has_motor_id),
+ offsetof(StubMotorStatusRequest, motor_id),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "ClearStatus",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorStatusRequest, has_clearstatus),
+ offsetof(StubMotorStatusRequest, clearstatus),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_motor_status_request__field_indices_by_name[] = {
+ 1, /* field[1] = ClearStatus */
+ 0, /* field[0] = Motor_ID */
+};
+static const ProtobufCIntRange stub_motor_status_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor stub_motor_status_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubMotorStatusRequest",
+ "StubMotorStatusRequest",
+ "StubMotorStatusRequest",
+ "",
+ sizeof(StubMotorStatusRequest),
+ 2,
+ stub_motor_status_request__field_descriptors,
+ stub_motor_status_request__field_indices_by_name,
+ 1, stub_motor_status_request__number_ranges,
+ (ProtobufCMessageInit) stub_motor_status_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStatusRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStatusRequest.pb-c.h
new file mode 100644
index 000000000..84fbd6080
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStatusRequest.pb-c.h
@@ -0,0 +1,74 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorStatusRequest.proto */
+
+#ifndef PROTOBUF_C_StubMotorStatusRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubMotorStatusRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubMotorStatusRequest StubMotorStatusRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubMotorStatusRequest
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_motor_id;
+ uint32_t motor_id;
+ protobuf_c_boolean has_clearstatus;
+ protobuf_c_boolean clearstatus;
+};
+#define STUB_MOTOR_STATUS_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_motor_status_request__descriptor) \
+ , 0, 0, 0, 0 }
+
+
+/* StubMotorStatusRequest methods */
+void stub_motor_status_request__init
+ (StubMotorStatusRequest *message);
+size_t stub_motor_status_request__get_packed_size
+ (const StubMotorStatusRequest *message);
+size_t stub_motor_status_request__pack
+ (const StubMotorStatusRequest *message,
+ uint8_t *out);
+size_t stub_motor_status_request__pack_to_buffer
+ (const StubMotorStatusRequest *message,
+ ProtobufCBuffer *buffer);
+StubMotorStatusRequest *
+ stub_motor_status_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_motor_status_request__free_unpacked
+ (StubMotorStatusRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubMotorStatusRequest_Closure)
+ (const StubMotorStatusRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_motor_status_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubMotorStatusRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStatusResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStatusResponse.pb-c.c
new file mode 100644
index 000000000..9236abdea
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStatusResponse.pb-c.c
@@ -0,0 +1,287 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorStatusResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubMotorStatusResponse.pb-c.h"
+void stub_motor_status_response__init
+ (StubMotorStatusResponse *message)
+{
+ static const StubMotorStatusResponse init_value = STUB_MOTOR_STATUS_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_motor_status_response__get_packed_size
+ (const StubMotorStatusResponse *message)
+{
+ assert(message->base.descriptor == &stub_motor_status_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_motor_status_response__pack
+ (const StubMotorStatusResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_motor_status_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_motor_status_response__pack_to_buffer
+ (const StubMotorStatusResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_motor_status_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubMotorStatusResponse *
+ stub_motor_status_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubMotorStatusResponse *)
+ protobuf_c_message_unpack (&stub_motor_status_response__descriptor,
+ allocator, len, data);
+}
+void stub_motor_status_response__free_unpacked
+ (StubMotorStatusResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_motor_status_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_motor_status_response__field_descriptors[16] =
+{
+ {
+ "Motor_ID",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorStatusResponse, has_motor_id),
+ offsetof(StubMotorStatusResponse, motor_id),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "SCK_MOD",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorStatusResponse, has_sck_mod),
+ offsetof(StubMotorStatusResponse, sck_mod),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "STEP_LOSS_B",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorStatusResponse, has_step_loss_b),
+ offsetof(StubMotorStatusResponse, step_loss_b),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "STEP_LOSS_A",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorStatusResponse, has_step_loss_a),
+ offsetof(StubMotorStatusResponse, step_loss_a),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "OCD",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorStatusResponse, has_ocd),
+ offsetof(StubMotorStatusResponse, ocd),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "TH_SD",
+ 6,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorStatusResponse, has_th_sd),
+ offsetof(StubMotorStatusResponse, th_sd),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "TH_WRN",
+ 7,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorStatusResponse, has_th_wrn),
+ offsetof(StubMotorStatusResponse, th_wrn),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "UVLO",
+ 8,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorStatusResponse, has_uvlo),
+ offsetof(StubMotorStatusResponse, uvlo),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "WRONG_CMD",
+ 9,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorStatusResponse, has_wrong_cmd),
+ offsetof(StubMotorStatusResponse, wrong_cmd),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "NOTPERF_CMD",
+ 10,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorStatusResponse, has_notperf_cmd),
+ offsetof(StubMotorStatusResponse, notperf_cmd),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "MOT_STATUS",
+ 11,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorStatusResponse, has_mot_status),
+ offsetof(StubMotorStatusResponse, mot_status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "DIR",
+ 12,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorStatusResponse, has_dir),
+ offsetof(StubMotorStatusResponse, dir),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "SW_EVN",
+ 13,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorStatusResponse, has_sw_evn),
+ offsetof(StubMotorStatusResponse, sw_evn),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "SW_F",
+ 14,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorStatusResponse, has_sw_f),
+ offsetof(StubMotorStatusResponse, sw_f),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "BUSY",
+ 15,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorStatusResponse, has_busy),
+ offsetof(StubMotorStatusResponse, busy),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "HiZ",
+ 16,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorStatusResponse, has_hiz),
+ offsetof(StubMotorStatusResponse, hiz),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_motor_status_response__field_indices_by_name[] = {
+ 14, /* field[14] = BUSY */
+ 11, /* field[11] = DIR */
+ 15, /* field[15] = HiZ */
+ 10, /* field[10] = MOT_STATUS */
+ 0, /* field[0] = Motor_ID */
+ 9, /* field[9] = NOTPERF_CMD */
+ 4, /* field[4] = OCD */
+ 1, /* field[1] = SCK_MOD */
+ 3, /* field[3] = STEP_LOSS_A */
+ 2, /* field[2] = STEP_LOSS_B */
+ 12, /* field[12] = SW_EVN */
+ 13, /* field[13] = SW_F */
+ 5, /* field[5] = TH_SD */
+ 6, /* field[6] = TH_WRN */
+ 7, /* field[7] = UVLO */
+ 8, /* field[8] = WRONG_CMD */
+};
+static const ProtobufCIntRange stub_motor_status_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 16 }
+};
+const ProtobufCMessageDescriptor stub_motor_status_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubMotorStatusResponse",
+ "StubMotorStatusResponse",
+ "StubMotorStatusResponse",
+ "",
+ sizeof(StubMotorStatusResponse),
+ 16,
+ stub_motor_status_response__field_descriptors,
+ stub_motor_status_response__field_indices_by_name,
+ 1, stub_motor_status_response__number_ranges,
+ (ProtobufCMessageInit) stub_motor_status_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStatusResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStatusResponse.pb-c.h
new file mode 100644
index 000000000..440830b3b
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStatusResponse.pb-c.h
@@ -0,0 +1,102 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorStatusResponse.proto */
+
+#ifndef PROTOBUF_C_StubMotorStatusResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubMotorStatusResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubMotorStatusResponse StubMotorStatusResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubMotorStatusResponse
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_motor_id;
+ uint32_t motor_id;
+ protobuf_c_boolean has_sck_mod;
+ protobuf_c_boolean sck_mod;
+ protobuf_c_boolean has_step_loss_b;
+ protobuf_c_boolean step_loss_b;
+ protobuf_c_boolean has_step_loss_a;
+ protobuf_c_boolean step_loss_a;
+ protobuf_c_boolean has_ocd;
+ protobuf_c_boolean ocd;
+ protobuf_c_boolean has_th_sd;
+ protobuf_c_boolean th_sd;
+ protobuf_c_boolean has_th_wrn;
+ protobuf_c_boolean th_wrn;
+ protobuf_c_boolean has_uvlo;
+ protobuf_c_boolean uvlo;
+ protobuf_c_boolean has_wrong_cmd;
+ protobuf_c_boolean wrong_cmd;
+ protobuf_c_boolean has_notperf_cmd;
+ protobuf_c_boolean notperf_cmd;
+ protobuf_c_boolean has_mot_status;
+ uint32_t mot_status;
+ protobuf_c_boolean has_dir;
+ protobuf_c_boolean dir;
+ protobuf_c_boolean has_sw_evn;
+ protobuf_c_boolean sw_evn;
+ protobuf_c_boolean has_sw_f;
+ protobuf_c_boolean sw_f;
+ protobuf_c_boolean has_busy;
+ protobuf_c_boolean busy;
+ protobuf_c_boolean has_hiz;
+ protobuf_c_boolean hiz;
+};
+#define STUB_MOTOR_STATUS_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_motor_status_response__descriptor) \
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+
+
+/* StubMotorStatusResponse methods */
+void stub_motor_status_response__init
+ (StubMotorStatusResponse *message);
+size_t stub_motor_status_response__get_packed_size
+ (const StubMotorStatusResponse *message);
+size_t stub_motor_status_response__pack
+ (const StubMotorStatusResponse *message,
+ uint8_t *out);
+size_t stub_motor_status_response__pack_to_buffer
+ (const StubMotorStatusResponse *message,
+ ProtobufCBuffer *buffer);
+StubMotorStatusResponse *
+ stub_motor_status_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_motor_status_response__free_unpacked
+ (StubMotorStatusResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubMotorStatusResponse_Closure)
+ (const StubMotorStatusResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_motor_status_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubMotorStatusResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStopRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStopRequest.pb-c.c
new file mode 100644
index 000000000..1bcdca7be
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStopRequest.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorStopRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubMotorStopRequest.pb-c.h"
+void stub_motor_stop_request__init
+ (StubMotorStopRequest *message)
+{
+ static const StubMotorStopRequest init_value = STUB_MOTOR_STOP_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_motor_stop_request__get_packed_size
+ (const StubMotorStopRequest *message)
+{
+ assert(message->base.descriptor == &stub_motor_stop_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_motor_stop_request__pack
+ (const StubMotorStopRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_motor_stop_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_motor_stop_request__pack_to_buffer
+ (const StubMotorStopRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_motor_stop_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubMotorStopRequest *
+ stub_motor_stop_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubMotorStopRequest *)
+ protobuf_c_message_unpack (&stub_motor_stop_request__descriptor,
+ allocator, len, data);
+}
+void stub_motor_stop_request__free_unpacked
+ (StubMotorStopRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_motor_stop_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_motor_stop_request__field_descriptors[2] =
+{
+ {
+ "Motor_ID",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorStopRequest, has_motor_id),
+ offsetof(StubMotorStopRequest, motor_id),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Stop_CMD",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorStopRequest, has_stop_cmd),
+ offsetof(StubMotorStopRequest, stop_cmd),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_motor_stop_request__field_indices_by_name[] = {
+ 0, /* field[0] = Motor_ID */
+ 1, /* field[1] = Stop_CMD */
+};
+static const ProtobufCIntRange stub_motor_stop_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor stub_motor_stop_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubMotorStopRequest",
+ "StubMotorStopRequest",
+ "StubMotorStopRequest",
+ "",
+ sizeof(StubMotorStopRequest),
+ 2,
+ stub_motor_stop_request__field_descriptors,
+ stub_motor_stop_request__field_indices_by_name,
+ 1, stub_motor_stop_request__number_ranges,
+ (ProtobufCMessageInit) stub_motor_stop_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStopRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStopRequest.pb-c.h
new file mode 100644
index 000000000..2c89fc185
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStopRequest.pb-c.h
@@ -0,0 +1,77 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorStopRequest.proto */
+
+#ifndef PROTOBUF_C_StubMotorStopRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubMotorStopRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubMotorStopRequest StubMotorStopRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubMotorStopRequest
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_motor_id;
+ uint32_t motor_id;
+ /*
+ * 1 - Hard_Stop/ 2 - Soft_Stop/ 3 - Hard_Hiz/ 4 - Soft_Hiz
+ */
+ protobuf_c_boolean has_stop_cmd;
+ uint32_t stop_cmd;
+};
+#define STUB_MOTOR_STOP_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_motor_stop_request__descriptor) \
+ , 0, 0, 0, 0 }
+
+
+/* StubMotorStopRequest methods */
+void stub_motor_stop_request__init
+ (StubMotorStopRequest *message);
+size_t stub_motor_stop_request__get_packed_size
+ (const StubMotorStopRequest *message);
+size_t stub_motor_stop_request__pack
+ (const StubMotorStopRequest *message,
+ uint8_t *out);
+size_t stub_motor_stop_request__pack_to_buffer
+ (const StubMotorStopRequest *message,
+ ProtobufCBuffer *buffer);
+StubMotorStopRequest *
+ stub_motor_stop_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_motor_stop_request__free_unpacked
+ (StubMotorStopRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubMotorStopRequest_Closure)
+ (const StubMotorStopRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_motor_stop_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubMotorStopRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStopResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStopResponse.pb-c.c
new file mode 100644
index 000000000..60cacfcb7
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStopResponse.pb-c.c
@@ -0,0 +1,131 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorStopResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubMotorStopResponse.pb-c.h"
+void stub_motor_stop_response__init
+ (StubMotorStopResponse *message)
+{
+ static const StubMotorStopResponse init_value = STUB_MOTOR_STOP_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_motor_stop_response__get_packed_size
+ (const StubMotorStopResponse *message)
+{
+ assert(message->base.descriptor == &stub_motor_stop_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_motor_stop_response__pack
+ (const StubMotorStopResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_motor_stop_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_motor_stop_response__pack_to_buffer
+ (const StubMotorStopResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_motor_stop_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubMotorStopResponse *
+ stub_motor_stop_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubMotorStopResponse *)
+ protobuf_c_message_unpack (&stub_motor_stop_response__descriptor,
+ allocator, len, data);
+}
+void stub_motor_stop_response__free_unpacked
+ (StubMotorStopResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_motor_stop_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_motor_stop_response__field_descriptors[4] =
+{
+ {
+ "Motor_ID",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorStopResponse, has_motor_id),
+ offsetof(StubMotorStopResponse, motor_id),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Mot_Status",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubMotorStopResponse, has_mot_status),
+ offsetof(StubMotorStopResponse, mot_status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "HiZ",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorStopResponse, has_hiz),
+ offsetof(StubMotorStopResponse, hiz),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "BUSY",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubMotorStopResponse, has_busy),
+ offsetof(StubMotorStopResponse, busy),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_motor_stop_response__field_indices_by_name[] = {
+ 3, /* field[3] = BUSY */
+ 2, /* field[2] = HiZ */
+ 1, /* field[1] = Mot_Status */
+ 0, /* field[0] = Motor_ID */
+};
+static const ProtobufCIntRange stub_motor_stop_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 4 }
+};
+const ProtobufCMessageDescriptor stub_motor_stop_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubMotorStopResponse",
+ "StubMotorStopResponse",
+ "StubMotorStopResponse",
+ "",
+ sizeof(StubMotorStopResponse),
+ 4,
+ stub_motor_stop_response__field_descriptors,
+ stub_motor_stop_response__field_indices_by_name,
+ 1, stub_motor_stop_response__number_ranges,
+ (ProtobufCMessageInit) stub_motor_stop_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStopResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStopResponse.pb-c.h
new file mode 100644
index 000000000..1a41f11ef
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubMotorStopResponse.pb-c.h
@@ -0,0 +1,84 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubMotorStopResponse.proto */
+
+#ifndef PROTOBUF_C_StubMotorStopResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubMotorStopResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubMotorStopResponse StubMotorStopResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubMotorStopResponse
+{
+ ProtobufCMessage base;
+ protobuf_c_boolean has_motor_id;
+ uint32_t motor_id;
+ /*
+ * Stopped / Acceleration / Deceleration / Constant speed
+ */
+ protobuf_c_boolean has_mot_status;
+ uint32_t mot_status;
+ /*
+ * 1 - high impedance state.
+ */
+ protobuf_c_boolean has_hiz;
+ protobuf_c_boolean hiz;
+ protobuf_c_boolean has_busy;
+ protobuf_c_boolean busy;
+};
+#define STUB_MOTOR_STOP_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_motor_stop_response__descriptor) \
+ , 0, 0, 0, 0, 0, 0, 0, 0 }
+
+
+/* StubMotorStopResponse methods */
+void stub_motor_stop_response__init
+ (StubMotorStopResponse *message);
+size_t stub_motor_stop_response__get_packed_size
+ (const StubMotorStopResponse *message);
+size_t stub_motor_stop_response__pack
+ (const StubMotorStopResponse *message,
+ uint8_t *out);
+size_t stub_motor_stop_response__pack_to_buffer
+ (const StubMotorStopResponse *message,
+ ProtobufCBuffer *buffer);
+StubMotorStopResponse *
+ stub_motor_stop_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_motor_stop_response__free_unpacked
+ (StubMotorStopResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubMotorStopResponse_Closure)
+ (const StubMotorStopResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_motor_stop_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubMotorStopResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubOptLimitSwitchRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubOptLimitSwitchRequest.pb-c.c
new file mode 100644
index 000000000..bd4187588
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubOptLimitSwitchRequest.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubOptLimitSwitchRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubOptLimitSwitchRequest.pb-c.h"
+void stub_opt_limit_switch_request__init
+ (StubOptLimitSwitchRequest *message)
+{
+ static const StubOptLimitSwitchRequest init_value = STUB_OPT_LIMIT_SWITCH_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_opt_limit_switch_request__get_packed_size
+ (const StubOptLimitSwitchRequest *message)
+{
+ assert(message->base.descriptor == &stub_opt_limit_switch_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_opt_limit_switch_request__pack
+ (const StubOptLimitSwitchRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_opt_limit_switch_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_opt_limit_switch_request__pack_to_buffer
+ (const StubOptLimitSwitchRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_opt_limit_switch_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubOptLimitSwitchRequest *
+ stub_opt_limit_switch_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubOptLimitSwitchRequest *)
+ protobuf_c_message_unpack (&stub_opt_limit_switch_request__descriptor,
+ allocator, len, data);
+}
+void stub_opt_limit_switch_request__free_unpacked
+ (StubOptLimitSwitchRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_opt_limit_switch_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_opt_limit_switch_request__field_descriptors[2] =
+{
+ {
+ "LimitSwitchrId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubOptLimitSwitchRequest, has_limitswitchrid),
+ offsetof(StubOptLimitSwitchRequest, limitswitchrid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "LimitSwitchrDisable",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubOptLimitSwitchRequest, has_limitswitchrdisable),
+ offsetof(StubOptLimitSwitchRequest, limitswitchrdisable),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_opt_limit_switch_request__field_indices_by_name[] = {
+ 1, /* field[1] = LimitSwitchrDisable */
+ 0, /* field[0] = LimitSwitchrId */
+};
+static const ProtobufCIntRange stub_opt_limit_switch_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor stub_opt_limit_switch_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubOptLimitSwitchRequest",
+ "StubOptLimitSwitchRequest",
+ "StubOptLimitSwitchRequest",
+ "",
+ sizeof(StubOptLimitSwitchRequest),
+ 2,
+ stub_opt_limit_switch_request__field_descriptors,
+ stub_opt_limit_switch_request__field_indices_by_name,
+ 1, stub_opt_limit_switch_request__number_ranges,
+ (ProtobufCMessageInit) stub_opt_limit_switch_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubOptLimitSwitchRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubOptLimitSwitchRequest.pb-c.h
new file mode 100644
index 000000000..2008bf5f9
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubOptLimitSwitchRequest.pb-c.h
@@ -0,0 +1,80 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubOptLimitSwitchRequest.proto */
+
+#ifndef PROTOBUF_C_StubOptLimitSwitchRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubOptLimitSwitchRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubOptLimitSwitchRequest StubOptLimitSwitchRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubOptLimitSwitchRequest
+{
+ ProtobufCMessage base;
+ /*
+ *0..16
+ */
+ protobuf_c_boolean has_limitswitchrid;
+ uint32_t limitswitchrid;
+ /*
+ * 0 - Enable 1 - Disable
+ */
+ protobuf_c_boolean has_limitswitchrdisable;
+ protobuf_c_boolean limitswitchrdisable;
+};
+#define STUB_OPT_LIMIT_SWITCH_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_opt_limit_switch_request__descriptor) \
+ , 0, 0, 0, 0 }
+
+
+/* StubOptLimitSwitchRequest methods */
+void stub_opt_limit_switch_request__init
+ (StubOptLimitSwitchRequest *message);
+size_t stub_opt_limit_switch_request__get_packed_size
+ (const StubOptLimitSwitchRequest *message);
+size_t stub_opt_limit_switch_request__pack
+ (const StubOptLimitSwitchRequest *message,
+ uint8_t *out);
+size_t stub_opt_limit_switch_request__pack_to_buffer
+ (const StubOptLimitSwitchRequest *message,
+ ProtobufCBuffer *buffer);
+StubOptLimitSwitchRequest *
+ stub_opt_limit_switch_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_opt_limit_switch_request__free_unpacked
+ (StubOptLimitSwitchRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubOptLimitSwitchRequest_Closure)
+ (const StubOptLimitSwitchRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_opt_limit_switch_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubOptLimitSwitchRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubOptLimitSwitchResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubOptLimitSwitchResponse.pb-c.c
new file mode 100644
index 000000000..1f8445842
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubOptLimitSwitchResponse.pb-c.c
@@ -0,0 +1,131 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubOptLimitSwitchResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubOptLimitSwitchResponse.pb-c.h"
+void stub_opt_limit_switch_response__init
+ (StubOptLimitSwitchResponse *message)
+{
+ static const StubOptLimitSwitchResponse init_value = STUB_OPT_LIMIT_SWITCH_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_opt_limit_switch_response__get_packed_size
+ (const StubOptLimitSwitchResponse *message)
+{
+ assert(message->base.descriptor == &stub_opt_limit_switch_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_opt_limit_switch_response__pack
+ (const StubOptLimitSwitchResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_opt_limit_switch_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_opt_limit_switch_response__pack_to_buffer
+ (const StubOptLimitSwitchResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_opt_limit_switch_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubOptLimitSwitchResponse *
+ stub_opt_limit_switch_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubOptLimitSwitchResponse *)
+ protobuf_c_message_unpack (&stub_opt_limit_switch_response__descriptor,
+ allocator, len, data);
+}
+void stub_opt_limit_switch_response__free_unpacked
+ (StubOptLimitSwitchResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_opt_limit_switch_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_opt_limit_switch_response__field_descriptors[4] =
+{
+ {
+ "LimitSwitchrId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubOptLimitSwitchResponse, has_limitswitchrid),
+ offsetof(StubOptLimitSwitchResponse, limitswitchrid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "LimitSwitchDitection",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubOptLimitSwitchResponse, has_limitswitchditection),
+ offsetof(StubOptLimitSwitchResponse, limitswitchditection),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Status",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubOptLimitSwitchResponse, status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "StatusWord",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubOptLimitSwitchResponse, has_statusword),
+ offsetof(StubOptLimitSwitchResponse, statusword),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_opt_limit_switch_response__field_indices_by_name[] = {
+ 1, /* field[1] = LimitSwitchDitection */
+ 0, /* field[0] = LimitSwitchrId */
+ 2, /* field[2] = Status */
+ 3, /* field[3] = StatusWord */
+};
+static const ProtobufCIntRange stub_opt_limit_switch_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 4 }
+};
+const ProtobufCMessageDescriptor stub_opt_limit_switch_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubOptLimitSwitchResponse",
+ "StubOptLimitSwitchResponse",
+ "StubOptLimitSwitchResponse",
+ "",
+ sizeof(StubOptLimitSwitchResponse),
+ 4,
+ stub_opt_limit_switch_response__field_descriptors,
+ stub_opt_limit_switch_response__field_indices_by_name,
+ 1, stub_opt_limit_switch_response__number_ranges,
+ (ProtobufCMessageInit) stub_opt_limit_switch_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubOptLimitSwitchResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubOptLimitSwitchResponse.pb-c.h
new file mode 100644
index 000000000..74ebe93d8
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubOptLimitSwitchResponse.pb-c.h
@@ -0,0 +1,88 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubOptLimitSwitchResponse.proto */
+
+#ifndef PROTOBUF_C_StubOptLimitSwitchResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubOptLimitSwitchResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubOptLimitSwitchResponse StubOptLimitSwitchResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubOptLimitSwitchResponse
+{
+ ProtobufCMessage base;
+ /*
+ *0..19
+ */
+ protobuf_c_boolean has_limitswitchrid;
+ uint32_t limitswitchrid;
+ /*
+ */
+ protobuf_c_boolean has_limitswitchditection;
+ protobuf_c_boolean limitswitchditection;
+ /*
+ * Passed/Failed
+ */
+ char *status;
+ /*
+ * Error number/bit when the status is Failed
+ */
+ protobuf_c_boolean has_statusword;
+ uint32_t statusword;
+};
+#define STUB_OPT_LIMIT_SWITCH_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_opt_limit_switch_response__descriptor) \
+ , 0, 0, 0, 0, NULL, 0, 0 }
+
+
+/* StubOptLimitSwitchResponse methods */
+void stub_opt_limit_switch_response__init
+ (StubOptLimitSwitchResponse *message);
+size_t stub_opt_limit_switch_response__get_packed_size
+ (const StubOptLimitSwitchResponse *message);
+size_t stub_opt_limit_switch_response__pack
+ (const StubOptLimitSwitchResponse *message,
+ uint8_t *out);
+size_t stub_opt_limit_switch_response__pack_to_buffer
+ (const StubOptLimitSwitchResponse *message,
+ ProtobufCBuffer *buffer);
+StubOptLimitSwitchResponse *
+ stub_opt_limit_switch_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_opt_limit_switch_response__free_unpacked
+ (StubOptLimitSwitchResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubOptLimitSwitchResponse_Closure)
+ (const StubOptLimitSwitchResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_opt_limit_switch_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubOptLimitSwitchResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubSteperMotorRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubSteperMotorRequest.pb-c.c
new file mode 100644
index 000000000..7328bb692
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubSteperMotorRequest.pb-c.c
@@ -0,0 +1,144 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubSteperMotorRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubSteperMotorRequest.pb-c.h"
+void stub_steper_motor_request__init
+ (StubSteperMotorRequest *message)
+{
+ static const StubSteperMotorRequest init_value = STUB_STEPER_MOTOR_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_steper_motor_request__get_packed_size
+ (const StubSteperMotorRequest *message)
+{
+ assert(message->base.descriptor == &stub_steper_motor_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_steper_motor_request__pack
+ (const StubSteperMotorRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_steper_motor_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_steper_motor_request__pack_to_buffer
+ (const StubSteperMotorRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_steper_motor_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubSteperMotorRequest *
+ stub_steper_motor_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubSteperMotorRequest *)
+ protobuf_c_message_unpack (&stub_steper_motor_request__descriptor,
+ allocator, len, data);
+}
+void stub_steper_motor_request__free_unpacked
+ (StubSteperMotorRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_steper_motor_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_steper_motor_request__field_descriptors[5] =
+{
+ {
+ "MotorId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubSteperMotorRequest, has_motorid),
+ offsetof(StubSteperMotorRequest, motorid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Start",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubSteperMotorRequest, has_start),
+ offsetof(StubSteperMotorRequest, start),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "SetDirection",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubSteperMotorRequest, has_setdirection),
+ offsetof(StubSteperMotorRequest, setdirection),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "SetMicrostepDivision",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubSteperMotorRequest, has_setmicrostepdivision),
+ offsetof(StubSteperMotorRequest, setmicrostepdivision),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "SetSpeed",
+ 5,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_INT32,
+ offsetof(StubSteperMotorRequest, has_setspeed),
+ offsetof(StubSteperMotorRequest, setspeed),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_steper_motor_request__field_indices_by_name[] = {
+ 0, /* field[0] = MotorId */
+ 2, /* field[2] = SetDirection */
+ 3, /* field[3] = SetMicrostepDivision */
+ 4, /* field[4] = SetSpeed */
+ 1, /* field[1] = Start */
+};
+static const ProtobufCIntRange stub_steper_motor_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 5 }
+};
+const ProtobufCMessageDescriptor stub_steper_motor_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubSteperMotorRequest",
+ "StubSteperMotorRequest",
+ "StubSteperMotorRequest",
+ "",
+ sizeof(StubSteperMotorRequest),
+ 5,
+ stub_steper_motor_request__field_descriptors,
+ stub_steper_motor_request__field_indices_by_name,
+ 1, stub_steper_motor_request__number_ranges,
+ (ProtobufCMessageInit) stub_steper_motor_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubSteperMotorRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubSteperMotorRequest.pb-c.h
new file mode 100644
index 000000000..a7a771172
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubSteperMotorRequest.pb-c.h
@@ -0,0 +1,95 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubSteperMotorRequest.proto */
+
+#ifndef PROTOBUF_C_StubSteperMotorRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubSteperMotorRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubSteperMotorRequest StubSteperMotorRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubSteperMotorRequest
+{
+ ProtobufCMessage base;
+ /*
+ *0..19
+ */
+ protobuf_c_boolean has_motorid;
+ uint32_t motorid;
+ /*
+ * 1-start 0-stop
+ */
+ protobuf_c_boolean has_start;
+ protobuf_c_boolean start;
+ /*
+ * 1-cw 0-ccw
+ */
+ protobuf_c_boolean has_setdirection;
+ protobuf_c_boolean setdirection;
+ /*
+ * No. of steps for 360 deg.
+ */
+ protobuf_c_boolean has_setmicrostepdivision;
+ uint32_t setmicrostepdivision;
+ /*
+ * ?
+ */
+ protobuf_c_boolean has_setspeed;
+ int32_t setspeed;
+};
+#define STUB_STEPER_MOTOR_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_steper_motor_request__descriptor) \
+ , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+
+
+/* StubSteperMotorRequest methods */
+void stub_steper_motor_request__init
+ (StubSteperMotorRequest *message);
+size_t stub_steper_motor_request__get_packed_size
+ (const StubSteperMotorRequest *message);
+size_t stub_steper_motor_request__pack
+ (const StubSteperMotorRequest *message,
+ uint8_t *out);
+size_t stub_steper_motor_request__pack_to_buffer
+ (const StubSteperMotorRequest *message,
+ ProtobufCBuffer *buffer);
+StubSteperMotorRequest *
+ stub_steper_motor_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_steper_motor_request__free_unpacked
+ (StubSteperMotorRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubSteperMotorRequest_Closure)
+ (const StubSteperMotorRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_steper_motor_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubSteperMotorRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubSteperMotorResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubSteperMotorResponse.pb-c.c
new file mode 100644
index 000000000..1d13edf23
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubSteperMotorResponse.pb-c.c
@@ -0,0 +1,131 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubSteperMotorResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubSteperMotorResponse.pb-c.h"
+void stub_steper_motor_response__init
+ (StubSteperMotorResponse *message)
+{
+ static const StubSteperMotorResponse init_value = STUB_STEPER_MOTOR_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_steper_motor_response__get_packed_size
+ (const StubSteperMotorResponse *message)
+{
+ assert(message->base.descriptor == &stub_steper_motor_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_steper_motor_response__pack
+ (const StubSteperMotorResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_steper_motor_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_steper_motor_response__pack_to_buffer
+ (const StubSteperMotorResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_steper_motor_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubSteperMotorResponse *
+ stub_steper_motor_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubSteperMotorResponse *)
+ protobuf_c_message_unpack (&stub_steper_motor_response__descriptor,
+ allocator, len, data);
+}
+void stub_steper_motor_response__free_unpacked
+ (StubSteperMotorResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_steper_motor_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_steper_motor_response__field_descriptors[4] =
+{
+ {
+ "MotorId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubSteperMotorResponse, has_motorid),
+ offsetof(StubSteperMotorResponse, motorid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "MotorVersion",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubSteperMotorResponse, has_motorversion),
+ offsetof(StubSteperMotorResponse, motorversion),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Status",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubSteperMotorResponse, status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "StatusWord",
+ 4,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubSteperMotorResponse, has_statusword),
+ offsetof(StubSteperMotorResponse, statusword),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_steper_motor_response__field_indices_by_name[] = {
+ 0, /* field[0] = MotorId */
+ 1, /* field[1] = MotorVersion */
+ 2, /* field[2] = Status */
+ 3, /* field[3] = StatusWord */
+};
+static const ProtobufCIntRange stub_steper_motor_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 4 }
+};
+const ProtobufCMessageDescriptor stub_steper_motor_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubSteperMotorResponse",
+ "StubSteperMotorResponse",
+ "StubSteperMotorResponse",
+ "",
+ sizeof(StubSteperMotorResponse),
+ 4,
+ stub_steper_motor_response__field_descriptors,
+ stub_steper_motor_response__field_indices_by_name,
+ 1, stub_steper_motor_response__number_ranges,
+ (ProtobufCMessageInit) stub_steper_motor_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubSteperMotorResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubSteperMotorResponse.pb-c.h
new file mode 100644
index 000000000..fbe1f63ef
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubSteperMotorResponse.pb-c.h
@@ -0,0 +1,88 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubSteperMotorResponse.proto */
+
+#ifndef PROTOBUF_C_StubSteperMotorResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubSteperMotorResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubSteperMotorResponse StubSteperMotorResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubSteperMotorResponse
+{
+ ProtobufCMessage base;
+ /*
+ *0..19
+ */
+ protobuf_c_boolean has_motorid;
+ uint32_t motorid;
+ /*
+ */
+ protobuf_c_boolean has_motorversion;
+ uint32_t motorversion;
+ /*
+ * Passed / Failed
+ */
+ char *status;
+ /*
+ * Error number/bit when the status is Failed
+ */
+ protobuf_c_boolean has_statusword;
+ uint32_t statusword;
+};
+#define STUB_STEPER_MOTOR_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_steper_motor_response__descriptor) \
+ , 0, 0, 0, 0, NULL, 0, 0 }
+
+
+/* StubSteperMotorResponse methods */
+void stub_steper_motor_response__init
+ (StubSteperMotorResponse *message);
+size_t stub_steper_motor_response__get_packed_size
+ (const StubSteperMotorResponse *message);
+size_t stub_steper_motor_response__pack
+ (const StubSteperMotorResponse *message,
+ uint8_t *out);
+size_t stub_steper_motor_response__pack_to_buffer
+ (const StubSteperMotorResponse *message,
+ ProtobufCBuffer *buffer);
+StubSteperMotorResponse *
+ stub_steper_motor_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_steper_motor_response__free_unpacked
+ (StubSteperMotorResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubSteperMotorResponse_Closure)
+ (const StubSteperMotorResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_steper_motor_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubSteperMotorResponse_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubValveRequest.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubValveRequest.pb-c.c
new file mode 100644
index 000000000..6e1bc168f
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubValveRequest.pb-c.c
@@ -0,0 +1,118 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubValveRequest.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubValveRequest.pb-c.h"
+void stub_valve_request__init
+ (StubValveRequest *message)
+{
+ static const StubValveRequest init_value = STUB_VALVE_REQUEST__INIT;
+ *message = init_value;
+}
+size_t stub_valve_request__get_packed_size
+ (const StubValveRequest *message)
+{
+ assert(message->base.descriptor == &stub_valve_request__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_valve_request__pack
+ (const StubValveRequest *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_valve_request__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_valve_request__pack_to_buffer
+ (const StubValveRequest *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_valve_request__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubValveRequest *
+ stub_valve_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubValveRequest *)
+ protobuf_c_message_unpack (&stub_valve_request__descriptor,
+ allocator, len, data);
+}
+void stub_valve_request__free_unpacked
+ (StubValveRequest *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_valve_request__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_valve_request__field_descriptors[3] =
+{
+ {
+ "ValveId",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubValveRequest, has_valveid),
+ offsetof(StubValveRequest, valveid),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "Inkflow",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubValveRequest, has_inkflow),
+ offsetof(StubValveRequest, inkflow),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "ValveOn",
+ 3,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_BOOL,
+ offsetof(StubValveRequest, has_valveon),
+ offsetof(StubValveRequest, valveon),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_valve_request__field_indices_by_name[] = {
+ 1, /* field[1] = Inkflow */
+ 0, /* field[0] = ValveId */
+ 2, /* field[2] = ValveOn */
+};
+static const ProtobufCIntRange stub_valve_request__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 3 }
+};
+const ProtobufCMessageDescriptor stub_valve_request__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubValveRequest",
+ "StubValveRequest",
+ "StubValveRequest",
+ "",
+ sizeof(StubValveRequest),
+ 3,
+ stub_valve_request__field_descriptors,
+ stub_valve_request__field_indices_by_name,
+ 1, stub_valve_request__number_ranges,
+ (ProtobufCMessageInit) stub_valve_request__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubValveRequest.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubValveRequest.pb-c.h
new file mode 100644
index 000000000..9a730b4d0
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubValveRequest.pb-c.h
@@ -0,0 +1,85 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubValveRequest.proto */
+
+#ifndef PROTOBUF_C_StubValveRequest_2eproto__INCLUDED
+#define PROTOBUF_C_StubValveRequest_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubValveRequest StubValveRequest;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubValveRequest
+{
+ ProtobufCMessage base;
+ /*
+ * 0..19
+ */
+ protobuf_c_boolean has_valveid;
+ uint32_t valveid;
+ /*
+ *0 - Min
+ */
+ protobuf_c_boolean has_inkflow;
+ uint32_t inkflow;
+ /*
+ *0-Off 1-On
+ */
+ protobuf_c_boolean has_valveon;
+ protobuf_c_boolean valveon;
+};
+#define STUB_VALVE_REQUEST__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_valve_request__descriptor) \
+ , 0, 0, 0, 0, 0, 0 }
+
+
+/* StubValveRequest methods */
+void stub_valve_request__init
+ (StubValveRequest *message);
+size_t stub_valve_request__get_packed_size
+ (const StubValveRequest *message);
+size_t stub_valve_request__pack
+ (const StubValveRequest *message,
+ uint8_t *out);
+size_t stub_valve_request__pack_to_buffer
+ (const StubValveRequest *message,
+ ProtobufCBuffer *buffer);
+StubValveRequest *
+ stub_valve_request__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_valve_request__free_unpacked
+ (StubValveRequest *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubValveRequest_Closure)
+ (const StubValveRequest *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_valve_request__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubValveRequest_2eproto__INCLUDED */
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubValveResponse.pb-c.c b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubValveResponse.pb-c.c
new file mode 100644
index 000000000..4556cc4d2
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubValveResponse.pb-c.c
@@ -0,0 +1,105 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubValveResponse.proto */
+
+/* Do not generate deprecated warnings for self */
+#ifndef PROTOBUF_C__NO_DEPRECATED
+#define PROTOBUF_C__NO_DEPRECATED
+#endif
+
+#include "StubValveResponse.pb-c.h"
+void stub_valve_response__init
+ (StubValveResponse *message)
+{
+ static const StubValveResponse init_value = STUB_VALVE_RESPONSE__INIT;
+ *message = init_value;
+}
+size_t stub_valve_response__get_packed_size
+ (const StubValveResponse *message)
+{
+ assert(message->base.descriptor == &stub_valve_response__descriptor);
+ return protobuf_c_message_get_packed_size ((const ProtobufCMessage*)(message));
+}
+size_t stub_valve_response__pack
+ (const StubValveResponse *message,
+ uint8_t *out)
+{
+ assert(message->base.descriptor == &stub_valve_response__descriptor);
+ return protobuf_c_message_pack ((const ProtobufCMessage*)message, out);
+}
+size_t stub_valve_response__pack_to_buffer
+ (const StubValveResponse *message,
+ ProtobufCBuffer *buffer)
+{
+ assert(message->base.descriptor == &stub_valve_response__descriptor);
+ return protobuf_c_message_pack_to_buffer ((const ProtobufCMessage*)message, buffer);
+}
+StubValveResponse *
+ stub_valve_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data)
+{
+ return (StubValveResponse *)
+ protobuf_c_message_unpack (&stub_valve_response__descriptor,
+ allocator, len, data);
+}
+void stub_valve_response__free_unpacked
+ (StubValveResponse *message,
+ ProtobufCAllocator *allocator)
+{
+ if(!message)
+ return;
+ assert(message->base.descriptor == &stub_valve_response__descriptor);
+ protobuf_c_message_free_unpacked ((ProtobufCMessage*)message, allocator);
+}
+static const ProtobufCFieldDescriptor stub_valve_response__field_descriptors[2] =
+{
+ {
+ "Status",
+ 1,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_STRING,
+ 0, /* quantifier_offset */
+ offsetof(StubValveResponse, status),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+ {
+ "StatusWord",
+ 2,
+ PROTOBUF_C_LABEL_OPTIONAL,
+ PROTOBUF_C_TYPE_UINT32,
+ offsetof(StubValveResponse, has_statusword),
+ offsetof(StubValveResponse, statusword),
+ NULL,
+ NULL,
+ 0, /* flags */
+ 0,NULL,NULL /* reserved1,reserved2, etc */
+ },
+};
+static const unsigned stub_valve_response__field_indices_by_name[] = {
+ 0, /* field[0] = Status */
+ 1, /* field[1] = StatusWord */
+};
+static const ProtobufCIntRange stub_valve_response__number_ranges[1 + 1] =
+{
+ { 1, 0 },
+ { 0, 2 }
+};
+const ProtobufCMessageDescriptor stub_valve_response__descriptor =
+{
+ PROTOBUF_C__MESSAGE_DESCRIPTOR_MAGIC,
+ "StubValveResponse",
+ "StubValveResponse",
+ "StubValveResponse",
+ "",
+ sizeof(StubValveResponse),
+ 2,
+ stub_valve_response__field_descriptors,
+ stub_valve_response__field_indices_by_name,
+ 1, stub_valve_response__number_ranges,
+ (ProtobufCMessageInit) stub_valve_response__init,
+ NULL,NULL,NULL /* reserved[123] */
+};
diff --git a/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubValveResponse.pb-c.h b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubValveResponse.pb-c.h
new file mode 100644
index 000000000..3b1512450
--- /dev/null
+++ b/Software/Embedded_SW/Embedded/Communication/PMR/Stubs/StubValveResponse.pb-c.h
@@ -0,0 +1,79 @@
+/* Generated by the protocol buffer compiler. DO NOT EDIT! */
+/* Generated from: StubValveResponse.proto */
+
+#ifndef PROTOBUF_C_StubValveResponse_2eproto__INCLUDED
+#define PROTOBUF_C_StubValveResponse_2eproto__INCLUDED
+
+#include <protobuf-c/protobuf-c.h>
+
+PROTOBUF_C__BEGIN_DECLS
+
+#if PROTOBUF_C_VERSION_NUMBER < 1003000
+# error This file was generated by a newer version of protoc-c which is incompatible with your libprotobuf-c headers. Please update your headers.
+#elif 1003000 < PROTOBUF_C_MIN_COMPILER_VERSION
+# error This file was generated by an older version of protoc-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protoc-c.
+#endif
+
+
+typedef struct _StubValveResponse StubValveResponse;
+
+
+/* --- enums --- */
+
+
+/* --- messages --- */
+
+struct _StubValveResponse
+{
+ ProtobufCMessage base;
+ /*
+ * Passed/Failed
+ */
+ char *status;
+ /*
+ * Error number/bit when the status is Failed
+ */
+ protobuf_c_boolean has_statusword;
+ uint32_t statusword;
+};
+#define STUB_VALVE_RESPONSE__INIT \
+ { PROTOBUF_C_MESSAGE_INIT (&stub_valve_response__descriptor) \
+ , NULL, 0, 0 }
+
+
+/* StubValveResponse methods */
+void stub_valve_response__init
+ (StubValveResponse *message);
+size_t stub_valve_response__get_packed_size
+ (const StubValveResponse *message);
+size_t stub_valve_response__pack
+ (const StubValveResponse *message,
+ uint8_t *out);
+size_t stub_valve_response__pack_to_buffer
+ (const StubValveResponse *message,
+ ProtobufCBuffer *buffer);
+StubValveResponse *
+ stub_valve_response__unpack
+ (ProtobufCAllocator *allocator,
+ size_t len,
+ const uint8_t *data);
+void stub_valve_response__free_unpacked
+ (StubValveResponse *message,
+ ProtobufCAllocator *allocator);
+/* --- per-message closures --- */
+
+typedef void (*StubValveResponse_Closure)
+ (const StubValveResponse *message,
+ void *closure_data);
+
+/* --- services --- */
+
+
+/* --- descriptors --- */
+
+extern const ProtobufCMessageDescriptor stub_valve_response__descriptor;
+
+PROTOBUF_C__END_DECLS
+
+
+#endif /* PROTOBUF_C_StubValveResponse_2eproto__INCLUDED */