Skip to content

Commit

Permalink
Merge pull request qmk#16 from yymm/nrf52
Browse files Browse the repository at this point in the history
Add nomu30 BLE
  • Loading branch information
sekigon-gonnoc authored Jul 17, 2019
2 parents 9bd27c0 + 5b87534 commit e74de69
Show file tree
Hide file tree
Showing 21 changed files with 1,436 additions and 0 deletions.
89 changes: 89 additions & 0 deletions keyboards/nomu30_ble/board/custom_board.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
/**
* Copyright (c) 2014 - 2017, Nordic Semiconductor ASA
* Copyright (c) 2018, Sekigon
*
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form, except as embedded into a Nordic
* Semiconductor ASA integrated circuit in a product or a software update for
* such product, must reproduce the above copyright notice, this list of
* conditions and the following disclaimer in the documentation and/or other
* materials provided with the distribution.
*
* 3. Neither the name of Nordic Semiconductor ASA nor the names of its
* contributors may be used to endorse or promote products derived from this
* software without specific prior written permission.
*
* 4. This software, with or without modification, must only be used with a
* Nordic Semiconductor ASA integrated circuit.
*
* 5. Any software provided in binary form under this license must not be reverse
* engineered, decompiled, modified and/or disassembled.
*
* THIS SOFTWARE IS PROVIDED BY NORDIC SEMICONDUCTOR ASA "AS IS" AND ANY EXPRESS
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL NORDIC SEMICONDUCTOR ASA OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
#ifndef CUSTOM_BOARD_H
#define CUSTOM_BOARD_H

#ifdef __cplusplus
extern "C" {
#endif

//#include "nrf_gpio.h"

#define GPIO(port, pin) ((port << 5) | pin)
#define PIN1 GPIO(0,8)
#define PIN2 GPIO(0,11)
#define PIN5 GPIO(0,18)
#define PIN6 GPIO(0,16)
#define PIN7 GPIO(0,19)
#define PIN8 GPIO(0,20)
#define PIN9 GPIO(0,22)
#define PIN10 GPIO(0,23)
#define PIN11 GPIO(1,0)
#define PIN12 GPIO(1,3)

#define PIN13 GPIO(0,9)
#define PIN14 GPIO(0,10)
#define PIN15 GPIO(1,15)
#define PIN16 GPIO(1,14)
#define PIN17 GPIO(0,3)
#define PIN18 GPIO(0,30)
#define PIN19 GPIO(0,0)
#define PIN20 GPIO(0,5)
//#define NRF_LOG_ENABLED 0
//#define NRF_LOG_BACKEND_SERIAL_USES_UART 0
//#define NRF_LOG_BACKEND_SERIAL_UART_TX_PIN 5
#define NRF_LOG_BACKEND_UART_TX_PIN 8
//#define DEBUG
// Low frequency clock source to be used by the SoftDevice
#ifdef S210
// #define NRF_CLOCK_LFCLKSRC NRF_CLOCK_LFCLKSRC_XTAL_20_PPM
#else
#define NRF_CLOCK_LFCLKSRC {.source = NRF_CLOCK_LF_SRC_RC, \
.rc_ctiv = 16, \
.rc_temp_ctiv = 2, \
.xtal_accuracy = 0}
#endif

#ifdef __cplusplus
}
#endif

#endif // CUSTOM_BOARD_H
70 changes: 70 additions & 0 deletions keyboards/nomu30_ble/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
/*
Copyright 2019 Naoto Takai
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

/* USB Device descriptor parameter */
#define VENDOR_ID 0xC0C0
#define PRODUCT_ID 0x3000
#define DEVICE_VER 0x0001
#define MANUFACTURER Naoto Takai
#define PRODUCT nomu30
#define DESCRIPTION A 30% keyboard with ISO enter.

/* key matrix size */
#define MATRIX_ROWS 3
#define MATRIX_COLS 12

/* COL2ROW, ROW2COL*/
#define DIODE_DIRECTION COL2ROW

/* define if matrix has ghost */
//#define MATRIX_HAS_GHOST

/* Set 0 if debouncing isn't needed */
#define DEBOUNCING_DELAY 5

/* Set 0 if debouncing isn't needed */
#define DEBOUNCE 1

/* 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
172 changes: 172 additions & 0 deletions keyboards/nomu30_ble/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
{
"keyboard_name": "Nomu30",
"url": "https://keys.recompile.net/projects/nomu30/",
"maintainer": "takai",
"width": 11.5,
"height": 3,
"layouts": {
"LAYOUT": {
"layout": [
{
"label": "Q",
"x": 0.5,
"y": 0
},
{
"label": "W",
"x": 1.5,
"y": 0
},
{
"label": "E",
"x": 2.5,
"y": 0
},
{
"label": "R",
"x": 3.5,
"y": 0
},
{
"label": "T",
"x": 4.5,
"y": 0
},
{
"label": "Y",
"x": 5.5,
"y": 0
},
{
"label": "U",
"x": 6.5,
"y": 0
},
{
"label": "I",
"x": 7.5,
"y": 0
},
{
"label": "O",
"x": 8.5,
"y": 0
},
{
"label": "P",
"x": 9.5,
"y": 0
},
{
"label": "Del",
"x": 10.5,
"y": 0
},
{
"label": "|",
"x": 0,
"y": 1
},
{
"label": "A",
"x": 1,
"y": 1
},
{
"label": "S",
"x": 2,
"y": 1
},
{
"label": "D",
"x": 3,
"y": 1
},
{
"label": "F",
"x": 4,
"y": 1
},
{
"label": "G",
"x": 5,
"y": 1
},
{
"label": "H",
"x": 6,
"y": 1
},
{
"label": "J",
"x": 7,
"y": 1
},
{
"label": "K",
"x": 8,
"y": 1
},
{
"label": "L",
"x": 9,
"y": 1
},
{
"label": "Enter",
"x": 10.25,
"y": 1,
"w": 1.25,
"h": 2
},
{
"label": "Control",
"x": 0,
"y": 2,
"w": 1.5
},
{
"label": "Z",
"x": 1.5,
"y": 2
},
{
"label": "X",
"x": 2.5,
"y": 2
},
{
"label": "C",
"x": 3.5,
"y": 2
},
{
"label": "V",
"x": 4.5,
"y": 2
},
{
"label": "B",
"x": 5.5,
"y": 2
},
{
"label": "N",
"x": 6.5,
"y": 2
},
{
"label": "M",
"x": 7.5,
"y": 2
},
{
"label": "Shift",
"x": 8.5,
"y": 2,
"w": 1.75
}
]
}
}
}
Loading

0 comments on commit e74de69

Please sign in to comment.