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

Rgb matrix fixes, I2C library can now retry if it has failed #2943

Merged
merged 24 commits into from
May 14, 2018

Conversation

yiancar
Copy link
Contributor

@yiancar yiancar commented May 12, 2018

  • Replaced the original TWIlib by LFKeyboard's modified version
  • Allows for an extra argument on TWITransmitData, if blocking is set to 1 function will retry to transmit on failure. Good for noisy boards.

yiancar and others added 21 commits May 27, 2017 00:18
Created code modules for the 3 modules of the modular keyboard.
Original idea by MechboardsUK. Uses i2c implementation similar to lets
split
This is to fix incorrect branching
- Complited speed support for all effects
- Fixed raindrop effects to initialized after toggle
- Fixed raindrop effects to use all available LEDs
- Fixed effect step reverse function
- Moved RGB_MATRIX_SOLID_REACTIVE under correct flag
- Replaced the original TWIlib by LFKeyboard's modified version
- Allows for an extra argument on TWITransmitData, if blocking is set to 1 function will retry to transmit on failure. Good for noisy boards.
@wilba
Copy link
Contributor

wilba commented May 12, 2018

@yiancar and I need to hash out the TWIlib changes, don't commit yet.

@drashna
Copy link
Member

drashna commented May 12, 2018

@yiancar Nice!

@Wilba6582 Not a problem. Let us know when this is good to go, and then we'll merge.

TWIlib seems to be hanging for me sometimes probably due to ISR routine. I have used i2c_master as a good alternative.

Note: this commit is for Wilba6582 to verify before merge
@yiancar
Copy link
Contributor Author

yiancar commented May 12, 2018

@Wilba6582 please give this a go! its the other library as discussed.

@drashna I have not removed TWIlib as some people might like to use it. But if you dont want it I can do so (it is already multiple times in individual keyboard folders)

@drashna
Copy link
Member

drashna commented May 12, 2018

I think that jack would be the better one to comment on the TWIlib stuff, but ... I think that we did want to standardize a lot of that stuff, so we don't have 10 different versions of the code all over the place.

@wilba
Copy link
Contributor

wilba commented May 13, 2018

@yiancar code looks OK, if it fixes the stability issues you are having with TWIlib then make the change.

I recommend removing TWIlib then, so future code uses this lib that doesn't require interrupts. IMHO for what we're doing, it's more versatile to use a lib that doesn't use interrupts, this means the routines can be called from an ISR (as long as they don't block indefinitely).

- Remove TWIlib
@wilba
Copy link
Contributor

wilba commented May 13, 2018

@drashna OK to commit

@drashna
Copy link
Member

drashna commented May 13, 2018

Awesome, but I'll let @jackhumbert take a look and commit.

@jackhumbert
Copy link
Member

Awesome - thanks!

@jackhumbert jackhumbert merged commit a98a91c into qmk:master May 14, 2018
hanamura added a commit to hanamura/qmk_firmware that referenced this pull request May 14, 2018
* upstream/master:
  Fix Ortho Compile issue
  Orthodox info.json changes
  Add rgblight set at commands
  List all Tap Dancing functions (qmk#2945)
  Rgb matrix fixes, I2C library can now retry if it has failed  (qmk#2943)
  Add support for Swap Hands feature to Orthodox and Iris (qmk#2933)
  Reformat 40% Ortho boards to work with Layouts feature (qmk#2804)
  Allow one-shot modifiers to be chained
  Update my keymap (qmk#2965)
  Fix/update XD75 default layout (qmk#2963)
  Xton has a dz60 (qmk#2952)
  update template copyrights to 2018 (qmk#2962)
  info.json update to pk60 (qmk#2961)
  Default layout for the Redox keyboard (qmk#2954)
  Play Keyboard60 PCB upload (qmk#2953)
  Add standard layout 60% support for QMK Configurator and user space (qmk#2950)
carlpehrson pushed a commit to carlpehrson/qmk_firmware that referenced this pull request May 30, 2018
* Added Modular keyboards L,R and NUM

Created code modules for the 3 modules of the modular keyboard.
Original idea by MechboardsUK. Uses i2c implementation similar to lets
split

* Remove modular from master

This is to fix incorrect branching

* General fixes for RGB_matrix

- Complited speed support for all effects
- Fixed raindrop effects to initialized after toggle
- Fixed raindrop effects to use all available LEDs
- Fixed effect step reverse function
- Moved RGB_MATRIX_SOLID_REACTIVE under correct flag

* Documentation update for RGBmatrix

* More doc updates

* I2C library can now retry if it has failed

- Replaced the original TWIlib by LFKeyboard's modified version
- Allows for an extra argument on TWITransmitData, if blocking is set to 1 function will retry to transmit on failure. Good for noisy boards.

* RGB Matrix, use alternative I2C library

TWIlib seems to be hanging for me sometimes probably due to ISR routine. I have used i2c_master as a good alternative.

Note: this commit is for Wilba6582 to verify before merge

* Update rgb_matrix.c

* RGB matrix cleanup

- Remove TWIlib
hauleth pushed a commit to hauleth/qmk_firmware that referenced this pull request Jan 24, 2019
* Added Modular keyboards L,R and NUM

Created code modules for the 3 modules of the modular keyboard.
Original idea by MechboardsUK. Uses i2c implementation similar to lets
split

* Remove modular from master

This is to fix incorrect branching

* General fixes for RGB_matrix

- Complited speed support for all effects
- Fixed raindrop effects to initialized after toggle
- Fixed raindrop effects to use all available LEDs
- Fixed effect step reverse function
- Moved RGB_MATRIX_SOLID_REACTIVE under correct flag

* Documentation update for RGBmatrix

* More doc updates

* I2C library can now retry if it has failed

- Replaced the original TWIlib by LFKeyboard's modified version
- Allows for an extra argument on TWITransmitData, if blocking is set to 1 function will retry to transmit on failure. Good for noisy boards.

* RGB Matrix, use alternative I2C library

TWIlib seems to be hanging for me sometimes probably due to ISR routine. I have used i2c_master as a good alternative.

Note: this commit is for Wilba6582 to verify before merge

* Update rgb_matrix.c

* RGB matrix cleanup

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

Successfully merging this pull request may close these issues.

4 participants