[Keyboard] Move Planck EZ to ZSA vendor folder (#23917)

This commit is contained in:
Drashna Jaelre 2024-08-14 06:27:37 -07:00 committed by GitHub
parent 822a4580f4
commit 2d2eed9594
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 415 additions and 387 deletions

View file

@ -563,6 +563,15 @@
"plain60": { "plain60": {
"target": "evyd13/plain60" "target": "evyd13/plain60"
}, },
"planck/ez": {
"target": "zsa/planck_ez/base"
},
"planck/ez/base": {
"target": "zsa/planck_ez/base"
},
"planck/ez/glow": {
"target": "zsa/planck_ez/glow"
},
"ploopyco/trackball": { "ploopyco/trackball": {
"target": "ploopyco/trackball/rev1_005" "target": "ploopyco/trackball/rev1_005"
}, },

View file

@ -1,62 +0,0 @@
/* Copyright 2018 Jack Humbert <jack.humb@gmail.com>
* Copyright 2015 ZSA Technology Labs Inc (@zsa)
* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.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/>.
*/
#pragma once
#define MUSIC_MAP
#undef AUDIO_VOICES
#undef AUDIO_PIN
#define AUDIO_PIN A5
#define AUDIO_PIN_ALT A4
#define AUDIO_PIN_ALT_AS_NEGATIVE
/*
* 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 WS2812_LED_N 2
// #define WS2812_TIM_N 2
// #define WS2812_TIM_CH 2
// #define PORT_WS2812 GPIOA
// #define PIN_WS2812 1
// #define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM2 // DMA stream for TIMx_UP (look up in reference manual under DMA Channel selection)
//#define WS2812_PWM_DMA_CHANNEL 7 // DMA channel for TIMx_UP
//#define WS2812_EXTERNAL_PULLUP
#define IS31FL3737_I2C_ADDRESS_1 IS31FL3737_I2C_ADDRESS_GND
#define MOUSEKEY_INTERVAL 20
#define MOUSEKEY_DELAY 0
#define MOUSEKEY_TIME_TO_MAX 60
#define MOUSEKEY_MAX_SPEED 7
#define MOUSEKEY_WHEEL_DELAY 400
#define MOUSEKEY_WHEEL_INTERVAL MOUSEKEY_INTERVAL
#define MOUSEKEY_WHEEL_MAX_SPEED MOUSEKEY_MAX_SPEED
#define MOUSEKEY_WHEEL_TIME_TO_MAX MOUSEKEY_TIME_TO_MAX

View file

@ -1,9 +0,0 @@
{
"keyboard_name": "Planck EZ Glow",
"usb": {
"pid": "0xC6CF"
},
"features": {
"rgb_matrix": true
}
}

View file

@ -1,207 +0,0 @@
{
"manufacturer": "ZSA Technology Labs",
"url": "https://ergodox-ez.com/pages/planck",
"maintainer": "jackhumbert",
"usb": {
"vid": "0x3297",
"device_version": "0.0.1",
"shared_endpoint": {
"mouse": false
}
},
"features": {
"audio": true,
"bootmagic": true,
"command": true,
"console": true,
"encoder": true,
"extrakey": true,
"mousekey": true,
"nkro": true
},
"rgb_matrix": {
"animations": {
"alphas_mods": true,
"gradient_up_down": true,
"gradient_left_right": true,
"breathing": true,
"band_sat": true,
"band_val": true,
"band_pinwheel_sat": true,
"band_pinwheel_val": true,
"band_spiral_sat": true,
"band_spiral_val": true,
"cycle_all": true,
"cycle_left_right": true,
"cycle_up_down": true,
"rainbow_moving_chevron": true,
"cycle_out_in": true,
"cycle_out_in_dual": true,
"cycle_pinwheel": true,
"cycle_spiral": true,
"dual_beacon": true,
"rainbow_beacon": true,
"rainbow_pinwheels": true,
"raindrops": true,
"jellybean_raindrops": true,
"hue_breathing": true,
"hue_pendulum": true,
"hue_wave": true,
"pixel_rain": true,
"pixel_flow": true,
"pixel_fractal": true,
"typing_heatmap": true,
"digital_rain": true,
"solid_reactive_simple": true,
"solid_reactive": true,
"solid_reactive_wide": true,
"solid_reactive_multiwide": true,
"solid_reactive_cross": true,
"solid_reactive_multicross": true,
"solid_reactive_nexus": true,
"solid_reactive_multinexus": true,
"splash": true,
"multisplash": true,
"solid_splash": true,
"solid_multisplash": true
},
"driver": "is31fl3737",
"led_process_limit": 5,
"led_flush_limit": 26,
"sleep": true
},
"matrix_pins": {
"cols": ["B11", "B10", "B2", "B1", "A7", "B0"],
"rows": ["A10", "A9", "A8", "B15", "C13", "C14", "C15", "A2"]
},
"diode_direction": "COL2ROW",
"audio": {
"driver": "dac_additive"
},
"encoder": {
"rotary": [
{"pin_a": "B12", "pin_b": "B13"}
]
},
"processor": "STM32F303",
"bootloader": "stm32-dfu",
"tapping": {
"toggle": 1
},
"community_layouts": ["ortho_4x12", "planck_mit"],
"layout_aliases": {
"LAYOUT_planck_grid": "LAYOUT_ortho_4x12",
"LAYOUT_planck_mit": "LAYOUT_planck_1x2uC"
},
"layouts": {
"LAYOUT_planck_1x2uC": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [4, 0], "x": 6, "y": 0},
{"matrix": [4, 1], "x": 7, "y": 0},
{"matrix": [4, 2], "x": 8, "y": 0},
{"matrix": [4, 3], "x": 9, "y": 0},
{"matrix": [4, 4], "x": 10, "y": 0},
{"matrix": [4, 5], "x": 11, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1},
{"matrix": [1, 5], "x": 5, "y": 1},
{"matrix": [5, 0], "x": 6, "y": 1},
{"matrix": [5, 1], "x": 7, "y": 1},
{"matrix": [5, 2], "x": 8, "y": 1},
{"matrix": [5, 3], "x": 9, "y": 1},
{"matrix": [5, 4], "x": 10, "y": 1},
{"matrix": [5, 5], "x": 11, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1, "y": 2},
{"matrix": [2, 2], "x": 2, "y": 2},
{"matrix": [2, 3], "x": 3, "y": 2},
{"matrix": [2, 4], "x": 4, "y": 2},
{"matrix": [2, 5], "x": 5, "y": 2},
{"matrix": [6, 0], "x": 6, "y": 2},
{"matrix": [6, 1], "x": 7, "y": 2},
{"matrix": [6, 2], "x": 8, "y": 2},
{"matrix": [6, 3], "x": 9, "y": 2},
{"matrix": [6, 4], "x": 10, "y": 2},
{"matrix": [6, 5], "x": 11, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3},
{"matrix": [3, 1], "x": 1, "y": 3},
{"matrix": [3, 2], "x": 2, "y": 3},
{"matrix": [7, 3], "x": 3, "y": 3},
{"matrix": [7, 4], "x": 4, "y": 3},
{"matrix": [7, 5], "x": 5, "y": 3, "w": 2},
{"matrix": [7, 0], "x": 7, "y": 3},
{"matrix": [7, 1], "x": 8, "y": 3},
{"matrix": [7, 2], "x": 9, "y": 3},
{"matrix": [3, 3], "x": 10, "y": 3},
{"matrix": [3, 4], "x": 11, "y": 3}
]
},
"LAYOUT_ortho_4x12": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [4, 0], "x": 6, "y": 0},
{"matrix": [4, 1], "x": 7, "y": 0},
{"matrix": [4, 2], "x": 8, "y": 0},
{"matrix": [4, 3], "x": 9, "y": 0},
{"matrix": [4, 4], "x": 10, "y": 0},
{"matrix": [4, 5], "x": 11, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1},
{"matrix": [1, 5], "x": 5, "y": 1},
{"matrix": [5, 0], "x": 6, "y": 1},
{"matrix": [5, 1], "x": 7, "y": 1},
{"matrix": [5, 2], "x": 8, "y": 1},
{"matrix": [5, 3], "x": 9, "y": 1},
{"matrix": [5, 4], "x": 10, "y": 1},
{"matrix": [5, 5], "x": 11, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1, "y": 2},
{"matrix": [2, 2], "x": 2, "y": 2},
{"matrix": [2, 3], "x": 3, "y": 2},
{"matrix": [2, 4], "x": 4, "y": 2},
{"matrix": [2, 5], "x": 5, "y": 2},
{"matrix": [6, 0], "x": 6, "y": 2},
{"matrix": [6, 1], "x": 7, "y": 2},
{"matrix": [6, 2], "x": 8, "y": 2},
{"matrix": [6, 3], "x": 9, "y": 2},
{"matrix": [6, 4], "x": 10, "y": 2},
{"matrix": [6, 5], "x": 11, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3},
{"matrix": [3, 1], "x": 1, "y": 3},
{"matrix": [3, 2], "x": 2, "y": 3},
{"matrix": [7, 3], "x": 3, "y": 3},
{"matrix": [7, 4], "x": 4, "y": 3},
{"matrix": [7, 5], "x": 5, "y": 3},
{"matrix": [3, 5], "x": 6, "y": 3},
{"matrix": [7, 0], "x": 7, "y": 3},
{"matrix": [7, 1], "x": 8, "y": 3},
{"matrix": [7, 2], "x": 9, "y": 3},
{"matrix": [3, 3], "x": 10, "y": 3},
{"matrix": [3, 4], "x": 11, "y": 3}
]
}
}
}

View file

@ -0,0 +1,26 @@
/* Copyright 2018 Jack Humbert <jack.humb@gmail.com>
* Copyright 2015 ZSA Technology Labs Inc (@zsa)
* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.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/>.
*/
#pragma once
#define MUSIC_MAP
#define AUDIO_PIN A5
#define AUDIO_PIN_ALT A4
#define AUDIO_PIN_ALT_AS_NEGATIVE
#define IS31FL3737_I2C_ADDRESS_1 IS31FL3737_I2C_ADDRESS_GND

View file

@ -0,0 +1,75 @@
/* Copyright 2018 Jack Humbert <jack.humb@gmail.com>
* Copyright 2015 ZSA Technology Labs Inc (@zsa)
* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.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/>.
*/
#include "planck_ez.h"
const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT] = {
{0, SW2_CS12, SW1_CS12, SW3_CS12},
{0, SW2_CS11, SW1_CS11, SW3_CS11},
{0, SW2_CS10, SW1_CS10, SW3_CS10},
{0, SW2_CS9, SW1_CS9, SW3_CS9},
{0, SW2_CS8, SW1_CS8, SW3_CS8},
{0, SW2_CS7, SW1_CS7, SW3_CS7},
{0, SW8_CS12, SW7_CS12, SW9_CS12},
{0, SW8_CS11, SW7_CS11, SW9_CS11},
{0, SW8_CS10, SW7_CS10, SW9_CS10},
{0, SW8_CS9, SW7_CS9, SW9_CS9},
{0, SW8_CS8, SW7_CS8, SW9_CS8},
{0, SW8_CS7, SW7_CS7, SW9_CS7},
{0, SW2_CS6, SW1_CS6, SW3_CS6},
{0, SW2_CS5, SW1_CS5, SW3_CS5},
{0, SW2_CS4, SW1_CS4, SW3_CS4},
{0, SW2_CS3, SW1_CS3, SW3_CS3},
{0, SW2_CS2, SW1_CS2, SW3_CS2},
{0, SW2_CS1, SW1_CS1, SW3_CS1},
{0, SW8_CS6, SW7_CS6, SW9_CS6},
{0, SW8_CS5, SW7_CS5, SW9_CS5},
{0, SW8_CS4, SW7_CS4, SW9_CS4},
{0, SW8_CS3, SW7_CS3, SW9_CS3},
{0, SW8_CS2, SW7_CS2, SW9_CS2},
{0, SW8_CS1, SW7_CS1, SW9_CS1},
{0, SW5_CS12, SW4_CS12, SW6_CS12},
{0, SW5_CS11, SW4_CS11, SW6_CS11},
{0, SW5_CS10, SW4_CS10, SW6_CS10},
{0, SW5_CS9, SW4_CS9, SW6_CS9},
{0, SW5_CS8, SW4_CS8, SW6_CS8},
{0, SW5_CS7, SW4_CS7, SW6_CS7},
{0, SW11_CS12, SW10_CS12, SW12_CS12},
{0, SW11_CS11, SW10_CS11, SW12_CS11},
{0, SW11_CS10, SW10_CS10, SW12_CS10},
{0, SW11_CS9, SW10_CS9, SW12_CS9},
{0, SW11_CS8, SW10_CS8, SW12_CS8},
{0, SW11_CS7, SW10_CS7, SW12_CS7},
{0, SW5_CS6, SW4_CS6, SW6_CS6},
{0, SW5_CS5, SW4_CS5, SW6_CS5},
{0, SW5_CS4, SW4_CS4, SW6_CS4},
{0, SW5_CS3, SW4_CS3, SW6_CS3},
{0, SW5_CS2, SW4_CS2, SW6_CS2},
{0, SW5_CS1, SW4_CS1, SW6_CS1},
{0, SW11_CS6, SW10_CS6, SW12_CS6},
{0, SW11_CS5, SW10_CS5, SW12_CS5},
{0, SW11_CS4, SW10_CS4, SW12_CS4},
{0, SW11_CS3, SW10_CS3, SW12_CS3},
{0, SW11_CS2, SW10_CS2, SW12_CS2},
};

