4 Коміти 60acfc988d ... fb78ad72b1

Автор SHA1 Опис Дата
  titikluivert@yahoo.fr fb78ad72b1 CAN Message with ADC Values 1 рік тому
  titikluivert@yahoo.fr 717ac316fe CAN Communication with ADC Values 1 рік тому
  titikluivert@yahoo.fr 9b7f66152d Can message 1 рік тому
  titikluivert@yahoo.fr 199181d4d8 first commit 1 рік тому
58 змінених файлів з 3304 додано та 721 видалено
  1. 25 0
      segment_main/.cproject
  2. 4 0
      segment_main/.settings/org.eclipse.core.resources.prefs
  3. 63 8
      segment_main/01_sw_components/01_sc/01_src/main_sc.c
  4. 49 0
      segment_main/01_sw_components/01_sc/02_headers/vardef_sc.h
  5. 176 0
      segment_main/01_sw_components/02_sig/01_src/Com_rx_signal_sig.c
  6. 197 0
      segment_main/01_sw_components/02_sig/01_src/Com_tx_signal_sig.c
  7. 116 0
      segment_main/01_sw_components/02_sig/02_headers/vardef_sig.h
  8. 0 0
      segment_main/01_sw_components/02_sig/03_test/dummy.txt
  9. BIN
      segment_main/01_sw_components/02_sig/04_docu/Strangkommunikation_rev0.2_-_draft.pdf
  10. 72 18
      segment_main/01_sw_components/03_hw/01_src/Hw_Interface.c
  11. 4 14
      segment_main/01_sw_components/03_hw/02_headers/vardef_hw.h
  12. 56 0
      segment_main/01_sw_components/07_utils/01_src/parseCanID_utils.c
  13. 59 0
      segment_main/01_sw_components/07_utils/02_headers/vardef_utils.h
  14. 15 1
      segment_main/04_config/global_header.h
  15. 81 1
      segment_main/04_config/segment_main.syscfg
  16. BIN
      segment_main/Debug/.clangd/.cache/clangd/index/Com_rx_signal_sig.c.89964BD8AFAF6A1A.idx
  17. BIN
      segment_main/Debug/.clangd/.cache/clangd/index/Com_tx_rx_signal.c.9F72EDAEA7995F7A.idx
  18. BIN
      segment_main/Debug/.clangd/.cache/clangd/index/Com_tx_rx_signal_Sig.c.DAFF061C53480240.idx
  19. BIN
      segment_main/Debug/.clangd/.cache/clangd/index/Com_tx_signal_sig.c.1C87430846B5339E.idx
  20. BIN
      segment_main/Debug/.clangd/.cache/clangd/index/Hw_Interface.c.03F5C99EB0148896.idx
  21. BIN
      segment_main/Debug/.clangd/.cache/clangd/index/Hw_Interface.c.43483B0B0C4F24F8.idx
  22. BIN
      segment_main/Debug/.clangd/.cache/clangd/index/global_header.h.73C91F9ABA8DE3E5.idx
  23. BIN
      segment_main/Debug/.clangd/.cache/clangd/index/init_sc.c.435F321C8C7F1849.idx
  24. BIN
      segment_main/Debug/.clangd/.cache/clangd/index/main_sc.c.D8EB5CB0AEF3E502.idx
  25. BIN
      segment_main/Debug/.clangd/.cache/clangd/index/parseCanID_utils.c.090264D4E92533D3.idx
  26. BIN
      segment_main/Debug/.clangd/.cache/clangd/index/ti_msp_dl_config.c.B931F9EE02218759.idx
  27. BIN
      segment_main/Debug/.clangd/.cache/clangd/index/ti_msp_dl_config.h.C26D5E739004F756.idx
  28. BIN
      segment_main/Debug/.clangd/.cache/clangd/index/vardef_hw.h.E6C43497DAD3C33B.idx
  29. BIN
      segment_main/Debug/.clangd/.cache/clangd/index/vardef_sc.h.F23B3DA9849930BD.idx
  30. BIN
      segment_main/Debug/.clangd/.cache/clangd/index/vardef_sig.h.64476CBC96D96B8A.idx
  31. BIN
      segment_main/Debug/.clangd/.cache/clangd/index/vardef_utils.h.9287DFF09926C832.idx
  32. 18 3
      segment_main/Debug/.clangd/compile_commands.json
  33. 6 2
      segment_main/Debug/01_sw_components/01_sc/01_src/main_sc.d
  34. BIN
      segment_main/Debug/01_sw_components/01_sc/01_src/main_sc.o
  35. 1 1
      segment_main/Debug/01_sw_components/01_sc/01_src/subdir_rules.mk
  36. 160 0
      segment_main/Debug/01_sw_components/02_sig/01_src/Com_rx_signal_sig.d
  37. BIN
      segment_main/Debug/01_sw_components/02_sig/01_src/Com_rx_signal_sig.o
  38. 160 0
      segment_main/Debug/01_sw_components/02_sig/01_src/Com_tx_signal_sig.d
  39. BIN
      segment_main/Debug/01_sw_components/02_sig/01_src/Com_tx_signal_sig.o
  40. 15 0
      segment_main/Debug/01_sw_components/02_sig/01_src/subdir_rules.mk
  41. 32 0
      segment_main/Debug/01_sw_components/02_sig/01_src/subdir_vars.mk
  42. 8 8
      segment_main/Debug/01_sw_components/03_hw/01_src/Hw_Interface.d
  43. BIN
      segment_main/Debug/01_sw_components/03_hw/01_src/Hw_Interface.o
  44. 1 1
      segment_main/Debug/01_sw_components/03_hw/01_src/subdir_rules.mk
  45. 156 0
      segment_main/Debug/01_sw_components/07_utils/01_src/parseCanID_utils.d
  46. BIN
      segment_main/Debug/01_sw_components/07_utils/01_src/parseCanID_utils.o
  47. 15 0
      segment_main/Debug/01_sw_components/07_utils/01_src/subdir_rules.mk
  48. 26 0
      segment_main/Debug/01_sw_components/07_utils/01_src/subdir_vars.mk
  49. 2 2
      segment_main/Debug/04_config/subdir_rules.mk
  50. 3 0
      segment_main/Debug/ccsObjs.opt
  51. 9 2
      segment_main/Debug/makefile
  52. 499 330
      segment_main/Debug/segment_main.map
  53. BIN
      segment_main/Debug/segment_main.out
  54. 961 320
      segment_main/Debug/segment_main_linkInfo.xml
  55. 2 0
      segment_main/Debug/sources.mk
  56. 235 10
      segment_main/Debug/ti_msp_dl_config.c
  57. 78 0
      segment_main/Debug/ti_msp_dl_config.h
  58. BIN
      segment_main/Debug/ti_msp_dl_config.o

+ 25 - 0
segment_main/.cproject

@@ -45,6 +45,8 @@
                                     <listOptionValue value="${COM_TI_MSPM0_SDK_INSTALL_DIR}/source/third_party/CMSIS/Core/Include"/>
                                     <listOptionValue value="${COM_TI_MSPM0_SDK_INSTALL_DIR}/source"/>
                                     <listOptionValue value="C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/03_hw/02_headers"/>
+                                    <listOptionValue value="C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/02_sig/02_headers"/>
+                                    <listOptionValue value="C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/02_sc/02_headers"/>
                                 </option>
                                 <option id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.DEFINE.895412639" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.DEFINE" valueType="definedSymbols">
                                     <listOptionValue value="${COM_TI_MSPM0_SDK_SYMBOLS}"/>
@@ -92,6 +94,29 @@
                             </tool>
                         </toolChain>
                     </folderInfo>
+                    <folderInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Debug.1528458291.01_sw_components" name="01_sw_components" resourcePath="01_sw_components">
+                        <toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.exe.DebugToolchain.603073155" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.exe.DebugToolchain" unusedChildren="">
+                            <option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.850667634.1621113988" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.850667634"/>
+                            <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.798274808.1257019460" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.798274808"/>
+                            <tool id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.exe.compilerDebug.365609633" name="Arm Compiler" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.exe.compilerDebug.1842511993">
+                                <option id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.INCLUDE_PATH.1052449923" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.compilerID.INCLUDE_PATH" valueType="includePath">
+                                    <listOptionValue value="${COM_TI_MSPM0_SDK_INCLUDE_PATH}"/>
+                                    <listOptionValue value="${SYSCONFIG_TOOL_INCLUDE_PATH}"/>
+                                    <listOptionValue value="${PROJECT_ROOT}"/>
+                                    <listOptionValue value="${PROJECT_ROOT}/${ConfigName}"/>
+                                    <listOptionValue value="${COM_TI_MSPM0_SDK_INSTALL_DIR}/source/third_party/CMSIS/Core/Include"/>
+                                    <listOptionValue value="${COM_TI_MSPM0_SDK_INSTALL_DIR}/source"/>
+                                    <listOptionValue value="C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/03_hw/02_headers"/>
+                                    <listOptionValue value="C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/02_sig/02_headers"/>
+                                    <listOptionValue value="C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/01_sc/02_headers"/>
+                                </option>
+                            </tool>
+                            <tool id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.exe.linkerDebug.2108867024" name="Arm Linker" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.exe.linkerDebug.1268114391"/>
+                            <tool id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.hex.523028262" name="Arm Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.hex.171959899"/>
+                            <tool id="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.objcopy.2072222497" name="Arm Objcopy Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_TICLANG_4.0.objcopy.1828571375"/>
+                            <tool id="com.ti.ccstudio.buildDefinitions.sysConfig.565825977" name="SysConfig" superClass="com.ti.ccstudio.buildDefinitions.sysConfig.184371940"/>
+                        </toolChain>
+                    </folderInfo>
                 </configuration>
             </storageModule>
             <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>

+ 4 - 0
segment_main/.settings/org.eclipse.core.resources.prefs

@@ -1,8 +1,12 @@
 eclipse.preferences.version=1
 encoding//Debug/01_sw_components/01_sc/01_src/subdir_rules.mk=UTF-8
 encoding//Debug/01_sw_components/01_sc/01_src/subdir_vars.mk=UTF-8
+encoding//Debug/01_sw_components/02_sig/01_src/subdir_rules.mk=UTF-8
+encoding//Debug/01_sw_components/02_sig/01_src/subdir_vars.mk=UTF-8
 encoding//Debug/01_sw_components/03_hw/01_src/subdir_rules.mk=UTF-8
 encoding//Debug/01_sw_components/03_hw/01_src/subdir_vars.mk=UTF-8
+encoding//Debug/01_sw_components/07_utils/01_src/subdir_rules.mk=UTF-8
+encoding//Debug/01_sw_components/07_utils/01_src/subdir_vars.mk=UTF-8
 encoding//Debug/04_config/subdir_rules.mk=UTF-8
 encoding//Debug/04_config/subdir_vars.mk=UTF-8
 encoding//Debug/makefile=UTF-8

+ 63 - 8
segment_main/01_sw_components/01_sc/01_src/main_sc.c

@@ -31,35 +31,74 @@
  */
 
 #include "04_config/global_header.h"
+#include "ti/devices/msp/m0p/mspm0g350x.h"
 #include "ti_msp_dl_config.h"
-#include "vardef_hw.h"
+#include "../../03_hw/02_headers/vardef_hw.h"
+#include "../../02_sig/02_headers/vardef_sig.h"
+#include "../../01_sc/02_headers/vardef_sc.h"
 
 
-volatile bool gCheckADC;
+volatile  bool gCheckADC;
 typF32 voltage, adc_current, adc_temperatur;
 typF32 current, temperatur;
 
+volatile  typUI32 gInterruptLine1Status;
+volatile  bool gServiceInt;
 
 int main(void)
 {
+
+    OperationMode currentMode = OPMODE_INIT;
     Qual_ReturnType qual_return_type = QUAL_SIGNAL_NOK;
     Qual_ReturnType qual_return_type_temp = QUAL_SIGNAL_NOK;
     Qual_ReturnType qual_return_type_curr = QUAL_SIGNAL_NOK;
+  
+    DL_MCAN_RxBufElement rxMsg; 
 
-    SYSCFG_DL_init();
-    gCheckADC = false;
-
-    while (1) {
     
-    qual_return_type = AI_GetUITempCell_Hw(1, &voltage, &adc_current, &adc_temperatur, gCheckADC);
+    while (1) {
 
-    if (qual_return_type == QUAL_SIGNAL_NOK)
+    switch(currentMode) {
+
+        case OPMODE_INIT:
+          
+          SYSCFG_DL_init();
+          NVIC_EnableIRQ(ADC12_0_INST_INT_IRQN);
+          NVIC_EnableIRQ(MCAN0_INST_INT_IRQN);
+          gCheckADC = false;
+          gServiceInt = false;
+          gInterruptLine1Status = 0;
+          currentMode = OPMODE_NORMAL_OPERATION;
+
+            break;
+        case OPMODE_NORMAL_OPERATION:
+            //TODO REQ in Wiki shall be implemented here. 
+            break;
+        case OPMODE_CAN_MESSAGE_RECEIVED:
+            // Code to handle CAN message
+            break;
+        case OPMODE_POWER_DOWN:
+            // Shutdown procedures
+            break;
+        case OPMODE_ERROR_IN_SEGMENT:
+            // Error handling code
+            break;
+        default:
+            break;
+    }
+
+    qual_return_type = AI_GetUITempCell_Hw(1, &voltage, &adc_current, &adc_temperatur, &gCheckADC);
+
+    if (qual_return_type == QUAL_SIGNAL_OK)
     {
         qual_return_type_temp = AI_GetTempInC (&temperatur, adc_temperatur);
         qual_return_type_curr = AI_GetIInA (&current, adc_current);
 
     }
 
+    AI_Com_MCAN_Receive_Msg(rxMsg, &gInterruptLine1Status, &gServiceInt);
+
+    
     }
 }
 
@@ -74,3 +113,19 @@ void ADC12_0_INST_IRQHandler(void)
             break;
     }
 }
+
+void MCAN0_INST_IRQHandler(void)
+{
+    switch (DL_MCAN_getPendingInterrupt(MCAN0_INST)) {
+        case DL_MCAN_IIDX_LINE1:
+            /* Check MCAN interrupts fired during TX/RX of CAN package */
+            gInterruptLine1Status |= DL_MCAN_getIntrStatus(MCAN0_INST);
+            DL_MCAN_clearIntrStatus(MCAN0_INST, gInterruptLine1Status,
+                DL_MCAN_INTR_SRC_MCAN_LINE_1);
+
+            gServiceInt = true;
+            break;
+        default:
+            break;
+    }
+}

+ 49 - 0
segment_main/01_sw_components/01_sc/02_headers/vardef_sc.h

@@ -0,0 +1,49 @@
+
+
+/* Description */
+
+
+/* Module Name            : vardef_sc.h       */
+/* Process                : Main controller            */
+/* Specification          :                    */
+
+/* Ino.100C0 */
+
+/* MKS revision        $Revision: 1.0.0 $  */
+/* Last change made by   $Author: NG-Tiofack Kegne, Max Well  $  */
+
+/* Ino.400C0.000C0 */
+
+
+/* Module description     : "Compiler specific Type definitions" */
+
+/* Ino.100C0.400C0.000C0 */
+
+
+/* Up Cell owns all the intellectual property rights, including \       */
+/* copyright and rights of confidence,  in these computer programs. Such \    */
+/* intellectual property rights extend to the structure, sequence, \          */
+/* organisation and presentation of the programs and they may not be, in \    */
+/* whole or part, copied, used or transmitted in any form or by any means, \  */
+/* including electronically, without prior written permission of Up Cell GmbH */
+
+#if !defined (vardef_sc)
+  #define vardef_sc
+
+/* Ino.400C0.40180.00180 */
+#include "04_config/global_header.h"
+
+// Enum for operation modes
+typedef enum {
+    OPMODE_INIT,
+    OPMODE_NORMAL_OPERATION,
+    OPMODE_CAN_MESSAGE_RECEIVED,
+    OPMODE_POWER_DOWN,
+    OPMODE_ERROR_IN_SEGMENT
+} OperationMode;
+
+
+
+
+
+#endif

+ 176 - 0
segment_main/01_sw_components/02_sig/01_src/Com_rx_signal_sig.c

@@ -0,0 +1,176 @@
+
+/* Description */
+
+
+/* Module Name            : Com_tx_signal_sig.c      */
+/* Process                : Can RX interface            */
+/* Specification          :                    */
+
+/* Ino.100C0 */
+
+/* MKS revision        $Revision: 1.0.0 $  */
+/* Last change made by   $Author: NG-Tiofack Kegne, Max Well  $  */
+
+/* Ino.400C0.000C0 */
+
+
+/* Module description     : "Compiler specific Type definitions" */
+
+/* Ino.100C0.400C0.000C0 */
+
+
+/* Up Cell owns all the intellectual property rights, including \       */
+/* copyright and rights of confidence,  in these computer programs. Such \    */
+/* intellectual property rights extend to the structure, sequence, \          */
+/* organisation and presentation of the programs and they may not be, in \    */
+/* whole or part, copied, used or transmitted in any form or by any means, \  */
+/* including electronically, without prior written permission of Up Cell GmbH */
+
+
+#include "../../02_sig/02_headers/vardef_sig.h"
+#include "04_config/global_header.h"
+#include "../../07_utils/02_headers/vardef_utils.h"
+#include "ti_msp_dl_config.h"
+#include "../../03_hw/02_headers/vardef_hw.h"
+
+
+// Function to process set_segment_status (0x03 set_status)
+void AI_Com_RX_set_segment_status(set_segment_status_t segment_status_cmd) {
+
+    AI_Bridge_UnbridgeSegment_Hw (segment_status_cmd.BRIDGE);
+    
+   /*
+    if (segment_status_cmd.CLEAR) {
+        // Clear any error related to the segment
+        clear_segment_error();
+    }
+    */
+}
+
+// Function to process set_cell_status (0x03 set_status for cells)
+void AI_Com_RX_set_cell_status(typUI8 num_cells, set_cell_status_t cell_status_cmd[]) 
+{
+     typUI8 combi_cell_tobe_disable_enable;
+    for (int i = 0; i < num_cells; i++) 
+    {
+    combi_cell_tobe_disable_enable |= (cell_status_cmd[i].ENABLE << (7 - i));
+    AI_Enable_Disable_Cell_Hw(combi_cell_tobe_disable_enable);
+        /*
+        if (cell_status_cmd[i].CLEAR) {
+                    // Clear any error related to the cell
+                    clear_cell_error(i);
+                }
+        */
+    }
+}
+
+
+// Function to process incoming CAN messages from the chain controller
+void AI_Com_RX_process_CAN_messages(DL_MCAN_RxBufElement *rxMsg) {
+
+                   
+   // Define initial statuses
+    cell_status_t cell_status[NUMBER_OF_CELLS] = {0};     // Initialize status for 8 cells
+    segment_status_t segment_status = {0};  // Initialize segment status
+    set_segment_status_t set_segment_status = {0};  // Initialize set segment status;
+    set_cell_status_t set_cell_status[NUMBER_OF_CELLS] = {0}; // Initialize set cell status;
+
+    typUI32 idMode;
+    typUI32 id;
+    CAN_ID id_parse;
+    typUI32 source_id;
+    idMode = rxMsg->xtd;
+
+    if (ID_MODE_EXTENDED == idMode) {
+        id = rxMsg->id;
+    } else {
+        /* Assuming package is using 11-bit standard ID.
+         * When package uses standard id, ID is stored in ID[28:18]*/
+        id = ((rxMsg->id & (typUI32) 0x1FFC0000) >> (typUI32) 18);
+    }
+
+    id_parse = AI_Parse_Can_id_Utils (id);
+    
+    // Check if a message was received from strang controller. id prio shall be 0x00
+    if (id_parse.prio == 0x01) {
+        // Check the message ID and handle it accordingly
+        switch (id_parse.type_id) {
+            case DISCOVERY_PACKET_ID:
+                // Handle the discovery packet and send a response
+                AI_Com_TX_discovery_response(rxMsg->data[0]);  // Send UID to the controller
+                break;
+
+            // Request for the segment with matching order_id to report its status.
+            case STATUS_PACKET_ID:
+               
+                //TODO : Get Status HW.
+                 // Send back the segment status and cell statuses
+                AI_Com_TX_segment_status(segment_status, rxMsg->data[0]);  // Send segment status
+                AI_Com_TX_cell_status(cell_status, rxMsg->data[0]);     // Send cell status
+                break;
+
+            // Request from the branch controller to the segment to adjust its state
+            case SET_STATUS_PACKET_ID:
+                
+                source_id = rxMsg->data[0];
+                // Update the status of the segment and its cells
+                set_segment_status.BRIDGE = rxMsg->data[1] & 0x01;  // Update the segment bridge status
+                set_segment_status.CLEAR = (rxMsg->data[1] >> 7) & 0x01; // Reset the error flag of segment
+                // Update each cell's status
+                typUI8 num_cells = rxMsg->data[2];  // Number of cells
+                for (int i = 0; i < num_cells; i++) {
+                    //The "ENABLE" flag controls the activation of individual cells (high: the cell should be activated, low: the cell should be deactivated)
+                    set_cell_status[i].ENABLE = rxMsg->data[3 + i] & 0x01;  
+                    //The "CLEAR" flag resets the error state of the segment.
+                    set_cell_status[i].CLEAR = (rxMsg->data[3 + i] >> 7) & 0x01;  // Clear error
+                }
+
+                AI_Com_RX_set_segment_status(set_segment_status);
+                AI_Com_RX_set_cell_status(num_cells, set_cell_status); 
+                break;
+
+            default:
+                // Handle other message types or errors
+                break;
+        }
+    }
+}
+
+void AI_Com_MCAN_Receive_Msg (DL_MCAN_RxBufElement rxMsg, volatile typUI32* gInterruptLine1Status, volatile bool* gServiceInt)
+{
+    // DL_MCAN_RxBufElement rxMsg;
+    DL_MCAN_RxFIFOStatus rxFS;
+     /*
+         * Wait for flag interrupt to be triggered and flag to check received
+         * message is set to true.
+     */
+
+    while (DL_MCAN_OPERATION_MODE_NORMAL != DL_MCAN_getOpMode(MCAN0_INST)) ;
+
+    while (false == *gServiceInt) {
+            __WFE();
+        }
+
+        *gServiceInt  = false;
+        rxFS.fillLvl = 0;
+
+        if ((*gInterruptLine1Status & MCAN_IR_RF0N_MASK) == MCAN_IR_RF0N_MASK) {
+            rxFS.num = DL_MCAN_RX_FIFO_NUM_0;
+            while ((rxFS.fillLvl) == 0) {
+                DL_MCAN_getRxFIFOStatus(MCAN0_INST, &rxFS);
+            }
+            // DL_MCAN_readMsgRam reads the message from the specified FIFO and stores it in rxMsg.
+            DL_MCAN_readMsgRam( MCAN0_INST, DL_MCAN_MEM_TYPE_FIFO, 0U, rxFS.num, &rxMsg);
+
+            //acknowledges the read operation, indicating the message has been processed and that space in the FIFO can be reused.
+            DL_MCAN_writeRxFIFOAck(MCAN0_INST, rxFS.num, rxFS.getIdx);
+            
+            AI_Com_RX_process_CAN_messages(&rxMsg);
+            // clear interrupt flag
+            *gInterruptLine1Status &= ~(MCAN_IR_RF0N_MASK);
+        }
+    
+}
+
+
+

