From de80e2c756508fbd14562ece23b0cbdfbb959e1f Mon Sep 17 00:00:00 2001
From: npoirey <nicolas.poirey@gmail.com>
Date: Fri, 23 Jun 2017 21:25:46 +0200
Subject: [PATCH] Moved frenchdev to handwired

---
 keyboards/frenchdev/config.h                  | 34 --------
 keyboards/frenchdev/frenchdev.c               |  4 -
 keyboards/frenchdev/frenchdev.h               |  7 --
 keyboards/frenchdev/v1/Makefile               |  8 --
 keyboards/frenchdev/v1/rules.mk               | 80 -------------------
 keyboards/{ => handwired}/frenchdev/Makefile  |  2 -
 .../v1 => handwired/frenchdev}/config.h       | 29 +++++--
 .../v1.c => handwired/frenchdev/frenchdev.c}  |  2 +-
 .../v1.h => handwired/frenchdev/frenchdev.h}  |  2 +-
 .../v1 => handwired/frenchdev}/i2cmaster.h    |  0
 .../frenchdev/keymaps/default/keymap.c        |  2 +-
 .../frenchdev/keymaps/default/readme.md       | 13 +++
 .../v1 => handwired/frenchdev}/matrix.c       |  2 +-
 keyboards/{ => handwired}/frenchdev/readme.md |  4 +-
 keyboards/{ => handwired}/frenchdev/rules.mk  | 55 ++++++++-----
 .../v1 => handwired/frenchdev}/twimaster.c    |  0
 16 files changed, 77 insertions(+), 167 deletions(-)
 delete mode 100644 keyboards/frenchdev/config.h
 delete mode 100644 keyboards/frenchdev/frenchdev.c
 delete mode 100644 keyboards/frenchdev/frenchdev.h
 delete mode 100644 keyboards/frenchdev/v1/Makefile
 delete mode 100644 keyboards/frenchdev/v1/rules.mk
 rename keyboards/{ => handwired}/frenchdev/Makefile (68%)
 rename keyboards/{frenchdev/v1 => handwired/frenchdev}/config.h (65%)
 rename keyboards/{frenchdev/v1/v1.c => handwired/frenchdev/frenchdev.c} (98%)
 rename keyboards/{frenchdev/v1/v1.h => handwired/frenchdev/frenchdev.h} (98%)
 rename keyboards/{frenchdev/v1 => handwired/frenchdev}/i2cmaster.h (100%)
 rename keyboards/{ => handwired}/frenchdev/keymaps/default/keymap.c (99%)
 create mode 100644 keyboards/handwired/frenchdev/keymaps/default/readme.md
 rename keyboards/{frenchdev/v1 => handwired/frenchdev}/matrix.c (99%)
 rename keyboards/{ => handwired}/frenchdev/readme.md (91%)
 rename keyboards/{ => handwired}/frenchdev/rules.mk (93%)
 rename keyboards/{frenchdev/v1 => handwired/frenchdev}/twimaster.c (100%)

