TISPY Original FW
Dependencies: PWM_Tone_Library mbed
Fork of PiezoBuzzer_HelloWorld_WIZwiki-W7500 by
main.cpp@1:34e47981bf27, 2017-02-19 (annotated)
- Committer:
- mihanada
- Date:
- Sun Feb 19 05:30:37 2017 +0000
- Revision:
- 1:34e47981bf27
- Parent:
- 0:9d311e74ad13
1st relees
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
justinkim | 0:9d311e74ad13 | 1 | /* Includes ------------------------------------------------------------------*/ |
justinkim | 0:9d311e74ad13 | 2 | #include "mbed.h" |
justinkim | 0:9d311e74ad13 | 3 | #include "pwm_tone.h" |
justinkim | 0:9d311e74ad13 | 4 | |
justinkim | 0:9d311e74ad13 | 5 | /* Private typedef -----------------------------------------------------------*/ |
justinkim | 0:9d311e74ad13 | 6 | /* Private define ------------------------------------------------------------*/ |
justinkim | 0:9d311e74ad13 | 7 | /* Private variables ---------------------------------------------------------*/ |
mihanada | 1:34e47981bf27 | 8 | PwmOut Buzzer(P1_23); |
mihanada | 1:34e47981bf27 | 9 | DigitalOut myled0(P0_21); |
mihanada | 1:34e47981bf27 | 10 | InterruptIn button(P0_1); |
justinkim | 0:9d311e74ad13 | 11 | |
justinkim | 0:9d311e74ad13 | 12 | float C_3 = 1000000/Do3, |
justinkim | 0:9d311e74ad13 | 13 | Cs_3 = 1000000/Do3s, |
justinkim | 0:9d311e74ad13 | 14 | D_3 = 1000000/Re3, |
justinkim | 0:9d311e74ad13 | 15 | Ds_3 = 1000000/Re3s, |
justinkim | 0:9d311e74ad13 | 16 | E_3 = 1000000/Mi3, |
justinkim | 0:9d311e74ad13 | 17 | F_3 = 1000000/Fa3, |
justinkim | 0:9d311e74ad13 | 18 | Fs_3 = 1000000/Fa3s, |
mihanada | 1:34e47981bf27 | 19 | Mi_3 = 1000000/Mi3, |
justinkim | 0:9d311e74ad13 | 20 | G_3 = 1000000/So3, |
justinkim | 0:9d311e74ad13 | 21 | Gs_3 = 1000000/So3s, |
justinkim | 0:9d311e74ad13 | 22 | A_3 = 1000000/La3, |
justinkim | 0:9d311e74ad13 | 23 | As_3 = 1000000/La3s, |
justinkim | 0:9d311e74ad13 | 24 | B_3 = 1000000/Ti3, |
justinkim | 0:9d311e74ad13 | 25 | C_4 = 1000000/Do4, |
justinkim | 0:9d311e74ad13 | 26 | Cs_4 = 1000000/Do4s, |
justinkim | 0:9d311e74ad13 | 27 | D_4 = 1000000/Re4, |
justinkim | 0:9d311e74ad13 | 28 | Ds_4 = 1000000/Re4s, |
justinkim | 0:9d311e74ad13 | 29 | E_4 = 1000000/Mi4, |
justinkim | 0:9d311e74ad13 | 30 | F_4 = 1000000/Fa4, |
justinkim | 0:9d311e74ad13 | 31 | Fs_4 = 1000000/Fa4s, |
justinkim | 0:9d311e74ad13 | 32 | G_4 = 1000000/So4, |
justinkim | 0:9d311e74ad13 | 33 | Gs_4 = 1000000/So4s, |
justinkim | 0:9d311e74ad13 | 34 | A_4 = 1000000/La4, |
justinkim | 0:9d311e74ad13 | 35 | As_4 = 1000000/La4s, |
justinkim | 0:9d311e74ad13 | 36 | B_4 = 1000000/Ti4, |
justinkim | 0:9d311e74ad13 | 37 | C_5 = 1000000/Do5, |
justinkim | 0:9d311e74ad13 | 38 | Cs_5 = 1000000/Do5s, |
justinkim | 0:9d311e74ad13 | 39 | D_5 = 1000000/Re5, |
justinkim | 0:9d311e74ad13 | 40 | Ds_5 = 1000000/Re5s, |
justinkim | 0:9d311e74ad13 | 41 | E_5 = 1000000/Mi5, |
justinkim | 0:9d311e74ad13 | 42 | F_5 = 1000000/Fa5, |
justinkim | 0:9d311e74ad13 | 43 | Fs_5 = 1000000/Fa5s, |
justinkim | 0:9d311e74ad13 | 44 | G_5 = 1000000/So5, |
justinkim | 0:9d311e74ad13 | 45 | Gs_5 = 1000000/So5s, |
justinkim | 0:9d311e74ad13 | 46 | A_5 = 1000000/La5, |
justinkim | 0:9d311e74ad13 | 47 | As_5 = 1000000/La5s, |
justinkim | 0:9d311e74ad13 | 48 | B_5 = 1000000/Ti5; |
justinkim | 0:9d311e74ad13 | 49 | |
mihanada | 1:34e47981bf27 | 50 | int tones[] = {E_4, D_4, C_4, D_4, E_4, E_4, E_4, 0, D_4, D_4, D_4, 0, E_4, G_4, G_4, 0, |
mihanada | 1:34e47981bf27 | 51 | E_4, D_4, C_4, D_4, E_4, E_4, E_4, 0, D_4, D_4, E_4, D_4, C_4, 0, 0, 0 |
mihanada | 1:34e47981bf27 | 52 | }; |
justinkim | 0:9d311e74ad13 | 53 | int tones_num = 32; |
justinkim | 0:9d311e74ad13 | 54 | |
justinkim | 0:9d311e74ad13 | 55 | /* Private functions ---------------------------------------------------------*/ |
justinkim | 0:9d311e74ad13 | 56 | /** |
justinkim | 0:9d311e74ad13 | 57 | * @brief Main Function |
justinkim | 0:9d311e74ad13 | 58 | * @param None |
justinkim | 0:9d311e74ad13 | 59 | * @retval None |
justinkim | 0:9d311e74ad13 | 60 | */ |
mihanada | 1:34e47981bf27 | 61 | |
mihanada | 1:34e47981bf27 | 62 | void melo() { |
mihanada | 1:34e47981bf27 | 63 | myled0 = 0; |
mihanada | 1:34e47981bf27 | 64 | /* |
justinkim | 0:9d311e74ad13 | 65 | Tune(Buzzer, C_4, 4); //4 Octave C beat 4/16 |
justinkim | 0:9d311e74ad13 | 66 | wait_ms(250); |
justinkim | 0:9d311e74ad13 | 67 | Tune(Buzzer, D_4, 4); //4 Octave D beat 4/16 |
justinkim | 0:9d311e74ad13 | 68 | wait_ms(250); |
justinkim | 0:9d311e74ad13 | 69 | Tune(Buzzer, E_4, 4); //4 Octave E beat 4/16 |
justinkim | 0:9d311e74ad13 | 70 | wait_ms(250); |
mihanada | 1:34e47981bf27 | 71 | */ |
justinkim | 0:9d311e74ad13 | 72 | |
justinkim | 0:9d311e74ad13 | 73 | int i; |
justinkim | 0:9d311e74ad13 | 74 | for(i=0; i<tones_num; i++) |
justinkim | 0:9d311e74ad13 | 75 | { |
justinkim | 0:9d311e74ad13 | 76 | Auto_tunes(Buzzer, tones[i], 4); // Auto performance |
justinkim | 0:9d311e74ad13 | 77 | Stop_tunes(Buzzer); |
justinkim | 0:9d311e74ad13 | 78 | } |
mihanada | 1:34e47981bf27 | 79 | myled0 = 1; |
mihanada | 1:34e47981bf27 | 80 | } |
mihanada | 1:34e47981bf27 | 81 | |
mihanada | 1:34e47981bf27 | 82 | |
mihanada | 1:34e47981bf27 | 83 | |
mihanada | 1:34e47981bf27 | 84 | int main(void) |
mihanada | 1:34e47981bf27 | 85 | { |
mihanada | 1:34e47981bf27 | 86 | button.rise(&melo); |
mihanada | 1:34e47981bf27 | 87 | myled0 = 0; |
mihanada | 1:34e47981bf27 | 88 | Tune(Buzzer, C_4, 1); |
mihanada | 1:34e47981bf27 | 89 | myled0 = 1; |
mihanada | 1:34e47981bf27 | 90 | wait_ms(100); |
mihanada | 1:34e47981bf27 | 91 | myled0 = 0; |
mihanada | 1:34e47981bf27 | 92 | wait_ms(100); |
mihanada | 1:34e47981bf27 | 93 | myled0 = 1; |
mihanada | 1:34e47981bf27 | 94 | wait_ms(100); |
mihanada | 1:34e47981bf27 | 95 | myled0 = 0; |
mihanada | 1:34e47981bf27 | 96 | wait_ms(100); |
mihanada | 1:34e47981bf27 | 97 | myled0 = 1; |
mihanada | 1:34e47981bf27 | 98 | wait_ms(100); |
mihanada | 1:34e47981bf27 | 99 | myled0 = 0; |
mihanada | 1:34e47981bf27 | 100 | wait_ms(100); |
mihanada | 1:34e47981bf27 | 101 | myled0 = 1; |
mihanada | 1:34e47981bf27 | 102 | sleep(); |
justinkim | 0:9d311e74ad13 | 103 | } |