diff --git a/boards/drivers/include/buzzer.h b/boards/drivers/include/buzzer.h
index aeb84f5f..5fd4e956 100644
--- a/boards/drivers/include/buzzer.h
+++ b/boards/drivers/include/buzzer.h
@@ -1,5 +1,5 @@
/*###########################################################
- # Copyright (c) 2023-2024. BNU-HKBU UIC RoboMaster #
+ # Copyright (c) 2026-2027. BNU-HKBU UIC RoboMaster #
# #
# This program is free software: you can redistribute it #
# and/or modify it under the terms of the GNU General #
@@ -33,29 +33,44 @@ namespace driver {
* @note there are three octaves in total
*/
enum class BuzzerNote {
- Do1L = 262, ///*261.63Hz*/ 3822us
- Re2L = 294, ///*293.66Hz*/ 3405us
- Mi3L = 330, ///*329.63Hz*/ 3034us
- Fa4L = 349, ///*349.23Hz*/ 2863us
- So5L = 392, ///*392.00Hz*/ 2551us
- La6L = 440, ///*440.00Hz*/ 2272us
- Si7L = 494, ///*493.88Hz*/ 2052us
+ Do1L = 262, // C4: 261.63 Hz, 3822 us
+ Do1SharpL = 277, // C#4: 277.18 Hz, 3608 us
+ Re2L = 294, // D4: 293.66 Hz, 3405 us
+ Re2SharpL = 311, // D#4: 311.13 Hz, 3214 us
+ Mi3L = 330, // E4: 329.63 Hz, 3034 us
+ Fa4L = 349, // F4: 349.23 Hz, 2863 us
+ Fa4SharpL = 370, // F#4: 369.99 Hz, 2703 us
+ So5L = 392, // G4: 392.00 Hz, 2551 us
+ So5SharpL = 415, // G#4: 415.30 Hz, 2408 us
+ La6L = 440, // A4: 440.00 Hz, 2273 us
+ La6SharpL = 466, // A#4: 466.16 Hz, 2145 us
+ Si7L = 494, // B4: 493.88 Hz, 2025 us
- Do1M = 523, ///*523.25Hz*/ 1911us
- Re2M = 587, ///*587.33Hz*/ 1703us
- Mi3M = 659, ///*659.26Hz*/ 1517us
- Fa4M = 698, ///*698.46Hz*/ 1432us
- So5M = 784, ///*784.00Hz*/ 1276us
- La6M = 880, ///*880.00Hz*/ 1136us
- Si7M = 988, ///*987.77Hz*/ 1012us
+ Do1M = 523, // C5: 523.25 Hz, 1911 us
+ Do1SharpM = 554, // C#5: 554.37 Hz, 1804 us
+ Re2M = 587, // D5: 587.33 Hz, 1703 us
+ Re2SharpM = 622, // D#5: 622.25 Hz, 1607 us
+ Mi3M = 659, // E5: 659.26 Hz, 1517 us
+ Fa4M = 698, // F5: 698.46 Hz, 1432 us
+ Fa4SharpM = 740, // F#5: 739.99 Hz, 1351 us
+ So5M = 784, // G5: 783.99 Hz, 1276 us
+ So5SharpM = 831, // G#5: 830.61 Hz, 1204 us
+ La6M = 880, // A5: 880.00 Hz, 1136 us
+ La6SharpM = 932, // A#5: 932.33 Hz, 1073 us
+ Si7M = 988, // B5: 987.77 Hz, 1012 us
- Do1H = 1047, ///*1046.50Hz*/ 956us
- Re2H = 1175, ///*1174.66Hz*/ 851us
- Mi3H = 1319, ///*1318.51Hz*/ 758us
- Fa4H = 1397, ///*1396.91Hz*/ 716us
- So5H = 1568, ///*1567.98Hz*/ 638us
- La6H = 1760, ///*1760.00Hz*/ 568us
- Si7H = 1976, ///*1975.53Hz*/ 506us
+ Do1H = 1047, // C6: 1046.50 Hz, 956 us
+ Do1SharpH = 1109, // C#6: 1108.73 Hz, 902 us
+ Re2H = 1175, // D6: 1174.66 Hz, 851 us
+ Re2SharpH = 1245, // D#6: 1244.51 Hz, 804 us
+ Mi3H = 1319, // E6: 1318.51 Hz, 758 us
+ Fa4H = 1397, // F6: 1396.91 Hz, 716 us
+ Fa4SharpH = 1480, // F#6: 1479.98 Hz, 676 us
+ So5H = 1568, // G6: 1567.98 Hz, 638 us
+ So5SharpH = 1661, // G#6: 1661.22 Hz, 602 us
+ La6H = 1760, // A6: 1760.00 Hz, 568 us
+ La6SharpH = 1865, // A#6: 1864.66 Hz, 536 us
+ Si7H = 1976, // B6: 1975.53 Hz, 506 us
Silent = 0,
Finish = -1,
diff --git a/boards/drivers/include/buzzer_songs.h b/boards/drivers/include/buzzer_songs.h
new file mode 100644
index 00000000..16f8f7af
--- /dev/null
+++ b/boards/drivers/include/buzzer_songs.h
@@ -0,0 +1,288 @@
+/*###########################################################
+ # Copyright (c) 2026-2027. BNU-HKBU UIC RoboMaster #
+ # #
+ # This program is free software: you can redistribute it #
+ # and/or modify it under the terms of the GNU General #
+ # Public License as published by the Free Software #
+ # Foundation, either version 3 of the License, or (at #
+ # your option) any later version. #
+ # #
+ # This program is distributed in the hope that it will be #
+ # useful, but WITHOUT ANY WARRANTY; without even #
+ # the implied warranty of MERCHANTABILITY or FITNESS #
+ # FOR A PARTICULAR PURPOSE. See the GNU General #
+ # Public License for more details. #
+ # #
+ # You should have received a copy of the GNU General #
+ # Public License along with this program. If not, see #
+ # . #
+ ###########################################################*/
+
+#pragma once
+
+#include "buzzer.h"
+
+namespace driver {
+ namespace songs {
+
+ // Shared melodies and status tones. All delays are in milliseconds.
+ // End each sequence with Finish so Buzzer::SingSong stops at its boundary.
+ inline constexpr BuzzerNoteDelayed Mario[] =
+ {{BuzzerNote::Mi3M, 80},
+ {BuzzerNote::Silent, 80},
+ {BuzzerNote::Mi3M, 80},
+ {BuzzerNote::Silent, 240},
+ {BuzzerNote::Mi3M, 80},
+ {BuzzerNote::Silent, 240},
+ {BuzzerNote::Do1M, 80},
+ {BuzzerNote::Silent, 80},
+ {BuzzerNote::Mi3M, 80},
+ {BuzzerNote::Silent, 240},
+ {BuzzerNote::So5M, 80},
+ {BuzzerNote::Silent, 560},
+ {BuzzerNote::So5L, 80},
+ {BuzzerNote::Silent, 0},
+ {BuzzerNote::Finish, 0}};
+
+ inline constexpr BuzzerNoteDelayed War_Cant_of_Mars[] = {
+ {BuzzerNote::So5M, 400}, {BuzzerNote::So5M, 200}, {BuzzerNote::So5M, 200}, {BuzzerNote::So5M, 400},
+ {BuzzerNote::Fa4M, 200}, {BuzzerNote::Mi3M, 400}, {BuzzerNote::So5M, 200}, {BuzzerNote::Do1H, 400},
+ {BuzzerNote::Re2H, 200}, {BuzzerNote::Mi3H, 400}, {BuzzerNote::Mi3H, 200}, {BuzzerNote::Mi3H, 400},
+ {BuzzerNote::Re2H, 200}, {BuzzerNote::Do1H, 400}, {BuzzerNote::Do1H, 400}, {BuzzerNote::Si7M, 200},
+ {BuzzerNote::La6M, 400}, {BuzzerNote::La6M, 200}, {BuzzerNote::La6M, 400}, {BuzzerNote::Si7M, 200},
+ {BuzzerNote::Do1H, 400}, {BuzzerNote::Si7M, 200}, {BuzzerNote::Do1H, 400}, {BuzzerNote::La6M, 200},
+ {BuzzerNote::So5M, 400}, {BuzzerNote::La6M, 200}, {BuzzerNote::So5M, 400}, {BuzzerNote::Mi3M, 200},
+ {BuzzerNote::So5M, 800}, {BuzzerNote::So5M, 400}, {BuzzerNote::So5M, 200}, {BuzzerNote::So5M, 400},
+ {BuzzerNote::So5M, 200}, {BuzzerNote::So5M, 400}, {BuzzerNote::Fa4M, 200}, {BuzzerNote::Mi3M, 400},
+ {BuzzerNote::So5M, 200}, {BuzzerNote::Do1H, 400}, {BuzzerNote::Re2H, 200}, {BuzzerNote::Mi3H, 400},
+ {BuzzerNote::Mi3H, 200}, {BuzzerNote::Mi3H, 400}, {BuzzerNote::Re2H, 200}, {BuzzerNote::Do1H, 800},
+ {BuzzerNote::Do1H, 800}, {BuzzerNote::Re2H, 800}, {BuzzerNote::Re2H, 800}, {BuzzerNote::Do1H, 800},
+ {BuzzerNote::Si7M, 800}, {BuzzerNote::Do1H, 1600}, {BuzzerNote::Silent, 400}, {BuzzerNote::Silent, 400},
+ {BuzzerNote::So5M, 800}, {BuzzerNote::Fa4M, 400}, {BuzzerNote::Mi3M, 400}, {BuzzerNote::So5M, 200},
+ {BuzzerNote::Do1H, 400}, {BuzzerNote::Re2H, 200}, {BuzzerNote::Mi3H, 1200}, {BuzzerNote::Do1H, 800},
+ {BuzzerNote::Silent, 400}, {BuzzerNote::La6M, 800}, {BuzzerNote::Si7M, 400}, {BuzzerNote::Do1H, 400},
+ {BuzzerNote::Si7M, 200}, {BuzzerNote::Do1H, 400}, {BuzzerNote::La6M, 200}, {BuzzerNote::So5M, 1600},
+ {BuzzerNote::Mi3M, 800}, {BuzzerNote::Silent, 400}, {BuzzerNote::So5M, 800}, {BuzzerNote::Fa4M, 400},
+ {BuzzerNote::Mi3M, 400}, {BuzzerNote::So5M, 200}, {BuzzerNote::Do1H, 400}, {BuzzerNote::Re2H, 200},
+ {BuzzerNote::Mi3H, 1600}, {BuzzerNote::Do1H, 800}, {BuzzerNote::Do1H, 800}, {BuzzerNote::Re2H, 800},
+ {BuzzerNote::Re2H, 800}, {BuzzerNote::Do1H, 800}, {BuzzerNote::Si7M, 800}, {BuzzerNote::Do1H, 1600},
+ {BuzzerNote::Silent, 0}, {BuzzerNote::Finish, 0},
+ };
+
+ inline constexpr BuzzerNoteDelayed DJI[] =
+ {{BuzzerNote::Do1M, 300}, {BuzzerNote::Re2M, 300}, {BuzzerNote::So5M, 600}, {BuzzerNote::Finish, 0}};
+
+ inline constexpr BuzzerNoteDelayed SingCaliStart[] =
+ {{BuzzerNote::Mi3M, 100}, {BuzzerNote::Re2M, 100}, {BuzzerNote::Mi3M, 100}, {BuzzerNote::Finish, 0}};
+
+ inline constexpr BuzzerNoteDelayed SingCaliDone[] =
+ {{BuzzerNote::Re2M, 100}, {BuzzerNote::Mi3M, 100}, {BuzzerNote::Re2M, 100}, {BuzzerNote::Finish, 0}};
+
+ // Two Tigers.
+ inline constexpr BuzzerNoteDelayed Laohu[] =
+ {{BuzzerNote::Do1M, 500}, {BuzzerNote::Re2M, 500}, {BuzzerNote::Mi3M, 500}, {BuzzerNote::Do1M, 450},
+ {BuzzerNote::Silent, 50}, {BuzzerNote::Do1M, 500}, {BuzzerNote::Re2M, 500}, {BuzzerNote::Mi3M, 500},
+ {BuzzerNote::Do1M, 450}, {BuzzerNote::Silent, 50}, {BuzzerNote::Mi3M, 500}, {BuzzerNote::Fa4M, 500},
+ {BuzzerNote::So5M, 500}, {BuzzerNote::Silent, 500}, {BuzzerNote::Mi3M, 500}, {BuzzerNote::Fa4M, 500},
+ {BuzzerNote::So5M, 500}, {BuzzerNote::Silent, 500}, {BuzzerNote::So5M, 250}, {BuzzerNote::La6M, 250},
+ {BuzzerNote::So5M, 250}, {BuzzerNote::Fa4M, 250}, {BuzzerNote::Mi3M, 500}, {BuzzerNote::Do1M, 500},
+ {BuzzerNote::So5M, 250}, {BuzzerNote::La6M, 250}, {BuzzerNote::So5M, 250}, {BuzzerNote::Fa4M, 250},
+ {BuzzerNote::Mi3M, 500}, {BuzzerNote::Do1M, 500}, {BuzzerNote::Re2M, 500}, {BuzzerNote::Si7L, 500},
+ {BuzzerNote::Do1M, 500}, {BuzzerNote::Silent, 500}, {BuzzerNote::Re2M, 500}, {BuzzerNote::Si7L, 500},
+ {BuzzerNote::Do1M, 500}, {BuzzerNote::Silent, 500}, {BuzzerNote::Finish, 0}};
+
+ // Never Gonna Give You Up - Rick Astley.
+ // 114 BPM; delays in milliseconds. Each pitched note sounds for 90% of its slot.
+ inline constexpr BuzzerNoteDelayed NeverGonnaGiveYouUp[] = {
+ // Intro
+ {BuzzerNote::Re2M, 710},
+ {BuzzerNote::Silent, 79}, // D5, -4
+ {BuzzerNote::Mi3M, 710},
+ {BuzzerNote::Silent, 79}, // E5, -4
+ {BuzzerNote::La6L, 473},
+ {BuzzerNote::Silent, 53}, // A4, 4
+
+ {BuzzerNote::Mi3M, 710},
+ {BuzzerNote::Silent, 79}, // E5, -4
+ {BuzzerNote::Fa4SharpM, 710},
+ {BuzzerNote::Silent, 79}, // FS5, -4
+ {BuzzerNote::La6M, 117},
+ {BuzzerNote::Silent, 14}, // A5, 16
+ {BuzzerNote::So5M, 117},
+ {BuzzerNote::Silent, 14}, // G5, 16
+ {BuzzerNote::Fa4SharpM, 236},
+ {BuzzerNote::Silent, 27}, // FS5, 8
+
+ {BuzzerNote::Re2M, 710},
+ {BuzzerNote::Silent, 79}, // D5, -4
+ {BuzzerNote::Mi3M, 710},
+ {BuzzerNote::Silent, 79}, // E5, -4
+ {BuzzerNote::La6L, 946},
+ {BuzzerNote::Silent, 106}, // A4, 2
+
+ {BuzzerNote::La6L, 117},
+ {BuzzerNote::Silent, 14}, // A4, 16
+ {BuzzerNote::La6L, 117},
+ {BuzzerNote::Silent, 14}, // A4, 16
+ {BuzzerNote::Si7L, 117},
+ {BuzzerNote::Silent, 14}, // B4, 16
+ {BuzzerNote::Re2M, 236},
+ {BuzzerNote::Silent, 27}, // D5, 8
+ {BuzzerNote::Re2M, 117},
+ {BuzzerNote::Silent, 14}, // D5, 16
+
+ {BuzzerNote::Re2M, 710},
+ {BuzzerNote::Silent, 79}, // D5, -4
+ {BuzzerNote::Mi3M, 710},
+ {BuzzerNote::Silent, 79}, // E5, -4
+ {BuzzerNote::La6L, 473},
+ {BuzzerNote::Silent, 53}, // A4, 4
+
+ {BuzzerNote::Mi3M, 710},
+ {BuzzerNote::Silent, 79}, // E5, -4
+ {BuzzerNote::Fa4SharpM, 710},
+ {BuzzerNote::Silent, 79}, // FS5, -4
+ {BuzzerNote::La6M, 117},
+ {BuzzerNote::Silent, 14}, // A5, 16
+ {BuzzerNote::So5M, 117},
+ {BuzzerNote::Silent, 14}, // G5, 16
+ {BuzzerNote::Fa4SharpM, 236},
+ {BuzzerNote::Silent, 27}, // FS5, 8
+
+ {BuzzerNote::Re2M, 710},
+ {BuzzerNote::Silent, 79}, // D5, -4
+ {BuzzerNote::Mi3M, 710},
+ {BuzzerNote::Silent, 79}, // E5, -4
+ {BuzzerNote::La6L, 946},
+ {BuzzerNote::Silent, 106}, // A4, 2
+
+ // Chorus
+ {BuzzerNote::La6L, 117},
+ {BuzzerNote::Silent, 14}, // A4, 16
+ {BuzzerNote::Si7L, 117},
+ {BuzzerNote::Silent, 14}, // B4, 16
+ {BuzzerNote::Re2M, 117},
+ {BuzzerNote::Silent, 14}, // D5, 16
+ {BuzzerNote::Si7L, 117},
+ {BuzzerNote::Silent, 14}, // B4, 16
+
+ {BuzzerNote::Fa4SharpM, 354},
+ {BuzzerNote::Silent, 40}, // FS5, -8
+ {BuzzerNote::Fa4SharpM, 354},
+ {BuzzerNote::Silent, 40}, // FS5, -8
+ {BuzzerNote::Mi3M, 710},
+ {BuzzerNote::Silent, 79}, // E5, -4
+ {BuzzerNote::La6L, 117},
+ {BuzzerNote::Silent, 14}, // A4, 16
+ {BuzzerNote::Si7L, 117},
+ {BuzzerNote::Silent, 14}, // B4, 16
+ {BuzzerNote::Re2M, 117},
+ {BuzzerNote::Silent, 14}, // D5, 16
+ {BuzzerNote::Si7L, 117},
+ {BuzzerNote::Silent, 14}, // B4, 16
+
+ {BuzzerNote::Mi3M, 354},
+ {BuzzerNote::Silent, 40}, // E5, -8
+ {BuzzerNote::Mi3M, 354},
+ {BuzzerNote::Silent, 40}, // E5, -8
+ {BuzzerNote::Re2M, 354},
+ {BuzzerNote::Silent, 40}, // D5, -8
+ {BuzzerNote::Do1SharpM, 117},
+ {BuzzerNote::Silent, 14}, // CS5, 16
+ {BuzzerNote::Si7L, 354},
+ {BuzzerNote::Silent, 40}, // B4, -8
+ {BuzzerNote::La6L, 117},
+ {BuzzerNote::Silent, 14}, // A4, 16
+ {BuzzerNote::Si7L, 117},
+ {BuzzerNote::Silent, 14}, // B4, 16
+ {BuzzerNote::Re2M, 117},
+ {BuzzerNote::Silent, 14}, // D5, 16
+ {BuzzerNote::Si7L, 117},
+ {BuzzerNote::Silent, 14}, // B4, 16
+
+ {BuzzerNote::Re2M, 473},
+ {BuzzerNote::Silent, 53}, // D5, 4
+ {BuzzerNote::Mi3M, 236},
+ {BuzzerNote::Silent, 27}, // E5, 8
+ {BuzzerNote::Do1SharpM, 354},
+ {BuzzerNote::Silent, 40}, // CS5, -8
+ {BuzzerNote::Si7L, 117},
+ {BuzzerNote::Silent, 14}, // B4, 16
+ {BuzzerNote::La6L, 236},
+ {BuzzerNote::Silent, 27}, // A4, 8
+ {BuzzerNote::La6L, 236},
+ {BuzzerNote::Silent, 27}, // A4, 8
+ {BuzzerNote::La6L, 236},
+ {BuzzerNote::Silent, 27}, // A4, 8
+
+ {BuzzerNote::Mi3M, 473},
+ {BuzzerNote::Silent, 53}, // E5, 4
+ {BuzzerNote::Re2M, 946},
+ {BuzzerNote::Silent, 106}, // D5, 2
+ {BuzzerNote::La6L, 117},
+ {BuzzerNote::Silent, 14}, // A4, 16
+ {BuzzerNote::Si7L, 117},
+ {BuzzerNote::Silent, 14}, // B4, 16
+ {BuzzerNote::Re2M, 117},
+ {BuzzerNote::Silent, 14}, // D5, 16
+ {BuzzerNote::Si7L, 117},
+ {BuzzerNote::Silent, 14}, // B4, 16
+
+ {BuzzerNote::Fa4SharpM, 354},
+ {BuzzerNote::Silent, 40}, // FS5, -8
+ {BuzzerNote::Fa4SharpM, 354},
+ {BuzzerNote::Silent, 40}, // FS5, -8
+ {BuzzerNote::Mi3M, 710},
+ {BuzzerNote::Silent, 79}, // E5, -4
+ {BuzzerNote::La6L, 117},
+ {BuzzerNote::Silent, 14}, // A4, 16
+ {BuzzerNote::Si7L, 117},
+ {BuzzerNote::Silent, 14}, // B4, 16
+ {BuzzerNote::Re2M, 117},
+ {BuzzerNote::Silent, 14}, // D5, 16
+ {BuzzerNote::Si7L, 117},
+ {BuzzerNote::Silent, 14}, // B4, 16
+
+ {BuzzerNote::La6M, 473},
+ {BuzzerNote::Silent, 53}, // A5, 4
+ {BuzzerNote::Do1SharpM, 236},
+ {BuzzerNote::Silent, 27}, // CS5, 8
+ {BuzzerNote::Re2M, 354},
+ {BuzzerNote::Silent, 40}, // D5, -8
+ {BuzzerNote::Do1SharpM, 117},
+ {BuzzerNote::Silent, 14}, // CS5, 16
+ {BuzzerNote::Si7L, 236},
+ {BuzzerNote::Silent, 27}, // B4, 8
+ {BuzzerNote::La6L, 117},
+ {BuzzerNote::Silent, 14}, // A4, 16
+ {BuzzerNote::Si7L, 117},
+ {BuzzerNote::Silent, 14}, // B4, 16
+ {BuzzerNote::Re2M, 117},
+ {BuzzerNote::Silent, 14}, // D5, 16
+ {BuzzerNote::Si7L, 117},
+ {BuzzerNote::Silent, 14}, // B4, 16
+
+ {BuzzerNote::Re2M, 473},
+ {BuzzerNote::Silent, 53}, // D5, 4
+ {BuzzerNote::Mi3M, 236},
+ {BuzzerNote::Silent, 27}, // E5, 8
+ {BuzzerNote::Do1SharpM, 354},
+ {BuzzerNote::Silent, 40}, // CS5, -8
+ {BuzzerNote::Si7L, 117},
+ {BuzzerNote::Silent, 14}, // B4, 16
+ {BuzzerNote::La6L, 473},
+ {BuzzerNote::Silent, 53}, // A4, 4
+ {BuzzerNote::La6L, 236},
+ {BuzzerNote::Silent, 27}, // A4, 8
+
+ {BuzzerNote::Mi3M, 473},
+ {BuzzerNote::Silent, 53}, // E5, 4
+ {BuzzerNote::Re2M, 946},
+ {BuzzerNote::Silent, 106}, // D5, 2
+ {BuzzerNote::Silent, 526}, // REST, 4
+
+ {BuzzerNote::Finish, 0},
+ };
+
+ } // namespace songs
+} // namespace driver
diff --git a/boards/drivers/src/buzzer.cpp b/boards/drivers/src/buzzer.cpp
index cf17fe98..7ce14c9b 100644
--- a/boards/drivers/src/buzzer.cpp
+++ b/boards/drivers/src/buzzer.cpp
@@ -28,6 +28,10 @@ namespace driver {
}
void Buzzer::SingTone(const BuzzerNote& note) {
+ if (note == BuzzerNote::Silent) {
+ Off();
+ return;
+ }
if (note != BuzzerNote::Finish) {
pwm_.SetFrequency(static_cast(note));
pwm_.SetPulseWidth(1000000 / static_cast(note) / 2);
diff --git a/examples/DJI_Board_TypeA_general/buzzer/main.cpp b/examples/DJI_Board_TypeA_general/buzzer/main.cpp
index a0dc2306..36d7c85c 100644
--- a/examples/DJI_Board_TypeA_general/buzzer/main.cpp
+++ b/examples/DJI_Board_TypeA_general/buzzer/main.cpp
@@ -21,59 +21,11 @@
#include "main.h"
#include "buzzer.h"
+#include "buzzer_songs.h"
#include "tim.h"
-using Note = driver::BuzzerNote;
-/*
-static bsp::BuzzerNoteDelayed Mario[] = {
- {Note::Mi3M, 80}, {Note::Silent, 80}, {Note::Mi3M, 80}, {Note::Silent,
-240}, {Note::Mi3M, 80}, {Note::Silent, 240}, {Note::Do1M, 80}, {Note::Silent,
-80}, {Note::Mi3M, 80}, {Note::Silent, 240}, {Note::So5M, 80}, {Note::Silent,
-560}, {Note::So5L, 80}, {Note::Silent, 0}, {Note::Finish, 0}};
-// uncomment to play the full song
-static bsp::BuzzerNoteDelayed War_Cant_of_Mars[] = {
- // {Note::So5M, 400}, {Note::So5M, 200}, {Note::So5M, 200},
- // {Note::So5M, 400}, {Note::Fa4M, 200}, {Note::Mi3M, 400},
- // {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200},
- // {Note::Mi3H, 400}, {Note::Mi3H, 200}, {Note::Mi3H, 400},
- // {Note::Re2H, 200}, {Note::Do1H, 400}, {Note::Do1H, 400},
- // {Note::Si7M, 200}, {Note::La6M, 400}, {Note::La6M, 200},
- // {Note::La6M, 400}, {Note::Si7M, 200}, {Note::Do1H, 400},
- // {Note::Si7M, 200}, {Note::Do1H, 400}, {Note::La6M, 200},
- // {Note::So5M, 400}, {Note::La6M, 200}, {Note::So5M, 400},
- // {Note::Mi3M, 200}, {Note::So5M, 800}, {Note::So5M, 400},
- // {Note::So5M, 200}, {Note::So5M, 400}, {Note::So5M, 200},
- // {Note::So5M, 400}, {Note::Fa4M, 200}, {Note::Mi3M, 400},
- // {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200},
- // {Note::Mi3H, 400}, {Note::Mi3H, 200}, {Note::Mi3H, 400},
- // {Note::Re2H, 200}, {Note::Do1H, 800}, {Note::Do1H, 800},
- // {Note::Re2H, 800}, {Note::Re2H, 800}, {Note::Do1H, 800},
- // {Note::Si7M, 800}, {Note::Do1H, 1600}, {Note::Silent, 400},
- {Note::Silent, 400},
- {Note::So5M, 800},
- {Note::Fa4M, 400},
- {Note::Mi3M, 400},
- {Note::So5M, 200},
- {Note::Do1H, 400},
- {Note::Re2H, 200},
- {Note::Mi3H, 1200},
- {Note::Do1H, 800},
- // {Note::Silent, 400}, {Note::La6M, 800}, {Note::Si7M, 400},
- // {Note::Do1H, 400}, {Note::Si7M, 200}, {Note::Do1H, 400},
- // {Note::La6M, 200}, {Note::So5M, 1600}, {Note::Mi3M, 800},
- // {Note::Silent, 400}, {Note::So5M, 800}, {Note::Fa4M, 400},
- // {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400},
- // {Note::Re2H, 200}, {Note::Mi3H, 1600}, {Note::Do1H, 800},
- // {Note::Do1H, 800}, {Note::Re2H, 800}, {Note::Re2H, 800},
- // {Note::Do1H, 800}, {Note::Si7M, 800}, {Note::Do1H, 1600},
- {Note::Silent, 0},
- {Note::Finish, 0},
-};
-*/
-static driver::BuzzerNoteDelayed DJI[] = {{Note::Do1M, 300}, {Note::Re2M, 300}, {Note::So5M, 600}, {Note::Finish, 0}};
-
void RM_RTOS_Init(void) {
driver::Buzzer buzzer(&htim12, 1, 1000000);
- buzzer.SingSong(DJI);
- // buzzer.SingSong(War_Cant_of_Mars);
+ buzzer.SingSong(driver::songs::DJI);
+ // buzzer.SingSong(driver::songs::War_Cant_of_Mars);
}
diff --git a/examples/DJI_Board_TypeC_general/buzzer/main.cpp b/examples/DJI_Board_TypeC_general/buzzer/main.cpp
index 6fdbcfab..68a28837 100644
--- a/examples/DJI_Board_TypeC_general/buzzer/main.cpp
+++ b/examples/DJI_Board_TypeC_general/buzzer/main.cpp
@@ -21,59 +21,10 @@
#include "main.h"
#include "buzzer.h"
+#include "buzzer_songs.h"
#include "tim.h"
-using Note = driver::BuzzerNote;
-/*
-static bsp::BuzzerNoteDelayed Mario[] = {
- {Note::Mi3M, 80}, {Note::Silent, 80}, {Note::Mi3M, 80}, {Note::Silent,
-240}, {Note::Mi3M, 80}, {Note::Silent, 240}, {Note::Do1M, 80}, {Note::Silent,
-80}, {Note::Mi3M, 80}, {Note::Silent, 240}, {Note::So5M, 80}, {Note::Silent,
-560}, {Note::So5L, 80}, {Note::Silent, 0}, {Note::Finish, 0}};
-// uncomment to play the full song
-static bsp::BuzzerNoteDelayed War_Cant_of_Mars[] = {
- // {Note::So5M, 400}, {Note::So5M, 200}, {Note::So5M, 200},
- // {Note::So5M, 400}, {Note::Fa4M, 200}, {Note::Mi3M, 400},
- // {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200},
- // {Note::Mi3H, 400}, {Note::Mi3H, 200}, {Note::Mi3H, 400},
- // {Note::Re2H, 200}, {Note::Do1H, 400}, {Note::Do1H, 400},
- // {Note::Si7M, 200}, {Note::La6M, 400}, {Note::La6M, 200},
- // {Note::La6M, 400}, {Note::Si7M, 200}, {Note::Do1H, 400},
- // {Note::Si7M, 200}, {Note::Do1H, 400}, {Note::La6M, 200},
- // {Note::So5M, 400}, {Note::La6M, 200}, {Note::So5M, 400},
- // {Note::Mi3M, 200}, {Note::So5M, 800}, {Note::So5M, 400},
- // {Note::So5M, 200}, {Note::So5M, 400}, {Note::So5M, 200},
- // {Note::So5M, 400}, {Note::Fa4M, 200}, {Note::Mi3M, 400},
- // {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200},
- // {Note::Mi3H, 400}, {Note::Mi3H, 200}, {Note::Mi3H, 400},
- // {Note::Re2H, 200}, {Note::Do1H, 800}, {Note::Do1H, 800},
- // {Note::Re2H, 800}, {Note::Re2H, 800}, {Note::Do1H, 800},
- // {Note::Si7M, 800}, {Note::Do1H, 1600}, {Note::Silent, 400},
- {Note::Silent, 400},
- {Note::So5M, 800},
- {Note::Fa4M, 400},
- {Note::Mi3M, 400},
- {Note::So5M, 200},
- {Note::Do1H, 400},
- {Note::Re2H, 200},
- {Note::Mi3H, 1200},
- {Note::Do1H, 800},
- // {Note::Silent, 400}, {Note::La6M, 800}, {Note::Si7M, 400},
- // {Note::Do1H, 400}, {Note::Si7M, 200}, {Note::Do1H, 400},
- // {Note::La6M, 200}, {Note::So5M, 1600}, {Note::Mi3M, 800},
- // {Note::Silent, 400}, {Note::So5M, 800}, {Note::Fa4M, 400},
- // {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400},
- // {Note::Re2H, 200}, {Note::Mi3H, 1600}, {Note::Do1H, 800},
- // {Note::Do1H, 800}, {Note::Re2H, 800}, {Note::Re2H, 800},
- // {Note::Do1H, 800}, {Note::Si7M, 800}, {Note::Do1H, 1600},
- {Note::Silent, 0},
- {Note::Finish, 0},
-};
-*/
-static driver::BuzzerNoteDelayed DJI[] = {{Note::Do1M, 300}, {Note::Re2M, 300}, {Note::So5M, 600}, {Note::Finish, 0}};
-
void RM_RTOS_Init(void) {
driver::Buzzer buzzer(&htim4, 3, 1000000);
- buzzer.SingSong(DJI);
- // buzzer.SingSong(War_Cant_of_Mars);
+ buzzer.SingSong(driver::songs::NeverGonnaGiveYouUp);
}
diff --git a/examples/DM_MC01_general/buzzer/main.cpp b/examples/DM_MC01_general/buzzer/main.cpp
index 07b041ac..04870b4b 100644
--- a/examples/DM_MC01_general/buzzer/main.cpp
+++ b/examples/DM_MC01_general/buzzer/main.cpp
@@ -21,57 +21,13 @@
#include "main.h"
#include "buzzer.h"
+#include "buzzer_songs.h"
#include "tim.h"
-using Note = driver::BuzzerNote;
-
-// static bsp::BuzzerNoteDelayed Mario[] = {
-// {Note::Mi3M, 80}, {Note::Silent, 80}, {Note::Mi3M, 80}, {Note::Silent, 240},
-// {Note::Mi3M, 80}, {Note::Silent, 240}, {Note::Do1M, 80}, {Note::Silent, 80},
-// {Note::Mi3M, 80}, {Note::Silent, 240}, {Note::So5M, 80}, {Note::Silent, 560},
-// {Note::So5L, 80}, {Note::Silent, 0}, {Note::Finish, 0}};
-// uncomment to play the full song
-// static bsp::BuzzerNoteDelayed War_Cant_of_Mars[] = {
-// {Note::So5M, 400}, {Note::So5M, 200}, {Note::So5M, 200}, {Note::So5M, 400},
-// {Note::Fa4M, 200}, {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400},
-// {Note::Re2H, 200}, {Note::Mi3H, 400}, {Note::Mi3H, 200}, {Note::Mi3H, 400},
-// {Note::Re2H, 200}, {Note::Do1H, 400}, {Note::Do1H, 400}, {Note::Si7M, 200},
-// {Note::La6M, 400}, {Note::La6M, 200}, {Note::La6M, 400}, {Note::Si7M, 200},
-// {Note::Do1H, 400}, {Note::Si7M, 200}, {Note::Do1H, 400}, {Note::La6M, 200},
-// {Note::So5M, 400}, {Note::La6M, 200}, {Note::So5M, 400}, {Note::Mi3M, 200},
-// {Note::So5M, 800}, {Note::So5M, 400}, {Note::So5M, 200}, {Note::So5M, 400},
-// {Note::So5M, 200}, {Note::So5M, 400}, {Note::Fa4M, 200}, {Note::Mi3M, 400},
-// {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 400},
-// {Note::Mi3H, 200}, {Note::Mi3H, 400}, {Note::Re2H, 200}, {Note::Do1H, 800},
-// {Note::Do1H, 800}, {Note::Re2H, 800}, {Note::Re2H, 800}, {Note::Do1H, 800},
-// {Note::Si7M, 800}, {Note::Do1H, 1600}, {Note::Silent, 400}, {Note::Silent, 400},
-// {Note::So5M, 800}, {Note::Fa4M, 400}, {Note::Mi3M, 400}, {Note::So5M, 200},
-// {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 1200}, {Note::Do1H, 800},
-// {Note::Silent, 400}, {Note::La6M, 800}, {Note::Si7M, 400}, {Note::Do1H, 400},
-// {Note::Si7M, 200}, {Note::Do1H, 400}, {Note::La6M, 200}, {Note::So5M, 1600},
-// {Note::Mi3M, 800}, {Note::Silent, 400}, {Note::So5M, 800}, {Note::Fa4M, 400},
-// {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200},
-// {Note::Mi3H, 1600}, {Note::Do1H, 800}, {Note::Do1H, 800}, {Note::Re2H, 800},
-// {Note::Re2H, 800}, {Note::Do1H, 800}, {Note::Si7M, 800}, {Note::Do1H, 1600},
-// {Note::Silent, 0}, {Note::Finish, 0},
-// };
-
-static driver::BuzzerNoteDelayed DJI[] = {{Note::Do1M, 300}, {Note::Re2M, 300}, {Note::So5M, 600}, {Note::Finish, 0}};
-
-static driver::BuzzerNoteDelayed Laohu[] =
- {{Note::Do1M, 500}, {Note::Re2M, 500}, {Note::Mi3M, 500}, {Note::Do1M, 450}, {Note::Silent, 50},
- {Note::Do1M, 500}, {Note::Re2M, 500}, {Note::Mi3M, 500}, {Note::Do1M, 450}, {Note::Silent, 50},
- {Note::Mi3M, 500}, {Note::Fa4M, 500}, {Note::So5M, 500}, {Note::Silent, 500}, {Note::Mi3M, 500},
- {Note::Fa4M, 500}, {Note::So5M, 500}, {Note::Silent, 500}, {Note::So5M, 250}, {Note::La6M, 250},
- {Note::So5M, 250}, {Note::Fa4M, 250}, {Note::Mi3M, 500}, {Note::Do1M, 500}, {Note::So5M, 250},
- {Note::La6M, 250}, {Note::So5M, 250}, {Note::Fa4M, 250}, {Note::Mi3M, 500}, {Note::Do1M, 500},
- {Note::Re2M, 500}, {Note::Si7L, 500}, {Note::Do1M, 500}, {Note::Silent, 500}, {Note::Re2M, 500},
- {Note::Si7L, 500}, {Note::Do1M, 500}, {Note::Silent, 500}, {Note::Finish, 0}};
-
void RM_RTOS_Init(void) {
driver::Buzzer buzzer(&htim2, 4, 1000000);
- buzzer.SingSong(DJI);
+ buzzer.SingSong(driver::songs::DJI);
HAL_Delay(500);
- buzzer.SingSong(Laohu);
+ buzzer.SingSong(driver::songs::Laohu);
HAL_Delay(1000);
}
diff --git a/examples/DM_MC02_general/buzzer/main.cpp b/examples/DM_MC02_general/buzzer/main.cpp
index e62f0934..5dfb5b94 100644
--- a/examples/DM_MC02_general/buzzer/main.cpp
+++ b/examples/DM_MC02_general/buzzer/main.cpp
@@ -21,59 +21,13 @@
#include "main.h"
#include "buzzer.h"
+#include "buzzer_songs.h"
#include "tim.h"
-using Note = driver::BuzzerNote;
-
-// static bsp::BuzzerNoteDelayed Mario[] = {
-// {Note::Mi3M, 80}, {Note::Silent, 80}, {Note::Mi3M, 80}, {Note::Silent, 240},
-// {Note::Mi3M, 80}, {Note::Silent, 240}, {Note::Do1M, 80}, {Note::Silent, 80},
-// {Note::Mi3M, 80}, {Note::Silent, 240}, {Note::So5M, 80}, {Note::Silent, 560},
-// {Note::So5L, 80}, {Note::Silent, 0}, {Note::Finish, 0}};
-// uncomment to play the full song
-// static bsp::BuzzerNoteDelayed War_Cant_of_Mars[] = {
-// {Note::So5M, 400}, {Note::So5M, 200}, {Note::So5M, 200}, {Note::So5M, 400},
-// {Note::Fa4M, 200}, {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400},
-// {Note::Re2H, 200}, {Note::Mi3H, 400}, {Note::Mi3H, 200}, {Note::Mi3H, 400},
-// {Note::Re2H, 200}, {Note::Do1H, 400}, {Note::Do1H, 400}, {Note::Si7M, 200},
-// {Note::La6M, 400}, {Note::La6M, 200}, {Note::La6M, 400}, {Note::Si7M, 200},
-// {Note::Do1H, 400}, {Note::Si7M, 200}, {Note::Do1H, 400}, {Note::La6M, 200},
-// {Note::So5M, 400}, {Note::La6M, 200}, {Note::So5M, 400}, {Note::Mi3M, 200},
-// {Note::So5M, 800}, {Note::So5M, 400}, {Note::So5M, 200}, {Note::So5M, 400},
-// {Note::So5M, 200}, {Note::So5M, 400}, {Note::Fa4M, 200}, {Note::Mi3M, 400},
-// {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 400},
-// {Note::Mi3H, 200}, {Note::Mi3H, 400}, {Note::Re2H, 200}, {Note::Do1H, 800},
-// {Note::Do1H, 800}, {Note::Re2H, 800}, {Note::Re2H, 800}, {Note::Do1H, 800},
-// {Note::Si7M, 800}, {Note::Do1H, 1600}, {Note::Silent, 400}, {Note::Silent, 400},
-// {Note::So5M, 800}, {Note::Fa4M, 400}, {Note::Mi3M, 400}, {Note::So5M, 200},
-// {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 1200}, {Note::Do1H, 800},
-// {Note::Silent, 400}, {Note::La6M, 800}, {Note::Si7M, 400}, {Note::Do1H, 400},
-// {Note::Si7M, 200}, {Note::Do1H, 400}, {Note::La6M, 200}, {Note::So5M, 1600},
-// {Note::Mi3M, 800}, {Note::Silent, 400}, {Note::So5M, 800}, {Note::Fa4M, 400},
-// {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200},
-// {Note::Mi3H, 1600}, {Note::Do1H, 800}, {Note::Do1H, 800}, {Note::Re2H, 800},
-// {Note::Re2H, 800}, {Note::Do1H, 800}, {Note::Si7M, 800}, {Note::Do1H, 1600},
-// {Note::Silent, 0}, {Note::Finish, 0},
-// };
-
-static driver::BuzzerNoteDelayed DJI[] = {{Note::Do1M, 300}, {Note::Re2M, 300}, {Note::So5M, 600}, {Note::Finish, 0}};
-
-// static driver::BuzzerNoteDelayed Laohu[] = {
-// {Note::Do1M, 500}, {Note::Re2M, 500}, {Note::Mi3M, 500}, {Note::Do1M, 450},
-// {Note::Silent, 50}, {Note::Do1M, 500}, {Note::Re2M, 500}, {Note::Mi3M, 500},
-// {Note::Do1M, 450}, {Note::Silent, 50}, {Note::Mi3M, 500}, {Note::Fa4M, 500},
-// {Note::So5M, 500}, {Note::Silent, 500}, {Note::Mi3M, 500}, {Note::Fa4M, 500},
-// {Note::So5M, 500}, {Note::Silent, 500}, {Note::So5M, 250}, {Note::La6M, 250},
-// {Note::So5M, 250}, {Note::Fa4M, 250}, {Note::Mi3M, 500}, {Note::Do1M, 500},
-// {Note::So5M, 250}, {Note::La6M, 250}, {Note::So5M, 250}, {Note::Fa4M, 250},
-// {Note::Mi3M, 500}, {Note::Do1M, 500}, {Note::Re2M, 500}, {Note::Si7L, 500},
-// {Note::Do1M, 500}, {Note::Silent, 500}, {Note::Re2M, 500}, {Note::Si7L, 500},
-// {Note::Do1M, 500}, {Note::Silent, 500}, {Note::Finish, 0}};
-
void RM_RTOS_Init(void) {
driver::Buzzer buzzer(&htim12, 2, 1000000);
- buzzer.SingSong(DJI);
+ buzzer.SingSong(driver::songs::DJI);
HAL_Delay(500);
- // buzzer.SingSong(Laohu);
+ // buzzer.SingSong(driver::songs::Laohu);
HAL_Delay(1000);
}
diff --git a/examples/F103_Nano_general/buzzer/main.cpp b/examples/F103_Nano_general/buzzer/main.cpp
index 5da55da6..2623cb21 100644
--- a/examples/F103_Nano_general/buzzer/main.cpp
+++ b/examples/F103_Nano_general/buzzer/main.cpp
@@ -21,57 +21,13 @@
#include "main.h"
#include "buzzer.h"
+#include "buzzer_songs.h"
#include "tim.h"
-using Note = driver::BuzzerNote;
-
-// static bsp::BuzzerNoteDelayed Mario[] = {
-// {Note::Mi3M, 80}, {Note::Silent, 80}, {Note::Mi3M, 80}, {Note::Silent, 240},
-// {Note::Mi3M, 80}, {Note::Silent, 240}, {Note::Do1M, 80}, {Note::Silent, 80},
-// {Note::Mi3M, 80}, {Note::Silent, 240}, {Note::So5M, 80}, {Note::Silent, 560},
-// {Note::So5L, 80}, {Note::Silent, 0}, {Note::Finish, 0}};
-// uncomment to play the full song
-// static bsp::BuzzerNoteDelayed War_Cant_of_Mars[] = {
-// {Note::So5M, 400}, {Note::So5M, 200}, {Note::So5M, 200}, {Note::So5M, 400},
-// {Note::Fa4M, 200}, {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400},
-// {Note::Re2H, 200}, {Note::Mi3H, 400}, {Note::Mi3H, 200}, {Note::Mi3H, 400},
-// {Note::Re2H, 200}, {Note::Do1H, 400}, {Note::Do1H, 400}, {Note::Si7M, 200},
-// {Note::La6M, 400}, {Note::La6M, 200}, {Note::La6M, 400}, {Note::Si7M, 200},
-// {Note::Do1H, 400}, {Note::Si7M, 200}, {Note::Do1H, 400}, {Note::La6M, 200},
-// {Note::So5M, 400}, {Note::La6M, 200}, {Note::So5M, 400}, {Note::Mi3M, 200},
-// {Note::So5M, 800}, {Note::So5M, 400}, {Note::So5M, 200}, {Note::So5M, 400},
-// {Note::So5M, 200}, {Note::So5M, 400}, {Note::Fa4M, 200}, {Note::Mi3M, 400},
-// {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 400},
-// {Note::Mi3H, 200}, {Note::Mi3H, 400}, {Note::Re2H, 200}, {Note::Do1H, 800},
-// {Note::Do1H, 800}, {Note::Re2H, 800}, {Note::Re2H, 800}, {Note::Do1H, 800},
-// {Note::Si7M, 800}, {Note::Do1H, 1600}, {Note::Silent, 400}, {Note::Silent, 400},
-// {Note::So5M, 800}, {Note::Fa4M, 400}, {Note::Mi3M, 400}, {Note::So5M, 200},
-// {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 1200}, {Note::Do1H, 800},
-// {Note::Silent, 400}, {Note::La6M, 800}, {Note::Si7M, 400}, {Note::Do1H, 400},
-// {Note::Si7M, 200}, {Note::Do1H, 400}, {Note::La6M, 200}, {Note::So5M, 1600},
-// {Note::Mi3M, 800}, {Note::Silent, 400}, {Note::So5M, 800}, {Note::Fa4M, 400},
-// {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200},
-// {Note::Mi3H, 1600}, {Note::Do1H, 800}, {Note::Do1H, 800}, {Note::Re2H, 800},
-// {Note::Re2H, 800}, {Note::Do1H, 800}, {Note::Si7M, 800}, {Note::Do1H, 1600},
-// {Note::Silent, 0}, {Note::Finish, 0},
-// };
-
-static driver::BuzzerNoteDelayed DJI[] = {{Note::Do1M, 300}, {Note::Re2M, 300}, {Note::So5M, 600}, {Note::Finish, 0}};
-
-static driver::BuzzerNoteDelayed Laohu[] =
- {{Note::Do1M, 500}, {Note::Re2M, 500}, {Note::Mi3M, 500}, {Note::Do1M, 450}, {Note::Silent, 50},
- {Note::Do1M, 500}, {Note::Re2M, 500}, {Note::Mi3M, 500}, {Note::Do1M, 450}, {Note::Silent, 50},
- {Note::Mi3M, 500}, {Note::Fa4M, 500}, {Note::So5M, 500}, {Note::Silent, 500}, {Note::Mi3M, 500},
- {Note::Fa4M, 500}, {Note::So5M, 500}, {Note::Silent, 500}, {Note::So5M, 250}, {Note::La6M, 250},
- {Note::So5M, 250}, {Note::Fa4M, 250}, {Note::Mi3M, 500}, {Note::Do1M, 500}, {Note::So5M, 250},
- {Note::La6M, 250}, {Note::So5M, 250}, {Note::Fa4M, 250}, {Note::Mi3M, 500}, {Note::Do1M, 500},
- {Note::Re2M, 500}, {Note::Si7L, 500}, {Note::Do1M, 500}, {Note::Silent, 500}, {Note::Re2M, 500},
- {Note::Si7L, 500}, {Note::Do1M, 500}, {Note::Silent, 500}, {Note::Finish, 0}};
-
void RM_RTOS_Init(void) {
driver::Buzzer buzzer(&htim1, 1, 1000000);
- buzzer.SingSong(DJI);
+ buzzer.SingSong(driver::songs::DJI);
HAL_Delay(500);
- buzzer.SingSong(Laohu);
+ buzzer.SingSong(driver::songs::Laohu);
HAL_Delay(1000);
}
diff --git a/programs/Ares/chassis/include/buzzer_notes.h b/programs/Ares/chassis/include/buzzer_notes.h
deleted file mode 100644
index a4aa6871..00000000
--- a/programs/Ares/chassis/include/buzzer_notes.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*###########################################################
- # Copyright (c) 2023-2024. BNU-HKBU UIC RoboMaster #
- # #
- # This program is free software: you can redistribute it #
- # and/or modify it under the terms of the GNU General #
- # Public License as published by the Free Software #
- # Foundation, either version 3 of the License, or (at #
- # your option) any later version. #
- # #
- # This program is distributed in the hope that it will be #
- # useful, but WITHOUT ANY WARRANTY; without even #
- # the implied warranty of MERCHANTABILITY or FITNESS #
- # FOR A PARTICULAR PURPOSE. See the GNU General #
- # Public License for more details. #
- # #
- # You should have received a copy of the GNU General #
- # Public License along with this program. If not, see #
- # . #
- ###########################################################*/
-
-#pragma once
-#include "buzzer.h"
-using Note = driver::BuzzerNote;
-const driver::BuzzerNoteDelayed Mario[] =
- {{Note::Mi3M, 80},
- {Note::Silent, 80},
- {Note::Mi3M, 80},
- {Note::Silent, 240},
- {Note::Mi3M, 80},
- {Note::Silent, 240},
- {Note::Do1M, 80},
- {Note::Silent, 80},
- {Note::Mi3M, 80},
- {Note::Silent, 240},
- {Note::So5M, 80},
- {Note::Silent, 560},
- {Note::So5L, 80},
- {Note::Silent, 0},
- {Note::Finish, 0}};
-const driver::BuzzerNoteDelayed War_Cant_of_Mars[] = {
- {Note::So5M, 400}, {Note::So5M, 200}, {Note::So5M, 200}, {Note::So5M, 400}, {Note::Fa4M, 200},
- {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 400},
- {Note::Mi3H, 200}, {Note::Mi3H, 400}, {Note::Re2H, 200}, {Note::Do1H, 400}, {Note::Do1H, 400},
- {Note::Si7M, 200}, {Note::La6M, 400}, {Note::La6M, 200}, {Note::La6M, 400}, {Note::Si7M, 200},
- {Note::Do1H, 400}, {Note::Si7M, 200}, {Note::Do1H, 400}, {Note::La6M, 200}, {Note::So5M, 400},
- {Note::La6M, 200}, {Note::So5M, 400}, {Note::Mi3M, 200}, {Note::So5M, 800}, {Note::So5M, 400},
- {Note::So5M, 200}, {Note::So5M, 400}, {Note::So5M, 200}, {Note::So5M, 400}, {Note::Fa4M, 200},
- {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 400},
- {Note::Mi3H, 200}, {Note::Mi3H, 400}, {Note::Re2H, 200}, {Note::Do1H, 800}, {Note::Do1H, 800},
- {Note::Re2H, 800}, {Note::Re2H, 800}, {Note::Do1H, 800}, {Note::Si7M, 800}, {Note::Do1H, 1600},
- {Note::Silent, 400}, {Note::Silent, 400}, {Note::So5M, 800}, {Note::Fa4M, 400}, {Note::Mi3M, 400},
- {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 1200}, {Note::Do1H, 800},
- {Note::Silent, 400}, {Note::La6M, 800}, {Note::Si7M, 400}, {Note::Do1H, 400}, {Note::Si7M, 200},
- {Note::Do1H, 400}, {Note::La6M, 200}, {Note::So5M, 1600}, {Note::Mi3M, 800}, {Note::Silent, 400},
- {Note::So5M, 800}, {Note::Fa4M, 400}, {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400},
- {Note::Re2H, 200}, {Note::Mi3H, 1600}, {Note::Do1H, 800}, {Note::Do1H, 800}, {Note::Re2H, 800},
- {Note::Re2H, 800}, {Note::Do1H, 800}, {Note::Si7M, 800}, {Note::Do1H, 1600}, {Note::Silent, 0},
- {Note::Finish, 0},
-};
-
-const driver::BuzzerNoteDelayed DJI[] = {{Note::Do1M, 300}, {Note::Re2M, 300}, {Note::So5M, 600}, {Note::Finish, 0}};
-
-const driver::BuzzerNoteDelayed SingCaliStart[] =
- {{Note::Mi3M, 100}, {Note::Re2M, 100}, {Note::Mi3M, 100}, {Note::Finish, 0}};
-
-const driver::BuzzerNoteDelayed SingCaliDone[] =
- {{Note::Re2M, 100}, {Note::Mi3M, 100}, {Note::Re2M, 100}, {Note::Finish, 0}};
diff --git a/programs/Ares/chassis/src/main.cpp b/programs/Ares/chassis/src/main.cpp
index b4291e06..666e1b9e 100644
--- a/programs/Ares/chassis/src/main.cpp
+++ b/programs/Ares/chassis/src/main.cpp
@@ -24,7 +24,7 @@
#include "bsp_batteryvol.h"
#include "bsp_can.h"
#include "bsp_print.h"
-#include "buzzer_notes.h"
+#include "buzzer_songs.h"
#include "buzzer_task.h"
#include "chassis.h"
#include "cmsis_os.h"
@@ -145,7 +145,7 @@ void RM_RTOS_Default_Task(const void* args) {
UNUSED(args);
osDelay(500);
- Buzzer_Sing(Mario);
+ Buzzer_Sing(driver::songs::Mario);
while (true) {
chassis->UpdatePowerVoltage(battery_vol->GetBatteryVol());
diff --git a/programs/Ares/gimbal/include/buzzer_notes.h b/programs/Ares/gimbal/include/buzzer_notes.h
deleted file mode 100644
index a4aa6871..00000000
--- a/programs/Ares/gimbal/include/buzzer_notes.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*###########################################################
- # Copyright (c) 2023-2024. BNU-HKBU UIC RoboMaster #
- # #
- # This program is free software: you can redistribute it #
- # and/or modify it under the terms of the GNU General #
- # Public License as published by the Free Software #
- # Foundation, either version 3 of the License, or (at #
- # your option) any later version. #
- # #
- # This program is distributed in the hope that it will be #
- # useful, but WITHOUT ANY WARRANTY; without even #
- # the implied warranty of MERCHANTABILITY or FITNESS #
- # FOR A PARTICULAR PURPOSE. See the GNU General #
- # Public License for more details. #
- # #
- # You should have received a copy of the GNU General #
- # Public License along with this program. If not, see #
- # . #
- ###########################################################*/
-
-#pragma once
-#include "buzzer.h"
-using Note = driver::BuzzerNote;
-const driver::BuzzerNoteDelayed Mario[] =
- {{Note::Mi3M, 80},
- {Note::Silent, 80},
- {Note::Mi3M, 80},
- {Note::Silent, 240},
- {Note::Mi3M, 80},
- {Note::Silent, 240},
- {Note::Do1M, 80},
- {Note::Silent, 80},
- {Note::Mi3M, 80},
- {Note::Silent, 240},
- {Note::So5M, 80},
- {Note::Silent, 560},
- {Note::So5L, 80},
- {Note::Silent, 0},
- {Note::Finish, 0}};
-const driver::BuzzerNoteDelayed War_Cant_of_Mars[] = {
- {Note::So5M, 400}, {Note::So5M, 200}, {Note::So5M, 200}, {Note::So5M, 400}, {Note::Fa4M, 200},
- {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 400},
- {Note::Mi3H, 200}, {Note::Mi3H, 400}, {Note::Re2H, 200}, {Note::Do1H, 400}, {Note::Do1H, 400},
- {Note::Si7M, 200}, {Note::La6M, 400}, {Note::La6M, 200}, {Note::La6M, 400}, {Note::Si7M, 200},
- {Note::Do1H, 400}, {Note::Si7M, 200}, {Note::Do1H, 400}, {Note::La6M, 200}, {Note::So5M, 400},
- {Note::La6M, 200}, {Note::So5M, 400}, {Note::Mi3M, 200}, {Note::So5M, 800}, {Note::So5M, 400},
- {Note::So5M, 200}, {Note::So5M, 400}, {Note::So5M, 200}, {Note::So5M, 400}, {Note::Fa4M, 200},
- {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 400},
- {Note::Mi3H, 200}, {Note::Mi3H, 400}, {Note::Re2H, 200}, {Note::Do1H, 800}, {Note::Do1H, 800},
- {Note::Re2H, 800}, {Note::Re2H, 800}, {Note::Do1H, 800}, {Note::Si7M, 800}, {Note::Do1H, 1600},
- {Note::Silent, 400}, {Note::Silent, 400}, {Note::So5M, 800}, {Note::Fa4M, 400}, {Note::Mi3M, 400},
- {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 1200}, {Note::Do1H, 800},
- {Note::Silent, 400}, {Note::La6M, 800}, {Note::Si7M, 400}, {Note::Do1H, 400}, {Note::Si7M, 200},
- {Note::Do1H, 400}, {Note::La6M, 200}, {Note::So5M, 1600}, {Note::Mi3M, 800}, {Note::Silent, 400},
- {Note::So5M, 800}, {Note::Fa4M, 400}, {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400},
- {Note::Re2H, 200}, {Note::Mi3H, 1600}, {Note::Do1H, 800}, {Note::Do1H, 800}, {Note::Re2H, 800},
- {Note::Re2H, 800}, {Note::Do1H, 800}, {Note::Si7M, 800}, {Note::Do1H, 1600}, {Note::Silent, 0},
- {Note::Finish, 0},
-};
-
-const driver::BuzzerNoteDelayed DJI[] = {{Note::Do1M, 300}, {Note::Re2M, 300}, {Note::So5M, 600}, {Note::Finish, 0}};
-
-const driver::BuzzerNoteDelayed SingCaliStart[] =
- {{Note::Mi3M, 100}, {Note::Re2M, 100}, {Note::Mi3M, 100}, {Note::Finish, 0}};
-
-const driver::BuzzerNoteDelayed SingCaliDone[] =
- {{Note::Re2M, 100}, {Note::Mi3M, 100}, {Note::Re2M, 100}, {Note::Finish, 0}};
diff --git a/programs/Ares/gimbal/include/gimbal_task.h b/programs/Ares/gimbal/include/gimbal_task.h
index cffe6e1c..2f830acb 100644
--- a/programs/Ares/gimbal/include/gimbal_task.h
+++ b/programs/Ares/gimbal/include/gimbal_task.h
@@ -21,7 +21,7 @@
#pragma once
#include "DjiMotorBase.h"
#include "bsp_can.h"
-#include "buzzer_notes.h"
+#include "buzzer_songs.h"
#include "buzzer_task.h"
#include "cmsis_os2.h"
#include "gimbal.h"
diff --git a/programs/Ares/gimbal/src/gimbal_task.cpp b/programs/Ares/gimbal/src/gimbal_task.cpp
index 522e5810..27c7dc43 100644
--- a/programs/Ares/gimbal/src/gimbal_task.cpp
+++ b/programs/Ares/gimbal/src/gimbal_task.cpp
@@ -54,7 +54,7 @@ void gimbalTask(void* arg) {
// 云台复位完成后,播放一段音乐,代表开始校准陀螺仪
// 校准陀螺仪会对陀螺仪进行2000次的读取,然后取平均值作为校准值
// buzzer->SingTone(bsp::BuzzerNote::La6M);
- Buzzer_Sing(SingCaliStart);
+ Buzzer_Sing(driver::songs::SingCaliStart);
// reset_yaw();
imu->Calibrate();
i = 0;
@@ -65,7 +65,7 @@ void gimbalTask(void* arg) {
++i;
}
// 校准完成后播放一段音乐
- Buzzer_Sing(SingCaliDone);
+ Buzzer_Sing(driver::songs::SingCaliDone);
osDelay(100);
// 初始化当前陀螺仪角度、遥控器输入转换的角度、目标角度
diff --git a/programs/Ares/gimbal/src/main.cpp b/programs/Ares/gimbal/src/main.cpp
index ea4f0205..d519261d 100644
--- a/programs/Ares/gimbal/src/main.cpp
+++ b/programs/Ares/gimbal/src/main.cpp
@@ -22,7 +22,7 @@
#include "bsp_os.h"
#include "bsp_print.h"
-#include "buzzer_notes.h"
+#include "buzzer_songs.h"
#include "buzzer_task.h"
#include "chassis_task.h"
#include "gimbal_task.h"
@@ -66,7 +66,7 @@ void RM_RTOS_Threads_Init(void) {
void RM_RTOS_Default_Task(const void* arg) {
UNUSED(arg);
osDelay(3000);
- Buzzer_Sing(DJI);
+ Buzzer_Sing(driver::songs::DJI);
// while (true) {
// clear_screen();
// set_cursor(0, 0);
diff --git a/programs/Cakey/include/buzzer_notes.h b/programs/Cakey/include/buzzer_notes.h
deleted file mode 100644
index a4aa6871..00000000
--- a/programs/Cakey/include/buzzer_notes.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*###########################################################
- # Copyright (c) 2023-2024. BNU-HKBU UIC RoboMaster #
- # #
- # This program is free software: you can redistribute it #
- # and/or modify it under the terms of the GNU General #
- # Public License as published by the Free Software #
- # Foundation, either version 3 of the License, or (at #
- # your option) any later version. #
- # #
- # This program is distributed in the hope that it will be #
- # useful, but WITHOUT ANY WARRANTY; without even #
- # the implied warranty of MERCHANTABILITY or FITNESS #
- # FOR A PARTICULAR PURPOSE. See the GNU General #
- # Public License for more details. #
- # #
- # You should have received a copy of the GNU General #
- # Public License along with this program. If not, see #
- # . #
- ###########################################################*/
-
-#pragma once
-#include "buzzer.h"
-using Note = driver::BuzzerNote;
-const driver::BuzzerNoteDelayed Mario[] =
- {{Note::Mi3M, 80},
- {Note::Silent, 80},
- {Note::Mi3M, 80},
- {Note::Silent, 240},
- {Note::Mi3M, 80},
- {Note::Silent, 240},
- {Note::Do1M, 80},
- {Note::Silent, 80},
- {Note::Mi3M, 80},
- {Note::Silent, 240},
- {Note::So5M, 80},
- {Note::Silent, 560},
- {Note::So5L, 80},
- {Note::Silent, 0},
- {Note::Finish, 0}};
-const driver::BuzzerNoteDelayed War_Cant_of_Mars[] = {
- {Note::So5M, 400}, {Note::So5M, 200}, {Note::So5M, 200}, {Note::So5M, 400}, {Note::Fa4M, 200},
- {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 400},
- {Note::Mi3H, 200}, {Note::Mi3H, 400}, {Note::Re2H, 200}, {Note::Do1H, 400}, {Note::Do1H, 400},
- {Note::Si7M, 200}, {Note::La6M, 400}, {Note::La6M, 200}, {Note::La6M, 400}, {Note::Si7M, 200},
- {Note::Do1H, 400}, {Note::Si7M, 200}, {Note::Do1H, 400}, {Note::La6M, 200}, {Note::So5M, 400},
- {Note::La6M, 200}, {Note::So5M, 400}, {Note::Mi3M, 200}, {Note::So5M, 800}, {Note::So5M, 400},
- {Note::So5M, 200}, {Note::So5M, 400}, {Note::So5M, 200}, {Note::So5M, 400}, {Note::Fa4M, 200},
- {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 400},
- {Note::Mi3H, 200}, {Note::Mi3H, 400}, {Note::Re2H, 200}, {Note::Do1H, 800}, {Note::Do1H, 800},
- {Note::Re2H, 800}, {Note::Re2H, 800}, {Note::Do1H, 800}, {Note::Si7M, 800}, {Note::Do1H, 1600},
- {Note::Silent, 400}, {Note::Silent, 400}, {Note::So5M, 800}, {Note::Fa4M, 400}, {Note::Mi3M, 400},
- {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 1200}, {Note::Do1H, 800},
- {Note::Silent, 400}, {Note::La6M, 800}, {Note::Si7M, 400}, {Note::Do1H, 400}, {Note::Si7M, 200},
- {Note::Do1H, 400}, {Note::La6M, 200}, {Note::So5M, 1600}, {Note::Mi3M, 800}, {Note::Silent, 400},
- {Note::So5M, 800}, {Note::Fa4M, 400}, {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400},
- {Note::Re2H, 200}, {Note::Mi3H, 1600}, {Note::Do1H, 800}, {Note::Do1H, 800}, {Note::Re2H, 800},
- {Note::Re2H, 800}, {Note::Do1H, 800}, {Note::Si7M, 800}, {Note::Do1H, 1600}, {Note::Silent, 0},
- {Note::Finish, 0},
-};
-
-const driver::BuzzerNoteDelayed DJI[] = {{Note::Do1M, 300}, {Note::Re2M, 300}, {Note::So5M, 600}, {Note::Finish, 0}};
-
-const driver::BuzzerNoteDelayed SingCaliStart[] =
- {{Note::Mi3M, 100}, {Note::Re2M, 100}, {Note::Mi3M, 100}, {Note::Finish, 0}};
-
-const driver::BuzzerNoteDelayed SingCaliDone[] =
- {{Note::Re2M, 100}, {Note::Mi3M, 100}, {Note::Re2M, 100}, {Note::Finish, 0}};
diff --git a/programs/Cakey/include/gimbal_task.h b/programs/Cakey/include/gimbal_task.h
index 6f20e9a7..69eefaf1 100644
--- a/programs/Cakey/include/gimbal_task.h
+++ b/programs/Cakey/include/gimbal_task.h
@@ -21,7 +21,7 @@
#pragma once
#include "DjiMotorBase.h"
#include "bsp_can.h"
-#include "buzzer_notes.h"
+#include "buzzer_songs.h"
#include "buzzer_task.h"
#include "cmsis_os2.h"
#include "gimbal.h"
diff --git a/programs/Cakey/src/gimbal_task.cpp b/programs/Cakey/src/gimbal_task.cpp
index a368585c..f7ea4284 100644
--- a/programs/Cakey/src/gimbal_task.cpp
+++ b/programs/Cakey/src/gimbal_task.cpp
@@ -56,7 +56,7 @@ void gimbalTask(void* arg) {
// 云台复位完成后,播放一段音乐,代表开始校准陀螺仪
// 校准陀螺仪会对陀螺仪进行2000次的读取,然后取平均值作为校准值
// buzzer->SingTone(bsp::BuzzerNote::La6M);
- Buzzer_Sing(SingCaliStart);
+ Buzzer_Sing(driver::songs::SingCaliStart);
// reset_yaw();
ahrs->Cailbrate();
i = 0;
@@ -67,7 +67,7 @@ void gimbalTask(void* arg) {
++i;
}
// 校准完成后播放一段音乐
- Buzzer_Sing(SingCaliDone);
+ Buzzer_Sing(driver::songs::SingCaliDone);
osDelay(100);
// 初始化当前角度、遥控器输入转换的角度、目标角度
diff --git a/programs/Cakey/src/main.cpp b/programs/Cakey/src/main.cpp
index 0635467e..9353314d 100644
--- a/programs/Cakey/src/main.cpp
+++ b/programs/Cakey/src/main.cpp
@@ -22,7 +22,7 @@
#include "bsp_os.h"
#include "bsp_print.h"
-#include "buzzer_notes.h"
+#include "buzzer_songs.h"
#include "buzzer_task.h"
#include "chassis_task.h"
#include "cmsis_os.h"
@@ -82,7 +82,7 @@ void RM_RTOS_Threads_Init(void) {
void RM_RTOS_Default_Task(const void* arg) {
UNUSED(arg);
osDelay(100);
- Buzzer_Sing(DJI);
+ Buzzer_Sing(driver::songs::DJI);
// while (true) {
// uint8_t buffer[sizeof(control::ConstrainedPID::PID_State_t) * 2 + 2] = {0xAA, 0xBB};
diff --git a/programs/DGStandard/chassis/include/buzzer_notes.h b/programs/DGStandard/chassis/include/buzzer_notes.h
deleted file mode 100644
index a4aa6871..00000000
--- a/programs/DGStandard/chassis/include/buzzer_notes.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*###########################################################
- # Copyright (c) 2023-2024. BNU-HKBU UIC RoboMaster #
- # #
- # This program is free software: you can redistribute it #
- # and/or modify it under the terms of the GNU General #
- # Public License as published by the Free Software #
- # Foundation, either version 3 of the License, or (at #
- # your option) any later version. #
- # #
- # This program is distributed in the hope that it will be #
- # useful, but WITHOUT ANY WARRANTY; without even #
- # the implied warranty of MERCHANTABILITY or FITNESS #
- # FOR A PARTICULAR PURPOSE. See the GNU General #
- # Public License for more details. #
- # #
- # You should have received a copy of the GNU General #
- # Public License along with this program. If not, see #
- # . #
- ###########################################################*/
-
-#pragma once
-#include "buzzer.h"
-using Note = driver::BuzzerNote;
-const driver::BuzzerNoteDelayed Mario[] =
- {{Note::Mi3M, 80},
- {Note::Silent, 80},
- {Note::Mi3M, 80},
- {Note::Silent, 240},
- {Note::Mi3M, 80},
- {Note::Silent, 240},
- {Note::Do1M, 80},
- {Note::Silent, 80},
- {Note::Mi3M, 80},
- {Note::Silent, 240},
- {Note::So5M, 80},
- {Note::Silent, 560},
- {Note::So5L, 80},
- {Note::Silent, 0},
- {Note::Finish, 0}};
-const driver::BuzzerNoteDelayed War_Cant_of_Mars[] = {
- {Note::So5M, 400}, {Note::So5M, 200}, {Note::So5M, 200}, {Note::So5M, 400}, {Note::Fa4M, 200},
- {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 400},
- {Note::Mi3H, 200}, {Note::Mi3H, 400}, {Note::Re2H, 200}, {Note::Do1H, 400}, {Note::Do1H, 400},
- {Note::Si7M, 200}, {Note::La6M, 400}, {Note::La6M, 200}, {Note::La6M, 400}, {Note::Si7M, 200},
- {Note::Do1H, 400}, {Note::Si7M, 200}, {Note::Do1H, 400}, {Note::La6M, 200}, {Note::So5M, 400},
- {Note::La6M, 200}, {Note::So5M, 400}, {Note::Mi3M, 200}, {Note::So5M, 800}, {Note::So5M, 400},
- {Note::So5M, 200}, {Note::So5M, 400}, {Note::So5M, 200}, {Note::So5M, 400}, {Note::Fa4M, 200},
- {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 400},
- {Note::Mi3H, 200}, {Note::Mi3H, 400}, {Note::Re2H, 200}, {Note::Do1H, 800}, {Note::Do1H, 800},
- {Note::Re2H, 800}, {Note::Re2H, 800}, {Note::Do1H, 800}, {Note::Si7M, 800}, {Note::Do1H, 1600},
- {Note::Silent, 400}, {Note::Silent, 400}, {Note::So5M, 800}, {Note::Fa4M, 400}, {Note::Mi3M, 400},
- {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 1200}, {Note::Do1H, 800},
- {Note::Silent, 400}, {Note::La6M, 800}, {Note::Si7M, 400}, {Note::Do1H, 400}, {Note::Si7M, 200},
- {Note::Do1H, 400}, {Note::La6M, 200}, {Note::So5M, 1600}, {Note::Mi3M, 800}, {Note::Silent, 400},
- {Note::So5M, 800}, {Note::Fa4M, 400}, {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400},
- {Note::Re2H, 200}, {Note::Mi3H, 1600}, {Note::Do1H, 800}, {Note::Do1H, 800}, {Note::Re2H, 800},
- {Note::Re2H, 800}, {Note::Do1H, 800}, {Note::Si7M, 800}, {Note::Do1H, 1600}, {Note::Silent, 0},
- {Note::Finish, 0},
-};
-
-const driver::BuzzerNoteDelayed DJI[] = {{Note::Do1M, 300}, {Note::Re2M, 300}, {Note::So5M, 600}, {Note::Finish, 0}};
-
-const driver::BuzzerNoteDelayed SingCaliStart[] =
- {{Note::Mi3M, 100}, {Note::Re2M, 100}, {Note::Mi3M, 100}, {Note::Finish, 0}};
-
-const driver::BuzzerNoteDelayed SingCaliDone[] =
- {{Note::Re2M, 100}, {Note::Mi3M, 100}, {Note::Re2M, 100}, {Note::Finish, 0}};
diff --git a/programs/DGStandard/chassis/src/main.cpp b/programs/DGStandard/chassis/src/main.cpp
index 0df0fde8..08b2e80b 100644
--- a/programs/DGStandard/chassis/src/main.cpp
+++ b/programs/DGStandard/chassis/src/main.cpp
@@ -24,7 +24,7 @@
#include "bsp_batteryvol.h"
#include "bsp_can.h"
#include "bsp_print.h"
-#include "buzzer_notes.h"
+#include "buzzer_songs.h"
#include "buzzer_task.h"
#include "chassis.h"
#include "cmsis_os.h"
@@ -139,7 +139,7 @@ void RM_RTOS_Default_Task(const void* args) {
UNUSED(args);
osDelay(500);
- Buzzer_Sing(Mario);
+ Buzzer_Sing(driver::songs::Mario);
while (true) {
chassis->UpdatePowerVoltage(battery_vol->GetBatteryVol());
diff --git a/programs/DGStandard/gimbal/include/buzzer_notes.h b/programs/DGStandard/gimbal/include/buzzer_notes.h
deleted file mode 100644
index a4aa6871..00000000
--- a/programs/DGStandard/gimbal/include/buzzer_notes.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*###########################################################
- # Copyright (c) 2023-2024. BNU-HKBU UIC RoboMaster #
- # #
- # This program is free software: you can redistribute it #
- # and/or modify it under the terms of the GNU General #
- # Public License as published by the Free Software #
- # Foundation, either version 3 of the License, or (at #
- # your option) any later version. #
- # #
- # This program is distributed in the hope that it will be #
- # useful, but WITHOUT ANY WARRANTY; without even #
- # the implied warranty of MERCHANTABILITY or FITNESS #
- # FOR A PARTICULAR PURPOSE. See the GNU General #
- # Public License for more details. #
- # #
- # You should have received a copy of the GNU General #
- # Public License along with this program. If not, see #
- # . #
- ###########################################################*/
-
-#pragma once
-#include "buzzer.h"
-using Note = driver::BuzzerNote;
-const driver::BuzzerNoteDelayed Mario[] =
- {{Note::Mi3M, 80},
- {Note::Silent, 80},
- {Note::Mi3M, 80},
- {Note::Silent, 240},
- {Note::Mi3M, 80},
- {Note::Silent, 240},
- {Note::Do1M, 80},
- {Note::Silent, 80},
- {Note::Mi3M, 80},
- {Note::Silent, 240},
- {Note::So5M, 80},
- {Note::Silent, 560},
- {Note::So5L, 80},
- {Note::Silent, 0},
- {Note::Finish, 0}};
-const driver::BuzzerNoteDelayed War_Cant_of_Mars[] = {
- {Note::So5M, 400}, {Note::So5M, 200}, {Note::So5M, 200}, {Note::So5M, 400}, {Note::Fa4M, 200},
- {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 400},
- {Note::Mi3H, 200}, {Note::Mi3H, 400}, {Note::Re2H, 200}, {Note::Do1H, 400}, {Note::Do1H, 400},
- {Note::Si7M, 200}, {Note::La6M, 400}, {Note::La6M, 200}, {Note::La6M, 400}, {Note::Si7M, 200},
- {Note::Do1H, 400}, {Note::Si7M, 200}, {Note::Do1H, 400}, {Note::La6M, 200}, {Note::So5M, 400},
- {Note::La6M, 200}, {Note::So5M, 400}, {Note::Mi3M, 200}, {Note::So5M, 800}, {Note::So5M, 400},
- {Note::So5M, 200}, {Note::So5M, 400}, {Note::So5M, 200}, {Note::So5M, 400}, {Note::Fa4M, 200},
- {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 400},
- {Note::Mi3H, 200}, {Note::Mi3H, 400}, {Note::Re2H, 200}, {Note::Do1H, 800}, {Note::Do1H, 800},
- {Note::Re2H, 800}, {Note::Re2H, 800}, {Note::Do1H, 800}, {Note::Si7M, 800}, {Note::Do1H, 1600},
- {Note::Silent, 400}, {Note::Silent, 400}, {Note::So5M, 800}, {Note::Fa4M, 400}, {Note::Mi3M, 400},
- {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 1200}, {Note::Do1H, 800},
- {Note::Silent, 400}, {Note::La6M, 800}, {Note::Si7M, 400}, {Note::Do1H, 400}, {Note::Si7M, 200},
- {Note::Do1H, 400}, {Note::La6M, 200}, {Note::So5M, 1600}, {Note::Mi3M, 800}, {Note::Silent, 400},
- {Note::So5M, 800}, {Note::Fa4M, 400}, {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400},
- {Note::Re2H, 200}, {Note::Mi3H, 1600}, {Note::Do1H, 800}, {Note::Do1H, 800}, {Note::Re2H, 800},
- {Note::Re2H, 800}, {Note::Do1H, 800}, {Note::Si7M, 800}, {Note::Do1H, 1600}, {Note::Silent, 0},
- {Note::Finish, 0},
-};
-
-const driver::BuzzerNoteDelayed DJI[] = {{Note::Do1M, 300}, {Note::Re2M, 300}, {Note::So5M, 600}, {Note::Finish, 0}};
-
-const driver::BuzzerNoteDelayed SingCaliStart[] =
- {{Note::Mi3M, 100}, {Note::Re2M, 100}, {Note::Mi3M, 100}, {Note::Finish, 0}};
-
-const driver::BuzzerNoteDelayed SingCaliDone[] =
- {{Note::Re2M, 100}, {Note::Mi3M, 100}, {Note::Re2M, 100}, {Note::Finish, 0}};
diff --git a/programs/DGStandard/gimbal/include/gimbal_task.h b/programs/DGStandard/gimbal/include/gimbal_task.h
index 6f20e9a7..69eefaf1 100644
--- a/programs/DGStandard/gimbal/include/gimbal_task.h
+++ b/programs/DGStandard/gimbal/include/gimbal_task.h
@@ -21,7 +21,7 @@
#pragma once
#include "DjiMotorBase.h"
#include "bsp_can.h"
-#include "buzzer_notes.h"
+#include "buzzer_songs.h"
#include "buzzer_task.h"
#include "cmsis_os2.h"
#include "gimbal.h"
diff --git a/programs/DGStandard/gimbal/src/gimbal_task.cpp b/programs/DGStandard/gimbal/src/gimbal_task.cpp
index da2d555a..b7032816 100644
--- a/programs/DGStandard/gimbal/src/gimbal_task.cpp
+++ b/programs/DGStandard/gimbal/src/gimbal_task.cpp
@@ -58,7 +58,7 @@ void gimbalTask(void* arg) {
// 云台复位完成后,播放一段音乐,代表开始校准陀螺仪
// 校准陀螺仪会对陀螺仪进行2000次的读取,然后取平均值作为校准值
// buzzer->SingTone(bsp::BuzzerNote::La6M);
- Buzzer_Sing(SingCaliStart);
+ Buzzer_Sing(driver::songs::SingCaliStart);
// reset_yaw();
ahrs->Cailbrate();
i = 0;
@@ -69,7 +69,7 @@ void gimbalTask(void* arg) {
++i;
}
// 校准完成后播放一段音乐
- Buzzer_Sing(SingCaliDone);
+ Buzzer_Sing(driver::songs::SingCaliDone);
osDelay(100);
// 初始化当前陀螺仪角度、遥控器输入转换的角度、目标角度
diff --git a/programs/DGStandard/gimbal/src/main.cpp b/programs/DGStandard/gimbal/src/main.cpp
index 94fe6577..dbae85c6 100644
--- a/programs/DGStandard/gimbal/src/main.cpp
+++ b/programs/DGStandard/gimbal/src/main.cpp
@@ -22,7 +22,7 @@
#include "bsp_os.h"
#include "bsp_print.h"
-#include "buzzer_notes.h"
+#include "buzzer_songs.h"
#include "buzzer_task.h"
#include "chassis_task.h"
#include "cmsis_os.h"
@@ -82,7 +82,7 @@ void RM_RTOS_Threads_Init(void) {
void RM_RTOS_Default_Task(const void* arg) {
UNUSED(arg);
osDelay(100);
- Buzzer_Sing(DJI);
+ Buzzer_Sing(driver::songs::DJI);
// while (true) {
// uint8_t buffer[sizeof(control::ConstrainedPID::PID_State_t) * 2 + 2] = {0xAA, 0xBB};
diff --git a/programs/Hero/chassis/include/buzzer_notes.h b/programs/Hero/chassis/include/buzzer_notes.h
deleted file mode 100644
index a4aa6871..00000000
--- a/programs/Hero/chassis/include/buzzer_notes.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*###########################################################
- # Copyright (c) 2023-2024. BNU-HKBU UIC RoboMaster #
- # #
- # This program is free software: you can redistribute it #
- # and/or modify it under the terms of the GNU General #
- # Public License as published by the Free Software #
- # Foundation, either version 3 of the License, or (at #
- # your option) any later version. #
- # #
- # This program is distributed in the hope that it will be #
- # useful, but WITHOUT ANY WARRANTY; without even #
- # the implied warranty of MERCHANTABILITY or FITNESS #
- # FOR A PARTICULAR PURPOSE. See the GNU General #
- # Public License for more details. #
- # #
- # You should have received a copy of the GNU General #
- # Public License along with this program. If not, see #
- # . #
- ###########################################################*/
-
-#pragma once
-#include "buzzer.h"
-using Note = driver::BuzzerNote;
-const driver::BuzzerNoteDelayed Mario[] =
- {{Note::Mi3M, 80},
- {Note::Silent, 80},
- {Note::Mi3M, 80},
- {Note::Silent, 240},
- {Note::Mi3M, 80},
- {Note::Silent, 240},
- {Note::Do1M, 80},
- {Note::Silent, 80},
- {Note::Mi3M, 80},
- {Note::Silent, 240},
- {Note::So5M, 80},
- {Note::Silent, 560},
- {Note::So5L, 80},
- {Note::Silent, 0},
- {Note::Finish, 0}};
-const driver::BuzzerNoteDelayed War_Cant_of_Mars[] = {
- {Note::So5M, 400}, {Note::So5M, 200}, {Note::So5M, 200}, {Note::So5M, 400}, {Note::Fa4M, 200},
- {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 400},
- {Note::Mi3H, 200}, {Note::Mi3H, 400}, {Note::Re2H, 200}, {Note::Do1H, 400}, {Note::Do1H, 400},
- {Note::Si7M, 200}, {Note::La6M, 400}, {Note::La6M, 200}, {Note::La6M, 400}, {Note::Si7M, 200},
- {Note::Do1H, 400}, {Note::Si7M, 200}, {Note::Do1H, 400}, {Note::La6M, 200}, {Note::So5M, 400},
- {Note::La6M, 200}, {Note::So5M, 400}, {Note::Mi3M, 200}, {Note::So5M, 800}, {Note::So5M, 400},
- {Note::So5M, 200}, {Note::So5M, 400}, {Note::So5M, 200}, {Note::So5M, 400}, {Note::Fa4M, 200},
- {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 400},
- {Note::Mi3H, 200}, {Note::Mi3H, 400}, {Note::Re2H, 200}, {Note::Do1H, 800}, {Note::Do1H, 800},
- {Note::Re2H, 800}, {Note::Re2H, 800}, {Note::Do1H, 800}, {Note::Si7M, 800}, {Note::Do1H, 1600},
- {Note::Silent, 400}, {Note::Silent, 400}, {Note::So5M, 800}, {Note::Fa4M, 400}, {Note::Mi3M, 400},
- {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 1200}, {Note::Do1H, 800},
- {Note::Silent, 400}, {Note::La6M, 800}, {Note::Si7M, 400}, {Note::Do1H, 400}, {Note::Si7M, 200},
- {Note::Do1H, 400}, {Note::La6M, 200}, {Note::So5M, 1600}, {Note::Mi3M, 800}, {Note::Silent, 400},
- {Note::So5M, 800}, {Note::Fa4M, 400}, {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400},
- {Note::Re2H, 200}, {Note::Mi3H, 1600}, {Note::Do1H, 800}, {Note::Do1H, 800}, {Note::Re2H, 800},
- {Note::Re2H, 800}, {Note::Do1H, 800}, {Note::Si7M, 800}, {Note::Do1H, 1600}, {Note::Silent, 0},
- {Note::Finish, 0},
-};
-
-const driver::BuzzerNoteDelayed DJI[] = {{Note::Do1M, 300}, {Note::Re2M, 300}, {Note::So5M, 600}, {Note::Finish, 0}};
-
-const driver::BuzzerNoteDelayed SingCaliStart[] =
- {{Note::Mi3M, 100}, {Note::Re2M, 100}, {Note::Mi3M, 100}, {Note::Finish, 0}};
-
-const driver::BuzzerNoteDelayed SingCaliDone[] =
- {{Note::Re2M, 100}, {Note::Mi3M, 100}, {Note::Re2M, 100}, {Note::Finish, 0}};
diff --git a/programs/Hero/chassis/src/main.cpp b/programs/Hero/chassis/src/main.cpp
index b33a192e..0b6b25d7 100644
--- a/programs/Hero/chassis/src/main.cpp
+++ b/programs/Hero/chassis/src/main.cpp
@@ -23,7 +23,7 @@
#include "DjiMotorBase.h"
#include "bsp_can.h"
#include "bsp_print.h"
-#include "buzzer_notes.h"
+#include "buzzer_songs.h"
#include "buzzer_task.h"
#include "chassis.h"
#include "cmsis_os.h"
@@ -146,13 +146,13 @@ void RM_RTOS_Default_Task(const void* args) {
UNUSED(args);
osDelay(500);
- Buzzer_Sing(Mario);
+ Buzzer_Sing(driver::songs::Mario);
while (true) {
chassis->UpdatePowerVoltage(battery_vol->GetBatteryVol());
chassis->Update();
osDelay(10);
print("helloworld\r\n");
- Buzzer_Sing(Mario);
+ Buzzer_Sing(driver::songs::Mario);
}
}
diff --git a/programs/Hero/gimbal/include/buzzer_notes.h b/programs/Hero/gimbal/include/buzzer_notes.h
deleted file mode 100644
index a4aa6871..00000000
--- a/programs/Hero/gimbal/include/buzzer_notes.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*###########################################################
- # Copyright (c) 2023-2024. BNU-HKBU UIC RoboMaster #
- # #
- # This program is free software: you can redistribute it #
- # and/or modify it under the terms of the GNU General #
- # Public License as published by the Free Software #
- # Foundation, either version 3 of the License, or (at #
- # your option) any later version. #
- # #
- # This program is distributed in the hope that it will be #
- # useful, but WITHOUT ANY WARRANTY; without even #
- # the implied warranty of MERCHANTABILITY or FITNESS #
- # FOR A PARTICULAR PURPOSE. See the GNU General #
- # Public License for more details. #
- # #
- # You should have received a copy of the GNU General #
- # Public License along with this program. If not, see #
- # . #
- ###########################################################*/
-
-#pragma once
-#include "buzzer.h"
-using Note = driver::BuzzerNote;
-const driver::BuzzerNoteDelayed Mario[] =
- {{Note::Mi3M, 80},
- {Note::Silent, 80},
- {Note::Mi3M, 80},
- {Note::Silent, 240},
- {Note::Mi3M, 80},
- {Note::Silent, 240},
- {Note::Do1M, 80},
- {Note::Silent, 80},
- {Note::Mi3M, 80},
- {Note::Silent, 240},
- {Note::So5M, 80},
- {Note::Silent, 560},
- {Note::So5L, 80},
- {Note::Silent, 0},
- {Note::Finish, 0}};
-const driver::BuzzerNoteDelayed War_Cant_of_Mars[] = {
- {Note::So5M, 400}, {Note::So5M, 200}, {Note::So5M, 200}, {Note::So5M, 400}, {Note::Fa4M, 200},
- {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 400},
- {Note::Mi3H, 200}, {Note::Mi3H, 400}, {Note::Re2H, 200}, {Note::Do1H, 400}, {Note::Do1H, 400},
- {Note::Si7M, 200}, {Note::La6M, 400}, {Note::La6M, 200}, {Note::La6M, 400}, {Note::Si7M, 200},
- {Note::Do1H, 400}, {Note::Si7M, 200}, {Note::Do1H, 400}, {Note::La6M, 200}, {Note::So5M, 400},
- {Note::La6M, 200}, {Note::So5M, 400}, {Note::Mi3M, 200}, {Note::So5M, 800}, {Note::So5M, 400},
- {Note::So5M, 200}, {Note::So5M, 400}, {Note::So5M, 200}, {Note::So5M, 400}, {Note::Fa4M, 200},
- {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 400},
- {Note::Mi3H, 200}, {Note::Mi3H, 400}, {Note::Re2H, 200}, {Note::Do1H, 800}, {Note::Do1H, 800},
- {Note::Re2H, 800}, {Note::Re2H, 800}, {Note::Do1H, 800}, {Note::Si7M, 800}, {Note::Do1H, 1600},
- {Note::Silent, 400}, {Note::Silent, 400}, {Note::So5M, 800}, {Note::Fa4M, 400}, {Note::Mi3M, 400},
- {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 1200}, {Note::Do1H, 800},
- {Note::Silent, 400}, {Note::La6M, 800}, {Note::Si7M, 400}, {Note::Do1H, 400}, {Note::Si7M, 200},
- {Note::Do1H, 400}, {Note::La6M, 200}, {Note::So5M, 1600}, {Note::Mi3M, 800}, {Note::Silent, 400},
- {Note::So5M, 800}, {Note::Fa4M, 400}, {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400},
- {Note::Re2H, 200}, {Note::Mi3H, 1600}, {Note::Do1H, 800}, {Note::Do1H, 800}, {Note::Re2H, 800},
- {Note::Re2H, 800}, {Note::Do1H, 800}, {Note::Si7M, 800}, {Note::Do1H, 1600}, {Note::Silent, 0},
- {Note::Finish, 0},
-};
-
-const driver::BuzzerNoteDelayed DJI[] = {{Note::Do1M, 300}, {Note::Re2M, 300}, {Note::So5M, 600}, {Note::Finish, 0}};
-
-const driver::BuzzerNoteDelayed SingCaliStart[] =
- {{Note::Mi3M, 100}, {Note::Re2M, 100}, {Note::Mi3M, 100}, {Note::Finish, 0}};
-
-const driver::BuzzerNoteDelayed SingCaliDone[] =
- {{Note::Re2M, 100}, {Note::Mi3M, 100}, {Note::Re2M, 100}, {Note::Finish, 0}};
diff --git a/programs/Hero/gimbal/include/gimbal_task.h b/programs/Hero/gimbal/include/gimbal_task.h
index d2225459..a4d68a36 100644
--- a/programs/Hero/gimbal/include/gimbal_task.h
+++ b/programs/Hero/gimbal/include/gimbal_task.h
@@ -21,7 +21,7 @@
#pragma once
#include "DjiMotorBase.h"
#include "bsp_can.h"
-#include "buzzer_notes.h"
+#include "buzzer_songs.h"
#include "buzzer_task.h"
#include "cmsis_os2.h"
#include "gimbal.h"
diff --git a/programs/Hero/gimbal/src/gimbal_task.cpp b/programs/Hero/gimbal/src/gimbal_task.cpp
index e44ecfef..09afdcbf 100644
--- a/programs/Hero/gimbal/src/gimbal_task.cpp
+++ b/programs/Hero/gimbal/src/gimbal_task.cpp
@@ -59,7 +59,7 @@ void gimbalTask(void* arg) {
}
// buzzer->SingTone(bsp::BuzzerNote::La6M);
- Buzzer_Sing(SingCaliStart);
+ Buzzer_Sing(driver::songs::SingCaliStart);
imu->Calibrate();
i = 0;
while (!imu->DataReady() || !imu->CaliDone()) {
@@ -69,7 +69,7 @@ void gimbalTask(void* arg) {
osDelay(1);
++i;
}
- Buzzer_Sing(SingCaliDone);
+ Buzzer_Sing(driver::songs::SingCaliDone);
float pitch_ratio, yaw_ratio;
float pitch_curr, yaw_curr;
pitch_curr = -imu->INS_angle[2];
diff --git a/programs/Hero/gimbal/src/main.cpp b/programs/Hero/gimbal/src/main.cpp
index 76d93611..fc5a8d8a 100644
--- a/programs/Hero/gimbal/src/main.cpp
+++ b/programs/Hero/gimbal/src/main.cpp
@@ -22,7 +22,7 @@
#include "bsp_os.h"
#include "bsp_print.h"
-#include "buzzer_notes.h"
+#include "buzzer_songs.h"
#include "buzzer_task.h"
#include "chassis_task.h"
#include "cmsis_os.h"
@@ -94,7 +94,7 @@ void RM_RTOS_Default_Task(const void* arg) {
UNUSED(arg);
osDelay(3000);
- Buzzer_Sing(DJI);
+ Buzzer_Sing(driver::songs::DJI);
while (true) {
set_cursor(0, 0);
clear_screen();
diff --git a/programs/Neo/gimbal/include/buzzer_notes.h b/programs/Neo/gimbal/include/buzzer_notes.h
deleted file mode 100644
index a4aa6871..00000000
--- a/programs/Neo/gimbal/include/buzzer_notes.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*###########################################################
- # Copyright (c) 2023-2024. BNU-HKBU UIC RoboMaster #
- # #
- # This program is free software: you can redistribute it #
- # and/or modify it under the terms of the GNU General #
- # Public License as published by the Free Software #
- # Foundation, either version 3 of the License, or (at #
- # your option) any later version. #
- # #
- # This program is distributed in the hope that it will be #
- # useful, but WITHOUT ANY WARRANTY; without even #
- # the implied warranty of MERCHANTABILITY or FITNESS #
- # FOR A PARTICULAR PURPOSE. See the GNU General #
- # Public License for more details. #
- # #
- # You should have received a copy of the GNU General #
- # Public License along with this program. If not, see #
- # . #
- ###########################################################*/
-
-#pragma once
-#include "buzzer.h"
-using Note = driver::BuzzerNote;
-const driver::BuzzerNoteDelayed Mario[] =
- {{Note::Mi3M, 80},
- {Note::Silent, 80},
- {Note::Mi3M, 80},
- {Note::Silent, 240},
- {Note::Mi3M, 80},
- {Note::Silent, 240},
- {Note::Do1M, 80},
- {Note::Silent, 80},
- {Note::Mi3M, 80},
- {Note::Silent, 240},
- {Note::So5M, 80},
- {Note::Silent, 560},
- {Note::So5L, 80},
- {Note::Silent, 0},
- {Note::Finish, 0}};
-const driver::BuzzerNoteDelayed War_Cant_of_Mars[] = {
- {Note::So5M, 400}, {Note::So5M, 200}, {Note::So5M, 200}, {Note::So5M, 400}, {Note::Fa4M, 200},
- {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 400},
- {Note::Mi3H, 200}, {Note::Mi3H, 400}, {Note::Re2H, 200}, {Note::Do1H, 400}, {Note::Do1H, 400},
- {Note::Si7M, 200}, {Note::La6M, 400}, {Note::La6M, 200}, {Note::La6M, 400}, {Note::Si7M, 200},
- {Note::Do1H, 400}, {Note::Si7M, 200}, {Note::Do1H, 400}, {Note::La6M, 200}, {Note::So5M, 400},
- {Note::La6M, 200}, {Note::So5M, 400}, {Note::Mi3M, 200}, {Note::So5M, 800}, {Note::So5M, 400},
- {Note::So5M, 200}, {Note::So5M, 400}, {Note::So5M, 200}, {Note::So5M, 400}, {Note::Fa4M, 200},
- {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 400},
- {Note::Mi3H, 200}, {Note::Mi3H, 400}, {Note::Re2H, 200}, {Note::Do1H, 800}, {Note::Do1H, 800},
- {Note::Re2H, 800}, {Note::Re2H, 800}, {Note::Do1H, 800}, {Note::Si7M, 800}, {Note::Do1H, 1600},
- {Note::Silent, 400}, {Note::Silent, 400}, {Note::So5M, 800}, {Note::Fa4M, 400}, {Note::Mi3M, 400},
- {Note::So5M, 200}, {Note::Do1H, 400}, {Note::Re2H, 200}, {Note::Mi3H, 1200}, {Note::Do1H, 800},
- {Note::Silent, 400}, {Note::La6M, 800}, {Note::Si7M, 400}, {Note::Do1H, 400}, {Note::Si7M, 200},
- {Note::Do1H, 400}, {Note::La6M, 200}, {Note::So5M, 1600}, {Note::Mi3M, 800}, {Note::Silent, 400},
- {Note::So5M, 800}, {Note::Fa4M, 400}, {Note::Mi3M, 400}, {Note::So5M, 200}, {Note::Do1H, 400},
- {Note::Re2H, 200}, {Note::Mi3H, 1600}, {Note::Do1H, 800}, {Note::Do1H, 800}, {Note::Re2H, 800},
- {Note::Re2H, 800}, {Note::Do1H, 800}, {Note::Si7M, 800}, {Note::Do1H, 1600}, {Note::Silent, 0},
- {Note::Finish, 0},
-};
-
-const driver::BuzzerNoteDelayed DJI[] = {{Note::Do1M, 300}, {Note::Re2M, 300}, {Note::So5M, 600}, {Note::Finish, 0}};
-
-const driver::BuzzerNoteDelayed SingCaliStart[] =
- {{Note::Mi3M, 100}, {Note::Re2M, 100}, {Note::Mi3M, 100}, {Note::Finish, 0}};
-
-const driver::BuzzerNoteDelayed SingCaliDone[] =
- {{Note::Re2M, 100}, {Note::Mi3M, 100}, {Note::Re2M, 100}, {Note::Finish, 0}};
diff --git a/programs/Neo/gimbal/include/gimbal_task.h b/programs/Neo/gimbal/include/gimbal_task.h
index d834aa30..84a8292a 100644
--- a/programs/Neo/gimbal/include/gimbal_task.h
+++ b/programs/Neo/gimbal/include/gimbal_task.h
@@ -21,7 +21,7 @@
#pragma once
#include "DjiMotorBase.h"
#include "bsp_can.h"
-#include "buzzer_notes.h"
+#include "buzzer_songs.h"
#include "buzzer_task.h"
#include "cmsis_os2.h"
#include "gimbal.h"
diff --git a/programs/Neo/gimbal/src/gimbal_task.cpp b/programs/Neo/gimbal/src/gimbal_task.cpp
index 0ac908db..552b4edd 100644
--- a/programs/Neo/gimbal/src/gimbal_task.cpp
+++ b/programs/Neo/gimbal/src/gimbal_task.cpp
@@ -64,7 +64,7 @@ void gimbalTask(void* arg) {
// 云台复位完成后,播放一段音乐,代表开始校准陀螺仪
// 校准陀螺仪会对陀螺仪进行2000次的读取,然后取平均值作为校准值
// buzzer->SingTone(bsp::BuzzerNote::La6M);
- Buzzer_Sing(SingCaliStart);
+ Buzzer_Sing(driver::songs::SingCaliStart);
imu->Calibrate();
i = 0;
while (!imu->DataReady() || !imu->CaliDone()) {
@@ -75,7 +75,7 @@ void gimbalTask(void* arg) {
++i;
}
// 校准完成后播放一段音乐
- Buzzer_Sing(SingCaliDone);
+ Buzzer_Sing(driver::songs::SingCaliDone);
osDelay(100);
// 初始化当前陀螺仪角度、遥控器输入转换的角度、目标角度
diff --git a/programs/Neo/gimbal/src/main.cpp b/programs/Neo/gimbal/src/main.cpp
index 3fe98220..c4eeb754 100644
--- a/programs/Neo/gimbal/src/main.cpp
+++ b/programs/Neo/gimbal/src/main.cpp
@@ -22,7 +22,7 @@
#include "bsp_os.h"
#include "bsp_print.h"
-#include "buzzer_notes.h"
+#include "buzzer_songs.h"
#include "buzzer_task.h"
#include "chassis_task.h"
#include "cmsis_os.h"
@@ -71,7 +71,7 @@ void RM_RTOS_Threads_Init(void) {
void RM_RTOS_Default_Task(const void* arg) {
UNUSED(arg);
osDelay(100);
- Buzzer_Sing(DJI);
+ Buzzer_Sing(driver::songs::DJI);
// while (true) {
// uint8_t buffer[sizeof(control::ConstrainedPID::PID_State_t) * 2 + 2] = {0xAA, 0xBB};