aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Procedure.c
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Procedure.c')
-rw-r--r--Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Procedure.c48
1 files changed, 47 insertions, 1 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Procedure.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Procedure.c
index c84dc5fb5..d1ba28d7e 100644
--- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Procedure.c
+++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Procedure.c
@@ -72,8 +72,10 @@ void Stub_ProcedureRequest(MessageContainer* requestContainer)
bool ResetNeeded = false;
ProcedureRequest* request = procedure_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data);
- int i,n_param = request->n_param;
+ int rc, i,n_param = request->n_param;
ProcedureResponse response = PROCEDURE_RESPONSE__INIT;
+ BTSRParameters *BtsrPrameters = NULL;
+ char str[200];
/* protobuf_c_boolean has_type;
int32_t type;
protobuf_c_boolean has_timeout;
@@ -89,6 +91,50 @@ void Stub_ProcedureRequest(MessageContainer* requestContainer)
{
switch (request->type)
{
+ case 1:
+ BtsrPrameters = my_malloc(sizeof(BTSRParameters));
+ BtsrPrameters->btsryarntype = request->param[0];
+ BtsrPrameters->btsrapplicationtype = request->param[1];
+ BtsrPrameters->feedingtension = request->param[2];
+ BtsrPrameters->exittension = request->param[3];
+ BtsrPrameters->tensionerror = request->param[4];
+ BtsrPrameters->threadlengthfactor = request->param[5];
+ rc = BtsrSaveParamsToEeprom(BtsrPrameters);
+ free(BtsrPrameters);
+ response.replymessage = request->testname;
+ if (n_param)
+ {
+ response.replyvalue = (float*)my_malloc(sizeof(float *)*(request->n_param));
+ response.n_replyvalue = request->n_param;
+ for(i=0;i<n_param;i++)
+ {
+ Report(request->testname,__FILE__,__LINE__,(int)request->type,RpWarning,(int) request->n_param,0);
+ response.replyvalue[i] = request->param[i];
+ }
+ }
+ response.time = msec_millisecondCounter;
+ response.type = request->type;
+ break;
+ case 2:
+ BtsrPrameters = my_malloc(sizeof(BTSRParameters));
+ rc = BtsrReadParamsFromEeprom(BtsrPrameters);
+ sprintf(str, "type = %d, app = %d, tension = %f, exittension = %f, tensionerror = %f, lengthfactor = %f", BtsrPrameters->btsryarntype,
+ BtsrPrameters->btsrapplicationtype, BtsrPrameters->feedingtension, BtsrPrameters->exittension, BtsrPrameters->tensionerror, BtsrPrameters->threadlengthfactor);
+ response.replymessage = str;
+ if (n_param)
+ {
+ response.replyvalue = (float*)my_malloc(sizeof(float *)*(request->n_param));
+ response.n_replyvalue = request->n_param;
+ for(i=0;i<n_param;i++)
+ {
+ Report(request->testname,__FILE__,__LINE__,(int)request->type,RpWarning,(int) request->n_param,0);
+ response.replyvalue[i] = request->param[i];
+ }
+ }
+ response.time = msec_millisecondCounter;
+ response.type = request->type;
+ free(BtsrPrameters);
+ break;
default:
response.replymessage = request->testname;
if (n_param)