+ 197 - 0
segment_main/01_sw_components/02_sig/01_src/Com_tx_signal_sig.c

@@ -0,0 +1,197 @@
+
+/* Description */
+
+
+/* Module Name            : Com_tx_signal_sig.c      */
+/* Process                : Can interface            */
+/* Specification          :                    */
+
+/* Ino.100C0 */
+
+/* MKS revision        $Revision: 1.0.0 $  */
+/* Last change made by   $Author: NG-Tiofack Kegne, Max Well  $  */
+
+/* Ino.400C0.000C0 */
+
+
+/* Module description     : "Compiler specific Type definitions" */
+
+/* Ino.100C0.400C0.000C0 */
+
+
+/* Up Cell owns all the intellectual property rights, including \       */
+/* copyright and rights of confidence,  in these computer programs. Such \    */
+/* intellectual property rights extend to the structure, sequence, \          */
+/* organisation and presentation of the programs and they may not be, in \    */
+/* whole or part, copied, used or transmitted in any form or by any means, \  */
+/* including electronically, without prior written permission of Up Cell GmbH */
+
+
+#include "../../02_sig/02_headers/vardef_sig.h"
+#include "../../07_utils/02_headers/vardef_utils.h"
+#include "04_config/global_header.h"
+#include "ti_msp_dl_config.h"
+#include "../../03_hw/02_headers/vardef_hw.h"
+
+
+
+typUI8 num_cells = NUMBER_OF_CELLS;  // Number of cells in the segment
+typUI16 gid_hash = 0x1234;  // Example GID hash for the segment
+
+
+// Function to send a discovery response packet (0x81 r_discovery)
+void AI_Com_TX_discovery_response(typUI8 order_id) {
+
+    DL_MCAN_TxBufElement txMsg;
+    CAN_ID can_id;
+
+    // Unique ID of the segment (16 bytes)
+     typUI8 segment_uid[16] = { /* Define the unique UID for each segment */ };
+
+    can_id.prio = 0x00;                     // Priority for segment
+    can_id.type_id = R_DISCOVERY_PACKET_ID; // Priority for segment
+    can_id.source_id = order_id;            // for segment source_id = order_id
+    
+    /* Identifier Value.*/
+    txMsg.id = AI_PackCanId_Utils(can_id);
+    /* Transmitting 17 bytes. */
+    txMsg.dlc = 17U;
+    //type des Paket
+    txMsg.data[0] = 0x10;  // Type = Segment (as per the spec)
+    
+    // Copy the UID into the CAN message
+    for (int i = 0; i < 16; i++) {
+        txMsg.data[1 + i] = segment_uid[i];  // UID of the segment
+    }
+
+    AI_Com_TX_process_CAN_messages(txMsg); // Send the message
+}
+
+// Function to send the status of the segment (0x82 r_status_seg)
+void AI_Com_TX_segment_status(segment_status_t segment_status, typUI8 order_id) {
+    DL_MCAN_TxBufElement txMsg;
+
+    CAN_ID can_id;
+    can_id.prio = 0x00;                     // Priority for segment
+    can_id.type_id = R_STATUS_SEG_PACKET_ID; // Priority for segment
+    can_id.source_id = order_id;            // for segment source_id = order_id
+
+
+    txMsg.id = AI_PackCanId_Utils(can_id);    
+    // Fill in the data according to the 0x82 packet structure
+    txMsg.data[0] = gid_hash >> 8;  // First byte of gid_hash
+    txMsg.data[1] = gid_hash & 0xFF;  // Second byte of gid_hash
+    txMsg.data[2] = NUMBER_OF_CELLS;  // Number of cells (8)
+    
+    // ADC Values
+        //TODO. config PIN für Segment Temp, Segment Voltage.
+
+    // Status flags (BRIDGE, EOTEMP, EUTEMP)
+    txMsg.data[3] = (segment_status.BRIDGE & 0x01);  // Segment bridge status
+    txMsg.data[4] = (segment_status.EOTEMP & 0x01) << 7 | (segment_status.EUTEMP & 0x01) << 6;  // Error flags
+    
+    // Add segment voltage and temperature (16-bit values)
+    txMsg.data[5] = segment_status.seg_volt >> 8;
+    txMsg.data[6] = segment_status.seg_volt & 0xFF;
+    txMsg.data[7] = segment_status.temp >> 8;
+    txMsg.data[8] = segment_status.temp & 0xFF;
+
+    txMsg.dlc = 9;  // Total 9 bytes (2 bytes for gid_hash, 1 byte for num_cells, 6 bytes for status/voltage/temp)
+
+     AI_Com_TX_process_CAN_messages(txMsg);  // Send the message
+}
+
+// Function to send the status of the cells (0x83 r_status_cell)
+void AI_Com_TX_cell_status(cell_status_t cell_status[] , typUI8 order_id) {
+    DL_MCAN_TxBufElement txMsg;
+    CAN_ID can_id;
+    typF32 adc_current, adc_temperatur;
+
+    Qual_ReturnType qual_return_type;
+
+    can_id.prio = 0x00;  
+    can_id.type_id = R_STATUS_CELL_PACKET_ID;
+    can_id.source_id = order_id;
+
+    txMsg.id = AI_PackCanId_Utils(can_id); 
+
+    // Break cells into frames, each frame can contain up to 7 cells
+    typUI8 total_frames = (NUMBER_OF_CELLS + 6) / 7;  // Calculate the total number of frames needed
+    typUI8 frame_idx = 0;
+    typUI16 gid_hash = 0x1234;  // Example GID hash
+
+    for (frame_idx = 0; frame_idx < total_frames; frame_idx++) {
+        // Prepare the CAN message for the current frame
+        txMsg.data[0] = gid_hash >> 8;    // First byte of gid_hash
+        txMsg.data[1] = gid_hash & 0xFF;  // Second byte of gid_hash
+        txMsg.data[2] = NUMBER_OF_CELLS;  // Total number of cells
+        txMsg.data[3] = frame_idx;        // Current frame index
+
+        // Calculate the number of cells in this frame (max 7 cells per frame)
+        typUI8 cells_in_frame = (NUMBER_OF_CELLS - (frame_idx * 7) >= 7) ? 7 : (NUMBER_OF_CELLS % 7);
+
+        // Add the status of up to 7 cells to the CAN message
+        for (typUI8 i = 0; i < cells_in_frame; i++) {
+            typUI8 cell_idx = frame_idx * 7 + i;  // Index of the current cell
+
+            // Pack cell status into the message
+            txMsg.data[4 + i * 6] = (cell_status[cell_idx].ENABLE & 0x01);  // Cell enable status
+            txMsg.data[5 + i * 6] = (cell_status[cell_idx].EOVOLT & 0x01) << 7 | (cell_status[cell_idx].EUVOLT & 0x01) << 6 |
+                                  (cell_status[cell_idx].EOCURR & 0x01) << 5 | (cell_status[cell_idx].EOTEMP & 0x01) << 4 | 
+                                  (cell_status[cell_idx].EUTEMP & 0x01) << 3;  // Error flags for each cell
+
+            
+            qual_return_type = AI_GetUITempCell_Hw(cell_idx, (typF32*)&cell_status[cell_idx].cell_volt, &adc_current, &adc_temperatur, &gCheckADC);
+
+            if (qual_return_type == QUAL_SIGNAL_OK)
+            {
+                qual_return_type = AI_GetTempInC ((typF32*)&cell_status[cell_idx].cell_temp, adc_temperatur);
+                qual_return_type = AI_GetIInA ((typF32*)&cell_status[cell_idx].cell_curr, adc_current);
+
+            }
+
+            // Add cell voltage, current, and temperature (16-bit values)
+            txMsg.data[6 + i * 6] = cell_status[cell_idx].cell_volt >> 8;
+            txMsg.data[7 + i * 6] = cell_status[cell_idx].cell_volt & 0xFF;
+            txMsg.data[8 + i * 6] = cell_status[cell_idx].cell_curr >> 8;
+            txMsg.data[9 + i * 6] = cell_status[cell_idx].cell_curr & 0xFF;
+            txMsg.data[10 + i * 6] = cell_status[cell_idx].cell_temp >> 8;
+            txMsg.data[11 + i * 6] = cell_status[cell_idx].cell_temp & 0xFF;
+        }
+
+        // Set the length of the CAN message depending on how many cells are in the frame
+        txMsg.dlc = 4 + cells_in_frame * 6;  // 4 bytes for gid_hash, num_cells, frame_idx + 6 bytes per cell
+
+        // Send the current frame
+        AI_Com_TX_process_CAN_messages(txMsg);
+    }
+}
+
+
+void AI_Com_TX_process_CAN_messages(DL_MCAN_TxBufElement txMsg)
+{
+    /* Initialize message to transmit. */
+    /* Transmit data frame. */
+    txMsg.rtr = 0U;
+    /* 11-bit standard identifier. 29-bit for CAN FD */
+    txMsg.xtd = 1U;
+    /* ESI bit in CAN FD format depends only on error passive flag. */
+    txMsg.esi = 0U;
+    /* CAN FD frames transmitted with bit rate switching. */
+    txMsg.brs = 1U;
+    /* Frame transmitted in CAN FD format. */
+    txMsg.fdf = 1U;
+    /* Store Tx events. */
+    txMsg.efc = 1U;
+    /* Message Marker. */
+    txMsg.mm = 0xAAU;
+
+    while (DL_MCAN_OPERATION_MODE_NORMAL != DL_MCAN_getOpMode(MCAN0_INST));
+
+    /* Write Tx Message to the Message RAM. */
+    DL_MCAN_writeMsgRam(MCAN0_INST, DL_MCAN_MEM_TYPE_BUF, 0U, &txMsg);
+
+    /* Add request for transmission. */
+    DL_MCAN_TXBufAddReq(MCAN0_INST, 0U);
+    
+}

+ 116 - 0
segment_main/01_sw_components/02_sig/02_headers/vardef_sig.h

@@ -0,0 +1,116 @@
+
+
+/* Description */
+
+
+/* Module Name            : vardef_sig.h        */
+/* Process                : Hw interface            */
+/* Specification          :                    */
+
+/* Ino.100C0 */
+
+/* MKS revision        $Revision: 1.0.0 $  */
+/* Last change made by   $Author: NG-Tiofack Kegne, Max Well  $  */
+
+/* Ino.400C0.000C0 */
+
+
+/* Module description     : "Compiler specific Type definitions" */
+
+/* Ino.100C0.400C0.000C0 */
+
+
+/* Up Cell owns all the intellectual property rights, including \       */
+/* copyright and rights of confidence,  in these computer programs. Such \    */
+/* intellectual property rights extend to the structure, sequence, \          */
+/* organisation and presentation of the programs and they may not be, in \    */
+/* whole or part, copied, used or transmitted in any form or by any means, \  */
+/* including electronically, without prior written permission of Up Cell GmbH */
+
+#if !defined (vardef_sig)
+  #define vardef_sig
+
+/* Ino.400C0.40180.00180 */
+#include "04_config/global_header.h"
+#include "ti_msp_dl_config.h"
+
+// CAN Packet ID definitions
+#define DISCOVERY_PACKET_ID                         0x01
+#define STATUS_PACKET_ID                            0x02
+#define SET_STATUS_PACKET_ID                        0x03
+#define R_DISCOVERY_PACKET_ID                       0x81
+#define R_STATUS_SEG_PACKET_ID                      0x82
+#define R_STATUS_CELL_PACKET_ID                     0x83
+#define ERROR_PACKET_ID                             0xFF
+
+// Define segment status structure (as per the image)
+typedef struct {
+    typUI8 BRIDGE : 1;  // Segment bridging (1: bridge, 0: unbridge)
+    typUI8 reserved : 6;  // Reserved bits
+    typUI8 CLEAR : 1;    // Clear the segment error status (1: clear error)
+} set_segment_status_t;
+
+// Define cell status structure (as per the image)
+typedef struct {
+    typUI8 ENABLE : 1;  // Cell enable status (1: enable, 0: disable)
+    typUI8 reserved : 6;  // Reserved bits
+    typUI8 CLEAR : 1;    // Clear the cell error status (1: clear error)
+} set_cell_status_t;
+
+
+
+#define ID_MODE_EXTENDED (0x1U)
+// Segment and Cell status structure definitions
+
+// Segment Status (32-bit structure)
+typedef struct {
+    typUI8 BRIDGE : 1;   // Segment bridging status (1: bridged, 0: not bridged)
+    typUI8 reserved1 : 7;
+    typUI8 EOTEMP : 1;   // Overtemperature error flag
+    typUI8 EUTEMP : 1;   // Temperature sensor error flag
+    typUI8 reserved2 : 6;
+    typSI16 seg_volt;     // Segment voltage (signed 16-bit integer)
+    typSI16 temp;         // Segment temperature (signed 16-bit integer)
+} segment_status_t;
+
+// Cell Status (32-bit structure)
+typedef struct {
+    typUI8 ENABLE : 1;   // Cell enable status
+    typUI8 reserved1 : 7;
+    typUI8 EOVOLT : 1;   // Overvoltage error flag
+    typUI8 EUVOLT : 1;   // Undervoltage error flag
+    typUI8 EOCURR : 1;   // Overcurrent error flag
+    typUI8 EOTEMP : 1;   // Overtemperature error flag
+    typUI8 EUTEMP : 1;   // Temperature sensor error flag
+    typUI8 reserved2 : 3;
+    typSI16 cell_volt;    // Cell voltage (signed 16-bit integer)
+    typSI16 cell_curr;    // Cell current (signed 16-bit integer)
+    typSI16 cell_temp;    // Cell temperature (signed 16-bit integer)
+} cell_status_t;
+
+// Define bit sizes based on the image provided
+#define PRIO_BITS      3   // prio uses 3 bits
+#define TYPE_ID_BITS   16  // type_id uses 16 bits
+#define SOURCE_ID_BITS 10  // source_id uses 10 bits
+
+// Define shifts based on where each field should be in the 29-bit integer
+#define PRIO_SHIFT     (TYPE_ID_BITS + SOURCE_ID_BITS)  // Shift prio left by the sum of type_id and source_id bits
+#define TYPE_ID_SHIFT  SOURCE_ID_BITS                   // Shift type_id left by the number of source_id bits
+#define SOURCE_ID_SHIFT 0  // source_id occupies the lowest bits, no shift needed
+
+
+
+/* Ino.10180.20180.000C0 */
+extern void AI_Com_TX_discovery_response(typUI8 order_id);
+extern void AI_Com_TX_cell_status(cell_status_t cell_status[] , typUI8 order_id);
+extern void AI_Com_TX_error_packet(typUI8 packet_type_id, typUI8 error_type_id);
+extern void AI_Com_TX_process_CAN_messages(DL_MCAN_TxBufElement txMsg);
+extern void AI_Com_MCAN_Receive_Msg (DL_MCAN_RxBufElement rxMsg, volatile typUI32* gInterruptLine1Status, volatile bool* gServiceInt);
+extern void AI_Com_RX_set_segment_status(set_segment_status_t segment_status_cmd) ;
+// Function to process set_cell_status (0x03 set_status for cells)
+extern void AI_Com_RX_set_cell_status(typUI8 num_cells, set_cell_status_t cell_status_cmd[]);
+// Function to process the set_status packet (0x03 set_status)
+extern void AI_Com_RX_set_status_packet(typUI8* data) ;
+extern void AI_Com_TX_segment_status(segment_status_t segment_status, typUI8 order_id);
+
+#endif

+ 0 - 0
segment_main/01_sw_components/02_sig/03_test/dummy.txt


BIN
segment_main/01_sw_components/02_sig/04_docu/Strangkommunikation_rev0.2_-_draft.pdf


+ 72 - 18
segment_main/01_sw_components/03_hw/01_src/Hw_Interface.c

@@ -2,8 +2,8 @@
 /* Description */
 
 
-/* Module Name            : vardef_hw.h        */
-/* Process                : VehSim             */
+/* Module Name            : HW_Interface        */
+/* Process                : Hw interface       */
 /* Specification          :                    */
 
 /* Ino.100C0 */
@@ -31,10 +31,10 @@
 #include "04_config/global_header.h"
 #include "ti/devices/msp/m0p/mspm0g350x.h"
 #include "ti_msp_dl_config.h"
