Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 1 addition & 6 deletions .github/workflows/buil_parallel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ jobs:
fail-fast: false
matrix:
board:
- { env: "arduino-nesso-n1", family: "ESP32-C6",}
- { env: "m5stack-cardputer", family: "ESP32-S3",}
- { env: "m5stack-sticks3", family: "ESP32-S3",}
- { env: "m5stack-cplus2", family: "ESP32",}
Expand All @@ -27,11 +26,9 @@ jobs:
- { env: "m5stack-core16mb", family: "ESP32",}
- { env: "m5stack-core4mb", family: "ESP32",}
- { env: "m5stack-cores3", family: "ESP32-S3",}
- { env: "m5stack-dinmeter", family: "ESP32-S3",}
- { env: "esp32-s3-devkitc-1", family: "ESP32-S3",}
- { env: "esp32-c5", family: "ESP32-C5",}
- { env: "esp32-c5-tft", family: "ESP32-C5",}
- { env: "nm-cyd-c5", family: "ESP32-C5",}
- { env: "CYD-2432S028", family: "ESP32",}
- { env: "CYD-2USB", family: "ESP32",}
- { env: "CYD-2432W328C", family: "ESP32",}
Expand All @@ -44,7 +41,7 @@ jobs:
- { env: "LAUNCHER_CYD-2USB", family: "ESP32",}
- { env: "LAUNCHER_CYD-2432W328C", family: "ESP32",}
- { env: "LAUNCHER_CYD-3248S035R", family: "ESP32",}
- { env: "LAUNCHER_CYD-3248S035C", family: "ESP32",}
# - { env: "LAUNCHER_CYD-3248S035C", family: "ESP32",}
- { env: "lilygo-t-embed-cc1101", family: "ESP32-S3",}
- { env: "lilygo-t-embed", family: "ESP32-S3",}
- { env: "lilygo-t-deck", family: "ESP32-S3",}
Expand All @@ -58,8 +55,6 @@ jobs:
- { env: "lilygo-t-display-ttgo", family: "ESP32",}
- { env: "lilygo-t-hmi", family: "ESP32-S3",}
- { env: "lilygo-t-lora-pager", family: "ESP32-S3",}
- { env: "elecrow-24B", family: "ESP32",}
- { env: "elecrow-28B", family: "ESP32",}
- { env: "smoochiee-board", family: "ESP32-S3",}
- { env: "reaper", family: "ESP32-S3",}
- { env: "Phantom_S024R", family: "ESP32",}
Expand Down
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,3 @@ docker-logs
lib/mquickjs_headers/mqjs_stdlib_generator
lib/mquickjs_headers/mqjs_stdlib_generator.exe
.github/agents/Bruce-AI.agent.md
.idea
.ai
217 changes: 109 additions & 108 deletions README.md

Large diffs are not rendered by default.