View file

@ -0,0 +1,109 @@
{
"keyboard_name": "Planck EZ Glow",
"usb": {
"pid": "0xC6CF"
},
"features": {
"rgb_matrix": true
},
"rgb_matrix": {
"animations": {
"alphas_mods": true,
"gradient_up_down": true,
"gradient_left_right": true,
"breathing": true,
"band_sat": true,
"band_val": true,
"band_pinwheel_sat": true,
"band_pinwheel_val": true,
"band_spiral_sat": true,
"band_spiral_val": true,
"cycle_all": true,
"cycle_left_right": true,
"cycle_up_down": true,
"rainbow_moving_chevron": true,
"cycle_out_in": true,
"cycle_out_in_dual": true,
"cycle_pinwheel": true,
"cycle_spiral": true,
"dual_beacon": true,
"rainbow_beacon": true,
"rainbow_pinwheels": true,
"raindrops": true,
"jellybean_raindrops": true,
"hue_breathing": true,
"hue_pendulum": true,
"hue_wave": true,
"pixel_rain": true,
"pixel_flow": true,
"pixel_fractal": true,
"typing_heatmap": true,
"digital_rain": true,
"solid_reactive_simple": true,
"solid_reactive": true,
"solid_reactive_wide": true,
"solid_reactive_multiwide": true,
"solid_reactive_cross": true,
"solid_reactive_multicross": true,
"solid_reactive_nexus": true,
"solid_reactive_multinexus": true,
"splash": true,
"multisplash": true,
"solid_splash": true,
"solid_multisplash": true
},
"driver": "is31fl3737",
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
{"matrix": [0, 1], "x": 20, "y": 0, "flags": 4},
{"matrix": [0, 2], "x": 40, "y": 0, "flags": 4},
{"matrix": [0, 3], "x": 61, "y": 0, "flags": 4},
{"matrix": [0, 4], "x": 81, "y": 0, "flags": 4},
{"matrix": [0, 5], "x": 101, "y": 0, "flags": 4},
{"matrix": [4, 0], "x": 122, "y": 0, "flags": 4},
{"matrix": [4, 1], "x": 142, "y": 0, "flags": 4},
{"matrix": [4, 2], "x": 162, "y": 0, "flags": 4},
{"matrix": [4, 3], "x": 183, "y": 0, "flags": 4},
{"matrix": [4, 4], "x": 203, "y": 0, "flags": 4},
{"matrix": [4, 5], "x": 223, "y": 0, "flags": 1},
{"matrix": [1, 0], "x": 0, "y": 21, "flags": 1},
{"matrix": [1, 1], "x": 20, "y": 21, "flags": 4},
{"matrix": [1, 2], "x": 40, "y": 21, "flags": 4},
{"matrix": [1, 3], "x": 61, "y": 21, "flags": 4},
{"matrix": [1, 4], "x": 81, "y": 21, "flags": 4},
{"matrix": [1, 5], "x": 101, "y": 21, "flags": 4},
{"matrix": [5, 0], "x": 122, "y": 21, "flags": 4},
{"matrix": [5, 1], "x": 142, "y": 21, "flags": 4},
{"matrix": [5, 2], "x": 162, "y": 21, "flags": 4},
{"matrix": [5, 3], "x": 183, "y": 21, "flags": 4},
{"matrix": [5, 4], "x": 203, "y": 21, "flags": 4},
{"matrix": [5, 5], "x": 223, "y": 21, "flags": 1},
{"matrix": [2, 0], "x": 0, "y": 42, "flags": 1},
{"matrix": [2, 1], "x": 20, "y": 42, "flags": 4},
{"matrix": [2, 2], "x": 40, "y": 42, "flags": 4},
{"matrix": [2, 3], "x": 61, "y": 42, "flags": 4},
{"matrix": [2, 4], "x": 81, "y": 42, "flags": 4},
{"matrix": [2, 5], "x": 101, "y": 42, "flags": 4},
{"matrix": [6, 0], "x": 122, "y": 42, "flags": 4},
{"matrix": [6, 1], "x": 142, "y": 42, "flags": 4},
{"matrix": [6, 2], "x": 162, "y": 42, "flags": 4},
{"matrix": [6, 3], "x": 183, "y": 42, "flags": 4},
{"matrix": [6, 4], "x": 203, "y": 42, "flags": 4},
{"matrix": [6, 5], "x": 223, "y": 42, "flags": 1},
{"matrix": [3, 0], "x": 0, "y": 63, "flags": 1},
{"matrix": [3, 1], "x": 20, "y": 63, "flags": 1},
{"matrix": [3, 2], "x": 40, "y": 63, "flags": 1},
{"matrix": [7, 3], "x": 61, "y": 63, "flags": 1},
{"matrix": [7, 4], "x": 81, "y": 63, "flags": 1},
{"matrix": [7, 5], "x": 111, "y": 63, "flags": 4},
{"matrix": [7, 0], "x": 142, "y": 63, "flags": 1},
{"matrix": [7, 1], "x": 162, "y": 63, "flags": 1},
{"matrix": [7, 2], "x": 183, "y": 63, "flags": 1},
{"matrix": [3, 3], "x": 203, "y": 63, "flags": 1},
{"matrix": [3, 4], "x": 223, "y": 63, "flags": 1}
],
"led_flush_limit": 26,
"led_process_limit": 5,
"sleep": true
}
}

