Friday 8 October 2021

Essential Compilation

 C:\Users\chino\qmk_firmware\vial-qmk\keyboards\sofle\keymaps\foureight85

1. Encoder update problem 

override to bool encoder_update_user(uint8_t index, bool clockwise) and adding a return true; at the end of the function work?

edit was able to successfully compile and flash the firmware after changing function definition in keymap.c

 //

encoder for media

Make sure that you have #define TAP_CODE_DELAY 10 in your config.h file, and then try.

2. Rotary for vial update here

https://get.vial.today/docs/encoders.html



3. Reducing firmware size of vial 

https://get.vial.today/docs/firmware-size.html

a.

To enable LTO, add the following line to your keymaps/vial/rules.mk:

LTO_ENABLE = yes

b. 

To turn off this feature, add the following line to your keymaps/vial/rules.mk:

QMK_SETTINGS = no

c.

To reduce RAM and EEPROM usage, you can define the following in your config.h: #define VIAL_COMBO_ENTRIES 4.

To turn off this feature, add the following line to your keymaps/vial/rules.mk:

COMBO_ENABLE = no
TAP_DANCE_ENABLE = no 

d.

If you are running out of EEPROM, you can reduce the number of dynamic keymap layers. The default layer count is 4. To reduce it, define in your config.h file:

#define DYNAMIC_KEYMAP_LAYER_COUNT 2

 

e. 

// Reduce firmware size suggested by Drashna; however did not do so if console already disabled in rules
// CONSOLE_ENABLE = no         # Console for debug
    #ifndef NO_DEBUG
    #define NO_DEBUG
    #endif // !NO_DEBUG
    #if !defined(NO_PRINT) && !defined(CONSOLE_ENABLE)
    #define NO_PRINT
    #endif // !NO_PRINT

 

 

 

 

4. From via to vial

a. keymaps/via/rules.mk

VIAL_ENABLE = yes
VIAL_INSECURE = yes
VIAL_ENCODERS_ENABLE = yes

      
b. via.json change to vial.json, store in keymaps/via/
 
c. vial-qmk run 
 python3 util/vial_generate_keyboard_uid.py
 
d. copy the id add to define under config.h
 #define VIAL_KEYBOARD_UID


5. RGB lighting effects

https://beta.docs.qmk.fm/using-qmk/hardware-features/lighting/feature_rgblight

config.h

#define RGB_DI_PIN D3
#ifdef RGB_DI_PIN
  #define RGBLED_NUM 11
  #define RGBLIGHT_HUE_STEP 16
  #define RGBLIGHT_SAT_STEP 16
  #define RGBLIGHT_VAL_STEP 16
  #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
  #define RGBLIGHT_SLEEP  /* If defined, the RGB lighting will be switched off when the host goes to sleep */
// /*== all animations enable ==*/
//  #define RGBLIGHT_ANIMATIONS     #delete to reduce memory
// /*== or choose animations ==*/
//   #define RGBLIGHT_EFFECT_BREATHING
//   #define RGBLIGHT_EFFECT_RAINBOW_MOOD
   #define RGBLIGHT_EFFECT_RAINBOW_SWIRL   
//   #define RGBLIGHT_EFFECT_SNAKE
//   #define RGBLIGHT_EFFECT_KNIGHT
//   #define RGBLIGHT_EFFECT_CHRISTMAS
   #define RGBLIGHT_EFFECT_STATIC_GRADIENT
//   #define RGBLIGHT_EFFECT_RGB_TEST
//   #define RGBLIGHT_EFFECT_ALTERNATING
// /*== customize breathing effect ==*/
//   /*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
//   #define RGBLIGHT_BREATHE_TABLE_SIZE 256      // 256(default) or 128 or 64
//   /*==== use exp() and sin() ====*/
//   #define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85  // 1 to 2.7
//   #define RGBLIGHT_EFFECT_BREATHE_MAX    255   // 0 to 255
#endif



Kicad and EDA

1. Pack rar from Kicad for pcb submission

(ZIP)


2. From Kicad to EDA

https://docs.easyeda.com/en/Import/Import-KiCAD/index.html

If you only want to import the PCB, you just need to ZIP the PCB file and then import it.

 

 

Split usb type c port

- USBLC6-2SC6 (for electro-static), then connecting to PinSocket_1x04_P2.54mm_Vertical (j6)

- USB_C_Receptacle_HRO_TYPE-C-31-M-12 (separated usb type c port)

- 2 resistors 5.1k, connecting to u2 (electro-static)




If split with left and right matrix L01, R01



/*follow for gaming*/
#define USB_POLLING_INTERVAL_MS 1
#define QMK_KEYS_PER_SCAN 12