summaryrefslogtreecommitdiffstats
path: root/keyboards/helix
Commit message (Collapse)AuthorAgeFilesLines
* [Keyboard] Helix add split common option (#7718)MakotoKurauchi2020-03-1032-118/+248
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * is_master, has_usb() move to rev2.[hc] * Do recent helix/rev2 changes to helix/pico as well. helix/pico/matrix.c: remove 'is_master' helix/pico/pico.c: add 'is_master' helix/pico/pico.h: add 'has_usb()' macro helix/pico/split_util.c: remove 'setup_handedness()' 'has_usb()', add 'is_helix_master()' etc * add HELIX=scan option into {rev2/pico}/local_features.mk Made DEBUG_MATRIX_SCAN_RATE easy to use. * Changed rules.mk to link "helix/local_drivers/ssd1306.c" only when OLED_ENABLE = yes. * Added option to use split_common for helix/rev2, helix/pico keyboard. how to build: ### build helix/pico (HelixPico) with helix current codes $ make helix/pico:KEY_MAP $ make helix/pico/back:KEY_MAP ### build helix/rev2 (Helix or Helix beta) with helix current codes $ make helix:KEY_MAP $ make helix/rev2/back:KEY_MAP $ make helix/rev2/under:KEY_MAP $ make helix/rev2/oled:KEY_MAP $ make helix/rev2/oled/back:KEY_MAP $ make helix/rev2/oled/under:KEY_MAP ### build helix/pico (HelixPico) with split_common codes $ make helix/pico/sc:KEY_MAP $ make helix/pico/sc/back:KEY_MAP $ make helix/pico/sc/under:KEY_MAP ### build helix/rev2 (Helix) with split_common codes $ make helix/rev2/sc:KEY_MAP $ make helix/rev2/sc/back:KEY_MAP $ make helix/rev2/sc/under:KEY_MAP $ make helix/rev2/sc/oled:KEY_MAP $ make helix/rev2/sc/oledback:KEY_MAP $ make helix/rev2/sc/oledunder:KEY_MAP * add matrix_slave_scan_user() to helix/rev2/rev2.c, helix/pico/pico.h * Changed 'helix:xulkal' to always use split_common and removed ad hoc code. Added the following line to 'helix/rev2/keymaps/xulkal/rules.mk': SPLIT_KEYBOARD = yes Removed the following ad hoc code from 'users/xulkal/custom_oled.c': #if KEYBOARD_helix_rev2 extern uint8_t is_master; bool is_keyboard_master(void) { return is_master; } #endif * add '#define DIODE_DIRECTION COL2ROW' into helix/{rev2|pico}/config.h This commit does not change the build result. * update helix readme * keyboards/helix/readme.md * keyboards/helix/pico/keymaps/default/readme.md * keyboards/helix/rev2/keymaps/default/readme.md Co-authored-by: mtei <2170248+mtei@users.noreply.github.com>
* Clean up includes for glcdfont headers (#7745)Ryan2020-03-012-23/+3
| | | | | | | | * Clean up includes for glcdfont headers * Remove pragma once, most of these are not headers * Missed these
* Reduce SPLIT_USB_TIMEOUT by 500ms (#7637)Joel Challis2020-02-041-4/+8
| | | | | | | | | | * Update SPLIT_USB_TIMEOUT -500ms * Align keyboard level SPLIT_USB_TIMEOUT defaults * Align keyboard level SPLIT_USB_TIMEOUT_POLL * Review fixes
* Remove filesize changes from default-ish rules.mk files, sans handwired (#8040)ridingqwerty2020-01-302-5/+5
|
* [Keyboard] Added workaround for serial.c/LTO issue for helix/rev2 and ↵Takeshi ISHII2019-12-072-0/+10
| | | | helix/pico. (#7558)
* Port SPLIT_USB_DETECT to helix/rev2 (#7385)Eric Bunton2019-12-072-25/+60
| | | | | | | | * Port SPLIT_USB_DETECT to helix/rev2 * Remove debug toggles. * Rename is_keyboard_master to has_usb in split_util
* Helix default keymap update (#7465)MakotoKurauchi2019-12-032-33/+60
| | | | | | | | | | | | * 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
* Remove keymap_config extern from default keymaps (#7399)Drashna Jaelre2019-11-203-3/+0
| | | | | | | | | | * 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>
* [Keyboard] add Little Keyboards as a seller of helix pcbs outside of japan ↵Simon Aronsson2019-11-131-1/+1
| | | | | | | | (#7249) * add lkb as a seller of helix pcbs outside of japan * Update keyboards/helix/readme.md
* Remove duplicate pro_micro.h (#7246)fauxpark2019-11-032-7/+0
|
* Cleanup rules.mk for 32U4 keyboards, H (#7030)fauxpark2019-10-203-22/+6
| | | | | | * Cleanup rules.mk for 32U4 keyboards, H * Change some boards incorrectly assumed to be halfkay
* [Keyboard] Cleanup helix rules options (#6952)MakotoKurauchi2019-10-1654-1774/+646
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Remove KC_DELT alias in favor of KC_DEL (#6327)Konstantin Đorđević2019-08-301-2/+2
| | | | | | * Remove KC_DELT alias in favor of KC_DEL * Add changelog
* Remove old promicro_bootloader_jmp() declarations (#6444)fauxpark2019-08-213-13/+0
|
* Remove unused _BOOTLOADER definesfauxpark2019-08-042-6/+7
|
* Remove commented out MCUs in rules.mk (#5884)fauxpark2019-07-161-1/+0
|
* Remove/migrate action_get_macro()s from default keymaps (#5625)fauxpark2019-07-151-27/+6
| | | | | | * Remove/migrate action_get_macro()s from default keymaps * Leave these breaks alone
* Replace DEBOUNCING_DELAY (deprecated) with DEBOUNCE (#5997)Drashna Jaelre2019-06-063-3/+3
|
* [Keymap] Xulkal changes (#6075)XScorpion22019-06-052-0/+80
|
* Cleanup Default Keymaps (#5442)Drashna Jaelre2019-03-193-12/+5
| | | | | | | | * Cleanup Default Keymaps to conform to QMK Firmware standards * Minor fixes * Revert some changes
* Update edvorak keymap simplify (#5350)epaew2019-03-097-228/+87
| | | | | | | | * Update edvorakjp layouts * swap master hand * update tapping_term
* Update Helix 'led_test' keymapmtei2019-02-182-22/+1
| | | | Change to use keyboard_post_init_user() hook (#3113)
* Remove redundant KC_TRNS and KC_NO fillers in remaining keymaps (#5154)fauxpark2019-02-174-15/+0
|
* Remove redundant KC_TRNS and KC_NO fillers in default keymaps (#5152)fauxpark2019-02-164-16/+0
|
* Adds a default value for IS_COMMAND for COMMAND feature (#4301)Drashna Jaelre2019-01-263-20/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Fixed the build break of helix/rev1:OLED_sample caused by PR #4462. (#4874)Takeshi ISHII2019-01-181-0/+20
|
* Modified URLs to point to new locationsJeremy Bernhardt2019-01-131-1/+1
|
* Remove deprecated QUANTUM_DIR code blocks from makefiles (#4754)noroadsleft2019-01-049-35/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Keymap: Add Helix/pico keymap 'mtei' (#4696)Takeshi ISHII2018-12-203-0/+677
| | | | | | * add pico keymap 'mtei' * num layer key change
* Keyboard: Pr/helixpico add layout kc (#4686)MakotoKurauchi2018-12-201-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Keymap: Changed to use LAYOUT_kc() macro instead of LAYOUT() macro for easy ↵Takeshi ISHII2018-12-181-89/+83
| | | | maintenance. (#4676)
* Keymap: Fixed a problem with underglow with froggy keymap (#4580)MakotoKurauchi2018-12-091-5/+25
|
* adding Hadron v3 keyboard, QWIIC devices support, haptic feedback support ↵ishtob2018-12-041-25/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#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
* Remove RGB_SMOD alias and replace uses with RGB_MOD (#4319)Konstantin Đorđević2018-11-277-9/+9
|
* Fix Helix ws2812.c listed more than once warning. (#4499)Takeshi ISHII2018-11-272-4/+2
| | | | Remove `SRC += ws2812.c` from helix/rev2/rules.mk and helix/pico/rules.mk. Because it will be added in common_features.mk.
* Keymap: Refactor edvorakjp user library (#4480)epaew2018-11-265-13/+9
| | | | | | | | | | | | * Refactor edvorakjp user library * add tap dance support * update keymaps * edvorakjp: add SWAP_SCLN option * fix behavior of SWAP_SCLN
* Fix up screen off timer of helix (#4347)comaid2018-11-125-3/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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()
* Helix-serial.c configuration improvement (#4370)Takeshi ISHII2018-11-062-18/+23
| | | | | | | | | | | | | | The new simple API can be selected. Previous version, can select