This commit is contained in:
James Rich 2026-04-20 07:28:34 -05:00 committed by GitHub
commit e78faebde2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
20 changed files with 1600 additions and 0 deletions

View file

@ -64,6 +64,12 @@ data class Capabilities(val firmwareVersion: String?, internal val forceEnableAl
/** Support for ESP32 Unified OTA. Supported since firmware v2.7.18. */
val supportsEsp32Ota = atLeast(V2_7_18)
/**
* Support for the RemoteShell module (PTY-over-mesh, REMOTE_SHELL_APP portnum). Defined in protobufs HEAD
* (post-v2.7.21); gated to [UNRELEASED] until a firmware release ships it.
*/
val supportsRemoteShell = atLeast(UNRELEASED)
companion object {
private val V2_6_8 = DeviceVersion("2.6.8")
private val V2_6_9 = DeviceVersion("2.6.9")

View file

@ -85,6 +85,12 @@ class CapabilitiesTest {
assertTrue(caps("2.7.19").supportsTakConfig)
}
@Test
fun supportsRemoteShell_is_currently_unreleased() {
assertFalse(caps("2.7.22").supportsRemoteShell)
assertFalse(caps("3.0.0").supportsRemoteShell)
}
@Test
fun supportsEsp32Ota_requires_V2_7_18() {
assertFalse(caps("2.7.17").supportsEsp32Ota)
@ -104,6 +110,7 @@ class CapabilitiesTest {
assertFalse(c.supportsStatusMessage)
assertFalse(c.supportsTrafficManagementConfig)
assertFalse(c.supportsTakConfig)
assertFalse(c.supportsRemoteShell)
assertFalse(c.supportsEsp32Ota)
}
@ -115,5 +122,6 @@ class CapabilitiesTest {
assertTrue(c.supportsStatusMessage)
assertTrue(c.supportsTrafficManagementConfig)
assertTrue(c.supportsTakConfig)
assertTrue(c.supportsRemoteShell)
}
}