diff --git a/keyboards/frenchdev/config.h b/keyboards/frenchdev/config.h
deleted file mode 100644
index f535010ef..000000000
--- a/keyboards/frenchdev/config.h
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef KEYBOARDS_ERGODOX_CONFIG_H_
-#define KEYBOARDS_ERGODOX_CONFIG_H_
-
-#define MOUSEKEY_INTERVAL       20
-#define MOUSEKEY_DELAY          0
-#define MOUSEKEY_TIME_TO_MAX    5
-#define MOUSEKEY_MAX_SPEED      2
-#define MOUSEKEY_WHEEL_DELAY 0
-
-#define TAPPING_TOGGLE  1
-
-/* define if matrix has ghost */
-//#define MATRIX_HAS_GHOST
-
-#define TAPPING_TERM    200
-#define IGNORE_MOD_TAP_INTERRUPT // this makes it possible to do rolling combos (zx) with keys that convert to other keys on hold (z becomes ctrl when you hold it, and when this option isn't enabled, z rapidly followed by x actually sends Ctrl-x. That's bad.)
-
-/* 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_LCTL) | MOD_BIT(KC_RCTL)) || \
-    keyboard_report->mods == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
-)
-
-#ifdef SUBPROJECT_v1
-    #include "v1/config.h"
-#endif
-
-
-#endif /* KEYBOARDS_ERGODOX_CONFIG_H_ */
diff --git a/keyboards/frenchdev/frenchdev.c b/keyboards/frenchdev/frenchdev.c
deleted file mode 100644
index ecc102169..000000000
--- a/keyboards/frenchdev/frenchdev.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "frenchdev.h"
-#include "debug.h"
-#include "action_layer.h"
-
diff --git a/keyboards/frenchdev/frenchdev.h b/keyboards/frenchdev/frenchdev.h
deleted file mode 100644
index 60afda21d..000000000
--- a/keyboards/frenchdev/frenchdev.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef KEYBOARDS_ERGODOX_ERGODOX_H_
-#define KEYBOARDS_ERGODOX_ERGODOX_H_
-#ifdef SUBPROJECT_v1
-    #include "v1.h"
-#endif
-
-#endif /* KEYBOARDS_ERGODOX_ERGODOX_H_ */
diff --git a/keyboards/frenchdev/v1/Makefile b/keyboards/frenchdev/v1/Makefile
deleted file mode 100644
index 1098332b8..000000000
--- a/keyboards/frenchdev/v1/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-SLEEP_LED_ENABLE = no  # Breathing sleep LED during USB suspend
-COMMAND_ENABLE   = no  # Commands for debug and configuration
-RGBLIGHT_ENABLE ?= yes
-MIDI_ENABLE ?= no
-
-ifndef MAKEFILE_INCLUDED
-	include ../../../Makefile
-endif
diff --git a/keyboards/frenchdev/v1/rules.mk b/keyboards/frenchdev/v1/rules.mk
deleted file mode 100644
index 64b2db815..000000000
--- a/keyboards/frenchdev/v1/rules.mk
+++ /dev/null
@@ -1,80 +0,0 @@
-#----------------------------------------------------------------------------
-# On command line:
-#
-# make = Make software.
-#
-# make clean = Clean out built project files.
-#
-# That's pretty much all you need. To compile, always go make clean, 
-# followed by make.
-#
-# For advanced users only:
-# make teensy = Download the hex file to the device, using teensy_loader_cli.
-#               (must have teensy_loader_cli installed).
-#
-#----------------------------------------------------------------------------
-
-# # project specific files
-SRC = twimaster.c \
-	  matrix.c
-
-# MCU name
-MCU = atmega32u4
-
-# Processor frequency.
-#     This will define a symbol, F_CPU, in all source code files equal to the
-#     processor frequency in Hz. You can then use this symbol in your source code to
-#     calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-#     automatically to create a 32-bit value in your source code.
-#
-#     This will be an integer division of F_USB below, as it is sourced by
-#     F_USB after it has run through any CPU prescalers. Note that this value
-#     does not *change* the processor frequency - it should merely be updated to
-#     reflect the processor speed set externally so that the code can use accurate
-#     software delays.
-F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-#     This will define a symbol, F_USB, in all source code files equal to the
-#     input clock frequency (before any prescaling is performed) in Hz. This value may
-#     differ from F_CPU if prescaling is used on the latter, and is required as the
-#     raw input clock is fed directly to the PLL sections of the AVR for high speed
-#     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-#     at the end, this will be done automatically to create a 32-bit value in your
-#     source code.
-#
-#     If no clock division is performed on the input clock inside the AVR (via the
-#     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-#   Teensy halfKay   512
-#   Teensy++ halfKay 1024
-#   Atmel DFU loader 4096
-#   LUFA bootloader  4096
-#   USBaspLoader     2048
-OPT_DEFS += -DBOOTLOADER_SIZE=512
-
-
-# Build Options
-#   comment out to disable the options.
-#
-
-SLEEP_LED_ENABLE = no
-API_SYSEX_ENABLE ?= no
-RGBLIGHT_ENABLE ?= yes
-
-ifndef QUANTUM_DIR
-	include ../../../Makefile
-endif
diff --git a/keyboards/frenchdev/Makefile b/keyboards/handwired/frenchdev/Makefile
similarity index 68%
rename from keyboards/frenchdev/Makefile
rename to keyboards/handwired/frenchdev/Makefile
index 73a289f1d..57b2ef62e 100644
--- a/keyboards/frenchdev/Makefile
+++ b/keyboards/handwired/frenchdev/Makefile
@@ -1,5 +1,3 @@
-SUBPROJECT_DEFAULT = v1
-
 ifndef MAKEFILE_INCLUDED
 	include ../../Makefile
 endif
