Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

how to copy helix/serial.c to anther keyboard [simple version] #4

Closed
wants to merge 2 commits into from

Conversation

mtei
Copy link
Owner

@mtei mtei commented Aug 26, 2018

helix/serial.c を他のキーボードに持ち込む手順をコミットの形で説明しています。

このPR で表しているのは、元の serial.c を helix/serial.c に置き換えて、簡単なスピードアップと安定性の増加を行う、2ステップの手順です。

各コミットのコミットログに手順の詳細が説明してあります。各コミットの差分が作業の実際のサンプルになっています。

mtei added 2 commits August 27, 2018 01:48
 ** helix/serial.c を他のキーボードに持ち込む手順 1/2 です。**

KEYBORAD/serial.h の冒頭の以下の define 群を KEYBORAD/serial_config.h に分離して
KEYBORAD/config.h から include するようにします。
(または、KEYBORAD/config.h に直接この内容を書き加えるのでも構いません。)

 | #define SERIAL_PIN_DDR DDRD
 | #define SERIAL_PIN_PORT PORTD
 | #define SERIAL_PIN_INPUT PIND
 | #define SERIAL_PIN_MASK _BV(PD2)
 | #define SERIAL_PIN_INTERRUPT INT2_vect
 |
 | #define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2
 | #define SERIAL_MASTER_BUFFER_LENGTH 1

この際に、下記のような、#define USE_SERIAL_PD2 のような接続ピンの切り分け用マクロは不要。
ハードの設計通りに
  SERIAL_PIN_MASK _BV(PD?) の ?
と
  SERIAL_PIN_INTERRUPT INT?_vect の ?
を記述するだけで良いです。
(したがって、#define USE_SERIAL_PD2 の定義は削除して構いません )

  > #ifndef USE_SERIAL_PD2
  > #define SERIAL_PIN_MASK _BV(PD0)
  > #define SERIAL_PIN_INTERRUPT INT0_vect
  > #else
  > #define SERIAL_PIN_MASK _BV(PD2)
  > #define SERIAL_PIN_INTERRUPT INT2_vect
  > #endif

備考
  このサンプルコミットでは、説明を兼ねて、KEYBOARD/serial.h の define 群をコメントに
  置き換えていますが、次のコミットで、KEYBOARD/serial.h 全体が書き換えられるので、
  実際には KEYBOARD/serial.h の変更は不要です。
 ** helix/serial.c を他のキーボードに持ち込む手順 2/2 です。**

keyboards/KEYBOARD/serial.c の先頭 10行目から 20行目の付近にある
  | #ifndef USE_I2C
または、
  | #ifdef USE_SERIAL
を見て記憶しておきます。

以下の二つの cp を実行します。
% cp keyboards/helix/serial.h keyboards/KEYBOARD
% cp keyboards/helix/serial.c keyboards/KEYBOARD

コピー後の keyboards/KEYBOARD/serial.c の17行目あたりにある
  | #ifdef USE_SERIAL
を上で記憶した元の記述に書き換えます。

以上の前コミットと本コミットの2つのステップで、
serial のスピードが 3倍以上4倍未満、長いケーブル使った時の安定性が増します。
@mtei mtei added the Sample only this is modify sample. Not real pullrequest. Never Merge. label Aug 26, 2018
@mtei mtei closed this Aug 26, 2018
mtei pushed a commit that referenced this pull request Dec 18, 2018
define USB_MAX_POWER_CONSUMPTION and some customize support
mtei pushed a commit that referenced this pull request May 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Sample only this is modify sample. Not real pullrequest. Never Merge.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant