Skip to content

v4.28

Latest

Choose a tag to compare

@github-actions github-actions released this 05 Nov 21:29

A steadier UART link, CAN mappings you can manage from the page, more capable formula tiles, and bitmask values shown as the flags they are. As before, most of this came from community testing on the forum: thanks again, sperate.

Try it first: the live demo runs this exact UI on a simulated inverter, in your browser.

SD card users: fresh installs no longer probe for an SD card at boot. If you log to an SD card and have never changed that setting, turn it on in Settings → SD Card → Probe for an SD card at boot and reboot. A setting you saved before is kept.

UART link: no more lost sync

  • The CAN Mapping page no longer loses the inverter. libopeninv's terminal can echo a command without its first character after a bare newline, so the ESP didn't recognise the echo. A command that printed nothing (can print with no mappings stored) then looked like a wrong baud rate: the ESP dropped to 115200 while the inverter stayed at 921600, every reply came back empty, and only an inverter reboot recovered. The ESP now recognises the clipped echo and keeps the fast baud.
  • Recovers from a baud mismatch in either direction. When a command gets neither an echo nor a reply, the ESP tries the other baud rate once and settles on 115200 if neither answers, so neither the ESP nor the inverter needs a reboot.
  • save returns both of its lines. "Parameters stored" follows the flash write and used to spill into the next command's reply, so the mapping list failed to reload after saving.

Tested on a ZombieVerter over UART: empty can print, adding, saving and deleting mappings from the page, and recovery from both kinds of baud mismatch.

CAN Mapping

  • Works in UART mode. The page lists the inverter's mappings from its can print output and removes them with can del (the inverter removes all of a parameter's mappings at once, and the page asks first when there's more than one). It says so when the inverter can't list them, and terminal replies such as "Unknown parameter" now count as errors.
  • New mappings have a Bias field (default 0), and it's always sent. Some inverter firmware (5.39) rejects a can tx/can rx line without it.
  • Fits any screen. New mappings and virtual values are labelled fields that wrap to the width available, so phones and narrow windows no longer scroll sideways to reach Length, Gain and Bias. The number fields are wide enough for values like 0.0625 and -128.

Formula tiles

  • New helpers: %, mod(a,b) (always 0…b, also for negative inputs), wrap180(angle) (to −180…180) and sin/cos in degrees. wrap180(angle) shows an angle centred on 0, without the jump from 360 to 0 at the sync position.
  • Checked as you type. A line under the Formula box shows what's wrong (syntax error, unknown value or function, a helper without brackets) or the formula's current result.
  • Numbers like 1e5 and .5 work, and the box takes 120 characters (was 60).
  • Tighter: formulas are parsed token by token, and a . outside a number is refused, so a formula saved in a shared layout can't reach JavaScript properties.

Bitmask values

  • Bitmask enums (status, pinswap, canio and similar) are recognised from their values and show their set flags everywhere: Spot Values, the Dashboard and gauges. A plain enum with an unlisted value shows the number rather than made-up flags.
  • Bitmask parameters show their active flags and edit as one checkbox per bit. Enum labels may contain / (e.g. Encoder/Resolver).
  • In Spot Values, enum and bitmask text spans the sparkline and unit columns, so long status text isn't cut short.

Gauges and Dashboard

  • Line traces move in time. Line tiles and Dashboard sparklines add a point per sample whether or not the value changed, so steady signals keep scrolling, and the time axis no longer stretches while a trace fills or when a value leaves the scale.
  • Peak-hold gauges show the session low and high (▼ min ▲ max) on radial and bar gauges.
  • Values appear sooner, especially over a slow link. The layout loads alongside sign-in, and the regular poll covers the gap until the live stream delivers, so a blocked stream port no longer leaves gauges blank.
  • Tile settings keep what you type: decimals, negative values and multi-digit numbers (Min/Max, Points, Size) can be entered without the field snapping back.

Syncofs tuner (FOC)

  • Works again. Its knobs disappeared with the v4 rewrite and the page failed to load. The knobs are redrawn and can be dragged, scrolled, nudged with the arrow keys or typed into.
  • The manualid knob sets manualid (it used to set syncofs), and both knobs start from the inverter's current values, so the first turn can't jump.
  • The speed axis follows the fastest sample (100 to 1000 rpm), offsets not yet tried stay blank, and the cursor is a dashed amber line.
  • Live speed, id, iq and opmode readout; manualid is set back to 0 when you leave the page.

Users and settings

  • Admins can turn sign-in off again (Settings → Users & Access → Turn off sign-in, confirmed with your password). All accounts are removed and the device returns to open access, as after a BOOT-button reset.
  • Add user opens a dialog instead of a form left open under the user list.
  • Settings → Web Interface → Dashboard is gone: each Status tile sets its own figures in the layout editor. A choice saved with the old picker is still the default for a Status tile with no figures of its own.
  • Unsaved changes show as a slim bar with Save / Restore that folds into a small "N unsaved" pill.
  • Submit parameters posts to the parameter database the way the classic UI did, behind a dialog that explains the forum sign-in and offers the parameter file as a fallback.

Updating

Use the Update page as usual. Device settings and accounts are kept by the ESP, and your layouts and images are restored by the browser after the reboot (with sign-in on, sign back in as an operator or admin). The UART fixes are in the firmware, which the update includes.

For contributors

  • E2E suite at 343 tests, including baud-mismatch and CAN mapping paths, sideways-overflow checks on the CAN Mapping page from 375 to 1440 px, formula parsing and its editor messages, bitmask enums and the syncofs tuner.
  • The mock ESP's UART terminal answers can print/tx/rx/del/clear, and it can add latency per reply and simulate a stream port that never answers.

Full Changelog: v4.27...v4.28