]> git.donarmstrong.com Git - qmk_firmware.git/blobdiff - quantum/audio/audio.h
use built-in arm stuff
[qmk_firmware.git] / quantum / audio / audio.h
index e29770e3b8467597602b6754331731472a46a592..8136c5b258fad6d6260d0437d2643f9fcbf87736 100644 (file)
 
 #include <stdint.h>
 #include <stdbool.h>
-#include <avr/io.h>
-#include <util/delay.h>
+#if defined(__AVR__)
+  #include <avr/io.h>
+#endif
+#include "wait.h"
 #include "musical_notes.h"
 #include "song_list.h"
 #include "voices.h"
 #include "quantum.h"
+#include <math.h>
 
 // Largely untested PWM audio mode (doesn't sound as good)
 // #define PWM_AUDIO
@@ -37,7 +40,8 @@ typedef union {
     uint8_t raw;
     struct {
         bool    enable :1;
-        uint8_t level  :7;
+        bool    clicky_enable :1;
+        uint8_t level  :6;
     };
 } audio_config_t;
 
@@ -100,8 +104,8 @@ void play_notes(float (*np)[][2], uint16_t n_count, bool n_repeat);
 #define NOTE_ARRAY_SIZE(x) ((int16_t)(sizeof(x) / (sizeof(x[0]))))
 #define PLAY_NOTE_ARRAY(note_array, note_repeat, deprecated_arg) play_notes(&note_array, NOTE_ARRAY_SIZE((note_array)), (note_repeat)); \
        _Pragma ("message \"'PLAY_NOTE_ARRAY' macro is deprecated\"")
-#define PLAY_SONG(note_array) play_notes(&note_array, NOTE_ARRAY_SIZE((note_array)), false);
-#define PLAY_LOOP(note_array) play_notes(&note_array, NOTE_ARRAY_SIZE((note_array)), true);
+#define PLAY_SONG(note_array) play_notes(&note_array, NOTE_ARRAY_SIZE((note_array)), false)
+#define PLAY_LOOP(note_array) play_notes(&note_array, NOTE_ARRAY_SIZE((note_array)), true)
 
 bool is_playing_notes(void);