You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Haven't dug deep yet, but it's clear you have to be careful to set certain values before using windows.
I have a window w/ spriteBuffer. When I receive a key from a CardKB board attached to PortA, I update the window.
If I did not set the window's font in setup, I get a crash when I process a keystroke.
Ideally, there should be safe, reasonable defaults for required values (or return an error rather than crashing.)
Probably not necessary, but the full program is below. Note the line containing // Comment out this line, you will crash when a key arrives
/*
A small editor using the CardKB I2C expansion card w/ Core2
*/
#include <M5Core2.h>
#include <Core2ez.h>
#define CARDKB_ADDR 0x5F
String input;
ezWindow display(20, 60, 280, 64);
void update_display() {
display.fillScreen(BLACK);
display.drawString(input, 0, 0);
display.push();
}
void process_key(char c) {
switch(c) {
// TBD: Handle CR, BS, etc. as special cases
default:
input += c;
update_display();
}
}
void setup() {
ez.begin();
Wire1.begin(32, 33);
display.spriteBuffer();
ez.Screen.add(display);
ez.Screen.focus();
ez.Screen.fillScreen(BLACK);
ez.Screen.setTextColor(YELLOW, BLACK);
ez.Screen.setTextSize(1);
ez.Screen.drawCentreString("Input text with CardKB", 160, 4, 4);
display.setTextDatum(TL_DATUM);
display.setTextPadding(0);
display.ezFont(FSSB12); // Comment out this line, you will crash when a key arrives
display.setTextColor(YELLOW);
display.fillScreen(BLACK);
display.push();
}
void loop() {
Wire1.requestFrom(CARDKB_ADDR, 1);
while(Wire1.available()) {
char c = Wire1.read(); // receive a byte as character
if (c != 0) process_key(c);
}
delay(10);
}
The text was updated successfully, but these errors were encountered:
Haven't dug deep yet, but it's clear you have to be careful to set certain values before using windows.
I have a window w/ spriteBuffer. When I receive a key from a CardKB board attached to PortA, I update the window.
If I did not set the window's font in setup, I get a crash when I process a keystroke.
Ideally, there should be safe, reasonable defaults for required values (or return an error rather than crashing.)
Probably not necessary, but the full program is below. Note the line containing
// Comment out this line, you will crash when a key arrives
The text was updated successfully, but these errors were encountered: