Meshtastic-Android/app/src/main/java/com/geeksville/mesh/model/ChannelOption.kt

30 lines
1.3 KiB
Kotlin
Raw Normal View History

2021-02-27 13:43:55 +08:00
package com.geeksville.mesh.model
2022-05-26 16:23:47 -03:00
import com.geeksville.mesh.ConfigProtos
2021-02-27 13:43:55 +08:00
import com.geeksville.mesh.R
2021-03-29 20:33:06 +08:00
enum class ChannelOption(
2022-05-26 16:23:47 -03:00
val modemPreset: ConfigProtos.Config.LoRaConfig.ModemPreset,
2021-03-29 20:33:06 +08:00
val configRes: Int,
val minBroadcastPeriodSecs: Int
) {
2022-05-26 16:23:47 -03:00
SHORT_FAST(ConfigProtos.Config.LoRaConfig.ModemPreset.ShortFast, R.string.modem_config_short, 30),
SHORT_SLOW(ConfigProtos.Config.LoRaConfig.ModemPreset.ShortSlow, R.string.modem_config_slow_short, 30),
MED_FAST(ConfigProtos.Config.LoRaConfig.ModemPreset.MidFast, R.string.modem_config_medium, 60),
MED_SLOW(ConfigProtos.Config.LoRaConfig.ModemPreset.MidSlow, R.string.modem_config_slow_medium, 60),
LONG_FAST(ConfigProtos.Config.LoRaConfig.ModemPreset.LongFast, R.string.modem_config_long, 240),
LONG_SLOW(ConfigProtos.Config.LoRaConfig.ModemPreset.LongSlow, R.string.modem_config_slow_long, 375),
VERY_LONG(ConfigProtos.Config.LoRaConfig.ModemPreset.VLongSlow, R.string.modem_config_very_long, 375);
2021-02-27 13:43:55 +08:00
companion object {
2022-05-26 16:23:47 -03:00
fun fromConfig(modemPreset: ConfigProtos.Config.LoRaConfig.ModemPreset?): ChannelOption? {
2021-02-27 13:43:55 +08:00
for (option in values()) {
2022-05-26 16:23:47 -03:00
if (option.modemPreset == modemPreset)
2021-02-27 13:43:55 +08:00
return option
}
return null
}
2021-03-29 20:33:06 +08:00
2021-02-27 13:43:55 +08:00
val defaultMinBroadcastPeriod = VERY_LONG.minBroadcastPeriodSecs
}
2020-06-14 00:11:08 -04:00
}