Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
bff12ad
Add SmallVM v346 stable base code
Vajnar Nov 23, 2025
baa2c56
Add minimum NuttX /dev/ttyACM0 version for ESP32-C6
Vajnar Nov 23, 2025
da0d47c
Make smallVM compilable on NuttX
Vajnar Nov 23, 2025
10b5114
Set count = 5 to improve responsiveness of MicroBlocks IDE
Vajnar Nov 23, 2025
202e38f
Decrease memory footprint of smallVM
Vajnar Nov 23, 2025
89e9814
add TCP version of smallVM and make ttyATM0 default
Vajnar Nov 23, 2025
e5e17d8
Make the serial connection faster
Vajnar Nov 23, 2025
1f62122
Move smallVM to interpreters/smallvm directory and combine serial, TC…
Vajnar Nov 26, 2025
e804c65
Add application for transferring data between TCP socket and pseudo-TTY
Vajnar Nov 26, 2025
aa91cf4
smallVM: use ppoll() to wait for events
Vajnar Apr 12, 2026
362b939
Add basic LED blinking MicroBlocks application
Vajnar Apr 12, 2026
e09adeb
smallvm: switch to ppoll() for recvBytes() and sendBytes()
Vajnar Apr 19, 2026
42b83ba
smallvm: pty2tcp: rewrite using ppoll()
Vajnar Apr 19, 2026
002b5b6
smallvm: pty2tcp: Use blocking sockets
Vajnar Apr 20, 2026
2cc5d29
smallvm: runtime.c: Drain receive buffer (process all outstanding mes…
Vajnar Apr 20, 2026
07346b9
smallvm: runtime.c: Fix handling of incomplete messages
Vajnar Apr 21, 2026
2e0b803
smallvm: Update VM to v377
Vajnar Apr 22, 2026
13621a1
smallvm: mem.h: fix redefinition warnings
Vajnar Apr 22, 2026
2599fc4
smallvm: runtime.c: Fix processing of messages in case of a timeout
Vajnar Apr 25, 2026
aaf7e5f
smallvm: runtime.c: call sendData() after processing each incoming me…
Vajnar Apr 25, 2026
8c30ee1
interpresters/smallvm: Add basic support for TFT display
Vajnar Jun 9, 2026
72da835
tftPrims: fix color order
Vajnar Jun 9, 2026
a8bc81e
tmp
Vajnar Jun 13, 2026
ce995b7
Fix drawing of lines and improve initialization
Vajnar Jun 26, 2026
86e1631
Add Touch Screen module and add 2nd task
Vajnar Jun 26, 2026
ddc136a
Improve drawing lines
Vajnar Jun 26, 2026
7c8bf76
smallvm: Add support for touchscreen input
Vajnar Jun 27, 2026
679358e
smallvm: Add support for USERLED
Vajnar Jun 28, 2026
a12ea27
Add persistent support
Vajnar Jul 2, 2026
0fbe652
smallvm: Add support for buttons
Vajnar Jul 3, 2026
9fcc117
smallvm: Add possibility to (re)-connect after VM was launched
Vajnar Jul 3, 2026
2dd96f7
smallvm: Handle SIGPIPE/EPIPE
Vajnar Jul 5, 2026
35d19bf
build(deps): bump docker/login-action from 4.2.0 to 4.4.0
dependabot[bot] Jul 6, 2026
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
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ jobs:
run: tar zxf sources.tar.gz

- name: Docker Login
uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4.2.0
uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4.4.0
with:
registry: ghcr.io
username: ${{ github.actor }}
Expand Down Expand Up @@ -251,7 +251,7 @@ jobs:
run: tar zxf sources.tar.gz

- name: Docker Login
uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4.2.0
uses: docker/login-action@af1e73f918a031802d376d3c8bbc3fe56130a9b0 # v4.4.0
with:
registry: ghcr.io
username: ${{ github.actor }}
Expand Down
42 changes: 42 additions & 0 deletions interpreters/smallvm/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
config INTERPRETERS_SMALLVM
tristate "smallVM"
default n

if INTERPRETERS_SMALLVM

config INTERPRETERS_SMALLVM_PRIORITY
int "smallVM priority"
default 100

config INTERPRETERS_SMALLVM_STACKSIZE
int "smallVM stack size"
default 8192

choice
prompt "Communication with Microblocks IDE"
default INTERPRETERS_SMALLVM_SERIAL

config INTERPRETERS_SMALLVM_SERIAL
bool "Use serial line for communication"

config INTERPRETERS_SMALLVM_TCP
bool "Use TCP for communication"

endchoice

if INTERPRETERS_SMALLVM_SERIAL

config INTERPRETERS_SMALLVM_SERIAL_DEVICE
string "Serial device used for communication"
default "/dev/ttyACM0"

endif

if INTERPRETERS_SMALLVM_TCP

config INTERPRETERS_SMALLVM_TCP_PORT
int "Port number to listen on"
default 9876
endif

endif
3 changes: 3 additions & 0 deletions interpreters/smallvm/Make.defs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ifneq ($(CONFIG_INTERPRETERS_SMALLVM),)
CONFIGURED_APPS += $(APPDIR)/interpreters/smallvm
endif
22 changes: 22 additions & 0 deletions interpreters/smallvm/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
include $(APPDIR)/Make.defs

CFLAGS += -DGNUBLOCKS -DNUTTX -Wno-strict-prototypes -Wno-shadow

CSRCS = dataPrims.c \
interp.c \
mem.c \
miscPrims.c \
persist.c \
runtime.c \
tinyJSON.c \
varPrims.c \
tftPrims.c

MAINSRC = nuttx.c

PROGNAME = smallvm
PRIORITY = $(CONFIG_INTERPRETERS_SMALLVM_PRIORITY)
STACKSIZE = $(CONFIG_INTERPRETERS_SMALLVM_STACKSIZE)
MODULE = $(CONFIG_INTERPRETERS_SMALLVM)

include $(APPDIR)/Application.mk
19 changes: 19 additions & 0 deletions interpreters/smallvm/blinking_LED.ubp
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
module main
author unknown
version 1 0
description ''

script 75 65 {
whenStarted
forever {
setUserLED true
waitMillis 500
setUserLED false
waitMillis 500
}
}

script 55 295 (boardType)

script 55 336 ('[misc:version]')

Loading
Loading