summaryrefslogtreecommitdiff
path: root/keyboards/helix
AgeCommit message (Collapse)Author
2019-12-03Helix default keymap update (#7465)MakotoKurauchi
* add RGBRST key into helix/pico:default keymap ADJUST layer * update helix/rev2:default keymap's OLED display contents * add RGBRST key to HELIX_ROWS == 4 ADJUST layer * add CAPS key to RAISE, LOWER layer * add layer status display on slave side oled * add RGB LED status display on both side oled * save stack memory size
2019-11-20Remove keymap_config extern from default keymaps (#7399)Drashna Jaelre
* Remove keymap_config extern from default keymaps * Revert unicode Apparently VSCode does not like unicode, I didn't actually edit these lines, so it must have been automatic... :( Co-Authored-By: fauxpark <fauxpark@gmail.com>
2019-11-13[Keyboard] add Little Keyboards as a seller of helix pcbs outside of japan ↵Simon Aronsson
(#7249) * add lkb as a seller of helix pcbs outside of japan * Update keyboards/helix/readme.md
2019-11-03Remove duplicate pro_micro.h (#7246)fauxpark
2019-10-20Cleanup rules.mk for 32U4 keyboards, H (#7030)fauxpark
* Cleanup rules.mk for 32U4 keyboards, H * Change some boards incorrectly assumed to be halfkay
2019-10-16[Keyboard] Cleanup helix rules options (#6952)MakotoKurauchi
* add temporary test shell-spript * Use LINK_TIME_OPTIMIZATION_ENABLE instead of Link_Time_Optimization No change in build result. * Helix config.h use '#pragma once' No change in build result. * Helix helix.h,rev?/rev?.h,pico/pico.h use '#pragma once' No change in build result. * Use drivers/avr/pro_micro.h instead of keyboards/helix/pro_micro.h No change in build result. * remove keyboards/helix/{rev2|pico}/serial_config.h No change in build result. * 'HELIX_ROWS' macro is now referenced only in rev1/config.h and rev2/config.h. No change in build result. * The contents of helix/rules.mk were distributed to subdirectories. This is a preparation to create a new subdirectory for helix code using split_common. No change in build result. remove 'USE_I2C = yes', 'SUBPROJECT_rev1 = no' from keyboards/helix/rules.mk. follow code move from keyboards/helix/rules.mk to keyboards/helix/{rev1,rev2,pico}/rules.mk. ---- SRC += i2c.c SRC += serial.c SRC += ssd1306.c CUSTOM_MATRIX = yes --- * helix/{i2c.[ch], serial.[ch], ssd1306.[ch]} move into helix/local_drivers/ No change in build result. * Simplified 'helix/pico/keymap/*/rules.mk' using KEYBOARD_LOCAL_FEATURES_MK. No change in build result. * add keyboards/helix/pico/local_features.mk * add 'KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))local_features.mk' into keyboards/helix/pico/rules.mk * remove HELIX_CUSTOMISE_MSG from keyboards/helix/pico/keymaps/*/rules.mk * remove HELIX= process from keyboards/helix/pico/keymaps/*/rules.mk * remove convert code(helix to standaerd) from keyboards/helix/pico/keymaps/*/rules.mk * add 'include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))' into keyboards/helix/pico/keymaps/*/rules.mk * Simplified 'helix/rev2/keymap/*/rules.mk' using KEYBOARD_LOCAL_FEATURES_MK. No change in build result. * add keyboards/helix/rev2/local_features.mk * add 'KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))local_features.mk' into keyboards/helix/rev2/rules.mk * remove HELIX_CUSTOMISE_MSG from keyboards/helix/rev2/keymaps/*/rules.mk * remove HELIX= process from keyboards/helix/rev2/keymaps/*/rules.mk * remove convert code(helix to standaerd) from keyboards/helix/rev2/keymaps/*/rules.mk * add 'include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))' into keyboards/helix/rev2/keymaps/*/rules.mk * Added helix keyboard build NEW method. No change in build result. ## Helix build $ make helix:default ## no oled, no backlight, no underglow $ make helix/rev2/back:default ## no oled, with backlight, no underglow $ make helix/rev2/under:default ## no oled, no backlight, with underglow $ make helix/rev2/oled:default ## with oled, no backlight, not underglow $ make helix/rev2/oled/back:default ## with oled, with backlight, no underglow $ make helix/rev2/back/oled:default ## with oled, with backlight, no underglow $ make helix/rev2/oled/under:default ## with oled, no backlight, with underglow $ make helix/rev2/under/oled:default ## with oled, no backlight, with underglow ## Helix pico build $ make helix/pico:default ## no oled, no backlight, no underglow $ make helix/pico/back:default ## no oled, with backlight, no underglow $ make helix/pico/under:default ## no oled, no backlight, with underglow $ make helix/pico/oled:default ## with oled, no backlight, not underglow * add temporary test shell-spript * test end remove test script. Revert "add temporary test shell-spript" This reverts commit 5dac20cd0f8b4bc192edb2313652c1635f829657. * test end remove test script. Revert "add temporary test shell-spript" This reverts commit ec49f63b2dc0f2b3fe8c1c36ffa615cee2f7e3ed. * Extended the 'HELIX=' option. add keyword 'verbose', 'no_ani'. No change in build result. * update keyboards/helix/{rev2,pico}/keymaps/default/readme.md * rename KEYBOARD_TOP_DIR to HELIX_TOP_DIR in rules.mk * update keyboards/helix/{rev2,pico}/keymaps/default/readme_jp.md * rm keyboards/helix/pico/oled/rules.mk * update helix's readmes. All the ':avrdude' was replaced with ':flash'. * remove F_CPU, ARCH, F_USB, INTERRUPT_CONTROL_ENDPOINT from helix/rules.mk No change in build result.
2019-08-30Remove KC_DELT alias in favor of KC_DEL (#6327)Konstantin Đorđević
* Remove KC_DELT alias in favor of KC_DEL * Add changelog
2019-08-21Remove old promicro_bootloader_jmp() declarations (#6444)fauxpark
2019-08-04Remove unused _BOOTLOADER definesfauxpark
2019-07-16Remove commented out MCUs in rules.mk (#5884)fauxpark
2019-07-15Remove/migrate action_get_macro()s from default keymaps (#5625)fauxpark
* Remove/migrate action_get_macro()s from default keymaps * Leave these breaks alone
2019-06-06Replace DEBOUNCING_DELAY (deprecated) with DEBOUNCE (#5997)Drashna Jaelre
2019-06-05[Keymap] Xulkal changes (#6075)XScorpion2
2019-03-19 Cleanup Default Keymaps (#5442)Drashna Jaelre
* Cleanup Default Keymaps to conform to QMK Firmware standards * Minor fixes * Revert some changes
2019-03-09Update edvorak keymap simplify (#5350)epaew
* Update edvorakjp layouts * swap master hand * update tapping_term
2019-02-18Update Helix 'led_test' keymapmtei
Change to use keyboard_post_init_user() hook (#3113)
2019-02-17Remove redundant KC_TRNS and KC_NO fillers in remaining keymaps (#5154)fauxpark
2019-02-16Remove redundant KC_TRNS and KC_NO fillers in default keymaps (#5152)fauxpark
2019-01-26Adds a default value for IS_COMMAND for COMMAND feature (#4301)Drashna Jaelre
* Add default value for IS_COMMAND for COMMAND feature * Cleanup and consistency * Update Templates to reflect change * Fix IS_COMMAND in template * Fix IS_COMMAND define * Use consistent IS_COMMAND block in templates * Remove unnecessary `#undef IS_COMMAND` directives * Fix compile issue on orthodox * Reomve IS_COMMAND option for newer boards * Remove all existing definitions of IS_COMMAND if they use default LSHIFT and RSHIFT setting * Remove a couple of additional IS_COMMAND defines * Remove remaining redundant IS_COMMAND definitions * Remove #undef IS_COMMAND from orthodox:drashna and whitefox:konstantin * Remove multiple empty lines in modified config.h files * Update additional boards * Reomve IS_COMMAND from newer boards * Update Alice keyboard * Remove IS_COMMAND from additional boards Jan 24th edition
2019-01-18Fixed the build break of helix/rev1:OLED_sample caused by PR #4462. (#4874)Takeshi ISHII
2019-01-13Modified URLs to point to new locationsJeremy Bernhardt
2019-01-04Remove deprecated QUANTUM_DIR code blocks from makefiles (#4754)noroadsleft
* Remove QUANTUM_DIR code blocks from keyboard rules This commit removes the deprecated "QUANTUM_DIR" code block from rules.mk files that affect entire keyboards. * remove QUANTUM_DIR code blocks from rules for default keymaps This commit removes the deprecated "QUANTUM_DIR" code block from rules.mk files that affect default keymaps. * remove QUANTUM_DIR code blocks from rules for user keymaps This commit removes the deprecated "QUANTUM_DIR" code block from rules.mk files that affect "user" keymaps. (It's actually any keymap that isn't named `default`.) * remove QUANTUM_DIR code blocks from rules for community layouts This commit removes the deprecated "QUANTUM_DIR" code block from rules.mk files for community layouts. * remove QUANTUM_DIR code blocks from rules for userspaces This commit removes the deprecated "QUANTUM_DIR" code block from rules.mk files for userspaces.
2018-12-20Keymap: Add Helix/pico keymap 'mtei' (#4696)Takeshi ISHII
* add pico keymap 'mtei' * num layer key change
2018-12-20Keyboard: Pr/helixpico add layout kc (#4686)MakotoKurauchi
* add some comment about Helix customize and auto-setup RGBLIGHT_LIMIT_VAL * add define USB_MAX_POWER_CONSUMPTION * Helix keyboard OLED, RGBLIGHT enable/disable control integrate into rules.mk rules.mk: add 4 Variables for compile control. # Helix keyboard customize # you can edit follows 4 Variables # jp: 以下の4つの変数を必要に応じて編集します。 OLED_ENABLE = no # OLED_ENABLE LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.) LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.) LED_ANIMATIONS = yes # LED animations config.h: auto set RGBLED_NUM by HELIX_ROWS and rules.mk's define * HELIX_ROWS define move from config.h to rules.mk * add readme.md * rename readme.md to readme_jp.md * add readme.md and modify readme_jp.md * change helix/ssd1306.c for select glcdfont.c position * add variable LOCAL_GLCDFONT into each keymaps rules.mk * Add iPhone/iPad LED support to Helix default keymap * renumber _ADJUST for shrink program size * Fix Helix i2c wrong bit rate * add helix serial debug code * serial debug macro move from config.h to serial.h * helix serial.c debugging... * refine debug macros * add some comments * add SELECT_SERIAL_SPEED * add comments * debugging sync_send/sync_recv * add very high speed * fix sync_send/sync_recv * fix com. start and switch send/recv * debug mode off * remove debug codes * temporary change, compiling C, C++ and ASM without -g * helix config.h refine * Revert "temporary change, compiling C, C++ and ASM without -g" This reverts commit e9730cbbfd94fbcf792d992e3a1a65ad279b24d6. * add change_reciver2sender()/change_sender2reciver() This is a change to improve readability. * txled, rxled off in matrix_init() * add serial_send_packet() / serial_recive_packet() This is a change to reduce object size. * add serial_low() at ISR() top * add __attribute__((always_inline)) to some functions * modify serial_send_packet()/serial_recive_packet() A little, object size reduction. A little, speedup. * add debug code to helix/serial.c * Adjust sampling timing of serial signal being received * add split_scomm.c/split_scomm.h and change serial.c/serial.h serial.c was divided into 2 layers, split_scom.c and serial.c. The upper layer split_scomm.c is called from matrix.c. The lower layer serial.c accesses the hardware. * add split_scomm.c/split_scomm.h into helix/rev1 * reduce object size helix/rev2/matrix.c * remove checksum check, add parity check * force occur parity error for test * parity test ok. remove test code * change some comment & add skip code when buffer_size == 0 * serial.c: multiple types of transaction support Add 4 bits transaction-type field at packet top. Select Transaction Descriptor Table entry by transaction-type. * helix serial master-slave transaction optimize Using multi-type transaction feature of serial.c, communication contents between master slaves were optimized. * add debug code for retry * add comment into each config.h * fix ISR status drop * add a debug macro 'debug_retry_chg()' * reduce led_test size * remove debug code from helix/serial.c and etc. * helix:five_rows change TAPPING_TERM value 140 * Improved compatibility with let's split of serial.c. Finish helix/serial.c improvement. - The difference with the original let's split's serial.c - It's high-speed about 4 times. - Stable bi-directional data transfer. (Helix need master to slave transfer) - serial.h was divided 2 files, serial_config.h and sereial.h - With multiple types of transaction support, communication contents can be optimized. (NEW flexible API) - USE OLD Simple APIs (compatible with let's split serial.c) - files : - serial_config.h -- hardware configuration (need include by config.h) - serial.c/serial.h -- serial communication - USE NEW flexible APIs. (Support multi-type transaction function.) serial.c was divided into 2 layers, split_scom.c and serial.c. The upper layer split_scomm.c is called from matrix.c. The lower layer serial.c accesses the hardware. - files - split_scomm.c -- communication buffer is defined in here. call by matrix.c. - split_scomm.h -- buffer size is defined in here. include by matrix.c, split_util.c - serial_config.h -- hardware configuration (need include by config.h) To use the NEW API, specify #define SERIAL_USE_MULTI_TRANSACTION - serial.c/serial.h -- serial communication lower layer - NEW APIs for serial.c / serial.h (The lower layer) // Soft Serial Transaction Descriptor typedef struct _SSTD_t { uint8_t *status; uint8_t initiator2target_buffer_size; uint8_t *initiator2target_buffer; uint8_t target2initiator_buffer_size; uint8_t *target2initiator_buffer; } SSTD_t; // initiator is transaction start side void soft_serial_initiator_init(SSTD_t *sstd_table); // target is interrupt accept side void soft_serial_target_init(SSTD_t *sstd_table); int soft_serial_transaction(int sstd_index); int soft_serial_get_and_clean_target_status(int sstd_index); - NEW APIs for split_scomm.c / split_scomm.h (The upper layer) move from old serial.c the following buffer and functions serial_slave_buffer[] serial_master_buffer[] void serial_master_init(void) void serial_slave_init(void) int serial_update_buffers(void) define SERIAL_xxxxx_BUFFER_LENGTH move from serial_config.h to split_scomm.h * fix comment typo * Fix the value of helix:five_rows variable HELIX_ROWS to 5. * led_test rules.mk some change * Separate common parts of helix/rev2/keymaps/*/rules.mk into helix/rev2/keymaps_common.mk * helix/rev2/keymaps/edvorakjp/rules.mk use helix/rev2/keymaps_common.mk * Separate common parts of helix/pico/keymaps/*/rules.mk into helix/pico/keymaps_common.mk * Helix each keymap's using rgblight mode symbol instead magic number No change in build result. * Helix pico keymaps: make rgblight modes selectable. No change in build result. * Helix rev2 keymaps: make rgblight modes selectable. No change in build result. * fixed Helix froggy/keymap.c: invalid rgblight mode value 0 to 1 (=RGBLIGHT_MODE_STATIC_LIGHT) * Deselect RGB_TEST and ALTERNATING in Helix rev2,pico keymaps config.h. * Merge branch 'master' of https://github.com/qmk/qmk_firmware * revert 955dcbc * delete keymaps_common.mk * add LAYOUT_kc() to keyboards/helix/pico/pico.h
2018-12-18Keymap: Changed to use LAYOUT_kc() macro instead of LAYOUT() macro for easy ↵Takeshi ISHII
maintenance. (#4676)
2018-12-09Keymap: Fixed a problem with underglow with froggy keymap (#4580)MakotoKurauchi
2018-12-04adding Hadron v3 keyboard, QWIIC devices support, haptic feedback support ↵ishtob
(#4462) * add initial support for hadron ver3 * add initial support for hadron ver3 * pull qwiic support for micro_led to be modified for use in hadron's 64x24 ssd1306 oled display * initial work on OLED using qwiic driver * early work to get 128x32 oled working by redefining qwiic micro oled parameters. Currently working, but would affect qwiic's micro oled functionality * moved oled defines to config.h and added ifndef to micro_oled driver * WORKING :D - note, still work in progress to get the start location correct on the 128x32 display. * added equation to automatically calculate display offset based on screen width * adding time-out timer to oled display * changed read lock staus via read_led_state * lock indications fixes * Added scroll lock indication to oled * add support for DRV2605 haptic driver * Improve readabiity of DRV2605 driver. -added typedef for waveform library -added unions for registers * Update keyboards/hadron/ver2/keymaps/default/config.h Co-Authored-By: ishtob <ishtob@gmail.com> * Update keyboards/hadron/ver2/keymaps/default/config.h Co-Authored-By: ishtob <ishtob@gmail.com> * Update keyboards/hadron/ver2/keymaps/default/config.h Co-Authored-By: ishtob <ishtob@gmail.com> * Update keyboards/hadron/ver2/keymaps/default/config.h Co-Authored-By: ishtob <ishtob@gmail.com> * Fixes for PR * PR fixes * fix old persistent layer function to use new set_single_persistent_default_layer * fix issues with changing makefile defines that broken per-key haptic pulse * Comment fixes * Add definable parameter and auto-calibration based on motor choice
2018-11-27Remove RGB_SMOD alias and replace uses with RGB_MOD (#4319)Konstantin Đorđević
2018-11-27Fix Helix ws2812.c listed more than once warning. (#4499)Takeshi ISHII
Remove `SRC += ws2812.c` from helix/rev2/rules.mk and helix/pico/rules.mk. Because it will be added in common_features.mk.
2018-11-26Keymap: Refactor edvorakjp user library (#4480)epaew
* Refactor edvorakjp user library * add tap dance support * update keymaps * edvorakjp: add SWAP_SCLN option * fix behavior of SWAP_SCLN
2018-11-12Fix up screen off timer of helix (#4347)comaid
* Fix up screen off timer of helix * Fix Up ScreenOffInterval exceeded uint16_t * Fix Up never waking up once screen off if in case of matrix are not dirty * Changing referenIng incorrect constant name * OLED_ENABLED => SSD1306OLED * Improve internal processing of process_record_kb() * Use the return value of process_record_gfx() * Move a include statement into #ifdef block Move #include "ssd1306.h` statement into #ifdef block * Move process_record_kbI() Move process_record_kb() from helix.c to rev1.c/rev2.c/pico.c * Move process_record_kb()
2018-11-06Helix-serial.c configuration improvement (#4370)Takeshi ISHII
The new simple API can be selected. Previous version, can select two way. * use old API (compatible with let's split serial.c) * use new API (multi-type transaction) This version, can select three way. * use old API (compatible with let's split serial.c) * use new API (single-type transaction) * use new API (multi-type transaction) There is no change in the code generated by this change.
2018-10-29helix serial.c: Add the version of gcc used for adjustment to the comment.mtei
2018-10-28helix serial.c: add some commentmtei
2018-10-28Helix serial.c re-adjust compiler depend value of delay (#4269)Takeshi ISHII
* Helix serial.c add debug code * re-adjust READ_WRITE_WIDTH_ADJUST values * re-adjust READ_WRITE_START_ADJUST values * re-adjust TID_SEND_ADJUST value * Helix serial.c: remove debug code
2018-10-22Remove all of the deprecated RGB definesDrashna Jaelre
Fixes #3641
2018-10-22Replace outdated RGB/Audio informationDrashna Jaelre
2018-10-22Keyboard: Helix serial.c, split_scom.c bug fix and update (#4191)Takeshi ISHII
* helix/serial.c add support PD1,PD3,PE6 and configuration simplify * Add comment about ATmega32U4 I2C * Add compile time check for ATmega32U4 I2C * change TAB code to 8 SPACE code * Helix serial.c PORTD,PD0 test. OK OK PD0 - PD1 OK PD2 - PD3 - PE6 * Helix serial.c PORTD,PD1 test. OK OK PD0 OK PD1 OK PD2 - PD3 - PE6 * Helix serial.c PORTD,PD3 test. OK OK PD0 OK PD1 OK PD2 OK PD3 - PE6 * Helix serial.c PORTE,PD6 test. OK OK PD0 OK PD1 OK PD2 OK PD3 OK PE6 * Helix serial.c: PD0,PD1,PD3,PE6 all test end * Helix serial.c: rename SOFT_SERIAL_PORT to SOFT_SERIAL_PIN * Helix serial.c add debug code * Helix serial.c: add transaction ID range check * Helix serial.c debug code update * Helix serial.c debug code update * Helix serial.c: Strict checking of the value of tid. * adjust the delay of serial.c * Helix serial.c: remove debug code * remove EXTRAFLAGS += -DCONSOLE_ENABLE from five_rows/rules.mk tmk_core/common.mk has >ifeq ($(strip $(CONSOLE_ENABLE)), yes) > TMK_COMMON_DEFS += -DCONSOLE_ENABLE * Fix error handling in split_scomm.c * add some comment to serial.c * add some comment about SELECT_SOFT_SERIAL_SPEED
2018-10-10Keymaps: Helix rgblight mode update (#4091)MakotoKurauchi
* Helix each keymap's using rgblight mode symbol instead magic number No change in build result. * Helix pico keymaps: make rgblight modes selectable. No change in build result. * Helix rev2 keymaps: make rgblight modes selectable. No change in build result. * fixed Helix froggy/keymap.c: invalid rgblight mode value 0 to 1 (=RGBLIGHT_MODE_STATIC_LIGHT) * Deselect RGB_TEST and ALTERNATING in Helix rev2,pico keymaps config.h.
2018-10-05Keyboard: Helix five_rows keymap reduced size (#4082)Takeshi ISHII
* add PERMISSIVE_HOLD in helix:five_rows/config.h * add Eucalyn char layout into helix:five_rows * Helix five_rows keymap: make rgblight modes selectable. No change in build result. * fix keymap.c map comment, add console compile option No change in build result. * Helix five_rows keymap: reduced the size.
2018-09-29Helix led_test keymap reduce size (#4023)Takeshi ISHII
* Helix: make rgblight modes selectable. No change in build result. * edit the comment of helix/rev2/keymaps/default/keymap.c * Helix led_test keymap: reduced the size.
2018-09-29Keymap: Fixed a possible of buffer overflow. (#4016)marksard
Update inline funnction to static inline function. Fixed error of if enabe ADJUST_MACRO_ENABLE.
2018-09-17Make `PREVENT_STUCK_MODIFIERS` the default (#3107)Joe Wasson
* Remove chording as it is not documented, not used, and needs work. * Make Leader Key an optional feature. * Switch from `PREVENT_STUCK_MODIFIERS` to `STRICT_LAYER_RELEASE` * Remove `#define PREVENT_STUCK_MODIFIERS` from keymaps.
2018-09-09Keymap: remove unnecessary readme from my helix keymap (#3860)Yasuhiro Shimizu
2018-09-01Keymap: add yshrsmz keymaps (#3770)Yasuhiro Shimizu
* add ergo42 keymap * add helix keymap * add keymap for lets_split * Add keymap for nyquist * update keymaps to address review comments - remove unneeded include - use `#pragma once`
2018-08-29Keyboard: remove old comment from keyboards/helix/rules.mk (#3795)Takeshi ISHII
remove 2 lines from keyboards/helix/rules.mk | -# if firmware size over limit, try this option | -# CFLAGS += -flto | - see keyboards/helix/[rev2|pico]/keymaps/EACH_MAP/rules.mk: | Link_Time_Optimization = no # if firmware size over limit, try this option : : : | ifeq ($(strip $(Link_Time_Optimization)),yes) | EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization | endif
2018-08-15Keymap: Helix : Update froggy keymap (#3652)MakotoKurauchi
* led ripple effect * fix key name
2018-08-11Keymap: Port ergo42/biacco keymap to Helix pico (#3585)Biacco42
* Port ergo42/biacco keymap to Helix pico * Fix for review
2018-08-10Keyboard: Helix serial improvements (#3608)MakotoKurauchi
* add change_reciver2sender()/change_sender2reciver() This is a change to improve readability. * txled, rxled off in matrix_init() * add serial_send_packet() / serial_recive_packet() This is a change to reduce object size. * add serial_low() at ISR() top * add __attribute__((always_inline)) to some functions * modify serial_send_packet()/serial_recive_packet() A little, object size reduction. A little, speedup. * add debug code to helix/serial.c * Adjust sampling timing of serial signal being received * add split_scomm.c/split_scomm.h and change serial.c/serial.h serial.c was divided into 2 layers, split_scom.c and serial.c. The upper layer split_scomm.c is called from matrix.c. The lower layer serial.c accesses the hardware. * add split_scomm.c/split_scomm.h into helix/rev1 * reduce object size helix/rev2/matrix.c * remove checksum check, add parity check * force occur parity error for test * parity test ok. remove test code * change some comment & add skip code when buffer_size == 0 * serial.c: multiple types of transaction support Add 4 bits transaction-type field at packet top. Select Transaction Descriptor Table entry by transaction-type. * helix serial master-slave transaction optimize Using multi-type transaction feature of serial.c, communication contents between master slaves were optimized. * add debug code for retry * add comment into each config.h * fix ISR status drop * add a debug macro 'debug_retry_chg()' * reduce led_test size * remove debug code from helix/serial.c and etc. * helix:five_rows change TAPPING_TERM value 140 * Improved compatibility with let's split of serial.c. Finish helix/serial.c improvement. - The difference with the original let's split's serial.c - It's high-speed about 4 times. - Stable bi-directional data transfer. (Helix need master to slave transfer) - serial.h was divided 2 files, serial_config.h and sereial.h - With multiple types of transaction support, communication contents can be optimized. (NEW flexible API) - USE OLD Simple APIs (compatible with let's split serial.c) - files : - serial_config.h -- hardware configuration (need include by config.h) - serial.c/serial.h -- serial communication - USE NEW flexible APIs. (Support multi-type transaction function.) serial.c was divided into 2 layers, split_scom.c and serial.c. The upper layer split_scomm.c is called from matrix.c. The lower layer serial.c accesses the hardware. - files - split_scomm.c -- communication buffer is defined in here. call by matrix.c. - split_scomm.h -- buffer size is defined in here. include by matrix.c, split_util.c - serial_config.h -- hardware configuration (need include by config.h) To use the NEW API, specify #define SERIAL_USE_MULTI_TRANSACTION - serial.c/serial.h -- serial communication lower layer - NEW APIs for serial.c / serial.h (The lower layer) // Soft Serial Transaction Descriptor typedef struct _SSTD_t { uint8_t *status; uint8_t initiator2target_buffer_size; uint8_t *initiator2target_buffer; uint8_t target2initiator_buffer_size; uint8_t *target2initiator_buffer; } SSTD_t; // initiator is transaction start side void soft_serial_initiator_init(SSTD_t *sstd_table); // target is interrupt accept side void soft_serial_target_init(SSTD_t *sstd_table); int soft_serial_transaction(int sstd_index); int soft_serial_get_and_clean_target_status(int sstd_index); - NEW APIs for split_scomm.c / split_scomm.h (The upper layer) move from old serial.c the following buffer and functions serial_slave_buffer[] serial_master_buffer[] void serial_master_init(void) void serial_slave_init(void) int serial_update_buffers(void) define SERIAL_xxxxx_BUFFER_LENGTH move from serial_config.h to split_scomm.h
2018-08-02Keymap: refactoring and modifief to helix five rows jis (#3552)marksard
* display of LED mode * refactoring * modified a keymap * use extra jp header