Skip to content

Commit e49e938

Browse files
committed
tweaks
1 parent 092b789 commit e49e938

File tree

3 files changed

+40
-6
lines changed

3 files changed

+40
-6
lines changed

android-src/KV4PHT/app/src/main/java/com/vagell/kv4pht/radio/RadioAudioService.java

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -483,6 +483,8 @@ public void setChannelMemories(LiveData<List<ChannelMemory>> channelMemoriesLive
483483
public interface RadioAudioServiceCallbacks {
484484
public void radioMissing();
485485
public void radioConnected();
486+
public void hideSnackbar();
487+
public void radioModuleHandshake();
486488
public void radioModuleNotFound();
487489
public void audioTrackCreated();
488490
public void packetReceived(APRSPacket aprsPacket);
@@ -729,13 +731,13 @@ private String getTxFreq(String txFreq, int offset, int khz) {
729731
if (offset == ChannelMemory.OFFSET_NONE) {
730732
return txFreq;
731733
} else {
732-
Float freqFloat = Float.parseFloat(txFreq);
734+
float freqFloat = Float.parseFloat(txFreq);
733735
if (offset == ChannelMemory.OFFSET_UP) {
734736
freqFloat += 0f + (khz / 1000f);
735737
} else if (offset == ChannelMemory.OFFSET_DOWN){
736738
freqFloat -= 0f + (khz / 1000f);
737739
}
738-
return makeSafeHamFreq(freqFloat.toString());
740+
return makeSafeHamFreq(Float.toString(freqFloat));
739741
}
740742
}
741743

@@ -866,6 +868,9 @@ private void findESP32Device() {
866868
}
867869
} else {
868870
Log.d("DEBUG", "Found ESP32.");
871+
if (callbacks != null) {
872+
callbacks.hideSnackbar();
873+
}
869874
setupSerialConnection();
870875
}
871876
}
@@ -1030,7 +1035,7 @@ private void checkFirmwareVersion() {
10301035
callbacks.missingFirmware();
10311036
setMode(MODE_BAD_FIRMWARE);
10321037
}
1033-
}, 6000);
1038+
}, 30000);
10341039
}
10351040

10361041
private void initAfterESP32Connected() {
@@ -1461,6 +1466,9 @@ private void handleParsedCommand(byte cmd, byte[] param) {
14611466
} else if (cmd == COMMAND_HELLO) {
14621467
gotHello = true;
14631468
audioTrack.stop();
1469+
if (callbacks != null) {
1470+
callbacks.radioModuleHandshake();
1471+
}
14641472
restartAudioPrebuffer();
14651473
checkFirmwareVersion();
14661474
} else {

android-src/KV4PHT/app/src/main/java/com/vagell/kv4pht/ui/MainActivity.java

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -324,6 +324,13 @@ public void radioMissing() {
324324

325325
@Override
326326
public void radioConnected() {
327+
hideSnackbar();
328+
applySettings();
329+
findViewById(R.id.pttButton).setClickable(true);
330+
}
331+
332+
@Override
333+
public void hideSnackbar() {
327334
if (usbSnackbar != null) {
328335
usbSnackbar.dismiss();
329336
usbSnackbar = null;
@@ -336,8 +343,12 @@ public void radioConnected() {
336343
radioModuleNotFoundSnackbar.dismiss();
337344
radioModuleNotFoundSnackbar = null;
338345
}
339-
applySettings();
340-
findViewById(R.id.pttButton).setClickable(true);
346+
347+
}
348+
349+
@Override
350+
public void radioModuleHandshake() {
351+
showHandshakeSnackbar();
341352
}
342353

343354
@Override
@@ -1726,6 +1737,21 @@ private void showUSBSnackbar() {
17261737
usbSnackbar.show();
17271738
}
17281739

1740+
private void showHandshakeSnackbar() {
1741+
CharSequence snackbarMsg = "kv4p HT radio handshake.";
1742+
usbSnackbar = Snackbar.make(this, findViewById(R.id.mainTopLevelLayout), snackbarMsg, Snackbar.LENGTH_INDEFINITE)
1743+
.setBackgroundTint(Color.rgb(20, 140, 0)).setActionTextColor(Color.WHITE).setTextColor(Color.WHITE)
1744+
.setAnchorView(findViewById(R.id.bottomNavigationView));
1745+
1746+
// Make the text of the snackbar larger.
1747+
TextView snackbarActionTextView = (TextView) usbSnackbar.getView().findViewById(com.google.android.material.R.id.snackbar_action);
1748+
snackbarActionTextView.setTextSize(20);
1749+
TextView snackbarTextView = (TextView) usbSnackbar.getView().findViewById(com.google.android.material.R.id.snackbar_text);
1750+
snackbarTextView.setTextSize(20);
1751+
1752+
usbSnackbar.show();
1753+
}
1754+
17291755
private void showRadioModuleNotFoundSnackbar() {
17301756
CharSequence snackbarMsg = "Radio module not responding to ESP32, check PCB solder joints";
17311757
radioModuleNotFoundSnackbar = Snackbar.make(this, findViewById(R.id.mainTopLevelLayout), snackbarMsg, Snackbar.LENGTH_INDEFINITE)

microcontroller-src/kv4p_ht_esp32_wroom_32/kv4p_ht_esp32_wroom_32.ino

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ void loop() {
315315
while (result != 1) {
316316
result = dra->handshake(); // Wait for module to start up
317317
// Serial.println("handshake: " + String(result));
318-
318+
esp_task_wdt_reset();
319319
if ((micros() - waitStart) > 2000000) { // Give the radio module 2 seconds max before giving up on it
320320
radioModuleStatus = RADIO_MODULE_NOT_FOUND;
321321
break;

0 commit comments

Comments
 (0)