adds subatomic files (non-working)
This commit is contained in:
		
							parent
							
								
									948d6efcfb
								
							
						
					
					
						commit
						166706a32c
					
				
							
								
								
									
										0
									
								
								keyboards/subatomic/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								keyboards/subatomic/Makefile
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										85
									
								
								keyboards/subatomic/config.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								keyboards/subatomic/config.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,85 @@ | ||||
| /*
 | ||||
| Copyright 2012 Jun Wako <wakojun@gmail.com> | ||||
| 
 | ||||
| This program is free software: you can redistribute it and/or modify | ||||
| it under the terms of the GNU General Public License as published by | ||||
| the Free Software Foundation, either version 2 of the License, or | ||||
| (at your option) any later version. | ||||
| 
 | ||||
| This program is distributed in the hope that it will be useful, | ||||
| but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
| GNU General Public License for more details. | ||||
| 
 | ||||
| You should have received a copy of the GNU General Public License | ||||
| along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | ||||
| */ | ||||
| 
 | ||||
| #ifndef CONFIG_H | ||||
| #define CONFIG_H | ||||
| 
 | ||||
| #include "config_common.h" | ||||
| 
 | ||||
| /* USB Device descriptor parameter */ | ||||
| #define VENDOR_ID       0xFEED | ||||
| #define PRODUCT_ID      0x6063 | ||||
| #define DEVICE_VER      0x0001 | ||||
| #define MANUFACTURER    Ortholinear Keyboards | ||||
| #define PRODUCT         The Subatomic Keyboard | ||||
| #define DESCRIPTION     A compact ortholinear keyboard | ||||
| 
 | ||||
| /* key matrix size */ | ||||
| #define MATRIX_ROWS 5 | ||||
| #define MATRIX_COLS 14 | ||||
| 
 | ||||
| /* Planck PCB default pin-out */ | ||||
| #define MATRIX_ROW_PINS { D2, D5, B5, B6, D3 } | ||||
| #define MATRIX_COL_PINS { F1, F0, B0, C7, F4, F5, F6, F7, D4, D6, B4, D7, C6, C5 } | ||||
| #define UNUSED_PINS | ||||
| 
 | ||||
| // #define AUDIO_VOICES
 | ||||
| // #define C6_AUDIO
 | ||||
| 
 | ||||
| #define BACKLIGHT_PIN B7 | ||||
| 
 | ||||
| /* COL2ROW or ROW2COL */ | ||||
| #define DIODE_DIRECTION COL2ROW | ||||
| 
 | ||||
| /* define if matrix has ghost */ | ||||
| //#define MATRIX_HAS_GHOST
 | ||||
| 
 | ||||
| /* number of backlight levels */ | ||||
| #define BACKLIGHT_LEVELS 3 | ||||
| 
 | ||||
| /* Set 0 if debouncing isn't needed */ | ||||
| #define DEBOUNCING_DELAY 5 | ||||
| 
 | ||||
| /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ | ||||
| #define LOCKING_SUPPORT_ENABLE | ||||
| /* Locking resynchronize hack */ | ||||
| #define LOCKING_RESYNC_ENABLE | ||||
| 
 | ||||
| /* 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. | ||||
|  */ | ||||
| 
 | ||||
