wcQueue depth
Gateway PSRAM EXT_RAM_BSS_ATTR
All seven buffers scale with WC_QUEUE_CAP above — the base64 switch traded hex's larger text buffers for extra raw-byte scratch space (see mNodeEventsRawBytes). CONFIG_SPIRAM_TYPE_AUTO detects the populated module at boot; 8 MB is this board's known module size.
Azure D2C payload azureIotSendD2cMessage
Azure IoT Hub hard-caps device-to-cloud messages at 256 KB regardless of tier. The firmware's own MESSAGE_PAYLOAD_CAP (24 KB) is declared in nexa.c but isn't currently checked anywhere before send.
Telemetry buffer /ext/buf
- No finalized chunks yet.
Finalized chunks name as {startTime}_{endTime}_{uuid}.gz and upload to {deviceId}/telemetry/{uuid}.gz in blob storage. Only one chunk uploads at a time, and it's protected from eviction while reserved — see the "chunk reservation" logic in telemetryBuffer.c. telemetryBufferFlush() also force-rotates whatever's in tmp.raw — even under the size threshold — on every connect and disconnect, not just when it fills up.
Depth over time
- threshold
- interval
- near full
- queue full
- exception