diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-05-06 13:51:41 +0300 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-05-06 13:51:41 +0300 |
| commit | 1e841131e4e2ab21df9eda8c862d48f17f3cb808 (patch) | |
| tree | 9c78277b1cae9edbfc7c07a4be3944fb77e3db27 /Software/Embedded_SW/Embedded/Modules | |
| parent | c14073e78d2c5b9569f91f47609d431da48ba706 (diff) | |
| parent | 7d08fb5e5b9f29b769c6604e4f1697951afd2824 (diff) | |
| download | Tango-1e841131e4e2ab21df9eda8c862d48f17f3cb808.tar.gz Tango-1e841131e4e2ab21df9eda8c862d48f17f3cb808.zip | |
MERGE
Diffstat (limited to 'Software/Embedded_SW/Embedded/Modules')
20 files changed, 295 insertions, 47 deletions
diff --git a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c index 3606d5bb7..d255384ba 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c +++ b/Software/Embedded_SW/Embedded/Modules/General/GeneralHardware.c @@ -331,11 +331,11 @@ uint32_t HWConfigurationFunc(MessageContainer* requestContainer) { if (request->pidcontrols[PID_i]->hardwarepidcontroltype <= HARDWARE_PID_CONTROL_TYPE__MixerHeater) status += HeaterConfigRequestMessage(request->pidcontrols[PID_i]); -/* else if ((request->pidcontrols[PID_i]->hardwarepidcontroltype >= HARDWARE_PID_CONTROL_TYPE__MotorDryer)&& + else if ((request->pidcontrols[PID_i]->hardwarepidcontroltype >= HARDWARE_PID_CONTROL_TYPE__MotorDryer)&& (request->pidcontrols[PID_i]->hardwarepidcontroltype < HARDWARE_PID_CONTROL_TYPE__Dispenser1)) status += MotorPidRequestMessage(request->pidcontrols[PID_i]); else if (request->pidcontrols[PID_i]->hardwarepidcontroltype >= HARDWARE_PID_CONTROL_TYPE__Dispenser1) - status += DispenserPidRequestMessage(request->pidcontrols[PID_i]);*/ + status += DispenserPidRequestMessage(request->pidcontrols[PID_i]); } for (Dispenser_i = 0; Dispenser_i < request->n_dispensers ; Dispenser_i++) status += DispenserConfigMessage(request->dispensers[Dispenser_i]); @@ -352,7 +352,7 @@ uint32_t HWConfigurationFunc(MessageContainer* requestContainer) upload_hardware_configuration_request__free_unpacked(UploadRequest,NULL); SendChars(container_buffer, container_size); //free(container_buffer); - free(requestContainer); + //free(requestContainer); return OK; @@ -376,13 +376,14 @@ void HWSystemResetRequest(MessageContainer* requestContainer) Write_status_response(status); - free(request); + //free(request); + system_reset_request__free_unpacked(request,NULL); //------------------------------------------------------------------------------------------- uint8_t* container_buffer = malloc(message_container__get_packed_size(&responseContainer)); size_t container_size = message_container__pack(&responseContainer, container_buffer); SendChars((char*)container_buffer, container_size); //free(container_buffer); - free(requestContainer); + //free(requestContainer); ROM_SysCtlDelay(SYS_CLK_FREQ); diff --git a/Software/Embedded_SW/Embedded/Modules/General/process.c b/Software/Embedded_SW/Embedded/Modules/General/process.c index 763348254..b407bcd82 100644 --- a/Software/Embedded_SW/Embedded/Modules/General/process.c +++ b/Software/Embedded_SW/Embedded/Modules/General/process.c @@ -169,5 +169,7 @@ void ProcessRequestFunc(MessageContainer* requestContainer) free(responseContainer.data.data); SendChars(container_buffer, container_size); //free(container_buffer); - free(requestContainer); + //free(requestContainer); + upload_process_parameters_request__free_unpacked(request,NULL); + } diff --git a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_init.c b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_init.c index 3bf676984..42ccd7b2b 100644 --- a/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_init.c +++ b/Software/Embedded_SW/Embedded/Modules/Heaters/Heaters_init.c @@ -117,7 +117,9 @@ void HeatingTestRequest(MessageContainer* requestContainer) //USBCDCD_sendData(container_buffer, container_size,10); SendChars(container_buffer, container_size); //free(container_buffer); - free(requestContainer); + //free(requestContainer); + stub_heating_test_request__free_unpacked(request,NULL); + #else LOG_ERROR (-1, "Heating Control not on debug"); return ERROR; @@ -148,8 +150,9 @@ void HeatingTestPollRequest(MessageContainer* requestContainer) free(responseContainer.data.data); SendChars(container_buffer, container_size); //free(container_buffer);*/ - free(requestContainer); - free(request); +// free(requestContainer); +// free(request); + stub_heating_test_poll_request__free_unpacked(request,NULL); } void HeatingTestSendResonse(uint32_t status, bool last,bool heater1Active,bool heater2Active, int temperature1, int temperature2,int Heater1Percentage,int Heater2Percentage, char* Message) diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Cartridge.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Cartridge.c index c79434635..49c7d0d3b 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Cartridge.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Cartridge.c @@ -71,7 +71,8 @@ void Stub_CartridgeReadRequest(MessageContainer* requestContainer) free(responseContainer.data.data); SendChars((char*)container_buffer, container_size); //free(container_buffer); - free(requestContainer); + //free(requestContainer); + stub_cartridge_read_request__free_unpacked(request,NULL); } void Stub_CartridgeWriteRequest(MessageContainer* requestContainer) @@ -126,6 +127,7 @@ void Stub_CartridgeWriteRequest(MessageContainer* requestContainer) free(responseContainer.data.data); SendChars((char*)container_buffer, container_size); //free(container_buffer); - free(requestContainer); + //free(requestContainer); + stub_cartridge_write_request__free_unpacked(request,NULL); } diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Dispenser.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Dispenser.c index fc9393e23..32f3a9b16 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Dispenser.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Dispenser.c @@ -70,5 +70,6 @@ void Stub_DispenserRequest(MessageContainer* requestContainer) free(responseContainer.data.data); SendChars((char*)container_buffer, container_size); //free(container_buffer); - free(requestContainer); + //free(requestContainer); + stub_dispenser_request__free_unpacked(request,NULL); } diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_ExtFlash.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_ExtFlash.c index cf50b70ab..29e7a0f0c 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_ExtFlash.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_ExtFlash.c @@ -67,14 +67,15 @@ void Stub_ExtFlashWriteRequest(MessageContainer* requestContainer) Write_status_response(status); - free(request); + //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); + //free(requestContainer); + stub_ext_flash_write_request__free_unpacked(request,NULL); } @@ -151,13 +152,14 @@ void Stub_ExtFlashReadRequest(MessageContainer* requestContainer) writeString(", "); writeFloat(response.readword_5); - free(request); + //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); + //free(requestContainer); + stub_ext_flash_read_request__free_unpacked(request,NULL); } diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_FPGAReadBackReg.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_FPGAReadBackReg.c index 8b9dc8103..4f3d5812e 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_FPGAReadBackReg.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_FPGAReadBackReg.c @@ -61,7 +61,7 @@ void Stub_FPGAReadBackRegRequest(MessageContainer* requestContainer) //free(request); stub_fpgaread_back_reg_request__free_unpacked(request,NULL); //------------------------------------------------------------------------------------------- - uint8_t* container_buffer = malloc(message_container__get_packed_size(&responseContainer)); + uint8_t* container_buffer = malloc(message_container__get_packed_size(&responseContainer)+20); size_t container_size = message_container__pack(&responseContainer, container_buffer); free(responseContainer.data.data); SendChars((char*)container_buffer, container_size); diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_GPIO.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_GPIO.c index 83b906efe..ed3fd6512 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_GPIO.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_GPIO.c @@ -364,7 +364,8 @@ void Stub_GPIOReadByteRequest(MessageContainer* requestContainer) free(responseContainer.data.data); SendChars((char*)container_buffer, container_size); //free(container_buffer); - free(requestContainer); + //free(requestContainer); + stub_gpioread_byte_request__free_unpacked(request,NULL); } @@ -610,7 +611,8 @@ void Stub_GPIOReadBitRequest(MessageContainer* requestContainer) free(responseContainer.data.data); SendChars((char*)container_buffer, container_size); //free(container_buffer); - free(requestContainer); + //free(requestContainer); + stub_gpioread_bit_request__free_unpacked(request,NULL); } @@ -755,7 +757,8 @@ void Stub_GPIOWriteByteRequest(MessageContainer* requestContainer) free(responseContainer.data.data); SendChars((char*)container_buffer, container_size); //free(container_buffer); - free(requestContainer); + //free(requestContainer); + stub_gpiowrite_byte_request__free_unpacked(request,NULL); } @@ -951,5 +954,6 @@ void Stub_GPIOInputSetupRequest(MessageContainer* requestContainer) free(responseContainer.data.data); SendChars((char*)container_buffer, container_size); //free(container_buffer); - free(requestContainer); + //free(requestContainer); + stub_gpioinput_setup_request__free_unpacked(request,NULL); } diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_HW_Version.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_HW_Version.c index bd59ee2a0..fee7782fc 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_HW_Version.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_HW_Version.c @@ -84,13 +84,15 @@ void Stub_HWVersionRequest(MessageContainer* requestContainer) Write_status_response(status); - free(request); + //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); + //free(requestContainer); + + stub_hwversion_request__free_unpacked(request,NULL); } diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Heater.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Heater.c index d72a749b1..52aef460f 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Heater.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Heater.c @@ -71,5 +71,6 @@ void Stub_HeaterRequest(MessageContainer* requestContainer) free(responseContainer.data.data); SendChars((char*)container_buffer, container_size); //free(container_buffer); - free(requestContainer); + //free(requestContainer); + stub_heater_request__free_unpacked(request,NULL); } diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_L6470.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_L6470.c index dcec8cade..9381515f1 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_L6470.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_L6470.c @@ -120,14 +120,15 @@ void Stub_L6470DriverRequest(MessageContainer* requestContainer) */ Write_status_response(status); - free(request); + //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); + //free(requestContainer); + stub_l6470_driver_request__free_unpacked(request,NULL); //StartUSB(ui32SysClock); //todo to test the USB comm problem after using 6470 diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Motor.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Motor.c index ac1563cd5..751fa20d2 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Motor.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Motor.c @@ -148,14 +148,15 @@ void Stub_MotorInitRequest(MessageContainer* requestContainer) // //Write_status_response(status); - free(request); + //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); + //free(requestContainer); + stub_motor_init_request__free_unpacked(request,NULL); } @@ -227,14 +228,15 @@ void Stub_MotorRunRequest(MessageContainer* requestContainer) //Write_status_response(status); - free(request); + //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); + //free(requestContainer); + stub_motor_run_request__free_unpacked(request,NULL); } @@ -291,14 +293,15 @@ void Stub_MotorStopRequest(MessageContainer* requestContainer) //Write_status_response(status); - free(request); + //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); + //free(requestContainer); + stub_motor_stop_request__free_unpacked(request,NULL); } @@ -378,14 +381,15 @@ void Stub_MotorStatusRequest(MessageContainer* requestContainer) writeFloat(response.motor_id); - free(request); + //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); + //free(requestContainer); + stub_motor_status_request__free_unpacked(request,NULL); } @@ -407,14 +411,15 @@ void Stub_MotorSpeedRequest(MessageContainer* requestContainer) responseContainer = createContainer(MESSAGE_TYPE__StubMotorSpeedResponse, requestContainer->token, true, &response, &stub_motor_speed_response__pack, &stub_motor_speed_response__get_packed_size); - free(request); + //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); + //free(requestContainer); + stub_motor_speed_request__free_unpacked(request,NULL); } @@ -435,14 +440,15 @@ void Stub_MotorPositionRequest(MessageContainer* requestContainer) responseContainer = createContainer(MESSAGE_TYPE__StubMotorPositionResponse, requestContainer->token, true, &response, &stub_motor_position_response__pack, &stub_motor_position_response__get_packed_size); - free(request); + //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); + //free(requestContainer); + stub_motor_position_request__free_unpacked(request,NULL); } @@ -490,14 +496,15 @@ void Stub_MotorMovRequest(MessageContainer* requestContainer) responseContainer = createContainer(MESSAGE_TYPE__StubMotorMovResponse, requestContainer->token, true, &response, &stub_motor_mov_response__pack, &stub_motor_mov_response__get_packed_size); - free(request); + //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); + //free(requestContainer); + stub_motor_mov_request__free_unpacked(request,NULL); } void Stub_MotorRequest(MessageContainer* requestContainer) @@ -563,13 +570,14 @@ void Stub_MotorRequest(MessageContainer* requestContainer) writeFloat(response.motor_id); - free(request); + //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); + //free(requestContainer); + stub_motor_request__free_unpacked(request,NULL); } diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_MotorEncoder.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_MotorEncoder.c index bcc5e16fb..c27a19bc3 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_MotorEncoder.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_MotorEncoder.c @@ -81,5 +81,6 @@ void Stub_MotorEncoderRequest(MessageContainer* requestContainer) free(responseContainer.data.data); SendChars((char*)container_buffer, container_size); //free(container_buffer); - free(requestContainer); + //free(requestContainer); + stub_motor_encoder_request__free_unpacked(request,NULL); } diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_OptLimitSwitch.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_OptLimitSwitch.c index a1fdeb390..6e763a825 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_OptLimitSwitch.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_OptLimitSwitch.c @@ -67,5 +67,6 @@ void Stub_OptLimitSwitchRequest(MessageContainer* requestContainer) free(responseContainer.data.data); SendChars((char*)container_buffer, container_size); //free(container_buffer); - free(requestContainer); + //free(requestContainer); + stub_opt_limit_switch_request__free_unpacked(request,NULL); } diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_ReadEmbeddedVersion.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_ReadEmbeddedVersion.c new file mode 100644 index 000000000..b357155ce --- /dev/null +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_ReadEmbeddedVersion.c @@ -0,0 +1,76 @@ +/* + * Stub_ReadEmbeddedVersion.c + * + * Created on: May 3, 2018 + * Author: avi + */ + +#include <Container.h> +#include <DataDef.h> +#include <PMR/Stubs/StubReadEmbeddedVersionResponse.pb-c.h> +#include <PMR/Stubs/StubReadEmbeddedVersionRequest.pb-c.h> + +#include <stdbool.h> +#include <stdlib.h> +#include <stdio.h> +#include <stdint.h> +#include <string.h> +#include "inc/hw_memmap.h" +#include "inc/hw_types.h" +#include "inc/hw_uart.h" + +#include "Drivers/USB_Communication/USBCDCD.h" +#include "drivers/twine_graphicslib/graphics_adapter.h" + +#include "MessageContainer.pb-c.h" + +#include "Stub_Status.h" +#include "drivers/FPGA/FPGA.h" + +#include "Common/SW_Info/SW_Info.h" + +#include "DataDef.h" + +void Stub_ReadEmbeddedVersionRequest(MessageContainer* requestContainer) +{ + + char buffer[MAX_STRING_LEN] = {0};//33 + + MessageContainer responseContainer; + + StubReadEmbeddedVersionRequest* request = stub_read_embedded_version_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data); + + writeLine("ReadBack Request: "); + + StubReadEmbeddedVersionResponse response = STUB_READ_EMBEDDED_VERSION_RESPONSE__INIT; + + GetTangoVersion(&buffer); + + response.version = &buffer[4]; + + response.has_verbuild = true; + response.has_vermajor = true; + response.has_verminor = true; + response.has_verpatch = true; + + response.vermajor = buffer[0]; + response.verminor = buffer[1]; + response.verpatch = buffer[2]; + response.verbuild = buffer[3]; + + writeLine("Sending Response: "); + + + responseContainer = createContainer(MESSAGE_TYPE__StubReadEmbeddedVersionResponse, requestContainer->token, true, &response, &stub_read_embedded_version_response__pack, &stub_read_embedded_version_response__get_packed_size); + + //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); + stub_read_embedded_version_request__free_unpacked(request,NULL); +} + diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_ReadEmbeddedVersion.h b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_ReadEmbeddedVersion.h new file mode 100644 index 000000000..f56cad5d5 --- /dev/null +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_ReadEmbeddedVersion.h @@ -0,0 +1,15 @@ +/* + * Stub_ReadEmbeddedVersion.h + * + * Created on: May 3, 2018 + * Author: avi + */ + +#ifndef MODULES_STUBS_HANDLER_STUB_READEMBEDDEDVERSION_H_ +#define MODULES_STUBS_HANDLER_STUB_READEMBEDDEDVERSION_H_ + + +void Stub_ReadEmbeddedVersionRequest(MessageContainer* requestContainer); + + +#endif /* MODULES_STUBS_HANDLER_STUB_READEMBEDDEDVERSION_H_ */ diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_SteperMotor.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_SteperMotor.c index 78fd2ef3b..d628e5d4a 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_SteperMotor.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_SteperMotor.c @@ -76,5 +76,6 @@ void Stub_SteperMotorRequest(MessageContainer* requestContainer) free(responseContainer.data.data); SendChars((char*)container_buffer, container_size); //free(container_buffer); - free(requestContainer); + //free(requestContainer); + stub_steper_motor_request__free_unpacked(request,NULL); } diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_TivaReg.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_TivaReg.c new file mode 100644 index 000000000..ef2d7321c --- /dev/null +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_TivaReg.c @@ -0,0 +1,110 @@ +/* + * Stub_TivaReg.c + * + * Created on: May 5, 2018 + * Author: avi + */ + +#include <Container.h> +#include <DataDef.h> +#include <PMR/Stubs/StubTivaReadRegResponse.pb-c.h> +#include <PMR/Stubs/StubTivaReadRegRequest.pb-c.h> +#include <PMR/Stubs/StubTivaWriteRegResponse.pb-c.h> +#include <PMR/Stubs/StubTivaWriteRegRequest.pb-c.h> + +#include <stdbool.h> +#include <stdlib.h> +#include <stdio.h> +#include <stdint.h> +#include <string.h> +#include "inc/hw_memmap.h" +#include "inc/hw_types.h" +#include "inc/hw_uart.h" + +#include "Drivers/USB_Communication/USBCDCD.h" +#include "drivers/twine_graphicslib/graphics_adapter.h" + +#include "MessageContainer.pb-c.h" + +#include "Stub_Status.h" +#include "drivers/FPGA/FPGA.h" +#include "drivers/FPGA/FPGA_Comm.h" + + +void Stub_TivaReadRegRequest(MessageContainer* requestContainer) +{ + uint32_t status = PASSED; + + MessageContainer responseContainer; + + StubTivaReadRegRequest* request = stub_tiva_read_reg_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data); + + StubTivaReadRegResponse response = STUB_TIVA_READ_REG_RESPONSE__INIT; + + status_response(status,&response.status, &response.statusword ,&response.has_statusword); + + + volatile short *ptr; + ptr = (volatile short *) (request->address); + + response.address = request->address; + response.has_address = true; + response.value = *ptr; + response.has_value = true; + + + responseContainer = createContainer(MESSAGE_TYPE__StubTivaReadRegResponse, requestContainer->token, true, &response, &stub_tiva_read_reg_response__pack, &stub_tiva_read_reg_response__get_packed_size); + + Write_status_response(status); + + //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); + + stub_tiva_read_reg_request__free_unpacked(request,NULL); + +} + +void Stub_TivaWriteRegRequest(MessageContainer* requestContainer) +{ + uint32_t status = PASSED; + + MessageContainer responseContainer; + + StubTivaWriteRegRequest* request = stub_tiva_write_reg_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data); + + + volatile short *ptr; + ptr = (volatile short *) (request->address); + *ptr = (request->value & 0xFFFF); + + StubTivaWriteRegResponse response = STUB_TIVA_WRITE_REG_RESPONSE__INIT; + + status_response(status,&response.status, &response.statusword ,&response.has_statusword); + + responseContainer = createContainer(MESSAGE_TYPE__StubTivaWriteRegResponse, requestContainer->token, true, &response, &stub_tiva_write_reg_response__pack, &stub_tiva_write_reg_response__get_packed_size); + + Write_status_response(status); + + //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); + stub_tiva_write_reg_request__free_unpacked(request,NULL); + +} + + + + + + diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_TivaReg.h b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_TivaReg.h new file mode 100644 index 000000000..f1d4c1a0a --- /dev/null +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_TivaReg.h @@ -0,0 +1,16 @@ +/* + * Stub_TivaReg.h + * + * Created on: May 5, 2018 + * Author: avi + */ + +#ifndef MODULES_STUBS_HANDLER_STUB_TIVAREG_H_ +#define MODULES_STUBS_HANDLER_STUB_TIVAREG_H_ + +void Stub_TivaReadRegRequest(MessageContainer* requestContainer); +void Stub_TivaWriteRegRequest(MessageContainer* requestContainer); + + + +#endif /* MODULES_STUBS_HANDLER_STUB_TIVAREG_H_ */ diff --git a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Valve.c b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Valve.c index 86460f119..35dab1c27 100644 --- a/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Valve.c +++ b/Software/Embedded_SW/Embedded/Modules/Stubs_Handler/Stub_Valve.c @@ -49,12 +49,13 @@ void Stub_ValveRequest(MessageContainer* requestContainer) Write_status_response(status); - free(request); + //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); + //free(requestContainer); + stub_valve_request__free_unpacked(request,NULL); } |
