Skip to content

Commit

Permalink
Merge pull request #2 from gachiham/nrf52
Browse files Browse the repository at this point in the history
Add "BlocKey BLE" keyboard
  • Loading branch information
sekigon-gonnoc authored Feb 26, 2019
2 parents 23e2292 + 2b6cea3 commit ae3c804
Show file tree
Hide file tree
Showing 12 changed files with 682 additions and 0 deletions.
17 changes: 17 additions & 0 deletions keyboards/blockey_ble/blockey_ble.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/*
* blockey_ble.c
*
* Created on: 2019/02/18
* Author: Gachiham
*/



#include "matrix.h"
#include "quantum.h"
#include "nrf.h"
#include "app_ble_func.h"

void matrix_init_user() {
set_usb_enabled(true);
}
30 changes: 30 additions & 0 deletions keyboards/blockey_ble/blockey_ble.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#ifndef BLOCKEY_BLE_H_
#define BLOCKEY_BLE_H_

#include "quantum.h"

// This a shortcut to help you visually see your layout.
// The following is an example using the Planck MIT layout
// The first section contains all of the arguments
// The second converts the arguments into a two-dimensional array
#define LAYOUT( \
k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, k11, k12, k13, k14, \
k15, k16, k17, k18, k19, k20, k21, k22, k23, k24, k25, k26, k27, k28, \
k29, k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k40, k41, \
k42, k43, k44, k45, k46, k47, k48, k49, k50, k51, k52, k53, k54, \
k55, k56, k57, k58, k59, k60, k61, k62 \
) \
{ \
{ k01, k02, k03, k04, k05, k06, k07 }, \
{ k15, k16, k17, k18, k19, k20, k21 }, \
{ k29, k30, k31, k32, k33, k34, k35 }, \
{ k42, k43, k44, k45, k46, k47, k48 }, \
{ k55, k56, k57, k58, KC_NO, KC_NO, k59 }, \
{ k08, k09, k10, k11, k12, k13, k14 }, \
{ k22, k23, k24, k25, k26, k27, k28 }, \
{ k36, k37, k38, k39, k40, k41, KC_NO }, \
{ k49, k50, k51, k52, k53, k54, KC_NO }, \
{ KC_NO, KC_NO, KC_NO, k60, k61, k62, KC_NO}, \
}

#endif /* BLOCKEY_BLE_H_ */
90 changes: 90 additions & 0 deletions keyboards/blockey_ble/board/custom_board.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
/**
* Copyright (c) 2014 - 2017, Nordic Semiconductor ASA
* Copyright (c) 2018, Sekigon
* Copyright (c) 2019, Gachiham
*
* 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
73 changes: 73 additions & 0 deletions keyboards/blockey_ble/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
/*
Copyright 2018 Eucalyn
Copyright 2018 Sekigon
Copyright 2019 Gachiham
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

/* USB Device descriptor parameter */
#define VENDOR_ID 0xFEED
#define PRODUCT_ID 0x0000
#define DEVICE_VER 0x0001
/* in python2: list(u"whatever".encode('utf-16-le')) */
/* at most 32 characters or the ugly hack in usb_main.c borks */
#define MANUFACTURER Eucalyn
#define PRODUCT Blockey_BLE
#define DESCRIPTION QMK based keyboard

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

#define DIODE_DIRECTION COL2ROW

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

/* 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

#endif
Loading

0 comments on commit ae3c804

Please sign in to comment.