| /* 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
 | ||||
| 
 | ||||
| #endif | ||||
| @ -160,54 +160,23 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
| 
 | ||||
| }; | ||||
| 
 | ||||
| #ifdef AUDIO_ENABLE | ||||
| float tone_startup[][2] = { | ||||
|   {NOTE_B5, 20}, | ||||
|   {NOTE_B6, 8}, | ||||
|   {NOTE_DS6, 20}, | ||||
|   {NOTE_B6, 8} | ||||
| }; | ||||
| 
 | ||||
| float tone_qwerty[][2]     = SONG(QWERTY_SOUND); | ||||
| float tone_dvorak[][2]     = SONG(DVORAK_SOUND); | ||||
| float tone_colemak[][2]    = SONG(COLEMAK_SOUND); | ||||
| 
 | ||||
| float tone_goodbye[][2] = SONG(GOODBYE_SOUND); | ||||
| 
 | ||||
| float music_scale[][2]     = SONG(MUSIC_SCALE_SOUND); | ||||
| #endif | ||||
| 
 | ||||
| void persistent_default_layer_set(uint16_t default_layer) { | ||||
|   eeconfig_update_default_layer(default_layer); | ||||
|   default_layer_set(default_layer); | ||||
| } | ||||
| 
 | ||||
| bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||||
|   switch (keycode) { | ||||
|         case QWERTY: | ||||
|           if (record->event.pressed) { | ||||
|             #ifdef AUDIO_ENABLE | ||||
|               PLAY_SONG(tone_qwerty); | ||||
|             #endif | ||||
|             persistent_default_layer_set(1UL<<_QWERTY); | ||||
|             set_single_persistent_default_layer(_QWERTY); | ||||
|           } | ||||
|           return false; | ||||
|           break; | ||||
|         case COLEMAK: | ||||
|           if (record->event.pressed) { | ||||
|             #ifdef AUDIO_ENABLE | ||||
|               PLAY_SONG(tone_colemak); | ||||
|             #endif | ||||
|             persistent_default_layer_set(1UL<<_COLEMAK); | ||||
|             set_single_persistent_default_layer(_COLEMAK); | ||||
|           } | ||||
|           return false; | ||||
|           break; | ||||
|         case DVORAK: | ||||
|           if (record->event.pressed) { | ||||
|             #ifdef AUDIO_ENABLE | ||||
|               PLAY_SONG(tone_dvorak); | ||||
|             #endif | ||||
|             persistent_default_layer_set(1UL<<_DVORAK); | ||||
|             set_single_persistent_default_layer(_DVORAK); | ||||
|           } | ||||
|           return false; | ||||
|           break; | ||||
| @ -245,36 +214,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||||
|       } | ||||
|     return true; | ||||
| }; | ||||
| 
 | ||||
| void matrix_init_user(void) { | ||||
|     #ifdef AUDIO_ENABLE | ||||
|         startup_user(); | ||||
|     #endif | ||||
| } | ||||
| 
 | ||||
| #ifdef AUDIO_ENABLE | ||||
| 
 | ||||
| void startup_user() | ||||
| { | ||||
|     _delay_ms(20); // gets rid of tick
 | ||||
|     PLAY_SONG(tone_startup); | ||||
| } | ||||
| 
 | ||||
| void shutdown_user() | ||||
| { | ||||
|     PLAY_SONG(tone_goodbye); | ||||
|     _delay_ms(150); | ||||
|     stop_all_notes(); | ||||
| } | ||||
| 
 | ||||
| void music_on_user(void) | ||||
| { | ||||
|     music_scale_user(); | ||||
| } | ||||
| 
 | ||||
| void music_scale_user(void) | ||||
| { | ||||
|     PLAY_SONG(music_scale); | ||||
| } | ||||
| 
 | ||||
| #endif | ||||
|  | ||||
							
								
								
									
										69
									
								
								keyboards/subatomic/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								keyboards/subatomic/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,69 @@ | ||||
| 
 | ||||
| 
 | ||||
| # MCU name
 | ||||
| MCU = at90usb1286 | ||||
| 
 | ||||
| # Processor frequency.
 | ||||
| #     This will define a symbol, F_CPU, in all source code files equal to the
 | ||||
| #     processor frequency in Hz. You can then use this symbol in your source code to
 | ||||
| #     calculate timings. Do NOT tack on a 'UL' at the end, this will be done
 | ||||
| #     automatically to create a 32-bit value in your source code.
 | ||||
| #
 | ||||
| #     This will be an integer division of F_USB below, as it is sourced by
 | ||||
| #     F_USB after it has run through any CPU prescalers. Note that this value
 | ||||
| #     does not *change* the processor frequency - it should merely be updated to
 | ||||
| #     reflect the processor speed set externally so that the code can use accurate
 | ||||
| #     software delays.
 | ||||
| F_CPU = 16000000 | ||||
| 
 | ||||
| #
 | ||||
| # LUFA specific
 | ||||
| #
 | ||||
| # Target architecture (see library "Board Types" documentation).
 | ||||
| ARCH = AVR8 | ||||
| 
 | ||||
| # Input clock frequency.
 | ||||
| #     This will define a symbol, F_USB, in all source code files equal to the
 | ||||
| #     input clock frequency (before any prescaling is performed) in Hz. This value may
 | ||||
| #     differ from F_CPU if prescaling is used on the latter, and is required as the
 | ||||
| #     raw input clock is fed directly to the PLL sections of the AVR for high speed
 | ||||
| #     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
 | ||||
| #     at the end, this will be done automatically to create a 32-bit value in your
 | ||||
| #     source code.
 | ||||
| #
 | ||||
| #     If no clock division is performed on the input clock inside the AVR (via the
 | ||||
| #     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
 | ||||
| F_USB = $(F_CPU) | ||||
| 
 | ||||
| # Interrupt driven control endpoint task(+60)
 | ||||
| OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT | ||||
| 
 | ||||
| 
 | ||||
| # Boot Section Size in *bytes*
 | ||||
| #   Teensy halfKay   512
 | ||||
| #   Teensy++ halfKay 1024
 | ||||
| #   Atmel DFU loader 4096
 | ||||
| #   LUFA bootloader  4096
 | ||||
| #   USBaspLoader     2048
 | ||||
| OPT_DEFS += -DBOOTLOADER_SIZE=8192 | ||||
| 
 | ||||
| # Build Options
 | ||||
| #   change to "no" to disable the options, or define them in the Makefile in 
 | ||||
| #   the appropriate keymap folder that will get included automatically
 | ||||
| #
 | ||||
| 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 = yes      # Enable keyboard backlight functionality | ||||
| MIDI_ENABLE = yes            # 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 | ||||
| 
 | ||||
| # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 | ||||
| SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend | ||||
							
								
								
									
										1
									
								
								keyboards/subatomic/subatomic.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/subatomic/subatomic.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| #include "subatomic.h" | ||||
							
								
								
									
										6
									
								
								keyboards/subatomic/subatomic.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								keyboards/subatomic/subatomic.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,6 @@ | ||||
| #ifndef SUBATOMIC_H | ||||
| #define SUBATOMIC_H | ||||
| 
 | ||||
| #include "quantum.h" | ||||
| 
 | ||||
| #endif | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user