Hi Tim,

About your progress with fbcon, just realized you created it as an
application, do you think it could be part of the kernel (like in Linux) ?

This way it could be used to print the initialization messages from the
kernel too.

Sometime ago we discussed the idea of adding a boot logo to NuttX, like in
Linux. Maybe fbcon could be a start.

I think the nxterm could work for your purpose, but it will increase the
final firmware size (in case of NXBoot usage).

BR,

Alan



On Wed, Mar 12, 2025 at 7:12 AM Tim Hardisty <timhardist...@gmail.com>
wrote:

> 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