summaryrefslogtreecommitdiffstats
path: root/quantum/audio
diff options
context:
space:
mode:
authorJack Humbert <jack.humb@gmail.com>2016-05-09 19:17:15 +0200
committerJack Humbert <jack.humb@gmail.com>2016-05-09 19:17:15 +0200
commit3f02637f4dd765803671c2611191beb096d60b36 (patch)
treec11714b62494097226253d3951de2472e7954129 /quantum/audio
parent684793360cdb08ac1e50a6d27e1796fadd527adb (diff)
downloadqmk_firmware-3f02637f4dd765803671c2611191beb096d60b36.tar.gz
qmk_firmware-3f02637f4dd765803671c2611191beb096d60b36.tar.xz
Backlight Breathing for Planck and Atomic
* Updated personal layouts * tweaked personal * Nightly - Audio Cleanup Refactored the LUTs. Abstracted some of the registers out of audio to use more functional names. Split audio into audio and audio_pwm. WIP * nightly - collapsed code * Added check for note playing to LEDs * Usability tweaks * TWEAE * nightly added extra kcs to keymap common * turned on Plank audio * Added backlight breathing to atomic * reverted accidental merge * adds backlight pulse to planck
Diffstat (limited to 'quantum/audio')
-rw-r--r--quantum/audio/audio.c4
-rw-r--r--quantum/audio/audio.h11
2 files changed, 10 insertions, 5 deletions
diff --git a/quantum/audio/audio.c b/quantum/audio/audio.c
index 3a7f0f556..27b64f8c9 100644
--- a/quantum/audio/audio.c
+++ b/quantum/audio/audio.c
@@ -374,6 +374,10 @@ bool is_playing_notes(void) {
return playing_notes;
}
+bool is_audio_on(void) {
+ return (audio_config.enable != 0);
+}
+
void audio_toggle(void) {
audio_config.enable ^= 1;
eeconfig_update_audio(audio_config.raw);
diff --git a/quantum/audio/audio.h b/quantum/audio/audio.h
index 3d706587a..4ba879bbb 100644
--- a/quantum/audio/audio.h
+++ b/quantum/audio/audio.h
@@ -25,6 +25,7 @@ typedef union {
};
} audio_config_t;
+bool is_audio_on(void);
void audio_toggle(void);
void audio_on(void);
void audio_off(void);
@@ -71,11 +72,11 @@ void stop_note(float freq);
void stop_all_notes(void);
void play_notes(float (*np)[][2], uint16_t n_count, bool n_repeat, float n_rest);
-#define SCALE (int []){ 0 + (12*0), 2 + (12*0), 4 + (12*0), 5 + (12*0), 7 + (12*0), 9 + (12*0), 11 + (12*0), \
- 0 + (12*1), 2 + (12*1), 4 + (12*1), 5 + (12*1), 7 + (12*1), 9 + (12*1), 11 + (12*1), \
- 0 + (12*2), 2 + (12*2), 4 + (12*2), 5 + (12*2), 7 + (12*2), 9 + (12*2), 11 + (12*2), \
- 0 + (12*3), 2 + (12*3), 4 + (12*3), 5 + (12*3), 7 + (12*3), 9 + (12*3), 11 + (12*3), \
- 0 + (12*4), 2 + (12*4), 4 + (12*4), 5 + (12*4), 7 + (12*4), 9 + (12*4), 11 + (12*4), }
+#define SCALE (int8_t []){ 0 + (12*0), 2 + (12*0), 4 + (12*0), 5 + (12*0), 7 + (12*0), 9 + (12*0), 11 + (12*0), \
+ 0 + (12*1), 2 + (12*1), 4 + (12*1), 5 + (12*1), 7 + (12*1), 9 + (12*1), 11 + (12*1), \
+ 0 + (12*2), 2 + (12*2), 4 + (12*2), 5 + (12*2), 7 + (12*2), 9 + (12*2), 11 + (12*2), \
+ 0 + (12*3), 2 + (12*3), 4 + (12*3), 5 + (12*3), 7 + (12*3), 9 + (12*3), 11 + (12*3), \
+ 0 + (12*4), 2 + (12*4), 4 + (12*4), 5 + (12*4), 7 + (12*4), 9 + (12*4), 11 + (12*4), }
// These macros are used to allow play_notes to play an array of indeterminate
// length. This works around the limitation of C's sizeof operation on pointers.