fantastic60: Support for Fantastic60 V2
This commit is contained in:
parent
49b426a378
commit
25f391d613
@ -42,7 +42,7 @@
|
|||||||
TARGET = fantastic60_lufa
|
TARGET = fantastic60_lufa
|
||||||
|
|
||||||
# Directory common source filess exist
|
# Directory common source filess exist
|
||||||
TOP_DIR = ../..
|
TMK_DIR = ../../tmk_core_custom
|
||||||
|
|
||||||
# Directory keyboard dependent files exist
|
# Directory keyboard dependent files exist
|
||||||
TARGET_DIR = .
|
TARGET_DIR = .
|
||||||
@ -52,7 +52,6 @@ SRC = keymap_common.c \
|
|||||||
matrix.c \
|
matrix.c \
|
||||||
led.c \
|
led.c \
|
||||||
backlight.c \
|
backlight.c \
|
||||||
shift_register.c \
|
|
||||||
rgb.c
|
rgb.c
|
||||||
|
|
||||||
ifdef KEYMAP
|
ifdef KEYMAP
|
||||||
@ -123,7 +122,7 @@ endif
|
|||||||
# comment out to disable the options.
|
# comment out to disable the options.
|
||||||
#
|
#
|
||||||
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
|
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
|
||||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
#MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||||
CONSOLE_ENABLE = yes # Console for debug(+400)
|
CONSOLE_ENABLE = yes # Console for debug(+400)
|
||||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||||
@ -133,10 +132,10 @@ USB_6KRO_ENABLE = yes # USB 6key Rollover
|
|||||||
PS2_MOUSE_ENABLE = yes # PS/2 mouse(TrackPoint) support
|
PS2_MOUSE_ENABLE = yes # PS/2 mouse(TrackPoint) support
|
||||||
PS2_USE_BUSYWAIT = yes
|
PS2_USE_BUSYWAIT = yes
|
||||||
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality
|
||||||
#KEYMAP_IN_EEPROM_ENABLE = yes # Read keymap from eeprom
|
KEYMAP_IN_EEPROM_ENABLE = yes # Read keymap from eeprom
|
||||||
#KEYMAP_SECTION_ENABLE = yes # Fixed address keymap for keymap editor
|
#KEYMAP_SECTION_ENABLE = yes # Fixed address keymap for keymap editor
|
||||||
SOFTPWM_LED_ENABLE = yes # Enable SoftPWM to drive backlight
|
SOFTPWM_LED_ENABLE = yes # Enable SoftPWM to drive backlight
|
||||||
#FADING_LED_ENABLE = yes # Enable fading backlight
|
FADING_LED_ENABLE = yes # Enable fading backlight
|
||||||
BREATHING_LED_ENABLE = yes # Enable breathing backlight
|
BREATHING_LED_ENABLE = yes # Enable breathing backlight
|
||||||
#LEDMAP_ENABLE = yes # Enable LED mapping
|
#LEDMAP_ENABLE = yes # Enable LED mapping
|
||||||
#LEDMAP_IN_EEPROM_ENABLE = yes # Read LED mapping from eeprom
|
#LEDMAP_IN_EEPROM_ENABLE = yes # Read LED mapping from eeprom
|
||||||
@ -147,9 +146,9 @@ BREATHING_LED_ENABLE = yes # Enable breathing backlight
|
|||||||
|
|
||||||
# Search Path
|
# Search Path
|
||||||
VPATH += $(TARGET_DIR)
|
VPATH += $(TARGET_DIR)
|
||||||
VPATH += $(TOP_DIR)
|
VPATH += $(TMK_DIR)
|
||||||
|
|
||||||
include $(TOP_DIR)/protocol/lufa.mk
|
include $(TMK_DIR)/protocol/lufa.mk
|
||||||
include $(TOP_DIR)/protocol.mk
|
include $(TMK_DIR)/protocol.mk
|
||||||
include $(TOP_DIR)/common.mk
|
include $(TMK_DIR)/common.mk
|
||||||
include $(TOP_DIR)/rules.mk
|
include $(TMK_DIR)/rules.mk
|
||||||
|
@ -42,7 +42,7 @@
|
|||||||
TARGET = fantastic60_pjrc
|
TARGET = fantastic60_pjrc
|
||||||
|
|
||||||
# Directory common source filess exist
|
# Directory common source filess exist
|
||||||
TOP_DIR = ../..
|
TMK_DIR = ../../tmk_core_custom
|
||||||
|
|
||||||
# Directory keyboard dependent files exist
|
# Directory keyboard dependent files exist
|
||||||
TARGET_DIR = .
|
TARGET_DIR = .
|
||||||
@ -52,8 +52,7 @@ SRC = keymap_common.c \
|
|||||||
matrix.c \
|
matrix.c \
|
||||||
led.c \
|
led.c \
|
||||||
backlight.c \
|
backlight.c \
|
||||||
ledmap.c \
|
rgb.c
|
||||||
fantastic.c
|
|
||||||
|
|
||||||
ifdef KEYMAP
|
ifdef KEYMAP
|
||||||
SRC := keymap_$(KEYMAP).c $(SRC)
|
SRC := keymap_$(KEYMAP).c $(SRC)
|
||||||
@ -93,7 +92,7 @@ endif
|
|||||||
# comment out to disable the options.
|
# comment out to disable the options.
|
||||||
#
|
#
|
||||||
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
|
BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
|
||||||
MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
#MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
|
||||||
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
|
||||||
CONSOLE_ENABLE = yes # Console for debug(+400)
|
CONSOLE_ENABLE = yes # Console for debug(+400)
|
||||||
COMMAND_ENABLE = yes # Commands for debug and configuration
|
COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||||
@ -108,14 +107,15 @@ KEYMAP_IN_EEPROM_ENABLE = yes # Read keymap from eeprom
|
|||||||
SOFTPWM_LED_ENABLE = yes # Enable SoftPWM to drive backlight
|
SOFTPWM_LED_ENABLE = yes # Enable SoftPWM to drive backlight
|
||||||
FADING_LED_ENABLE = yes # Enable fading backlight
|
FADING_LED_ENABLE = yes # Enable fading backlight
|
||||||
BREATHING_LED_ENABLE = yes # Enable breathing backlight
|
BREATHING_LED_ENABLE = yes # Enable breathing backlight
|
||||||
LEDMAP_ENABLE = yes # Enable LED mapping
|
#LEDMAP_ENABLE = yes # Enable LED mapping
|
||||||
LEDMAP_IN_EEPROM_ENABLE = yes # Read LED mapping from eeprom
|
#LEDMAP_IN_EEPROM_ENABLE = yes # Read LED mapping from eeprom
|
||||||
|
|
||||||
|
|
||||||
# Search Path
|
# Search Path
|
||||||
VPATH += $(TARGET_DIR)
|
VPATH += $(TARGET_DIR)
|
||||||
VPATH += $(TOP_DIR)
|
VPATH += $(TMK_DIR)
|
||||||
|
|
||||||
include $(TOP_DIR)/protocol/pjrc.mk
|
include $(TMK_DIR)/protocol/pjrc.mk
|
||||||
include $(TOP_DIR)/common.mk
|
include $(TMK_DIR)/protocol.mk
|
||||||
include $(TOP_DIR)/rules.mk
|
include $(TMK_DIR)/common.mk
|
||||||
|
include $(TMK_DIR)/rules.mk
|
||||||
|
@ -21,12 +21,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#include "backlight.h"
|
#include "backlight.h"
|
||||||
#include "softpwm_led.h"
|
#include "softpwm_led.h"
|
||||||
#include "action.h"
|
#include "action.h"
|
||||||
|
#include "rgb.h"
|
||||||
|
|
||||||
#ifdef BACKLIGHT_ENABLE
|
#ifdef BACKLIGHT_ENABLE
|
||||||
|
|
||||||
#define BACKLIGHT 0
|
#define BACKLIGHT 0
|
||||||
|
|
||||||
extern backlight_config_t backlight_config;
|
extern backlight_config_t backlight_config;
|
||||||
|
uint8_t backlight_brightness;
|
||||||
static const uint8_t backlight_table[] PROGMEM = {
|
static const uint8_t backlight_table[] PROGMEM = {
|
||||||
0, 16, 128, 255
|
0, 16, 128, 255
|
||||||
};
|
};
|
||||||
@ -43,7 +45,8 @@ void backlight_set(uint8_t level)
|
|||||||
fading_led_disable(BACKLIGHT);
|
fading_led_disable(BACKLIGHT);
|
||||||
#endif
|
#endif
|
||||||
breathing_led_disable(BACKLIGHT);
|
breathing_led_disable(BACKLIGHT);
|
||||||
softpwm_led_set(BACKLIGHT, pgm_read_byte(&backlight_table[level]));
|
backlight_brightness = pgm_read_byte(&backlight_table[level]);
|
||||||
|
softpwm_led_set(BACKLIGHT, backlight_brightness);
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
case 5:
|
case 5:
|
||||||
@ -72,7 +75,8 @@ void backlight_set(uint8_t level)
|
|||||||
fading_led_disable(BACKLIGHT);
|
fading_led_disable(BACKLIGHT);
|
||||||
#endif
|
#endif
|
||||||
breathing_led_disable(BACKLIGHT);
|
breathing_led_disable(BACKLIGHT);
|
||||||
softpwm_led_set(BACKLIGHT, 0);
|
backlight_brightness = 0;
|
||||||
|
softpwm_led_set(BACKLIGHT, backlight_brightness);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
@ -89,22 +93,20 @@ void backlight_set(uint8_t level)
|
|||||||
#ifdef SOFTPWM_LED_ENABLE
|
#ifdef SOFTPWM_LED_ENABLE
|
||||||
/* Backlight pin configuration
|
/* Backlight pin configuration
|
||||||
* Backlight: PF7
|
* Backlight: PF7
|
||||||
* RGB R: PE2
|
* RGB R: PF6
|
||||||
* RGB G: PC6
|
* RGB G: PF5
|
||||||
* RGB B: PC7
|
* RGB B: PF4
|
||||||
*/
|
*/
|
||||||
void softpwm_led_init()
|
void softpwm_led_init()
|
||||||
{
|
{
|
||||||
DDRF |= (1<<PF7);
|
DDRF |= (1<<PF7 | 1<<PF6 | 1<<PF5 | 1<<PF4);
|
||||||
PORTF |= (1<<PF7);
|
PORTF |= (1<<PF7 | 1<<PF6 | 1<<PF5 | 1<<PF4);
|
||||||
DDRE |= (1<<PE2);
|
|
||||||
PORTE |= (1<<PE2);
|
|
||||||
DDRC |= (1<<PC7 | 1<<PC6);
|
|
||||||
PORTC |= (1<<PC7 | 1<<PC6);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void softpwm_led_on(uint8_t index)
|
void softpwm_led_on(uint8_t index)
|
||||||
{
|
{
|
||||||
|
PORTF &= ~((1<<PF7) >> index);
|
||||||
|
/*
|
||||||
switch (index) {
|
switch (index) {
|
||||||
case 0:
|
case 0:
|
||||||
PORTF &= ~(1<<PF7);
|
PORTF &= ~(1<<PF7);
|
||||||
@ -119,10 +121,13 @@ void softpwm_led_on(uint8_t index)
|
|||||||
PORTC &= ~(1<<PC7);
|
PORTC &= ~(1<<PC7);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
void softpwm_led_off(uint8_t index)
|
void softpwm_led_off(uint8_t index)
|
||||||
{
|
{
|
||||||
|
PORTF |= ((1<<PF7) >> index);
|
||||||
|
/*
|
||||||
switch (index) {
|
switch (index) {
|
||||||
case 0:
|
case 0:
|
||||||
PORTF |= (1<<PF7);
|
PORTF |= (1<<PF7);
|
||||||
@ -137,6 +142,7 @@ void softpwm_led_off(uint8_t index)
|
|||||||
PORTC |= (1<<PC7);
|
PORTC |= (1<<PC7);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
@ -168,13 +174,13 @@ void softpwm_led_custom(void)
|
|||||||
#ifdef FADING_LED_ENABLE
|
#ifdef FADING_LED_ENABLE
|
||||||
void fading_led_custom(uint8_t *value)
|
void fading_led_custom(uint8_t *value)
|
||||||
{
|
{
|
||||||
rgb_set_brightness(value[0]);
|
rgb_set_brightness(value[BACKLIGHT]);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void breathing_led_custom(uint8_t *value)
|
void breathing_led_custom(uint8_t *value)
|
||||||
{
|
{
|
||||||
rgb_set_brightness(value[0]);
|
rgb_set_brightness(value[BACKLIGHT]);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
/* USB Device descriptor parameter */
|
/* USB Device descriptor parameter */
|
||||||
#define VENDOR_ID 0x6C4E
|
#define VENDOR_ID 0x6C4E
|
||||||
#define PRODUCT_ID 0x6060
|
#define PRODUCT_ID 0x6060
|
||||||
#define DEVICE_VER 0x0001
|
#define DEVICE_VER 0x0002
|
||||||
#define MANUFACTURER TEX Electronic
|
#define MANUFACTURER TEX Electronic
|
||||||
#define PRODUCT Fantastic60
|
#define PRODUCT Fantastic60
|
||||||
#define DESCRIPTION t.m.k. keyboard firmware for Fantastic60
|
#define DESCRIPTION t.m.k. keyboard firmware for Fantastic60
|
||||||
@ -101,7 +101,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
//#define NO_ACTION_LAYER
|
//#define NO_ACTION_LAYER
|
||||||
//#define NO_ACTION_TAPPING
|
//#define NO_ACTION_TAPPING
|
||||||
//#define NO_ACTION_ONESHOT
|
//#define NO_ACTION_ONESHOT
|
||||||
#define NO_ACTION_MACRO
|
//#define NO_ACTION_MACRO
|
||||||
//#define NO_ACTION_FUNCTION
|
//#define NO_ACTION_FUNCTION
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -17,7 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
#include <avr/pgmspace.h>
|
#include <avr/pgmspace.h>
|
||||||
#include "ledmap.h"
|
#include "ledmap.h"
|
||||||
#include "fantastic.h"
|
|
||||||
|
|
||||||
#ifdef LEDMAP_ENABLE
|
#ifdef LEDMAP_ENABLE
|
||||||
|
|
||||||
@ -35,20 +34,18 @@ ledmap_t ledmap_get_code(uint8_t index)
|
|||||||
/* LED pin configration
|
/* LED pin configration
|
||||||
* CapsLock: PE6
|
* CapsLock: PE6
|
||||||
* Backlight: PF7
|
* Backlight: PF7
|
||||||
* RGB R: PE2
|
* RGB R: PF6
|
||||||
* RGB G: PC6
|
* RGB G: PF5
|
||||||
* RGB B: PC7
|
* RGB B: PF4
|
||||||
*/
|
*/
|
||||||
void ledmap_led_init(void)
|
void ledmap_led_init(void)
|
||||||
{
|
{
|
||||||
DDRE |= (1<<PE6 | 1<<PE2);
|
DDRE |= (1<<PE6);
|
||||||
PORTE |= (1<<PE6 | 1<<PE2);
|
PORTE |= (1<<PE6);
|
||||||
DDRF |= (1<<PF7);
|
DDRF |= (1<<PF7 | 1<<PF6 | 1<<PF5 | 1<<PF4);
|
||||||
PORTF |= (1<<PF7);
|
PORTF |= (1<<PF7 | 1<<PF6 | 1<<PF5 | 1<<PF4);
|
||||||
DDRC |= (1<<PC7 | 1<<PC6);
|
/* shift_register_init(); */
|
||||||
PORTF |= (1<<PC7 | 1<<PC6);
|
/* shift_register_write_word(0x0000); */
|
||||||
shift_register_init();
|
|
||||||
shift_register_write_word(0x0000);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ledmap_led_on(uint8_t index)
|
void ledmap_led_on(uint8_t index)
|
||||||
@ -61,8 +58,7 @@ void ledmap_led_on(uint8_t index)
|
|||||||
PORTF &= ~(1<<PF7);
|
PORTF &= ~(1<<PF7);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
PORTE &= ~(1<<PE2);
|
PORTF &= ~(1<<PF6 | 1<<PF5 | 1<<PF4);
|
||||||
PORTC &= ~(1<<PC7 | 1<<PC6);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -77,8 +73,7 @@ void ledmap_led_off(uint8_t index)
|
|||||||
PORTF |= (1<<PF7);
|
PORTF |= (1<<PF7);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
PORTE |= (1<<PE2);
|
PORTF |= (1<<PF6 | 1<<PF5 | 1<<PF4);
|
||||||
PORTC |= (1<<PC7 | 1<<PC6);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
#include <avr/eeprom.h>
|
#include <avr/eeprom.h>
|
||||||
#include "softpwm_led.h"
|
#include "softpwm_led.h"
|
||||||
#include "backlight.h"
|
#include "backlight.h"
|
||||||
#include "shift_register.h"
|
|
||||||
#include "rgb.h"
|
#include "rgb.h"
|
||||||
|
|
||||||
volatile static uint8_t rgb_fading_enable = 0;
|
volatile static uint8_t rgb_fading_enable = 0;
|
||||||
@ -43,9 +42,10 @@ static void hsb_to_rgb(uint16_t hue, uint8_t saturation, uint8_t brightness, rgb
|
|||||||
|
|
||||||
void rgb_init(void)
|
void rgb_init(void)
|
||||||
{
|
{
|
||||||
shift_register_init();
|
/* shift_register_init(); */
|
||||||
shift_register_write_word(0xFFFF);
|
/* shift_register_write_word(0xFFFF); */
|
||||||
rgb_read_config();
|
rgb_read_config();
|
||||||
|
rgb_read_color();
|
||||||
if (rgb_config.raw == RGB_UNCONFIGURED) {
|
if (rgb_config.raw == RGB_UNCONFIGURED) {
|
||||||
rgb_config.enable = 0;
|
rgb_config.enable = 0;
|
||||||
rgb_config.level = RGB_OFF;
|
rgb_config.level = RGB_OFF;
|
||||||
@ -166,21 +166,31 @@ void rgb_color_decrease(uint8_t color)
|
|||||||
|
|
||||||
void rgb_set_level(uint8_t level)
|
void rgb_set_level(uint8_t level)
|
||||||
{
|
{
|
||||||
|
rgb_color_t rgb_color_off = { .raw = {0} };
|
||||||
switch (level) {
|
switch (level) {
|
||||||
case RGB_OFF:
|
case RGB_OFF:
|
||||||
rgb_fading_enable = 0;
|
rgb_fading_enable = 0;
|
||||||
rgb_brightness = 0;
|
rgb_brightness = 0;
|
||||||
shift_register_write_word(0xFFFF);
|
rgb_refresh(&rgb_color_off);
|
||||||
|
/* shift_register_write_word(0xFFFF); */
|
||||||
break;
|
break;
|
||||||
case RGB_FIXED:
|
case RGB_FIXED:
|
||||||
rgb_refresh(&rgb_color);
|
rgb_refresh(&rgb_color);
|
||||||
shift_register_write_word(0x0000);
|
/* shift_register_write_word(0x0000); */
|
||||||
break;
|
break;
|
||||||
case RGB_FADE_SLOW:
|
case RGB_FADE_SLOW:
|
||||||
case RGB_FADE_MID:
|
case RGB_FADE_MID:
|
||||||
case RGB_FADE_FAST:
|
case RGB_FADE_FAST:
|
||||||
|
if (backlight_config.enable) {
|
||||||
|
if (backlight_config.level >= 1 && backlight_config.level <= 3) {
|
||||||
|
rgb_brightness = backlight_brightness;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
rgb_brightness = 16;
|
||||||
|
}
|
||||||
rgb_fading_enable = 3 - (level - RGB_FADE_SLOW);
|
rgb_fading_enable = 3 - (level - RGB_FADE_SLOW);
|
||||||
shift_register_write_word(0x0000);
|
/* shift_register_write_word(0x0000); */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user