-#include "vardef_hw.h"
+#include "../../03_hw/02_headers/vardef_hw.h"
 
 
-Qual_ReturnType AI_GetUITempCell_Hw(typUI8 idx_cell, typF32* out_u, typF32* out_i, typF32* out_t, bool gCheckADC)
+Qual_ReturnType AI_GetUITempCell_Hw(typUI8 idx_cell, typF32* out_u, typF32* out_i, typF32* out_t, volatile bool *gCheckADC)
 {
      // Cell 1 till 8 shall be in correct range
     if (idx_cell < 1 || idx_cell > 8) {
@@ -64,31 +64,31 @@ Qual_ReturnType AI_GetUITempCell_Hw(typUI8 idx_cell, typF32* out_u, typF32* out_
 
     // Read ADC value (assuming you have an ADC read function)
     DL_ADC12_startConversion(ADC12_0_INST);
-
-        /* Wait until all data channels have been loaded. */
-        while (gCheckADC == false) {
+    
+    while (false == *gCheckADC) {
             __WFE();
         }
-
+    /* Wait until all data channels have been loaded. */
+   
        /* Store ADC Results into their respective buffer */
         *out_u = (typSI16)DL_ADC12_getMemResult(ADC12_0_INST, DL_ADC12_MEM_IDX_0);
         *out_i = (typSI16)DL_ADC12_getMemResult(ADC12_0_INST, DL_ADC12_MEM_IDX_1);
         *out_t = (typSI16)DL_ADC12_getMemResult(ADC12_0_INST, DL_ADC12_MEM_IDX_2);
 
-        gCheckADC = false;
-    DL_ADC12_enableConversions(ADC12_0_INST);
+        *gCheckADC = false;
+        DL_ADC12_enableConversions(ADC12_0_INST);
 
-    // Disable the multiplexer for voltage (set the Enable pin to HIGH)
-    AI_digitalWrite(GPIO_MULTIPLEXER_PIN_CONFIG_PORT, DL_GPIO_PIN_9, HIGH);
-    // Disable the multiplexer for voltage (set the Enable pin to HIGH)
-    AI_digitalWrite(GPIO_MULTIPLEXER_PIN_CONFIG_PORT, DL_GPIO_PIN_6, HIGH);
+        // Disable the multiplexer for voltage (set the Enable pin to HIGH)
+        AI_digitalWrite(GPIO_MULTIPLEXER_PIN_CONFIG_PORT, DL_GPIO_PIN_9, HIGH);
+        // Disable the multiplexer for voltage (set the Enable pin to HIGH)
+        AI_digitalWrite(GPIO_MULTIPLEXER_PIN_CONFIG_PORT, DL_GPIO_PIN_6, HIGH);
+    
 	}
 	/* Ino.40EC0.000C0 */
 
 	return (Qual_ReturnType) QUAL_SIGNAL_OK;
 }
 
-
 Qual_ReturnType AI_GetTempInC(typF32* out, typF32 adcVoltageTemperature)
 {
     volatile typF32 gTemperatureDegC;
@@ -117,7 +117,6 @@ Qual_ReturnType AI_GetIInA(typF32* out, typF32 adcVoltageCurrent)
 	return (Qual_ReturnType) QUAL_SIGNAL_OK;
 }
 
-
 /**
  * Sets the state of a GPIO pin.
  * 
@@ -125,7 +124,7 @@ Qual_ReturnType AI_GetIInA(typF32* out, typF32 adcVoltageCurrent)
  * @param state The state to set: true for HIGH, false for LOW.
  * @return      Returns true if the operation was successful, otherwise false.
  */
-bool AI_digitalWrite(GPIO_Regs *pin_Group, uint32_t pin, bool state){
+bool AI_digitalWrite(GPIO_Regs *pin_Group, typUI32 pin, bool state){
 
     // TODO: what happens if the pin is not configured ?
     // Check if the pin is valid (example: valid pins are 1-8)
@@ -140,4 +139,59 @@ bool AI_digitalWrite(GPIO_Regs *pin_Group, uint32_t pin, bool state){
         DL_GPIO_clearPins(pin_Group, pin);  // Set the pin to LOW
     }
     return true;  // Operation was successful
-}
+}
+
+void AI_ShiftOut_HW(typUI8 data) 
+{
+    for (int i = 0; i < NUMBER_OF_CELLS; i++) {
+
+        if (data & (1 << i)) {
+        // Set SER to 1
+          // activate the multiplexer for voltage (set the Enable pin to setzen)
+          AI_digitalWrite(GPIO_SHIFT_REGISTER_PIN_CONFIG_PORT, DL_GPIO_PIN_11, HIGH);
+        } else {
+          // activate the multiplexer for temperatur (set the Enable pin to setzen)
+          AI_digitalWrite(GPIO_SHIFT_REGISTER_PIN_CONFIG_PORT, DL_GPIO_PIN_11, LOW);
+        }
+        // Toggle SRCLK
+         AI_digitalWrite(GPIO_SHIFT_REGISTER_PIN_CONFIG_PORT, DL_GPIO_PIN_16, HIGH);
+         AI_digitalWrite(GPIO_SHIFT_REGISTER_PIN_CONFIG_PORT, DL_GPIO_PIN_16, LOW);
+    }
+    // Toggle RCLK
+     AI_digitalWrite(GPIO_SHIFT_REGISTER_PIN_CONFIG_PORT, DL_GPIO_PIN_15, HIGH);
+     AI_digitalWrite(GPIO_SHIFT_REGISTER_PIN_CONFIG_PORT, DL_GPIO_PIN_15, LOW);
+}
+
+
+// Example functions to take action
+void AI_Bridge_UnbridgeSegment_Hw(typUI8 data) {
+    // Implement the action to bridge the segment
+    
+        if (data == 1) {
+          // activate the multiplexer for voltage (set the Enable pin to setzen)
+          AI_digitalWrite(GPIO_SHIFT_REGISTER_PIN_CONFIG_PORT, DL_GPIO_PIN_11, HIGH);
+        } else {
+          // activate the multiplexer for temperatur (set the Enable pin to setzen)
+          AI_digitalWrite(GPIO_SHIFT_REGISTER_PIN_CONFIG_PORT, DL_GPIO_PIN_11, LOW);
+        }
+}
+
+/*void clear_segment_error() {
+    // Implement the action to clear segment errors
+}
+*/
+void AI_Enable_Disable_Cell_Hw(typUI8 cell_index_combi) {
+    // Implement the action to enable a cell or disable Cell
+
+    AI_digitalWrite(GPIO_SHIFT_REGISTER_PIN_CONFIG_PORT, DL_GPIO_PIN_14, HIGH);
+
+    AI_ShiftOut_HW(cell_index_combi); // Deaktiviert alle Enables
+
+    AI_digitalWrite(GPIO_SHIFT_REGISTER_PIN_CONFIG_PORT, DL_GPIO_PIN_14, LOW);
+}
+
+/*
+void clear_cell_error(uint8_t cell_index) {
+    // Implement the action to clear cell errors
+}
+*/

+ 4 - 14
segment_main/01_sw_components/03_hw/02_headers/vardef_hw.h

@@ -133,10 +133,10 @@ typedef enum
 /* Interface parameters */
 
 /* Ino.10180.20180.000C0 */
-extern Qual_ReturnType AI_GetUITempCell_Hw(typUI8 idx_cell, typF32* out_u, typF32* out_i, typF32* out_t, bool gCheckADC);
+extern Qual_ReturnType AI_GetUITempCell_Hw(typUI8 idx_cell, typF32* out_u, typF32* out_i, typF32* out_t, volatile bool* gCheckADC);
 extern Qual_ReturnType AI_GetTempInC(typF32* out, typF32 adcVoltageTemperature);
 extern Qual_ReturnType AI_GetIInA(typF32* out, typF32 adcVoltageCurrent);
-extern bool AI_digitalWrite(GPIO_Regs *pin_Group, uint32_t pin, bool state);
+extern bool AI_digitalWrite(GPIO_Regs *pin_Group, typUI32 pin, bool state);
 
 /* Operation Mode: Init */
 
@@ -173,23 +173,13 @@ extern void UpCell_Exit_Hw(void);
 
 extern Qual_ReturnType AI_GetTempCell_Hw(typUI16 idx_cell, typSI16* out);
 extern Qual_ReturnType AI_GetUCell_Hw(typUI16 idx_cell, typSI16* out);
-
+extern void AI_Bridge_UnbridgeSegment_Hw(typUI8 data);
+extern void AI_Enable_Disable_Cell_Hw (typUI8 data);
 /* Ino.400C0.40180.40180.00180 */
 
 
 /* Conti DMS simulation lib */
 
-/* Ino.10180.20180.000C0 */
-
-extern typUI32  os_reset_timer_1ms;
-
-/* Ino.400C0.40180.40180.00180 */
-
-
-/* Lock end */
-
-/* Ino.10180.20180.000C0 */
-
 #endif
 
 /* Ino.400C0.40180 */

+ 56 - 0
segment_main/01_sw_components/07_utils/01_src/parseCanID_utils.c

@@ -0,0 +1,56 @@
+
+/* Description */
+
+
+/* Module Name            : HW_Interface        */
+/* Process                : Hw interface       */
+/* Specification          :                    */
+
+/* Ino.100C0 */
+
+/*  revision             Revision: 1.0.0   */
+/* Last change made by   Author: NG-Tiofack Kegne, Max Well  */
+/* Date for last change  $Date: 2014/09/16 13:20:35MESZ $  */
+
+/* Ino.400C0.000C0 */
+
+
+/* Module description     : "Compiler specific Type definitions" */
+
+/* Ino.100C0.400C0.000C0 */
+
+
+/* Up Cell owns all the intellectual property rights, including \       */
+/* copyright and rights of confidence,  in these computer programs. Such \    */
+/* intellectual property rights extend to the structure, sequence, \          */
+/* organisation and presentation of the programs and they may not be, in \    */
+/* whole or part, copied, used or transmitted in any form or by any means, \  */
+/* including electronically, without prior written permission of Up Cell GmbH */
+
+
+#include "04_config/global_header.h"
+#include "ti/devices/msp/m0p/mspm0g350x.h"
+#include "ti_msp_dl_config.h"
+#include "../../07_utils/02_headers/vardef_utils.h"
+
+
+// Function to parse the CAN ID
+CAN_ID AI_Parse_Can_id_Utils(typUI32 id) {
+    CAN_ID can_id;
+
+    // Mask and shift bits to extract each field based on the bitfield definitions
+    can_id.prio      = (id & 0x00000003);              // Extract bits 0-1
+    can_id.type_id   = (id >> 2) & 0x0000FFFF;         // Extract bits 2-17
+    can_id.source_id = (id >> 18) & 0x000007FF;        // Extract bits 18-28
+    
+    return can_id;
+}
+
+typUI32 AI_PackCanId_Utils(CAN_ID can_id) {
+    typUI32 packed_id = 0;
+    packed_id |= (can_id.prio & ((1 << PRIO_BITS) - 1)) << PRIO_SHIFT;
+    packed_id |= (can_id.type_id & ((1 << TYPE_ID_BITS) - 1)) << TYPE_ID_SHIFT;
+    packed_id |= (can_id.source_id & ((1 << SOURCE_ID_BITS) - 1)) << SOURCE_ID_SHIFT;
+
+    return packed_id;
+}

+ 59 - 0
segment_main/01_sw_components/07_utils/02_headers/vardef_utils.h

@@ -0,0 +1,59 @@
+
+/* Description */
+
+
+/* Module Name            : vardef_hw.h        */
+/* Process                : Hw interface            */
+/* Specification          :                    */
+
+/* Ino.100C0 */
+
+/* MKS revision        $Revision: 1.0.0 $  */
+/* Last change made by   $Author: NG-Tiofack Kegne, Max Well  $  */
+
+/* Ino.400C0.000C0 */
+
+
+/* Module description     : "Compiler specific Type definitions" */
+
+/* Ino.100C0.400C0.000C0 */
+
+
+/* Up Cell owns all the intellectual property rights, including \       */
+/* copyright and rights of confidence,  in these computer programs. Such \    */
+/* intellectual property rights extend to the structure, sequence, \          */
+/* organisation and presentation of the programs and they may not be, in \    */
+/* whole or part, copied, used or transmitted in any form or by any means, \  */
+/* including electronically, without prior written permission of Up Cell GmbH */
+
+
+
+#if !defined (vardef_utils)
+  #define vardef_utils
+
+/* Ino.400C0.40180.00180 */
+#include "04_config/global_header.h"
+
+// Define structure to hold the CAN ID parts using bitfields
+typedef struct {
+    typUI32 source_id : 11;  // 11 bits for source_id
+    typUI32 type_id   : 16; // 16 bits for type_id (unsigned int 16)
+    typUI32 prio      : 2;  // 2 bits for prio
+} CAN_ID;
+
+// Define bit sizes based on updated specifications
+#define PRIO_BITS      3
+#define TYPE_ID_BITS   16
+#define SOURCE_ID_BITS 10  // Calculated as 29 - 3 - 16
+
+// Define shifts based on where each field should be in the 29-bit integer
+#define PRIO_SHIFT     (TYPE_ID_BITS + SOURCE_ID_BITS)  // Shift prio left by the sum of type_id and source_id bits
+#define TYPE_ID_SHIFT  SOURCE_ID_BITS                   // Shift type_id left by the number of source_id bits
+#define SOURCE_ID_SHIFT 0  // source_id occupies the lowest bits, no shift needed
+#endif
+
+
+extern CAN_ID AI_Parse_Can_id_Utils(typUI32 id);
+extern typUI32 AI_PackCanId_Utils(CAN_ID can_id);
+/* Ino.400C0.40180 */
+

+ 15 - 1
segment_main/04_config/global_header.h

@@ -33,6 +33,11 @@
 
 #define BASETYPES_H
 
+#include "ti_msp_dl_config.h"
+
+
+#define NUMBER_OF_CELLS     8
+
 typedef  signed short int typSI16;
 
 typedef  signed long int typSI32;
@@ -50,6 +55,15 @@ typedef unsigned int typUBS;
 typedef signed int typSBS;
 
 typedef   float    typF32;    
-typedef   double   typF64;   
+typedef   double   typF64;  
+
+
+
+extern volatile bool gCheckADC;
+
+extern volatile typUI32 gInterruptLine1Status;
+extern volatile bool gServiceInt;
+
+
 
 #endif

+ 81 - 1
segment_main/04_config/segment_main.syscfg

@@ -13,12 +13,30 @@ const ADC12   = scripting.addModule("/ti/driverlib/ADC12", {}, false);
 const ADC121  = ADC12.addInstance();
 const GPIO    = scripting.addModule("/ti/driverlib/GPIO", {}, false);
 const GPIO1   = GPIO.addInstance();
+const GPIO2   = GPIO.addInstance();
+const GPIO3   = GPIO.addInstance();
 const MATHACL = scripting.addModule("/ti/driverlib/MATHACL");
+const MCAN    = scripting.addModule("/ti/driverlib/MCAN", {}, false);
+const MCAN1   = MCAN.addInstance();
 const SYSCTL  = scripting.addModule("/ti/driverlib/SYSCTL");
 
 /**
  * Write custom configuration values to the imported modules.
  */
+const multiplier2         = system.clockTree["PLL_QDIV"];
+multiplier2.multiplyValue = 5;
+
+const mux2       = system.clockTree["CANCLKMUX"];
+mux2.inputSelect = "CANCLKMUX_PLLCLK1_OUT";
+
+const pinFunction3     = system.clockTree["HFCLKEXT"];
+pinFunction3.inputFreq = 40;
+
+const pinFunction4        = system.clockTree["HFXT"];
+pinFunction4.HFXTStartup  = 10;
+pinFunction4.HFCLKMonitor = true;
+pinFunction4.inputFreq    = 40;
+
 ADC121.$name                      = "ADC12_0";
 ADC121.adcMem0chansel             = "DL_ADC12_INPUT_CHAN_2";
 ADC121.samplingOperationMode      = "sequence";
@@ -26,6 +44,7 @@ ADC121.endAdd                     = 2;
 ADC121.adcMem1chansel             = "DL_ADC12_INPUT_CHAN_3";
 ADC121.adcMem2chansel             = "DL_ADC12_INPUT_CHAN_7";
 ADC121.sampClkDiv                 = "DL_ADC12_CLOCK_DIVIDE_8";
+ADC121.enabledInterrupts          = ["DL_ADC12_INTERRUPT_MEM2_RESULT_LOADED"];
 ADC121.peripheral.$assign         = "ADC0";
 ADC121.peripheral.adcPin2.$assign = "PA25";
 ADC121.peripheral.adcPin3.$assign = "PA24";
@@ -52,8 +71,69 @@ GPIO1.associatedPins[3].pin.$assign = "PA3";
 GPIO1.associatedPins[4].$name       = "PIN_E0";
 GPIO1.associatedPins[4].pin.$assign = "PA6";
 
+GPIO2.$name                         = "GPIO_SHIFT_REGISTER_PIN_CONFIG";
+GPIO2.associatedPins.create(5);
+GPIO2.associatedPins[0].$name       = "PIN_SER";
+GPIO2.associatedPins[0].pin.$assign = "PA11";
+GPIO2.associatedPins[1].$name       = "PIN_OE";
+GPIO2.associatedPins[1].pin.$assign = "PA14";
+GPIO2.associatedPins[2].$name       = "PIN_RCLK";
+GPIO2.associatedPins[2].pin.$assign = "PA15";
+GPIO2.associatedPins[3].$name       = "PIN_SRCLK";
+GPIO2.associatedPins[3].pin.$assign = "PA16";
+GPIO2.associatedPins[4].$name       = "PIN_SRCLR";
+GPIO2.associatedPins[4].pin.$assign = "PA17";
+
+GPIO3.$name                         = "GPIO_BRIDGE_SEGMENT";
+GPIO3.associatedPins[0].$name       = "PIN_BRIDGE_SEGMENT";
+GPIO3.associatedPins[0].pin.$assign = "PA10";
+
+MCAN1.$name                = "MCAN0";
+MCAN1.wkupReqEnable        = true;
+MCAN1.autoWkupEnable       = true;
+MCAN1.emulationEnable      = true;
+MCAN1.additionalCoreConfig = true;
+MCAN1.rrfe                 = true;
+MCAN1.rrfs                 = true;
+MCAN1.anfe                 = "1";
+MCAN1.anfs                 = "1";
+MCAN1.overrideRetention    = true;
+MCAN1.enableInterrupt      = true;
+MCAN1.interruptFlags       = ["DL_MCAN_INTERRUPT_ARA","DL_MCAN_INTERRUPT_BEU","DL_MCAN_INTERRUPT_BO","DL_MCAN_INTERRUPT_DRX","DL_MCAN_INTERRUPT_ELO","DL_MCAN_INTERRUPT_EP","DL_MCAN_INTERRUPT_EW","DL_MCAN_INTERRUPT_MRAF","DL_MCAN_INTERRUPT_PEA","DL_MCAN_INTERRUPT_PED","DL_MCAN_INTERRUPT_RF0N","DL_MCAN_INTERRUPT_TC","DL_MCAN_INTERRUPT_TEFN","DL_MCAN_INTERRUPT_TOO","DL_MCAN_INTERRUPT_TSW","DL_MCAN_INTERRUPT_WDI"];
+MCAN1.interruptLine        = ["DL_MCAN_INTR_LINE_NUM_1"];
+MCAN1.interruptLine1Flag   = ["DL_MCAN_INTR_MASK_ALL"];
+MCAN1.m0interrupts         = ["DL_MCAN_MSP_INTERRUPT_LINE1"];
+MCAN1.lss                  = 2;
+MCAN1.stdFiltElem          = "001";
+MCAN1.stdFiltType          = "01";
+MCAN1.stdFiltID1           = 3;
+MCAN1.stdFiltID2           = 4;
+MCAN1.flesa                = 0;
+MCAN1.lse                  = 0;
+MCAN1.txEventFIFOWaterMark = 0;
+MCAN1.rxFIFO0waterMark     = 0;
+MCAN1.rxBufElemSize        = "DL_MCAN_ELEM_SIZE_32BYTES";
+MCAN1.rxFIFO0ElemSize      = "DL_MCAN_ELEM_SIZE_32BYTES";
+MCAN1.rxFIFO1ElemSize      = "DL_MCAN_ELEM_SIZE_32BYTES";
+MCAN1.txPinConfig.$name    = "ti_driverlib_gpio_GPIOPinGeneric3";
+MCAN1.rxPinConfig.$name    = "ti_driverlib_gpio_GPIOPinGeneric4";
+
+SYSCTL.CANCLKSource          = "HFCLK";
+SYSCTL.HFCLKSource           = "HFXT";
+SYSCTL.HFCLK_Freq            = 48000000;
+SYSCTL.HFCLKMonitor          = true;
+SYSCTL.HFXTStartup           = 10;
 SYSCTL.forceDefaultClkConfig = true;
-SYSCTL.peripheral.$assign    = "SYSCTL";
+SYSCTL.clockTreeEn           = true;
 
 const ProjectConfig              = scripting.addModule("/ti/project_config/ProjectConfig", {}, false);
 ProjectConfig.migrationCondition = true;
+
+/**
+ * Pinmux solution for unlocked pins/peripherals. This ensures that minor changes to the automatic solver in a future
+ * version of the tool will not impact the pinmux you originally saw.  These lines can be completely deleted in order to
+ * re-solve from scratch.
+ */
+MCAN1.peripheral.$suggestSolution       = "CANFD0";
+MCAN1.peripheral.rxPin.$suggestSolution = "PA27";
+MCAN1.peripheral.txPin.$suggestSolution = "PA26";

BIN
segment_main/Debug/.clangd/.cache/clangd/index/Com_rx_signal_sig.c.89964BD8AFAF6A1A.idx


BIN
segment_main/Debug/.clangd/.cache/clangd/index/Com_tx_rx_signal.c.9F72EDAEA7995F7A.idx


BIN
segment_main/Debug/.clangd/.cache/clangd/index/Com_tx_rx_signal_Sig.c.DAFF061C53480240.idx


BIN
segment_main/Debug/.clangd/.cache/clangd/index/Com_tx_signal_sig.c.1C87430846B5339E.idx


BIN
segment_main/Debug/.clangd/.cache/clangd/index/Hw_Interface.c.03F5C99EB0148896.idx


BIN
segment_main/Debug/.clangd/.cache/clangd/index/Hw_Interface.c.43483B0B0C4F24F8.idx


BIN
segment_main/Debug/.clangd/.cache/clangd/index/global_header.h.73C91F9ABA8DE3E5.idx


BIN
segment_main/Debug/.clangd/.cache/clangd/index/init_sc.c.435F321C8C7F1849.idx


BIN
segment_main/Debug/.clangd/.cache/clangd/index/main_sc.c.D8EB5CB0AEF3E502.idx


BIN
segment_main/Debug/.clangd/.cache/clangd/index/parseCanID_utils.c.090264D4E92533D3.idx


BIN
segment_main/Debug/.clangd/.cache/clangd/index/ti_msp_dl_config.c.B931F9EE02218759.idx


BIN
segment_main/Debug/.clangd/.cache/clangd/index/ti_msp_dl_config.h.C26D5E739004F756.idx


BIN
segment_main/Debug/.clangd/.cache/clangd/index/vardef_hw.h.E6C43497DAD3C33B.idx


BIN
segment_main/Debug/.clangd/.cache/clangd/index/vardef_sc.h.F23B3DA9849930BD.idx


BIN
segment_main/Debug/.clangd/.cache/clangd/index/vardef_sig.h.64476CBC96D96B8A.idx


BIN
segment_main/Debug/.clangd/.cache/clangd/index/vardef_utils.h.9287DFF09926C832.idx


+ 18 - 3
segment_main/Debug/.clangd/compile_commands.json

@@ -1,17 +1,32 @@
 [
    {
       "directory" : "C:/Users/User/workspace_ccstheia/segment_main/Debug",
-      "command"   : "clang++ -D__MSPM0G3507__ -I\"C:/Users/User/workspace_ccstheia/segment_main\" -I\"C:/Users/User/workspace_ccstheia/segment_main/Debug\" -I\"C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include\" -I\"C:/ti/mspm0_sdk_2_02_00_05/source\" -I\"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/03_hw/02_headers\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/armv7em-ti-none-eabihf/c++/v1\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/c++/v1\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/clang/18/include\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/c\"",
+      "command"   : "clang++ -D__MSPM0G3507__ -I\"C:/Users/User/workspace_ccstheia/segment_main\" -I\"C:/Users/User/workspace_ccstheia/segment_main/Debug\" -I\"C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include\" -I\"C:/ti/mspm0_sdk_2_02_00_05/source\" -I\"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/03_hw/02_headers\" -I\"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/02_sig/02_headers\" -I\"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/02_sc/02_headers\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/armv7em-ti-none-eabihf/c++/v1\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/c++/v1\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/clang/18/include\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/c\"",
       "file"      : "C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/03_hw/01_src/Hw_Interface.c"
    },
    {
       "directory" : "C:/Users/User/workspace_ccstheia/segment_main/Debug",
-      "command"   : "clang++ -D__MSPM0G3507__ -I\"C:/Users/User/workspace_ccstheia/segment_main\" -I\"C:/Users/User/workspace_ccstheia/segment_main/Debug\" -I\"C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include\" -I\"C:/ti/mspm0_sdk_2_02_00_05/source\" -I\"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/03_hw/02_headers\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/armv7em-ti-none-eabihf/c++/v1\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/c++/v1\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/clang/18/include\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/c\"",
+      "command"   : "clang++ -D__MSPM0G3507__ -I\"C:/Users/User/workspace_ccstheia/segment_main\" -I\"C:/Users/User/workspace_ccstheia/segment_main/Debug\" -I\"C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include\" -I\"C:/ti/mspm0_sdk_2_02_00_05/source\" -I\"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/03_hw/02_headers\" -I\"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/02_sig/02_headers\" -I\"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/02_sc/02_headers\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/armv7em-ti-none-eabihf/c++/v1\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/c++/v1\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/clang/18/include\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/c\"",
       "file"      : "C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/01_sc/01_src/main_sc.c"
    },
    {
       "directory" : "C:/Users/User/workspace_ccstheia/segment_main/Debug",
-      "command"   : "clang++ -D__MSPM0G3507__ -I\"C:/Users/User/workspace_ccstheia/segment_main\" -I\"C:/Users/User/workspace_ccstheia/segment_main/Debug\" -I\"C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include\" -I\"C:/ti/mspm0_sdk_2_02_00_05/source\" -I\"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/03_hw/02_headers\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/armv7em-ti-none-eabihf/c++/v1\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/c++/v1\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/clang/18/include\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/c\"",
+      "command"   : "clang++ -D__MSPM0G3507__ -I\"C:/Users/User/workspace_ccstheia/segment_main\" -I\"C:/Users/User/workspace_ccstheia/segment_main/Debug\" -I\"C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include\" -I\"C:/ti/mspm0_sdk_2_02_00_05/source\" -I\"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/03_hw/02_headers\" -I\"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/02_sig/02_headers\" -I\"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/02_sc/02_headers\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/armv7em-ti-none-eabihf/c++/v1\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/c++/v1\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/clang/18/include\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/c\"",
+      "file"      : "C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/02_sig/01_src/Com_rx_signal_sig.c"
+   },
+   {
+      "directory" : "C:/Users/User/workspace_ccstheia/segment_main/Debug",
+      "command"   : "clang++ -D__MSPM0G3507__ -I\"C:/Users/User/workspace_ccstheia/segment_main\" -I\"C:/Users/User/workspace_ccstheia/segment_main/Debug\" -I\"C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include\" -I\"C:/ti/mspm0_sdk_2_02_00_05/source\" -I\"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/03_hw/02_headers\" -I\"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/02_sig/02_headers\" -I\"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/02_sc/02_headers\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/armv7em-ti-none-eabihf/c++/v1\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/c++/v1\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/clang/18/include\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/c\"",
+      "file"      : "C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/02_sig/01_src/Com_tx_signal_sig.c"
+   },
+   {
+      "directory" : "C:/Users/User/workspace_ccstheia/segment_main/Debug",
+      "command"   : "clang++ -D__MSPM0G3507__ -I\"C:/Users/User/workspace_ccstheia/segment_main\" -I\"C:/Users/User/workspace_ccstheia/segment_main/Debug\" -I\"C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include\" -I\"C:/ti/mspm0_sdk_2_02_00_05/source\" -I\"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/03_hw/02_headers\" -I\"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/02_sig/02_headers\" -I\"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/02_sc/02_headers\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/armv7em-ti-none-eabihf/c++/v1\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/c++/v1\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/clang/18/include\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/c\"",
       "file"      : "C:/Users/User/workspace_ccstheia/segment_main/Debug/ti_msp_dl_config.c"
+   },
+   {
+      "directory" : "C:/Users/User/workspace_ccstheia/segment_main/Debug",
+      "command"   : "clang++ -D__MSPM0G3507__ -I\"C:/Users/User/workspace_ccstheia/segment_main\" -I\"C:/Users/User/workspace_ccstheia/segment_main/Debug\" -I\"C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include\" -I\"C:/ti/mspm0_sdk_2_02_00_05/source\" -I\"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/03_hw/02_headers\" -I\"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/02_sig/02_headers\" -I\"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/02_sc/02_headers\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/armv7em-ti-none-eabihf/c++/v1\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/c++/v1\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/lib/clang/18/include\" -isystem\"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/include/c\"",
+      "file"      : "C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/07_utils/01_src/parseCanID_utils.c"
    }
 ]

+ 6 - 2
segment_main/Debug/01_sw_components/01_sc/01_src/main_sc.d

@@ -77,7 +77,9 @@
  C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_wwdt.h \
  C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_interrupt.h \
  C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_systick.h \
- C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/03_hw/02_headers/vardef_hw.h
+ ../01_sw_components/03_hw/02_headers/vardef_hw.h \
+ ../01_sw_components/02_sig/02_headers/vardef_sig.h \
+ ../01_sw_components/01_sc/02_headers/vardef_sc.h
 C:/Users/User/workspace_ccstheia/segment_main/04_config/global_header.h:
 ti_msp_dl_config.h:
 C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/msp.h:
@@ -153,4 +155,6 @@ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_vref.h:
 C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_wwdt.h:
 C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_interrupt.h:
 C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_systick.h:
-C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/03_hw/02_headers/vardef_hw.h:
+../01_sw_components/03_hw/02_headers/vardef_hw.h:
+../01_sw_components/02_sig/02_headers/vardef_sig.h:
+../01_sw_components/01_sc/02_headers/vardef_sc.h:

BIN
segment_main/Debug/01_sw_components/01_sc/01_src/main_sc.o


+ 1 - 1
segment_main/Debug/01_sw_components/01_sc/01_src/subdir_rules.mk

@@ -8,7 +8,7 @@ SHELL = cmd.exe
 01_sw_components/01_sc/01_src/%.o: ../01_sw_components/01_sc/01_src/%.c $(GEN_OPTS) | $(GEN_FILES) $(GEN_MISC_FILES)
 	@echo 'Building file: "$<"'
 	@echo 'Invoking: Arm Compiler'
-	"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/bin/tiarmclang.exe" -c @"device.opt"  -march=thumbv6m -mcpu=cortex-m0plus -mfloat-abi=soft -mlittle-endian -mthumb -O2 -I"C:/Users/User/workspace_ccstheia/segment_main" -I"C:/Users/User/workspace_ccstheia/segment_main/Debug" -I"C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include" -I"C:/ti/mspm0_sdk_2_02_00_05/source" -I"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/03_hw/02_headers" -gdwarf-3 -MMD -MP -MF"01_sw_components/01_sc/01_src/$(basename $(<F)).d_raw" -MT"$(@)"  $(GEN_OPTS__FLAG) -o"$@" "$<"
+	"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/bin/tiarmclang.exe" -c @"device.opt"  -march=thumbv6m -mcpu=cortex-m0plus -mfloat-abi=soft -mlittle-endian -mthumb -O2 -I"C:/Users/User/workspace_ccstheia/segment_main" -I"C:/Users/User/workspace_ccstheia/segment_main/Debug" -I"C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include" -I"C:/ti/mspm0_sdk_2_02_00_05/source" -I"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/03_hw/02_headers" -I"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/02_sig/02_headers" -I"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/01_sc/02_headers" -gdwarf-3 -MMD -MP -MF"01_sw_components/01_sc/01_src/$(basename $(<F)).d_raw" -MT"$(@)"  $(GEN_OPTS__FLAG) -o"$@" "$<"
 	@echo 'Finished building: "$<"'
 	@echo ' '
 

+ 160 - 0
segment_main/Debug/01_sw_components/02_sig/01_src/Com_rx_signal_sig.d

@@ -0,0 +1,160 @@
+# FIXED
+
+01_sw_components/02_sig/01_src/Com_rx_signal_sig.o: \
+ ../01_sw_components/02_sig/01_src/Com_rx_signal_sig.c \
+ ../01_sw_components/02_sig/02_headers/vardef_sig.h \
+ C:/Users/User/workspace_ccstheia/segment_main/04_config/global_header.h \
+ ti_msp_dl_config.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/msp.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/DeviceFamily.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/m0p/mspm0g350x.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include/core_cm0plus.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_adc12.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_aes.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_comp.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_crc.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_dac12.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_dma.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_flashctl.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_gpio.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_gptimer.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_i2c.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_iomux.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_mathacl.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_mcan.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_oa.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_rtc.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_spi.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_trng.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_uart.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_vref.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_wuc.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_wwdt.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_factoryregion.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_cpuss.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_debugss.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_sysctl.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/sysctl/hw_sysctl_mspm0g1x0x_g3x0x.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/driverlib.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_adc12.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_common.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_factoryregion.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_core.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_aes.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_aesadv.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_comp.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_crc.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_crcp.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_dac12.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_dma.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_flashctl.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_sysctl.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/sysctl/dl_sysctl_mspm0g1x0x_g3x0x.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_gpamp.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_gpio.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_i2c.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_iwdt.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_lfss.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_keystorectl.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_lcd.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_mathacl.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_mcan.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_opa.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_rtc.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_rtc_common.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_rtc_a.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_rtc_b.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_scratchpad.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_spi.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_tamperio.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_timera.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_timer.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_timerg.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_trng.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_uart_extend.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_uart.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_uart_main.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_vref.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_wwdt.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_interrupt.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_systick.h \
+ ../01_sw_components/07_utils/02_headers/vardef_utils.h \
+ ../01_sw_components/03_hw/02_headers/vardef_hw.h
+../01_sw_components/02_sig/02_headers/vardef_sig.h:
+C:/Users/User/workspace_ccstheia/segment_main/04_config/global_header.h:
+ti_msp_dl_config.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/msp.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/DeviceFamily.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/m0p/mspm0g350x.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include/core_cm0plus.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_adc12.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_aes.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_comp.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_crc.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_dac12.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_dma.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_flashctl.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_gpio.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_gptimer.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_i2c.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_iomux.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_mathacl.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_mcan.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_oa.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_rtc.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_spi.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_trng.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_uart.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_vref.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_wuc.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_wwdt.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_factoryregion.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_cpuss.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_debugss.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_sysctl.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/sysctl/hw_sysctl_mspm0g1x0x_g3x0x.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/driverlib.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_adc12.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_common.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_factoryregion.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_core.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_aes.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_aesadv.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_comp.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_crc.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_crcp.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_dac12.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_dma.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_flashctl.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_sysctl.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/sysctl/dl_sysctl_mspm0g1x0x_g3x0x.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_gpamp.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_gpio.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_i2c.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_iwdt.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_lfss.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_keystorectl.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_lcd.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_mathacl.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_mcan.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_opa.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_rtc.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_rtc_common.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_rtc_a.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_rtc_b.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_scratchpad.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_spi.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_tamperio.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_timera.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_timer.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_timerg.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_trng.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_uart_extend.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_uart.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_uart_main.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_vref.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_wwdt.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_interrupt.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_systick.h:
+../01_sw_components/07_utils/02_headers/vardef_utils.h:
+../01_sw_components/03_hw/02_headers/vardef_hw.h:

BIN
segment_main/Debug/01_sw_components/02_sig/01_src/Com_rx_signal_sig.o


+ 160 - 0
segment_main/Debug/01_sw_components/02_sig/01_src/Com_tx_signal_sig.d

@@ -0,0 +1,160 @@
+# FIXED
+
+01_sw_components/02_sig/01_src/Com_tx_signal_sig.o: \
+ ../01_sw_components/02_sig/01_src/Com_tx_signal_sig.c \
+ ../01_sw_components/02_sig/02_headers/vardef_sig.h \
+ C:/Users/User/workspace_ccstheia/segment_main/04_config/global_header.h \
+ ti_msp_dl_config.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/msp.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/DeviceFamily.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/m0p/mspm0g350x.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include/core_cm0plus.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_adc12.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_aes.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_comp.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_crc.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_dac12.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_dma.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_flashctl.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_gpio.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_gptimer.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_i2c.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_iomux.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_mathacl.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_mcan.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_oa.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_rtc.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_spi.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_trng.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_uart.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_vref.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_wuc.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_wwdt.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_factoryregion.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_cpuss.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_debugss.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_sysctl.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/sysctl/hw_sysctl_mspm0g1x0x_g3x0x.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/driverlib.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_adc12.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_common.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_factoryregion.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_core.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_aes.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_aesadv.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_comp.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_crc.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_crcp.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_dac12.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_dma.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_flashctl.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_sysctl.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/sysctl/dl_sysctl_mspm0g1x0x_g3x0x.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_gpamp.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_gpio.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_i2c.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_iwdt.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_lfss.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_keystorectl.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_lcd.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_mathacl.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_mcan.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_opa.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_rtc.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_rtc_common.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_rtc_a.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_rtc_b.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_scratchpad.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_spi.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_tamperio.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_timera.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_timer.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_timerg.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_trng.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_uart_extend.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_uart.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_uart_main.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_vref.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_wwdt.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_interrupt.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_systick.h \
+ ../01_sw_components/07_utils/02_headers/vardef_utils.h \
+ ../01_sw_components/03_hw/02_headers/vardef_hw.h
+../01_sw_components/02_sig/02_headers/vardef_sig.h:
+C:/Users/User/workspace_ccstheia/segment_main/04_config/global_header.h:
+ti_msp_dl_config.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/msp.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/DeviceFamily.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/m0p/mspm0g350x.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include/core_cm0plus.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_adc12.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_aes.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_comp.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_crc.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_dac12.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_dma.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_flashctl.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_gpio.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_gptimer.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_i2c.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_iomux.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_mathacl.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_mcan.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_oa.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_rtc.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_spi.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_trng.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_uart.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_vref.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_wuc.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_wwdt.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_factoryregion.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_cpuss.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_debugss.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_sysctl.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/sysctl/hw_sysctl_mspm0g1x0x_g3x0x.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/driverlib.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_adc12.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_common.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_factoryregion.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_core.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_aes.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_aesadv.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_comp.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_crc.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_crcp.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_dac12.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_dma.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_flashctl.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_sysctl.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/sysctl/dl_sysctl_mspm0g1x0x_g3x0x.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_gpamp.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_gpio.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_i2c.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_iwdt.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_lfss.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_keystorectl.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_lcd.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_mathacl.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_mcan.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_opa.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_rtc.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_rtc_common.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_rtc_a.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_rtc_b.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_scratchpad.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_spi.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_tamperio.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_timera.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_timer.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_timerg.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_trng.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_uart_extend.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_uart.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_uart_main.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_vref.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_wwdt.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_interrupt.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_systick.h:
+../01_sw_components/07_utils/02_headers/vardef_utils.h:
+../01_sw_components/03_hw/02_headers/vardef_hw.h:

BIN
segment_main/Debug/01_sw_components/02_sig/01_src/Com_tx_signal_sig.o


+ 15 - 0
segment_main/Debug/01_sw_components/02_sig/01_src/subdir_rules.mk

@@ -0,0 +1,15 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+SHELL = cmd.exe
+
+# Each subdirectory must supply rules for building sources it contributes
+01_sw_components/02_sig/01_src/%.o: ../01_sw_components/02_sig/01_src/%.c $(GEN_OPTS) | $(GEN_FILES) $(GEN_MISC_FILES)
+	@echo 'Building file: "$<"'
+	@echo 'Invoking: Arm Compiler'
+	"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/bin/tiarmclang.exe" -c @"device.opt"  -march=thumbv6m -mcpu=cortex-m0plus -mfloat-abi=soft -mlittle-endian -mthumb -O2 -I"C:/Users/User/workspace_ccstheia/segment_main" -I"C:/Users/User/workspace_ccstheia/segment_main/Debug" -I"C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include" -I"C:/ti/mspm0_sdk_2_02_00_05/source" -I"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/03_hw/02_headers" -I"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/02_sig/02_headers" -I"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/01_sc/02_headers" -gdwarf-3 -MMD -MP -MF"01_sw_components/02_sig/01_src/$(basename $(<F)).d_raw" -MT"$(@)"  $(GEN_OPTS__FLAG) -o"$@" "$<"
+	@echo 'Finished building: "$<"'
+	@echo ' '
+
+

+ 32 - 0
segment_main/Debug/01_sw_components/02_sig/01_src/subdir_vars.mk

@@ -0,0 +1,32 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+SHELL = cmd.exe
+
+# Add inputs and outputs from these tool invocations to the build variables 
+C_SRCS += \
+../01_sw_components/02_sig/01_src/Com_rx_signal_sig.c \
+../01_sw_components/02_sig/01_src/Com_tx_signal_sig.c 
+
+C_DEPS += \
+./01_sw_components/02_sig/01_src/Com_rx_signal_sig.d \
+./01_sw_components/02_sig/01_src/Com_tx_signal_sig.d 
+
+OBJS += \
+./01_sw_components/02_sig/01_src/Com_rx_signal_sig.o \
+./01_sw_components/02_sig/01_src/Com_tx_signal_sig.o 
+
+OBJS__QUOTED += \
+"01_sw_components\02_sig\01_src\Com_rx_signal_sig.o" \
+"01_sw_components\02_sig\01_src\Com_tx_signal_sig.o" 
+
+C_DEPS__QUOTED += \
+"01_sw_components\02_sig\01_src\Com_rx_signal_sig.d" \
+"01_sw_components\02_sig\01_src\Com_tx_signal_sig.d" 
+
+C_SRCS__QUOTED += \
+"../01_sw_components/02_sig/01_src/Com_rx_signal_sig.c" \
+"../01_sw_components/02_sig/01_src/Com_tx_signal_sig.c" 
+
+

+ 8 - 8
segment_main/Debug/01_sw_components/03_hw/01_src/Hw_Interface.d

@@ -3,6 +3,9 @@
 01_sw_components/03_hw/01_src/Hw_Interface.o: \
  ../01_sw_components/03_hw/01_src/Hw_Interface.c \
  C:/Users/User/workspace_ccstheia/segment_main/04_config/global_header.h \
+ ti_msp_dl_config.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/msp.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/DeviceFamily.h \
  C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/m0p/mspm0g350x.h \
  C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include/core_cm0plus.h \
  C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_adc12.h \
@@ -30,10 +33,7 @@
  C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_cpuss.h \
  C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_debugss.h \
  C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_sysctl.h \
- C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/DeviceFamily.h \
  C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/sysctl/hw_sysctl_mspm0g1x0x_g3x0x.h \
- ti_msp_dl_config.h \
- C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/msp.h \
  C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/driverlib.h \
  C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_adc12.h \
  C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_common.h \
@@ -77,8 +77,11 @@
  C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_wwdt.h \
  C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_interrupt.h \
  C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_systick.h \
- C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/03_hw/02_headers/vardef_hw.h
+ ../01_sw_components/03_hw/02_headers/vardef_hw.h
 C:/Users/User/workspace_ccstheia/segment_main/04_config/global_header.h:
+ti_msp_dl_config.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/msp.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/DeviceFamily.h:
 C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/m0p/mspm0g350x.h:
 C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include/core_cm0plus.h:
 C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_adc12.h:
@@ -106,10 +109,7 @@ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_factoryregio
 C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_cpuss.h:
 C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_debugss.h:
 C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_sysctl.h:
-C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/DeviceFamily.h:
 C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/sysctl/hw_sysctl_mspm0g1x0x_g3x0x.h:
-ti_msp_dl_config.h:
-C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/msp.h:
 C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/driverlib.h:
 C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_adc12.h:
 C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_common.h:
@@ -153,4 +153,4 @@ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_vref.h:
 C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_wwdt.h:
 C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_interrupt.h:
 C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_systick.h:
-C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/03_hw/02_headers/vardef_hw.h:
+../01_sw_components/03_hw/02_headers/vardef_hw.h:

BIN
segment_main/Debug/01_sw_components/03_hw/01_src/Hw_Interface.o


+ 1 - 1
segment_main/Debug/01_sw_components/03_hw/01_src/subdir_rules.mk

@@ -8,7 +8,7 @@ SHELL = cmd.exe
 01_sw_components/03_hw/01_src/%.o: ../01_sw_components/03_hw/01_src/%.c $(GEN_OPTS) | $(GEN_FILES) $(GEN_MISC_FILES)
 	@echo 'Building file: "$<"'
 	@echo 'Invoking: Arm Compiler'
-	"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/bin/tiarmclang.exe" -c @"device.opt"  -march=thumbv6m -mcpu=cortex-m0plus -mfloat-abi=soft -mlittle-endian -mthumb -O2 -I"C:/Users/User/workspace_ccstheia/segment_main" -I"C:/Users/User/workspace_ccstheia/segment_main/Debug" -I"C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include" -I"C:/ti/mspm0_sdk_2_02_00_05/source" -I"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/03_hw/02_headers" -gdwarf-3 -MMD -MP -MF"01_sw_components/03_hw/01_src/$(basename $(<F)).d_raw" -MT"$(@)"  $(GEN_OPTS__FLAG) -o"$@" "$<"
+	"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/bin/tiarmclang.exe" -c @"device.opt"  -march=thumbv6m -mcpu=cortex-m0plus -mfloat-abi=soft -mlittle-endian -mthumb -O2 -I"C:/Users/User/workspace_ccstheia/segment_main" -I"C:/Users/User/workspace_ccstheia/segment_main/Debug" -I"C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include" -I"C:/ti/mspm0_sdk_2_02_00_05/source" -I"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/03_hw/02_headers" -I"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/02_sig/02_headers" -I"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/01_sc/02_headers" -gdwarf-3 -MMD -MP -MF"01_sw_components/03_hw/01_src/$(basename $(<F)).d_raw" -MT"$(@)"  $(GEN_OPTS__FLAG) -o"$@" "$<"
 	@echo 'Finished building: "$<"'
 	@echo ' '
 

+ 156 - 0
segment_main/Debug/01_sw_components/07_utils/01_src/parseCanID_utils.d

@@ -0,0 +1,156 @@
+# FIXED
+
+01_sw_components/07_utils/01_src/parseCanID_utils.o: \
+ ../01_sw_components/07_utils/01_src/parseCanID_utils.c \
+ C:/Users/User/workspace_ccstheia/segment_main/04_config/global_header.h \
+ ti_msp_dl_config.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/msp.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/DeviceFamily.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/m0p/mspm0g350x.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include/core_cm0plus.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_adc12.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_aes.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_comp.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_crc.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_dac12.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_dma.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_flashctl.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_gpio.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_gptimer.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_i2c.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_iomux.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_mathacl.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_mcan.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_oa.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_rtc.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_spi.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_trng.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_uart.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_vref.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_wuc.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_wwdt.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_factoryregion.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_cpuss.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_debugss.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_sysctl.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/sysctl/hw_sysctl_mspm0g1x0x_g3x0x.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/driverlib.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_adc12.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_common.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_factoryregion.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_core.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_aes.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_aesadv.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_comp.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_crc.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_crcp.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_dac12.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_dma.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_flashctl.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_sysctl.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/sysctl/dl_sysctl_mspm0g1x0x_g3x0x.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_gpamp.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_gpio.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_i2c.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_iwdt.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_lfss.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_keystorectl.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_lcd.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_mathacl.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_mcan.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_opa.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_rtc.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_rtc_common.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_rtc_a.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_rtc_b.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_scratchpad.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_spi.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_tamperio.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_timera.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_timer.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_timerg.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_trng.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_uart_extend.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_uart.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_uart_main.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_vref.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_wwdt.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_interrupt.h \
+ C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_systick.h \
+ ../01_sw_components/07_utils/02_headers/vardef_utils.h
+C:/Users/User/workspace_ccstheia/segment_main/04_config/global_header.h:
+ti_msp_dl_config.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/msp.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/DeviceFamily.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/m0p/mspm0g350x.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include/core_cm0plus.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_adc12.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_aes.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_comp.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_crc.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_dac12.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_dma.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_flashctl.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_gpio.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_gptimer.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_i2c.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_iomux.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_mathacl.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_mcan.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_oa.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_rtc.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_spi.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_trng.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_uart.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_vref.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_wuc.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/hw_wwdt.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_factoryregion.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_cpuss.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_debugss.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/hw_sysctl.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/peripherals/m0p/sysctl/hw_sysctl_mspm0g1x0x_g3x0x.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/driverlib.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_adc12.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_common.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_factoryregion.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_core.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_aes.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_aesadv.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_comp.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_crc.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_crcp.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_dac12.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_dma.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_flashctl.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_sysctl.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/sysctl/dl_sysctl_mspm0g1x0x_g3x0x.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_gpamp.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_gpio.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_i2c.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_iwdt.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_lfss.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_keystorectl.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_lcd.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_mathacl.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_mcan.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_opa.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_rtc.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_rtc_common.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_rtc_a.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_rtc_b.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_scratchpad.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_spi.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_tamperio.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_timera.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_timer.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_timerg.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_trng.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_uart_extend.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_uart.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_uart_main.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_vref.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/dl_wwdt.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_interrupt.h:
+C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/m0p/dl_systick.h:
+../01_sw_components/07_utils/02_headers/vardef_utils.h:

BIN
segment_main/Debug/01_sw_components/07_utils/01_src/parseCanID_utils.o


+ 15 - 0
segment_main/Debug/01_sw_components/07_utils/01_src/subdir_rules.mk

@@ -0,0 +1,15 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+SHELL = cmd.exe
+
+# Each subdirectory must supply rules for building sources it contributes
+01_sw_components/07_utils/01_src/%.o: ../01_sw_components/07_utils/01_src/%.c $(GEN_OPTS) | $(GEN_FILES) $(GEN_MISC_FILES)
+	@echo 'Building file: "$<"'
+	@echo 'Invoking: Arm Compiler'
+	"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/bin/tiarmclang.exe" -c @"device.opt"  -march=thumbv6m -mcpu=cortex-m0plus -mfloat-abi=soft -mlittle-endian -mthumb -O2 -I"C:/Users/User/workspace_ccstheia/segment_main" -I"C:/Users/User/workspace_ccstheia/segment_main/Debug" -I"C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include" -I"C:/ti/mspm0_sdk_2_02_00_05/source" -I"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/03_hw/02_headers" -I"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/02_sig/02_headers" -I"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/01_sc/02_headers" -gdwarf-3 -MMD -MP -MF"01_sw_components/07_utils/01_src/$(basename $(<F)).d_raw" -MT"$(@)"  $(GEN_OPTS__FLAG) -o"$@" "$<"
+	@echo 'Finished building: "$<"'
+	@echo ' '
+
+

+ 26 - 0
segment_main/Debug/01_sw_components/07_utils/01_src/subdir_vars.mk

@@ -0,0 +1,26 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+################################################################################
+
+SHELL = cmd.exe
+
+# Add inputs and outputs from these tool invocations to the build variables 
+C_SRCS += \
+../01_sw_components/07_utils/01_src/parseCanID_utils.c 
+
+C_DEPS += \
+./01_sw_components/07_utils/01_src/parseCanID_utils.d 
+
+OBJS += \
+./01_sw_components/07_utils/01_src/parseCanID_utils.o 
+
+OBJS__QUOTED += \
+"01_sw_components\07_utils\01_src\parseCanID_utils.o" 
+
+C_DEPS__QUOTED += \
+"01_sw_components\07_utils\01_src\parseCanID_utils.d" 
+
+C_SRCS__QUOTED += \
+"../01_sw_components/07_utils/01_src/parseCanID_utils.c" 
+
+

+ 2 - 2
segment_main/Debug/04_config/subdir_rules.mk

@@ -22,14 +22,14 @@ Event.dot: build-442573391
 %.o: ./%.c $(GEN_OPTS) | $(GEN_FILES) $(GEN_MISC_FILES)
 	@echo 'Building file: "$<"'
 	@echo 'Invoking: Arm Compiler'
-	"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/bin/tiarmclang.exe" -c @"device.opt"  -march=thumbv6m -mcpu=cortex-m0plus -mfloat-abi=soft -mlittle-endian -mthumb -O2 -I"C:/Users/User/workspace_ccstheia/segment_main" -I"C:/Users/User/workspace_ccstheia/segment_main/Debug" -I"C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include" -I"C:/ti/mspm0_sdk_2_02_00_05/source" -I"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/03_hw/02_headers" -gdwarf-3 -MMD -MP -MF"$(basename $(<F)).d_raw" -MT"$(@)"  $(GEN_OPTS__FLAG) -o"$@" "$<"
+	"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/bin/tiarmclang.exe" -c @"device.opt"  -march=thumbv6m -mcpu=cortex-m0plus -mfloat-abi=soft -mlittle-endian -mthumb -O2 -I"C:/Users/User/workspace_ccstheia/segment_main" -I"C:/Users/User/workspace_ccstheia/segment_main/Debug" -I"C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include" -I"C:/ti/mspm0_sdk_2_02_00_05/source" -I"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/03_hw/02_headers" -I"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/02_sig/02_headers" -I"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/02_sc/02_headers" -gdwarf-3 -MMD -MP -MF"$(basename $(<F)).d_raw" -MT"$(@)"  $(GEN_OPTS__FLAG) -o"$@" "$<"
 	@echo 'Finished building: "$<"'
 	@echo ' '
 
 04_config/startup_mspm0g350x_ticlang.o: C:/ti/mspm0_sdk_2_02_00_05/source/ti/devices/msp/m0p/startup_system_files/ticlang/startup_mspm0g350x_ticlang.c $(GEN_OPTS) | $(GEN_FILES) $(GEN_MISC_FILES)
 	@echo 'Building file: "$<"'
 	@echo 'Invoking: Arm Compiler'
-	"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/bin/tiarmclang.exe" -c @"device.opt"  -march=thumbv6m -mcpu=cortex-m0plus -mfloat-abi=soft -mlittle-endian -mthumb -O2 -I"C:/Users/User/workspace_ccstheia/segment_main" -I"C:/Users/User/workspace_ccstheia/segment_main/Debug" -I"C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include" -I"C:/ti/mspm0_sdk_2_02_00_05/source" -I"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/03_hw/02_headers" -gdwarf-3 -MMD -MP -MF"$(basename $(<F)).d_raw" -MT"$(@)"  $(GEN_OPTS__FLAG) -o"$@" "$<"
+	"C:/ti/ccstheia150/ccs/tools/compiler/ti-cgt-armllvm_4.0.0.LTS/bin/tiarmclang.exe" -c @"device.opt"  -march=thumbv6m -mcpu=cortex-m0plus -mfloat-abi=soft -mlittle-endian -mthumb -O2 -I"C:/Users/User/workspace_ccstheia/segment_main" -I"C:/Users/User/workspace_ccstheia/segment_main/Debug" -I"C:/ti/mspm0_sdk_2_02_00_05/source/third_party/CMSIS/Core/Include" -I"C:/ti/mspm0_sdk_2_02_00_05/source" -I"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/03_hw/02_headers" -I"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/02_sig/02_headers" -I"C:/Users/User/workspace_ccstheia/segment_main/01_sw_components/02_sc/02_headers" -gdwarf-3 -MMD -MP -MF"$(basename $(<F)).d_raw" -MT"$(@)"  $(GEN_OPTS__FLAG) -o"$@" "$<"
 	@echo 'Finished building: "$<"'
 	@echo ' '
 

+ 3 - 0
segment_main/Debug/ccsObjs.opt

@@ -1,5 +1,8 @@
 "./01_sw_components/01_sc/01_src/main_sc.o"
+"./01_sw_components/02_sig/01_src/Com_rx_signal_sig.o"
+"./01_sw_components/02_sig/01_src/Com_tx_signal_sig.o"
 "./01_sw_components/03_hw/01_src/Hw_Interface.o"
+"./01_sw_components/07_utils/01_src/parseCanID_utils.o"
 "./ti_msp_dl_config.o"
 "./04_config/startup_mspm0g350x_ticlang.o"
 -l"./device_linker.cmd"

+ 9 - 2
segment_main/Debug/makefile

@@ -11,7 +11,10 @@ GEN_CMDS__FLAG := -Wl,-l"./device_linker.cmd"
 
 ORDERED_OBJS += \
 "./01_sw_components/01_sc/01_src/main_sc.o" \
+"./01_sw_components/02_sig/01_src/Com_rx_signal_sig.o" \
+"./01_sw_components/02_sig/01_src/Com_tx_signal_sig.o" \
 "./01_sw_components/03_hw/01_src/Hw_Interface.o" \
+"./01_sw_components/07_utils/01_src/parseCanID_utils.o" \
 "./ti_msp_dl_config.o" \
 "./04_config/startup_mspm0g350x_ticlang.o" \
 $(GEN_CMDS__FLAG) \
@@ -26,10 +29,14 @@ RMDIR := RMDIR /S/Q
 # All of the sources participating in the build are defined here
 -include sources.mk
 -include 01_sw_components/01_sc/01_src/subdir_vars.mk
+-include 01_sw_components/02_sig/01_src/subdir_vars.mk
 -include 01_sw_components/03_hw/01_src/subdir_vars.mk
+-include 01_sw_components/07_utils/01_src/subdir_vars.mk
 -include 04_config/subdir_vars.mk
 -include 01_sw_components/01_sc/01_src/subdir_rules.mk
+-include 01_sw_components/02_sig/01_src/subdir_rules.mk
 -include 01_sw_components/03_hw/01_src/subdir_rules.mk
+-include 01_sw_components/07_utils/01_src/subdir_rules.mk
 -include 04_config/subdir_rules.mk
 -include objects.mk
 
@@ -148,8 +155,8 @@ segment_main.out: $(OBJS) $(GEN_CMDS)
 # Other Targets
 clean:
 	-$(RM) $(GEN_MISC_FILES__QUOTED)$(GEN_FILES__QUOTED)$(EXE_OUTPUTS__QUOTED)
-	-$(RM) "01_sw_components\01_sc\01_src\main_sc.o" "01_sw_components\03_hw\01_src\Hw_Interface.o" "ti_msp_dl_config.o" "04_config\startup_mspm0g350x_ticlang.o" 
-	-$(RM) "01_sw_components\01_sc\01_src\main_sc.d" "01_sw_components\03_hw\01_src\Hw_Interface.d" "ti_msp_dl_config.d" "startup_mspm0g350x_ticlang.d" 
+	-$(RM) "01_sw_components\01_sc\01_src\main_sc.o" "01_sw_components\02_sig\01_src\Com_rx_signal_sig.o" "01_sw_components\02_sig\01_src\Com_tx_signal_sig.o" "01_sw_components\03_hw\01_src\Hw_Interface.o" "01_sw_components\07_utils\01_src\parseCanID_utils.o" "ti_msp_dl_config.o" "04_config\startup_mspm0g350x_ticlang.o" 
+	-$(RM) "01_sw_components\01_sc\01_src\main_sc.d" "01_sw_components\02_sig\01_src\Com_rx_signal_sig.d" "01_sw_components\02_sig\01_src\Com_tx_signal_sig.d" "01_sw_components\03_hw\01_src\Hw_Interface.d" "01_sw_components\07_utils\01_src\parseCanID_utils.d" "ti_msp_dl_config.d" "startup_mspm0g350x_ticlang.d" 
 	-@echo 'Finished clean'
 	-@echo ' '
 

+ 499 - 330
segment_main/Debug/segment_main.map

@@ -1,18 +1,18 @@
 ******************************************************************************
             TI ARM Clang Linker PC v4.0.0                      
 ******************************************************************************
->> Linked Tue Oct  8 16:36:25 2024
+>> Linked Fri Oct 11 15:50:10 2024
 
 OUTPUT FILE NAME:   <segment_main.out>
-ENTRY POINT SYMBOL: "_c_int00_noargs"  address: 00000e7d
+ENTRY POINT SYMBOL: "_c_int00_noargs"  address: 0000290d
 
 
 MEMORY CONFIGURATION
 
          name            origin    length      used     unused   attr    fill
 ----------------------  --------  ---------  --------  --------  ----  --------
-  FLASH                 00000000   00020000  00001008  0001eff8  R  X
-  SRAM                  20200000   00008000  00000219  00007de7  RW X
+  FLASH                 00000000   00020000  00002d98  0001d268  R  X
+  SRAM                  20200000   00008000  00000220  00007de0  RW X
   BCR_CONFIG            41c00000   00000080  00000000  00000080  R   
   BSL_CONFIG            41c00100   00000080  00000000  00000080  R   
 
@@ -21,14 +21,14 @@ SEGMENT ALLOCATION MAP
 
 run origin  load origin   length   init length attrs members
 ----------  ----------- ---------- ----------- ----- -------
-00000000    00000000    00001008   00001008    r-x
+00000000    00000000    00002d98   00002d98    r-x
   00000000    00000000    000000c0   000000c0    r-- .intvecs
-  000000c0    000000c0    00000f10   00000f10    r-x .text
-  00000fd0    00000fd0    00000008   00000008    r-- .rodata
-  00000fd8    00000fd8    00000030   00000030    r-- .cinit
-20200000    20200000    0000001c   00000000    rw-
-  20200000    20200000    00000015   00000000    rw- .bss
-  20200018    20200018    00000004   00000000    rw- .data
+  000000c0    000000c0    00002b20   00002b20    r-x .text
+  00002be0    00002be0    00000188   00000188    r-- .rodata
+  00002d68    00002d68    00000030   00000030    r-- .cinit
+20200000    20200000    00000022   00000000    rw-
+  20200000    20200000    0000001a   00000000    rw- .bss
+  2020001c    2020001c    00000006   00000000    rw- .data
 20207e00    20207e00    00000200   00000000    rw-
   20207e00    20207e00    00000200   00000000    rw- .stack
 
@@ -41,85 +41,153 @@ section   page    origin      length       input sections
 .intvecs   0    00000000    000000c0     
                   00000000    000000c0     startup_mspm0g350x_ticlang.o (.intvecs)
 
-.text      0    000000c0    00000f10     
+.text      0    000000c0    00002b20     
                   000000c0    00000358     libc.a : e_log.c.obj (.text.log)
-                  00000418    00000192     libclang_rt.builtins.a : adddf3.S.obj (.text.adddf3_subdf3)
-                  000005aa    00000002     startup_mspm0g350x_ticlang.o (.text.Default_Handler)
-                  000005ac    0000010c     libclang_rt.builtins.a : divdf3.S.obj (.text.__divdf3)
-                  000006b8    000000e4                            : muldf3.S.obj (.text.__muldf3)
-                  0000079c    000000b8     Hw_Interface.o (.text.AI_GetUITempCell_Hw)
-                  00000854    000000ac     Hw_Interface.o (.text.AI_GetTempInC)
-                  00000900    0000009a     libc.a : memcpy16.S.obj (.text:memcpy)
-                  0000099a    00000002     --HOLE-- [fill = 0]
-                  0000099c    0000007c            : copy_decompress_lzss.c.obj (.text:decompress:lzss)
-                  00000a18    00000074     libclang_rt.builtins.a : comparedf2.c.obj (.text.__gedf2)
-                  00000a8c    00000004     startup_mspm0g350x_ticlang.o (.text.Reset_Handler)
-                  00000a90    00000074     libclang_rt.builtins.a : truncdfsf2.S.obj (.text.__truncdfsf2)
-                  00000b04    00000068                            : comparedf2.c.obj (.text.__ledf2)
-                  00000b6c    00000062                            : aeabi_dcmp.S.obj (.text.__aeabi_dcmp)
-                  00000bce    00000002     --HOLE-- [fill = 0]
-                  00000bd0    00000050     ti_msp_dl_config.o (.text.SYSCFG_DL_ADC12_0_init)
-                  00000c20    00000050     main_sc.o (.text.main)
-                  00000c70    0000004c     driverlib.a : dl_adc12.o (.text.DL_ADC12_setClockConfig)
-                  00000cbc    00000040     ti_msp_dl_config.o (.text.SYSCFG_DL_SYSCTL_init)
-                  00000cfc    00000040     libclang_rt.builtins.a : extendsfdf2.S.obj (.text.__extendsfdf2)
-                  00000d3c    0000003c                            : floatsisf.S.obj (.text.__floatsisf)
-                  00000d78    0000003c     libc.a : autoinit.c.obj (.text:__TI_auto_init_nobinit_nopinit)
-                  00000db4    0000003a     libclang_rt.builtins.a : muldsi3.S.obj (.text.__muldsi3)
-                  00000dee    00000002     --HOLE-- [fill = 0]
-                  00000df0    00000038     ti_msp_dl_config.o (.text.SYSCFG_DL_initPower)
-                  00000e28    0000002c     libclang_rt.builtins.a : floatsidf.S.obj (.text.__floatsidf)
-                  00000e54    00000028     driverlib.a : dl_adc12.o (.text.DL_Common_updateReg)
-                  00000e7c    00000028     libc.a : boot_cortex_m.c.obj (.text:_c_int00_noargs)
-                  00000ea4    00000024     Hw_Interface.o (.text.AI_GetIInA)
-                  00000ec8    00000024     ti_msp_dl_config.o (.text.SYSCFG_DL_GPIO_init)
-                  00000eec    0000001c     main_sc.o (.text.ADC0_IRQHandler)
-                  00000f08    00000016     libc.a : copy_zero_init.c.obj (.text:decompress:ZI:__TI_zero_init_nomemset)
-                  00000f1e    00000014     driverlib.a : dl_common.o (.text.DL_Common_delayCycles)
-                  00000f32    00000014     ti_msp_dl_config.o (.text.SYSCFG_DL_init)
-                  00000f46    00000012     libc.a : copy_decompress_none.c.obj (.text:decompress:none)
-                  00000f58    0000000a            : e_log.c.obj (.text.OUTLINED_FUNCTION_0)
-                  00000f62    00000002     --HOLE-- [fill = 0]
-                  00000f64    00000010     libclang_rt.builtins.a : muldf3.S.obj (.tramp.__aeabi_dmul.1)
-                  00000f74    0000000a     libc.a : e_log.c.obj (.text.OUTLINED_FUNCTION_3)
-                  00000f7e    00000002     --HOLE-- [fill = 0]
-                  00000f80    00000010     libclang_rt.builtins.a : adddf3.S.obj (.tramp.__aeabi_dsub.1)
-                  00000f90    0000000a     libc.a : e_log.c.obj (.text.OUTLINED_FUNCTION_4)
-                  00000f9a    0000000a            : e_log.c.obj (.text.OUTLINED_FUNCTION_5)
-                  00000fa4    00000008            : aeabi_portable.c.obj (.text.__aeabi_errno_addr)
-                  00000fac    00000008     libclang_rt.builtins.a : aeabi_memcpy.S.obj (.text.__aeabi_memcpy)
-                  00000fb4    00000006     libc.a : e_log.c.obj (.text.OUTLINED_FUNCTION_1)
-                  00000fba    00000006            : e_log.c.obj (.text.OUTLINED_FUNCTION_2)
-                  00000fc0    00000004            : pre_init.c.obj (.text._system_pre_init)
-                  00000fc4    00000004            : exit.c.obj (.text:abort)
-                  00000fc8    00000008     --HOLE-- [fill = 0]
-
-.cinit     0    00000fd8    00000030     
-                  00000fd8    0000000c     (__TI_handler_table)
-                  00000fe4    00000008     (.cinit..bss.load) [load image, compression = zero_init]
-                  00000fec    00000007     (.cinit..data.load) [load image, compression = lzss]
-                  00000ff3    00000001     --HOLE-- [fill = 0]
-                  00000ff4    00000010     (__TI_cinit_table)
-                  00001004    00000004     --HOLE-- [fill = 0]
-
-.rodata    0    00000fd0    00000008     
-                  00000fd0    00000008     ti_msp_dl_config.o (.rodata.gADC12_0ClockConfig)
+                  00000418    000002a8     driverlib.a : dl_mcan.o (.text.DL_MCAN_msgRAMConfig)
+                  000006c0    00000212     Com_rx_signal_sig.o (.text.AI_Com_RX_process_CAN_messages)
+                  000008d2    00000002     startup_mspm0g350x_ticlang.o (.text.Default_Handler)
+                  000008d4    00000192     libclang_rt.builtins.a : adddf3.S.obj (.text.adddf3_subdf3)
+                  00000a66    00000002                            : aeabi_div0.c.obj (.text.__aeabi_idiv0)
+                  00000a68    00000184     driverlib.a : dl_mcan.o (.text.DL_MCAN_init)
+                  00000bec    0000017e                 : dl_mcan.o (.text.DL_MCAN_readMsg)
+                  00000d6a    00000002     --HOLE-- [fill = 0]
+                  00000d6c    00000154     Com_tx_signal_sig.o (.text.AI_Com_TX_cell_status)
+                  00000ec0    00000144     driverlib.a : dl_mcan.o (.text.DL_MCAN_setBitTime)
+                  00001004    00000140                 : dl_mcan.o (.text.DL_MCAN_writeMsg)
+                  00001144    00000130                 : dl_mcan.o (.text.DL_MCAN_readMsgRam)
+                  00001274    0000012c                 : dl_mcan.o (.text.DL_MCAN_config)
+                  000013a0    0000011c     ti_msp_dl_config.o (.text.SYSCFG_DL_MCAN0_init)
+                  000014bc    0000010c     libclang_rt.builtins.a : divdf3.S.obj (.text.__divdf3)
+                  000015c8    000000ec     driverlib.a : dl_sysctl_mspm0g1x0x_g3x0x.o (.text.DL_SYSCTL_configSYSPLL)
+                  000016b4    000000e4     libclang_rt.builtins.a : muldf3.S.obj (.text.__muldf3)
+                  00001798    000000c4     driverlib.a : dl_mcan.o (.text.DL_MCAN_getRxFIFOStatus)
+                  0000185c    000000c0     Com_tx_signal_sig.o (.text.AI_Com_TX_segment_status)
+                  0000191c    000000c0     Hw_Interface.o (.text.AI_GetUITempCell_Hw)
+                  000019dc    000000b8     Com_rx_signal_sig.o (.text.AI_Com_MCAN_Receive_Msg)
+                  00001a94    000000b8     driverlib.a : dl_mcan.o (.text.DL_MCAN_writeRxFIFOAck)
+                  00001b4c    000000b4                 : dl_mcan.o (.text.DL_MCAN_writeMsgRam)
+                  00001c00    000000ac     Hw_Interface.o (.text.AI_GetTempInC)
+                  00001cac    000000a8     Com_tx_signal_sig.o (.text.AI_Com_TX_discovery_response)
+                  00001d54    000000a0     main_sc.o (.text.main)
+                  00001df4    0000009a     libc.a : memcpy16.S.obj (.text:memcpy)
+                  00001e8e    00000002     --HOLE-- [fill = 0]
+                  00001e90    00000098     Hw_Interface.o (.text.AI_Enable_Disable_Cell_Hw)
+                  00001f28    00000094     driverlib.a : dl_mcan.o (.text.DL_MCAN_getRevisionId)
+                  00001fbc    0000007c     libc.a : copy_decompress_lzss.c.obj (.text:decompress:lzss)
+                  00002038    00000074     driverlib.a : dl_mcan.o (.text.DL_MCAN_addStdMsgIDFilter)
+                  000020ac    00000074     libclang_rt.builtins.a : comparedf2.c.obj (.text.__gedf2)
+                  00002120    00000074                            : truncdfsf2.S.obj (.text.__truncdfsf2)
+                  00002194    00000068     driverlib.a : dl_mcan.o (.text.DL_MCAN_enableIntr)
+                  000021fc    00000068     libclang_rt.builtins.a : comparedf2.c.obj (.text.__ledf2)
+                  00002264    00000064     driverlib.a : dl_mcan.o (.text.DL_MCAN_selectIntrLine)
+                  000022c8    00000064     ti_msp_dl_config.o (.text.SYSCFG_DL_ADC12_0_init)
+                  0000232c    00000062     libclang_rt.builtins.a : aeabi_dcmp.S.obj (.text.__aeabi_dcmp)
+                  0000238e    00000062     libc.a : memset16.S.obj (.text:memset)
+                  000023f0    00000058     driverlib.a : dl_mcan.o (.text.DL_MCAN_enableIntrLine)
+                  00002448    00000054                 : dl_mcan.o (.text.DL_MCAN_TXBufAddReq)
+                  0000249c    0000004c                 : dl_adc12.o (.text.DL_ADC12_setClockConfig)
+                  000024e8    0000004c                 : dl_mcan.o (.text.DL_MCAN_setExtIDAndMask)
+                  00002534    00000044     ti_msp_dl_config.o (.text.SYSCFG_DL_GPIO_init)
+                  00002578    00000040     main_sc.o (.text.CANFD0_IRQHandler)
+                  000025b8    00000040     driverlib.a : dl_mcan.o (.text.DL_MCAN_isMemInitDone)
+                  000025f8    00000040     ti_msp_dl_config.o (.text.SYSCFG_DL_initPower)
+                  00002638    00000040     libclang_rt.builtins.a : aeabi_uidivmod.S.obj (.text.__aeabi_uidivmod)
+                  00002678    00000040                            : extendsfdf2.S.obj (.text.__extendsfdf2)
+                  000026b8    0000003c     ti_msp_dl_config.o (.text.SYSCFG_DL_SYSCTL_init)
+                  000026f4    0000003c     libclang_rt.builtins.a : floatsisf.S.obj (.text.__floatsisf)
+                  00002730    0000003c     libc.a : autoinit.c.obj (.text:__TI_auto_init_nobinit_nopinit)
+                  0000276c    0000003a     libclang_rt.builtins.a : muldsi3.S.obj (.text.__muldsi3)
+                  000027a6    00000002     --HOLE-- [fill = 0]
+                  000027a8    00000034     driverlib.a : dl_mcan.o (.text.DL_MCAN_clearIntrStatus)
+                  000027dc    00000032                 : dl_mcan.o (.text.HW_WR_FIELD32_RAW)
+                  0000280e    00000002     --HOLE-- [fill = 0]
+                  00002810    0000002c                 : dl_mcan.o (.text.DL_MCAN_getDataSize)
+                  0000283c    0000002c                 : dl_mcan.o (.text.DL_MCAN_setClockConfig)
+                  00002868    0000002c     libclang_rt.builtins.a : floatsidf.S.obj (.text.__floatsidf)
+                  00002894    00000028     driverlib.a : dl_adc12.o (.text.DL_Common_updateReg)
+                  000028bc    00000028                 : dl_mcan.o (.text.DL_Common_updateReg)
+                  000028e4    00000028                 : dl_sysctl_mspm0g1x0x_g3x0x.o (.text.DL_Common_updateReg)
+                  0000290c    00000028     libc.a : boot_cortex_m.c.obj (.text:_c_int00_noargs)
+                  00002934    00000024     Hw_Interface.o (.text.AI_GetIInA)
+                  00002958    00000024     driverlib.a : dl_mcan.o (.text.DL_MCAN_getMsgObjSize)
+                  0000297c    00000020                 : dl_sysctl_mspm0g1x0x_g3x0x.o (.text.DL_CORE_configInstruction)
+                  0000299c    00000020                 : dl_mcan.o (.text.DL_MCAN_setOpMode)
+                  000029bc    00000020                 : dl_mcan.o (.text.DL_MCAN_writeProtectedRegAccessLock)
+                  000029dc    00000020                 : dl_mcan.o (.text.DL_MCAN_writeProtectedRegAccessUnlock)
+                  000029fc    00000020                 : dl_mcan.o (.text.HW_RD_FIELD32_RAW)
+                  00002a1c    0000001c     main_sc.o (.text.ADC0_IRQHandler)
+                  00002a38    0000001c     driverlib.a : dl_mcan.o (.text.DL_MCAN_getOpMode)
+                  00002a54    00000018     parseCanID_utils.o (.text.AI_PackCanId_Utils)
+                  00002a6c    00000018     parseCanID_utils.o (.text.AI_Parse_Can_id_Utils)
+                  00002a84    00000018     driverlib.a : dl_mcan.o (.text.DL_MCAN_getIntrStatus)
+                  00002a9c    00000018     ti_msp_dl_config.o (.text.SYSCFG_DL_init)
+                  00002ab4    00000016     libc.a : copy_zero_init.c.obj (.text:decompress:ZI:__TI_zero_init_nomemset)
+                  00002aca    00000002     --HOLE-- [fill = 0]
+                  00002acc    00000014     Hw_Interface.o (.text.AI_Bridge_UnbridgeSegment_Hw)
+                  00002ae0    00000014     driverlib.a : dl_common.o (.text.DL_Common_delayCycles)
+                  00002af4    00000014                 : dl_sysctl_mspm0g1x0x_g3x0x.o (.text.DL_SYSCTL_disableSYSPLL)
+                  00002b08    00000012     libc.a : copy_decompress_none.c.obj (.text:decompress:none)
+                  00002b1a    00000002     --HOLE-- [fill = 0]
+                  00002b1c    00000010     driverlib.a : dl_sysctl_mspm0g1x0x_g3x0x.o (.text.DL_CORE_getInstructionConfig)
+                  00002b2c    00000010                 : dl_mcan.o (.text.HW_RD_REG32_RAW)
+                  00002b3c    00000010                 : dl_mcan.o (.text.HW_WR_REG32_RAW)
+                  00002b4c    0000000c                 : dl_sysctl_mspm0g1x0x_g3x0x.o (.text.DL_SYSCTL_getClockStatus)
+                  00002b58    0000000c     libclang_rt.builtins.a : aeabi_memset.S.obj (.text.__aeabi_memclr)
+                  00002b64    0000000a     libc.a : e_log.c.obj (.text.OUTLINED_FUNCTION_0)
+                  00002b6e    00000002     --HOLE-- [fill = 0]
+                  00002b70    00000010     libclang_rt.builtins.a : muldf3.S.obj (.tramp.__aeabi_dmul.1)
+                  00002b80    0000000a     libc.a : e_log.c.obj (.text.OUTLINED_FUNCTION_3)
+                  00002b8a    00000002     --HOLE-- [fill = 0]
+                  00002b8c    00000010     libclang_rt.builtins.a : adddf3.S.obj (.tramp.__aeabi_dsub.1)
+                  00002b9c    0000000a     libc.a : e_log.c.obj (.text.OUTLINED_FUNCTION_4)
+                  00002ba6    0000000a            : e_log.c.obj (.text.OUTLINED_FUNCTION_5)
+                  00002bb0    00000008            : aeabi_portable.c.obj (.text.__aeabi_errno_addr)
+                  00002bb8    00000008     libclang_rt.builtins.a : aeabi_memcpy.S.obj (.text.__aeabi_memcpy)
+                  00002bc0    00000006     libc.a : e_log.c.obj (.text.OUTLINED_FUNCTION_1)
+                  00002bc6    00000006            : e_log.c.obj (.text.OUTLINED_FUNCTION_2)
+                  00002bcc    00000004     startup_mspm0g350x_ticlang.o (.text.Reset_Handler)
+                  00002bd0    00000004     libc.a : pre_init.c.obj (.text._system_pre_init)
+                  00002bd4    00000004            : exit.c.obj (.text:abort)
+                  00002bd8    00000008     --HOLE-- [fill = 0]
+
+.cinit     0    00002d68    00000030     
+                  00002d68    0000000c     (__TI_handler_table)
+                  00002d74    00000009     (.cinit..data.load) [load image, compression = lzss]
+                  00002d7d    00000003     --HOLE-- [fill = 0]
+                  00002d80    00000008     (.cinit..bss.load) [load image, compression = zero_init]
+                  00002d88    00000010     (__TI_cinit_table)
+
+.rodata    0    00002be0    00000188     
+                  00002be0    00000060     ti_msp_dl_config.o (.rodata.gMCAN0MsgRAMConfigParams)
+                  00002c40    00000040     driverlib.a : dl_mcan.o (.rodata..L__const.DL_MCAN_getDataSize.dataSize)
+                  00002c80    00000034     ti_msp_dl_config.o (.rodata.gMCAN0InitParams)
+                  00002cb4    0000002c     ti_msp_dl_config.o (.rodata.gMCAN0ConfigParams)
+                  00002ce0    00000028     ti_msp_dl_config.o (.rodata.gSYSPLLConfig)
+                  00002d08    00000020     driverlib.a : dl_mcan.o (.rodata.cst32)
+                  00002d28    00000020     ti_msp_dl_config.o (.rodata.gMCAN0BitTimes)
+                  00002d48    00000010     ti_msp_dl_config.o (.rodata.gMCAN0StdFiltelem)
+                  00002d58    00000008     ti_msp_dl_config.o (.rodata.gADC12_0ClockConfig)
+                  00002d60    00000004     ti_msp_dl_config.o (.rodata.gMCAN0ClockConf)
+                  00002d64    00000004     --HOLE-- [fill = 0]
 
 .init_array 
 *          0    00000000    00000000     UNINITIALIZED
 
 .binit     0    00000000    00000000     
 
-.bss       0    20200000    00000015     UNINITIALIZED
+.bss       0    20200000    0000001a     UNINITIALIZED
                   20200000    00000004     (.common:adc_current)
                   20200004    00000004     (.common:adc_temperatur)
                   20200008    00000004     (.common:current)
-                  2020000c    00000004     (.common:temperatur)
-                  20200010    00000004     (.common:voltage)
-                  20200014    00000001     (.common:gCheckADC)
+                  2020000c    00000004     (.common:gInterruptLine1Status)
+                  20200010    00000004     (.common:temperatur)
+                  20200014    00000004     (.common:voltage)
+                  20200018    00000001     (.common:gCheckADC)
+                  20200019    00000001     (.common:gServiceInt)
 
-.data      0    20200018    00000004     UNINITIALIZED
-                  20200018    00000004     libc.a : aeabi_portable.c.obj (.data.__aeabi_errno)
+.data      0    2020001c    00000006     UNINITIALIZED
+                  2020001c    00000004     libc.a : aeabi_portable.c.obj (.data.__aeabi_errno)
+                  20200020    00000002     Com_tx_signal_sig.o (.data.gid_hash)
 
 .stack     0    20207e00    00000200     UNINITIALIZED
                   20207e00    00000004     libc.a : boot_cortex_m.c.obj (.stack)
@@ -133,79 +201,96 @@ __llvm_prf_bits
 
 MODULE SUMMARY
 
-       Module                         code   ro data   rw data
-       ------                         ----   -------   -------
+       Module                         code    ro data   rw data
+       ------                         ----    -------   -------
     .\
-       ti_msp_dl_config.o             256    8         0      
-    +--+------------------------------+------+---------+---------+
-       Total:                         256    8         0      
-                                                              
+       ti_msp_dl_config.o             600     292       0      
+    +--+------------------------------+-------+---------+---------+
+       Total:                         600     292       0      
+                                                               
     .\01_sw_components\01_sc\01_src\
-       main_sc.o                      108    0         21     
-    +--+------------------------------+------+---------+---------+
-       Total:                         108    0         21     
-                                                              
+       main_sc.o                      252     0         26     
+    +--+------------------------------+-------+---------+---------+
+       Total:                         252     0         26     
+                                                               
+    .\01_sw_components\02_sig\01_src\
+       Com_rx_signal_sig.o            714     0         0      
+       Com_tx_signal_sig.o            700     0         2      
+    +--+------------------------------+-------+---------+---------+
+       Total:                         1414    0         2      
+                                                               
     .\01_sw_components\03_hw\01_src\
-       Hw_Interface.o                 392    0         0      
-    +--+------------------------------+------+---------+---------+
-       Total:                         392    0         0      
-                                                              
+       Hw_Interface.o                 572     0         0      
+    +--+------------------------------+-------+---------+---------+
+       Total:                         572     0         0      
+                                                               
+    .\01_sw_components\07_utils\01_src\
+       parseCanID_utils.o             48      0         0      
+    +--+------------------------------+-------+---------+---------+
+       Total:                         48      0         0      
+                                                               
     .\04_config\
-       startup_mspm0g350x_ticlang.o   6      192       0      
-    +--+------------------------------+------+---------+---------+
-       Total:                         6      192       0      
-                                                              
+       startup_mspm0g350x_ticlang.o   6       192       0      
+    +--+------------------------------+-------+---------+---------+
+       Total:                         6       192       0      
+                                                               
     C:/ti/mspm0_sdk_2_02_00_05/source/ti/driverlib/lib/ticlang/m0p/mspm0g1x0x_g3x0x/driverlib.a
-       dl_adc12.o                     116    0         0      
-       dl_common.o                    20     0         0      
-    +--+------------------------------+------+---------+---------+
-       Total:                         136    0         0      
-                                                              
+       dl_mcan.o                      4516    96        0      
+       dl_sysctl_mspm0g1x0x_g3x0x.o   356     0         0      
+       dl_adc12.o                     116     0         0      
+       dl_common.o                    20      0         0      
+    +--+------------------------------+-------+---------+---------+
+       Total:                         5008    96        0      
+                                                               
     C:\ti\ccstheia150\ccs\tools\compiler\ti-cgt-armllvm_4.0.0.LTS\lib\armv6m-ti-none-eabi/c/libc.a
-       e_log.c.obj                    908    0         0      
-       memcpy16.S.obj                 154    0         0      
-       copy_decompress_lzss.c.obj     124    0         0      
-       autoinit.c.obj                 60     0         0      
-       boot_cortex_m.c.obj            40     0         0      
-       copy_zero_init.c.obj           22     0         0      
-       copy_decompress_none.c.obj     18     0         0      
-       aeabi_portable.c.obj           8      0         4      
-       exit.c.obj                     4      0         0      
-       pre_init.c.obj                 4      0         0      
-    +--+------------------------------+------+---------+---------+
-       Total:                         1342   0         4      
-                                                              
+       e_log.c.obj                    908     0         0      
+       memcpy16.S.obj                 154     0         0      
+       copy_decompress_lzss.c.obj     124     0         0      
+       memset16.S.obj                 98      0         0      
+       autoinit.c.obj                 60      0         0      
+       boot_cortex_m.c.obj            40      0         0      
+       copy_zero_init.c.obj           22      0         0      
+       copy_decompress_none.c.obj     18      0         0      
+       aeabi_portable.c.obj           8       0         4      
+       exit.c.obj                     4       0         0      
+       pre_init.c.obj                 4       0         0      
+    +--+------------------------------+-------+---------+---------+
+       Total:                         1440    0         4      
+                                                               
     C:\ti\ccstheia150\ccs\tools\compiler\ti-cgt-armllvm_4.0.0.LTS\lib\armv6m-ti-none-eabi/libclang_rt.builtins.a
-       adddf3.S.obj                   418    0         0      
-       divdf3.S.obj                   268    0         0      
-       muldf3.S.obj                   244    0         0      
-       comparedf2.c.obj               220    0         0      
-       truncdfsf2.S.obj               116    0         0      
-       aeabi_dcmp.S.obj               98     0         0      
-       extendsfdf2.S.obj              64     0         0      
-       floatsisf.S.obj                60     0         0      
-       muldsi3.S.obj                  58     0         0      
-       floatsidf.S.obj                44     0         0      
-       aeabi_memcpy.S.obj             8      0         0      
-    +--+------------------------------+------+---------+---------+
-       Total:                         1598   0         0      
-                                                              
-       Stack:                         0      0         512    
-       Linker Generated:              0      43        0      
-    +--+------------------------------+------+---------+---------+
-       Grand Total:                   3838   243       537    
+       adddf3.S.obj                   418     0         0      
+       divdf3.S.obj                   268     0         0      
+       muldf3.S.obj                   244     0         0      
+       comparedf2.c.obj               220     0         0      
+       truncdfsf2.S.obj               116     0         0      
+       aeabi_dcmp.S.obj               98      0         0      
+       aeabi_uidivmod.S.obj           64      0         0      
+       extendsfdf2.S.obj              64      0         0      
+       floatsisf.S.obj                60      0         0      
+       muldsi3.S.obj                  58      0         0      
+       floatsidf.S.obj                44      0         0      
+       aeabi_memset.S.obj             12      0         0      
+       aeabi_memcpy.S.obj             8       0         0      
+       aeabi_div0.c.obj               2       0         0      
+    +--+------------------------------+-------+---------+---------+
+       Total:                         1676    0         0      
+                                                               
+       Stack:                         0       0         512    
+       Linker Generated:              0       45        0      
+    +--+------------------------------+-------+---------+---------+
+       Grand Total:                   11016   625       544    
 
 
 LINKER GENERATED COPY TABLES
 
-__TI_cinit_table @ 00000ff4 records: 2, size/record: 8, table size: 16
-	.bss: load addr=00000fe4, load size=00000008 bytes, run addr=20200000, run size=00000015 bytes, compression=zero_init
-	.data: load addr=00000fec, load size=00000007 bytes, run addr=20200018, run size=00000004 bytes, compression=lzss
+__TI_cinit_table @ 00002d88 records: 2, size/record: 8, table size: 16
+	.data: load addr=00002d74, load size=00000009 bytes, run addr=2020001c, run size=00000006 bytes, compression=lzss
+	.bss: load addr=00002d80, load size=00000008 bytes, run addr=20200000, run size=0000001a bytes, compression=zero_init
 
 
 LINKER GENERATED HANDLER TABLE
 
-__TI_handler_table @ 00000fd8 records: 3, size/record: 4, table size: 12
+__TI_handler_table @ 00002d68 records: 3, size/record: 4, table size: 12
 	index: 0, handler: __TI_decompress_lzss
 	index: 1, handler: __TI_decompress_none
 	index: 2, handler: __TI_zero_init
@@ -217,13 +302,13 @@ callee name               trampoline name
    callee addr  tramp addr   call addr  call info
 --------------  -----------  ---------  ----------------
 __aeabi_dmul              $Tramp$TT$L$PI$$__aeabi_dmul
-   000006b9     00000f64     00000f60   libc.a : e_log.c.obj (.text.OUTLINED_FUNCTION_0)
-                             00000f98          : e_log.c.obj (.text.OUTLINED_FUNCTION_4)
-                             00000fa2          : e_log.c.obj (.text.OUTLINED_FUNCTION_5)
-                             00000fb8          : e_log.c.obj (.text.OUTLINED_FUNCTION_1)
-                             00000fbe          : e_log.c.obj (.text.OUTLINED_FUNCTION_2)
+   000016b5     00002b70     00002b6c   libc.a : e_log.c.obj (.text.OUTLINED_FUNCTION_0)
+                             00002ba4          : e_log.c.obj (.text.OUTLINED_FUNCTION_4)
+                             00002bae          : e_log.c.obj (.text.OUTLINED_FUNCTION_5)
+                             00002bc4          : e_log.c.obj (.text.OUTLINED_FUNCTION_1)
+                             00002bca          : e_log.c.obj (.text.OUTLINED_FUNCTION_2)
 __aeabi_dsub              $Tramp$TT$L$PI$$__aeabi_dsub
-   00000419     00000f80     00000f7c   libc.a : e_log.c.obj (.text.OUTLINED_FUNCTION_3)
+   000008d5     00002b8c     00002b88   libc.a : e_log.c.obj (.text.OUTLINED_FUNCTION_3)
 
 [2 trampolines]
 [6 trampoline calls]
@@ -233,48 +318,80 @@ GLOBAL SYMBOLS: SORTED ALPHABETICALLY BY Name
 
 address   name                          
 -------   ----                          
-00000eed  ADC0_IRQHandler               
-000005ab  ADC1_IRQHandler               
-000005ab  AES_IRQHandler                
-00000ea5  AI_GetIInA                    
-00000855  AI_GetTempInC                 
-0000079d  AI_GetUITempCell_Hw           
-00000fc4  C$$EXIT                       
-000005ab  CANFD0_IRQHandler             
-000005ab  DAC0_IRQHandler               
-00000c71  DL_ADC12_setClockConfig       
-00000f1f  DL_Common_delayCycles         
-000005ab  DMA_IRQHandler                
-000005ab  Default_Handler               
-000005ab  GROUP0_IRQHandler             
-000005ab  GROUP1_IRQHandler             
-000005ab  HardFault_Handler             
-000005ab  I2C0_IRQHandler               
-000005ab  I2C1_IRQHandler               
-000005ab  NMI_Handler                   
-000005ab  PendSV_Handler                
-000005ab  RTC_IRQHandler                
-00000a8d  Reset_Handler                 
-000005ab  SPI0_IRQHandler               
-000005ab  SPI1_IRQHandler               
-000005ab  SVC_Handler                   
-00000bd1  SYSCFG_DL_ADC12_0_init        
-00000ec9  SYSCFG_DL_GPIO_init           
-00000cbd  SYSCFG_DL_SYSCTL_init         
-00000f33  SYSCFG_DL_init                
-00000df1  SYSCFG_DL_initPower           
-000005ab  SysTick_Handler               
-000005ab  TIMA0_IRQHandler              
-000005ab  TIMA1_IRQHandler              
-000005ab  TIMG0_IRQHandler              
-000005ab  TIMG12_IRQHandler             
-000005ab  TIMG6_IRQHandler              
-000005ab  TIMG7_IRQHandler              
-000005ab  TIMG8_IRQHandler              
-000005ab  UART0_IRQHandler              
-000005ab  UART1_IRQHandler              
-000005ab  UART2_IRQHandler              
-000005ab  UART3_IRQHandler              
+00002a1d  ADC0_IRQHandler               
+000008d3  ADC1_IRQHandler               
+000008d3  AES_IRQHandler                
+00002acd  AI_Bridge_UnbridgeSegment_Hw  
+000019dd  AI_Com_MCAN_Receive_Msg       
+000006c1  AI_Com_RX_process_CAN_messages
+00000d6d  AI_Com_TX_cell_status         
+00001cad  AI_Com_TX_discovery_response  
+0000185d  AI_Com_TX_segment_status      
+00001e91  AI_Enable_Disable_Cell_Hw     
+00002935  AI_GetIInA                    
+00001c01  AI_GetTempInC                 
+0000191d  AI_GetUITempCell_Hw           
+00002a55  AI_PackCanId_Utils            
+00002a6d  AI_Parse_Can_id_Utils         
+00002bd4  C$$EXIT                       
+00002579  CANFD0_IRQHandler             
+000008d3  DAC0_IRQHandler               
+0000249d  DL_ADC12_setClockConfig       
+00002ae1  DL_Common_delayCycles         
+00002449  DL_MCAN_TXBufAddReq           
+00002039  DL_MCAN_addStdMsgIDFilter     
+000027a9  DL_MCAN_clearIntrStatus       
+00001275  DL_MCAN_config                
+00002195  DL_MCAN_enableIntr            
+000023f1  DL_MCAN_enableIntrLine        
+00002a85  DL_MCAN_getIntrStatus         
+00002a39  DL_MCAN_getOpMode             
+00001f29  DL_MCAN_getRevisionId         
+00001799  DL_MCAN_getRxFIFOStatus       
+00000a69  DL_MCAN_init                  
+000025b9  DL_MCAN_isMemInitDone         
+00000419  DL_MCAN_msgRAMConfig          
+00001145  DL_MCAN_readMsgRam            
+00002265  DL_MCAN_selectIntrLine        
+00000ec1  DL_MCAN_setBitTime            
+0000283d  DL_MCAN_setClockConfig        
+000024e9  DL_MCAN_setExtIDAndMask       
+0000299d  DL_MCAN_setOpMode             
+00001b4d  DL_MCAN_writeMsgRam           
+00001a95  DL_MCAN_writeRxFIFOAck        
+000015c9  DL_SYSCTL_configSYSPLL        
+000008d3  DMA_IRQHandler                
+000008d3  Default_Handler               
+000008d3  GROUP0_IRQHandler             
+000008d3  GROUP1_IRQHandler             
+000008d3  HardFault_Handler             
+000008d3  I2C0_IRQHandler               
+000008d3  I2C1_IRQHandler               
+000008d3  NMI_Handler                   
+000008d3  PendSV_Handler                
+000008d3  RTC_IRQHandler                
+00002bcd  Reset_Handler                 
+000008d3  SPI0_IRQHandler               
+000008d3  SPI1_IRQHandler               
+000008d3  SVC_Handler                   
+000022c9  SYSCFG_DL_ADC12_0_init        
+00002535  SYSCFG_DL_GPIO_init           
+000013a1  SYSCFG_DL_MCAN0_init          
+000026b9  SYSCFG_DL_SYSCTL_init         
+00002a9d  SYSCFG_DL_init                
+000025f9  SYSCFG_DL_initPower           
+000008d3  SysTick_Handler               
+000008d3  TIMA0_IRQHandler              
+000008d3  TIMA1_IRQHandler              
+000008d3  TIMG0_IRQHandler              
+000008d3  TIMG12_IRQHandler             
+000008d3  TIMG6_IRQHandler              
+000008d3  TIMG7_IRQHandler              
+000008d3  TIMG8_IRQHandler              
+000008d3  UART0_IRQHandler              
+000008d3  UART1_IRQHandler              
+000008d3  UART2_IRQHandler              
+000008d3  UART3_IRQHandler              
 20208000  __STACK_END                   
 00000200  __STACK_SIZE                  
 00000000  __TI_ATRegion0_region_sz      
@@ -286,76 +403,86 @@ address   name
 00000000  __TI_ATRegion2_region_sz      
 00000000  __TI_ATRegion2_src_addr       
 00000000  __TI_ATRegion2_trg_addr       
-00000ff4  __TI_CINIT_Base               
-00001004  __TI_CINIT_Limit              
-00001004  __TI_CINIT_Warm               
-00000fd8  __TI_Handler_Table_Base       
-00000fe4  __TI_Handler_Table_Limit      
-00000d79  __TI_auto_init_nobinit_nopinit
-0000099d  __TI_decompress_lzss          
-00000f47  __TI_decompress_none          
+00002d88  __TI_CINIT_Base               
+00002d98  __TI_CINIT_Limit              
+00002d98  __TI_CINIT_Warm               
+00002d68  __TI_Handler_Table_Base       
+00002d74  __TI_Handler_Table_Limit      
+00002731  __TI_auto_init_nobinit_nopinit
+00001fbd  __TI_decompress_lzss          
+00002b09  __TI_decompress_none          
 ffffffff  __TI_pprof_out_hndl           
 ffffffff  __TI_prof_data_size           
 ffffffff  __TI_prof_data_start          
 00000000  __TI_static_base__            
-00000f09  __TI_zero_init_nomemset       
-00000423  __adddf3                      
-00000a91  __aeabi_d2f                   
-00000423  __aeabi_dadd                  
-00000b6d  __aeabi_dcmpeq                
-00000ba9  __aeabi_dcmpge                
-00000bbd  __aeabi_dcmpgt                
-00000b95  __aeabi_dcmple                
-00000b81  __aeabi_dcmplt                
-000005ad  __aeabi_ddiv                  
-000006b9  __aeabi_dmul                  
-00000419  __aeabi_dsub                  
-20200018  __aeabi_errno                 
-00000fa5  __aeabi_errno_addr            
-00000cfd  __aeabi_f2d                   
-00000e29  __aeabi_i2d                   
-00000d3d  __aeabi_i2f                   
-00000fad  __aeabi_memcpy                
-00000fad  __aeabi_memcpy4               
-00000fad  __aeabi_memcpy8               
+00002ab5  __TI_zero_init_nomemset       
+000008df  __adddf3                      
+00002121  __aeabi_d2f                   
+000008df  __aeabi_dadd                  
+0000232d  __aeabi_dcmpeq                
+00002369  __aeabi_dcmpge                
+0000237d  __aeabi_dcmpgt                
+00002355  __aeabi_dcmple                
+00002341  __aeabi_dcmplt                
+000014bd  __aeabi_ddiv                  
+000016b5  __aeabi_dmul                  
+000008d5  __aeabi_dsub                  
+2020001c  __aeabi_errno                 
+00002bb1  __aeabi_errno_addr            
+00002679  __aeabi_f2d                   
+00002869  __aeabi_i2d                   
+000026f5  __aeabi_i2f                   
+00000a67  __aeabi_idiv0                 
+00002b59  __aeabi_memclr                
+00002b59  __aeabi_memclr4               
+00002b59  __aeabi_memclr8               
+00002bb9  __aeabi_memcpy                
+00002bb9  __aeabi_memcpy4               
+00002bb9  __aeabi_memcpy8               
+00002639  __aeabi_uidiv                 
+00002639  __aeabi_uidivmod              
 ffffffff  __binit__                     
-00000b05  __cmpdf2                      
-000005ad  __divdf3                      
-00000b05  __eqdf2                       
-00000cfd  __extendsfdf2                 
-00000e29  __floatsidf                   
-00000d3d  __floatsisf                   
-00000a19  __gedf2                       
-00000a19  __gtdf2                       
-00000b05  __ledf2                       
-00000b05  __ltdf2                       
+000021fd  __cmpdf2                      
+000014bd  __divdf3                      
+000021fd  __eqdf2                       
+00002679  __extendsfdf2                 
+00002869  __floatsidf                   
+000026f5  __floatsisf                   
+000020ad  __gedf2                       
+000020ad  __gtdf2                       
+000021fd  __ledf2                       
+000021fd  __ltdf2                       
 UNDEFED   __mpu_init                    
-000006b9  __muldf3                      
-00000db5  __muldsi3                     
-00000b05  __nedf2                       
+000016b5  __muldf3                      
+0000276d  __muldsi3                     
+000021fd  __nedf2                       
 20207e00  __stack                       
 20200000  __start___llvm_prf_bits       
 20200000  __start___llvm_prf_cnts       
 20200000  __stop___llvm_prf_bits        
 20200000  __stop___llvm_prf_cnts        
-00000419  __subdf3                      
-00000a91  __truncdfsf2                  
-00000e7d  _c_int00_noargs               
+000008d5  __subdf3                      
+00002121  __truncdfsf2                  
+0000290d  _c_int00_noargs               
 UNDEFED   _system_post_cinit            
-00000fc1  _system_pre_init              
-00000fc5  abort                         
+00002bd1  _system_pre_init              
+00002bd5  abort                         
 20200000  adc_current                   
 20200004  adc_temperatur                
 ffffffff  binit                         
 20200008  current                       
-20200014  gCheckADC                     
+20200018  gCheckADC                     
+2020000c  gInterruptLine1Status         
+20200019  gServiceInt                   
+20200020  gid_hash                      
 00000000  interruptVectors              
 000000c1  log                           
 000000c1  logl                          
-00000c21  main                          
-00000901  memcpy                        
-2020000c  temperatur                    
-20200010  voltage                       
+00001d55  main                          
+00001df5  memcpy                        
+0000238f  memset                        
+20200010  temperatur                    
+20200014  voltage                       
 
 
 GLOBAL SYMBOLS: SORTED BY Symbol Address 
@@ -376,95 +503,134 @@ address   name
 000000c1  log                           
 000000c1  logl                          
 00000200  __STACK_SIZE                  
-00000419  __aeabi_dsub                  
-00000419  __subdf3                      
-00000423  __adddf3                      
-00000423  __aeabi_dadd                  
-000005ab  ADC1_IRQHandler               
-000005ab  AES_IRQHandler                
-000005ab  CANFD0_IRQHandler             
-000005ab  DAC0_IRQHandler               
-000005ab  DMA_IRQHandler                
-000005ab  Default_Handler               
-000005ab  GROUP0_IRQHandler             
-000005ab  GROUP1_IRQHandler             
-000005ab  HardFault_Handler             
-000005ab  I2C0_IRQHandler               
-000005ab  I2C1_IRQHandler               
-000005ab  NMI_Handler                   
-000005ab  PendSV_Handler                
-000005ab  RTC_IRQHandler                
-000005ab  SPI0_IRQHandler               
-000005ab  SPI1_IRQHandler               
-000005ab  SVC_Handler                   
-000005ab  SysTick_Handler               
-000005ab  TIMA0_IRQHandler              
-000005ab  TIMA1_IRQHandler              
-000005ab  TIMG0_IRQHandler              
-000005ab  TIMG12_IRQHandler             
-000005ab  TIMG6_IRQHandler              
-000005ab  TIMG7_IRQHandler              
-000005ab  TIMG8_IRQHandler              
-000005ab  UART0_IRQHandler              
-000005ab  UART1_IRQHandler              
-000005ab  UART2_IRQHandler              
-000005ab  UART3_IRQHandler              
-000005ad  __aeabi_ddiv                  
-000005ad  __divdf3                      
-000006b9  __aeabi_dmul                  
-000006b9  __muldf3                      
-0000079d  AI_GetUITempCell_Hw           
-00000855  AI_GetTempInC                 
-00000901  memcpy                        
-0000099d  __TI_decompress_lzss          
-00000a19  __gedf2                       
-00000a19  __gtdf2                       
-00000a8d  Reset_Handler                 
-00000a91  __aeabi_d2f                   
-00000a91  __truncdfsf2                  
-00000b05  __cmpdf2                      
-00000b05  __eqdf2                       
-00000b05  __ledf2                       
-00000b05  __ltdf2                       
-00000b05  __nedf2                       
-00000b6d  __aeabi_dcmpeq                
-00000b81  __aeabi_dcmplt                
-00000b95  __aeabi_dcmple                
-00000ba9  __aeabi_dcmpge                
-00000bbd  __aeabi_dcmpgt                
-00000bd1  SYSCFG_DL_ADC12_0_init        
-00000c21  main                          
-00000c71  DL_ADC12_setClockConfig       
-00000cbd  SYSCFG_DL_SYSCTL_init         
-00000cfd  __aeabi_f2d                   
-00000cfd  __extendsfdf2                 
-00000d3d  __aeabi_i2f                   
-00000d3d  __floatsisf                   
-00000d79  __TI_auto_init_nobinit_nopinit
-00000db5  __muldsi3                     
-00000df1  SYSCFG_DL_initPower           
-00000e29  __aeabi_i2d                   
-00000e29  __floatsidf                   
-00000e7d  _c_int00_noargs               
-00000ea5  AI_GetIInA                    
-00000ec9  SYSCFG_DL_GPIO_init           
-00000eed  ADC0_IRQHandler               
-00000f09  __TI_zero_init_nomemset       
-00000f1f  DL_Common_delayCycles         
-00000f33  SYSCFG_DL_init                
-00000f47  __TI_decompress_none          
-00000fa5  __aeabi_errno_addr            
-00000fad  __aeabi_memcpy                
-00000fad  __aeabi_memcpy4               
-00000fad  __aeabi_memcpy8               
-00000fc1  _system_pre_init              
-00000fc4  C$$EXIT                       
-00000fc5  abort                         
-00000fd8  __TI_Handler_Table_Base       
-00000fe4  __TI_Handler_Table_Limit      
-00000ff4  __TI_CINIT_Base               
-00001004  __TI_CINIT_Limit              
-00001004  __TI_CINIT_Warm               
+00000419  DL_MCAN_msgRAMConfig          
+000006c1  AI_Com_RX_process_CAN_messages
+000008d3  ADC1_IRQHandler               
+000008d3  AES_IRQHandler                
+000008d3  DAC0_IRQHandler               
+000008d3  DMA_IRQHandler                
+000008d3  Default_Handler               
+000008d3  GROUP0_IRQHandler             
+000008d3  GROUP1_IRQHandler             
+000008d3  HardFault_Handler             
+000008d3  I2C0_IRQHandler               
+000008d3  I2C1_IRQHandler               
+000008d3  NMI_Handler                   
+000008d3  PendSV_Handler                
+000008d3  RTC_IRQHandler                
+000008d3  SPI0_IRQHandler               
+000008d3  SPI1_IRQHandler               
+000008d3  SVC_Handler                   
+000008d3  SysTick_Handler               
+000008d3  TIMA0_IRQHandler              
+000008d3  TIMA1_IRQHandler              
+000008d3  TIMG0_IRQHandler              
+000008d3  TIMG12_IRQHandler             
+000008d3  TIMG6_IRQHandler              
+000008d3  TIMG7_IRQHandler              
+000008d3  TIMG8_IRQHandler              
+000008d3  UART0_IRQHandler              
+000008d3  UART1_IRQHandler              
+000008d3  UART2_IRQHandler              
+000008d3  UART3_IRQHandler              
+000008d5  __aeabi_dsub                  
+000008d5  __subdf3                      
+000008df  __adddf3                      
+000008df  __aeabi_dadd                  
+00000a67  __aeabi_idiv0                 
+00000a69  DL_MCAN_init                  
+00000d6d  AI_Com_TX_cell_status         
+00000ec1  DL_MCAN_setBitTime            
+00001145  DL_MCAN_readMsgRam            
+00001275  DL_MCAN_config                
+000013a1  SYSCFG_DL_MCAN0_init          
+000014bd  __aeabi_ddiv                  
+000014bd  __divdf3                      
+000015c9  DL_SYSCTL_configSYSPLL        
+000016b5  __aeabi_dmul                  
+000016b5  __muldf3                      
+00001799  DL_MCAN_getRxFIFOStatus       
+0000185d  AI_Com_TX_segment_status      
+0000191d  AI_GetUITempCell_Hw           
+000019dd  AI_Com_MCAN_Receive_Msg       
+00001a95  DL_MCAN_writeRxFIFOAck        
+00001b4d  DL_MCAN_writeMsgRam           
+00001c01  AI_GetTempInC                 
+00001cad  AI_Com_TX_discovery_response  
+00001d55  main                          
+00001df5  memcpy                        
+00001e91  AI_Enable_Disable_Cell_Hw     
+00001f29  DL_MCAN_getRevisionId         
+00001fbd  __TI_decompress_lzss          
+00002039  DL_MCAN_addStdMsgIDFilter     
+000020ad  __gedf2                       
+000020ad  __gtdf2                       
+00002121  __aeabi_d2f                   
+00002121  __truncdfsf2                  
+00002195  DL_MCAN_enableIntr            
+000021fd  __cmpdf2                      
+000021fd  __eqdf2                       
+000021fd  __ledf2                       
+000021fd  __ltdf2                       
+000021fd  __nedf2                       
+00002265  DL_MCAN_selectIntrLine        
+000022c9  SYSCFG_DL_ADC12_0_init        
+0000232d  __aeabi_dcmpeq                
+00002341  __aeabi_dcmplt                
+00002355  __aeabi_dcmple                
+00002369  __aeabi_dcmpge                
+0000237d  __aeabi_dcmpgt                
+0000238f  memset                        
+000023f1  DL_MCAN_enableIntrLine        
+00002449  DL_MCAN_TXBufAddReq           
+0000249d  DL_ADC12_setClockConfig       
+000024e9  DL_MCAN_setExtIDAndMask       
+00002535  SYSCFG_DL_GPIO_init           
+00002579  CANFD0_IRQHandler             
+000025b9  DL_MCAN_isMemInitDone         
+000025f9  SYSCFG_DL_initPower           
+00002639  __aeabi_uidiv                 
+00002639  __aeabi_uidivmod              
+00002679  __aeabi_f2d                   
+00002679  __extendsfdf2                 
+000026b9  SYSCFG_DL_SYSCTL_init         
+000026f5  __aeabi_i2f                   
+000026f5  __floatsisf                   
+00002731  __TI_auto_init_nobinit_nopinit
+0000276d  __muldsi3                     
+000027a9  DL_MCAN_clearIntrStatus       
+0000283d  DL_MCAN_setClockConfig        
+00002869  __aeabi_i2d                   
+00002869  __floatsidf                   
+0000290d  _c_int00_noargs               
+00002935  AI_GetIInA                    
+0000299d  DL_MCAN_setOpMode             
+00002a1d  ADC0_IRQHandler               
+00002a39  DL_MCAN_getOpMode             
+00002a55  AI_PackCanId_Utils            
+00002a6d  AI_Parse_Can_id_Utils         
+00002a85  DL_MCAN_getIntrStatus         
+00002a9d  SYSCFG_DL_init                
+00002ab5  __TI_zero_init_nomemset       
+00002acd  AI_Bridge_UnbridgeSegment_Hw  
+00002ae1  DL_Common_delayCycles         
+00002b09  __TI_decompress_none          
+00002b59  __aeabi_memclr                
+00002b59  __aeabi_memclr4               
+00002b59  __aeabi_memclr8               
+00002bb1  __aeabi_errno_addr            
+00002bb9  __aeabi_memcpy                
+00002bb9  __aeabi_memcpy4               
+00002bb9  __aeabi_memcpy8               
+00002bcd  Reset_Handler                 
+00002bd1  _system_pre_init              
+00002bd4  C$$EXIT                       
+00002bd5  abort                         
+00002d68  __TI_Handler_Table_Base       
+00002d74  __TI_Handler_Table_Limit      
+00002d88  __TI_CINIT_Base               
+00002d98  __TI_CINIT_Limit              
+00002d98  __TI_CINIT_Warm               
 20200000  __start___llvm_prf_bits       
 20200000  __start___llvm_prf_cnts       
 20200000  __stop___llvm_prf_bits        
@@ -472,10 +638,13 @@ address   name
 20200000  adc_current                   
 20200004  adc_temperatur                
 20200008  current                       
-2020000c  temperatur                    
-20200010  voltage                       
-20200014  gCheckADC                     
-20200018  __aeabi_errno                 
+2020000c  gInterruptLine1Status         
+20200010  temperatur                    
+20200014  voltage                       
+20200018  gCheckADC                     
+20200019  gServiceInt                   
+2020001c  __aeabi_errno                 
+20200020  gid_hash                      
 20207e00  __stack                       
 20208000  __STACK_END                   
 ffffffff  __TI_pprof_out_hndl           
@@ -486,4 +655,4 @@ ffffffff  binit
 UNDEFED   __mpu_init                    
 UNDEFED   _system_post_cinit            
 
-[123 symbols]
+[165 symbols]

BIN
segment_main/Debug/segment_main.out


Різницю між файлами не показано, бо вона завелика
+ 961 - 320
segment_main/Debug/segment_main_linkInfo.xml


+ 2 - 0
segment_main/Debug/sources.mk

@@ -125,6 +125,8 @@ GEN_OPTS__QUOTED :=
 # Every subdirectory with source files must be described here
 SUBDIRS := \
 01_sw_components/01_sc/01_src \
+01_sw_components/02_sig/01_src \
 01_sw_components/03_hw/01_src \
+01_sw_components/07_utils/01_src \
 04_config \
 

+ 235 - 10
segment_main/Debug/ti_msp_dl_config.c

@@ -51,23 +51,30 @@ SYSCONFIG_WEAK void SYSCFG_DL_init(void)
     /* Module-Specific Initializations*/
     SYSCFG_DL_SYSCTL_init();
     SYSCFG_DL_ADC12_0_init();
+    SYSCFG_DL_MCAN0_init();
 }
 
+
+
 SYSCONFIG_WEAK void SYSCFG_DL_initPower(void)
 {
     DL_GPIO_reset(GPIOA);
     DL_ADC12_reset(ADC12_0_INST);
     DL_MathACL_reset(MATHACL);
+    DL_MCAN_reset(MCAN0_INST);
 
     DL_GPIO_enablePower(GPIOA);
     DL_ADC12_enablePower(ADC12_0_INST);
     DL_MathACL_enablePower(MATHACL);
+    DL_MCAN_enablePower(MCAN0_INST);
     delay_cycles(POWER_STARTUP_DELAY);
 }
 
 SYSCONFIG_WEAK void SYSCFG_DL_GPIO_init(void)
 {
 
+    DL_GPIO_initDigitalOutput(GPIO_BRIDGE_SEGMENT_PIN_BRIDGE_SEGMENT_IOMUX);
+
     DL_GPIO_initDigitalOutput(GPIO_MULTIPLEXER_PIN_CONFIG_PIN_E1_IOMUX);
 
     DL_GPIO_initDigitalOutput(GPIO_MULTIPLEXER_PIN_CONFIG_PIN_S0_IOMUX);
@@ -78,32 +85,72 @@ SYSCONFIG_WEAK void SYSCFG_DL_GPIO_init(void)
 
     DL_GPIO_initDigitalOutput(GPIO_MULTIPLEXER_PIN_CONFIG_PIN_E0_IOMUX);
 
-    DL_GPIO_clearPins(GPIO_MULTIPLEXER_PIN_CONFIG_PORT, GPIO_MULTIPLEXER_PIN_CONFIG_PIN_E1_PIN |
+    DL_GPIO_initDigitalOutput(GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_SER_IOMUX);
+
+    DL_GPIO_initDigitalOutput(GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_OE_IOMUX);
+
+    DL_GPIO_initDigitalOutput(GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_RCLK_IOMUX);
+
+    DL_GPIO_initDigitalOutput(GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_SRCLK_IOMUX);
+
+    DL_GPIO_initDigitalOutput(GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_SRCLR_IOMUX);
+
+    DL_GPIO_clearPins(GPIOA, GPIO_BRIDGE_SEGMENT_PIN_BRIDGE_SEGMENT_PIN |
+		GPIO_MULTIPLEXER_PIN_CONFIG_PIN_E1_PIN |
 		GPIO_MULTIPLEXER_PIN_CONFIG_PIN_S0_PIN |
 		GPIO_MULTIPLEXER_PIN_CONFIG_PIN_S1_PIN |
 		GPIO_MULTIPLEXER_PIN_CONFIG_PIN_S2_PIN |
-		GPIO_MULTIPLEXER_PIN_CONFIG_PIN_E0_PIN);
-    DL_GPIO_enableOutput(GPIO_MULTIPLEXER_PIN_CONFIG_PORT, GPIO_MULTIPLEXER_PIN_CONFIG_PIN_E1_PIN |
+		GPIO_MULTIPLEXER_PIN_CONFIG_PIN_E0_PIN |
+		GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_SER_PIN |
+		GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_OE_PIN |
+		GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_RCLK_PIN |
+		GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_SRCLK_PIN |
+		GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_SRCLR_PIN);
+    DL_GPIO_enableOutput(GPIOA, GPIO_BRIDGE_SEGMENT_PIN_BRIDGE_SEGMENT_PIN |
+		GPIO_MULTIPLEXER_PIN_CONFIG_PIN_E1_PIN |
 		GPIO_MULTIPLEXER_PIN_CONFIG_PIN_S0_PIN |
 		GPIO_MULTIPLEXER_PIN_CONFIG_PIN_S1_PIN |
 		GPIO_MULTIPLEXER_PIN_CONFIG_PIN_S2_PIN |
-		GPIO_MULTIPLEXER_PIN_CONFIG_PIN_E0_PIN);
+		GPIO_MULTIPLEXER_PIN_CONFIG_PIN_E0_PIN |
+		GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_SER_PIN |
+		GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_OE_PIN |
+		GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_RCLK_PIN |
+		GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_SRCLK_PIN |
+		GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_SRCLR_PIN);
+
+    DL_GPIO_initPeripheralOutputFunction(
+        GPIO_MCAN0_IOMUX_CAN_TX, GPIO_MCAN0_IOMUX_CAN_TX_FUNC);
+    DL_GPIO_initPeripheralInputFunction(
+        GPIO_MCAN0_IOMUX_CAN_RX, GPIO_MCAN0_IOMUX_CAN_RX_FUNC);
 
 }
 
 
+static const DL_SYSCTL_SYSPLLConfig gSYSPLLConfig = {
+    .inputFreq              = DL_SYSCTL_SYSPLL_INPUT_FREQ_32_48_MHZ,
+	.rDivClk2x              = 1,
+	.rDivClk1               = 0,
+	.rDivClk0               = 0,
+	.enableCLK2x            = DL_SYSCTL_SYSPLL_CLK2X_DISABLE,
+	.enableCLK1             = DL_SYSCTL_SYSPLL_CLK1_ENABLE,
+	.enableCLK0             = DL_SYSCTL_SYSPLL_CLK0_DISABLE,
+	.sysPLLMCLK             = DL_SYSCTL_SYSPLL_MCLK_CLK0,
+	.sysPLLRef              = DL_SYSCTL_SYSPLL_REF_SYSOSC,
+	.qDiv                   = 4,
+	.pDiv                   = DL_SYSCTL_SYSPLL_PDIV_1
+};
 SYSCONFIG_WEAK void SYSCFG_DL_SYSCTL_init(void)
 {
 
 	//Low Power Mode is configured to be SLEEP0
     DL_SYSCTL_setBORThreshold(DL_SYSCTL_BOR_THRESHOLD_LEVEL_0);
 
-    DL_SYSCTL_setSYSOSCFreq(DL_SYSCTL_SYSOSC_FREQ_BASE);
-    /* Set default configuration */
-    DL_SYSCTL_disableHFXT();
-    DL_SYSCTL_disableSYSPLL();
-    DL_SYSCTL_setULPCLKDivider(DL_SYSCTL_ULPCLK_DIV_1);
-    DL_SYSCTL_setMCLKDivider(DL_SYSCTL_MCLK_DIVIDER_DISABLE);
+    
+	DL_SYSCTL_setSYSOSCFreq(DL_SYSCTL_SYSOSC_FREQ_BASE);
+	/* Set default configuration */
+	DL_SYSCTL_disableHFXT();
+	DL_SYSCTL_disableSYSPLL();
+    DL_SYSCTL_configSYSPLL((DL_SYSCTL_SYSPLLConfig *) &gSYSPLLConfig);
 
 }
 
@@ -131,6 +178,184 @@ SYSCONFIG_WEAK void SYSCFG_DL_ADC12_0_init(void)
     DL_ADC12_configConversionMem(ADC12_0_INST, ADC12_0_ADCMEM_2,
         DL_ADC12_INPUT_CHAN_7, DL_ADC12_REFERENCE_VOLTAGE_VDDA, DL_ADC12_SAMPLE_TIMER_SOURCE_SCOMP0, DL_ADC12_AVERAGING_MODE_DISABLED,
         DL_ADC12_BURN_OUT_SOURCE_DISABLED, DL_ADC12_TRIGGER_MODE_AUTO_NEXT, DL_ADC12_WINDOWS_COMP_MODE_DISABLED);
+    /* Enable ADC12 interrupt */
+    DL_ADC12_clearInterruptStatus(ADC12_0_INST,(DL_ADC12_INTERRUPT_MEM2_RESULT_LOADED));
+    DL_ADC12_enableInterrupt(ADC12_0_INST,(DL_ADC12_INTERRUPT_MEM2_RESULT_LOADED));
     DL_ADC12_enableConversions(ADC12_0_INST);
 }
 
