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

I2C communication is not working #168

Open
paradogk opened this issue May 6, 2023 · 2 comments
Open

I2C communication is not working #168

paradogk opened this issue May 6, 2023 · 2 comments

Comments

@paradogk
Copy link

paradogk commented May 6, 2023

Hello, there.

Thanks for matt, I really hope overcoming my stiff shoulders.

However, I faced some issue on my keyboard. I set EE_HANDS (config.h) as describing github.

first, I flashed eeprom to each side. left side flashed left-eeprom and right side flashed right-eeprom bin

and then, I connected both side with TRRS cable(4 pole) and pluged USB cable from left side to PC.

PC recognized keyboard and left side button was working nomally, but PC could recognized right side button.

I already tested each side button working by connecting USB on each side.

I Think I2C communication is not working . therefore Is anybody who can help me to overcome my stiff shoulders.

Thanks

@paradogk
Copy link
Author

paradogk commented May 8, 2023

To help someone and leave the history.

I found someone's issue like me on this github issue tab and I could get old version of qmk from this branch(I think latest version of qmk has i2c issue).

#98

and I set USE_I2C and EE_HANDS(because I already handedness by flashing eeprom. )

/* Use I2C or Serial, not both */
//#define USE_SERIAL
#define USE_I2C

/* Select hand configuration */
//#define MASTER_LEFT
//#define MASTER_RIGHT
#define EE_HANDS

But only above setting didn't help to my headache, so I read how to use I2C on qmk guide carefully.
https://docs.qmk.fm/#/feature_split_keyboard?id=split-keyboard
And I found this option "#define SPLIT_USB_DETECT"
I changed the define option like below:( keyboards/redox/keymaps/default/config.h)

/* Use I2C or Serial, not both */
//#define USE_SERIAL
#define USE_I2C

/* Select hand configuration */
//#define MASTER_LEFT
//#define MASTER_RIGHT
#define EE_HANDS
#define SPLIT_USB_DETECT

and build and flash to MCU both side(using this command make redox/rev1:default:avrdude).
DONE. split keyboard work well.

@PRDeltoid
Copy link

PRDeltoid commented Oct 2, 2023

Took me a while of searching before finding this #define SPLIT_USB_DETECT solution (via the QMK discord). I am curious what downsides or tradeoffs there are for using SPLIT_USB_DETECT versus the default detection method. And what caused this #define to start being needed? Was it a QMK change?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants