diff options
| author | Avi Levkovich <avi@twine-s.com> | 2018-03-28 15:10:05 +0300 |
|---|---|---|
| committer | Avi Levkovich <avi@twine-s.com> | 2018-03-28 15:10:05 +0300 |
| commit | 07c12e522fa81bffe2dc516d755d80d3178728d1 (patch) | |
| tree | 31a3bf9c82a53640f7fa8295104563a27d2b0eb7 /Software/Code_Composer/twine_usblib_demo/Stubs_Handler | |
| parent | 5e6a7e69008723f88037dcecc0fb55d4a9caefd6 (diff) | |
| download | Tango-07c12e522fa81bffe2dc516d755d80d3178728d1.tar.gz Tango-07c12e522fa81bffe2dc516d755d80d3178728d1.zip | |
Update FPGA_ReadVersion
Diffstat (limited to 'Software/Code_Composer/twine_usblib_demo/Stubs_Handler')
5 files changed, 91 insertions, 5 deletions
diff --git a/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Container.c b/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Container.c index b87eea020..3cd3b3931 100644 --- a/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Container.c +++ b/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Container.c @@ -151,6 +151,10 @@ void receive_callback(char* buffer, size_t length) case MESSAGE_TYPE__StubHWVersionRequest: Stub_HWVersionRequest(requestContainer); break; + case MESSAGE_TYPE__StubMotorRequest: + Stub_MotorRequest(requestContainer); + break; + default: //unsupported message type !! break; diff --git a/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/DataDef.h b/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/DataDef.h index c7e41d2b8..30b9cab07 100644 --- a/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/DataDef.h +++ b/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/DataDef.h @@ -114,7 +114,10 @@ The warning: or in the environment add command line: Project -> properties -> - +Press on show advanced settings +CCS Build -> +Advanced Options -> +Diagnistic Options -> Add the warning number in Supports diagnostic <id> (--diag_suppress, - pds) 169 diff --git a/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Stub_FPGAReadVersion.c b/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Stub_FPGAReadVersion.c index 0861ddb5f..63b643eef 100644 --- a/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Stub_FPGAReadVersion.c +++ b/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Stub_FPGAReadVersion.c @@ -23,10 +23,10 @@ void Stub_FPGAReadVersionRequest(MessageContainer* requestContainer) { uint32_t status = FAILED; - unsigned char Version; - unsigned char Year; - unsigned char Month; - unsigned char Day; + unsigned char Version = 0; + unsigned char Year = 0 ; + unsigned char Month = 0; + unsigned char Day = 0; MessageContainer responseContainer; diff --git a/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Stub_Motor.c b/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Stub_Motor.c index 88f015f9a..d1e6ff82d 100644 --- a/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Stub_Motor.c +++ b/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Stub_Motor.c @@ -13,6 +13,8 @@ #include <PMR/Stubs/StubMotorPositionResponse.pb-c.h> #include <PMR/Stubs/StubMotorMovRequest.pb-c.h> #include <PMR/Stubs/StubMotorMovResponse.pb-c.h> +#include <PMR/Stubs/StubMotorRequest.pb-c.h> +#include <PMR/Stubs/StubMotorResponse.pb-c.h> #include <stdbool.h> #include <stdlib.h> @@ -37,6 +39,7 @@ #include "drivers/FPGA/Moters_Driver/L6470.h" #include "driverlib/ssi.h" +#include "drivers/SPI/SPI_Comm.h" extern unsigned long Run_Value ; @@ -451,3 +454,76 @@ void Stub_MotorMovRequest(MessageContainer* requestContainer) free(requestContainer); } +void Stub_MotorRequest(MessageContainer* requestContainer) +{ + + //uint32_t read_status; + uint32_t temp = 0; + uint32_t rx = 0; + + unsigned char N_Get = 0; + + + MessageContainer responseContainer; + + StubMotorRequest* request = stub_motor_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data); + + StubMotorResponse response = STUB_MOTOR_RESPONSE__INIT; + + N_Get = (unsigned char)request->n_bytes_to_get; + + switch(request->n_bytes_to_set) + { + case 4: + temp = Write_Byte((byte)((request->data_to_send >> 24)&0xFF)); + rx |= (temp & 0xFF) ; + N_Get = N_Get-1; + case 3: + rx = rx << 8; + temp = Write_Byte((byte)((request->data_to_send >> 16)&0xFF)); + rx |= (temp & 0xFF); + N_Get = N_Get-1; + case 2: + rx = rx << 8; + temp = Write_Byte((byte)((request->data_to_send >> 8 )&0xFF)); + rx |= (temp & 0xFF); + N_Get = N_Get-1; + case 1: + default: + rx = rx << 8; + temp = Write_Byte((byte)((request->data_to_send )&0xFF)); + rx |= temp & 0xFF; + N_Get = N_Get-1; + } + + while (N_Get) + { + rx = rx << 8; + temp = Write_Byte((uint8_t)(0x00)); + rx |= temp & 0xFF; + N_Get = N_Get-1; + } + + response.has_recived_data = true; + response.recived_data = rx; + + response.has_motor_id = true; + response.motor_id = request->motor_id; + + responseContainer = createContainer(MESSAGE_TYPE__StubMotorResponse, requestContainer->token, true, &response, &stub_motor_response__pack, &stub_motor_response__get_packed_size); + + writeLine("Sending Response: "); + + writeFloat(response.motor_id); + + + free(request); + //------------------------------------------------------------------------------------------- + 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); +} + + diff --git a/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Stub_Motor.h b/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Stub_Motor.h index 95f82353f..59312179f 100644 --- a/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Stub_Motor.h +++ b/Software/Code_Composer/twine_usblib_demo/Stubs_Handler/Stub_Motor.h @@ -5,3 +5,6 @@ void Stub_MotorStatusRequest(MessageContainer* requestContainer); void Stub_MotorSpeedRequest(MessageContainer* requestContainer); void Stub_MotorPositionRequest(MessageContainer* requestContainer); void Stub_MotorMovRequest(MessageContainer* requestContainer); +void Stub_MotorRequest(MessageContainer* requestContainer); + + |
