fixing ximi for github actions, still needs a little cleaning up

This commit is contained in:
Sadek Baroudi 2022-10-28 14:47:51 -07:00
parent 41e906368f
commit b8cd7103bd
4 changed files with 115 additions and 70 deletions

View File

@ -178,15 +178,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define POINTING_DEVICE_ROTATION_90_RIGHT
#define I2C1_CLOCK_SPEED 400000
#define I2C1_DUTY_CYCLE FAST_DUTY_CYCLE_2
#ifdef FP_CIRQUE_BOTH
#define POINTING_DEVICE_COMBINED
#endif
#ifdef FP_CIRQUE_LEFT
#define POINTING_DEVICE_LEFT
#endif
#ifdef FP_CIRQUE_RIGHT
#define POINTING_DEVICE_RIGHT
#endif
#endif
#ifdef FP_TRACKBALL_ENABLE
@ -201,15 +192,38 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define SPI_MOSI_PAL_MODE 5 // already defined in chibios
#define SPI_MISO_PIN GP4
// #define SPI_MISO_PAL_MODE 5 // already defined in chibios
#ifdef FP_TRACKBALL_BOTH
#define POINTING_DEVICE_COMBINED
#define POINTING_DEVICE_INVERT_Y // This inverts the Y on the left side only
#define POINTING_DEVICE_INVERT_X_RIGHT
#endif
#ifdef FP_TRACKBALL_LEFT
#define POINTING_DEVICE_LEFT
// If both sides have a pointing device
#if defined(FP_TRACKBALL_BOTH) || \
defined(FP_CIRQUE_BOTH) || \
defined(FP_TRACKBALL_LEFT_CIRQUE_RIGHT) || \
defined(FP_CIRQUE_LEFT_TRACKBALL_RIGHT)
#define POINTING_DEVICE_COMBINED
#endif
#ifdef FP_TRACKBALL_RIGHT
#define POINTING_DEVICE_RIGHT
// If the left side has a pointing device
#if defined(FP_TRACKBALL_LEFT_ONLY) || \
defined(FP_CIRQUE_LEFT_ONLY)
#define POINTING_DEVICE_LEFT
#endif
// If the right side has a pointing device
#if defined(FP_TRACKBALL_RIGHT_ONLY) || \
defined(FP_CIRQUE_RIGHT_ONLY)
#define POINTING_DEVICE_RIGHT
#endif
// If there is a trackball on the left side
#if defined(FP_TRACKBALL_BOTH) || \
defined(FP_TRACKBALL_LEFT_CIRQUE_RIGHT) || \
defined(FP_TRACKBALL_LEFT_ONLY)
#define POINTING_DEVICE_INVERT_Y // This inverts the Y on the left side only
#endif
// If there is a trackball on the right side
#if defined(FP_TRACKBALL_BOTH) || \
defined(FP_CIRQUE_LEFT_TRACKBALL_RIGHT) || \
defined(FP_TRACKBALL_RIGHT_ONLY)
#define POINTING_DEVICE_INVERT_X_RIGHT
#endif

View File