diff --git a/keyboards/frenchdev/v1/config.h b/keyboards/handwired/frenchdev/config.h
similarity index 65%
rename from keyboards/frenchdev/v1/config.h
rename to keyboards/handwired/frenchdev/config.h
index c4c42df82..dd386402c 100644
--- a/keyboards/frenchdev/v1/config.h
+++ b/keyboards/handwired/frenchdev/config.h
@@ -1,6 +1,5 @@
 /*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-Copyright 2013 Oleg Kostyuk <cub.uanic@gmail.com>
+Copyright 201 Nicolas Poirey <nicolas.poirey@gmail.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
@@ -19,15 +18,13 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #ifndef FRENCHDEV_V1_CONFIG_H
 #define FRENCHDEV_V1_CONFIG_H
 
-#include "../config.h"
-
 #include "config_common.h"
 
 /* USB Device descriptor parameter */
 #define VENDOR_ID       0xFEED
 #define PRODUCT_ID      0x1307
 #define DEVICE_VER      0x0001
-#define MANUFACTURER    Sacapuces
+#define MANUFACTURER    Nicolas Poirey
 #define PRODUCT         Frenchdev V1
 #define DESCRIPTION     QMK keyboard firmware for Frenchdev
 
@@ -46,6 +43,26 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #define USB_MAX_POWER_CONSUMPTION 500
 
