Skip to content

Commit

Permalink
[Keyboard] add E80-1800 PCB (qmk#16645)
Browse files Browse the repository at this point in the history
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
  • Loading branch information
3 people authored and zykrah committed Jul 2, 2022
1 parent 3fe2171 commit 317727b
Show file tree
Hide file tree
Showing 17 changed files with 618 additions and 1 deletion.
21 changes: 21 additions & 0 deletions keyboards/ebastler/e80_1800/chconf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
/* Copyright 2022 Moritz Plattner
*
* 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 3 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 <https://www.gnu.org/licenses/>.
*/
#pragma once

#define CH_CFG_ST_RESOLUTION 16
#define CH_CFG_INTERVALS_SIZE 16

#include_next <chconf.h>
67 changes: 67 additions & 0 deletions keyboards/ebastler/e80_1800/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
/* Copyright 2022 Moritz Plattner
*
* 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

#include "config_common.h"

/* USB Device descriptor parameter */
#define VENDOR_ID 0x6562 // "eb"
#define PRODUCT_ID 0x1338
#define DEVICE_VER 0x0001
#define MANUFACTURER ebastler
#define PRODUCT E80-1800

/* Limit layer count to fit in storage with VIA enabled */
#define DYNAMIC_KEYMAP_LAYER_COUNT 3

/* key matrix size */
#define MATRIX_ROWS 7
#define MATRIX_COLS 19

#define MATRIX_ROW_PINS { B7, B3, D2, C12, C11, C10, A15 }
#define MATRIX_COL_PINS { A1, A0, C3, C2, F1, F0, C15, C14, C13, C4, C5, B0, B1, B2, B9, A13, A8, C9, C8 }
#define UNUSED_PINS

/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW
#define DEBOUNCE 5

#define LED_NUM_LOCK_PIN B6
#define LED_CAPS_LOCK_PIN B5
#define LED_SCROLL_LOCK_PIN B4
#define LED_PIN_ON_STATE 0

/* Backlight */
#define BACKLIGHT_PIN A9
#define BACKLIGHT_BREATHING // don't disable even if you don't want breathing - it will not compile without
#define BACKLIGHT_PWM_DRIVER PWMD1
#define BACKLIGHT_PWM_CHANNEL 2
#define BACKLIGHT_PAL_MODE 2
#define BACKLIGHT_LEVELS 5
#define BACKLIGHT_ON_STATE 1
#define BACKLIGHT_PWM_OUTPUT_FREQUENCY 1000

/* I2C for OLED */
#define I2C_DRIVER I2CD2
#define I2C1_SCL_PIN B10
#define I2C1_SDA_PIN B11
#define I2C1_SCL_PAL_MODE 1
#define I2C1_SDA_PAL_MODE 1
#define I2C1_TIMINGR_PRESC 0U
#define I2C1_TIMINGR_SCLDEL 3U
#define I2C1_TIMINGR_SDADEL 1U
#define I2C1_TIMINGR_SCLH 3U
#define I2C1_TIMINGR_SCLL 9U
17 changes: 17 additions & 0 deletions keyboards/ebastler/e80_1800/e80_1800.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/* Copyright 2022 Moritz Plattner
*
* 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 "e80_1800.h"
109 changes: 109 additions & 0 deletions keyboards/ebastler/e80_1800/e80_1800.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
/* Copyright 2022 Moritz Plattner
*
* 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

#include "quantum.h"

#define LAYOUT_1800_all( \
K000, K001, K002, K003, K004, K006, K007, K008, K009, K010, K011, K012, K013, K015, K016, K017, K018, \
K115, K116, K117, K118, \
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, K216, K217, K218, \
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, K317, K318, \
K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K415, K416, K417, K418, \
K500, K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, K513, K514, K515, K516, K517, K518, \
K600, K601, K602, K606, K609, K610, K611, K612, K613, K614, K615, K616, K617 \
) { \
{ K000, K001, K002, K003, K004, KC_NO, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015, K016, K017, K018 }, \
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K115, K116, K117, K118 }, \
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215, K216, K217, K218 }, \
{ K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, K317, K318 }, \
{ K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K415, K416, K417, K418 }, \
{ K500, K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, KC_NO, K513, K514, K515, K516, K517, K518 }, \
{ K600, K601, K602, KC_NO, KC_NO, KC_NO, K606, KC_NO, KC_NO, K609, K610, K611, K612, K613, K614, K615, K616, K617, KC_NO } \
}

#define LAYOUT_1800_iso_6u( \
K000, K001, K002, K003, K004, K006, K007, K008, K009, K010, K011, K012, K013, K015, K016, K017, K018, \
K115, K116, K117, K118, \
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, K216, K217, K218, \
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, K316, K317, K318, \
K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K415, K416, K417, K418, \
K500, K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, K513, K514, K515, K516, K517, K518, \
K600, K601, K602, K606, K609, K610, K611, K612, K613, K614, K615, K616, K617 \
) { \
{ K000, K001, K002, K003, K004, KC_NO, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015, K016, K017, K018 }, \
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K115, K116, K117, K118 }, \
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215, K216, K217, K218 }, \
{ K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315, K316, K317, K318 }, \
{ K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K415, K416, K417, K418 }, \
{ K500, K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, KC_NO, K513, K514, K515, K516, K517, K518 }, \
{ K600, K601, K602, KC_NO, KC_NO, KC_NO, K606, KC_NO, KC_NO, K609, K610, K611, K612, K613, K614, K615, K616, K617, KC_NO } \
}

#define LAYOUT_1800_iso_7u( \
K000, K001, K002, K003, K004, K006, K007, K008, K009, K010, K011, K012, K013, K015, K016, K017, K018, \
K115, K116, K117, K118, \
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, K216, K217, K218, \
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, K316, K317, K318, \
K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K415, K416, K417, K418, \
K500, K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, K513, K514, K515, K516, K517, K518, \
K600, K602, K606, K609, K612, K613, K614, K615, K616, K617 \
) { \
{ K000, K001, K002, K003, K004, KC_NO, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015, K016, K017, K018 }, \
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K115, K116, K117, K118 }, \
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215, K216, K217, K218 }, \
{ K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315, K316, K317, K318 }, \
{ K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K415, K416, K417, K418 }, \
{ K500, K501, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, KC_NO, K513, K514, K515, K516, K517, K518 }, \
{ K600, KC_NO, K602, KC_NO, KC_NO, KC_NO, K606, KC_NO, KC_NO, K609, KC_NO, KC_NO, K612, K613, K614, K615, K616, K617, KC_NO } \
}

#define LAYOUT_1800_ansi_6u( \
K000, K001, K002, K003, K004, K006, K007, K008, K009, K010, K011, K012, K013, K015, K016, K017, K018, \
K115, K116, K117, K118, \
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, K216, K217, K218, \
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, K317, K318, \
K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K414, K415, K416, K417, K418, \
K500, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, K513, K514, K515, K516, K517, K518, \
K600, K601, K602, K606, K609, K610, K611, K612, K613, K614, K615, K616, K617 \
) { \
{ K000, K001, K002, K003, K004, KC_NO, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015, K016, K017, K018 }, \
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K314, K115, K116, K117, K118 }, \
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215, K216, K217, K218 }, \
{ K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315, K316, K317, K318 }, \
{ K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, KC_NO, K414, K415, K416, K417, K418 }, \
{ K500, KC_NO, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, KC_NO, K513, K514, K515, K516, K517, K518 }, \
{ K600, K601, K602, KC_NO, KC_NO, KC_NO, K606, KC_NO, KC_NO, K609, K610, K611, K612, K613, K614, K615, K616, K617, KC_NO } \
}

#define LAYOUT_1800_ansi_7u( \
K000, K001, K002, K003, K004, K006, K007, K008, K009, K010, K011, K012, K013, K015, K016, K017, K018, \
K314, K115, K116, K117, K118, \
K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K214, K215, K216, K217, K218, \
K300, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K315, K316, K317, K318, \
K400, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K414, K415, K416, K417, K418, \
K500, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, K513, K514, K515, K516, K517, K518, \
K600, K602, K606, K609, K612, K613, K614, K615, K616, K617 \
) { \
{ K000, K001, K002, K003, K004, KC_NO, K006, K007, K008, K009, K010, K011, K012, K013, KC_NO, K015, K016, K017, K018 }, \
{ KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, K314, K115, K116, K117, K118 }, \
{ K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, KC_NO, K214, K215, K216, K217, K218 }, \
{ K300, KC_NO, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, KC_NO, K315, K316, K317, K318 }, \
{ K400, KC_NO, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, KC_NO, K414, K415, K416, K417, K418 }, \
{ K500, KC_NO, K502, K503, K504, K505, K506, K507, K508, K509, K510, K511, KC_NO, K513, K514, K515, K516, K517, K518 }, \
{ K600, KC_NO, K602, KC_NO, KC_NO, KC_NO, K606, KC_NO, KC_NO, K609, KC_NO, KC_NO, K612, K613, K614, K615, K616, K617, KC_NO } \
}
21 changes: 21 additions & 0 deletions keyboards/ebastler/e80_1800/halconf.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
/* Copyright 2022 Moritz Plattner
*
* 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 3 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 <https://www.gnu.org/licenses/>.
*/
#pragma once

#define HAL_USE_PWM TRUE
#define HAL_USE_I2C TRUE

#include_next <halconf.h>
Loading

0 comments on commit 317727b

Please sign in to comment.