+static const DL_MCAN_ClockConfig gMCAN0ClockConf = {
+    .clockSel = DL_MCAN_FCLK_SYSPLLCLK1,
+    .divider  = DL_MCAN_FCLK_DIV_1,
+};
+
+static const DL_MCAN_InitParams gMCAN0InitParams= {
+
+/* Initialize MCAN Init parameters.    */
+    .fdMode            = true,
+    .brsEnable         = true,
+    .txpEnable         = false,
+    .efbi              = false,
+    .pxhddisable       = false,
+    .darEnable         = false,
+    .wkupReqEnable     = true,
+    .autoWkupEnable    = true,
+    .emulationEnable   = true,
+    .tdcEnable         = false,
+    .wdcPreload        = 255,
+
+/* Transmitter Delay Compensation parameters. */
+    .tdcConfig.tdcf    = 10,
+    .tdcConfig.tdco    = 6,
+};
+
+static const DL_MCAN_ConfigParams gMCAN0ConfigParams={
+    /* Initialize MCAN Config parameters. */
+    .monEnable         = false,
+    .asmEnable         = false,
+    .tsPrescalar       = 15,
+    .tsSelect          = 0,
+    .timeoutSelect     = DL_MCAN_TIMEOUT_SELECT_CONT,
+    .timeoutPreload    = 65535,
+    .timeoutCntEnable  = false,
+    .filterConfig.rrfs = true,
+    .filterConfig.rrfe = true,
+    .filterConfig.anfe = 1,
+    .filterConfig.anfs = 1,
+};
+
+static const DL_MCAN_MsgRAMConfigParams gMCAN0MsgRAMConfigParams ={
+
+    /* Standard ID Filter List Start Address. */
+    .flssa                = MCAN0_INST_MCAN_STD_ID_FILT_START_ADDR,
+    /* List Size: Standard ID. */
+    .lss                  = MCAN0_INST_MCAN_STD_ID_FILTER_NUM,
+    /* Extended ID Filter List Start Address. */
+    .flesa                = MCAN0_INST_MCAN_EXT_ID_FILT_START_ADDR,
+    /* List Size: Extended ID. */
+    .lse                  = MCAN0_INST_MCAN_EXT_ID_FILTER_NUM,
+    /* Tx Buffers Start Address. */
+    .txStartAddr          = MCAN0_INST_MCAN_TX_BUFF_START_ADDR,
+    /* Number of Dedicated Transmit Buffers. */
+    .txBufNum             = MCAN0_INST_MCAN_TX_BUFF_SIZE,
+    .txFIFOSize           = 0,
+    /* Tx Buffer Element Size. */
+    .txBufMode            = 0,
+    .txBufElemSize        = DL_MCAN_ELEM_SIZE_64BYTES,
+    /* Tx Event FIFO Start Address. */
+    .txEventFIFOStartAddr = MCAN0_INST_MCAN_TX_EVENT_START_ADDR,
+    /* Event FIFO Size. */
+    .txEventFIFOSize      = MCAN0_INST_MCAN_TX_EVENT_SIZE,
+    /* Level for Tx Event FIFO watermark interrupt. */
+    .txEventFIFOWaterMark = 0,
+    /* Rx FIFO0 Start Address. */
+    .rxFIFO0startAddr     = MCAN0_INST_MCAN_FIFO_0_START_ADDR,
+    /* Number of Rx FIFO elements. */
+    .rxFIFO0size          = MCAN0_INST_MCAN_FIFO_0_NUM,
+    /* Rx FIFO0 Watermark. */
+    .rxFIFO0waterMark     = 0,
+    .rxFIFO0OpMode        = 0,
+    /* Rx FIFO1 Start Address. */
+    .rxFIFO1startAddr     = MCAN0_INST_MCAN_FIFO_1_START_ADDR,
+    /* Number of Rx FIFO elements. */
+    .rxFIFO1size          = MCAN0_INST_MCAN_FIFO_1_NUM,
+    /* Level for Rx FIFO 1 watermark interrupt. */
+    .rxFIFO1waterMark     = 3,
+    /* FIFO blocking mode. */
+    .rxFIFO1OpMode        = 0,
+    /* Rx Buffer Start Address. */
+    .rxBufStartAddr       = MCAN0_INST_MCAN_RX_BUFF_START_ADDR,
+    /* Rx Buffer Element Size. */
+    .rxBufElemSize        = DL_MCAN_ELEM_SIZE_32BYTES,
+    /* Rx FIFO0 Element Size. */
+    .rxFIFO0ElemSize      = DL_MCAN_ELEM_SIZE_32BYTES,
+    /* Rx FIFO1 Element Size. */
+    .rxFIFO1ElemSize      = DL_MCAN_ELEM_SIZE_32BYTES,
+};
+
+static const DL_MCAN_StdMsgIDFilterElement gMCAN0StdFiltelem = {
+    .sfec = 0x1,
+    .sft  = 0x1,
+    .sfid1 = 3,
+    .sfid2 = 4,
+};
+
+
+static const DL_MCAN_BitTimingParams   gMCAN0BitTimes = {
+    /* Arbitration Baud Rate Pre-scaler. */
+    .nomRatePrescalar   = 3,
+    /* Arbitration Time segment before sample point. */
+    .nomTimeSeg1        = 33,
+    /* Arbitration Time segment after sample point. */
+    .nomTimeSeg2        = 4,
+    /* Arbitration (Re)Synchronization Jump Width Range. */
+    .nomSynchJumpWidth  = 4,
+    /* Data Baud Rate Pre-scaler. */
+    .dataRatePrescalar  = 3,
+    /* Data Time segment before sample point. */
+    .dataTimeSeg1       = 16,
+    /* Data Time segment after sample point. */
+    .dataTimeSeg2       = 1,
+    /* Data (Re)Synchronization Jump Width.   */
+    .dataSynchJumpWidth = 1,
+};
+
+
+SYSCONFIG_WEAK void SYSCFG_DL_MCAN0_init(void) {
+    DL_MCAN_RevisionId revid_MCAN0;
+
+    DL_MCAN_enableModuleClock(MCAN0_INST);
+
+    DL_MCAN_setClockConfig(MCAN0_INST, (DL_MCAN_ClockConfig *) &gMCAN0ClockConf);
+
+    /* Get MCANSS Revision ID. */
+    DL_MCAN_getRevisionId(MCAN0_INST, &revid_MCAN0);
+
+    /* Wait for Memory initialization to be completed. */
+    while(false == DL_MCAN_isMemInitDone(MCAN0_INST));
+
+    /* Put MCAN in SW initialization mode. */
+
+    DL_MCAN_setOpMode(MCAN0_INST, DL_MCAN_OPERATION_MODE_SW_INIT);
+
+    /* Wait till MCAN is not initialized. */
+    while (DL_MCAN_OPERATION_MODE_SW_INIT != DL_MCAN_getOpMode(MCAN0_INST));
+
+    /* Initialize MCAN module. */
+    DL_MCAN_init(MCAN0_INST, (DL_MCAN_InitParams *) &gMCAN0InitParams);
+
+    /* Configure MCAN module. */
+    DL_MCAN_config(MCAN0_INST, (DL_MCAN_ConfigParams*) &gMCAN0ConfigParams);
+
+    /* Configure Bit timings. */
+    DL_MCAN_setBitTime(MCAN0_INST, (DL_MCAN_BitTimingParams*) &gMCAN0BitTimes);
+
+    /* Configure Message RAM Sections */
+    DL_MCAN_msgRAMConfig(MCAN0_INST, (DL_MCAN_MsgRAMConfigParams*) &gMCAN0MsgRAMConfigParams);
+
+    /* Configure Standard ID filter element */
+    DL_MCAN_addStdMsgIDFilter(MCAN0_INST, 0U, (DL_MCAN_StdMsgIDFilterElement *) &gMCAN0StdFiltelem);
+
+
+    /* Set Extended ID Mask. */
+    DL_MCAN_setExtIDAndMask(MCAN0_INST, MCAN0_INST_MCAN_EXT_ID_AND_MASK );
+
+    /* Loopback mode */
+
+    /* Take MCAN out of the SW initialization mode */
+    DL_MCAN_setOpMode(MCAN0_INST, DL_MCAN_OPERATION_MODE_NORMAL);
+
+    while (DL_MCAN_OPERATION_MODE_NORMAL != DL_MCAN_getOpMode(MCAN0_INST));
+
+    /* Enable MCAN mopdule Interrupts */
+    DL_MCAN_enableIntr(MCAN0_INST, MCAN0_INST_MCAN_INTERRUPTS, 1U);
+
+    DL_MCAN_selectIntrLine(MCAN0_INST, DL_MCAN_INTR_MASK_ALL, DL_MCAN_INTR_LINE_NUM_1);
+    DL_MCAN_enableIntrLine(MCAN0_INST, DL_MCAN_INTR_LINE_NUM_1, 1U);
+
+    /* Enable MSPM0 MCAN interrupt */
+    DL_MCAN_clearInterruptStatus(MCAN0_INST,(DL_MCAN_MSP_INTERRUPT_LINE1));
+    DL_MCAN_enableInterrupt(MCAN0_INST,(DL_MCAN_MSP_INTERRUPT_LINE1));
+
+}
+

