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

Reply via email to