#include #include #include #include #include "include.h" #include "driverlib/gpio.h" #include "modules/control/control.h" #include "Drivers/USB_Communication/USBCDCD.h" char CalculateToken[36+1] = {0}; //char init_string[100]; int aaa = 0; uint32_t CalculateControlId = 0xFF; uint32_t CalculateRpeat(uint32_t IfIndex, uint32_t BusyFlag) { MessageContainer responseContainer; CalculateResponse response = CALCULATE_RESPONSE__INIT; bool last = false; response.sum = aaa++; response.has_sum = true; if (aaa >=20) { RemoveControlCallback(CalculateControlId, CalculateRpeat); last = true; aaa=0; } Report("CalculateRpeat",__FILE__,__LINE__,(int)aaa,RpWarning,(int)0,0); responseContainer = createContainer(MESSAGE_TYPE__CalculateResponse, CalculateToken, last, &response, &calculate_response__pack, &calculate_response__get_packed_size); responseContainer.has_continuous = true; responseContainer.continuous = true; // free(request); uint8_t* container_buffer = malloc(message_container__get_packed_size(&responseContainer)); size_t container_size = message_container__pack(&responseContainer, container_buffer); free(responseContainer.data.data); SendChars((char*)container_buffer, container_size); //free(container_buffer); //free(requestContainer); return OK; } void Stub_CalculateRequest(MessageContainer* requestContainer) { //MessageContainer responseContainer; CalculateRequest* request = calculate_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data); ustrncpy (CalculateToken, requestContainer->token,36); Report("Stub_CalculateRequest",__FILE__,__LINE__,(int)aaa,RpWarning,(int)0,0); CalculateControlId = AddControlCallback("PowerUpLoad", CalculateRpeat, eOneSecond, TemplateDataReadCBFunction,0,0, 0 ); calculate_request__free_unpacked(request,NULL); }