@ -1,24 +1,23 @@
[
{
"type" : "one-of",
"names" : [ "FP_TRACKBALL_BOTH", "FP_TRACKBALL_LEFT", "FP_TRACKBALL_RIGHT" ],
"user_input": "Do you have a no trackball, on both sides, left, or right?"
},
{
"type" : "one-of",
"names" : [ "FP_CIRQUE_BOTH", "FP_CIRQUE_LEFT", "FP_CIRQUE_RIGHT" ],
"user_input": "Do you have a no cirque trackpad, on both sides, left, or right?"
"names" : [
"FP_TRACKBALL_BOTH",
"FP_CIRQUE_BOTH",
"FP_TRACKBALL_LEFT_ONLY",
"FP_TRACKBALL_RIGHT_ONLY",
"FP_CIRQUE_LEFT_ONLY",
"FP_CIRQUE_RIGHT_ONLY",
"FP_TRACKBALL_LEFT_CIRQUE_RIGHT",
"FP_CIRQUE_LEFT_TRACKBALL_RIGHT"
],
"user_input": "What config would you like to use? (FP_TRACKBALL_BOTH, FP_CIRQUE_BOTH, FP_TRACKBALL_LEFT_ONLY, FP_TRACKBALL_RIGHT_ONLY, FP_CIRQUE_LEFT_ONLY, FP_CIRQUE_RIGHT_ONLY, FP_TRACKBALL_LEFT_CIRQUE_RIGHT, FP_CIRQUE_LEFT_TRACKBALL_RIGHT): "
},
{
"type" : "single",
"name" : "RGBLIGHT_ENABLE",
"user_input": "Do you have RGB?"
},
{
"type" : "single",
"name" : "AUDIO_ENABLE",
"user_input": "Do you have audio buzzer?"
},
{
"type" : "single",
"name" : "HAPTIC_ENABLE",

View File

@ -3,28 +3,36 @@
* Keyboard Maintainer: sadekbaroudi
* Hardware Supported: ximi PCB
IMPORTANT NOTE TO SELF, ADD THIS BACK INTO fp_build.json WHEN AUDIO SUPPORT IS AVAILABLE FOR RP2040
{
"type" : "single",
"name" : "AUDIO_ENABLE",
"user_input": "Do you have audio buzzer?"
},
Make example for this keyboard (after setting up your build environment):
```
make fingerpunch/ximi:default RGBLIGHT_ENABLE=yes FP_CIRQUE_BOTH=yes HAPTIC_ENABLE=yes
```
Don't forget to add ```CONVERT_TO=stemcell``` if using a stemcell controller.
Options are:
```
FP_TRACKBALL_BOTH=yes
FP_TRACKBALL_LEFT=yes
FP_TRACKBALL_RIGHT=yes
FP_CIRQUE_BOTH=yes
FP_CIRQUE_LEFT=yes
FP_CIRQUE_RIGHT=yes
RGBLIGHT_ENABLE=yes
AUDIO_ENABLE=yes
HAPTIC_FEEDBACK=yes
// for the options below, select only one, or none
FP_TRACKBALL_BOTH=yes
FP_CIRQUE_BOTH=yes
FP_TRACKBALL_LEFT_ONLY=yes
FP_TRACKBALL_RIGHT_ONLY=yes
FP_CIRQUE_LEFT_ONLY=yes
FP_CIRQUE_RIGHT_ONLY=yes
FP_TRACKBALL_LEFT_CIRQUE_RIGHT=yes
FP_CIRQUE_LEFT_TRACKBALL_RIGHT=yes
```
Notes:
* Pick one (or none) of FP_TRACKBALL_* only. Pick one (or none) of FP_CIRQUE_* only.
* Pick one (or none) of FP_TRACKBALL_* or FP_CIRQUE_* only.
* If you are using a trackball, you cannot use per key rgb or audio. It will be automatically disabled. The hardware doesn't support them together.
See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information.

View File

@ -42,50 +42,74 @@ HAPTIC_DRIVER = DRV2605L
# Pending https://github.com/qmk/qmk_firmware/pull/17723 and https://github.com/qmk/qmk_firmware/pull/17706
AUDIO_ENABLE ?= no
FP_CIRQUE_BOTH ?= no # Choose one of (BOTH, LEFT, RIGHT)
FP_CIRQUE_LEFT ?= no # Choose one of (BOTH, LEFT, RIGHT)
FP_CIRQUE_RIGHT ?= no # Choose one of (BOTH, LEFT, RIGHT)
CIRQUE_ENABLE = no # Don't set this one, gets set automatically by FP_CIRQUE_*
PMW3360_ENABLE = no # Don't set this one, gets set automatically by FP_TRACKBALL_*
ifeq ($(strip $(FP_CIRQUE_BOTH)), yes)
CIRQUE_ENABLE := yes
OPT_DEFS += -DFP_CIRQUE_BOTH
endif
ifeq ($(strip $(FP_CIRQUE_LEFT)), yes)
CIRQUE_ENABLE := yes
OPT_DEFS += -DFP_CIRQUE_LEFT
endif
ifeq ($(strip $(FP_CIRQUE_RIGHT)), yes)
CIRQUE_ENABLE := yes
OPT_DEFS += -DFP_CIRQUE_RIGHT
endif
ifeq ($(strip $(CIRQUE_ENABLE)), yes)
POINTING_DEVICE_ENABLE := yes
POINTING_DEVICE_DRIVER := cirque_pinnacle_i2c
OPT_DEFS += -DCIRQUE_ENABLE
endif
FP_TRACKBALL_BOTH ?= no # Choose one of (BOTH, LEFT, RIGHT)
FP_TRACKBALL_LEFT ?= no # Choose one of (BOTH, LEFT, RIGHT)
FP_TRACKBALL_RIGHT ?= no # Choose one of (BOTH, LEFT, RIGHT)
PMW3360_ENABLE = no # Don't set this one, gets set automatically by FP_TRACKBALL_*
# Choose only one (or none) of the 8 options below
FP_TRACKBALL_BOTH ?= no
FP_CIRQUE_BOTH ?= no
FP_TRACKBALL_LEFT_ONLY ?= no
FP_TRACKBALL_RIGHT_ONLY ?= no
FP_CIRQUE_LEFT_ONLY ?= no
FP_CIRQUE_RIGHT_ONLY ?= no
FP_TRACKBALL_LEFT_CIRQUE_RIGHT ?= no
FP_CIRQUE_LEFT_TRACKBALL_RIGHT ?= no
ifeq ($(strip $(FP_TRACKBALL_BOTH)), yes)
PMW3360_ENABLE := yes
OPT_DEFS += -DFP_TRACKBALL_BOTH
endif
ifeq ($(strip $(FP_TRACKBALL_LEFT)), yes)
ifeq ($(strip $(FP_TRACKBALL_LEFT_ONLY)), yes)
PMW3360_ENABLE := yes
OPT_DEFS += -DFP_TRACKBALL_LEFT
OPT_DEFS += -DFP_TRACKBALL_LEFT_ONLY
endif
ifeq ($(strip $(FP_TRACKBALL_RIGHT)), yes)
ifeq ($(strip $(FP_TRACKBALL_RIGHT_ONLY)), yes)
PMW3360_ENABLE := yes
OPT_DEFS += -DFP_TRACKBALL_RIGHT
OPT_DEFS += -DFP_TRACKBALL_RIGHT_ONLY
endif
ifeq ($(strip $(FP_TRACKBALL_LEFT_CIRQUE_RIGHT)), yes)
PMW3360_ENABLE := yes
OPT_DEFS += -DFP_TRACKBALL_LEFT_CIRQUE_RIGHT
endif
ifeq ($(strip $(FP_CIRQUE_LEFT_TRACKBALL_RIGHT)), yes)
PMW3360_ENABLE := yes
OPT_DEFS += -DFP_CIRQUE_LEFT_TRACKBALL_RIGHT
endif
ifeq ($(strip $(FP_CIRQUE_BOTH)), yes)
CIRQUE_ENABLE := yes
OPT_DEFS += -DFP_CIRQUE_BOTH
endif
ifeq ($(strip $(FP_CIRQUE_LEFT_ONLY)), yes)
CIRQUE_ENABLE := yes
OPT_DEFS += -DFP_CIRQUE_LEFT_ONLY
endif
ifeq ($(strip $(FP_CIRQUE_RIGHT_ONLY)), yes)
CIRQUE_ENABLE := yes
OPT_DEFS += -DFP_CIRQUE_RIGHT_ONLY
endif
ifeq ($(strip $(FP_TRACKBALL_LEFT_CIRQUE_RIGHT)), yes)
CIRQUE_ENABLE := yes
OPT_DEFS += -DFP_TRACKBALL_LEFT_CIRQUE_RIGHT
endif
ifeq ($(strip $(FP_CIRQUE_LEFT_TRACKBALL_RIGHT)), yes)
CIRQUE_ENABLE := yes
OPT_DEFS += -DFP_CIRQUE_LEFT_TRACKBALL_RIGHT
endif
ifeq ($(strip $(CIRQUE_ENABLE)), yes)
POINTING_DEVICE_ENABLE := yes
POINTING_DEVICE_DRIVER := cirque_pinnacle_i2c
OPT_DEFS += -DCIRQUE_ENABLE
endif
ifeq ($(strip $(PMW3360_ENABLE)), yes)