View file

@ -0,0 +1,157 @@
{
"manufacturer": "ZSA Technology Labs",
"maintainer": "drashna",
"audio": {
"driver": "dac_additive"
},
"bootloader": "stm32-dfu",
"diode_direction": "COL2ROW",
"encoder": {
"rotary": [
{"pin_a": "B12", "pin_b": "B13"}
]
},
"features": {
"audio": true,
"bootmagic": true,
"command": true,
"console": true,
"encoder": true,
"extrakey": true,
"mousekey": true,
"nkro": true
},
"matrix_pins": {
"cols": ["B11", "B10", "B2", "B1", "A7", "B0"],
"rows": ["A10", "A9", "A8", "B15", "C13", "C14", "C15", "A2"]
},
"mousekey": {
"delay": 0,
"interval": 20,
"max_speed": 7,
"time_to_max": 60,
"wheel_delay": 400
},
"processor": "STM32F303",
"tapping": {
"toggle": 1
},
"url": "https://blog.zsa.io/2307-goodbye-planck-ez/",
"usb": {
"device_version": "0.0.1",
"shared_endpoint": {
"mouse": false
},
"vid": "0x3297"
},
"community_layouts": ["ortho_4x12", "planck_mit"],
"layout_aliases": {
"LAYOUT_planck_grid": "LAYOUT_ortho_4x12",
"LAYOUT_planck_mit": "LAYOUT_planck_1x2uC"
},
"layouts": {
"LAYOUT_ortho_4x12": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [4, 0], "x": 6, "y": 0},
{"matrix": [4, 1], "x": 7, "y": 0},
{"matrix": [4, 2], "x": 8, "y": 0},
{"matrix": [4, 3], "x": 9, "y": 0},
{"matrix": [4, 4], "x": 10, "y": 0},
{"matrix": [4, 5], "x": 11, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1},
{"matrix": [1, 5], "x": 5, "y": 1},
{"matrix": [5, 0], "x": 6, "y": 1},
{"matrix": [5, 1], "x": 7, "y": 1},
{"matrix": [5, 2], "x": 8, "y": 1},
{"matrix": [5, 3], "x": 9, "y": 1},
{"matrix": [5, 4], "x": 10, "y": 1},
{"matrix": [5, 5], "x": 11, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1, "y": 2},
{"matrix": [2, 2], "x": 2, "y": 2},
{"matrix": [2, 3], "x": 3, "y": 2},
{"matrix": [2, 4], "x": 4, "y": 2},
{"matrix": [2, 5], "x": 5, "y": 2},
{"matrix": [6, 0], "x": 6, "y": 2},
{"matrix": [6, 1], "x": 7, "y": 2},
{"matrix": [6, 2], "x": 8, "y": 2},
{"matrix": [6, 3], "x": 9, "y": 2},
{"matrix": [6, 4], "x": 10, "y": 2},
{"matrix": [6, 5], "x": 11, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3},
{"matrix": [3, 1], "x": 1, "y": 3},
{"matrix": [3, 2], "x": 2, "y": 3},
{"matrix": [7, 3], "x": 3, "y": 3},
{"matrix": [7, 4], "x": 4, "y": 3},
{"matrix": [7, 5], "x": 5, "y": 3},
{"matrix": [3, 5], "x": 6, "y": 3},
{"matrix": [7, 0], "x": 7, "y": 3},
{"matrix": [7, 1], "x": 8, "y": 3},
{"matrix": [7, 2], "x": 9, "y": 3},
{"matrix": [3, 3], "x": 10, "y": 3},
{"matrix": [3, 4], "x": 11, "y": 3}
]
},
"LAYOUT_planck_1x2uC": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
{"matrix": [0, 2], "x": 2, "y": 0},
{"matrix": [0, 3], "x": 3, "y": 0},
{"matrix": [0, 4], "x": 4, "y": 0},
{"matrix": [0, 5], "x": 5, "y": 0},
{"matrix": [4, 0], "x": 6, "y": 0},
{"matrix": [4, 1], "x": 7, "y": 0},
{"matrix": [4, 2], "x": 8, "y": 0},
{"matrix": [4, 3], "x": 9, "y": 0},
{"matrix": [4, 4], "x": 10, "y": 0},
{"matrix": [4, 5], "x": 11, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1, "y": 1},
{"matrix": [1, 2], "x": 2, "y": 1},
{"matrix": [1, 3], "x": 3, "y": 1},
{"matrix": [1, 4], "x": 4, "y": 1},
{"matrix": [1, 5], "x": 5, "y": 1},
{"matrix": [5, 0], "x": 6, "y": 1},
{"matrix": [5, 1], "x": 7, "y": 1},
{"matrix": [5, 2], "x": 8, "y": 1},
{"matrix": [5, 3], "x": 9, "y": 1},
{"matrix": [5, 4], "x": 10, "y": 1},
{"matrix": [5, 5], "x": 11, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1, "y": 2},
{"matrix": [2, 2], "x": 2, "y": 2},
{"matrix": [2, 3], "x": 3, "y": 2},
{"matrix": [2, 4], "x": 4, "y": 2},
{"matrix": [2, 5], "x": 5, "y": 2},
{"matrix": [6, 0], "x": 6, "y": 2},
{"matrix": [6, 1], "x": 7, "y": 2},
{"matrix": [6, 2], "x": 8, "y": 2},
{"matrix": [6, 3], "x": 9, "y": 2},
{"matrix": [6, 4], "x": 10, "y": 2},
{"matrix": [6, 5], "x": 11, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3},
{"matrix": [3, 1], "x": 1, "y": 3},
{"matrix": [3, 2], "x": 2, "y": 3},
{"matrix": [7, 3], "x": 3, "y": 3},
{"matrix": [7, 4], "x": 4, "y": 3},
{"matrix": [7, 5], "x": 5, "y": 3, "w": 2},
{"matrix": [7, 0], "x": 7, "y": 3},
{"matrix": [7, 1], "x": 8, "y": 3},
{"matrix": [7, 2], "x": 9, "y": 3},
{"matrix": [3, 3], "x": 10, "y": 3},
{"matrix": [3, 4], "x": 11, "y": 3}
]
}
}
}

