From f8b8221ff2995ecdbec1f2306a32f9a78139bab3 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Sun, 7 Aug 2022 02:23:19 -0400 Subject: [PATCH 1/4] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index fc561a87..e14f59b7 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -38,7 +38,7 @@ #include #include "hardware/gpio.h" #include "hardware/adc.h" -#include +#include "SSTV-Arduino-Scottie1.h" Adafruit_INA219 ina219_1_0x40; Adafruit_INA219 ina219_1_0x41(0x41); @@ -56,7 +56,12 @@ WiFiClient client; //#define PICO_W // define if Pico W board. Otherwise, compilation fail for Pico or runtime fail if compile as Pico W +byte green_led_counter = 0; + void setup() { + + set_sys_clock_khz(133000, true); + new_mode = mode; Serial.begin(9600); @@ -116,6 +121,9 @@ void setup() { } */ start_button_isr(); + setup_sstv(); + start_isr(); + start_pwm(); /* char call[] = "AMSAT"; @@ -278,9 +286,12 @@ void transmit_off() { Serial.println("Transmit off!"); digitalWrite(MAIN_LED_BLUE, LOW); // ITimer0.stopTimer(); // stop BPSK ISR timer - pwm_set_gpio_level(BPSK_PWM_A_PIN, 0); - pwm_set_gpio_level(BPSK_PWM_B_PIN, 0); - sstv_end(); + if (mode == BPSK) { + pwm_set_gpio_level(BPSK_PWM_A_PIN, 0); + pwm_set_gpio_level(BPSK_PWM_B_PIN, 0); + } + if (mode == SSTV) + sstv_end(); } void config_telem() { @@ -1891,12 +1902,13 @@ void config_radio() // } else if (mode == FSK) { // moved to below // transmit_on(); } else if (mode == BPSK) { - start_pwm(); - start_isr(); +// start_pwm(); +// start_isr(); transmit_on(); } if ((mode == FSK) || (mode == SSTV)) +// start_isr(); transmit_on(); } @@ -2712,7 +2724,7 @@ void start_pwm() { // pwm_value = 128 - pwm_amplitude; // set_sys_clock_khz(125000, true); - set_sys_clock_khz(133000, true); +// set_sys_clock_khz(133000, true); gpio_set_function(BPSK_PWM_A_PIN, GPIO_FUNC_PWM); gpio_set_function(BPSK_PWM_B_PIN, GPIO_FUNC_PWM); @@ -3152,6 +3164,8 @@ void config_gpio() { bool TimerHandler0(struct repeating_timer *t) { + digitalWrite(STEM_LED_GREEN, !green_led_counter++); + if (mode == BPSK) { // only do this if BPSK mode. Should turn off timer interrupt when not BPSK in future // Serial.print("l1 "); // Serial.print(wav_position); From 744bf83b6a78b7b3f03bc2449be9b0d58cd60281 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Sun, 7 Aug 2022 02:23:51 -0400 Subject: [PATCH 2/4] Update cubesatsim.h --- cubesatsim/cubesatsim.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index 02544a1e..5f099534 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -220,7 +220,7 @@ long int uptime = 1000; char call[5]; char sim_yes[10]; -int mode = SSTV; +int mode = BPSK; // SSTV; volatile int new_mode; int bitRate, bufLen, rsFrames, payloads, rsFrameLen, dataLen, headerLen, syncBits, syncWord, parityLen, samples, frameCnt, samplePeriod; float sleepTime; From fbb99cfebe5c49658f8ab615acf0a791ed5be270 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Sun, 7 Aug 2022 03:23:13 -0400 Subject: [PATCH 3/4] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index e14f59b7..b9cc3c0e 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3164,7 +3164,7 @@ void config_gpio() { bool TimerHandler0(struct repeating_timer *t) { - digitalWrite(STEM_LED_GREEN, !green_led_counter++); +// digitalWrite(STEM_LED_GREEN, !green_led_counter++); if (mode == BPSK) { // only do this if BPSK mode. Should turn off timer interrupt when not BPSK in future // Serial.print("l1 "); @@ -3230,7 +3230,7 @@ void start_isr() { // if (ITimer0.attachInterruptInterval(833, TimerHandler0)) // if (ITimer0.attachInterruptInterval(804, TimerHandler0)) - if (ITimer0.attachInterruptInterval(828, TimerHandler0)) + if (ITimer0.attachInterruptInterval(827, TimerHandler0)) // was 828 // if (ITimer0.attachInterruptInterval(1667, TimerHandler0)) { Serial.print(F("Starting ITimer0 OK, micros() = ")); Serial.println(micros()); From 361eedb055109aca6ba6cd423a90f9b2de9489dd Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Sun, 7 Aug 2022 03:24:10 -0400 Subject: [PATCH 4/4] working all files together, changed back to -Library.h --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index b9cc3c0e..fa636b22 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -38,7 +38,7 @@ #include #include "hardware/gpio.h" #include "hardware/adc.h" -#include "SSTV-Arduino-Scottie1.h" +#include "SSTV-Arduino-Scottie1-Library.h" Adafruit_INA219 ina219_1_0x40; Adafruit_INA219 ina219_1_0x41(0x41);