From 0c90935597f3ea578f7a153a39e1e2ebec0c2ce5 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Sun, 7 Aug 2022 10:57:35 -0400 Subject: [PATCH] added cw_stop to exit CW mode --- cubesatsim/cubesatsim.ino | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 35ea322d..c87581c2 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -298,16 +298,20 @@ void send_cw() { } void transmit_on() { - if ((mode == AFSK) || (mode == SSTV)) { + if (mode == SSTV) { Serial.println("Transmit on!"); digitalWrite(MAIN_LED_BLUE, HIGH); - digitalWrite(PTT_PIN, LOW); - } + digitalWrite(PTT_PIN, LOW); + } else if (mode == BPSK) { Serial.println("Transmit on!"); pwm_set_gpio_level(BPSK_PWM_A_PIN, (config.top + 1) * 0.5); pwm_set_gpio_level(BPSK_PWM_B_PIN, (config.top + 1) * 0.5); } + else if (mode == CW) { + // Serial.println("Transmit on!"); + cw_stop = false; + } else Serial.println("No transmit!"); } @@ -321,8 +325,10 @@ void transmit_off() { pwm_set_gpio_level(BPSK_PWM_A_PIN, 0); pwm_set_gpio_level(BPSK_PWM_B_PIN, 0); } - if (mode == SSTV) + else if (mode == SSTV) sstv_end(); + else if (mode == CW) + cw_stop = true; } void config_telem() { @@ -3470,7 +3476,7 @@ void transmit_string(char *string) { digitalWrite(MAIN_LED_BLUE, HIGH); digitalWrite(PTT_PIN, LOW); - while ((string[j] != '\0') && (j < 256)) { + while ((string[j] != '\0') && (j < 256) && !cw_stop) { // Serial.print("j = "); // Serial.println(j); if (string[j] != ' ')