+ 78 - 0
segment_main/Debug/ti_msp_dl_config.h

@@ -73,6 +73,7 @@ extern "C" {
 #define POWER_STARTUP_DELAY                                                (16)
 
 
+
 #define CPUCLK_FREQ                                                     32000000
 
 
@@ -100,6 +101,12 @@ extern "C" {
 
 
 
+/* Port definition for Pin Group GPIO_BRIDGE_SEGMENT */
+#define GPIO_BRIDGE_SEGMENT_PORT                                         (GPIOA)
+
+/* Defines for PIN_BRIDGE_SEGMENT: GPIOA.10 with pinCMx 21 on package pin 15 */
+#define GPIO_BRIDGE_SEGMENT_PIN_BRIDGE_SEGMENT_PIN              (DL_GPIO_PIN_10)
+#define GPIO_BRIDGE_SEGMENT_PIN_BRIDGE_SEGMENT_IOMUX             (IOMUX_PINCM21)
 /* Port definition for Pin Group GPIO_MULTIPLEXER_PIN_CONFIG */
 #define GPIO_MULTIPLEXER_PIN_CONFIG_PORT                                 (GPIOA)
 
@@ -118,6 +125,74 @@ extern "C" {
 /* Defines for PIN_E0: GPIOA.6 with pinCMx 11 on package pin 13 */
 #define GPIO_MULTIPLEXER_PIN_CONFIG_PIN_E0_PIN                   (DL_GPIO_PIN_6)
 #define GPIO_MULTIPLEXER_PIN_CONFIG_PIN_E0_IOMUX                 (IOMUX_PINCM11)
+/* Port definition for Pin Group GPIO_SHIFT_REGISTER_PIN_CONFIG */
+#define GPIO_SHIFT_REGISTER_PIN_CONFIG_PORT                                 (GPIOA)
+
+/* Defines for PIN_SER: GPIOA.11 with pinCMx 22 on package pin 16 */
+#define GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_SER_PIN              (DL_GPIO_PIN_11)
+#define GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_SER_IOMUX             (IOMUX_PINCM22)
+/* Defines for PIN_OE: GPIOA.14 with pinCMx 36 on package pin 17 */
+#define GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_OE_PIN               (DL_GPIO_PIN_14)
+#define GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_OE_IOMUX              (IOMUX_PINCM36)
+/* Defines for PIN_RCLK: GPIOA.15 with pinCMx 37 on package pin 18 */
+#define GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_RCLK_PIN             (DL_GPIO_PIN_15)
+#define GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_RCLK_IOMUX            (IOMUX_PINCM37)
+/* Defines for PIN_SRCLK: GPIOA.16 with pinCMx 38 on package pin 19 */
+#define GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_SRCLK_PIN            (DL_GPIO_PIN_16)
+#define GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_SRCLK_IOMUX           (IOMUX_PINCM38)
+/* Defines for PIN_SRCLR: GPIOA.17 with pinCMx 39 on package pin 20 */
+#define GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_SRCLR_PIN            (DL_GPIO_PIN_17)
+#define GPIO_SHIFT_REGISTER_PIN_CONFIG_PIN_SRCLR_IOMUX           (IOMUX_PINCM39)
+
+
+
+
+/* Defines for MCAN0 */
+#define MCAN0_INST                                                        CANFD0
+#define GPIO_MCAN0_CAN_TX_PORT                                             GPIOA
+#define GPIO_MCAN0_CAN_TX_PIN                                     DL_GPIO_PIN_26
+#define GPIO_MCAN0_IOMUX_CAN_TX                                  (IOMUX_PINCM59)
+#define GPIO_MCAN0_IOMUX_CAN_TX_FUNC               IOMUX_PINCM59_PF_CANFD0_CANTX
+#define GPIO_MCAN0_CAN_RX_PORT                                             GPIOA
+#define GPIO_MCAN0_CAN_RX_PIN                                     DL_GPIO_PIN_27
+#define GPIO_MCAN0_IOMUX_CAN_RX                                  (IOMUX_PINCM60)
+#define GPIO_MCAN0_IOMUX_CAN_RX_FUNC               IOMUX_PINCM60_PF_CANFD0_CANRX
+#define MCAN0_INST_IRQHandler                                 CANFD0_IRQHandler
+#define MCAN0_INST_INT_IRQN                                     CANFD0_INT_IRQn
+
+
+/* Defines for MCAN0 MCAN RAM configuration */
+#define MCAN0_INST_MCAN_STD_ID_FILT_START_ADDR     (0)
+#define MCAN0_INST_MCAN_STD_ID_FILTER_NUM          (2)
+#define MCAN0_INST_MCAN_EXT_ID_FILT_START_ADDR     (0)
+#define MCAN0_INST_MCAN_EXT_ID_FILTER_NUM          (0)
+#define MCAN0_INST_MCAN_TX_BUFF_START_ADDR         (148)
+#define MCAN0_INST_MCAN_TX_BUFF_SIZE               (2)
+#define MCAN0_INST_MCAN_FIFO_1_START_ADDR          (192)
+#define MCAN0_INST_MCAN_FIFO_1_NUM                 (2)
+#define MCAN0_INST_MCAN_TX_EVENT_START_ADDR        (164)
+#define MCAN0_INST_MCAN_TX_EVENT_SIZE              (2)
+#define MCAN0_INST_MCAN_EXT_ID_AND_MASK            (0x1FFFFFFFU)
+#define MCAN0_INST_MCAN_RX_BUFF_START_ADDR         (208)
+#define MCAN0_INST_MCAN_FIFO_0_START_ADDR          (172)
+#define MCAN0_INST_MCAN_FIFO_0_NUM                 (3)
+
+#define MCAN0_INST_MCAN_INTERRUPTS (DL_MCAN_INTERRUPT_ARA | \
+						DL_MCAN_INTERRUPT_BEU | \
+						DL_MCAN_INTERRUPT_BO | \
+						DL_MCAN_INTERRUPT_DRX | \
+						DL_MCAN_INTERRUPT_ELO | \
+						DL_MCAN_INTERRUPT_EP | \
+						DL_MCAN_INTERRUPT_EW | \
+						DL_MCAN_INTERRUPT_MRAF | \
+						DL_MCAN_INTERRUPT_PEA | \
+						DL_MCAN_INTERRUPT_PED | \
+						DL_MCAN_INTERRUPT_RF0N | \
+						DL_MCAN_INTERRUPT_TC | \
+						DL_MCAN_INTERRUPT_TEFN | \
+						DL_MCAN_INTERRUPT_TOO | \
+						DL_MCAN_INTERRUPT_TSW | \
+						DL_MCAN_INTERRUPT_WDI)
 
 
 
@@ -130,7 +205,10 @@ void SYSCFG_DL_SYSCTL_init(void);
 void SYSCFG_DL_ADC12_0_init(void);
 
 
+void SYSCFG_DL_MCAN0_init(void);
 
+bool SYSCFG_DL_saveConfiguration(void);
+bool SYSCFG_DL_restoreConfiguration(void);
 
 #ifdef __cplusplus
 }

BIN
segment_main/Debug/ti_msp_dl_config.o


Деякі файли не було показано, через те що забагато файлів було змінено