View file

@ -0,0 +1,17 @@
{
"keyboard": "zsa/planck_ez/base",
"keymap": "default",
"layers": [
["KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_BSPC", "KC_ESC", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_ENT", "CW_TOGG", "KC_LCTL", "KC_LALT", "KC_LGUI", "TL_LOWR", "KC_SPC", "TL_UPPR", "KC_LEFT", "KC_DOWN", "KC_UP", "KC_RGHT"],
["KC_TILD", "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "KC_BSPC", "KC_DEL", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_UNDS", "KC_PLUS", "KC_LCBR", "KC_RCBR", "KC_PIPE", "KC_TRNS", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "S(KC_NUHS)", "S(KC_NUBS)", "KC_HOME", "KC_END", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_MNXT", "KC_VOLD", "KC_VOLU", "KC_MPLY"],
["KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_BSPC", "KC_DEL", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_MINS", "KC_EQL", "KC_LBRC", "KC_RBRC", "KC_BSLS", "KC_TRNS", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "KC_NUHS", "KC_NUBS", "KC_PGUP", "KC_PGDN", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_MNXT", "KC_VOLD", "KC_VOLU", "KC_MPLY"],
["KC_TRNS", "QK_BOOT", "DB_TOGG", "RGB_TOG", "RGB_MOD", "RGB_HUI", "RGB_HUD", "RGB_SAI", "RGB_SAD", "RGB_VAI", "RGB_VAD", "KC_DEL", "KC_TRNS", "KC_TRNS", "MU_NEXT", "AU_ON", "AU_OFF", "AG_NORM", "AG_SWAP", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "AU_PREV", "AU_NEXT", "MU_ON", "MU_OFF", "MI_ON", "MI_OFF", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"]
],
"layout": "LAYOUT_planck_1x2uC",
"config": {
"features": {
"tri_layer": true,
"caps_word": true
}
}
}

View file

@ -35,7 +35,3 @@
#define STM32_DAC_USE_DAC1_CH2 TRUE #define STM32_DAC_USE_DAC1_CH2 TRUE
#undef STM32_GPT_USE_TIM6 #undef STM32_GPT_USE_TIM6
#define STM32_GPT_USE_TIM6 TRUE #define STM32_GPT_USE_TIM6 TRUE
#undef STM32_GPT_USE_TIM7
#define STM32_GPT_USE_TIM7 TRUE
#undef STM32_GPT_USE_TIM8
#define STM32_GPT_USE_TIM8 TRUE

View file

@ -15,98 +15,13 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "ez.h" #include "planck_ez.h"
#include <ch.h> #include <ch.h>
#include <hal.h> #include <hal.h>
#include "keycodes.h"
keyboard_config_t keyboard_config; keyboard_config_t keyboard_config;
#ifdef RGB_MATRIX_ENABLE
const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
{0, SW2_CS12, SW1_CS12, SW3_CS12},
{0, SW2_CS11, SW1_CS11, SW3_CS11},
{0, SW2_CS10, SW1_CS10, SW3_CS10},
{0, SW2_CS9, SW1_CS9, SW3_CS9},
{0, SW2_CS8, SW1_CS8, SW3_CS8},
{0, SW2_CS7, SW1_CS7, SW3_CS7},
{0, SW8_CS12, SW7_CS12, SW9_CS12},
{0, SW8_CS11, SW7_CS11, SW9_CS11},
{0, SW8_CS10, SW7_CS10, SW9_CS10},
{0, SW8_CS9, SW7_CS9, SW9_CS9},
{0, SW8_CS8, SW7_CS8, SW9_CS8},
{0, SW8_CS7, SW7_CS7, SW9_CS7},
{0, SW2_CS6, SW1_CS6, SW3_CS6},
{0, SW2_CS5, SW1_CS5, SW3_CS5},
{0, SW2_CS4, SW1_CS4, SW3_CS4},
{0, SW2_CS3, SW1_CS3, SW3_CS3},
{0, SW2_CS2, SW1_CS2, SW3_CS2},
{0, SW2_CS1, SW1_CS1, SW3_CS1},
{0, SW8_CS6, SW7_CS6, SW9_CS6},
{0, SW8_CS5, SW7_CS5, SW9_CS5},
{0, SW8_CS4, SW7_CS4, SW9_CS4},
{0, SW8_CS3, SW7_CS3, SW9_CS3},
{0, SW8_CS2, SW7_CS2, SW9_CS2},
{0, SW8_CS1, SW7_CS1, SW9_CS1},
{0, SW5_CS12, SW4_CS12, SW6_CS12},
{0, SW5_CS11, SW4_CS11, SW6_CS11},
{0, SW5_CS10, SW4_CS10, SW6_CS10},
{0, SW5_CS9, SW4_CS9, SW6_CS9},
{0, SW5_CS8, SW4_CS8, SW6_CS8},
{0, SW5_CS7, SW4_CS7, SW6_CS7},
{0, SW11_CS12, SW10_CS12, SW12_CS12},
{0, SW11_CS11, SW10_CS11, SW12_CS11},
{0, SW11_CS10, SW10_CS10, SW12_CS10},
{0, SW11_CS9, SW10_CS9, SW12_CS9},
{0, SW11_CS8, SW10_CS8, SW12_CS8},
{0, SW11_CS7, SW10_CS7, SW12_CS7},
{0, SW5_CS6, SW4_CS6, SW6_CS6},
{0, SW5_CS5, SW4_CS5, SW6_CS5},
{0, SW5_CS4, SW4_CS4, SW6_CS4},
{0, SW5_CS3, SW4_CS3, SW6_CS3},
{0, SW5_CS2, SW4_CS2, SW6_CS2},
{0, SW5_CS1, SW4_CS1, SW6_CS1},
{0, SW11_CS6, SW10_CS6, SW12_CS6},
{0, SW11_CS5, SW10_CS5, SW12_CS5},
{0, SW11_CS4, SW10_CS4, SW12_CS4},
{0, SW11_CS3, SW10_CS3, SW12_CS3},
{0, SW11_CS2, SW10_CS2, SW12_CS2},
};
led_config_t g_led_config = { {
{ 0, 1, 2, 3, 4, 5 },
{ 12, 13, 14, 15, 16, 17 },
{ 24, 25, 26, 27, 28, 29 },
{ 36, 37, 38, 45, 46, NO_LED },
{ 6, 7, 8, 9, 10, 11 },
{ 18, 19, 20, 21, 22, 23 },
{ 30, 31, 32, 33, 34, 35 },
{ 42, 43, 44, 39, 40, 41 }
}, {
{ 0, 0 }, { 20, 0 }, { 40, 0 }, { 61, 0 }, { 81, 0 }, { 101, 0 }, { 122, 0 }, { 142, 0 }, { 162, 0 }, { 183, 0 }, { 203, 0 }, { 223, 0 },
{ 0, 21 }, { 20, 21 }, { 40, 21 }, { 61, 21 }, { 81, 21 }, { 101, 21 }, { 122, 21 }, { 142, 21 }, { 162, 21 }, { 183, 21 }, { 203, 21 }, { 223, 21 },
{ 0, 42 }, { 20, 42 }, { 40, 42 }, { 61, 42 }, { 81, 42 }, { 101, 42 }, { 122, 42 }, { 142, 42 }, { 162, 42 }, { 183, 42 }, { 203, 42 }, { 223, 42 },
{ 0, 63 }, { 20, 63 }, { 40, 63 }, { 61, 63 }, { 81, 63 }, { 111, 63 }, { 142, 63 }, { 162, 63 }, { 183, 63 }, { 203, 63 }, { 223, 63 }
}, {
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 1
} };
#endif
/* Left B9 Right B8 */ /* Left B9 Right B8 */
@ -236,13 +151,13 @@ void eeconfig_init_kb(void) { // EEPROM is getting reset!
#ifndef PLANCK_EZ_USER_LEDS #ifndef PLANCK_EZ_USER_LEDS
#ifndef PLANCK_EZ_LED_LOWER #ifndef PLANCK_EZ_LED_LOWER
# define PLANCK_EZ_LED_LOWER 3 # define PLANCK_EZ_LED_LOWER 1
#endif #endif
#ifndef PLANCK_EZ_LED_RAISE #ifndef PLANCK_EZ_LED_RAISE
# define PLANCK_EZ_LED_RAISE 4 # define PLANCK_EZ_LED_RAISE 2
#endif #endif
#ifndef PLANCK_EZ_LED_ADJUST #ifndef PLANCK_EZ_LED_ADJUST
# define PLANCK_EZ_LED_ADJUST 6 # define PLANCK_EZ_LED_ADJUST 3
#endif #endif
layer_state_t layer_state_set_kb(layer_state_t state) { layer_state_t layer_state_set_kb(layer_state_t state) {
@ -331,6 +246,8 @@ bool music_mask_kb(uint16_t keycode) {
case AU_ON ... AU_PREV: case AU_ON ... AU_PREV:
case QK_BOOT: case QK_BOOT:
case QK_CLEAR_EEPROM: case QK_CLEAR_EEPROM:
case QK_TRI_LAYER_LOWER:
case QK_TRI_LAYER_UPPER:
return false; return false;
default: default:
return music_mask_user(keycode); return music_mask_user(keycode);
@ -345,7 +262,7 @@ const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
{{5, 5}, {4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}}, {{5, 5}, {4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}},
{{5, 6}, {4, 6}, {3, 6}, {2, 6}, {1, 6}, {0, 6}}, {{5, 6}, {4, 6}, {3, 6}, {2, 6}, {1, 6}, {0, 6}},
{{5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}}, {{5, 3}, {4, 3}, {3, 3}, {2, 3}, {1, 3}, {0, 3}},
{{5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, {{5, 0}, {4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}},
{{5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, {{5, 1}, {4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}},
{{5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, {{5, 2}, {4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}},

View file

@ -6,15 +6,15 @@ A variant of the Planck featuring a 2u spacebar and per-key RGB backlighting.
Keyboard Maintainer: [Jack Humbert](https://github.com/jackhumbert), [Drashna Jael're](https://github.com/drashna) Keyboard Maintainer: [Jack Humbert](https://github.com/jackhumbert), [Drashna Jael're](https://github.com/drashna)
Hardware Supported: Planck EZ Hardware Supported: Planck EZ
Hardware Availability: [ZSA](https://www.zsa.io/planck/) Hardware Availability: [ZSA](https://www.zsa.io/planck/) (discontinued)
Make example for this keyboard (after setting up your build environment): Make example for this keyboard (after setting up your build environment):
make planck/ez:oryx make zsa/planck_ez/base:default
For the per key RGB version of this keyboard, you want to use the "glow" subdirectory. For example: For the per key RGB version of this keyboard, you want to use the "glow" subdirectory. For example:
make planck/ez/glow:oryx make zsa/planck_ez/glow:default
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
@ -22,30 +22,30 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to
To enable the features from Oryx (ZSA's Configurator), either compile the the `oryx` keymap, or add `#define ORYX_CONFIGURATOR` to your `config.h` file. To enable the features from Oryx (ZSA's Configurator), either compile the the `oryx` keymap, or add `#define ORYX_CONFIGURATOR` to your `config.h` file.
This enables the front Indicator LEDs, and the `TOGGLE_LAYER_COLOR`, and `LED_LEVEL` keycodes. The `TOGGLE_LAYER_COLOR` keycode toggles the customized LED map configured on Oryx. The `LED_LEVEL` cycles through the brightness levels for the front "teeth" LEDs. This enables the front Indicator LEDs, and the `TOGGLE_LAYER_COLOR`, and `LED_LEVEL` keycodes. The `TOGGLE_LAYER_COLOR` keycode toggles the customized LED map configured on Oryx. The `LED_LEVEL` cycles through the brightness levels for the front "teeth" LEDs.
### Indicator LEDs ### Indicator LEDs
The two front "teeth" LED indicators are PWM controlled. If you have `ORYX_CONFIGURATOR` defined in your keymap's `config.h`, you can use the `LED_LEVEL` to cycle through preset vales (0, 25%, 50%, 75%, 100%), and will be saved to EEPROM (persistent storage) The two front "teeth" LED indicators are PWM controlled. If you have `ORYX_CONFIGURATOR` defined in your keymap's `config.h`, you can use the `LED_LEVEL` to cycle through preset vales (0, 25%, 50%, 75%, 100%), and will be saved to EEPROM (persistent storage)
Alternatively, you can set the brightness by calling the following functions: Alternatively, you can set the brightness by calling the following functions:
```c ```c
void planck_ez_right_led_level(uint8_t level); void planck_ez_right_led_level(uint8_t level);
void planck_ez_left_led_level(uint8_t level); void planck_ez_left_led_level(uint8_t level);
``` ```
These settings are not persistent, so you'd need to reset it every time the board starts. These settings are not persistent, so you'd need to reset it every time the board starts.
These are on a 0-255 scale These are on a 0-255 scale
#### Layer indication #### Layer indication
By default, the indicator lights are used for layer indication, expecting the specific layers used in the default keymap. However, this may not work for you. And if that is the case, you can add `#define PLANCK_EZ_USER_LEDS` to your `config.h` file. By default, the indicator lights are used for layer indication, expecting the specific layers used in the default keymap. However, this may not work for you. And if that is the case, you can add `#define PLANCK_EZ_USER_LEDS` to your `config.h` file.
This will remove the default behavior for changing the LEDs based on layer, and allow you to control them manually. This will remove the default behavior for changing the LEDs based on layer, and allow you to control them manually.
Alternatively, you can use the following defines in your keymap's `config.h` to control which layers are used, as long as you have `ORYX_CONFIGURATOR` defined in your keymap's `config.h` file, as well. Alternatively, you can use the following defines in your keymap's `config.h` to control which layers are used, as long as you have `ORYX_CONFIGURATOR` defined in your keymap's `config.h` file, as well.
```c ```c
#define PLANCK_EZ_LED_LOWER 3 #define PLANCK_EZ_LED_LOWER 3
@ -57,8 +57,8 @@ This will allow you to change the layers that are used, without having to add an
### RGB Matrix Features ### RGB Matrix Features
If you're using the Smart LED (layer indication) feature from the Oryx Configurator, you want to make sure that you enable these options by adding `#define ORYX_CONFIGURATOR` to your keymap's `config.h`. If you're using the Smart LED (layer indication) feature from the Oryx Configurator, you want to make sure that you enable these options by adding `#define ORYX_CONFIGURATOR` to your keymap's `config.h`.
This changes the `RGB_TOG` keycode so that it will toggle the lights on and off, in a way that will allow the Smart LEDs to continue to work, even with the rest of the LEDs turned off. This changes the `RGB_TOG` keycode so that it will toggle the lights on and off, in a way that will allow the Smart LEDs to continue to work, even with the rest of the LEDs turned off.
Additionally, a new keycode has been added to toggle the Smart LEDs. Use `TOGGLE_LAYER_COLOR`, if you aren't already. Additionally, a new keycode has been added to toggle the Smart LEDs. Use `TOGGLE_LAYER_COLOR`, if you aren't already.

View file

@ -1,4 +1,4 @@
RGBLIGHT_SUPPORTED = no RGBLIGHT_SUPPORTED = no
BAKCLIGHT_SUPPORTED = no BAKCLIGHT_SUPPORTED = no
DEFAULT_FOLDER = planck/ez/base DEFAULT_FOLDER = zsa/planck_ez/base