Fixes to the Az-El message sent via socket to rotctld

pull/65/head
Arty Bishop 2021-04-18 17:45:38 +01:00
rodzic 18820b79f4
commit e5e5fe7ee7
1 zmienionych plików z 8 dodań i 4 usunięć

Wyświetl plik

@ -24,6 +24,7 @@ import com.rtbishop.look4sat.data.repository.PassesRepo
import com.rtbishop.look4sat.data.repository.SatelliteRepo
import com.rtbishop.look4sat.di.IoDispatcher
import com.rtbishop.look4sat.utility.PrefsManager
import com.rtbishop.look4sat.utility.round
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.*
import kotlinx.coroutines.flow.collect
@ -76,12 +77,15 @@ class PolarViewModel @Inject constructor(
if (rotatorPrefs != null) {
runCatching {
withContext(ioDispatcher) {
val client = Socket(rotatorPrefs.first, rotatorPrefs.second)
val writer = client.getOutputStream()
val socket = Socket(rotatorPrefs.first, rotatorPrefs.second)
val writer = socket.getOutputStream().bufferedWriter()
while (isActive) {
val satPos = satPass.predictor.getSatPos(Date())
val message = "\\set_pos ${satPos.azimuth} ${satPos.elevation}"
writer?.write(message.toByteArray())
val azimuth = Math.toDegrees(satPos.azimuth).round(1)
val elevation = Math.toDegrees(satPos.elevation).round(1)
writer.write("\\set_pos $azimuth $elevation")
writer.newLine()
writer.flush()
delay(1000)
}
writer.close()