diff --git a/.cproject b/.cproject index debe4aa..b3d16e5 100644 --- a/.cproject +++ b/.cproject @@ -23,7 +23,8 @@ @@ -64,6 +70,11 @@ + + + + + @@ -90,6 +101,11 @@ + + + + + @@ -209,6 +236,11 @@ + + + + + @@ -231,8 +263,8 @@ - + diff --git a/.gitignore b/.gitignore index 698e13b..81e3c08 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,7 @@ # Executables build/ +Debug/* *.exe *.out *.app diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..097ebac --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "Components/SoarProtocol/SoarProto"] + path = Components/SoarProtocol/SoarProto + url = git@github.com:StudentOrganisationForAerospaceResearch/SoarProto.git diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml index 0c5e147..9ee286a 100644 --- a/.settings/language.settings.xml +++ b/.settings/language.settings.xml @@ -5,7 +5,7 @@ - + @@ -16,7 +16,7 @@ - + diff --git a/.settings/stm32cubeide.project.prefs b/.settings/stm32cubeide.project.prefs index 5476b3c..9133943 100644 --- a/.settings/stm32cubeide.project.prefs +++ b/.settings/stm32cubeide.project.prefs @@ -1,4 +1,4 @@ 66BE74F758C12D739921AEA421D593D3=0 -8DF89ED150041C4CBC7CB9A9CAA90856=20DC75955B86F89F3643A2AE9216343C -DC22A860405A8BF2F2C095E5B6529F12=20DC75955B86F89F3643A2AE9216343C +8DF89ED150041C4CBC7CB9A9CAA90856=FC9055A67881517C9FBBF9ADE1A1E100 +DC22A860405A8BF2F2C095E5B6529F12=FC9055A67881517C9FBBF9ADE1A1E100 eclipse.preferences.version=1 diff --git a/Components/Communication/Inc/UARTTask.hpp b/Components/Communication/Inc/UARTTask.hpp index a8b9b60..620cb4c 100644 --- a/Components/Communication/Inc/UARTTask.hpp +++ b/Components/Communication/Inc/UARTTask.hpp @@ -16,7 +16,11 @@ enum UART_TASK_COMMANDS { UART_TASK_COMMAND_NONE = 0, UART_TASK_COMMAND_SEND_DEBUG, - UART_TASK_COMMAND_MAX + UART_TASK_COMMAND_MAX, + UART_TASK_COMMAND_SEND_DMB, + UART_TASK_COMMAND_SEND_SOB, + UART_TASK_COMMAND_SEND_PBB, + UART_TASK_COMMAND_SEND_PI }; diff --git a/Components/Communication/UARTTask.cpp b/Components/Communication/UARTTask.cpp index 67ccbf5..fa5aa98 100644 --- a/Components/Communication/UARTTask.cpp +++ b/Components/Communication/UARTTask.cpp @@ -74,6 +74,18 @@ void UARTTask::HandleCommand(Command& cm) case UART_TASK_COMMAND_SEND_DEBUG: HAL_UART_Transmit(SystemHandles::UART_Debug, cm.GetDataPointer(), cm.GetDataSize(), DEBUG_SEND_MAX_TIME_MS); break; + case UART_TASK_COMMAND_SEND_DMB: + HAL_UART_Transmit(SystemHandles::UART_Radio, cm.GetDataPointer(), cm.GetDataSize(), DEBUG_SEND_MAX_TIME_MS); + break; + case UART_TASK_COMMAND_SEND_SOB: + HAL_UART_Transmit(SystemHandles::UART_SOB, cm.GetDataPointer(), cm.GetDataSize(), DEBUG_SEND_MAX_TIME_MS); + break; + case UART_TASK_COMMAND_SEND_PBB: + HAL_UART_Transmit(SystemHandles::UART_Radio, cm.GetDataPointer(), cm.GetDataSize(), DEBUG_SEND_MAX_TIME_MS); + break; + case UART_TASK_COMMAND_SEND_PI: + HAL_UART_Transmit(SystemHandles::UART_PI, cm.GetDataPointer(), cm.GetDataSize(), DEBUG_SEND_MAX_TIME_MS); + break; default: SOAR_PRINT("UARTTask - Received Unsupported DATA_COMMAND {%d}\n", cm.GetTaskCommand()); break; diff --git a/Components/Core/Command.cpp b/Components/Core/Command.cpp index 0d2a1f3..ff35223 100644 --- a/Components/Core/Command.cpp +++ b/Components/Core/Command.cpp @@ -11,7 +11,7 @@ #include "Command.hpp" #include "SystemDefines.hpp" -#include // Support for memcpy +#include // Support for memcpy /* Static Variable Init ------------------------------------------------------------------*/ std::atomic Command::statAllocationCounter; // Static variable init @@ -83,9 +83,9 @@ Command::Command(GLOBAL_COMMANDS command, uint16_t taskCommand) /** * @brief Dynamically allocates memory for the command with the given data size * @param dataSize Size of array to allocate - * @return TRUE on success, FALSE on failure (mem already allocated) + * @return Pointer to data on success, nullptr on failure (mem already allocated) */ -bool Command::AllocateData(uint16_t dataSize) +uint8_t* Command::AllocateData(uint16_t dataSize) { // If we don't have anything allocated, allocate and return success if (this->data == nullptr && !bShouldFreeData) { @@ -96,9 +96,9 @@ bool Command::AllocateData(uint16_t dataSize) //TODO: May want to print out whenever we have an imbalance in statAllocationCounter by more than ~5 or so. SOAR_ASSERT(statAllocationCounter < MAX_NUMBER_OF_COMMAND_ALLOCATIONS); - return true; + return this->data; } - return false; + return nullptr; } /** @@ -127,14 +127,14 @@ bool Command::SetCommandToStaticExternalBuffer(uint8_t* existingPtr, uint16_t si */ bool Command::CopyDataToCommand(uint8_t* dataSrc, uint16_t size) { - // If we successfully allocate, copy the data and return success + // If we successfully allocate, copy the data and return success if(this->AllocateData(size) - && this->data != nullptr) { - memcpy(this->data, dataSrc, size); - return true; - } + && this->data != nullptr) { + memcpy(this->data, dataSrc, size); + return true; + } - return false; + return false; } /** @@ -145,6 +145,8 @@ void Command::Reset() if(bShouldFreeData && data != nullptr) { soar_free(data); statAllocationCounter -= 1; + data = nullptr; + bShouldFreeData = false; } } diff --git a/Components/Core/Inc/Command.hpp b/Components/Core/Inc/Command.hpp index be5e6ad..efbb19e 100644 --- a/Components/Core/Inc/Command.hpp +++ b/Components/Core/Inc/Command.hpp @@ -2,7 +2,7 @@ ****************************************************************************** * File Name : Command.hpp * Description : Command is a unique object used to communicate information - * to and between tasks. + * to and between tasks. ****************************************************************************** */ #ifndef AVIONICS_INCLUDE_SOAR_CORE_COMMAND_H @@ -21,7 +21,8 @@ enum GLOBAL_COMMANDS : uint8_t TASK_SPECIFIC_COMMAND, // Runs a task specific command when given this object DATA_COMMAND, // Data command, used to send data to a task. Target is stored in taskCommand CONTROL_ACTION, // Control actions, used in Rocket State Machine, direct translation to RCU<->DMB Protocol - REQUEST_COMMAND // Request command + REQUEST_COMMAND, // Request command + PROTOCOL_COMMAND, // Protocol command, used for commands to the Protocol Task }; /* Class -----------------------------------------------------------------*/ @@ -36,44 +37,45 @@ enum GLOBAL_COMMANDS : uint8_t class Command { public: - Command(void); - Command(GLOBAL_COMMANDS command); - Command(uint16_t taskCommand); - Command(GLOBAL_COMMANDS command, uint16_t taskCommand); + Command(void); + Command(GLOBAL_COMMANDS command); + Command(uint16_t taskCommand); + Command(GLOBAL_COMMANDS command, uint16_t taskCommand); - //~Command(); // We can't handle memory like this, since the object would be 'destroyed' after copying to the RTOS queue + //~Command(); // We can't handle memory like this, since the object would be 'destroyed' after copying to the RTOS queue - // Functions - bool AllocateData(uint16_t dataSize); // Dynamically allocates data for the command - bool CopyDataToCommand(uint8_t* dataSrc, uint16_t size); // Copies the data into the command, into newly allocated memory - bool SetCommandToStaticExternalBuffer(uint8_t* existingPtr, uint16_t size); // Set data pointer to a pre-allocated buffer, if bFreeMemory is set to true, responsibility for freeing memory will fall on Command + // Functions + uint8_t* AllocateData(uint16_t dataSize); // Dynamically allocates data for the command + bool CopyDataToCommand(uint8_t* dataSrc, uint16_t size); // Copies the data into the command, into newly allocated memory + bool SetCommandToStaticExternalBuffer(uint8_t* existingPtr, uint16_t size); // Set data pointer to a pre-allocated buffer, if bFreeMemory is set to true, responsibility for freeing memory will fall on Command - void Reset(); // Reset the command, equivalent of a destructor that must be called, counts allocations and deallocations, asserts an error if the allocation count is too high + void Reset(); // Reset the command, equivalent of a destructor that must be called, counts allocations and deallocations, asserts an error if the allocation count is too high - // Getters - uint16_t GetDataSize() const; - uint8_t* GetDataPointer() const { return data; } - GLOBAL_COMMANDS GetCommand() const { return command; } - uint16_t GetTaskCommand() const { return taskCommand; } + // Getters + uint16_t GetDataSize() const; + uint8_t* GetDataPointer() const { return data; } + GLOBAL_COMMANDS GetCommand() const { return command; } + uint16_t GetTaskCommand() const { return taskCommand; } - // Setters - void SetTaskCommand(uint16_t taskCommand) { this->taskCommand = taskCommand; } + // Setters + void SetTaskCommand(uint16_t taskCommand) { this->taskCommand = taskCommand; } + void SetDataSize(uint16_t size) { dataSize = size; } protected: - // Data -- note each insertion and removal from a queue will do a full copy of this object, so this data should be as small as possible - GLOBAL_COMMANDS command; // General GLOBAL command, each task must be able to handle these types of commands - uint16_t taskCommand; // Task specific command, the task this command event is sent to needs to handle this + // Data -- note each insertion and removal from a queue will do a full copy of this object, so this data should be as small as possible + GLOBAL_COMMANDS command; // General GLOBAL command, each task must be able to handle these types of commands + uint16_t taskCommand; // Task specific command, the task this command event is sent to needs to handle this - uint8_t* data; // Pointer to optional data - uint16_t dataSize; // Size of optional data + uint8_t* data; // Pointer to optional data + uint16_t dataSize; // Size of optional data private: - bool bShouldFreeData; // Should the Command handle freeing the data pointer (necessary to enable Command object to handle static memory ptrs) + bool bShouldFreeData; // Should the Command handle freeing the data pointer (necessary to enable Command object to handle static memory ptrs) - static std::atomic statAllocationCounter; // Static allocation counter shared by all command objects + static std::atomic statAllocationCounter; // Static allocation counter shared by all command objects - Command(const Command&); // Prevent copy-construction + Command(const Command&); // Prevent copy-construction }; #endif /* AVIONICS_INCLUDE_SOAR_CORE_COMMAND_H */ \ No newline at end of file diff --git a/Components/Core/Inc/Command.hpp.orig b/Components/Core/Inc/Command.hpp.orig deleted file mode 100644 index db6f637..0000000 --- a/Components/Core/Inc/Command.hpp.orig +++ /dev/null @@ -1,82 +0,0 @@ -/** - ****************************************************************************** - * File Name : Command.hpp - * Description : Command is a unique object used to communicate information - * to and between tasks. - ****************************************************************************** -*/ -#ifndef AVIONICS_INCLUDE_SOAR_CORE_COMMAND_H -#define AVIONICS_INCLUDE_SOAR_CORE_COMMAND_H -/* Includes ------------------------------------------------------------------*/ -#include - -#include "cmsis_os.h" - -/* Macros --------------------------------------------------------------------*/ - -/* Enums -----------------------------------------------------------------*/ -enum GLOBAL_COMMANDS : uint8_t -{ - COMMAND_NONE = 0, // No command, packet can probably be ignored - TASK_SPECIFIC_COMMAND, // Runs a task specific command when given this object - DATA_COMMAND, // Data command, used to send data to a task. Target is stored in taskCommand -<<<<<<< HEAD - REQUEST_COMMAND // Request command -======= - CONTROL_ACTION, // Control actions, used in Rocket State Machine, direct translation to RCU<->DMB Protocol ->>>>>>> 2d2f772e10fb3a9675398877e8bf01f5059d80ef -}; - -/* Class -----------------------------------------------------------------*/ - -/** - * @brief Command class - * - * Each Command object contains one set of commands, a GLOBAL_COMMANDS and a task command that can be task specific. - * - * Note, this class must be able to be treated as 'Plain-Old-Data' as it will be handled with raw-copy in RTOS queues -*/ -class Command -{ -public: - Command(void); - Command(GLOBAL_COMMANDS command); - Command(uint16_t taskCommand); - Command(GLOBAL_COMMANDS command, uint16_t taskCommand); - - //~Command(); // We can't handle memory like this, since the object would be 'destroyed' after copying to the RTOS queue - - // Functions - bool AllocateData(uint16_t dataSize); // Dynamically allocates data for the command - bool CopyDataToCommand(uint8_t* dataSrc, uint16_t size); // Copies the data into the command, into newly allocated memory - bool SetCommandToStaticExternalBuffer(uint8_t* existingPtr, uint16_t size); // Set data pointer to a pre-allocated buffer, if bFreeMemory is set to true, responsibility for freeing memory will fall on Command - - void Reset(); // Reset the command, equivalent of a destructor that must be called, counts allocations and deallocations, asserts an error if the allocation count is too high - - // Getters - uint16_t GetDataSize() const; - uint8_t* GetDataPointer() const { return data; } - GLOBAL_COMMANDS GetCommand() const { return command; } - uint16_t GetTaskCommand() const { return taskCommand; } - - // Setters - void SetTaskCommand(uint16_t taskCommand) { this->taskCommand = taskCommand; } - - -protected: - // Data -- note each insertion and removal from a queue will do a full copy of this object, so this data should be as small as possible - GLOBAL_COMMANDS command; // General GLOBAL command, each task must be able to handle these types of commands - uint16_t taskCommand; // Task specific command, the task this command event is sent to needs to handle this - - uint8_t* data; // Pointer to optional data - uint16_t dataSize; // Size of optional data - -private: - bool bShouldFreeData; // Should the Command handle freeing the data pointer (necessary to enable Command object to handle static memory ptrs) - - static std::atomic statAllocationCounter; // Static allocation counter shared by all command objects - - Command(const Command&); // Prevent copy-construction -}; - -#endif /* AVIONICS_INCLUDE_SOAR_CORE_COMMAND_H */ \ No newline at end of file diff --git a/Components/Core/Inc/DMAController.hpp b/Components/Core/Inc/DMAController.hpp index 452566b..0e0fb2d 100644 --- a/Components/Core/Inc/DMAController.hpp +++ b/Components/Core/Inc/DMAController.hpp @@ -21,17 +21,17 @@ class DMAController { public: - // Constructors - DMAController(void); + // Constructors + DMAController(void); - // Functions + // Functions - // Getters + // Getters - // Setters + // Setters - // Static/Setup - static void SetupCallbacks(); // Register the DMA callbacks + // Static/Setup + static void SetupCallbacks(); // Register the DMA callbacks protected: diff --git a/Components/Core/Inc/Mutex.hpp b/Components/Core/Inc/Mutex.hpp index d120522..6466c90 100644 --- a/Components/Core/Inc/Mutex.hpp +++ b/Components/Core/Inc/Mutex.hpp @@ -20,16 +20,16 @@ class Mutex { public: - // Constructors / Destructor - Mutex(); - ~Mutex(); + // Constructors / Destructor + Mutex(); + ~Mutex(); - // Public functions - bool Lock(uint32_t timeout_ms = portMAX_DELAY); - bool Unlock(); + // Public functions + bool Lock(uint32_t timeout_ms = portMAX_DELAY); + bool Unlock(); private: - SemaphoreHandle_t rtSemaphoreHandle; + SemaphoreHandle_t rtSemaphoreHandle; }; diff --git a/Components/Core/Inc/Task.hpp b/Components/Core/Inc/Task.hpp index 591cd22..43b4ad6 100644 --- a/Components/Core/Inc/Task.hpp +++ b/Components/Core/Inc/Task.hpp @@ -26,6 +26,7 @@ class Task { Queue* GetEventQueue() const { return qEvtQueue; } void SendCommand(Command cmd) { qEvtQueue->Send(cmd); } + void SendCommandReference(Command& cmd) { qEvtQueue->Send(cmd); } protected: //RTOS diff --git a/Components/Core/Inc/Timer.hpp b/Components/Core/Inc/Timer.hpp index 3c7d599..31c6af4 100644 --- a/Components/Core/Inc/Timer.hpp +++ b/Components/Core/Inc/Timer.hpp @@ -9,12 +9,22 @@ /* Includes ------------------------------------------------------------------*/ #include "cmsis_os.h" #include "Utils.hpp" +#include "FreeRTOS.h" /* Macros --------------------------------------------------------------------*/ constexpr uint32_t DEFAULT_TIMER_COMMAND_WAIT_PERIOD = MS_TO_TICKS(15); // Default time to block a task if a command cannot be issued to the timer #define DEFAULT_TIMER_PERIOD (MS_TO_TICKS(1000)) // 1s +// Enumeration representing the 4 timer states +enum TimerState { + UNINITIALIZED=0, + COUNTING, + PAUSED, + COMPLETE +}; + + /* Class -----------------------------------------------------------------*/ /** @@ -25,21 +35,35 @@ constexpr uint32_t DEFAULT_TIMER_COMMAND_WAIT_PERIOD = MS_TO_TICKS(15); // Defau class Timer { public: - Timer(); - - bool ChangePeriod(const uint32_t period); - - // WORK-IN-PROGRESS - // NOTES: - // - I can think of several timer types - // 1) Default Ctor Timer (1 second polling timer that requires polling to acquire state with no callback) - // 2) Callback Enabled Timer (user-provided callback) + Timer(); // Default Constructor (Polling Timer) + Timer(void (*TimerCallbackFunction_t)( TimerHandle_t xTimer )); // Constructor for Callback Enabled Timer + ~Timer(); + bool ChangePeriodMs(const uint32_t period_ms); // Resets timers and initializes period to specified parameters + bool ChangePeriodMsAndStart(const uint32_t period_ms); // Restarting timer with the specified parameter + bool Start(); + bool Stop(); + bool ResetTimer(); + bool ResetTimerAndStart(); + void SetAutoReload(bool setReloadOn); //True for Autoreload and False for One-shot + const uint32_t GetOriginalPeriodMs(){return timerPeriod;}; + const bool GetIfAutoReload(); // Returns true if timer is Autoreload and False if it is One-shot + const TimerState GetState(); // Returns state of the timer + const uint32_t GetPeriodMs(); // Returns period in ms + const uint32_t GetRemainingTimeMs(); // Returns time left till timer will expire + static void DefaultCallback( TimerHandle_t xTimer ); protected: - TimerHandle_t rtTimerHandle; + const uint32_t GetRTOSTimeRemaining(); + + TimerState timerState; // Enum that holds current timer state + TimerHandle_t rtTimerHandle; + uint32_t timerPeriod = DEFAULT_TIMER_PERIOD; + uint32_t remainingTimeBetweenPauses; // Calculates time left on timer when it is paused }; -#endif /* AVIONICS_INCLUDE_SOAR_CORE_COMMAND_H */ \ No newline at end of file + + +#endif /* AVIONICS_INCLUDE_SOAR_CORE_TIMER_H*/ diff --git a/Components/Core/Queue.cpp b/Components/Core/Queue.cpp index 794f938..c8b99d7 100644 --- a/Components/Core/Queue.cpp +++ b/Components/Core/Queue.cpp @@ -15,9 +15,9 @@ */ Queue::Queue(void) { - //Initialize RTOS Queue handle - rtQueueHandle = xQueueCreate(DEFAULT_QUEUE_SIZE, sizeof(Command)); - queueDepth = 0; + //Initialize RTOS Queue handle + rtQueueHandle = xQueueCreate(DEFAULT_QUEUE_SIZE, sizeof(Command)); + queueDepth = 0; } /** @@ -26,9 +26,9 @@ Queue::Queue(void) */ Queue::Queue(uint16_t depth) { - //Initialize RTOS Queue handle with given depth - rtQueueHandle = xQueueCreate(depth, sizeof(Command)); - queueDepth = 0; + //Initialize RTOS Queue handle with given depth + rtQueueHandle = xQueueCreate(depth, sizeof(Command)); + queueDepth = depth; } /** @@ -38,13 +38,13 @@ Queue::Queue(uint16_t depth) */ bool Queue::SendFromISR(Command& command) { - //Note: There NULL param here could be used to wake a task right after after exiting the ISR - if (xQueueSendFromISR(rtQueueHandle, &command, NULL) == pdPASS) - return true; + //Note: There NULL param here could be used to wake a task right after after exiting the ISR + if (xQueueSendFromISR(rtQueueHandle, &command, NULL) == pdPASS) + return true; - command.Reset(); + command.Reset(); - return false; + return false; } /** @@ -54,14 +54,14 @@ bool Queue::SendFromISR(Command& command) */ bool Queue::SendToFront(Command& command) { - //Send to the back of the queue - if (xQueueSendToFront(rtQueueHandle, &command, DEFAULT_QUEUE_SEND_WAIT_TICKS) == pdPASS) - return true; + //Send to the back of the queue + if (xQueueSendToFront(rtQueueHandle, &command, DEFAULT_QUEUE_SEND_WAIT_TICKS) == pdPASS) + return true; - SOAR_PRINT("Could not send data to front of queue!"); - command.Reset(); + SOAR_PRINT("Could not send data to front of queue!"); + command.Reset(); - return false; + return false; } /** @@ -71,15 +71,15 @@ bool Queue::SendToFront(Command& command) */ bool Queue::Send(Command& command) { - if (xQueueSend(rtQueueHandle, &command, DEFAULT_QUEUE_SEND_WAIT_TICKS) == pdPASS) - return true; + if (xQueueSend(rtQueueHandle, &command, DEFAULT_QUEUE_SEND_WAIT_TICKS) == pdPASS) + return true; - //TODO: It may be possible to have this automatically set the command to not free data externally as we've "passed" control of the data over, which might let us use a destructor to free the data + //TODO: It may be possible to have this automatically set the command to not free data externally as we've "passed" control of the data over, which might let us use a destructor to free the data - SOAR_PRINT("Could not send data to queue!"); - command.Reset(); + SOAR_PRINT("Could not send data to queue!"); + command.Reset(); - return false; + return false; } /** @@ -90,10 +90,10 @@ bool Queue::Send(Command& command) */ bool Queue::Receive(Command& cm, uint32_t timeout_ms) { - if(xQueueReceive(rtQueueHandle, &cm, MS_TO_TICKS(timeout_ms)) == pdTRUE) { - return true; - } - return false; + if(xQueueReceive(rtQueueHandle, &cm, MS_TO_TICKS(timeout_ms)) == pdTRUE) { + return true; + } + return false; } /** @@ -103,8 +103,8 @@ bool Queue::Receive(Command& cm, uint32_t timeout_ms) */ bool Queue::ReceiveWait(Command& cm) { - if (xQueueReceive(rtQueueHandle, &cm, HAL_MAX_DELAY) == pdTRUE) { - return true; - } - return false; + if (xQueueReceive(rtQueueHandle, &cm, HAL_MAX_DELAY) == pdTRUE) { + return true; + } + return false; } diff --git a/Components/SoarDebug/DebugTask.cpp b/Components/SoarDebug/DebugTask.cpp index 15ecc2d..a7095a1 100644 --- a/Components/SoarDebug/DebugTask.cpp +++ b/Components/SoarDebug/DebugTask.cpp @@ -15,6 +15,10 @@ #include "GPIO.hpp" #include "stm32l4xx_hal.h" +#include "PIRxProtocolTask.hpp" +#include "SOBRxRepeaterTask.hpp" +#include "DMBRxProtocolTask.hpp" + /* Macros --------------------------------------------------------------------*/ /* Structs -------------------------------------------------------------------*/ @@ -36,6 +40,12 @@ void HAL_UART_RxCpltCallback(UART_HandleTypeDef* huart) { if (huart->Instance == SystemHandles::UART_Debug->Instance) DebugTask::Inst().InterruptRxData(); + else if (huart->Instance == SystemHandles::UART_Radio->Instance) + DMBRxProtocolTask::Inst().InterruptRxData(); + else if (huart->Instance == SystemHandles::UART_SOB->Instance) + SOBRxRepeaterTask::Inst().InterruptRxData(); + else if (huart->Instance == SystemHandles::UART_PI->Instance) + PIRxProtocolTask::Inst().InterruptRxData(); } /* Functions -----------------------------------------------------------------*/ diff --git a/Components/SoarProtocol/DMBRxProtocolTask.cpp b/Components/SoarProtocol/DMBRxProtocolTask.cpp new file mode 100644 index 0000000..2bdb801 --- /dev/null +++ b/Components/SoarProtocol/DMBRxProtocolTask.cpp @@ -0,0 +1,97 @@ +/** + ****************************************************************************** + * File Name : DMBRxProtocolTask.hpp + * Description : Protocol task, specific to DMBRx UART Line + ****************************************************************************** +*/ +#include "DMBRxProtocolTask.hpp" +#include "FlightTask.hpp" +#include "ReadBufferFixedSize.h" +#include "PIRxProtocolTask.hpp" +#include "SOBRxRepeaterTask.hpp" +#include "UARTTask.hpp" + +/** + * @brief Initialize the DMBRxProtocolTask + */ +void DMBRxProtocolTask::InitTask() +{ + // Make sure the task is not already initialized + SOAR_ASSERT(rtTaskHandle == nullptr, "Cannot initialize Protocol task twice"); + + // Start the task + BaseType_t rtValue = + xTaskCreate((TaskFunction_t)DMBRxProtocolTask::RunTask, + (const char*)"ProtocolTask", + (uint16_t)TASK_PROTOCOL_STACK_DEPTH_WORDS, + (void*)this, + (UBaseType_t)TASK_PROTOCOL_PRIORITY, + (TaskHandle_t*)&rtTaskHandle); + + //Ensure creation succeded + SOAR_ASSERT(rtValue == pdPASS, "ProtocolTask::InitTask - xTaskCreate() failed"); +} + +/** + * @brief Default constructor + */ +DMBRxProtocolTask::DMBRxProtocolTask() : ProtocolTask(Proto::Node::NODE_RCU, + SystemHandles::UART_Radio, + UART_TASK_COMMAND_SEND_DMB) +{ +} + +/** + * @brief Handle a command message + */ +void DMBRxProtocolTask::HandleProtobufCommandMessage(EmbeddedProto::ReadBufferFixedSize& readBuffer) +{ + Proto::CommandMessage msg; + msg.deserialize(readBuffer); + + // Verify the source and target nodes, echo it if it does not have DMBRx as the target + if (msg.get_source() != Proto::Node::NODE_DMB || msg.get_target() != Proto::Node::NODE_SOB) + return; + + // If the message does not have a SOB command, do nothing + if (!msg.has_sob_command()) + return; + + SOAR_PRINT("PROTO-INFO: Received DMBRx Command Message"); + + //Send SOB command + EmbeddedProto::WriteBufferFixedSize writeBuffer; + msg.serialize(writeBuffer); + + SOBRxRepeaterTask::Inst().SendProtobufMessage(writeBuffer, Proto::MessageID::MSG_COMMAND); +} + +/** + * @brief Handle a control message + */ +void DMBRxProtocolTask::HandleProtobufControlMesssage(EmbeddedProto::ReadBufferFixedSize& readBuffer) +{ + //rewrap into a write buffer var because readBuffer and writeBuffer are not interchangeable + Proto::ControlMessage msg; + msg.deserialize(readBuffer); + + EmbeddedProto::WriteBufferFixedSize writeBuffer; + msg.serialize(writeBuffer); + + PIRxProtocolTask::SendProtobufMessage(writeBuffer, Proto::MessageID::MSG_CONTROL); +} + +/** + * @brief Handle a telemetry message + */ +void DMBRxProtocolTask::HandleProtobufTelemetryMessage(EmbeddedProto::ReadBufferFixedSize& readBuffer) +{ + //rewrap into a write buffer var because readBuffer and writeBuffer are not interchangeable + Proto::TelemetryMessage msg; + msg.deserialize(readBuffer); + + EmbeddedProto::WriteBufferFixedSize writeBuffer; + msg.serialize(writeBuffer); + + PIRxProtocolTask::Inst().SendProtobufMessage(writeBuffer, Proto::MessageID::MSG_TELEMETRY); +} diff --git a/Components/SoarProtocol/DMBRxProtocolTask.hpp b/Components/SoarProtocol/DMBRxProtocolTask.hpp new file mode 100644 index 0000000..5e350c8 --- /dev/null +++ b/Components/SoarProtocol/DMBRxProtocolTask.hpp @@ -0,0 +1,48 @@ +/** + ****************************************************************************** + * File Name : DMBRxProtocolTask.hpp + * Description : Protocol task, specific to DMBRx + ****************************************************************************** +*/ +#ifndef SOAR_DMBRXPROTOCOL_HPP_ +#define SOAR_DMBRXPROTOCOL_HPP_ +#include "ProtocolTask.hpp" +#include "Task.hpp" +#include "SystemDefines.hpp" +#include "UARTTask.hpp" + +/* Enums ------------------------------------------------------------------*/ + +/* Class ------------------------------------------------------------------*/ +class DMBRxProtocolTask : public ProtocolTask +{ +public: + static DMBRxProtocolTask& Inst() { + static DMBRxProtocolTask inst; + return inst; + } + + void InitTask(); + + static void SendProtobufMessage(EmbeddedProto::WriteBufferFixedSize& writeBuffer, Proto::MessageID msgId) + { + Inst().ProtocolTask::SendProtobufMessage(writeBuffer, msgId); + } + +protected: + static void RunTask(void* pvParams) { DMBRxProtocolTask::Inst().Run(pvParams); } // Static Task Interface, passes control to the instance Run(); + + // These handlers will receive a buffer and size corresponding to a decoded message + void HandleProtobufCommandMessage(EmbeddedProto::ReadBufferFixedSize& readBuffer); + void HandleProtobufControlMesssage(EmbeddedProto::ReadBufferFixedSize& readBuffer); + void HandleProtobufTelemetryMessage(EmbeddedProto::ReadBufferFixedSize& readBuffer); + + // Member variables + +private: + DMBRxProtocolTask(); // Private constructor + DMBRxProtocolTask(const DMBRxProtocolTask&); // Prevent copy-construction + DMBRxProtocolTask& operator=(const DMBRxProtocolTask&); // Prevent assignment +}; + +#endif // SOAR_DMBRxPROTOCOL_HPP_ diff --git a/Components/SoarProtocol/PIRxProtocolTask.cpp b/Components/SoarProtocol/PIRxProtocolTask.cpp new file mode 100644 index 0000000..24dfe2d --- /dev/null +++ b/Components/SoarProtocol/PIRxProtocolTask.cpp @@ -0,0 +1,98 @@ +/** + ****************************************************************************** + * File Name : PIRxProtocolTask.hpp + * Description : Protocol task, specific to PIRx UART Line + ****************************************************************************** +*/ +#include "PIRxProtocolTask.hpp" +#include "FlightTask.hpp" +#include "ReadBufferFixedSize.h" +#include "SOBRxRepeaterTask.hpp" +#include "DMBRxProtocolTask.hpp" +#include "UARTTask.hpp" + +/** + * @brief Initialize the PIRxProtocolTask + */ +void PIRxProtocolTask::InitTask() +{ + // Make sure the task is not already initialized + SOAR_ASSERT(rtTaskHandle == nullptr, "Cannot initialize Protocol task twice"); + + // Start the task + BaseType_t rtValue = + xTaskCreate((TaskFunction_t)PIRxProtocolTask::RunTask, + (const char*)"ProtocolTask", + (uint16_t)TASK_PROTOCOL_STACK_DEPTH_WORDS, + (void*)this, + (UBaseType_t)TASK_PROTOCOL_PRIORITY, + (TaskHandle_t*)&rtTaskHandle); + + //Ensure creation succeded + SOAR_ASSERT(rtValue == pdPASS, "ProtocolTask::InitTask - xTaskCreate() failed"); +} + +/** + * @brief Default constructor + */ +PIRxProtocolTask::PIRxProtocolTask() : ProtocolTask(Proto::Node::NODE_RCU, + SystemHandles::UART_PI, + UART_TASK_COMMAND_SEND_PI) +{ +} + +/** + * @brief Handle a command message + */ +void PIRxProtocolTask::HandleProtobufCommandMessage(EmbeddedProto::ReadBufferFixedSize& readBuffer) +{ + Proto::CommandMessage msg; + msg.deserialize(readBuffer); + + EmbeddedProto::WriteBufferFixedSize writeBuffer; + msg.serialize(writeBuffer); + + //Send to relevant destination + if(msg.get_target() == Proto::Node::NODE_DMB || msg.get_target() == Proto::Node::NODE_PBB) { + DMBRxProtocolTask::Inst().SendProtobufMessage(writeBuffer, Proto::MessageID::MSG_COMMAND); + return; + } + + if(msg.get_target() == Proto::Node::NODE_SOB) { + SOBRxRepeaterTask::Inst().SendProtobufMessage(writeBuffer, Proto::MessageID::MSG_COMMAND); + return; + } + +} + +/** + * @brief Handle a control message + */ +void PIRxProtocolTask::HandleProtobufControlMesssage(EmbeddedProto::ReadBufferFixedSize& readBuffer) +{ + //rewrap into a write buffer var because readBuffer and writeBuffer are not interchangeable + Proto::TelemetryMessage msg; + msg.deserialize(readBuffer); + + EmbeddedProto::WriteBufferFixedSize writeBuffer; + msg.serialize(writeBuffer); + + //Send to relevant destination + if(msg.get_target() == Proto::Node::NODE_DMB || msg.get_target() == Proto::Node::NODE_PBB) { + DMBRxProtocolTask::Inst().SendProtobufMessage(writeBuffer, Proto::MessageID::MSG_CONTROL); + return; + } + + if(msg.get_target() == Proto::Node::NODE_SOB) { + SOBRxRepeaterTask::Inst().SendProtobufMessage(writeBuffer, Proto::MessageID::MSG_CONTROL); + return; + } +} + +/** + * @brief Handle a telemetry message (unused?) + */ +void PIRxProtocolTask::HandleProtobufTelemetryMessage(EmbeddedProto::ReadBufferFixedSize& readBuffer) +{ + +} diff --git a/Components/SoarProtocol/PIRxProtocolTask.hpp b/Components/SoarProtocol/PIRxProtocolTask.hpp new file mode 100644 index 0000000..8f02db2 --- /dev/null +++ b/Components/SoarProtocol/PIRxProtocolTask.hpp @@ -0,0 +1,48 @@ +/** + ****************************************************************************** + * File Name : PIRxProtocolTask.hpp + * Description : Protocol task, specific to PIRx + ****************************************************************************** +*/ +#ifndef SOAR_PIRXPROTOCOL_HPP_ +#define SOAR_PIRXPROTOCOL_HPP_ +#include "ProtocolTask.hpp" +#include "Task.hpp" +#include "SystemDefines.hpp" +#include "UARTTask.hpp" + +/* Enums ------------------------------------------------------------------*/ + +/* Class ------------------------------------------------------------------*/ +class PIRxProtocolTask : public ProtocolTask +{ +public: + static PIRxProtocolTask& Inst() { + static PIRxProtocolTask inst; + return inst; + } + + void InitTask(); + + static void SendProtobufMessage(EmbeddedProto::WriteBufferFixedSize& writeBuffer, Proto::MessageID msgId) + { + Inst().ProtocolTask::SendProtobufMessage(writeBuffer, msgId); + } + +protected: + static void RunTask(void* pvParams) { PIRxProtocolTask::Inst().Run(pvParams); } // Static Task Interface, passes control to the instance Run(); + + // These handlers will receive a buffer and size corresponding to a decoded message + void HandleProtobufCommandMessage(EmbeddedProto::ReadBufferFixedSize& readBuffer); + void HandleProtobufControlMesssage(EmbeddedProto::ReadBufferFixedSize& readBuffer); + void HandleProtobufTelemetryMessage(EmbeddedProto::ReadBufferFixedSize& readBuffer); + + // Member variables + +private: + PIRxProtocolTask(); // Private constructor + PIRxProtocolTask(const PIRxProtocolTask&); // Prevent copy-construction + PIRxProtocolTask& operator=(const PIRxProtocolTask&); // Prevent assignment +}; + +#endif // SOAR_PIRxPROTOCOL_HPP_ diff --git a/Components/SoarProtocol/SOBRxRepeaterTask.hpp b/Components/SoarProtocol/SOBRxRepeaterTask.hpp new file mode 100644 index 0000000..66294e2 --- /dev/null +++ b/Components/SoarProtocol/SOBRxRepeaterTask.hpp @@ -0,0 +1,66 @@ +/** + ****************************************************************************** + * File Name : SOBRxRepeaterTask.hpp + * Description : SOBRx UART line repeater task + * + * This is intended to be used as a template for creating + * specific UART line repeater tasks. Guideline: + * 1. Copy this file while replacing all 'Example' with '{your uart name}', either manually or with this: + * sed 's/Example/{your uart name}/g' ExampleRepeaterTask.hpp > {your uart name}RepeaterTask.hpp + * 2. Change the Configuration section below + * edit Example_REPEATER_TASK_HUART with your UART handle + * and the Example_UART_TASK_COMMAND with your UART task command + * 3. Add: + * else if (huart->Instance == {edited uart handle}->Instance) + * ExampleRepeaterTask::Inst().InterruptRxData(); + * to HAL_UART_RxCpltCallback in the file that contains the callback + * 4. Add: + * #include "ExampleRepeaterTask.hpp" + * and + * ExampleRepeaterTask::Inst().InitTask() + * to main_avionics.cpp + * 5. Delete this extended description (if you want) + * 6. Delete this file (once done with steps 1-5 for all UARTs you need to repeat) + ****************************************************************************** +*/ +#include "RepeaterTask.hpp" +#include "UARTTask.hpp" + +/* Configuration ------------------------------------------------------------------*/ +constexpr UART_HandleTypeDef* SOBRx_REPEATER_TASK_HUART = SystemHandles::UART_SOB; +constexpr uint16_t SOBRx_REPEATER_TASK_UART_TASK_COMMAND = UART_TASK_COMMAND_SEND_SOB; + +/* Class ------------------------------------------------------------------*/ +class SOBRxRepeaterTask : public RepeaterTask +{ +public: + static SOBRxRepeaterTask& Inst() { + static SOBRxRepeaterTask inst; + return inst; + } + + void InitTask() { + // Make sure the task is not already initialized + SOAR_ASSERT(rtTaskHandle == nullptr, "Cannot init SOBRxRptr task twice"); + + // Start the task + BaseType_t rtValue = + xTaskCreate((TaskFunction_t)SOBRxRepeaterTask::RunTask, + (const char*)"SOBRxRptr", + (uint16_t)TASK_REPEATER_STACK_DEPTH_WORDS, + (void*)this, + (UBaseType_t)TASK_REPEATER_PRIORITY, + (TaskHandle_t*)&rtTaskHandle); + + //Ensure creation succeded + SOAR_ASSERT(rtValue == pdPASS, "SOBRxRptr xTaskCreate() failed"); + } + +protected: + static void RunTask(void* pvParams) { SOBRxRepeaterTask::Inst().Run(pvParams); } // Static Task Interface, passes control to the instance Run(); + +private: + SOBRxRepeaterTask() : RepeaterTask((UART_HandleTypeDef*)SOBRx_REPEATER_TASK_HUART, SOBRx_REPEATER_TASK_UART_TASK_COMMAND) {} + SOBRxRepeaterTask(const SOBRxRepeaterTask&); // Prevent copy-construction + SOBRxRepeaterTask& operator=(const SOBRxRepeaterTask&); // Prevent assignment +}; diff --git a/Components/SoarProtocol/SoarProto b/Components/SoarProtocol/SoarProto new file mode 160000 index 0000000..9a2efaa --- /dev/null +++ b/Components/SoarProtocol/SoarProto @@ -0,0 +1 @@ +Subproject commit 9a2efaa94049fac479a787a76f846b82ae47053b diff --git a/Components/Utils.cpp b/Components/Utils.cpp index 19a621b..a76e395 100644 --- a/Components/Utils.cpp +++ b/Components/Utils.cpp @@ -14,6 +14,8 @@ #include "main_avionics.hpp" #include "SystemDefines.hpp" +#include "etl/crc16_xmodem.h" + /** * @brief Calculates the average from a list of unsigned shorts * @param array: The array of unsigned shorts to average @@ -68,12 +70,12 @@ void Utils::readUInt32FromUInt8Array(uint8_t* array, int startIndex, int32_t* va * @param data The data to generate the checksum for * @param size The size of the data array in uint8_t */ -uint32_t Utils::getCRC32(uint8_t* data, uint32_t size) +uint32_t Utils::getCRC32Aligned(uint8_t* data, uint32_t size) { - // Figure out the number of bytes to pad by + // Figure out the number of bytes to pad by uint8_t pad = 0; - // If the buffer is not a multiple of 4 bytes, then we need to pad the buffer by the remaining bytes + // If the buffer is not a multiple of 4 bytes, then we need to pad the buffer by the remaining bytes if(size % 4 == 0) pad = 4 - (size % 4); @@ -82,15 +84,51 @@ uint32_t Utils::getCRC32(uint8_t* data, uint32_t size) uint8_t* tempPtr = (uint8_t*)(&buffer[0]); // Bytewise copy and pad - memcpy(tempPtr, data, size); - memset(tempPtr + size, 0, pad); + memcpy(tempPtr, data, size); + memset(tempPtr + size, 0, pad); // TODO: TEST THIS THING, also note there's a more efficient way (0-copy) that just involves loop accumulating 4x uint8_t's into 1x uint32_t's but this is more readable, ish // TODO: To be fair, G++ is very good at compiling memcpy though, so honestly other than instantaneous stack usage this may actually be more efficient - SOAR_PRINT("Warning, HCRC is not tested!\n"); +// SOAR_PRINT("Warning, HCRC is not tested!\n"); + + // Calculate the CRC32 + return HAL_CRC_Calculate(SystemHandles::CRC_Handle, (uint32_t*)buffer, (size+pad)/4); +} + +/** + * @brief Generates CRC16 checksum for a given array of data using etl::crc16 + * @param data The data to generate the checksum for + * @param size The size of the data array in uint8_t + * @return The CRC16 checksum + */ +uint16_t Utils::getCRC16(uint8_t* data, uint16_t size) +{ + // ETL CRC16 object + etl::crc16_xmodem crc; + crc.reset(); + + // Use etl library to generate CRC16 + for (uint16_t i = 0; i < size; i++) + { + crc.add(data[i]); + } + + return crc.value(); +} + +/** + * @brief Checks if a given CRC is correct for the array + * @param data The data (not including the checksum) + * @param size The size of the data + * @param crc The internal checksum + * @return + */ +bool Utils::IsCrc16Correct(uint8_t* data, uint16_t size, uint16_t crc) +{ + // First we calculate the crc16 for the buffer + uint16_t calculatedCrc = getCRC16(data, size); - // Calculate the CRC32 - return HAL_CRC_Calculate(SystemHandles::CRC_Handle, (uint32_t*)buffer, (size+pad)/4); + return (calculatedCrc == crc); } /** diff --git a/Components/Utils.hpp b/Components/Utils.hpp index 5f23608..324b254 100644 --- a/Components/Utils.hpp +++ b/Components/Utils.hpp @@ -2,24 +2,25 @@ ****************************************************************************** * File Name : Utils.hpp * Description : Utility functions, accessible system wide. - * Includes functions for converting between data types - * Use specific naming, or namespace to avoid conflicts - * Keep namespace Utils to avoid conflicts with other libraries + * Includes functions for converting between data types + * Use specific naming, or namespace to avoid conflicts + * Keep namespace Utils to avoid conflicts with other libraries ****************************************************************************** */ #ifndef AVIONICS_INCLUDE_SOAR_UTILS_HPP_ #define AVIONICS_INCLUDE_SOAR_UTILS_HPP_ -#include "cmsis_os.h" // CMSIS RTOS definitions +#include "cmsis_os.h" // CMSIS RTOS definitions // Programmer Macros -constexpr uint16_t ERRVAL = 0xDEAD; // Error value for debugging +constexpr uint16_t ERRVAL = 0xDEAD; // Error value for debugging // Math macros and conversions constexpr double MATH_PI = 3.14159265358979323846; -#define DEG_TO_RAD(degrees) ((degrees) * 0.01745329251994329576923690768489f) // Degrees to radians (PI/180) -#define RAD_TO_DEG(radians) ((radians) * 57.295779513082320876798154814105f) // Radians to degrees (180/PI) -#define MILLIG_TO_MPS2(millig) ((millig) * 9.80665f) // Milli-g to m/s^2 -#define MILLIDPS_TO_RADPS(millidps) ((millidps) * 0.00017453292519943295769236907684886f) // Milli-degrees per second to radians per second (PI/180/1000) +#define DEG_TO_RAD(degrees) ((degrees) * 0.01745329251994329576923690768489f) // Degrees to radians (PI/180) +#define RAD_TO_DEG(radians) ((radians) * 57.295779513082320876798154814105f) // Radians to degrees (180/PI) +#define MILLIG_TO_MPS2(millig) ((millig) * 9.80665f) // Milli-g to m/s^2 +#define MILLIDPS_TO_RADPS(millidps) ((millidps) * 0.00017453292519943295769236907684886f) // Milli-degrees per second to radians per second (PI/180/1000) +#define GET_COBS_MAX_LEN(len) (((len) + ((len) / 254) + 1) + 1) // Get the max length of a COBS encoded string, we add 1 for the 0x00 delimiter // Conversion macros (SYSTEM) #define TICKS_TO_MS(time_ticks) ((time_ticks) * 1000 / osKernelSysTickFrequency) // System ticks to milliseconds @@ -32,18 +33,21 @@ constexpr uint32_t MAX_DELAY_TICKS = portMAX_DELAY; // Utility functions namespace Utils { - // Arrays - uint16_t averageArray(uint16_t array[], int size); - void writeInt32ToArray(uint8_t* array, int startIndex, int32_t value); - void readUInt32FromUInt8Array(uint8_t* array, int startIndex, int32_t* value); + // Arrays + uint16_t averageArray(uint16_t array[], int size); + void writeInt32ToArray(uint8_t* array, int startIndex, int32_t value); + void readUInt32FromUInt8Array(uint8_t* array, int startIndex, int32_t* value); - // CRC - uint32_t getCRC32(uint8_t* data, uint32_t size); + // CRC + uint32_t getCRC32Aligned(uint8_t* data, uint32_t size); + uint16_t getCRC16(uint8_t* data, uint16_t size); - // String Manipulation - inline bool IsAsciiNum(uint8_t c) { return (c >= '0' && c <= '9'); } - inline bool IsAsciiChar(uint8_t c) { return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'); } - inline bool IsAsciiLowercase(uint8_t c) { return (c >= 'a' && c <= 'z'); } + bool IsCrc16Correct(uint8_t* data, uint16_t size, uint16_t crc); + + // String Manipulation + inline bool IsAsciiNum(uint8_t c) { return (c >= '0' && c <= '9'); } + inline bool IsAsciiChar(uint8_t c) { return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'); } + inline bool IsAsciiLowercase(uint8_t c) { return (c >= 'a' && c <= 'z'); } // String to number conversion int32_t stringToLong(const char* str); @@ -51,4 +55,4 @@ namespace Utils } -#endif // AVIONICS_INCLUDE_SOAR_UTILS_HPP_ \ No newline at end of file +#endif // AVIONICS_INCLUDE_SOAR_UTILS_HPP_ \ No newline at end of file diff --git a/Components/main_avionics.cpp b/Components/main_avionics.cpp index c9722e2..631a8c4 100644 --- a/Components/main_avionics.cpp +++ b/Components/main_avionics.cpp @@ -19,6 +19,10 @@ #include "FlightTask.hpp" #include "DebugTask.hpp" +#include "PIRxProtocolTask.hpp" +#include "SOBRxRepeaterTask.hpp" +#include "DMBRxProtocolTask.hpp" + /* Global Variables ------------------------------------------------------------------*/ Mutex Global::vaListMutex; @@ -32,6 +36,9 @@ void run_main() { FlightTask::Inst().InitTask(); UARTTask::Inst().InitTask(); DebugTask::Inst().InitTask(); + PIRxProtocolTask::Inst().InitTask(); + DMBRxProtocolTask::Inst().InitTask(); + SOBRxRepeaterTask::Inst().InitTask(); // Print System Boot Info : Warning, don't queue more than 10 prints before scheduler starts SOAR_PRINT("\n-- AVIONICS CORE --\n"); diff --git a/Components/main_avionics.hpp b/Components/main_avionics.hpp index d5d75dc..c2c8e1f 100644 --- a/Components/main_avionics.hpp +++ b/Components/main_avionics.hpp @@ -33,7 +33,7 @@ namespace Global extern UART_HandleTypeDef huart1; // UART1 - SOB extern UART_HandleTypeDef huart2; // UART2 - UMBILICAL extern UART_HandleTypeDef huart3; // UART3 - RADIO - +extern UART_HandleTypeDef hlpuart1; // LPUART1 - PI //ADC Handles extern ADC_HandleTypeDef hadc1; // ADC1 extern ADC_HandleTypeDef hadc2; // ADC2 @@ -57,7 +57,8 @@ namespace SystemHandles { constexpr UART_HandleTypeDef* UART_SOB = &huart1; constexpr UART_HandleTypeDef* UART_Umbilical = &huart2; constexpr UART_HandleTypeDef* UART_Radio = &huart3; - constexpr UART_HandleTypeDef* UART_Debug = &huart3; + constexpr UART_HandleTypeDef* UART_Debug = &huart2; + constexpr UART_HandleTypeDef* UART_PI = &hlpuart1; constexpr ADC_HandleTypeDef* ADC_CombustionChamber = &hadc1; constexpr ADC_HandleTypeDef* ADC_Battery = &hadc2; diff --git a/Core/Inc/stm32l4xx_it.h b/Core/Inc/stm32l4xx_it.h index fcb7424..f874272 100644 --- a/Core/Inc/stm32l4xx_it.h +++ b/Core/Inc/stm32l4xx_it.h @@ -53,7 +53,10 @@ void BusFault_Handler(void); void UsageFault_Handler(void); void DebugMon_Handler(void); void TIM1_UP_TIM16_IRQHandler(void); +void USART1_IRQHandler(void); +void USART2_IRQHandler(void); void USART3_IRQHandler(void); +void LPUART1_IRQHandler(void); /* USER CODE BEGIN EFP */ /* USER CODE END EFP */ diff --git a/Core/Src/main.c b/Core/Src/main.c index 7f9c3fe..b035055 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -367,8 +367,8 @@ static void MX_LPUART1_UART_Init(void) /* USER CODE END LPUART1_Init 1 */ hlpuart1.Instance = LPUART1; - hlpuart1.Init.BaudRate = 209700; - hlpuart1.Init.WordLength = UART_WORDLENGTH_7B; + hlpuart1.Init.BaudRate = 57600; + hlpuart1.Init.WordLength = UART_WORDLENGTH_8B; hlpuart1.Init.StopBits = UART_STOPBITS_1; hlpuart1.Init.Parity = UART_PARITY_NONE; hlpuart1.Init.Mode = UART_MODE_TX_RX; @@ -471,7 +471,7 @@ static void MX_USART3_UART_Init(void) /* USER CODE END USART3_Init 1 */ huart3.Instance = USART3; - huart3.Init.BaudRate = 115200; + huart3.Init.BaudRate = 57600; huart3.Init.WordLength = UART_WORDLENGTH_8B; huart3.Init.StopBits = UART_STOPBITS_1; huart3.Init.Parity = UART_PARITY_NONE; @@ -480,7 +480,7 @@ static void MX_USART3_UART_Init(void) huart3.Init.OverSampling = UART_OVERSAMPLING_16; huart3.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE; huart3.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT; - if (HAL_RS485Ex_Init(&huart3, UART_DE_POLARITY_HIGH, 0, 0) != HAL_OK) + if (HAL_UART_Init(&huart3) != HAL_OK) { Error_Handler(); } diff --git a/Core/Src/stm32l4xx_hal_msp.c b/Core/Src/stm32l4xx_hal_msp.c index eb38cfa..35a873e 100644 --- a/Core/Src/stm32l4xx_hal_msp.c +++ b/Core/Src/stm32l4xx_hal_msp.c @@ -340,6 +340,9 @@ void HAL_UART_MspInit(UART_HandleTypeDef* huart) GPIO_InitStruct.Alternate = GPIO_AF8_LPUART1; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + /* LPUART1 interrupt Init */ + HAL_NVIC_SetPriority(LPUART1_IRQn, 5, 0); + HAL_NVIC_EnableIRQ(LPUART1_IRQn); /* USER CODE BEGIN LPUART1_MspInit 1 */ /* USER CODE END LPUART1_MspInit 1 */ @@ -374,6 +377,9 @@ void HAL_UART_MspInit(UART_HandleTypeDef* huart) GPIO_InitStruct.Alternate = GPIO_AF7_USART1; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + /* USART1 interrupt Init */ + HAL_NVIC_SetPriority(USART1_IRQn, 5, 0); + HAL_NVIC_EnableIRQ(USART1_IRQn); /* USER CODE BEGIN USART1_MspInit 1 */ /* USER CODE END USART1_MspInit 1 */ @@ -408,6 +414,9 @@ void HAL_UART_MspInit(UART_HandleTypeDef* huart) GPIO_InitStruct.Alternate = GPIO_AF7_USART2; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + /* USART2 interrupt Init */ + HAL_NVIC_SetPriority(USART2_IRQn, 5, 0); + HAL_NVIC_EnableIRQ(USART2_IRQn); /* USER CODE BEGIN USART2_MspInit 1 */ /* USER CODE END USART2_MspInit 1 */ @@ -483,6 +492,8 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart) */ HAL_GPIO_DeInit(GPIOB, GPIO_PIN_10|GPIO_PIN_11); + /* LPUART1 interrupt DeInit */ + HAL_NVIC_DisableIRQ(LPUART1_IRQn); /* USER CODE BEGIN LPUART1_MspDeInit 1 */ /* USER CODE END LPUART1_MspDeInit 1 */ @@ -501,6 +512,8 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart) */ HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10); + /* USART1 interrupt DeInit */ + HAL_NVIC_DisableIRQ(USART1_IRQn); /* USER CODE BEGIN USART1_MspDeInit 1 */ /* USER CODE END USART1_MspDeInit 1 */ @@ -519,6 +532,8 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart) */ HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3); + /* USART2 interrupt DeInit */ + HAL_NVIC_DisableIRQ(USART2_IRQn); /* USER CODE BEGIN USART2_MspDeInit 1 */ /* USER CODE END USART2_MspDeInit 1 */ diff --git a/Core/Src/stm32l4xx_it.c b/Core/Src/stm32l4xx_it.c index a174546..87039d9 100644 --- a/Core/Src/stm32l4xx_it.c +++ b/Core/Src/stm32l4xx_it.c @@ -55,6 +55,9 @@ /* USER CODE END 0 */ /* External variables --------------------------------------------------------*/ +extern UART_HandleTypeDef hlpuart1; +extern UART_HandleTypeDef huart1; +extern UART_HandleTypeDef huart2; extern UART_HandleTypeDef huart3; extern TIM_HandleTypeDef htim1; @@ -174,6 +177,34 @@ void TIM1_UP_TIM16_IRQHandler(void) /* USER CODE END TIM1_UP_TIM16_IRQn 1 */ } +/** + * @brief This function handles USART1 global interrupt. + */ +void USART1_IRQHandler(void) +{ + /* USER CODE BEGIN USART1_IRQn 0 */ + + /* USER CODE END USART1_IRQn 0 */ + HAL_UART_IRQHandler(&huart1); + /* USER CODE BEGIN USART1_IRQn 1 */ + + /* USER CODE END USART1_IRQn 1 */ +} + +/** + * @brief This function handles USART2 global interrupt. + */ +void USART2_IRQHandler(void) +{ + /* USER CODE BEGIN USART2_IRQn 0 */ + + /* USER CODE END USART2_IRQn 0 */ + HAL_UART_IRQHandler(&huart2); + /* USER CODE BEGIN USART2_IRQn 1 */ + + /* USER CODE END USART2_IRQn 1 */ +} + /** * @brief This function handles USART3 global interrupt. */ @@ -188,6 +219,20 @@ void USART3_IRQHandler(void) /* USER CODE END USART3_IRQn 1 */ } +/** + * @brief This function handles LPUART1 global interrupt. + */ +void LPUART1_IRQHandler(void) +{ + /* USER CODE BEGIN LPUART1_IRQn 0 */ + + /* USER CODE END LPUART1_IRQn 0 */ + HAL_UART_IRQHandler(&hlpuart1); + /* USER CODE BEGIN LPUART1_IRQn 1 */ + + /* USER CODE END LPUART1_IRQn 1 */ +} + /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ diff --git a/Debug/Components/Communication/subdir.mk b/Debug/Components/Communication/subdir.mk index e1498d6..96b3c18 100644 --- a/Debug/Components/Communication/subdir.mk +++ b/Debug/Components/Communication/subdir.mk @@ -15,13 +15,13 @@ CPP_DEPS += \ # Each subdirectory must supply rules for building sources it contributes -Components/Communication/%.o Components/Communication/%.su: ../Components/Communication/%.cpp Components/Communication/subdir.mk - arm-none-eabi-g++ "$<" -mcpu=cortex-m4 -std=gnu++20 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L431xx -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I"C:/Users/shiva/Desktop/RCU-STM/Components/_Libraries/embedded-template-library/include" -I"C:/Users/shiva/Desktop/RCU-STM/Components/Communication/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/Core/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/FlightControl/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/SoarDebug/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components" -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -O0 -ffunction-sections -fdata-sections -fno-exceptions -fno-rtti -fno-use-cxa-atexit -Wall -Wno-volatile -fstack-usage -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" +Components/Communication/%.o Components/Communication/%.su Components/Communication/%.cyclo: ../Components/Communication/%.cpp Components/Communication/subdir.mk + arm-none-eabi-g++ "$<" -mcpu=cortex-m4 -std=gnu++20 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L431xx -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/_Libraries/embedded-template-library/include" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/Communication/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/Core/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/FlightControl/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarDebug/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components" -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/_EmbeddedProtoLib" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/EmbeddedProto/src" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/_C++" -O0 -ffunction-sections -fdata-sections -fno-exceptions -fno-rtti -fno-use-cxa-atexit -Wall -Wno-volatile -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" clean: clean-Components-2f-Communication clean-Components-2f-Communication: - -$(RM) ./Components/Communication/UARTTask.d ./Components/Communication/UARTTask.o ./Components/Communication/UARTTask.su + -$(RM) ./Components/Communication/UARTTask.cyclo ./Components/Communication/UARTTask.d ./Components/Communication/UARTTask.o ./Components/Communication/UARTTask.su .PHONY: clean-Components-2f-Communication diff --git a/Debug/Components/Core/subdir.mk b/Debug/Components/Core/subdir.mk index f83dd09..e2b06a5 100644 --- a/Debug/Components/Core/subdir.mk +++ b/Debug/Components/Core/subdir.mk @@ -24,13 +24,13 @@ CPP_DEPS += \ # Each subdirectory must supply rules for building sources it contributes -Components/Core/%.o Components/Core/%.su: ../Components/Core/%.cpp Components/Core/subdir.mk - arm-none-eabi-g++ "$<" -mcpu=cortex-m4 -std=gnu++20 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L431xx -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I"C:/Users/shiva/Desktop/RCU-STM/Components/_Libraries/embedded-template-library/include" -I"C:/Users/shiva/Desktop/RCU-STM/Components/Communication/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/Core/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/FlightControl/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/SoarDebug/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components" -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -O0 -ffunction-sections -fdata-sections -fno-exceptions -fno-rtti -fno-use-cxa-atexit -Wall -Wno-volatile -fstack-usage -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" +Components/Core/%.o Components/Core/%.su Components/Core/%.cyclo: ../Components/Core/%.cpp Components/Core/subdir.mk + arm-none-eabi-g++ "$<" -mcpu=cortex-m4 -std=gnu++20 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L431xx -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/_Libraries/embedded-template-library/include" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/Communication/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/Core/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/FlightControl/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarDebug/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components" -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/_EmbeddedProtoLib" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/EmbeddedProto/src" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/_C++" -O0 -ffunction-sections -fdata-sections -fno-exceptions -fno-rtti -fno-use-cxa-atexit -Wall -Wno-volatile -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" clean: clean-Components-2f-Core clean-Components-2f-Core: - -$(RM) ./Components/Core/Command.d ./Components/Core/Command.o ./Components/Core/Command.su ./Components/Core/Mutex.d ./Components/Core/Mutex.o ./Components/Core/Mutex.su ./Components/Core/Queue.d ./Components/Core/Queue.o ./Components/Core/Queue.su ./Components/Core/Task.d ./Components/Core/Task.o ./Components/Core/Task.su + -$(RM) ./Components/Core/Command.cyclo ./Components/Core/Command.d ./Components/Core/Command.o ./Components/Core/Command.su ./Components/Core/Mutex.cyclo ./Components/Core/Mutex.d ./Components/Core/Mutex.o ./Components/Core/Mutex.su ./Components/Core/Queue.cyclo ./Components/Core/Queue.d ./Components/Core/Queue.o ./Components/Core/Queue.su ./Components/Core/Task.cyclo ./Components/Core/Task.d ./Components/Core/Task.o ./Components/Core/Task.su .PHONY: clean-Components-2f-Core diff --git a/Debug/Components/FlightControl/subdir.mk b/Debug/Components/FlightControl/subdir.mk index de18d6e..cc0822c 100644 --- a/Debug/Components/FlightControl/subdir.mk +++ b/Debug/Components/FlightControl/subdir.mk @@ -15,13 +15,13 @@ CPP_DEPS += \ # Each subdirectory must supply rules for building sources it contributes -Components/FlightControl/%.o Components/FlightControl/%.su: ../Components/FlightControl/%.cpp Components/FlightControl/subdir.mk - arm-none-eabi-g++ "$<" -mcpu=cortex-m4 -std=gnu++20 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L431xx -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I"C:/Users/shiva/Desktop/RCU-STM/Components/_Libraries/embedded-template-library/include" -I"C:/Users/shiva/Desktop/RCU-STM/Components/Communication/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/Core/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/FlightControl/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/SoarDebug/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components" -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -O0 -ffunction-sections -fdata-sections -fno-exceptions -fno-rtti -fno-use-cxa-atexit -Wall -Wno-volatile -fstack-usage -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" +Components/FlightControl/%.o Components/FlightControl/%.su Components/FlightControl/%.cyclo: ../Components/FlightControl/%.cpp Components/FlightControl/subdir.mk + arm-none-eabi-g++ "$<" -mcpu=cortex-m4 -std=gnu++20 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L431xx -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/_Libraries/embedded-template-library/include" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/Communication/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/Core/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/FlightControl/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarDebug/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components" -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/_EmbeddedProtoLib" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/EmbeddedProto/src" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/_C++" -O0 -ffunction-sections -fdata-sections -fno-exceptions -fno-rtti -fno-use-cxa-atexit -Wall -Wno-volatile -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" clean: clean-Components-2f-FlightControl clean-Components-2f-FlightControl: - -$(RM) ./Components/FlightControl/FlightTask.d ./Components/FlightControl/FlightTask.o ./Components/FlightControl/FlightTask.su + -$(RM) ./Components/FlightControl/FlightTask.cyclo ./Components/FlightControl/FlightTask.d ./Components/FlightControl/FlightTask.o ./Components/FlightControl/FlightTask.su .PHONY: clean-Components-2f-FlightControl diff --git a/Debug/Components/SoarDebug/subdir.mk b/Debug/Components/SoarDebug/subdir.mk index 55796d7..314d2cc 100644 --- a/Debug/Components/SoarDebug/subdir.mk +++ b/Debug/Components/SoarDebug/subdir.mk @@ -15,13 +15,13 @@ CPP_DEPS += \ # Each subdirectory must supply rules for building sources it contributes -Components/SoarDebug/%.o Components/SoarDebug/%.su: ../Components/SoarDebug/%.cpp Components/SoarDebug/subdir.mk - arm-none-eabi-g++ "$<" -mcpu=cortex-m4 -std=gnu++20 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L431xx -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I"C:/Users/shiva/Desktop/RCU-STM/Components/_Libraries/embedded-template-library/include" -I"C:/Users/shiva/Desktop/RCU-STM/Components/Communication/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/Core/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/FlightControl/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/SoarDebug/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components" -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -O0 -ffunction-sections -fdata-sections -fno-exceptions -fno-rtti -fno-use-cxa-atexit -Wall -Wno-volatile -fstack-usage -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" +Components/SoarDebug/%.o Components/SoarDebug/%.su Components/SoarDebug/%.cyclo: ../Components/SoarDebug/%.cpp Components/SoarDebug/subdir.mk + arm-none-eabi-g++ "$<" -mcpu=cortex-m4 -std=gnu++20 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L431xx -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/_Libraries/embedded-template-library/include" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/Communication/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/Core/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/FlightControl/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarDebug/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components" -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/_EmbeddedProtoLib" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/EmbeddedProto/src" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/_C++" -O0 -ffunction-sections -fdata-sections -fno-exceptions -fno-rtti -fno-use-cxa-atexit -Wall -Wno-volatile -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" clean: clean-Components-2f-SoarDebug clean-Components-2f-SoarDebug: - -$(RM) ./Components/SoarDebug/DebugTask.d ./Components/SoarDebug/DebugTask.o ./Components/SoarDebug/DebugTask.su + -$(RM) ./Components/SoarDebug/DebugTask.cyclo ./Components/SoarDebug/DebugTask.d ./Components/SoarDebug/DebugTask.o ./Components/SoarDebug/DebugTask.su .PHONY: clean-Components-2f-SoarDebug diff --git a/Debug/Components/subdir.mk b/Debug/Components/subdir.mk index 35fb094..8880347 100644 --- a/Debug/Components/subdir.mk +++ b/Debug/Components/subdir.mk @@ -18,13 +18,13 @@ CPP_DEPS += \ # Each subdirectory must supply rules for building sources it contributes -Components/%.o Components/%.su: ../Components/%.cpp Components/subdir.mk - arm-none-eabi-g++ "$<" -mcpu=cortex-m4 -std=gnu++20 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L431xx -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I"C:/Users/shiva/Desktop/RCU-STM/Components/_Libraries/embedded-template-library/include" -I"C:/Users/shiva/Desktop/RCU-STM/Components/Communication/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/Core/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/FlightControl/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/SoarDebug/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components" -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -O0 -ffunction-sections -fdata-sections -fno-exceptions -fno-rtti -fno-use-cxa-atexit -Wall -Wno-volatile -fstack-usage -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" +Components/%.o Components/%.su Components/%.cyclo: ../Components/%.cpp Components/subdir.mk + arm-none-eabi-g++ "$<" -mcpu=cortex-m4 -std=gnu++20 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L431xx -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/_Libraries/embedded-template-library/include" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/Communication/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/Core/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/FlightControl/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarDebug/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components" -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/_EmbeddedProtoLib" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/EmbeddedProto/src" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/_C++" -O0 -ffunction-sections -fdata-sections -fno-exceptions -fno-rtti -fno-use-cxa-atexit -Wall -Wno-volatile -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" clean: clean-Components clean-Components: - -$(RM) ./Components/Utils.d ./Components/Utils.o ./Components/Utils.su ./Components/main_avionics.d ./Components/main_avionics.o ./Components/main_avionics.su + -$(RM) ./Components/Utils.cyclo ./Components/Utils.d ./Components/Utils.o ./Components/Utils.su ./Components/main_avionics.cyclo ./Components/main_avionics.d ./Components/main_avionics.o ./Components/main_avionics.su .PHONY: clean-Components diff --git a/Debug/Core/Src/subdir.mk b/Debug/Core/Src/subdir.mk index 2abf89d..3a7936b 100644 --- a/Debug/Core/Src/subdir.mk +++ b/Debug/Core/Src/subdir.mk @@ -36,13 +36,13 @@ OBJS += \ # Each subdirectory must supply rules for building sources it contributes -Core/Src/%.o Core/Src/%.su: ../Core/Src/%.c Core/Src/subdir.mk - arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L431xx -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I"C:/Users/shiva/Desktop/RCU-STM/Components/Communication/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/Core/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/FlightControl/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/SoarDebug/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components" -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" +Core/Src/%.o Core/Src/%.su Core/Src/%.cyclo: ../Core/Src/%.c Core/Src/subdir.mk + arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L431xx -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/Communication/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/Core/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/FlightControl/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarDebug/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components" -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/_EmbeddedProtoLib" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/EmbeddedProto/src" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/_C++" -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" clean: clean-Core-2f-Src clean-Core-2f-Src: - -$(RM) ./Core/Src/freertos.d ./Core/Src/freertos.o ./Core/Src/freertos.su ./Core/Src/main.d ./Core/Src/main.o ./Core/Src/main.su ./Core/Src/stm32l4xx_hal_msp.d ./Core/Src/stm32l4xx_hal_msp.o ./Core/Src/stm32l4xx_hal_msp.su ./Core/Src/stm32l4xx_hal_timebase_tim.d ./Core/Src/stm32l4xx_hal_timebase_tim.o ./Core/Src/stm32l4xx_hal_timebase_tim.su ./Core/Src/stm32l4xx_it.d ./Core/Src/stm32l4xx_it.o ./Core/Src/stm32l4xx_it.su ./Core/Src/syscalls.d ./Core/Src/syscalls.o ./Core/Src/syscalls.su ./Core/Src/sysmem.d ./Core/Src/sysmem.o ./Core/Src/sysmem.su ./Core/Src/system_stm32l4xx.d ./Core/Src/system_stm32l4xx.o ./Core/Src/system_stm32l4xx.su + -$(RM) ./Core/Src/freertos.cyclo ./Core/Src/freertos.d ./Core/Src/freertos.o ./Core/Src/freertos.su ./Core/Src/main.cyclo ./Core/Src/main.d ./Core/Src/main.o ./Core/Src/main.su ./Core/Src/stm32l4xx_hal_msp.cyclo ./Core/Src/stm32l4xx_hal_msp.d ./Core/Src/stm32l4xx_hal_msp.o ./Core/Src/stm32l4xx_hal_msp.su ./Core/Src/stm32l4xx_hal_timebase_tim.cyclo ./Core/Src/stm32l4xx_hal_timebase_tim.d ./Core/Src/stm32l4xx_hal_timebase_tim.o ./Core/Src/stm32l4xx_hal_timebase_tim.su ./Core/Src/stm32l4xx_it.cyclo ./Core/Src/stm32l4xx_it.d ./Core/Src/stm32l4xx_it.o ./Core/Src/stm32l4xx_it.su ./Core/Src/syscalls.cyclo ./Core/Src/syscalls.d ./Core/Src/syscalls.o ./Core/Src/syscalls.su ./Core/Src/sysmem.cyclo ./Core/Src/sysmem.d ./Core/Src/sysmem.o ./Core/Src/sysmem.su ./Core/Src/system_stm32l4xx.cyclo ./Core/Src/system_stm32l4xx.d ./Core/Src/system_stm32l4xx.o ./Core/Src/system_stm32l4xx.su .PHONY: clean-Core-2f-Src diff --git a/Debug/Core/Startup/subdir.mk b/Debug/Core/Startup/subdir.mk index e047815..83b6780 100644 --- a/Debug/Core/Startup/subdir.mk +++ b/Debug/Core/Startup/subdir.mk @@ -16,7 +16,7 @@ OBJS += \ # Each subdirectory must supply rules for building sources it contributes Core/Startup/%.o: ../Core/Startup/%.s Core/Startup/subdir.mk - arm-none-eabi-gcc -mcpu=cortex-m4 -g3 -DDEBUG -c -I"C:/Users/shiva/Desktop/RCU-STM/Components/_Libraries/embedded-template-library/include" -I"C:/Users/shiva/Desktop/RCU-STM/Components/_Libraries/embedded-template-library/include/etl" -I"C:/Users/shiva/Desktop/RCU-STM/Components/Communication/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/Core/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/FlightControl/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/SoarDebug/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components" -x assembler-with-cpp -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" "$<" + arm-none-eabi-gcc -mcpu=cortex-m4 -g3 -DDEBUG -c -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/_Libraries/embedded-template-library/include" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/_Libraries/embedded-template-library/include/etl" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/Communication/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/Core/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/FlightControl/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarDebug/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/_EmbeddedProtoLib" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/EmbeddedProto/src" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/_C++" -x assembler-with-cpp -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" "$<" clean: clean-Core-2f-Startup diff --git a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/subdir.mk b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/subdir.mk index dd3c537..5da6aa0 100644 --- a/Debug/Drivers/STM32L4xx_HAL_Driver/Src/subdir.mk +++ b/Debug/Drivers/STM32L4xx_HAL_Driver/Src/subdir.mk @@ -87,13 +87,13 @@ OBJS += \ # Each subdirectory must supply rules for building sources it contributes -Drivers/STM32L4xx_HAL_Driver/Src/%.o Drivers/STM32L4xx_HAL_Driver/Src/%.su: ../Drivers/STM32L4xx_HAL_Driver/Src/%.c Drivers/STM32L4xx_HAL_Driver/Src/subdir.mk - arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L431xx -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I"C:/Users/shiva/Desktop/RCU-STM/Components/Communication/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/Core/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/FlightControl/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/SoarDebug/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components" -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" +Drivers/STM32L4xx_HAL_Driver/Src/%.o Drivers/STM32L4xx_HAL_Driver/Src/%.su Drivers/STM32L4xx_HAL_Driver/Src/%.cyclo: ../Drivers/STM32L4xx_HAL_Driver/Src/%.c Drivers/STM32L4xx_HAL_Driver/Src/subdir.mk + arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L431xx -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/Communication/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/Core/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/FlightControl/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarDebug/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components" -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/_EmbeddedProtoLib" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/EmbeddedProto/src" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/_C++" -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" clean: clean-Drivers-2f-STM32L4xx_HAL_Driver-2f-Src clean-Drivers-2f-STM32L4xx_HAL_Driver-2f-Src: - -$(RM) ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_adc.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_adc.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_adc.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_adc_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_adc_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_adc_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_crc.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_crc.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_crc.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_crc_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_crc_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_crc_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.su + -$(RM) ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_adc.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_adc.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_adc.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_adc.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_adc_ex.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_adc_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_adc_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_adc_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_crc.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_crc.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_crc.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_crc.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_crc_ex.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_crc_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_crc_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_crc_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.su ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.cyclo ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.d ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.o ./Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.su .PHONY: clean-Drivers-2f-STM32L4xx_HAL_Driver-2f-Src diff --git a/Debug/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/subdir.mk b/Debug/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/subdir.mk index fc10dbb..d6a527a 100644 --- a/Debug/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/subdir.mk +++ b/Debug/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/subdir.mk @@ -15,13 +15,13 @@ OBJS += \ # Each subdirectory must supply rules for building sources it contributes -Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/%.o Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/%.su: ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/%.c Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/subdir.mk - arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L431xx -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I"C:/Users/shiva/Desktop/RCU-STM/Components/Communication/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/Core/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/FlightControl/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/SoarDebug/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components" -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" +Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/%.o Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/%.su Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/%.cyclo: ../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/%.c Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/subdir.mk + arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L431xx -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/Communication/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/Core/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/FlightControl/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarDebug/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components" -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/_EmbeddedProtoLib" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/EmbeddedProto/src" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/_C++" -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" clean: clean-Middlewares-2f-Third_Party-2f-FreeRTOS-2f-Source-2f-CMSIS_RTOS clean-Middlewares-2f-Third_Party-2f-FreeRTOS-2f-Source-2f-CMSIS_RTOS: - -$(RM) ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.d ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.o ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.su + -$(RM) ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.cyclo ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.d ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.o ./Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.su .PHONY: clean-Middlewares-2f-Third_Party-2f-FreeRTOS-2f-Source-2f-CMSIS_RTOS diff --git a/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/subdir.mk b/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/subdir.mk index 2094f8e..99ef87d 100644 --- a/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/subdir.mk +++ b/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/subdir.mk @@ -15,13 +15,13 @@ OBJS += \ # Each subdirectory must supply rules for building sources it contributes -Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/%.o Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/%.su: ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/%.c Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/subdir.mk - arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L431xx -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I"C:/Users/shiva/Desktop/RCU-STM/Components/Communication/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/Core/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/FlightControl/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/SoarDebug/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components" -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" +Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/%.o Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/%.su Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/%.cyclo: ../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/%.c Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/subdir.mk + arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L431xx -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/Communication/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/Core/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/FlightControl/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarDebug/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components" -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/_EmbeddedProtoLib" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/EmbeddedProto/src" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/_C++" -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" clean: clean-Middlewares-2f-Third_Party-2f-FreeRTOS-2f-Source-2f-portable-2f-GCC-2f-ARM_CM4F clean-Middlewares-2f-Third_Party-2f-FreeRTOS-2f-Source-2f-portable-2f-GCC-2f-ARM_CM4F: - -$(RM) ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.d ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.su + -$(RM) ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.cyclo ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.d ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o ./Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.su .PHONY: clean-Middlewares-2f-Third_Party-2f-FreeRTOS-2f-Source-2f-portable-2f-GCC-2f-ARM_CM4F diff --git a/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/subdir.mk b/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/subdir.mk index 35f5249..165c615 100644 --- a/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/subdir.mk +++ b/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/subdir.mk @@ -15,13 +15,13 @@ OBJS += \ # Each subdirectory must supply rules for building sources it contributes -Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/%.o Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/%.su: ../Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/%.c Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/subdir.mk - arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L431xx -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I"C:/Users/shiva/Desktop/RCU-STM/Components/Communication/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/Core/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/FlightControl/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/SoarDebug/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components" -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" +Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/%.o Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/%.su Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/%.cyclo: ../Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/%.c Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/subdir.mk + arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L431xx -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/Communication/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/Core/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/FlightControl/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarDebug/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components" -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/_EmbeddedProtoLib" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/EmbeddedProto/src" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/_C++" -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" clean: clean-Middlewares-2f-Third_Party-2f-FreeRTOS-2f-Source-2f-portable-2f-MemMang clean-Middlewares-2f-Third_Party-2f-FreeRTOS-2f-Source-2f-portable-2f-MemMang: - -$(RM) ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.d ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.su + -$(RM) ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.cyclo ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.d ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o ./Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.su .PHONY: clean-Middlewares-2f-Third_Party-2f-FreeRTOS-2f-Source-2f-portable-2f-MemMang diff --git a/Debug/Middlewares/Third_Party/FreeRTOS/Source/subdir.mk b/Debug/Middlewares/Third_Party/FreeRTOS/Source/subdir.mk index e3ebe8a..d35807e 100644 --- a/Debug/Middlewares/Third_Party/FreeRTOS/Source/subdir.mk +++ b/Debug/Middlewares/Third_Party/FreeRTOS/Source/subdir.mk @@ -33,13 +33,13 @@ OBJS += \ # Each subdirectory must supply rules for building sources it contributes -Middlewares/Third_Party/FreeRTOS/Source/%.o Middlewares/Third_Party/FreeRTOS/Source/%.su: ../Middlewares/Third_Party/FreeRTOS/Source/%.c Middlewares/Third_Party/FreeRTOS/Source/subdir.mk - arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L431xx -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I"C:/Users/shiva/Desktop/RCU-STM/Components/Communication/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/Core/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/FlightControl/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components/SoarDebug/Inc" -I"C:/Users/shiva/Desktop/RCU-STM/Components" -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" +Middlewares/Third_Party/FreeRTOS/Source/%.o Middlewares/Third_Party/FreeRTOS/Source/%.su Middlewares/Third_Party/FreeRTOS/Source/%.cyclo: ../Middlewares/Third_Party/FreeRTOS/Source/%.c Middlewares/Third_Party/FreeRTOS/Source/subdir.mk + arm-none-eabi-gcc "$<" -mcpu=cortex-m4 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L431xx -c -I../Core/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc -I../Drivers/STM32L4xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L4xx/Include -I../Drivers/CMSIS/Include -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/Communication/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/Core/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/FlightControl/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarDebug/Inc" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components" -I../Middlewares/Third_Party/FreeRTOS/Source/include -I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/_EmbeddedProtoLib" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/EmbeddedProto/src" -I"C:/Users/marce/Downloads/SOAR/RCU/RCU-STM/Components/SoarProtocol/SoarProto/_C++" -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -o "$@" clean: clean-Middlewares-2f-Third_Party-2f-FreeRTOS-2f-Source clean-Middlewares-2f-Third_Party-2f-FreeRTOS-2f-Source: - -$(RM) ./Middlewares/Third_Party/FreeRTOS/Source/croutine.d ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o ./Middlewares/Third_Party/FreeRTOS/Source/croutine.su ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.d ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.su ./Middlewares/Third_Party/FreeRTOS/Source/list.d ./Middlewares/Third_Party/FreeRTOS/Source/list.o ./Middlewares/Third_Party/FreeRTOS/Source/list.su ./Middlewares/Third_Party/FreeRTOS/Source/queue.d ./Middlewares/Third_Party/FreeRTOS/Source/queue.o ./Middlewares/Third_Party/FreeRTOS/Source/queue.su ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.d ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.su ./Middlewares/Third_Party/FreeRTOS/Source/tasks.d ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o ./Middlewares/Third_Party/FreeRTOS/Source/tasks.su ./Middlewares/Third_Party/FreeRTOS/Source/timers.d ./Middlewares/Third_Party/FreeRTOS/Source/timers.o ./Middlewares/Third_Party/FreeRTOS/Source/timers.su + -$(RM) ./Middlewares/Third_Party/FreeRTOS/Source/croutine.cyclo ./Middlewares/Third_Party/FreeRTOS/Source/croutine.d ./Middlewares/Third_Party/FreeRTOS/Source/croutine.o ./Middlewares/Third_Party/FreeRTOS/Source/croutine.su ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.cyclo ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.d ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.o ./Middlewares/Third_Party/FreeRTOS/Source/event_groups.su ./Middlewares/Third_Party/FreeRTOS/Source/list.cyclo ./Middlewares/Third_Party/FreeRTOS/Source/list.d ./Middlewares/Third_Party/FreeRTOS/Source/list.o ./Middlewares/Third_Party/FreeRTOS/Source/list.su ./Middlewares/Third_Party/FreeRTOS/Source/queue.cyclo ./Middlewares/Third_Party/FreeRTOS/Source/queue.d ./Middlewares/Third_Party/FreeRTOS/Source/queue.o ./Middlewares/Third_Party/FreeRTOS/Source/queue.su ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.cyclo ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.d ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o ./Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.su ./Middlewares/Third_Party/FreeRTOS/Source/tasks.cyclo ./Middlewares/Third_Party/FreeRTOS/Source/tasks.d ./Middlewares/Third_Party/FreeRTOS/Source/tasks.o ./Middlewares/Third_Party/FreeRTOS/Source/tasks.su ./Middlewares/Third_Party/FreeRTOS/Source/timers.cyclo ./Middlewares/Third_Party/FreeRTOS/Source/timers.d ./Middlewares/Third_Party/FreeRTOS/Source/timers.o ./Middlewares/Third_Party/FreeRTOS/Source/timers.su .PHONY: clean-Middlewares-2f-Third_Party-2f-FreeRTOS-2f-Source diff --git a/Debug/makefile b/Debug/makefile index 1759883..006cca9 100644 --- a/Debug/makefile +++ b/Debug/makefile @@ -17,6 +17,9 @@ RM := rm -rf -include Core/Startup/subdir.mk -include Core/Src/subdir.mk -include Core/subdir.mk +-include Components/SoarProtocol/SoarProto/_EmbeddedProtoLib/subdir.mk +-include Components/SoarProtocol/SoarProto/subdir.mk +-include Components/SoarProtocol/subdir.mk -include Components/SoarDebug/subdir.mk -include Components/FlightControl/subdir.mk -include Components/Core/subdir.mk @@ -85,8 +88,8 @@ all: main-build main-build: RCU-STM.elf secondary-outputs # Tool invocations -RCU-STM.elf RCU-STM.map: $(OBJS) $(USER_OBJS) C:\Users\shiva\Desktop\RCU-STM\STM32L431RBTX_FLASH.ld makefile objects.list $(OPTIONAL_TOOL_DEPS) - arm-none-eabi-g++ -o "RCU-STM.elf" @"objects.list" $(USER_OBJS) $(LIBS) -mcpu=cortex-m4 -T"C:\Users\shiva\Desktop\RCU-STM\STM32L431RBTX_FLASH.ld" --specs=nosys.specs -Wl,-Map="RCU-STM.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -lstdc++ -lsupc++ -Wl,--end-group +RCU-STM.elf RCU-STM.map: $(OBJS) $(USER_OBJS) C:\Users\marce\Downloads\SOAR\RCU\RCU-STM\STM32L431RBTX_FLASH.ld makefile objects.list $(OPTIONAL_TOOL_DEPS) + arm-none-eabi-g++ -o "RCU-STM.elf" @"objects.list" $(USER_OBJS) $(LIBS) -mcpu=cortex-m4 -T"C:\Users\marce\Downloads\SOAR\RCU\RCU-STM\STM32L431RBTX_FLASH.ld" --specs=nosys.specs -Wl,-Map="RCU-STM.map" -Wl,--gc-sections -static --specs=nano.specs -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb -Wl,--start-group -lc -lm -lstdc++ -lsupc++ -Wl,--end-group @echo 'Finished building target: $@' @echo ' ' diff --git a/Debug/objects.list b/Debug/objects.list index da44074..68e8710 100644 --- a/Debug/objects.list +++ b/Debug/objects.list @@ -5,6 +5,14 @@ "./Components/Core/Task.o" "./Components/FlightControl/FlightTask.o" "./Components/SoarDebug/DebugTask.o" +"./Components/SoarProtocol/DMBRxProtocolTask.o" +"./Components/SoarProtocol/PIRxProtocolTask.o" +"./Components/SoarProtocol/SoarProto/ProtocolTask.o" +"./Components/SoarProtocol/SoarProto/RepeaterTask.o" +"./Components/SoarProtocol/SoarProto/cobs.o" +"./Components/SoarProtocol/SoarProto/_EmbeddedProtoLib/Fields.o" +"./Components/SoarProtocol/SoarProto/_EmbeddedProtoLib/MessageInterface.o" +"./Components/SoarProtocol/SoarProto/_EmbeddedProtoLib/ReadBufferSection.o" "./Components/Utils.o" "./Components/main_avionics.o" "./Core/RunInterface.o" diff --git a/Debug/sources.mk b/Debug/sources.mk index c51a392..6055b6e 100644 --- a/Debug/sources.mk +++ b/Debug/sources.mk @@ -14,6 +14,7 @@ C_SRCS := CPP_SRCS := S_UPPER_SRCS := O_SRCS := +CYCLO_FILES := OBJDUMP_LIST := C_UPPER_DEPS := S_DEPS := @@ -35,6 +36,9 @@ Components/Communication \ Components/Core \ Components/FlightControl \ Components/SoarDebug \ +Components/SoarProtocol \ +Components/SoarProtocol/SoarProto \ +Components/SoarProtocol/SoarProto/_EmbeddedProtoLib \ Components \ Core \ Core/Src \ diff --git a/RCU-STM.ioc b/RCU-STM.ioc index b4484c6..9e82c06 100644 --- a/RCU-STM.ioc +++ b/RCU-STM.ioc @@ -7,6 +7,9 @@ ADC1.OffsetNumber-0\#ChannelRegularConversion=ADC_OFFSET_NONE ADC1.Rank-0\#ChannelRegularConversion=1 ADC1.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_2CYCLES_5 ADC1.master=1 +CAD.formats= +CAD.pinconfig= +CAD.provider= FREERTOS.IPParameters=Tasks01,configUSE_NEWLIB_REENTRANT,configUSE_TIMERS,configTOTAL_HEAP_SIZE FREERTOS.Tasks01=defaultTask,0,128,StartDefaultTask,Default,NULL,Dynamic,NULL,NULL FREERTOS.configTOTAL_HEAP_SIZE=32768 @@ -17,6 +20,9 @@ GPIO.groupedBy=Group By Peripherals I2C1.IPParameters=Timing I2C1.Timing=0x10707DBC KeepUserPlacement=false +LPUART1.BaudRate=57600 +LPUART1.IPParameters=BaudRate,WordLength +LPUART1.WordLength=UART_WORDLENGTH_8B Mcu.CPN=STM32L431RBT6 Mcu.Family=STM32L4 Mcu.IP0=ADC1 @@ -94,6 +100,7 @@ NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false NVIC.ForceEnableDMAVector=true NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false +NVIC.LPUART1_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false NVIC.PendSV_IRQn=true\:15\:0\:false\:false\:false\:true\:false\:false\:false @@ -106,6 +113,8 @@ NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:false\:true\:false\:true\:false NVIC.TIM1_UP_TIM16_IRQn=true\:15\:0\:false\:false\:true\:false\:false\:true\:true NVIC.TimeBase=TIM1_UP_TIM16_IRQn NVIC.TimeBaseIP=TIM1 +NVIC.USART1_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true +NVIC.USART2_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true NVIC.USART3_IRQn=true\:5\:0\:false\:false\:true\:true\:true\:true\:true NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false PA0.GPIOParameters=GPIO_Label @@ -246,7 +255,6 @@ PC9.GPIO_Label=RELAY3 PC9.Locked=true PC9.Signal=GPIO_Output PD2.Locked=true -PD2.Mode=Hardware Flow Control (RS485) PD2.Signal=USART3_DE PH0-OSC_IN\ (PH0).Mode=HSE-External-Oscillator PH0-OSC_IN\ (PH0).Signal=RCC_OSC_IN @@ -275,6 +283,7 @@ ProjectManager.PreviousToolchain=STM32CubeIDE ProjectManager.ProjectBuild=false ProjectManager.ProjectFileName=RCU-STM.ioc ProjectManager.ProjectName=RCU-STM +ProjectManager.ProjectStructure= ProjectManager.RegisterCallBack= ProjectManager.StackSize=0x400 ProjectManager.TargetToolchain=STM32CubeIDE @@ -353,9 +362,9 @@ USART1.IPParameters=VirtualMode-Asynchronous USART1.VirtualMode-Asynchronous=VM_ASYNC USART2.IPParameters=VirtualMode-Asynchronous USART2.VirtualMode-Asynchronous=VM_ASYNC -USART3.IPParameters=VirtualMode-Asynchronous,VirtualMode-Hardware Flow Control (RS485) +USART3.BaudRate=57600 +USART3.IPParameters=VirtualMode-Asynchronous,BaudRate USART3.VirtualMode-Asynchronous=VM_ASYNC -USART3.VirtualMode-Hardware\ Flow\ Control\ (RS485)=VM_ASYNC VP_CRC_VS_CRC.Mode=CRC_Activate VP_CRC_VS_CRC.Signal=CRC_VS_CRC VP_FREERTOS_VS_CMSIS_V1.Mode=CMSIS_V1 @@ -363,4 +372,5 @@ VP_FREERTOS_VS_CMSIS_V1.Signal=FREERTOS_VS_CMSIS_V1 VP_SYS_VS_tim1.Mode=TIM1 VP_SYS_VS_tim1.Signal=SYS_VS_tim1 board=custom +rtos.0.ip=FREERTOS isbadioc=false diff --git a/STM32L431RBTX_FLASH.ld b/STM32L431RBTX_FLASH.ld index caa297e..566d677 100644 --- a/STM32L431RBTX_FLASH.ld +++ b/STM32L431RBTX_FLASH.ld @@ -39,8 +39,8 @@ ENTRY(Reset_Handler) /* Highest address of the user mode stack */ _estack = ORIGIN(RAM) + LENGTH(RAM); /* end of "RAM" Ram type memory */ -_Min_Heap_Size = 0x200 ; /* required amount of heap */ -_Min_Stack_Size = 0x400 ; /* required amount of stack */ +_Min_Heap_Size = 0x200; /* required amount of heap */ +_Min_Stack_Size = 0x400; /* required amount of stack */ /* Memories definition */ MEMORY