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

Lotus 58 Glow - blok #20626

Closed
wants to merge 28 commits into from
Closed

Lotus 58 Glow - blok #20626

wants to merge 28 commits into from

Conversation

TweetyDaBird
Copy link
Contributor

Description

Added support for blok controller

Types of Changes

  • Core
  • Bugfix
  • New feature
  • Enhancement/optimization
  • Keyboard (addition or update)
  • Keymap/layout/userspace (addition or update)
  • Documentation

Issues Fixed or Closed by This PR

Checklist

  • My code follows the code style of this project: C, Python
  • I have read the PR Checklist document and have made the appropriate changes.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • I have tested the changes and verified that they work and don't break anything (as well as I can manage).

TweetyDaBird and others added 24 commits March 28, 2023 20:06
atmel-dfu to atmeldfu
Cleaned up the default keymap
Made versions for bootloaders
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: jack <0x6a73@protonmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-Authored-By: CytaStorm <28843423+cytastorm@users.noreply.github.com>
Co-Authored-By: CytaStorm <28843423+cytastorm@users.noreply.github.com>
Copy link
Contributor

@sigprof sigprof left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These changes are mostly workarounds for some problems in the implementation of the promicro_to_blok converter.

These problems should be fixed in the core instead, not papered over in each keyboard that uses the blok controller. Ideally just using qmk flash ... -e CONVERT_TO=blok should work without any controller-specific adjustments like that.

keyboards/tweetydabird/lotus58/blok/config.c Show resolved Hide resolved
keyboards/tweetydabird/lotus58/blok/config.c Outdated Show resolved Hide resolved
keyboards/tweetydabird/lotus58/blok/halconf.h Show resolved Hide resolved
keyboards/tweetydabird/lotus58/blok/rules.mk Outdated Show resolved Hide resolved
keyboards/tweetydabird/lotus58/blok/config.c Outdated Show resolved Hide resolved
keyboards/tweetydabird/lotus58/blok/config.c Outdated Show resolved Hide resolved
TweetyDaBird and others added 4 commits April 29, 2023 20:41
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
@TweetyDaBird
Copy link
Contributor Author

TweetyDaBird commented Apr 29, 2023

Since it seems we are more fixing blok's silliness, can you help me figure this out?

How does the converter handle the serial link? I think it's a bitbang driver on the pin in the caterina/pro micro implementation. Does that get converted to a PIO/vendor half duplex one by the converter, or is it a bitbang one still?

@sigprof
Copy link
Contributor

sigprof commented Apr 29, 2023

Each converter can supply a converter.mk file with the driver configuration; in particular, platforms/chibios/converters/promicro_to_blok/converter.mk contains:

SERIAL_DRIVER ?= vendor
WS2812_DRIVER ?= vendor
BACKLIGHT_DRIVER ?= software

So the PIO-based vendor driver for RP2040 is used for split; this driver uses the half-duplex mode by default, and does not require an external pull-up resistor, so it should not need any hardware modifications. The WS2812 driver is also PIO-based; the only suboptimal part is the backlight driver (using the hardware PWM would need additional configuration which depends on the used pin, and automatic configuration is not implemented for that part).

@TweetyDaBird
Copy link
Contributor Author

Each converter can supply a converter.mk file with the driver configuration; in particular, platforms/chibios/converters/promicro_to_blok/converter.mk contains:

SERIAL_DRIVER ?= vendor
WS2812_DRIVER ?= vendor
BACKLIGHT_DRIVER ?= software

So the PIO-based vendor driver for RP2040 is used for split; this driver uses the half-duplex mode by default, and does not require an external pull-up resistor, so it should not need any hardware modifications. The WS2812 driver is also PIO-based; the only suboptimal part is the backlight driver (using the hardware PWM would need additional configuration which depends on the used pin, and automatic configuration is not implemented for that part).

Well, I'm not using backlight, so unfortunately that will be left to someone else to figure out then. But that solves the serial.

@TweetyDaBird
Copy link
Contributor Author

Made redundant by other PR.

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

Successfully merging this pull request may close these issues.

3 participants