Fixed mitosis-mjt audio (#1653)

* copied mjt keymaps from archive

* All mjt boards now compile

* fixed jd45-mjt breathing

* Updates to fix SpaceFN but not tested yet.

* Still missing either spacebar or an adjacent keypress.

* Debugging rigged up for use with hid_listen.

* Reverted the default keymap to use tap_layer_key rather than custom.  Moved custom approach to keymap_debug.c

* Fixed the lower-left side of the keymap, which needed more spacers due to the matrix being directly put into the array rather than using the keymap function.

* Cleaned up JD45 keymap that uses tapkey.

* Redid minivan keymap with numsym rather than raise/lower.
Untested.

* Created my MJT keymap for HHKB
Enabled dynamic macros and moved
somoe of the shortcuts around.

* Minor keymap fixes to make them compile without errors.

* Added home/end to right arrow cluster on DYN layer.

* Added more keys to fn and dyn layers.

* It wasn't using my custom layer last time somehow...?  Now it will.

* Compiled and installed at end of day on 8/23

* Moved macros to FKEY layer because Adjust was too hard to get into and out of without some sort of feedback.

* Fixed volume controls... were reversed and disabled.

* Added F13-F15 back to fkeys layer in Minivan

* Created new Planck Keymap that uses the NumSym and FKeys layer approach like the Minivan.

* Removed DYN layer.

* Fixed diagram in planck numsym.

* Cleanup for pull request.

* Roadkit flip phone warning.

* Replaced PLAY_NOTES_ARRAY to PLAY_SONG

* reset the submodules

* checked out specific commits for submodules

* Removed debugging from JD45 shared config.h

* Moved custom rules.mk to apropriate keymap

Reset the shared rules.mk file.

* Trailing return issue in rules.mk

Gotta make for a smooth pull request :-)

* Mitosis music troubleshooting

Also updated the song playing function.
Does not work currently.

* Fixed mitosis audio

* Put mitosis/rules.mk back to QMK master
master
Michael Terhar 2017-08-30 11:50:31 -04:00 committed by Jack Humbert
parent da83f04a30
commit a4316ba486
3 changed files with 50 additions and 69 deletions

View File

@ -0,0 +1,17 @@
BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
MOUSEKEY_ENABLE = no # Mouse keys(+4700)
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
CONSOLE_ENABLE = no # Console for debug(+400)
COMMAND_ENABLE = no # Commands for debug and configuration
NKRO_ENABLE = no # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
MIDI_ENABLE = no # MIDI controls
AUDIO_ENABLE = yes # Audio output on port C6
UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
API_SYSEX_ENABLE = no
ifndef QUANTUM_DIR
include ../../../../Makefile
endif

View File

@ -1,74 +1,24 @@
#ifndef CONFIG_H
#define CONFIG_H
#include "config_common.h"
#ifndef CONFIG_USER_H
#define CONFIG_USER_H
/* USB Device descriptor parameter */
#include "../../config.h"
#define VENDOR_ID 0xFEEB
#define PRODUCT_ID 0x6060
#define DEVICE_VER 0x0001
#define MANUFACTURER MJT
#define PRODUCT Mitosis
#define DESCRIPTION q.m.k. keyboard firmware for Mitosis
#ifdef AUDIO_ENABLE
#define STARTUP_SONG SONG(PLANCK_SOUND)
// #define STARTUP_SONG SONG(NO_SOUND)
/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 10
#define DEFAULT_LAYER_SONGS { SONG(QWERTY_SOUND), \
SONG(COLEMAK_SOUND), \
SONG(DVORAK_SOUND) \
}
#endif
#define AUDIO_VOICES
#define C6_AUDIO
// fix iPhone power adapter issue
#define USB_MAX_POWER_CONSUMPTION 50
// #define CATERINA_BOOTLOADER
/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST
/* number of backlight levels */
//#define BACKLIGHT_LEVELS 3
#define ONESHOT_TIMEOUT 500
/* key combination for command */
#define IS_COMMAND() ( \
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
)
/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/
#define PREVENT_STUCK_MODIFIERS
/* disable debug print */
//#define NO_DEBUG
/* disable print */
//#define NO_PRINT
/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
//UART settings for communication with the RF microcontroller
#define SERIAL_UART_BAUD 1000000
#define SERIAL_UART_DATA UDR1
#define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1)
#define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1))
#define SERIAL_UART_INIT() do { \
/* baud rate */ \
UBRR1L = SERIAL_UART_UBRR; \
/* baud rate */ \
UBRR1H = SERIAL_UART_UBRR >> 8; \
/* enable TX and RX */ \
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
/* 8-bit data */ \
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
} while(0)
#endif

View File

@ -28,6 +28,7 @@ enum mitosis_keycodes
MACSLEEP,
FNMAC,
FNPC,
AUDIOTEST,
DYNAMIC_MACRO_RANGE,
};
@ -236,7 +237,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
persistent_function_layer_set(_FUNCTIONPC);
#ifdef AUDIO_ENABLE
PLAY_NOTE_ARRAY(tone_fnpc, false, 0);
PLAY_SONG(tone_fnpc);
#endif
}
return false;
@ -245,9 +246,22 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
persistent_function_layer_set(_FUNCTIONMAC);
#ifdef AUDIO_ENABLE
PLAY_NOTE_ARRAY(tone_fnmac, false, 0);
PLAY_SONG(tone_fnmac);
#endif
}
return false;
break;
case AUDIOTEST:
if (record->event.pressed) {
#ifdef AUDIO_ENABLE
PLAY_SONG(music_scale);
register_code(KC_M);
unregister_code(KC_M);
#endif
register_code(KC_A);
} else {
unregister_code(KC_A);
}
return false;
break;
//If any other key was pressed during the layer mod hold period,
@ -279,12 +293,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
void startup_user()
{
_delay_ms(20); // gets rid of tick
PLAY_NOTE_ARRAY(tone_startup, false, 0);
PLAY_SONG(tone_startup);
}
void shutdown_user()
{
PLAY_NOTE_ARRAY(tone_goodbye, false, 0);
PLAY_SONG(tone_goodbye);
_delay_ms(150);
stop_all_notes();
}
@ -296,7 +310,7 @@ void music_on_user(void)
void music_scale_user(void)
{
PLAY_NOTE_ARRAY(music_scale, false, 0);
PLAY_SONG(music_scale);
}
#endif