Implement UART module

This commit is contained in:
Sylwester Zieliński
2021-12-31 12:23:26 +01:00
parent ab4014bf64
commit 8d9e2cc22e
29 changed files with 373 additions and 32 deletions

View File

@@ -5,11 +5,9 @@ import android.os.ParcelUuid
import androidx.activity.OnBackPressedCallback
import androidx.activity.compose.BackHandler
import androidx.activity.compose.LocalOnBackPressedDispatcherOwner
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
@@ -31,6 +29,7 @@ import no.nordicsemi.android.hts.view.HTSScreen
import no.nordicsemi.android.prx.view.PRXScreen
import no.nordicsemi.android.rscs.view.RSCSScreen
import no.nordicsemi.android.theme.view.CloseIconAppBar
import no.nordicsemi.android.uart.view.UARTScreen
import no.nordicsemi.ui.scanner.navigation.view.FindDeviceScreen
@Composable
@@ -104,6 +103,18 @@ internal fun HomeScreen() {
CGMScreen { goHome() }
}
}
composable(NavDestination.CGMS.id) {
FindDeviceScreen(ParcelUuid(NavDestination.CGMS.uuid)) {
deviceHolder.onDeviceSelected(it)
CGMScreen { goHome() }
}
}
composable(NavDestination.UART.id) {
FindDeviceScreen(ParcelUuid(NavDestination.UART.uuid)) {
deviceHolder.onDeviceSelected(it)
UARTScreen { goHome() }
}
}
}
}
@@ -236,6 +247,21 @@ fun HomeView(callback: (NavDestination) -> Unit) {
}
Spacer(modifier = Modifier.height(16.dp))
Row(horizontalArrangement = Arrangement.SpaceEvenly) {
Box(
modifier = Modifier
.weight(1f)
.fillMaxSize(),
contentAlignment = Alignment.Center
) {
FeatureButton(
R.drawable.ic_uart, R.string.uart_module,
R.string.uart_module_full
) { callback(NavDestination.UART) }
}
Spacer(modifier = Modifier.width(16.dp))
}
}
}
}

View File

@@ -2,12 +2,13 @@ package no.nordicsemi.android.nrftoolbox
import no.nordicsemi.android.bps.repository.BPS_SERVICE_UUID
import no.nordicsemi.android.cgms.repository.CGMS_SERVICE_UUID
import no.nordicsemi.android.csc.service.CYCLING_SPEED_AND_CADENCE_SERVICE_UUID
import no.nordicsemi.android.csc.repository.CYCLING_SPEED_AND_CADENCE_SERVICE_UUID
import no.nordicsemi.android.gls.repository.GLS_SERVICE_UUID
import no.nordicsemi.android.hrs.service.HR_SERVICE_UUID
import no.nordicsemi.android.hts.service.HT_SERVICE_UUID
import no.nordicsemi.android.hts.repository.HT_SERVICE_UUID
import no.nordicsemi.android.prx.service.PRX_SERVICE_UUID
import no.nordicsemi.android.rscs.service.RSCS_SERVICE_UUID
import no.nordicsemi.android.uart.repository.UART_SERVICE_UUID
import java.util.*
const val ARGS_KEY = "args"
@@ -21,5 +22,6 @@ enum class NavDestination(val id: String, val uuid: UUID?, val pairingRequired:
BPS("bps-screen", BPS_SERVICE_UUID, false),
PRX("prx-screen", PRX_SERVICE_UUID, true),
RSCS("rscs-screen", RSCS_SERVICE_UUID, false),
CGMS("cgms-screen", CGMS_SERVICE_UUID, false);
CGMS("cgms-screen", CGMS_SERVICE_UUID, false),
UART("uart-screen", UART_SERVICE_UUID, false);
}