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

sn32 rgb: yet another major update - more modularity #369

Merged
merged 19 commits into from
Sep 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions builddefs/common_features.mk
Original file line number Diff line number Diff line change
Expand Up @@ -448,7 +448,7 @@ RGB_MATRIX_DRIVER := snled27351
endif

RGB_MATRIX_ENABLE ?= no
VALID_RGB_MATRIX_TYPES := aw20216s is31fl3218 is31fl3236 is31fl3729 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a snled27351 ws2812 sn32f24xb sled1734x custom
VALID_RGB_MATRIX_TYPES := aw20216s is31fl3218 is31fl3236 is31fl3729 is31fl3731 is31fl3733 is31fl3736 is31fl3737 is31fl3741 is31fl3742a is31fl3743a is31fl3745 is31fl3746a snled27351 ws2812 sn32f2xx sled1734x custom

ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
ifeq ($(filter $(RGB_MATRIX_DRIVER),$(VALID_RGB_MATRIX_TYPES)),)
Expand Down Expand Up @@ -566,10 +566,9 @@ ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
APA102_DRIVER_REQUIRED := yes
endif

ifeq ($(strip $(RGB_MATRIX_DRIVER)), sn32f24xb)
OPT_DEFS += -DSHARED_MATRIX
COMMON_VPATH += $(DRIVER_PATH)/led/sn32
SRC += rgb_matrix_sn32f24xb.c
ifeq ($(strip $(RGB_MATRIX_DRIVER)), sn32f2xx)
COMMON_VPATH += $(DRIVER_PATH)/led
SRC += sn32f2xx.c
endif

