Сделан хедер с мелодиями
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
#include "melody.h"
|
||||
|
||||
#define FIXED_ARR 10 // фиксированный период таймера
|
||||
#define FIXED_ARR 1000 // фиксированный период таймера
|
||||
#define FIXED_VOLUME 2 // фиксированный период таймера
|
||||
|
||||
// Конвертирует длительность ноты в миллисекунды
|
||||
static uint32_t _duration_to_ms(MelodyHandle* mh, float duration) {
|
||||
@@ -31,7 +32,7 @@ static void _set_freq(MelodyHandle* mh, uint32_t freq) {
|
||||
// Фиксированный период
|
||||
__HAL_TIM_SET_AUTORELOAD(mh->htim, FIXED_ARR);
|
||||
// Скважность 50% для чистого тона
|
||||
__HAL_TIM_SET_COMPARE(mh->htim, mh->channel, FIXED_ARR / 2);
|
||||
__HAL_TIM_SET_COMPARE(mh->htim, mh->channel, FIXED_VOLUME);
|
||||
}
|
||||
|
||||
void Melody_Init(MelodyHandle* mh, TIM_HandleTypeDef* htim, uint32_t channel, uint32_t timer_clock_hz) {
|
||||
|
||||
124
Core/Clock/songs.h
Normal file
124
Core/Clock/songs.h
Normal file
@@ -0,0 +1,124 @@
|
||||
#pragma once
|
||||
|
||||
#include "melody.h"
|
||||
|
||||
#define song_length(song_arr) sizeof(song_arr)/sizeof(song_arr[0]);
|
||||
|
||||
const Note Polyphia_OD[] = {
|
||||
//1 ТАКТ
|
||||
{FA1s, NOTE_SIXTEENTH},
|
||||
{LA1, NOTE_SIXTEENTH},
|
||||
{DO2s, NOTE_SIXTEENTH},
|
||||
{FA2s, NOTE_SIXTEENTH},
|
||||
{NOTE_REST, NOTE_QUARTER},
|
||||
|
||||
{FA1s, NOTE_SIXTEENTH},
|
||||
{LA1, NOTE_SIXTEENTH},
|
||||
{DO2s, NOTE_SIXTEENTH},
|
||||
{RE2, NOTE_SIXTEENTH},
|
||||
{FA1, NOTE_SIXTEENTH},
|
||||
{SOL1s, NOTE_SIXTEENTH},
|
||||
{SI1, NOTE_SIXTEENTH},
|
||||
{FA2s, NOTE_EIGHTH},
|
||||
|
||||
//2 ТАКТ
|
||||
{SOL2s, NOTE_SIXTEENTH},
|
||||
{RE2, NOTE_SIXTEENTH},
|
||||
{SI1, NOTE_SIXTEENTH},
|
||||
{DO1s, NOTE_SIXTEENTH},
|
||||
{FA1, NOTE_SIXTEENTH},
|
||||
{SOL1s, NOTE_SIXTEENTH},
|
||||
{DO2s, NOTE_SIXTEENTH},
|
||||
{FA2, NOTE_THIRTYSECOND},
|
||||
{FA2s, NOTE_THIRTYSECOND},
|
||||
{FA2, NOTE_SIXTEENTH},
|
||||
{DO2s, NOTE_SIXTEENTH},
|
||||
{SI1, NOTE_SIXTEENTH},
|
||||
{SOL1s, NOTE_SIXTEENTH},
|
||||
{FA1, NOTE_SIXTEENTH},
|
||||
{DO3s, NOTE_SIXTEENTH},
|
||||
|
||||
//3 ТАКТ
|
||||
{FA1s, NOTE_SIXTEENTH},
|
||||
{LA1, NOTE_SIXTEENTH},
|
||||
{DO2s, NOTE_SIXTEENTH},
|
||||
{FA2s, NOTE_SIXTEENTH},
|
||||
{NOTE_REST, NOTE_QUARTER},
|
||||
|
||||
{FA1s, NOTE_SIXTEENTH},
|
||||
{LA1, NOTE_SIXTEENTH},
|
||||
{DO2s, NOTE_SIXTEENTH},
|
||||
{RE2, NOTE_SIXTEENTH},
|
||||
{FA1, NOTE_SIXTEENTH},
|
||||
{SOL1s, NOTE_SIXTEENTH},
|
||||
{SI1, NOTE_SIXTEENTH},
|
||||
{FA2s, NOTE_EIGHTH},
|
||||
|
||||
//4 ТАКТ
|
||||
{SOL2s, NOTE_SIXTEENTH},
|
||||
{RE2, NOTE_SIXTEENTH},
|
||||
{SI1, NOTE_SIXTEENTH},
|
||||
{LA1, NOTE_SIXTEENTH},
|
||||
{DO2s, NOTE_SIXTEENTH},
|
||||
{FA2s, NOTE_SIXTEENTH},
|
||||
{LA2, NOTE_SIXTEENTH},
|
||||
|
||||
{SI1, NOTE_SIXTEENTH},
|
||||
{SI0, NOTE_SIXTEENTH},
|
||||
{RE2, NOTE_SIXTEENTH},
|
||||
{SOL2s, NOTE_SIXTEENTH},
|
||||
{LA1, NOTE_SIXTEENTH},
|
||||
{LA2, NOTE_SIXTEENTH},
|
||||
{FA2s, NOTE_SIXTEENTH},
|
||||
|
||||
//5 ТАКТ
|
||||
{SI1, NOTE_SIXTEENTH},
|
||||
{RE2, NOTE_SIXTEENTH},
|
||||
{FA2s, NOTE_SIXTEENTH},
|
||||
{SI2, NOTE_SIXTEENTH}
|
||||
};
|
||||
|
||||
|
||||
|
||||
const Note Polyphia_PlayingGod[] = {
|
||||
//1 ТАКТ
|
||||
{SOL2, NOTE_QUARTER},
|
||||
{MI3, NOTE_EIGHTH},
|
||||
{SI3, NOTE_EIGHTH},
|
||||
{MI4, NOTE_EIGHTH},
|
||||
{SI3, NOTE_EIGHTH},
|
||||
{SOL3, NOTE_EIGHTH},
|
||||
{SI3, NOTE_EIGHTH},
|
||||
{DO4, NOTE_EIGHTH_DOT},
|
||||
{LA3, NOTE_SIXTEENTH},
|
||||
{SI3, NOTE_EIGHTH},
|
||||
{SI2, NOTE_EIGHTH_DOT},
|
||||
{DO2, NOTE_SIXTEENTH},
|
||||
{SI3, NOTE_EIGHTH},
|
||||
{MI3, NOTE_QUARTER},
|
||||
|
||||
//2 ТАКТ
|
||||
{RE3s, NOTE_QUARTER},
|
||||
{SI2, NOTE_EIGHTH},
|
||||
{LA2, NOTE_EIGHTH},
|
||||
{LA3, NOTE_EIGHTH},
|
||||
{SI3, NOTE_SIXTEENTH},
|
||||
{LA3, NOTE_EIGHTH},
|
||||
{RE3, NOTE_SIXTEENTH},
|
||||
{FA4s, NOTE_SIXTEENTH},
|
||||
{LA4, NOTE_SIXTEENTH},
|
||||
{RE3s, NOTE_EIGHTH},
|
||||
{LA3, NOTE_SIXTEENTH},
|
||||
{RE3s, NOTE_EIGHTH},
|
||||
|
||||
{SI4, NOTE_SIXTEENTH},
|
||||
{FA4s, NOTE_SIXTEENTH},
|
||||
{RE3s, NOTE_THIRTYSECOND},
|
||||
{NOTE_REST, NOTE_THIRTYSECOND},
|
||||
{RE3s, NOTE_EIGHTH},
|
||||
{MI3, NOTE_EIGHTH},
|
||||
|
||||
{DO3, NOTE_SIXTEENTH},
|
||||
{SI2, NOTE_SIXTEENTH},
|
||||
{MI3, NOTE_SIXTEENTH},
|
||||
};
|
||||
Reference in New Issue
Block a user