Repository navigation
feat: run cloud shell commands on the ESP32-C6 Modbus full image - #23
Merged
Merged
Conversation
The C6 Modbus tedge-full image had no c8y_Command: the shell-diagnostics extra costs 16 KB of RAM and 120 KB of flash there, past the image's 80 % flash budget. release/extras/shell-lean.conf goes after it and trims the shell to what a cloud command uses (no history, completion, terminal handling, log backend or network and Wi-Fi shells), with smaller output buffers, since a result is cut at about 220 bytes anyway. `tedge net` (CONFIG_APP_NET_SHELL_CMD) replaces `net iface` and `wifi status` with one short answer: Wi-Fi state, SSID, channel, RSSI, address, gateway, DNS server and gateway pings. `kernel heap` joins the C6 allow-list to show the kernel heap the Wi-Fi driver uses. Cost against 0.11.1: +9,360 B RAM (malloc arena 74 KB -> 65 KB), +6.5 KB flash (73.7 % of the slot). Other builds are unchanged. Co-Authored-By: Claude Opus 5.5 <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The ESP32-C6 Modbus
tedge-fullimage didn't offerc8y_Command. Theshell-diagnosticsextra that the S3 builds use costs 15.9 KB of RAM and 120 KB of flash on the C6, which puts the image at 82.4 % of its slot (budget 80 %).What changes
release/extras/shell-lean.conf: goes aftershell-diagnostics.confand trims the shell to what a cloud command uses. It drops history, completion, VT100, the shell log backend, the device and log shells, stack painting, and the network and Wi-Fi shells. The shell thread gets 1.5 KB, and the output buffers are cut to 256 B, because a result is cut at about 220 bytes anyway.tedge net(lib/common/net.c,CONFIG_APP_NET_SHELL_CMD, off by default): one short answer with Wi-Fi state, SSID, channel, RSSI, address/prefix, gateway, DNS server, and gateway ping count. It replacesnet ifaceandwifi status, which print more than a result holds.kernel uptime,kernel version,kernel heap,tedge net,tedge params list,tedge diag,tedge identify.kernel heapshows the kernel heap the Wi-Fi driver and the tunnel allocate from.release/devices.yml: the C6 Modbus full build uses both extras and is now apr: truebuild.DEVICES.mdhas the measurements, andREADME.mdandcumulocity/README.mdlist the C6 commands.Cost (against 0.11.1)
tedge-full(0.11.1)The largest single item is the command thread's 4 KB stack, tiny-edge's unmeasured default. The Wi-Fi driver allocates from the fixed kernel heap (about 55 KB), not the malloc arena the shell's RAM comes from. Other release builds are unchanged: the new option is off unless the lean extra sets it.
Testing
scripts/release/build.sh modbus-server-tedge-full-esp32c6-devkitc --write-baselinepasses the size checks, and the baseline is updated for that build only.scripts/release/matrix.pyvalidates, andscripts/release/testspass (43).0.11.1-shelltest.1(same configuration and code) installed over the air and confirmed, and the device listsc8y_Command.DEVICES.mdnotes it as pending.🤖 Generated with Claude Code