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};