From 14a3cbb95532830706e8a94725c07130eb573a1a Mon Sep 17 00:00:00 2001
From: TuxMonkey <8196772+tuxmonkey@user.noreply.gitee.com>
Date: Sat, 15 Nov 2025 20:52:09 +0800
Subject: [PATCH] =?UTF-8?q?=E4=B8=BA=E4=BB=80=E4=B9=88=E8=A6=81=E6=BC=94?=
=?UTF-8?q?=E5=A5=8F=E6=98=A5=E6=97=A5=E5=BD=B1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
Core/Src/main.c | 5 +-
.../application/indicator_app/ws2812status.c | 236 ++++++++++--------
.../application/indicator_app/ws2812status.h | 2 +
User_Code/module/periph/buzzer/buzzer.c | 53 +++-
User_Code/module/periph/buzzer/buzzer.h | 13 +-
ozonedeb/windebnewestux.jdebug.user | 35 ++-
6 files changed, 211 insertions(+), 133 deletions(-)
diff --git a/Core/Src/main.c b/Core/Src/main.c
index 77cabc7..52478bc 100644
--- a/Core/Src/main.c
+++ b/Core/Src/main.c
@@ -133,8 +133,11 @@ int main(void)
MX_TIM3_Init();
MX_SPI6_Init();
/* USER CODE BEGIN 2 */
- systemstart_song();
+ robotSelfCheck(); //自检LED
+ systemstart_song(); //开机音乐
+
+ /*还没有启动调度器!不允许任何涉及到 Freertos ticks的内容在这里运行!!!*/
/* USER CODE END 2 */
/* Init scheduler */
diff --git a/User_Code/application/indicator_app/ws2812status.c b/User_Code/application/indicator_app/ws2812status.c
index 5f250b7..7bde183 100644
--- a/User_Code/application/indicator_app/ws2812status.c
+++ b/User_Code/application/indicator_app/ws2812status.c
@@ -31,136 +31,162 @@ uint8_t g = 0;
uint8_t b = 0;
/*---------------------FUNCTIONS---------------------*/
+
+void robotSelfCheck(void)
+{
+ WS2812_Ctrl(255, 0, 0);
+ HAL_Delay(300);
+
+ WS2812_Ctrl(0, 0, 255);
+ HAL_Delay(300);
+
+ WS2812_Ctrl(0, 255, 0);
+ HAL_Delay(300);
+
+ WS2812_Ctrl(0, 255, 0);
+}
+
/**
* @brief WS2812 LED control task
* @param argument
*/
-void ws2812Task(void *argument) {
- (void) argument;
- while (1) {
- switch (RobotMode) {
- case NORMAL_MODE:
- BlinkGreen();
- break;
- case SYS_ERROR_OCCURRED:
- BlinkRed();
- break;
- case REMOTE_NOT_CONNECTED:
- BlinkYellow();
- break;
- case REMOTE_CONNECTED:
- BlinkBlue();
- break;
- case AUTO_SHOOTING_MODE:
- BlinkCyan();
- break;
- case IMU_CALIBERATION_MODE:
- BlinkPurple();
- break;
- default:
- BlinkYellow();
- }
- osDelay(10); // 每个任务最后都要写在while里,要不然会导致任务切换失败
+void ws2812Task(void *argument)
+{
+ (void) argument;
+ while (1)
+ {
+ switch (RobotMode)
+ {
+ case NORMAL_MODE:
+ BlinkGreen();
+ break;
+ case SYS_ERROR_OCCURRED:
+ BlinkRed();
+ break;
+ case REMOTE_NOT_CONNECTED:
+ BlinkYellow();
+ break;
+ case REMOTE_CONNECTED:
+ BlinkBlue();
+ break;
+ case AUTO_SHOOTING_MODE:
+ BlinkCyan();
+ break;
+ case IMU_CALIBERATION_MODE:
+ BlinkPurple();
+ break;
+ default:
+ BlinkYellow();
}
+ osDelay(10); // 每个任务最后都要写在while里,要不然会导致任务切换失败
+ }
}
-void BlinkYellow(void) {
- r = 255; // 红色分量
- g = 255; // 绿色分量
- b = 0; // 蓝色分量
- WS2812_Ctrl(r, g, b); // 设置为黄色
- delay_ticks(500); // 延时500毫秒
- WS2812_Ctrl(0, 0, 0); // 关闭LED灯
- delay_ticks(500); // 延时500毫秒
+void BlinkYellow(void)
+{
+ r = 255; // 红色分量
+ g = 255; // 绿色分量
+ b = 0; // 蓝色分量
+ WS2812_Ctrl(r, g, b); // 设置为黄色
+ delay_ticks(500); // 延时500毫秒
+ WS2812_Ctrl(0, 0, 0); // 关闭LED灯
+ delay_ticks(500); // 延时500毫秒
}
-void BlinkRed(void) {
- r = 255; // 红色分量
- g = 0; // 绿色分量
- b = 0; // 蓝色分量
- WS2812_Ctrl(r, g, b); // 设置为红色
- delay_ticks(500); // 延时500毫秒
- WS2812_Ctrl(0, 0, 0); // 关闭LED灯
- delay_ticks(500); // 延时500毫秒
+void BlinkRed(void)
+{
+ r = 255; // 红色分量
+ g = 0; // 绿色分量
+ b = 0; // 蓝色分量
+ WS2812_Ctrl(r, g, b); // 设置为红色
+ delay_ticks(500); // 延时500毫秒
+ WS2812_Ctrl(0, 0, 0); // 关闭LED灯
+ delay_ticks(500); // 延时500毫秒
}
-void BlinkGreen(void) {
- r = 0; // 红色分量
- g = 255; // 绿色分量
- b = 0; // 蓝色分量
- WS2812_Ctrl(r, g, b); // 设置为绿色
- delay_ticks(500); // 延时500毫秒
- WS2812_Ctrl(0, 0, 0); // 关闭LED灯
- delay_ticks(500); // 延时500毫秒
+void BlinkGreen(void)
+{
+ r = 0; // 红色分量
+ g = 255; // 绿色分量
+ b = 0; // 蓝色分量
+ WS2812_Ctrl(r, g, b); // 设置为绿色
+ delay_ticks(500); // 延时500毫秒
+ WS2812_Ctrl(0, 0, 0); // 关闭LED灯
+ delay_ticks(500); // 延时500毫秒
}
-void BlinkBlue(void) {
- r = 0; // 红色分量
- g = 0; // 绿色分量
- b = 255; // 蓝色分量
- WS2812_Ctrl(r, g, b); // 设置为蓝色
- delay_ticks(500); // 延时500毫秒
- WS2812_Ctrl(0, 0, 0); // 关闭LED灯
- delay_ticks(500); // 延时500毫秒
+void BlinkBlue(void)
+{
+ r = 0; // 红色分量
+ g = 0; // 绿色分量
+ b = 255; // 蓝色分量
+ WS2812_Ctrl(r, g, b); // 设置为蓝色
+ delay_ticks(500); // 延时500毫秒
+ WS2812_Ctrl(0, 0, 0); // 关闭LED灯
+ delay_ticks(500); // 延时500毫秒
}
-void BlinkWhite(void) {
- r = 255; // 红色分量
- g = 255; // 绿色分量
- b = 255; // 蓝色分量
- WS2812_Ctrl(r, g, b); // 设置为白色
- delay_ticks(500); // 延时500毫秒
- WS2812_Ctrl(0, 0, 0); // 关闭LED灯
- delay_ticks(500); // 延时500毫秒
+void BlinkWhite(void)
+{
+ r = 255; // 红色分量
+ g = 255; // 绿色分量
+ b = 255; // 蓝色分量
+ WS2812_Ctrl(r, g, b); // 设置为白色
+ delay_ticks(500); // 延时500毫秒
+ WS2812_Ctrl(0, 0, 0); // 关闭LED灯
+ delay_ticks(500); // 延时500毫秒
}
-void BlinkCyan(void) {
- r = 0; // 红色分量
- g = 255; // 绿色分量
- b = 255; // 蓝色分量
- WS2812_Ctrl(r, g, b); // 设置为青色
- delay_ticks(500); // 延时500毫秒
- WS2812_Ctrl(0, 0, 0); // 关闭LED灯
- delay_ticks(500); // 延时500毫秒
+void BlinkCyan(void)
+{
+ r = 0; // 红色分量
+ g = 255; // 绿色分量
+ b = 255; // 蓝色分量
+ WS2812_Ctrl(r, g, b); // 设置为青色
+ delay_ticks(500); // 延时500毫秒
+ WS2812_Ctrl(0, 0, 0); // 关闭LED灯
+ delay_ticks(500); // 延时500毫秒
}
-void BlinkPurple(void) {
- r = 255; // 红色分量
- g = 0; // 绿色分量
- b = 255; // 蓝色分量
- WS2812_Ctrl(r, g, b); // 设置为紫色
- delay_ticks(500); // 延时500毫秒
- WS2812_Ctrl(0, 0, 0); // 关闭LED灯
- delay_ticks(500); // 延时500毫秒
+void BlinkPurple(void)
+{
+ r = 255; // 红色分量
+ g = 0; // 绿色分量
+ b = 255; // 蓝色分量
+ WS2812_Ctrl(r, g, b); // 设置为紫色
+ delay_ticks(500); // 延时500毫秒
+ WS2812_Ctrl(0, 0, 0); // 关闭LED灯
+ delay_ticks(500); // 延时500毫秒
}
-void PWMControwLed(void) {
- //
+void PWMControwLed(void)
+{
+ //
- // WS2812_Ctrl(r, g, b);
- // r++;
- // g += 5;
- // b += 10;
+ // WS2812_Ctrl(r, g, b);
+ // r++;
+ // g += 5;
+ // b += 10;
- // r=0;g=255;b=0;//绿色
- // WS2812_Ctrl(r, g, b);
- // delay_ticks(500); // 使用延时函数代替osDelay,避免任务切换失败
+ // r=0;g=255;b=0;//绿色
+ // WS2812_Ctrl(r, g, b);
+ // delay_ticks(500); // 使用延时函数代替osDelay,避免任务切换失败
- // r=0;g=0;b=255;//蓝色
- // WS2812_Ctrl(r, g, b);
- // delay_ticks(500);
+ // r=0;g=0;b=255;//蓝色
+ // WS2812_Ctrl(r, g, b);
+ // delay_ticks(500);
- // r=0;g=255;b=255;//青色
- // WS2812_Ctrl(r, g, b);
- // delay_ticks(500);
+ // r=0;g=255;b=255;//青色
+ // WS2812_Ctrl(r, g, b);
+ // delay_ticks(500);
- // r=255;g=0;b=255;//紫色
- // WS2812_Ctrl(r, g, b);
- // delay_ticks(500);
+ // r=255;g=0;b=255;//紫色
+ // WS2812_Ctrl(r, g, b);
+ // delay_ticks(500);
- // r=255;g=255;b=255;
- // WS2812_Ctrl(r, g, b);
- // delay_ticks(1000);
- // osDelay(1);
- // osDelay(100);
+ // r=255;g=255;b=255;
+ // WS2812_Ctrl(r, g, b);
+ // delay_ticks(1000);
+ // osDelay(1);
+ // osDelay(100);
}
diff --git a/User_Code/application/indicator_app/ws2812status.h b/User_Code/application/indicator_app/ws2812status.h
index ef9bce6..119c37e 100644
--- a/User_Code/application/indicator_app/ws2812status.h
+++ b/User_Code/application/indicator_app/ws2812status.h
@@ -10,6 +10,8 @@
/*---------------------FUNCTIONS---------------------*/
void ws2812Task(void *argument);
+void robotSelfCheck(void);
+
void BlinkYellow(void);
void BlinkRed(void);
diff --git a/User_Code/module/periph/buzzer/buzzer.c b/User_Code/module/periph/buzzer/buzzer.c
index 3540778..b838a67 100644
--- a/User_Code/module/periph/buzzer/buzzer.c
+++ b/User_Code/module/periph/buzzer/buzzer.c
@@ -1,3 +1,19 @@
+/**
+ * @file buzzer.c
+ * @brief 蜂鸣器控制
+ * @author TuxMonkey
+ * @version v1.0-bsp
+ * @date 2025-11-15
+ *
+ * @copyright Copyright (c) 2025 DLMU-C.ONE
+ *
+ * @par 修改日志:
+ *
+ * | Date | Version | Author | Description
+ * |
|---|
| 25-11.15 | v1.0-bsp | TuxMonkey | 蜂鸣器部分
+ * |
+ */
+
/*---------------------INCLUDES---------------------*/
#include "buzzer.h"
#include "cmsis_os.h"
@@ -263,17 +279,40 @@ void systemstart_song(void)
// delay_ticks(1000);
//DJI
- // buzzer_note(80,0.5);//高音do
- // delay_ticks(450);
- // buzzer_note(90,0.5);//高音re
- // delay_ticks(450);
- // buzzer_note(120,0.5);//高音sol
- // delay_ticks(550);
- SongLaoda();
+ // buzzer_note(80, 0.5); //高音do
+ // HAL_Delay(450);
+ // buzzer_note(90, 0.5); //高音re
+ // HAL_Delay(450);
+ // buzzer_note(120, 0.5); //高音sol
+ // HAL_Delay(550);
+
+ SongSpring(); //为什么要演奏春日影!!!
+
+ // SongLaoda();
buzzer_off();
}
+void SongSpring(void) //春日影!!!
+{
+ buzzer_note(165, 0.5); //mi
+ HAL_Delay(280);
+ buzzer_note(150, 0.5); //re
+ HAL_Delay(280);
+ buzzer_note(135, 0.5); //do
+ HAL_Delay(280);
+ buzzer_note(150, 0.5); //re
+ HAL_Delay(280);
+ buzzer_note(165, 0.5); //mi
+ HAL_Delay(280);
+ buzzer_note(170, 0.5); //fa
+ HAL_Delay(200);
+ buzzer_note(165, 0.5); //mi
+ HAL_Delay(200);
+ buzzer_note(150, 0.5); //re
+ HAL_Delay(300);
+}
+
void SongLaoda(void)
{
// 播放歌曲牢大
diff --git a/User_Code/module/periph/buzzer/buzzer.h b/User_Code/module/periph/buzzer/buzzer.h
index 64d6792..7160966 100644
--- a/User_Code/module/periph/buzzer/buzzer.h
+++ b/User_Code/module/periph/buzzer/buzzer.h
@@ -40,20 +40,29 @@ extern const uint8_t sound_autoaiming[];
void systemstart_song(void);
//
-void buzzerTask(void const * argument);
+void buzzerTask(void const *argument);
+
void SongLaoda(void);
+
+void SongSpring(void);
+
//
extern void SetBuzzerOff(void);
+
extern void SetBuzzerFrequence(uint16_t freq);
extern void buzzer_on(uint16_t psc, uint16_t pwm);
+
extern void buzzer_off(void);
-extern void buzzer_note(uint16_t note,float volume);
+
+extern void buzzer_note(uint16_t note, float volume);
//
extern int8_t SetBuzzerState(uint8_t state);
+
extern void PlayingSong(const uint16_t *song, uint16_t len);
+
extern void PlayingSound(const uint8_t *sound, uint16_t len);
diff --git a/ozonedeb/windebnewestux.jdebug.user b/ozonedeb/windebnewestux.jdebug.user
index 2008c28..7aebac3 100644
--- a/ozonedeb/windebnewestux.jdebug.user
+++ b/ozonedeb/windebnewestux.jdebug.user
@@ -1,6 +1,5 @@
-Breakpoint=D:/RM/Elec Control/TronOneH7_Scaffold/Core/Src/main.c:133:3, State=BP_STATE_ON
-OpenDocument="tasks.c", FilePath="D:/RM/Elec Control/TronOneH7_Scaffold/Middlewares/Third_Party/FreeRTOS/Source/tasks.c", Line=2303
+OpenDocument="tasks.c", FilePath="D:/RM/Elec Control/TronOneH7_Scaffold/Middlewares/Third_Party/FreeRTOS/Source/tasks.c", Line=2297
OpenDocument="stm32h7xx_hal.c", FilePath="D:/RM/Elec Control/TronOneH7_Scaffold/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c", Line=329
OpenDocument="list.c", FilePath="D:/RM/Elec Control/TronOneH7_Scaffold/Middlewares/Third_Party/FreeRTOS/Source/list.c", Line=144
OpenDocument="cmsis_gcc.h", FilePath="D:/RM/Elec Control/TronOneH7_Scaffold/Drivers/CMSIS/Include/cmsis_gcc.h", Line=264
@@ -8,24 +7,25 @@ OpenDocument="cmsis_os2.c", FilePath="D:/RM/Elec Control/TronOneH7_Scaffold/Midd
OpenDocument="stm32h7xx_it.c", FilePath="D:/RM/Elec Control/TronOneH7_Scaffold/Core/Src/stm32h7xx_it.c", Line=99
OpenDocument="delayticks.c", FilePath="D:/RM/Elec Control/TronOneH7_Scaffold/User_Code/bsp/delayticks/delayticks.c", Line=0
OpenDocument="buzzer.c", FilePath="D:/RM/Elec Control/TronOneH7_Scaffold/User_Code/module/periph/buzzer/buzzer.c", Line=191
-OpenDocument="main.c", FilePath="D:/RM/Elec Control/TronOneH7_Scaffold/Core/Src/main.c", Line=110
+OpenDocument="main.c", FilePath="D:/RM/Elec Control/TronOneH7_Scaffold/Core/Src/main.c", Line=69
OpenToolbar="Debug", Floating=0, x=0, y=0
OpenToolbar="Breakpoints", Floating=0, x=1, y=0
-OpenWindow="Registers 1", DockArea=BOTTOM, x=1, y=0, w=363, h=181, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0, FilteredItems=[], RefreshRate=1
-OpenWindow="Source Files", DockArea=LEFT, x=0, y=0, w=551, h=272, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0
-OpenWindow="Disassembly", DockArea=BOTTOM, x=2, y=0, w=627, h=181, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0
-OpenWindow="Break & Tracepoints", DockArea=LEFT, x=0, y=1, w=551, h=295, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0, VectorCatchIndexMask=254
-OpenWindow="Memory 1", DockArea=BOTTOM, x=3, y=0, w=467, h=181, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0, EditorAddress=0x20005E30
-OpenWindow="Global Data", DockArea=RIGHT, x=0, y=2, w=681, h=452, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0
-OpenWindow="Watched Data 1", DockArea=LEFT, x=0, y=2, w=551, h=299, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0
-OpenWindow="Functions", DockArea=LEFT, x=0, y=3, w=551, h=206, TabPos=1, TopOfStack=0, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0
-OpenWindow="Call Graph", DockArea=LEFT, x=0, y=3, w=551, h=206, TabPos=2, TopOfStack=1, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0
-OpenWindow="Data Sampling", DockArea=BOTTOM, x=0, y=0, w=1100, h=181, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0, VisibleTab=0, UniformSampleSpacing=0
-OpenWindow="Timeline", DockArea=RIGHT, x=0, y=1, w=681, h=431, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=1, DataPaneShown=1, PowerPaneShown=1, CodePaneShown=1, PinCursor="Cursor Movable", TimePerDiv="1 ns / Div", TimeStampFormat="Time", DataGraphDrawAsPoints=0, DataGraphLegendShown=1, DataGraphUniformSampleSpacing=0, DataGraphLegendPosition="491;-46", PowerGraphDrawAsPoints=0, PowerGraphLegendShown=1, PowerGraphAvgFilterTime=Off, PowerGraphAvgFilterLen=Off, PowerGraphUniformSampleSpacing=0, PowerGraphLegendPosition="459;-65", CodeGraphLegendShown=1, CodeGraphLegendPosition="475;0"
-OpenWindow="Console", DockArea=LEFT, x=0, y=3, w=551, h=206, TabPos=0, TopOfStack=0, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0
-OpenWindow="RTOS", DockArea=RIGHT, x=0, y=0, w=681, h=210, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0, Showing=""
+OpenWindow="Registers 1", DockArea=BOTTOM, x=1, y=0, w=362, h=181, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0, FilteredItems=[], RefreshRate=1
+OpenWindow="Source Files", DockArea=LEFT, x=0, y=0, w=551, h=273, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0
+OpenWindow="Disassembly", DockArea=BOTTOM, x=2, y=0, w=628, h=181, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0
+OpenWindow="Break & Tracepoints", DockArea=LEFT, x=0, y=1, w=551, h=290, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0, VectorCatchIndexMask=254
+OpenWindow="Memory 1", DockArea=BOTTOM, x=3, y=0, w=466, h=181, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0, EditorAddress=0x20005E30
+OpenWindow="Global Data", DockArea=RIGHT, x=0, y=2, w=681, h=441, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0
+OpenWindow="Watched Data 1", DockArea=LEFT, x=0, y=2, w=551, h=295, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0
+OpenWindow="Functions", DockArea=LEFT, x=0, y=3, w=551, h=214, TabPos=1, TopOfStack=0, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0
+OpenWindow="Call Graph", DockArea=LEFT, x=0, y=3, w=551, h=214, TabPos=2, TopOfStack=1, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0
+OpenWindow="Data Sampling", DockArea=BOTTOM, x=0, y=0, w=1101, h=181, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0, VisibleTab=0, UniformSampleSpacing=0
+OpenWindow="Timeline", DockArea=RIGHT, x=0, y=1, w=681, h=423, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=1, DataPaneShown=1, PowerPaneShown=1, CodePaneShown=1, PinCursor="Cursor Movable", TimePerDiv="1 ns / Div", TimeStampFormat="Time", DataGraphDrawAsPoints=0, DataGraphLegendShown=1, DataGraphUniformSampleSpacing=0, DataGraphLegendPosition="491;-46", PowerGraphDrawAsPoints=0, PowerGraphLegendShown=1, PowerGraphAvgFilterTime=Off, PowerGraphAvgFilterLen=Off, PowerGraphUniformSampleSpacing=0, PowerGraphLegendPosition="459;-65", CodeGraphLegendShown=1, CodeGraphLegendPosition="475;0"
+OpenWindow="Console", DockArea=LEFT, x=0, y=3, w=551, h=214, TabPos=0, TopOfStack=0, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0
+OpenWindow="RTOS", DockArea=RIGHT, x=0, y=0, w=681, h=229, FilterBarShown=0, TotalValueBarShown=0, ToolBarShown=0, Showing=""
+TableHeader="Call Graph", SortCol="Name", SortOrder="ASCENDING", VisibleCols=["Name";"Stack Total";"Stack Local";"Code Total";"Code Local";"Depth";"Called From"], ColWidths=[384;100;100;100;100;100;118]
TableHeader="Functions", SortCol="Name", SortOrder="ASCENDING", VisibleCols=["Name";"Address";"Size";"#Insts";"Source"], ColWidths=[1164;100;100;100;100]
-TableHeader="Global Data", SortCol="Name", SortOrder="ASCENDING", VisibleCols=["Name";"Value";"Location";"Size";"Type";"Scope"], ColWidths=[222;130;100;54;95;414]
+TableHeader="Global Data", SortCol="Name", SortOrder="ASCENDING", VisibleCols=["Name";"Value";"Location";"Size";"Type";"Scope"], ColWidths=[222;130;100;54;95;100]
TableHeader="Vector Catches", SortCol="None", SortOrder="ASCENDING", VisibleCols=["";"Vector Catch";"Description"], ColWidths=[50;300;500]
TableHeader="Break & Tracepoints", SortCol="None", SortOrder="ASCENDING", VisibleCols=["";"Type";"Location";"Extras"], ColWidths=[100;100;142;209]
TableHeader="Source Files", SortCol="File", SortOrder="ASCENDING", VisibleCols=["File";"Status";"Size";"#Insts";"Path"], ColWidths=[229;100;100;100;902]
@@ -35,5 +35,4 @@ TableHeader="Power Sampling", SortCol="Index", SortOrder="ASCENDING", VisibleCol
TableHeader="Registers 1", SortCol="Name", SortOrder="ASCENDING", VisibleCols=["Name";"Value";"Description"], ColWidths=[100;105;294]
TableHeader="Watched Data 1", SortCol="Expression", SortOrder="ASCENDING", VisibleCols=["Expression";"Value";"Location"], ColWidths=[171;101;279]
TableHeader="RegisterSelectionDialog", SortCol="None", SortOrder="ASCENDING", VisibleCols=[], ColWidths=[]
-TableHeader="Call Graph", SortCol="Name", SortOrder="ASCENDING", VisibleCols=["Name";"Stack Total";"Stack Local";"Code Total";"Code Local";"Depth";"Called From"], ColWidths=[384;100;100;100;100;100;118]
TableHeader="TargetExceptionDialog", SortCol="Name", SortOrder="ASCENDING", VisibleCols=["Name";"Value";"Address";"Description"], ColWidths=[27;27;27;38]
\ No newline at end of file