Improvised solution to transmit frequencies to IC705

This commit is contained in:
Rico Beier-Grunwald authored and Arty Bishop committed 2025-12-27 15:01:47 +00:00
1 parent 11841ca3d7
commit 483d846233
7 files changed
+318 -6

No files matched your search

+2 -2
View File
@@ -13,8 +13,8 @@ android {
namespace = "com.rtbishop.look4sat"
compileSdk = 35
defaultConfig {
applicationId = "com.rtbishop.look4sat"
minSdk = 24
applicationId = "com.rtbishop.look4satic705"
minSdk = 32
targetSdk = 35
versionCode = 400
versionName = "4.0.0"
+4
View File
@@ -1,6 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" />
@@ -28,7 +28,6 @@ import com.rtbishop.look4sat.presentation.MainTheme
import com.rtbishop.look4sat.presentation.MainScreen
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
installSplashScreen()
enableEdgeToEdge()
@@ -40,3 +39,5 @@ class MainActivity : ComponentActivity() {
}
}
}
// Check and Request BT Permission?
@@ -1,5 +1,6 @@
package com.rtbishop.look4sat.presentation.radar
import android.util.Log
import androidx.compose.animation.core.LinearEasing
import androidx.compose.animation.core.RepeatMode
import androidx.compose.animation.core.animateFloat
@@ -10,6 +11,7 @@ import androidx.compose.foundation.MarqueeSpacing
import androidx.compose.foundation.background
import androidx.compose.foundation.basicMarquee
import androidx.compose.foundation.border
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
@@ -31,11 +33,13 @@ import androidx.compose.material3.Scaffold
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.alpha
import androidx.compose.ui.draw.rotate
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.font.FontWeight
@@ -51,6 +55,7 @@ import androidx.navigation.navArgument
import com.rtbishop.look4sat.R
import com.rtbishop.look4sat.domain.model.SatRadio
import com.rtbishop.look4sat.domain.utility.toDegrees
import com.rtbishop.look4sat.framework.BluetoothCIV
import com.rtbishop.look4sat.presentation.MainTheme
import com.rtbishop.look4sat.presentation.Screen
import com.rtbishop.look4sat.presentation.components.CardIcon
@@ -74,6 +79,8 @@ fun NavGraphBuilder.radarDestination(navigateBack: () -> Unit) {
@Composable
private fun RadarScreen(uiState: RadarState, navigateBack: () -> Unit) {
BluetoothCIV.init(LocalContext.current)
val addToCalendar: () -> Unit = {
uiState.currentPass?.let { pass ->
uiState.sendAction(RadarAction.AddToCalendar(pass.name, pass.aosTime, pass.losTime))
@@ -250,7 +257,20 @@ private fun EclipsedIndicator() {
@Composable
private fun TransmitterItem(radio: SatRadio) {
Surface(color = MaterialTheme.colorScheme.background) {
LaunchedEffect(radio) {
BluetoothCIV.updateOnce(radio)
}
Surface(color = MaterialTheme.colorScheme.background,
modifier = Modifier.clickable(onClick = {
Log.d("BluetoothCivManager", radio.toString())
if(radio.uuid == BluetoothCIV.selected) BluetoothCIV.selected = "NONE" else
{
BluetoothCIV.connect(radio)
BluetoothCIV.updateOnce(radio)
}
})
) {
Surface(modifier = Modifier.padding(bottom = 2.dp)) {
Column(
verticalArrangement = Arrangement.spacedBy(4.dp),
@@ -105,7 +105,7 @@ class RadarViewModel(
sendPassData(satPass, pos, satPass.orbitalObject)
sendPassDataBT(pos)
processRadios(transmitters, satPass.orbitalObject, timeNow)
delay(1000)
delay(1000) //TODO: Change me maybe if smaller freq steps are better?? maybe dynamically?
}
}
}