ifeq ($(strip $(RGB_MATRIX_CUSTOM_KB)), yes)
Expand Down
2 changes: 1 addition & 1 deletion data/schemas/keyboard.jsonschema
Original file line number Diff line number Diff line change
Expand Up @@ -567,7 +567,7 @@
"snled27351",
"ws2812",
"sled1734x",
"sn32f24xb"
"sn32f2xx"
]
},
"center_point": {
Expand Down
13 changes: 0 additions & 13 deletions drivers/led/sn32/sn32f24xb.h

This file was deleted.

340 changes: 240 additions & 100 deletions drivers/led/sn32/rgb_matrix_sn32f24xb.c → drivers/led/sn32f2xx.c

Large diffs are not rendered by default.

80 changes: 80 additions & 0 deletions drivers/led/sn32f2xx.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
/* Copyright 2024 Dimitris Mantzouranis <[email protected]>
*
* 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
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

#include <stdint.h>
#include <stdbool.h>

#if !defined(SN32_LED_OUTPUT_LUMINOSITY_R)
# define SN32_LED_OUTPUT_LUMINOSITY_R 1
#endif
#if !defined(SN32_LED_OUTPUT_LUMINOSITY_G)
# define SN32_LED_OUTPUT_LUMINOSITY_G 1
#endif
#if !defined(SN32_LED_OUTPUT_LUMINOSITY_B)
# define SN32_LED_OUTPUT_LUMINOSITY_B 1
#endif

#if defined(RGB_MATRIX_SN32F2XX)
# define SN32F2XX_LED_COUNT RGB_MATRIX_LED_COUNT
#endif

#if !defined(SN32_PWM_OUTPUT_ACTIVE_LEVEL)
# define SN32_PWM_OUTPUT_ACTIVE_LEVEL SN32_PWM_OUTPUT_ACTIVE_LOW
#endif

#if !defined(SN32_RGB_OUTPUT_ACTIVE_LEVEL)
# define SN32_RGB_OUTPUT_ACTIVE_LEVEL SN32_RGB_OUTPUT_ACTIVE_HIGH
#endif

#if !defined(SN32_PWM_CONTROL)
# define SN32_PWM_CONTROL HARDWARE_PWM
#endif

#if !defined(SN32_PWM_DIRECTION)
# define SN32_PWM_DIRECTION DIODE_DIRECTION
#endif

#if !defined(SN32_RGB_MATRIX_ROW_CHANNELS)
# define SN32_RGB_MATRIX_ROW_CHANNELS 3
#endif

#if !defined(SN32_RGB_MATRIX_ROWS)
# define SN32_RGB_MATRIX_ROWS MATRIX_ROWS
#endif

#if !defined(SN32_RGB_MATRIX_COLS)
# define SN32_RGB_MATRIX_COLS MATRIX_COLS
#endif

#if !defined(SN32_RGB_MATRIX_ROW_PINS)
# error Missing definition for SN32_RGB_MATRIX_ROW_PINS
#endif

#if !defined(SN32_RGB_MATRIX_COL_PINS)
# define SHARED_MATRIX
# define SN32_RGB_MATRIX_COL_PINS MATRIX_COL_PINS
#endif

#if !defined(SN32_RGB_MATRIX_ROWS_HW)
# define SN32_RGB_MATRIX_ROWS_HW (SN32_RGB_MATRIX_ROWS * SN32_RGB_MATRIX_ROW_CHANNELS)
#endif

void sn32f2xx_init(void);
void sn32f2xx_flush(void);
void sn32f2xx_set_color(int index, uint8_t r, uint8_t g, uint8_t b);
void sn32f2xx_set_color_all(uint8_t r, uint8_t g, uint8_t b);
2 changes: 1 addition & 1 deletion keyboards/czc/dwarf/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@
"splash" : true,
"typing_heatmap" : true,
},
"driver": "sn32f24xb",
"driver": "sn32f2xx",
"layout": [
{"matrix": [0, 0],"flags": 1,"x":0, "y":0},
{"matrix": [0, 1],"flags": 1,"x":26, "y":0},
Expand Down
2 changes: 1 addition & 1 deletion keyboards/designedbygg/berserker/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@
"splash" : true,
"typing_heatmap" : true,
},
"driver": "sn32f24xb",
"driver": "sn32f2xx",
"layout": [
{"matrix": [0, 0],"flags": 1,"x":0, "y":0},
{"matrix": [0, 2],"flags": 1,"x":26, "y":0},
Expand Down
2 changes: 1 addition & 1 deletion keyboards/designedbygg/ironclad/icl01/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@
"splash" : true,
"typing_heatmap" : true,
},
"driver": "sn32f24xb",
"driver": "sn32f2xx",
"layout": [
{"matrix": [0, 0],"flags": 1,"x":0, "y":0},
{"matrix": [0, 2],"flags": 1,"x":21, "y":0},
Expand Down
2 changes: 1 addition & 1 deletion keyboards/designedbygg/ironclad/icl03/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@
"splash" : true,
"typing_heatmap" : true
},
"driver": "sn32f24xb",
"driver": "sn32f2xx",
"layout": [
{"matrix": [0, 0],"flags": 1,"x":0, "y":0},
{"matrix": [0, 2],"flags": 1,"x":21, "y":0},
Expand Down
2 changes: 1 addition & 1 deletion keyboards/designedbygg/redblade/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@
"splash" : true,
"typing_heatmap" : true
},
"driver": "sn32f24xb",
"driver": "sn32f2xx",
"layout": [
{"matrix": [0, 0],"flags": 1,"x":0, "y":0},
{"matrix": [0, 2],"flags": 1,"x":21, "y":0},
Expand Down
2 changes: 0 additions & 2 deletions keyboards/flesports/fl980/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@

#define SN32_RGB_MATRIX_ROW_PINS { C0,C1,C3, C4,C5,C6, C7,C8,C9, C10,C11,C12, C13,C14,B13, C15,B15,B14 }

#define SN32_RGB_MATRIX_COL_PINS { B9, A8, A9, A10, A11, A12, A13, A14, A15, B0, B1, B2, B3, B4, B5, B6, B7, B8 }

#define RGB_MATRIX_LED_COUNT 98
#define MATRIX_UNSELECT_DRIVE_HIGH
#define SN32_PWM_OUTPUT_ACTIVE_LEVEL SN32_PWM_OUTPUT_ACTIVE_HIGH
Expand Down
198 changes: 99 additions & 99 deletions keyboards/flesports/fl980/info.json
Original file line number Diff line number Diff line change
Expand Up @@ -74,111 +74,111 @@
"splash" : true,
"typing_heatmap" : true,
},
"driver": "sn32f24xb",
"driver": "sn32f2xx",
"layout": [
{ "matrix":[0, 0], "flags":4, "x":0, "y":0 },
{ "matrix":[0, 1], "flags":4, "x":24, "y":0 },
{ "matrix":[0, 2], "flags":4, "x":36, "y":0 },
{ "matrix":[0, 3], "flags":4, "x":48, "y":0 },
{ "matrix":[0, 4], "flags":4, "x":61, "y":0 },
{ "matrix":[0, 5], "flags":4, "x":79, "y":0 },
{ "matrix":[0, 6], "flags":4, "x":91, "y":0 },
{ "matrix":[0, 7], "flags":4, "x":103, "y":0 },
{ "matrix":[0, 8], "flags":4, "x":115, "y":0 },
{ "matrix":[0, 9], "flags":4, "x":133, "y":0 },
{ "matrix":[0, 10], "flags":4, "x":145, "y":0 },
{ "matrix":[0, 11], "flags":4, "x":157, "y":0 },
{ "matrix":[0, 12], "flags":4, "x":170, "y":0 },
{ "matrix":[0, 14], "flags":4, "x":188, "y":0 },
{ "matrix":[0, 15], "flags":4, "x":200, "y":0 },
{ "matrix":[0, 16], "flags":4, "x":212, "y":0 },
{ "matrix":[0, 17], "flags":4, "x":224, "y":0 },
{ "matrix":[0, 17], "flags":4, "x":0, "y":0 },
{ "matrix":[0, 0], "flags":4, "x":24, "y":0 },
{ "matrix":[0, 1], "flags":4, "x":36, "y":0 },
{ "matrix":[0, 2], "flags":4, "x":48, "y":0 },
{ "matrix":[0, 3], "flags":4, "x":61, "y":0 },
{ "matrix":[0, 4], "flags":4, "x":79, "y":0 },
{ "matrix":[0, 5], "flags":4, "x":91, "y":0 },
{ "matrix":[0, 6], "flags":4, "x":103, "y":0 },
{ "matrix":[0, 7], "flags":4, "x":115, "y":0 },
{ "matrix":[0, 8], "flags":4, "x":133, "y":0 },
{ "matrix":[0, 9], "flags":4, "x":145, "y":0 },
{ "matrix":[0, 10], "flags":4, "x":157, "y":0 },
{ "matrix":[0, 11], "flags":4, "x":170, "y":0 },
{ "matrix":[0, 12], "flags":4, "x":188, "y":0 },
{ "matrix":[0, 14], "flags":4, "x":200, "y":0 },
{ "matrix":[0, 15], "flags":4, "x":212, "y":0 },
{ "matrix":[0, 16], "flags":4, "x":224, "y":0 },

{ "matrix":[1, 0], "flags":4, "x":0, "y":15 },
{ "matrix":[1, 1], "flags":4, "x":12, "y":15 },
{ "matrix":[1, 2], "flags":4, "x":24, "y":15 },
{ "matrix":[1, 3], "flags":4, "x":36, "y":15 },
{ "matrix":[1, 4], "flags":4, "x":48, "y":15 },
{ "matrix":[1, 5], "flags":4, "x":61, "y":15 },
{ "matrix":[1, 6], "flags":4, "x":73, "y":15 },
{ "matrix":[1, 7], "flags":4, "x":85, "y":15 },
{ "matrix":[1, 8], "flags":4, "x":97, "y":15 },
{ "matrix":[1, 9], "flags":4, "x":109, "y":15 },
{ "matrix":[1, 10], "flags":4, "x":121, "y":15 },
{ "matrix":[1, 11], "flags":4, "x":133, "y":15 },
{ "matrix":[1, 12], "flags":4, "x":145, "y":15 },
{ "matrix":[1, 13], "flags":4, "x":163, "y":15 },
{ "matrix":[1, 14], "flags":4, "x":188, "y":15 },
{ "matrix":[1, 15], "flags":4, "x":200, "y":15 },
{ "matrix":[1, 16], "flags":4, "x":212, "y":15 },
{ "matrix":[1, 17], "flags":4, "x":224, "y":15 },
{ "matrix":[1, 17], "flags":4, "x":0, "y":15 },
{ "matrix":[1, 0], "flags":4, "x":12, "y":15 },
{ "matrix":[1, 1], "flags":4, "x":24, "y":15 },
{ "matrix":[1, 2], "flags":4, "x":36, "y":15 },
{ "matrix":[1, 3], "flags":4, "x":48, "y":15 },
{ "matrix":[1, 4], "flags":4, "x":61, "y":15 },
{ "matrix":[1, 5], "flags":4, "x":73, "y":15 },
{ "matrix":[1, 6], "flags":4, "x":85, "y":15 },
{ "matrix":[1, 7], "flags":4, "x":97, "y":15 },
{ "matrix":[1, 8], "flags":4, "x":109, "y":15 },
{ "matrix":[1, 9], "flags":4, "x":121, "y":15 },
{ "matrix":[1, 10], "flags":4, "x":133, "y":15 },
{ "matrix":[1, 11], "flags":4, "x":145, "y":15 },
{ "matrix":[1, 12], "flags":4, "x":163, "y":15 },
{ "matrix":[1, 13], "flags":4, "x":188, "y":15 },
{ "matrix":[1, 14], "flags":4, "x":200, "y":15 },
{ "matrix":[1, 15], "flags":4, "x":212, "y":15 },
{ "matrix":[1, 16], "flags":4, "x":224, "y":15 },

{ "matrix":[2, 0], "flags":4, "x":3, "y":26 },
{ "matrix":[2, 1], "flags":4, "x":18, "y":26 },
{ "matrix":[2, 2], "flags":4, "x":30, "y":26 },
{ "matrix":[2, 3], "flags":4, "x":42, "y":26 },
{ "matrix":[2, 4], "flags":4, "x":54, "y":26 },
{ "matrix":[2, 5], "flags":4, "x":67, "y":26 },
{ "matrix":[2, 6], "flags":4, "x":79, "y":26 },
{ "matrix":[2, 7], "flags":4, "x":91, "y":26 },
{ "matrix":[2, 8], "flags":4, "x":103, "y":26 },
{ "matrix":[2, 9], "flags":4, "x":115, "y":26 },
{ "matrix":[2, 10], "flags":4, "x":127, "y":26 },
{ "matrix":[2, 11], "flags":4, "x":139, "y":26 },
{ "matrix":[2, 12], "flags":4, "x":151, "y":26 },
{ "matrix":[2, 13], "flags":4, "x":166, "y":26 },
{ "matrix":[2, 14], "flags":4, "x":188, "y":26 },
{ "matrix":[2, 15], "flags":4, "x":200, "y":26 },
{ "matrix":[2, 16], "flags":4, "x":212, "y":26 },
{ "matrix":[2, 17], "flags":4, "x":224, "y":32 },
{ "matrix":[2, 17], "flags":4, "x":3, "y":26 },
{ "matrix":[2, 0], "flags":4, "x":18, "y":26 },
{ "matrix":[2, 1], "flags":4, "x":30, "y":26 },
{ "matrix":[2, 2], "flags":4, "x":42, "y":26 },
{ "matrix":[2, 3], "flags":4, "x":54, "y":26 },
{ "matrix":[2, 4], "flags":4, "x":67, "y":26 },
{ "matrix":[2, 5], "flags":4, "x":79, "y":26 },
{ "matrix":[2, 6], "flags":4, "x":91, "y":26 },
{ "matrix":[2, 7], "flags":4, "x":103, "y":26 },
{ "matrix":[2, 8], "flags":4, "x":115, "y":26 },
{ "matrix":[2, 9], "flags":4, "x":127, "y":26 },
{ "matrix":[2, 10], "flags":4, "x":139, "y":26 },
{ "matrix":[2, 11], "flags":4, "x":151, "y":26 },
{ "matrix":[2, 12], "flags":4, "x":166, "y":26 },
{ "matrix":[2, 13], "flags":4, "x":188, "y":26 },
{ "matrix":[2, 14], "flags":4, "x":200, "y":26 },
{ "matrix":[2, 15], "flags":4, "x":212, "y":26 },
{ "matrix":[2, 16], "flags":4, "x":224, "y":32 },

{ "matrix":[3, 0], "flags":4, "x":5, "y":38 },
{ "matrix":[3, 1], "flags":4, "x":21, "y":38 },
{ "matrix":[3, 2], "flags":4, "x":33, "y":38 },
{ "matrix":[3, 3], "flags":4, "x":45, "y":38 },
{ "matrix":[3, 4], "flags":4, "x":58, "y":38 },
{ "matrix":[3, 5], "flags":4, "x":70, "y":38 },
{ "matrix":[3, 6], "flags":4, "x":82, "y":38 },
{ "matrix":[3, 7], "flags":4, "x":94, "y":38 },
{ "matrix":[3, 8], "flags":4, "x":106, "y":38 },
{ "matrix":[3, 9], "flags":4, "x":118, "y":38 },
{ "matrix":[3, 10], "flags":4, "x":130, "y":38 },
{ "matrix":[3, 11], "flags":4, "x":142, "y":38 },
{ "matrix":[3, 13], "flags":4, "x":162, "y":38 },
{ "matrix":[3, 14], "flags":4, "x":188, "y":38 },
{ "matrix":[3, 15], "flags":4, "x":200, "y":38 },
{ "matrix":[3, 16], "flags":4, "x":212, "y":38 },
{ "matrix":[3, 17], "flags":4, "x":224, "y":55 },
{ "matrix":[3, 17], "flags":4, "x":5, "y":38 },
{ "matrix":[3, 0], "flags":4, "x":21, "y":38 },
{ "matrix":[3, 1], "flags":4, "x":33, "y":38 },
{ "matrix":[3, 2], "flags":4, "x":45, "y":38 },
{ "matrix":[3, 3], "flags":4, "x":58, "y":38 },
{ "matrix":[3, 4], "flags":4, "x":70, "y":38 },
{ "matrix":[3, 5], "flags":4, "x":82, "y":38 },
{ "matrix":[3, 6], "flags":4, "x":94, "y":38 },
{ "matrix":[3, 7], "flags":4, "x":106, "y":38 },
{ "matrix":[3, 8], "flags":4, "x":118, "y":38 },
{ "matrix":[3, 9], "flags":4, "x":130, "y":38 },
{ "matrix":[3, 10], "flags":4, "x":142, "y":38 },
{ "matrix":[3, 11], "flags":4, "x":162, "y":38 },
{ "matrix":[3, 13], "flags":4, "x":188, "y":38 },
{ "matrix":[3, 14], "flags":4, "x":200, "y":38 },
{ "matrix":[3, 15], "flags":4, "x":212, "y":38 },
{ "matrix":[3, 16], "flags":4, "x":224, "y":55 },

{ "matrix":[4, 0], "flags":4, "x":8, "y":49 },
{ "matrix":[4, 2], "flags":4, "x":27, "y":49 },
{ "matrix":[4, 3], "flags":4, "x":39, "y":49 },
{ "matrix":[4, 4], "flags":4, "x":51, "y":49 },
{ "matrix":[4, 5], "flags":4, "x":64, "y":49 },
{ "matrix":[4, 6], "flags":4, "x":76, "y":49 },
{ "matrix":[4, 7], "flags":4, "x":88, "y":49 },
{ "matrix":[4, 8], "flags":4, "x":100, "y":49 },
{ "matrix":[4, 9], "flags":4, "x":112, "y":49 },
{ "matrix":[4, 10], "flags":4, "x":124, "y":49 },
{ "matrix":[4, 11], "flags":4, "x":136, "y":49 },
{ "matrix":[4, 13], "flags":4, "x":153, "y":49 },
{ "matrix":[4, 14], "flags":4, "x":188, "y":49 },
{ "matrix":[4, 15], "flags":4, "x":200, "y":49 },
{ "matrix":[4, 16], "flags":4, "x":212, "y":49 },
{ "matrix":[4, 17], "flags":4, "x":212, "y":61 },
{ "matrix":[4, 17], "flags":4, "x":8, "y":49 },
{ "matrix":[4, 0], "flags":4, "x":27, "y":49 },
{ "matrix":[4, 2], "flags":4, "x":39, "y":49 },
{ "matrix":[4, 3], "flags":4, "x":51, "y":49 },
{ "matrix":[4, 4], "flags":4, "x":64, "y":49 },
{ "matrix":[4, 5], "flags":4, "x":76, "y":49 },
{ "matrix":[4, 6], "flags":4, "x":88, "y":49 },
{ "matrix":[4, 7], "flags":4, "x":100, "y":49 },
{ "matrix":[4, 8], "flags":4, "x":112, "y":49 },
{ "matrix":[4, 9], "flags":4, "x":124, "y":49 },
{ "matrix":[4, 10], "flags":4, "x":136, "y":49 },
{ "matrix":[4, 11], "flags":4, "x":153, "y":49 },
{ "matrix":[4, 13], "flags":4, "x":188, "y":49 },
{ "matrix":[4, 14], "flags":4, "x":200, "y":49 },
{ "matrix":[4, 15], "flags":4, "x":212, "y":49 },
{ "matrix":[4, 16], "flags":4, "x":212, "y":61 },

{ "matrix":[5, 0], "flags":4, "x":2, "y":61 },
{ "matrix":[5, 1], "flags":4, "x":17, "y":61 },
{ "matrix":[5, 2], "flags":4, "x":32, "y":61 },
{ "matrix":[5, 6], "flags":4, "x":77, "y":61 },
{ "matrix":[5, 10], "flags":4, "x":121, "y":61 },
{ "matrix":[5, 11], "flags":4, "x":133, "y":61 },
{ "matrix":[5, 12], "flags":4, "x":145, "y":61 },
{ "matrix":[5, 13], "flags":4, "x":173, "y":52 },
{ "matrix":[5, 14], "flags":4, "x":160, "y":64 },
{ "matrix":[5, 15], "flags":4, "x":173, "y":64 },
{ "matrix":[5, 16], "flags":4, "x":185, "y":64 },
{ "matrix":[5, 17], "flags":4, "x":200, "y":61 }
{ "matrix":[5, 17], "flags":4, "x":2, "y":61 },
{ "matrix":[5, 0], "flags":4, "x":17, "y":61 },
{ "matrix":[5, 1], "flags":4, "x":32, "y":61 },
{ "matrix":[5, 2], "flags":4, "x":77, "y":61 },
{ "matrix":[5, 6], "flags":4, "x":121, "y":61 },
{ "matrix":[5, 10], "flags":4, "x":133, "y":61 },
{ "matrix":[5, 11], "flags":4, "x":145, "y":61 },
{ "matrix":[5, 12], "flags":4, "x":173, "y":52 },
{ "matrix":[5, 13], "flags":4, "x":160, "y":64 },
{ "matrix":[5, 14], "flags":4, "x":173, "y":64 },
{ "matrix":[5, 15], "flags":4, "x":185, "y":64 },
{ "matrix":[5, 16], "flags":4, "x":200, "y":61 }
],
"react_on_keyup": true,
"sleep": true
Expand Down
Loading
Loading