Lock up when enabling space cadet

I’m trying to enable the space cadet plugin. When I add Kaleidoscope.use(&SpaceCadet); to the setup and upload the sketch the red light stops on the d and the keyboard goes no further. I’m not sure how to even debug it. Can anyone point me in the right direction?

1 Like

You are likely hitting a bug in the code, I’m afraid. There is no fix yet, but should be in a day or two, as either @bagels or myself get around to it.

1 Like

Thanks for the quick response. Will it work without the default constructor? I can look into the code and see if I can help out.

It works with an explicit configuration for the time being.

1 Like

If you explicitly set the spacecadet config, then it should work; e.g. I have the following in my config after the use(&SpaceCadet):

  static kaleidoscope::SpaceCadet::KeyBinding spacecadetmap[] = {
    {Key_LeftShift, Key_LeftParen, 250},
    {Key_RightShift, Key_RightParen, 250},
    SPACECADET_MAP_END
  };
  SpaceCadet.map = spacecadetmap;

For what it’s worth, I had a similar lockup this morning. It turned out that I was forgetting the line that added the spacecadetmap (as it’s called from the example).

SpaceCadet.map = spacecadetmap;

Once I added that line, it was fine.

It should definitely work without that line or an explicitly set map. It is certainly a bug that I will fix. I meant to do so yesterday, but life got in the way. I am going to get a fixed patch up later tonight (Pacific Time, USA) or tomorrow.

3 Likes

I see; sorry for the red herring!

I was able to reproduce and confirm the issue. I was also able to fix the code and submitted a pull request just now to resolve. You SHOULD be able to simply reference the plugin without explicitly setting a map and have it work without freezing the whole board during initialization. That wasn’t working, but is working now.

Thanks for the reports, and sorry it was temporarily broken!

1 Like