/* * StubRealTimeUsage.c * * Created on: 15 may 2018 * Author: shlomo */ /* * Stub_RealTimeUsage.c * * Created on: May 14, 2018 * Author: avi */ #include #include #include #include #include "inc/hw_memmap.h" #include "inc/hw_types.h" #include "inc/hw_uart.h" #include "Drivers/USB_Communication/USBCDCD.h" #include "MessageContainer.pb-c.h" #include "Stub_Status.h" #include "common/utilities/idle_task.h" #include "Modules/thread/thread.h" void Stub_RealTimeUsageRequest(MessageContainer* requestContainer) { MessageContainer responseContainer; StubRealTimeUsageRequest* request = stub_real_time_usage_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data); StubRealTimeUsageResponse response = STUB_REAL_TIME_USAGE_RESPONSE__INIT; response.n_percentile = 101; response.percentile = my_malloc(sizeof(response.percentile)*response.n_percentile); if (response.percentile) IdleTaskGetLoadTable(response.percentile); else response.n_percentile = 0; //free(request); //------------------------------------------------------------------------------------------- responseContainer = createContainer(MESSAGE_TYPE__StubRealTimeUsageResponse, requestContainer->token, true, &response, &stub_real_time_usage_response__pack, &stub_real_time_usage_response__get_packed_size); uint8_t* container_buffer = my_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); if (response.percentile) free(response.percentile); stub_real_time_usage_request__free_unpacked(request,NULL); }