+#define MOUSEKEY_INTERVAL       20
+#define MOUSEKEY_DELAY          0
+#define MOUSEKEY_TIME_TO_MAX    5
+#define MOUSEKEY_MAX_SPEED      2
+#define MOUSEKEY_WHEEL_DELAY 0
+
+#define TAPPING_TOGGLE  1
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+#define TAPPING_TERM    200
+#define IGNORE_MOD_TAP_INTERRUPT // this makes it possible to do rolling combos (zx) with keys that convert to other keys on hold (z becomes ctrl when you hold it, and when this option isn't enabled, z rapidly followed by x actually sends Ctrl-x. That's bad.)
+
+/* key combination for command */
+#define IS_COMMAND() ( \
+    keyboard_report->mods == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_RCTL)) || \
+    keyboard_report->mods == (MOD_BIT(KC_LSFT) | MOD_BIT(KC_RSFT)) \
+)
+
 /*
  * Feature disable options
  *  These options are also useful to firmware size reduction.
@@ -65,4 +82,4 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 //#define NO_ACTION_FUNCTION
 //#define DEBUG_MATRIX_SCAN_RATE
 
-#endif
+#endif //FRENCHDEV_V1_CONFIG_H
diff --git a/keyboards/frenchdev/v1/v1.c b/keyboards/handwired/frenchdev/frenchdev.c
similarity index 98%
rename from keyboards/frenchdev/v1/v1.c
rename to keyboards/handwired/frenchdev/frenchdev.c
index 71c4b5cf5..101fe92e0 100644
--- a/keyboards/frenchdev/v1/v1.c
+++ b/keyboards/handwired/frenchdev/frenchdev.c
@@ -1,4 +1,4 @@
-#include "v1.h"
+#include "frenchdev.h"
 #include "i2cmaster.h"
 
 bool i2c_initialized = 0;
diff --git a/keyboards/frenchdev/v1/v1.h b/keyboards/handwired/frenchdev/frenchdev.h
similarity index 98%
rename from keyboards/frenchdev/v1/v1.h
rename to keyboards/handwired/frenchdev/frenchdev.h
index 4ef7a3512..bf4df18ef 100644
--- a/keyboards/frenchdev/v1/v1.h
+++ b/keyboards/handwired/frenchdev/frenchdev.h
@@ -105,7 +105,7 @@ inline void ergodox_led_all_set(uint8_t n)
     \
     { k57,   k47,  k37,   PL1,   PL2,   PL3   },   \
     { k56,   k46,  k36,   k26,   k16,   k06   },   \
-    { k55,   k44,  k35,   k25,   k15,   k05   },   \
+    { k55,   k45,  k35,   k25,   k15,   k05   },   \
     { k54,   k44,  k34,   k24,   k14,   k04   },   \
     { k53,   k43,  k33,   k23,   k13,   k03   },   \
     { k52,   k42,  k32,   k22,   k12,   k02   },   \
diff --git a/keyboards/frenchdev/v1/i2cmaster.h b/keyboards/handwired/frenchdev/i2cmaster.h
similarity index 100%
rename from keyboards/frenchdev/v1/i2cmaster.h
rename to keyboards/handwired/frenchdev/i2cmaster.h
diff --git a/keyboards/frenchdev/keymaps/default/keymap.c b/keyboards/handwired/frenchdev/keymaps/default/keymap.c
similarity index 99%
rename from keyboards/frenchdev/keymaps/default/keymap.c
rename to keyboards/handwired/frenchdev/keymaps/default/keymap.c
index 035e0179d..74b20cb0f 100644
--- a/keyboards/frenchdev/keymaps/default/keymap.c
+++ b/keyboards/handwired/frenchdev/keymaps/default/keymap.c
@@ -72,7 +72,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   KC_ESC,  BP_DQOT, BP_LGIL, BP_RGIL, BP_LPRN, BP_RPRN, BP_DTRM,                                        BP_DCRC, BP_AT,   BP_PLUS, BP_MINS, BP_SLSH, BP_ASTR, KC_BSPC, \
   KC_TAB,  BP_B,    BP_ECUT, BP_O,    BP_P,    BP_EGRV, BP_UNDS,                                        BP_EQL,  BP_K,    BP_V,    BP_D,    BP_L,    BP_J,    KC_ENT,  \
   BP_GRV,  BP_A,    BP_U,    BP_E,    BP_I,    BP_F,    BP_SCLN,                                        BP_EXLM, BP_C,    BP_T,    BP_S,    BP_R,    BP_N,    BP_APOS, \
-  M(M_SF), BP_Z,    BP_AGRV, BP_Y,    BP_X,    BP_W,    M(M_SFS), BP_CBSP, M(L2INS), M(L2LOC), BP_CDEL, M(M_SFS),BP_M,    BP_G,    KC_UP,   BP_H,    BP_Q,    M(M_SF), \
+  M(M_SF), BP_Z,    BP_AGRV, BP_Y,    BP_X,    KC_RBRACKET,    M(M_SFS), BP_CBSP, M(L2INS), M(L2LOC), BP_CDEL, M(M_SFS),BP_M,    BP_G,    KC_UP,   BP_H,    BP_Q,    M(M_SF), \
   KC_LCTL, KC_LGUI, KC_PSLS, BP_DOT,  BP_COMM, KC_SPACE,M(M_L1E), KC_LALT,                     KC_CAPS, M(M_L1E),KC_SPACE,KC_LEFT, KC_DOWN, KC_RIGHT,BP_COLN, KC_RCTL,   \
   //left pedals
   M(M_LP), M(M_RP), KC_TRNS, \
diff --git a/keyboards/handwired/frenchdev/keymaps/default/readme.md b/keyboards/handwired/frenchdev/keymaps/default/readme.md
new file mode 100644
index 000000000..1a81d1779
--- /dev/null
+++ b/keyboards/handwired/frenchdev/keymaps/default/readme.md
@@ -0,0 +1,13 @@
+layout :
+
+[default layout](http://i.imgur.com/r2Nvr4p.png)
+
+the thing when finished : 
+http://imgur.com/a/6FY8v
+
+concept and mockup:
+http://imgur.com/a/R0vvs
+
+to build :
+
+    docker run --rm -e keymap=default -e keyboard=frenchdev --rm -v D:/Repositories/qmk:/qmk:rw edasque/qmk_firmware
diff --git a/keyboards/frenchdev/v1/matrix.c b/keyboards/handwired/frenchdev/matrix.c
similarity index 99%
rename from keyboards/frenchdev/v1/matrix.c
rename to keyboards/handwired/frenchdev/matrix.c
index 70fa6a696..df2b8e8b0 100644
--- a/keyboards/frenchdev/v1/matrix.c
+++ b/keyboards/handwired/frenchdev/matrix.c
@@ -37,7 +37,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include "debug.h"
 #include "util.h"
 #include "matrix.h"
-#include "v1.h"
+#include "frenchdev.h"
 #include "i2cmaster.h"
 #ifdef DEBUG_MATRIX_SCAN_RATE
 #include  "timer.h"
diff --git a/keyboards/frenchdev/readme.md b/keyboards/handwired/frenchdev/readme.md
similarity index 91%
rename from keyboards/frenchdev/readme.md
rename to keyboards/handwired/frenchdev/readme.md
index 0d79930ac..47e4ade16 100644
--- a/keyboards/frenchdev/readme.md
+++ b/keyboards/handwired/frenchdev/readme.md
@@ -11,7 +11,7 @@ http://imgur.com/a/R0vvs
 
 to build :
 
-    docker run --rm -e keymap=default -e subproject=v1 -e keyboard=frenchdev --rm -v D:/Repositories/qmk:/qmk:rw edasque/qmk_firmware
+    docker run --rm -e keymap=default -e keyboard=frenchdev --rm -v D:/Repositories/qmk:/qmk:rw edasque/qmk_firmware
     
 
 The PHYSICAL rows and columns are connected as such :
@@ -60,3 +60,5 @@ and on left hand (main) :
 we use pull up resistor for SCL et VDA, see https://github.com/ErgoDox-EZ/docs/blob/master/ErgoDox%20EZ%20Schematic.pdf for example
 
 the connector is a standard TRRS (jack with audio + mic)
+
+Diode direction is row to column
diff --git a/keyboards/frenchdev/rules.mk b/keyboards/handwired/frenchdev/rules.mk
similarity index 93%
rename from keyboards/frenchdev/rules.mk
rename to keyboards/handwired/frenchdev/rules.mk
index e14a15407..40a3e4676 100644
--- a/keyboards/frenchdev/rules.mk
+++ b/keyboards/handwired/frenchdev/rules.mk
@@ -13,26 +13,12 @@
 #               (must have teensy_loader_cli installed).
 #
 #----------------------------------------------------------------------------
-# Build Options
-#   comment out to disable the options.
-#
-BOOTMAGIC_ENABLE ?= no  # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE  ?= yes # Mouse keys(+4700)
-EXTRAKEY_ENABLE  ?= yes # Audio control and System control(+450)
-CONSOLE_ENABLE   ?= yes  # Console for debug(+400)
-COMMAND_ENABLE   ?= yes # Commands for debug and configuration
-CUSTOM_MATRIX    ?= yes # Custom matrix file (taken and adapted from the ErgoDox EZ to acomodate custom number of columns)
-SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
-NKRO_ENABLE      ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-UNICODE_ENABLE   ?= yes # Unicode
-BACKLIGHT_ENABLE ?= no       # Enable keyboard backlight functionality on B7 by default
-MIDI_ENABLE ?= no            # MIDI controls
-UNICODE_ENABLE ?= no         # Unicode
-BLUETOOTH_ENABLE ?= no       # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE ?= no           # Audio output on port C6
-RGBLIGHT_ENABLE = no
 
-#MCU = at90usb1287
+# # project specific files
+SRC = twimaster.c \
+	  matrix.c
+
+# MCU name
 MCU = atmega32u4
 
 # Processor frequency.
@@ -48,8 +34,7 @@ MCU = atmega32u4
 #     software delays.
 F_CPU = 16000000
 
-# for avr upload
-USB ?= /dev/cu.usbmodem1421
+
 #
 # LUFA specific
 #
@@ -69,6 +54,10 @@ ARCH = AVR8
 #     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
 F_USB = $(F_CPU)
 
+# Interrupt driven control endpoint task(+60)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+
+
 # Boot Section Size in *bytes*
 #   Teensy halfKay   512
 #   Teensy++ halfKay 1024
@@ -77,3 +66,27 @@ F_USB = $(F_CPU)
 #   USBaspLoader     2048
 OPT_DEFS += -DBOOTLOADER_SIZE=512
 
+
+# Build Options
+#   comment out to disable the options.
+#
+BOOTMAGIC_ENABLE ?= no  # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE  ?= yes # Mouse keys(+4700)
+EXTRAKEY_ENABLE  ?= yes # Audio control and System control(+450)
+CONSOLE_ENABLE   ?= yes  # Console for debug(+400)
+COMMAND_ENABLE   ?= yes # Commands for debug and configuration
+CUSTOM_MATRIX    ?= yes # Custom matrix file (taken and adapted from the ErgoDox EZ to acomodate custom number of columns)
+SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend
+NKRO_ENABLE      ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+UNICODE_ENABLE   ?= yes # Unicode
+BACKLIGHT_ENABLE ?= no       # Enable keyboard backlight functionality on B7 by default
+MIDI_ENABLE ?= no            # MIDI controls
+UNICODE_ENABLE ?= no         # Unicode
+BLUETOOTH_ENABLE ?= no       # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE ?= no           # Audio output on port C6
+RGBLIGHT_ENABLE = no
+API_SYSEX_ENABLE ?= no
+
+#ifndef QUANTUM_DIR
+#	include ../../../Makefile
+#endif
diff --git a/keyboards/frenchdev/v1/twimaster.c b/keyboards/handwired/frenchdev/twimaster.c
similarity index 100%
rename from keyboards/frenchdev/v1/twimaster.c
rename to keyboards/handwired/frenchdev/twimaster.c