Thanks Greg. I have allowed myself to get carried away I think.
* I wanted stdout and stderr to render on a FB to display basic
messages during bootloading (MCUboot)
* There were FBtext examples but not quite what I wanted
* There is LVGLterm - again, not quite what I wanted but food for thought
* NxTerm seemed overkill for my needs. Perhaps I was wrong, but...
* I created an "FBcon" app that successfully pipes stdout and stderr
to a FB, using NXGL font and font rendering functions and spawns a
task/app configured via Kconfig (e.g. mcuboot)
* Moved on a step to think "what about stdin...and got bogged down in
VT100 as a spawned NSH from my "FBcon" was full of them, which I
decoded, but have been suffering anomalies.
So...
For an FB console proper, I don't want to reinvent the wheel and NxTerm
is probably just fine, should I need this.
The question now is perhaps better rephrased as:
/What is a good, lightweight, and "consistent with NuttX principles"
way to add text rendering to a FB device to allow the rendering of
text (e.g. stdout) to it. Is it:/
1. /Code, based on existing, added to my mcuboot "app" to handle
the redirects? In other words, largely what I have written,
within my own app, and nothing to do with NuttX or NuttX-apps?
/
2. /An example app that does stdin/stdout redirection and spawns a
task - a combination of LVGLterm and NXGL functions - as per
what I have working (with the stdin stuff removed. I can tidy it
up and submit as a PR
/
3. /Perhaps a new FB-based character driver where the write
function takes and handles characters and renders as pixels./
4. /IOCTL to the existing FB-based driver to take text and render
it, or some variation on that theme.
/
5. /Something else?/
On 12/03/2025 03:16, Gregory Nutt wrote:
NxConsole is a related feature based on an NxTerm. It takes I/O from
/dev/console so provides an NSH shell on a framebuffer.
There are several screenshots of an NxConsole (running under the NxWM
window manager) here:
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139629473&preview=/139629402/140774634/NxWM-ScreenShots.pdf
On 3/11/2025 5:38 PM, Gregory Nutt wrote:
Sounds like you need an nxterm. An nxterm is the logical counterpart
to an xterm. You can find it at nutts/grapphics/nxterm.
It supports echoing text in a framebuffer and quite a few VT100
keyboard inputs. There are all also lots of example to illustrate
building and using it. It hasn't been used in a long time so I can't
guarantee its current state.
There is a lot of discussion in Confluence as well. This is probably
to the point:
https://cwiki.apache.org/confluence/display/NUTTX/NxTerm+Example