Correct / Expected Status Bar Behavior?

Just got my BP5, pulled the repo, built, and programmed it with the latest FW. My question regards the status bar at the bottom of the screen. When it pops up, it has the appearance of two (or three?) rows at the bottom of the screen that are intended to remain in place, while the rest of the screen rows scroll up as normal. In fact, I’m pretty sure I remember this kind of pane separation being defined in the VT100 codes, if not the ANSI escape codes as well (yeah, I’m that old).

But, in the few cases I’ve tried, using screen or with a separate serial terminal emulator program, the status bars do not stay put. They roll up the screen with other subsequent commands. This could easily by a terminal setup problem on my end, but before I dive off the deep end testing that, I wanted to make sure I understood HOW the status bars are supposed to behave.

Welcome, thestumbler!

Yes, the bottom two lines should remain in place when the screen updates. I believe Ian has some fancy code that only redraws changed portions of the screen, too.

However, other users attempting to use screen have run into problems, and the general consensus was that other programs (e.g., tio) may provide better experience.

The secondary plane is not yet being used, although it’s being considered for either “menu” style popups, or for when changing into mode-specific display of data. I don’t have the thread for that discussion at hand.

1 Like

Welcome!

Henry is correct. The status bar is defined by VT100 code as a non-scrolling area. However, everyone implemented VT100 slightly differently which I guess is why ncursus exists - a database of what terminals support what and substitutions. To avoid all that, we use minimal VT100 commands that are widely supported, but still don’t work everywhere.

I would also recommend a purpose-built terminal. Especially the graceful reconnect is super handy.

1 Like

Here are some observations. Using screen, pico com, and tio, it works as noted:

(1) resizing the screen, even in width only, screws up the status bars and they will scroll up the screen (losing their “lock” to the bottom of the page)

(2) I don’t see any way to command the firmware to redraw the status bar, short of doing a complete system reset. That made testing a bunch of configurations a little awkward.

(3) The GUI serial app I have generally used on MacOS (confusingly called Serial), does not properly implement the necessary escape codes to lock the status region. I have yet to try Putty or TeraTerm (need to switch to another desk).

Not exactly related to this, but I think the USB to USB CDC serial link doesn’t need a baud rate. I didn’t specifically check this, but I’m sure I fired it up on different systems with the terminal emulator in 9600 or 115200, and it didn’t matter. I observed this last year on a project, where the serial data is just sent as fast as it can go (when USB to USB), ignoring your baud rate setting entirely.

Ian, I’d never realized that “modern” terminal emulators don’t actually emulate the terminals, like they did in the days of programs like ProComm. You’re right, NCURSES to the rescue, although I’m fuzzy on how a terminal emulator and ncurses interact. Maybe they don’t interact, it’s that the CLI terminal emulators just spew out whatever they receive via STDOUT to the OS terminal program (Terminal, iTerm2, Xterm, etc), and NCURSES functions are applied at that level.

SUGGESTION: I’d like to see a command to redraw the screen without rebooting the BP5.

QUESTION: is there a command to mount and unmount the USB mass storage device?

2 Likes

Thanks for the follow up!

You’re correct about the baud rate as far as I know.

I really like teraterm. It got some great updates at some point without any fanfare, it’s been a reliable work horse for years.

There is logic for redrawing the display, but it doesn’t have a command. I will add one now, give me a couple minutes.

There is currently no way to unmount the storage, but it shouldn’t be hard as the functionality is there.

1 Like

I pushed a cls command that re-queries the terminal size, re-inits the terminal, and redraws the status bar. It will be the latest auto build any second.

1 Like

Works like a champ! Thanks.

BTW, I want to say, the packaging of the BP5 and its accessories was impressive. Do I really need spiffy boxing and presentation on a circuit board for debugging? Probably not. But that extra attention to detail is nice. New stickers added to my “fishing tackle box turned EE toolbox”, check.

-Chris
Sacheon, South Korea

2 Likes

Glad it worked! I’ll add an unmount when I’m next messing with the file system.

Did you try the scratch and sniff sticker? :slight_smile:

That one slipped me by. The first one I put on the tool box was probably not supposed to be a sticker, it was a circular quality seal about the size of a 50 cent piece. It retained about 50% of its stickiness after peeling off the box, so I stuck it to the tool box. I noticed a flaky residue on my fingers after that, was that the “odor” that I missed?

That’s the one! You can tell it’s genuine because it smells of a freshly painted factory floor in that very specific green color.

1 Like

Alas, no residual odor. I checked. Shucks

1 Like