3 changes: 1 addition & 2 deletions boards/_boards_json/m5stack-sticks3.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@
"build": {
"arduino": {
"ldscript": "esp32s3_out.ld",
"partitions": "default_8MB.csv",
"memory_type": "qio_opi"
"partitions": "default_8MB.csv"
},
"core": "esp32",
"extra_flags": [
Expand Down
49 changes: 49 additions & 0 deletions boards/_boards_json/smoochiee-s3-2.8inch-ili9341.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
"build": {
"arduino": {
"ldscript": "esp32s3_out.ld",
"partitions": "default_16MB.csv"
},
"core": "esp32",
"extra_flags": [
"-DSMOOCHIEE_S3_2_8INCH_ILI9341",
"-DARDUINO_RUNNING_CORE=1",
"-DARDUINO_EVENT_RUNNING_CORE=1",
"-DARDUINO_USB_CDC_ON_BOOT",
"-DARDUINO_USB_MODE=1",
"-DBOARD_HAS_PSRAM"
],
"f_cpu": "240000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
"hwids": [
[
"0x303A",
"0x1001"
]
],
"mcu": "esp32s3",
"variant": "pinouts"
},
"connectivity": [
"bluetooth",
"wifi"
],
"debug": {
"openocd_target": "esp32s3.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "Smoochiee S3 2.8\" ILI9341",
"upload": {
"flash_size": "16MB",
"maximum_ram_size": 327680,
"maximum_size": 16777216,
"require_upload_port": true,
"speed": 460800
},
"url": "https://docs.m5stack.com/en/core/StampS3",
"vendor": "Smoochiee"
}
5 changes: 0 additions & 5 deletions boards/lilygo-t-embed-cc1101/interface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,6 @@ void _setBrightness(uint8_t brightval) {
void InputHandler(void) {
static unsigned long tm = millis(); // debounce for buttons
static unsigned long tm2 = millis(); // delay between Select and encoder (avoid missclick)
static unsigned long lastEncoderMoveMs = 0;
static int posDifference = 0;
static int lastPos = 0;
bool sel = !BTN_ACT;
Expand All @@ -150,10 +149,6 @@ void InputHandler(void) {
if (newPos != lastPos) {
posDifference += (newPos - lastPos);
lastPos = newPos;
lastEncoderMoveMs = millis();
} else if (posDifference != 0 && millis() - lastEncoderMoveMs > 30) {
// Drop any stale queued steps once the encoder has stopped moving.
posDifference = 0;
}

if (millis() - tm > 200 || LongPress) {
Expand Down
62 changes: 20 additions & 42 deletions boards/lilygo-t-lora-pager/interface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ const KeyValue_t _key_value_map[KB_ROWS][KB_COLS] = {
{KEY_SHIFT, KEY_SHIFT, CAPS_LOCK},
{KEY_BACKSPACE, KEY_BACKSPACE, '#'}},

{{' ', ' ', KEY_TAB}}
{{' ', ' ', ' '}}
};

char getKeyChar(uint8_t k) {
Expand Down Expand Up @@ -303,7 +303,6 @@ void _setBrightness(uint8_t brightval) {
**********************************************************************/
void InputHandler(void) {
static unsigned long tm = millis();
static unsigned long lastEncoderMoveMs = 0;
static int posDifference = 0;
static int lastPos = 0;
bool sel = !BTN_ACT;
Expand All @@ -318,60 +317,39 @@ void InputHandler(void) {
if (newPos != lastPos) {
posDifference += (newPos - lastPos);
lastPos = newPos;
lastEncoderMoveMs = millis();
} else if (posDifference != 0 && millis() - lastEncoderMoveMs > 30) {
// Drop any stale queued steps once the encoder has stopped moving.
posDifference = 0;
}

sel = digitalRead(SEL_BTN);
esc = digitalRead(BK_BTN);

if (keyboard->available() > 0) {
keyStroke pendingKey;
bool keyPulse = false;
bool hapticPulse = false;

// Drain the full TCA8418 FIFO so quick taps are handled immediately.
while (keyboard->available() > 0) {
int keyValue = keyboard->getEvent();
bool pressed = keyValue & 0x80;
keyValue &= 0x7F;
keyValue--;

if (keyValue / 10 >= 4) continue;
if (handleSpecialKeys(keyValue, pressed) > 0) continue;

int keyValue = keyboard->getEvent();
bool pressed = keyValue & 0x80;
keyValue &= 0x7F;
keyValue--;
if (keyValue / 10 < 4) {
if (handleSpecialKeys(keyValue, pressed) > 0) goto END;
keyVal = getKeyChar(keyValue);
if (!pressed || keyVal == '\0') continue;
if (wakeUpScreen()) continue;

pendingKey.hid_keys.push_back(keyVal);
}
if (pressed && !wakeUpScreen() && keyVal != '\0') {
KeyStroke.Clear();
KeyStroke.hid_keys.push_back(keyVal);
if (keyVal == KEY_BACKSPACE) {
pendingKey.del = true;
KeyStroke.del = true;
EscPress = true;
}
if (keyVal == KEY_ENTER) {
pendingKey.enter = true;
KeyStroke.enter = true;
SelPress = true;
}
if (keyVal == KEY_FN) pendingKey.fn = true;
pendingKey.word.push_back(keyVal);
keyPulse = true;
hapticPulse = true;
}
if (keyVal == KEY_FN) KeyStroke.fn = true;
KeyStroke.word.push_back(keyVal);
KeyStroke.pressed = true;

if (keyPulse) {
pendingKey.pressed = true;
KeyStroke = pendingKey;

if (hapticPulse) {
drv.setWaveform(0, 81);
drv.setWaveform(1, 0);
drv.run();
}
} else {
KeyStroke.Clear();
// Haptic feedback
drv.setWaveform(0, 81);
drv.setWaveform(1, 0);
drv.run();
}
} else KeyStroke.Clear();

Expand Down
1 change: 0 additions & 1 deletion boards/lilygo-t-lora-pager/pins_arduino.h
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,6 @@ static const uint8_t RX = SERIAL_RX;
#define KEY_FN 0x14
#define KEY_BACKSPACE 0x08
#define KEY_ENTER 0x0D
#define KEY_TAB 0x2b

// Interrupt IO
#define RTC_INT 1
Expand Down
Loading