File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -33,7 +33,7 @@ int melody[] = {
3333#define TEMPO 114
3434
3535int main (void ) {
36- if (!libtock_buzzer_exists ()) {
36+ if (!libtocksync_buzzer_exists ()) {
3737 printf ("There is no available buzzer\n" );
3838 return -1 ;
3939 }
Original file line number Diff line number Diff line change 1+ #include <libtock/interface/buzzer.h>
12#include <libtock/interface/syscalls/buzzer_syscalls.h>
23
34#include "buzzer.h"
45
5- struct data {
6- bool fired ;
7- };
8-
9- static struct data result = { .fired = false };
10-
11-
12- static void buzzer_cb (void ) {
13- result .fired = true;
6+ bool libtocksync_buzzer_exists () {
7+ return libtock_buzzer_exists ();
148}
159
10+
1611returncode_t libtocksync_buzzer_tone (uint32_t frequency_hz , uint32_t duration_ms ) {
17- int err ;
18- result .fired = false;
12+ returncode_t ret ;
1913
20- err = libtock_buzzer_tone (frequency_hz , duration_ms , buzzer_cb );
21- if (err != RETURNCODE_SUCCESS ) return err ;
14+ ret = libtock_buzzer_command_tone (frequency_hz , duration_ms );
15+ if (ret != RETURNCODE_SUCCESS ) return ret ;
2216
2317 // Wait for the callback meaning the tone is finished.
24- yield_for ( & result . fired );
18+ libtocksync_buzzer_yield_wait_for ( );
2519 return RETURNCODE_SUCCESS ;
2620}
Original file line number Diff line number Diff line change 11#pragma once
22
3- #include <libtock/interface/buzzer.h>
3+ #include <libtock/interface/buzzer_types.h>
4+ #include <libtock/interface/syscalls/buzzer_syscalls.h>
45#include <libtock/tock.h>
56
7+ #include "syscalls/buzzer_syscalls.h"
8+
69#ifdef __cplusplus
710extern "C" {
811#endif
Original file line number Diff line number Diff line change 1+ #include "buzzer_syscalls.h"
2+
3+ returncode_t libtocksync_buzzer_yield_wait_for (void ) {
4+ yield_wait_for (DRIVER_NUM_BUZZER , 0 );
5+ return RETURNCODE_SUCCESS ;
6+ }
Original file line number Diff line number Diff line change 1+ #pragma once
2+
3+ #include <libtock/interface/syscalls/buzzer_syscalls.h>
4+ #include <libtock/tock.h>
5+
6+ #ifdef __cplusplus
7+ extern "C" {
8+ #endif
9+
10+ // Wait for buzzer event to start.
11+ returncode_t libtocksync_buzzer_yield_wait_for (void );
12+
13+ #ifdef __cplusplus
14+ }
15+ #endif
Original file line number Diff line number Diff line change 11#pragma once
22
33#include "../tock.h"
4+ #include "buzzer_types.h"
45
56#ifdef __cplusplus
67extern "C" {
78#endif
89
9- #define NOTE_B0 31
10- #define NOTE_C1 33
11- #define NOTE_CS1 35
12- #define NOTE_D1 37
13- #define NOTE_DS1 39
14- #define NOTE_E1 41
15- #define NOTE_F1 44
16- #define NOTE_FS1 46
17- #define NOTE_G1 49
18- #define NOTE_GS1 52
19- #define NOTE_A1 55
20- #define NOTE_AS1 58
21- #define NOTE_B1 62
22- #define NOTE_C2 65
23- #define NOTE_CS2 69
24- #define NOTE_D2 73
25- #define NOTE_DS2 78
26- #define NOTE_E2 82
27- #define NOTE_F2 87
28- #define NOTE_FS2 93
29- #define NOTE_G2 98
30- #define NOTE_GS2 104
31- #define NOTE_A2 110
32- #define NOTE_AS2 117
33- #define NOTE_B2 123
34- #define NOTE_C3 131
35- #define NOTE_CS3 139
36- #define NOTE_D3 147
37- #define NOTE_DS3 156
38- #define NOTE_E3 165
39- #define NOTE_F3 175
40- #define NOTE_FS3 185
41- #define NOTE_G3 196
42- #define NOTE_GS3 208
43- #define NOTE_A3 220
44- #define NOTE_AS3 233
45- #define NOTE_B3 247
46- #define NOTE_C4 262
47- #define NOTE_CS4 277
48- #define NOTE_D4 294
49- #define NOTE_DS4 311
50- #define NOTE_E4 330
51- #define NOTE_F4 349
52- #define NOTE_FS4 370
53- #define NOTE_G4 392
54- #define NOTE_GS4 415
55- #define NOTE_A4 440
56- #define NOTE_AS4 466
57- #define NOTE_B4 494
58- #define NOTE_C5 523
59- #define NOTE_CS5 554
60- #define NOTE_D5 587
61- #define NOTE_DS5 622
62- #define NOTE_E5 659
63- #define NOTE_F5 698
64- #define NOTE_FS5 740
65- #define NOTE_G5 784
66- #define NOTE_GS5 831
67- #define NOTE_A5 880
68- #define NOTE_AS5 932
69- #define NOTE_B5 988
70- #define NOTE_C6 1047
71- #define NOTE_CS6 1109
72- #define NOTE_D6 1175
73- #define NOTE_DS6 1245
74- #define NOTE_E6 1319
75- #define NOTE_F6 1397
76- #define NOTE_FS6 1480
77- #define NOTE_G6 1568
78- #define NOTE_GS6 1661
79- #define NOTE_A6 1760
80- #define NOTE_AS6 1865
81- #define NOTE_B6 1976
82- #define NOTE_C7 2093
83- #define NOTE_CS7 2217
84- #define NOTE_D7 2349
85- #define NOTE_DS7 2489
86- #define NOTE_E7 2637
87- #define NOTE_F7 2794
88- #define NOTE_FS7 2960
89- #define NOTE_G7 3136
90- #define NOTE_GS7 3322
91- #define NOTE_A7 3520
92- #define NOTE_AS7 3729
93- #define NOTE_B7 3951
94- #define NOTE_C8 4186
95- #define NOTE_CS8 4435
96- #define NOTE_D8 4699
97- #define NOTE_DS8 4978
98-
9910// Function signature for buzzer done callbacks.
10011typedef void (* libtock_buzzer_done_callback )(void );
10112
Original file line number Diff line number Diff line change 1+ #pragma once
2+
3+ #ifdef __cplusplus
4+ extern "C" {
5+ #endif
6+
7+ #define NOTE_B0 31
8+ #define NOTE_C1 33
9+ #define NOTE_CS1 35
10+ #define NOTE_D1 37
11+ #define NOTE_DS1 39
12+ #define NOTE_E1 41
13+ #define NOTE_F1 44
14+ #define NOTE_FS1 46
15+ #define NOTE_G1 49
16+ #define NOTE_GS1 52
17+ #define NOTE_A1 55
18+ #define NOTE_AS1 58
19+ #define NOTE_B1 62
20+ #define NOTE_C2 65
21+ #define NOTE_CS2 69
22+ #define NOTE_D2 73
23+ #define NOTE_DS2 78
24+ #define NOTE_E2 82
25+ #define NOTE_F2 87
26+ #define NOTE_FS2 93
27+ #define NOTE_G2 98
28+ #define NOTE_GS2 104
29+ #define NOTE_A2 110
30+ #define NOTE_AS2 117
31+ #define NOTE_B2 123
32+ #define NOTE_C3 131
33+ #define NOTE_CS3 139
34+ #define NOTE_D3 147
35+ #define NOTE_DS3 156
36+ #define NOTE_E3 165
37+ #define NOTE_F3 175
38+ #define NOTE_FS3 185
39+ #define NOTE_G3 196
40+ #define NOTE_GS3 208
41+ #define NOTE_A3 220
42+ #define NOTE_AS3 233
43+ #define NOTE_B3 247
44+ #define NOTE_C4 262
45+ #define NOTE_CS4 277
46+ #define NOTE_D4 294
47+ #define NOTE_DS4 311
48+ #define NOTE_E4 330
49+ #define NOTE_F4 349
50+ #define NOTE_FS4 370
51+ #define NOTE_G4 392
52+ #define NOTE_GS4 415
53+ #define NOTE_A4 440
54+ #define NOTE_AS4 466
55+ #define NOTE_B4 494
56+ #define NOTE_C5 523
57+ #define NOTE_CS5 554
58+ #define NOTE_D5 587
59+ #define NOTE_DS5 622
60+ #define NOTE_E5 659
61+ #define NOTE_F5 698
62+ #define NOTE_FS5 740
63+ #define NOTE_G5 784
64+ #define NOTE_GS5 831
65+ #define NOTE_A5 880
66+ #define NOTE_AS5 932
67+ #define NOTE_B5 988
68+ #define NOTE_C6 1047
69+ #define NOTE_CS6 1109
70+ #define NOTE_D6 1175
71+ #define NOTE_DS6 1245
72+ #define NOTE_E6 1319
73+ #define NOTE_F6 1397
74+ #define NOTE_FS6 1480
75+ #define NOTE_G6 1568
76+ #define NOTE_GS6 1661
77+ #define NOTE_A6 1760
78+ #define NOTE_AS6 1865
79+ #define NOTE_B6 1976
80+ #define NOTE_C7 2093
81+ #define NOTE_CS7 2217
82+ #define NOTE_D7 2349
83+ #define NOTE_DS7 2489
84+ #define NOTE_E7 2637
85+ #define NOTE_F7 2794
86+ #define NOTE_FS7 2960
87+ #define NOTE_G7 3136
88+ #define NOTE_GS7 3322
89+ #define NOTE_A7 3520
90+ #define NOTE_AS7 3729
91+ #define NOTE_B7 3951
92+ #define NOTE_C8 4186
93+ #define NOTE_CS8 4435
94+ #define NOTE_D8 4699
95+ #define NOTE_DS8 4978
96+
97+ #ifdef __cplusplus
98+ }
99+ #endif
You can’t perform that action at this time.
0 commit comments