From 07d331327826e36f47a1e1f9e9952c0574849b46 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 11 Jul 2022 11:15:22 -0400 Subject: [PATCH 01/99] 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 229e8b6d..107a274b 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -32,7 +32,7 @@ #include "hardware/irq.h" // interrupts #include "hardware/pwm.h" // pwm #include "hardware/sync.h" // wait for interrupt - +#include "RPi_Pico_TimerInterrupt.h" // Pico GPIO pin assignments #define LPF_PIN 8 // LPF is installed From 152717f592c64e07317cbeab19bbe966b5584aa0 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 11 Jul 2022 11:32:25 -0400 Subject: [PATCH 02/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 646ca7ab..34a42a54 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -33,6 +33,7 @@ #include "hardware/irq.h" // interrupts #include "hardware/pwm.h" // pwm #include "hardware/sync.h" // wait for interrupt +#include "RPi_Pico_TimerInterrupt.h" Adafruit_INA219 ina219_1_0x40; Adafruit_INA219 ina219_1_0x41(0x41); @@ -2699,3 +2700,38 @@ void config_gpio() { Serial.println(analogRead(AUDIO_IN_PIN)); } + + +bool TimerHandler0(struct repeating_timer *t) { + Serial.print("l1 "); + Serial.print(wav_position); + Serial.print(" "); + + tx_bit = (buffer[wav_position++] > 0) ? true: false; + + pwm_config_set_output_polarity( &config, tx_bit, tx_bit); + pwm_init(bpsk_pin_slice, &config, true); + pwm_set_gpio_level(BPSK_PWM_PIN, (config.top + 1) * 0.5); + + if (wav_position > bufLen) { // 300) { + wav_position = wav_position - bufLen; + Serial.print("R"); + Serial.print(" "); + Serial.println(millis()); + } + if (digitalRead(MAIN_PB_PIN) == PRESSED) + Serial.println("PB pressed!"); +// process_pushbutton(); +} + +void set_isr() { + + if (ITimer0.attachInterruptInterval(833, TimerHandler0)) + { + Serial.print(F("Starting ITimer0 OK, micros() = ")); Serial.println(micros()); + } + else + Serial.println(F("Can't set ITimer0. Select another Timer, freq. or timer")); + +} + From 6129639dc2f843105ab326aa11396b88ec2051da Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 11 Jul 2022 11:32:44 -0400 Subject: [PATCH 03/99] Update cubesatsim.h --- cubesatsim/cubesatsim.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index 107a274b..48b554ed 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -190,7 +190,7 @@ long int uptime = 0; char call[5]; char sim_yes[10]; -int mode = AFSK; //BPSK; // AFSK; // FSK; +int mode = BPSK; // AFSK; // FSK; int new_mode; int bitRate, bufLen, rsFrames, payloads, rsFrameLen, dataLen, headerLen, syncBits, syncWord, parityLen, samples, frameCnt, samplePeriod; float sleepTime; @@ -269,6 +269,7 @@ int pb_state = RELEASED; int mode_count = 0; unsigned long pb_press_start; +bool TimerHandler0(struct repeating_timer *t); /* * TelemEncoding.h From 5f9f08b13264ce48480c45d11aa18b6a900cfa1a Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 11 Jul 2022 11:34:56 -0400 Subject: [PATCH 04/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 34a42a54..f04007d9 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -1724,7 +1724,8 @@ void config_radio() if (mode == FSK) { transmit_on(); } else if (mode == BPSK) { - start_pwm(); +// start_pwm(); + start_isr(); transmit_on(); } } @@ -2342,6 +2343,8 @@ void pwm_interrupt_handler() { } */ + +/* /// void setup1() { Serial.begin(9600); sleep(5.0); @@ -2371,13 +2374,13 @@ void loop1() { } else if (mode == BPSK) { ; -/* +* tx_bit = (buffer[wav_position++] > 0) ? true: false; pwm_config_set_output_polarity( &config, tx_bit, tx_bit); pwm_init(bpsk_pin_slice, &config, true); pwm_set_gpio_level(BPSK_PWM_PIN, (config.top + 1) * 0.5); -*/ +* } // if (wav_position++ > BUFFER_SIZE) { // 300) { @@ -2401,6 +2404,8 @@ void loop1() { process_pushbutton(); } +*/// + /* void sleep(float time) { // sleeps for intervals more than 0.1 seconds From 43f5be45e6a32fdb47811b3956154aa9757a73c1 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 11 Jul 2022 11:36:18 -0400 Subject: [PATCH 05/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index f04007d9..88d43cf0 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2729,7 +2729,7 @@ bool TimerHandler0(struct repeating_timer *t) { // process_pushbutton(); } -void set_isr() { +void start_isr() { if (ITimer0.attachInterruptInterval(833, TimerHandler0)) { From b55d3b97e1bfafc9c0b69ec0738956ac75a12543 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 11 Jul 2022 11:36:33 -0400 Subject: [PATCH 06/99] Update cubesatsim.h --- cubesatsim/cubesatsim.h | 1 + 1 file changed, 1 insertion(+) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index 48b554ed..fb5d69d1 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -140,6 +140,7 @@ void process_pushbutton(); void blinkTimes(int blinks); void blink_pin(int pin, int duration); void config_gpio(); +void start_isr(); extern int Encode_8b10b[][256]; From 945a9a8538b50d214c39514b093ebb69cc0e713c Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 11 Jul 2022 11:37:57 -0400 Subject: [PATCH 07/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 1 + 1 file changed, 1 insertion(+) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 88d43cf0..6faae3a1 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2727,6 +2727,7 @@ bool TimerHandler0(struct repeating_timer *t) { if (digitalRead(MAIN_PB_PIN) == PRESSED) Serial.println("PB pressed!"); // process_pushbutton(); + return true; } void start_isr() { From e4f05daf8c54a4cb155023c11fb4aff53da175be Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 11 Jul 2022 11:42:02 -0400 Subject: [PATCH 08/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 6faae3a1..5a6657fb 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2731,6 +2731,8 @@ bool TimerHandler0(struct repeating_timer *t) { } void start_isr() { + + RPI_PICO_Timer ITimer0(0); if (ITimer0.attachInterruptInterval(833, TimerHandler0)) { From 032cda091aa064b09542fe8d36e5a46acaa7cfcf Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 11 Jul 2022 12:54:44 -0400 Subject: [PATCH 09/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 5a6657fb..26d88433 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2731,6 +2731,8 @@ bool TimerHandler0(struct repeating_timer *t) { } void start_isr() { + + Serial.println("Starting ISR"); RPI_PICO_Timer ITimer0(0); From fbdec1ef69b9aa7d24e824cc43f362a7b43d3586 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 11 Jul 2022 12:57:56 -0400 Subject: [PATCH 10/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 -- 1 file changed, 2 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 26d88433..c87fee1c 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2733,8 +2733,6 @@ bool TimerHandler0(struct repeating_timer *t) { void start_isr() { Serial.println("Starting ISR"); - - RPI_PICO_Timer ITimer0(0); if (ITimer0.attachInterruptInterval(833, TimerHandler0)) { From 3f99505e0ff7e3c7ee9f17c3e9bccbe54dbf7873 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 11 Jul 2022 12:58:19 -0400 Subject: [PATCH 11/99] Update cubesatsim.h --- cubesatsim/cubesatsim.h | 1 + 1 file changed, 1 insertion(+) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index fb5d69d1..6359dd2a 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -271,6 +271,7 @@ int mode_count = 0; unsigned long pb_press_start; bool TimerHandler0(struct repeating_timer *t); +RPI_PICO_Timer ITimer0(0); /* * TelemEncoding.h From a38963a07e06222ece8792401821383a3a766df1 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 11 Jul 2022 13:00:07 -0400 Subject: [PATCH 12/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index c87fee1c..ce1f3207 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2708,9 +2708,9 @@ void config_gpio() { bool TimerHandler0(struct repeating_timer *t) { - Serial.print("l1 "); - Serial.print(wav_position); - Serial.print(" "); +// Serial.print("l1 "); +// Serial.print(wav_position); +// Serial.print(" "); tx_bit = (buffer[wav_position++] > 0) ? true: false; From 27c2ed02a4922598fde3b3a7012465ac1879561a Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 11 Jul 2022 13:02:45 -0400 Subject: [PATCH 13/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index ce1f3207..77203944 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -1724,7 +1724,7 @@ void config_radio() if (mode == FSK) { transmit_on(); } else if (mode == BPSK) { -// start_pwm(); + start_pwm(); start_isr(); transmit_on(); } From 3dec62a19794d0d5dae2a36e414c61fa1e1adcf0 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 11 Jul 2022 13:09:50 -0400 Subject: [PATCH 14/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 77203944..b185a3b9 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -974,7 +974,7 @@ void write_wave(int i, short int *buffer) // ctr = ctr - BUFFER_SIZE; if (ctr > bufLen) { ctr = ctr - bufLen; - Serial.print("r"); + Serial.print("\r"); Serial.print(" "); Serial.println(millis()); } @@ -2713,6 +2713,11 @@ bool TimerHandler0(struct repeating_timer *t) { // Serial.print(" "); tx_bit = (buffer[wav_position++] > 0) ? true: false; + + if (tx_bit) + Serial.print("-"); + else + Serial.print("_"); pwm_config_set_output_polarity( &config, tx_bit, tx_bit); pwm_init(bpsk_pin_slice, &config, true); @@ -2720,7 +2725,7 @@ bool TimerHandler0(struct repeating_timer *t) { if (wav_position > bufLen) { // 300) { wav_position = wav_position - bufLen; - Serial.print("R"); + Serial.print("\nR"); Serial.print(" "); Serial.println(millis()); } From a3b9cebbb640faaa7e9a75a16abd95e1db6816a6 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 11 Jul 2022 13:15:35 -0400 Subject: [PATCH 15/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index b185a3b9..36bdb900 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2712,13 +2712,17 @@ bool TimerHandler0(struct repeating_timer *t) { // Serial.print(wav_position); // Serial.print(" "); - tx_bit = (buffer[wav_position++] > 0) ? true: false; + tx_bit = (buffer[wav_position++] > 0) ? HIGH: LOW; + digitalWrite(AUDIO_OUT_PIN, tx_bit); + + tx_bit = (buffer[wav_position++] > 0) ? true: false; +/* if (tx_bit) Serial.print("-"); else Serial.print("_"); - +*/ pwm_config_set_output_polarity( &config, tx_bit, tx_bit); pwm_init(bpsk_pin_slice, &config, true); pwm_set_gpio_level(BPSK_PWM_PIN, (config.top + 1) * 0.5); From a1c28d38ded2c8692ec8e24d855df714f9f85178 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 11 Jul 2022 13:26:12 -0400 Subject: [PATCH 16/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 36bdb900..3973a0ac 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2712,7 +2712,7 @@ bool TimerHandler0(struct repeating_timer *t) { // Serial.print(wav_position); // Serial.print(" "); - tx_bit = (buffer[wav_position++] > 0) ? HIGH: LOW; + tx_bit = (buffer[wav_position] > 0) ? HIGH: LOW; digitalWrite(AUDIO_OUT_PIN, tx_bit); @@ -2729,9 +2729,9 @@ bool TimerHandler0(struct repeating_timer *t) { if (wav_position > bufLen) { // 300) { wav_position = wav_position - bufLen; - Serial.print("\nR"); - Serial.print(" "); - Serial.println(millis()); +// Serial.print("\nR"); +// Serial.print(" "); +// Serial.println(millis()); } if (digitalRead(MAIN_PB_PIN) == PRESSED) Serial.println("PB pressed!"); @@ -2743,6 +2743,8 @@ void start_isr() { Serial.println("Starting ISR"); + pinMode(AUDIO_OUT_PIN, OUTPUT); + if (ITimer0.attachInterruptInterval(833, TimerHandler0)) { Serial.print(F("Starting ITimer0 OK, micros() = ")); Serial.println(micros()); From 846cdf152b53131b5cb3adf039c4e4428d5544ba Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 11 Jul 2022 13:29:14 -0400 Subject: [PATCH 17/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 3973a0ac..b65391a3 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2712,16 +2712,18 @@ bool TimerHandler0(struct repeating_timer *t) { // Serial.print(wav_position); // Serial.print(" "); - tx_bit = (buffer[wav_position] > 0) ? HIGH: LOW; + tx_bit = (buffer[wav_position] > 0) ? HIGH: LOW; - digitalWrite(AUDIO_OUT_PIN, tx_bit); - - tx_bit = (buffer[wav_position++] > 0) ? true: false; -/* if (tx_bit) Serial.print("-"); else Serial.print("_"); + + digitalWrite(AUDIO_OUT_PIN, tx_bit); + + tx_bit = (buffer[wav_position++] > 0) ? true: false; +/* + */ pwm_config_set_output_polarity( &config, tx_bit, tx_bit); pwm_init(bpsk_pin_slice, &config, true); From ada84481a9615015362eccd5f59917cf9f00d143 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 11 Jul 2022 13:32:36 -0400 Subject: [PATCH 18/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index b65391a3..9d43acb7 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2713,17 +2713,15 @@ bool TimerHandler0(struct repeating_timer *t) { // Serial.print(" "); tx_bit = (buffer[wav_position] > 0) ? HIGH: LOW; - - if (tx_bit) - Serial.print("-"); - else - Serial.print("_"); - + digitalWrite(AUDIO_OUT_PIN, tx_bit); tx_bit = (buffer[wav_position++] > 0) ? true: false; /* - + if (tx_bit) + Serial.print("-"); + else + Serial.print("_"); */ pwm_config_set_output_polarity( &config, tx_bit, tx_bit); pwm_init(bpsk_pin_slice, &config, true); From e1976f1ece502487913507829cd31d8043f66e0a Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 11 Jul 2022 17:01:28 -0400 Subject: [PATCH 19/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 9d43acb7..820aa6ef 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2741,6 +2741,8 @@ bool TimerHandler0(struct repeating_timer *t) { void start_isr() { + return; + Serial.println("Starting ISR"); pinMode(AUDIO_OUT_PIN, OUTPUT); From 61c6b6fe40f71fbfe47f9c40e638a40f717f2eb2 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 12 Jul 2022 11:21:38 -0400 Subject: [PATCH 20/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 820aa6ef..97433bfc 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2741,7 +2741,7 @@ bool TimerHandler0(struct repeating_timer *t) { void start_isr() { - return; +// return; Serial.println("Starting ISR"); From d1b5bab66ecef5344e4b93f1f083fcb25b017a50 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 12 Jul 2022 11:24:00 -0400 Subject: [PATCH 21/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 97433bfc..bad58f4a 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2422,7 +2422,8 @@ void sleep(float time) { // sleeps for intervals more than 0.01 milli seconds unsigned long time_us = (unsigned long)(time * 1000000.0); unsigned long startSleep = micros(); while ((micros() - startSleep) < time_us) { - busy_wait_us(100); +// busy_wait_us(100); + delayMicroseconds(100); } } From 993c6160c2b309690ac006a7aa1512bb89faec37 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 12 Jul 2022 11:26:02 -0400 Subject: [PATCH 22/99] 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 bad58f4a..61d61d0a 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2712,11 +2712,11 @@ bool TimerHandler0(struct repeating_timer *t) { // Serial.print("l1 "); // Serial.print(wav_position); // Serial.print(" "); - +/* tx_bit = (buffer[wav_position] > 0) ? HIGH: LOW; digitalWrite(AUDIO_OUT_PIN, tx_bit); - +*/ tx_bit = (buffer[wav_position++] > 0) ? true: false; /* if (tx_bit) From 1bc90a41c51f14c4ff3854612fd2405d6349c654 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 12 Jul 2022 11:58:08 -0400 Subject: [PATCH 23/99] Update cubesatsim.h --- cubesatsim/cubesatsim.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index 6359dd2a..5937f04a 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -41,8 +41,11 @@ #define TXC_PIN 11 // Transceiver Board is present #define SWTX_PIN 14 // SR_FRS_05W Transmit Pico software serial port #define SQUELCH 15 // SR_FRS_05W Squelch out -#define MAIN_INA219 16 // Power the INA219s on the Main board -#define BPSK_PWM_PIN 16 // PWM Output to BPF +//#define MAIN_INA219 16 // Power the INA219s on the Main board +#define BPSK_PWM_A_PIN 16 // PWM Output Phase A to switch +#define BPSK_PWM_B_PIN 15 // PWM Output Phase B to switch +#define BPSK_CONTROL_A 6 // control for Phase A to switch +#define BPSK_CONTROL_B 7 // control for Phase A to switch #define PTT_PIN 17 // SR_FRS_05W PTT Push to Talk - transmit #define STEM_LED_GREEN 18 // STEM board LED1 Green #define STEM_LED_BLUE 19 // STEM board LED2 Blue From 5c49e0b062a263859e9c878160c7e6f61f250251 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 12 Jul 2022 12:04:34 -0400 Subject: [PATCH 24/99] Update cubesatsim.h --- cubesatsim/cubesatsim.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index 5937f04a..3f6029dd 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -260,7 +260,8 @@ int tx_bit = 1; float delay_time; bool polarity = true; pwm_config config; -int bpsk_pin_slice; +int bpsk_pin_slice_A; +int bpsk_pin_slice_B; int sample_rate; int buffer_size; From 4c67d95bf5a6b15693dd51c3550ebedd006b94d9 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 12 Jul 2022 12:05:48 -0400 Subject: [PATCH 25/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 42 +++++++++++++++++++++++++++------------ 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 61d61d0a..464d64f1 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2268,13 +2268,15 @@ void start_pwm() { // Serial.println("Starting pwm!"); - pwm_value = 128 - pwm_amplitude; +// pwm_value = 128 - pwm_amplitude; // set_sys_clock_khz(125000, true); set_sys_clock_khz(133000, true); - gpio_set_function(BPSK_PWM_PIN, GPIO_FUNC_PWM); - - bpsk_pin_slice = pwm_gpio_to_slice_num(BPSK_PWM_PIN); + gpio_set_function(BPSK_PWM_A_PIN, GPIO_FUNC_PWM); + gpio_set_function(BPSK_PWM_B_PIN, GPIO_FUNC_PWM); + + bpsk_pin_slice_A = pwm_gpio_to_slice_num(BPSK_PWM_A_PIN); + bpsk_pin_slice_B = pwm_gpio_to_slice_num(BPSK_PWM_B_PIN); /* // Setup PWM interrupt to fire when PWM cycle is complete pwm_clear_irq(bpsk_pin_slice); @@ -2289,10 +2291,12 @@ void start_pwm() { // pwm_config_set_wrap(&config, 178); // 250); pwm_config_set_wrap(&config, 3); - pwm_config_set_output_polarity( &config, polarity, polarity); - pwm_init(bpsk_pin_slice, &config, true); - pwm_set_gpio_level(BPSK_PWM_PIN, (config.top + 1) * 0.5); - +// pwm_config_set_output_polarity( &config, polarity, polarity); + pwm_config_set_output_polarity( &config, true, false); + pwm_init(bpsk_pin_slice_A, &config, true); + pwm_init(bpsk_pin_slice_B, &config, true); + 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); } /* void pwm_interrupt_handler() { @@ -2712,22 +2716,32 @@ bool TimerHandler0(struct repeating_timer *t) { // Serial.print("l1 "); // Serial.print(wav_position); // Serial.print(" "); -/* + + if (buffer[wav_position++] > 0) { + digitalWrite(BPSK_CONTROL_A, HIGH); + digitalWrite(BPSK_CONTROL_B, LOW); + } else { + digitalWrite(BPSK_CONTROL_A, LOW); + digitalWrite(BPSK_CONTROL_B, HIGH); + } +/* tx_bit = (buffer[wav_position] > 0) ? HIGH: LOW; digitalWrite(AUDIO_OUT_PIN, tx_bit); -*/ + tx_bit = (buffer[wav_position++] > 0) ? true: false; +*/ /* if (tx_bit) Serial.print("-"); else Serial.print("_"); -*/ +*/ +/* pwm_config_set_output_polarity( &config, tx_bit, tx_bit); pwm_init(bpsk_pin_slice, &config, true); pwm_set_gpio_level(BPSK_PWM_PIN, (config.top + 1) * 0.5); - +*/ if (wav_position > bufLen) { // 300) { wav_position = wav_position - bufLen; // Serial.print("\nR"); @@ -2746,7 +2760,9 @@ void start_isr() { Serial.println("Starting ISR"); - pinMode(AUDIO_OUT_PIN, OUTPUT); + pinMode(BPSK_CONTROL_A, OUTPUT); + pinMode(BPSK_CONTROL_B, OUTPUT); + if (ITimer0.attachInterruptInterval(833, TimerHandler0)) { From fdb5a0ea615aa73dc39ee3f57a37eae98c4b30db Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 12 Jul 2022 12:07:16 -0400 Subject: [PATCH 26/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 464d64f1..9a912961 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -173,7 +173,8 @@ void transmit_off() { if ((mode == AFSK) || (mode == FSK)) digitalWrite(PTT_PIN, HIGH); else if (mode == BPSK) { - pwm_set_gpio_level(BPSK_PWM_PIN, 0); + pwm_set_gpio_level(BPSK_PWM_A_PIN, 0); + pwm_set_gpio_level(BPSK_PWM_B_PIN, 0); } } From 3d2b9e880459f2b51df9bbe9c046722a099bf772 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 12 Jul 2022 12:13:41 -0400 Subject: [PATCH 27/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 9a912961..57e1f84c 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2288,7 +2288,7 @@ void start_pwm() { */ config = pwm_get_default_config(); // pwm_config_set_clkdiv(&config, 8.0); //16.0); // 8.0f); was 16 for some reason - pwm_config_set_clkdiv(&config, 1.0f); + pwm_config_set_clkdiv(&config, 8.0f); // 1.0f); // pwm_config_set_wrap(&config, 178); // 250); pwm_config_set_wrap(&config, 3); From 258813ee1b30b219892a51028a72fa88495c5707 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 12 Jul 2022 12:21:14 -0400 Subject: [PATCH 28/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 57e1f84c..73262e2b 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2278,6 +2278,15 @@ void start_pwm() { bpsk_pin_slice_A = pwm_gpio_to_slice_num(BPSK_PWM_A_PIN); bpsk_pin_slice_B = pwm_gpio_to_slice_num(BPSK_PWM_B_PIN); + + Serial.print(pwm_gpio_to_slice_num(BPSK_PWM_A_PIN)); + Serial.print(" "); + Serial.print(pwm_gpio_to_channel(BPSK_PWM_A_PIN)); + Serial.print(" "); + Serial.print(pwm_gpio_to_slice_num(BPSK_PWM_B_PIN)); + Serial.print(" "); + Serial.print(pwm_gpio_to_channel(BPSK_PWM_V_PIN)); + Serial.println(" "); /* // Setup PWM interrupt to fire when PWM cycle is complete pwm_clear_irq(bpsk_pin_slice); From 89ae545ed1dfd047657bc85b2cc0322ffbbc72ff Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 12 Jul 2022 12:22:32 -0400 Subject: [PATCH 29/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 73262e2b..05ede165 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2285,7 +2285,7 @@ void start_pwm() { Serial.print(" "); Serial.print(pwm_gpio_to_slice_num(BPSK_PWM_B_PIN)); Serial.print(" "); - Serial.print(pwm_gpio_to_channel(BPSK_PWM_V_PIN)); + Serial.print(pwm_gpio_to_channel(BPSK_PWM_B_PIN)); Serial.println(" "); /* // Setup PWM interrupt to fire when PWM cycle is complete From 89794306bddd04875eaaee001dcf442e32b372dd Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 12 Jul 2022 12:24:27 -0400 Subject: [PATCH 30/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 05ede165..11a11915 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2297,7 +2297,7 @@ void start_pwm() { */ config = pwm_get_default_config(); // pwm_config_set_clkdiv(&config, 8.0); //16.0); // 8.0f); was 16 for some reason - pwm_config_set_clkdiv(&config, 8.0f); // 1.0f); + pwm_config_set_clkdiv(&config, 1.0f); // 1.0f); // pwm_config_set_wrap(&config, 178); // 250); pwm_config_set_wrap(&config, 3); From 7902e6950faa87cb3f439222492c0f63f3e4653e Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 12 Jul 2022 12:28:25 -0400 Subject: [PATCH 31/99] Update cubesatsim.h --- cubesatsim/cubesatsim.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index 3f6029dd..66ceb5c1 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -42,10 +42,10 @@ #define SWTX_PIN 14 // SR_FRS_05W Transmit Pico software serial port #define SQUELCH 15 // SR_FRS_05W Squelch out //#define MAIN_INA219 16 // Power the INA219s on the Main board -#define BPSK_PWM_A_PIN 16 // PWM Output Phase A to switch -#define BPSK_PWM_B_PIN 15 // PWM Output Phase B to switch -#define BPSK_CONTROL_A 6 // control for Phase A to switch -#define BPSK_CONTROL_B 7 // control for Phase A to switch +#define BPSK_PWM_A_PIN 6 // PWM Output Phase A to switch +#define BPSK_PWM_B_PIN 7 // PWM Output Phase B to switch +#define BPSK_CONTROL_A 16 // control for Phase A to switch +#define BPSK_CONTROL_B 15 // control for Phase A to switch #define PTT_PIN 17 // SR_FRS_05W PTT Push to Talk - transmit #define STEM_LED_GREEN 18 // STEM board LED1 Green #define STEM_LED_BLUE 19 // STEM board LED2 Blue From ebbdf7d2c6af5dd50126c57e8aeb3cb76788aacd Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 12 Jul 2022 13:09:20 -0400 Subject: [PATCH 32/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 11a11915..7a0b5f15 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2297,7 +2297,7 @@ void start_pwm() { */ config = pwm_get_default_config(); // pwm_config_set_clkdiv(&config, 8.0); //16.0); // 8.0f); was 16 for some reason - pwm_config_set_clkdiv(&config, 1.0f); // 1.0f); + pwm_config_set_clkdiv(&config, 16.0); //1.0f); // 1.0f); // pwm_config_set_wrap(&config, 178); // 250); pwm_config_set_wrap(&config, 3); From 6306a0bc777df0a3a3e39b6ec3131915212bbb77 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 12 Jul 2022 13:11:25 -0400 Subject: [PATCH 33/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 7a0b5f15..abec0396 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2297,7 +2297,7 @@ void start_pwm() { */ config = pwm_get_default_config(); // pwm_config_set_clkdiv(&config, 8.0); //16.0); // 8.0f); was 16 for some reason - pwm_config_set_clkdiv(&config, 16.0); //1.0f); // 1.0f); + pwm_config_set_clkdiv(&config, 64.0); //1.0f); // 1.0f); // pwm_config_set_wrap(&config, 178); // 250); pwm_config_set_wrap(&config, 3); From dd4f1d47b9a8bcce77f4ba279569689aa73bea8e Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 12 Jul 2022 13:15:45 -0400 Subject: [PATCH 34/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index abec0396..7a0b5f15 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2297,7 +2297,7 @@ void start_pwm() { */ config = pwm_get_default_config(); // pwm_config_set_clkdiv(&config, 8.0); //16.0); // 8.0f); was 16 for some reason - pwm_config_set_clkdiv(&config, 64.0); //1.0f); // 1.0f); + pwm_config_set_clkdiv(&config, 16.0); //1.0f); // 1.0f); // pwm_config_set_wrap(&config, 178); // 250); pwm_config_set_wrap(&config, 3); From 9a9c1efda7f292d0585fadf33b8fc60d9d0d3364 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 12 Jul 2022 13:32:40 -0400 Subject: [PATCH 35/99] 434.9 MHz signal --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 7a0b5f15..873f77dc 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2267,7 +2267,7 @@ void start_pwm() { // and // https://qiita.com/keyyum/items/8cb419f5278e13b6db4d // - Serial.println("Starting pwm!"); + Serial.println("Starting pwm f=434.9 MHz!"); // pwm_value = 128 - pwm_amplitude; From 907b99e8bc77d2c8fbb73f97724da4d2acaf9848 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 10:27:04 -0400 Subject: [PATCH 36/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 873f77dc..4d668237 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2299,7 +2299,7 @@ void start_pwm() { // pwm_config_set_clkdiv(&config, 8.0); //16.0); // 8.0f); was 16 for some reason pwm_config_set_clkdiv(&config, 16.0); //1.0f); // 1.0f); // pwm_config_set_wrap(&config, 178); // 250); - pwm_config_set_wrap(&config, 3); + pwm_config_set_wrap(&config, 255); // 3); // pwm_config_set_output_polarity( &config, polarity, polarity); pwm_config_set_output_polarity( &config, true, false); From fc5ea37eee23d219350bf76956c94267e67373a5 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 13:16:40 -0400 Subject: [PATCH 37/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 4d668237..d8eb0585 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2299,7 +2299,7 @@ void start_pwm() { // pwm_config_set_clkdiv(&config, 8.0); //16.0); // 8.0f); was 16 for some reason pwm_config_set_clkdiv(&config, 16.0); //1.0f); // 1.0f); // pwm_config_set_wrap(&config, 178); // 250); - pwm_config_set_wrap(&config, 255); // 3); + pwm_config_set_wrap(&config, 3); // 255); // 3); // pwm_config_set_output_polarity( &config, polarity, polarity); pwm_config_set_output_polarity( &config, true, false); From ce08e5aa216d2eabdc587e5eb1ab40fc5b2f33e8 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 13:23:00 -0400 Subject: [PATCH 38/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index d8eb0585..9a7f5acb 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2297,7 +2297,7 @@ void start_pwm() { */ config = pwm_get_default_config(); // pwm_config_set_clkdiv(&config, 8.0); //16.0); // 8.0f); was 16 for some reason - pwm_config_set_clkdiv(&config, 16.0); //1.0f); // 1.0f); + pwm_config_set_clkdiv(&config, 1.0f); // 16.0); //1.0f); // 1.0f); // pwm_config_set_wrap(&config, 178); // 250); pwm_config_set_wrap(&config, 3); // 255); // 3); From 1d367d0f40ffb11f91ce5a0fb34a3c7bde7607d6 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 13:28:14 -0400 Subject: [PATCH 39/99] 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 9a7f5acb..f587f3bf 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2271,8 +2271,8 @@ void start_pwm() { // pwm_value = 128 - pwm_amplitude; -// set_sys_clock_khz(125000, true); - set_sys_clock_khz(133000, true); + set_sys_clock_khz(125000, 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); From 6b9eb5f82de5fb224ea03b46e56a2c649e9fa04d Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 13:31:30 -0400 Subject: [PATCH 40/99] 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 f587f3bf..960b2a2f 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2773,8 +2773,8 @@ void start_isr() { pinMode(BPSK_CONTROL_A, OUTPUT); pinMode(BPSK_CONTROL_B, OUTPUT); - - if (ITimer0.attachInterruptInterval(833, TimerHandler0)) + if (ITimer0.attachInterruptInterval(833, TimerHandler0)) + if (ITimer0.attachInterruptInterval(1667, TimerHandler0)) { Serial.print(F("Starting ITimer0 OK, micros() = ")); Serial.println(micros()); } From b0e797d1f43fd8d69aec3ad6ddc1b22c4ae5be80 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 13:34:36 -0400 Subject: [PATCH 41/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 960b2a2f..7e077cc1 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2297,7 +2297,7 @@ void start_pwm() { */ config = pwm_get_default_config(); // pwm_config_set_clkdiv(&config, 8.0); //16.0); // 8.0f); was 16 for some reason - pwm_config_set_clkdiv(&config, 1.0f); // 16.0); //1.0f); // 1.0f); + pwm_config_set_clkdiv(&config, 2.0f); // 1.0f); // 16.0); //1.0f); // 1.0f); // pwm_config_set_wrap(&config, 178); // 250); pwm_config_set_wrap(&config, 3); // 255); // 3); From 4355cea0fe6af90a34a45012ab0aa03e305dd344 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 13:38:40 -0400 Subject: [PATCH 42/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 7e077cc1..78b319a6 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2297,7 +2297,7 @@ void start_pwm() { */ config = pwm_get_default_config(); // pwm_config_set_clkdiv(&config, 8.0); //16.0); // 8.0f); was 16 for some reason - pwm_config_set_clkdiv(&config, 2.0f); // 1.0f); // 16.0); //1.0f); // 1.0f); + pwm_config_set_clkdiv(&config, 3.0f); // 2.0f); // 1.0f); // 16.0); //1.0f); // 1.0f); // pwm_config_set_wrap(&config, 178); // 250); pwm_config_set_wrap(&config, 3); // 255); // 3); From 97d1a26eace8b266a9a2765bdd0aff0971131284 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 15:12:57 -0400 Subject: [PATCH 43/99] try 1 us delay, --- cubesatsim/cubesatsim.ino | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 78b319a6..a814c399 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2729,10 +2729,12 @@ bool TimerHandler0(struct repeating_timer *t) { if (buffer[wav_position++] > 0) { digitalWrite(BPSK_CONTROL_A, HIGH); + delayMicroseconds(1); digitalWrite(BPSK_CONTROL_B, LOW); } else { - digitalWrite(BPSK_CONTROL_A, LOW); - digitalWrite(BPSK_CONTROL_B, HIGH); + digitalWrite(BPSK_CONTROL_B, HIGH); + delayMicroseconds(1); + digitalWrite(BPSK_CONTROL_A, LOW); } /* tx_bit = (buffer[wav_position] > 0) ? HIGH: LOW; From f7410d5d22af17e012a1d57f27cad37ffea5d2a4 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 15:17:31 -0400 Subject: [PATCH 44/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index a814c399..adfac9aa 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2775,7 +2775,7 @@ void start_isr() { pinMode(BPSK_CONTROL_A, OUTPUT); pinMode(BPSK_CONTROL_B, OUTPUT); - if (ITimer0.attachInterruptInterval(833, TimerHandler0)) +// if (ITimer0.attachInterruptInterval(833, TimerHandler0)) if (ITimer0.attachInterruptInterval(1667, TimerHandler0)) { Serial.print(F("Starting ITimer0 OK, micros() = ")); Serial.println(micros()); From a450a996575c87a089457c824676e441a2af64de Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 15:20:08 -0400 Subject: [PATCH 45/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index adfac9aa..9d6d151d 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2297,7 +2297,7 @@ void start_pwm() { */ config = pwm_get_default_config(); // pwm_config_set_clkdiv(&config, 8.0); //16.0); // 8.0f); was 16 for some reason - pwm_config_set_clkdiv(&config, 3.0f); // 2.0f); // 1.0f); // 16.0); //1.0f); // 1.0f); + pwm_config_set_clkdiv(&config, 1.0f); // 2.0f); // 1.0f); // 16.0); //1.0f); // 1.0f); // pwm_config_set_wrap(&config, 178); // 250); pwm_config_set_wrap(&config, 3); // 255); // 3); From eaf6b7701f919b12b5917913e543bc303593fa0d Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 15:22:24 -0400 Subject: [PATCH 46/99] 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 9d6d151d..219aeb6d 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2729,11 +2729,11 @@ bool TimerHandler0(struct repeating_timer *t) { if (buffer[wav_position++] > 0) { digitalWrite(BPSK_CONTROL_A, HIGH); - delayMicroseconds(1); + delayMicroseconds(2); digitalWrite(BPSK_CONTROL_B, LOW); } else { digitalWrite(BPSK_CONTROL_B, HIGH); - delayMicroseconds(1); + delayMicroseconds(2); digitalWrite(BPSK_CONTROL_A, LOW); } /* From 72508af6bb573f20880f2ae4cf855faf1de24f5a Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 15:23:50 -0400 Subject: [PATCH 47/99] 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 219aeb6d..edaed4d9 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2729,11 +2729,11 @@ bool TimerHandler0(struct repeating_timer *t) { if (buffer[wav_position++] > 0) { digitalWrite(BPSK_CONTROL_A, HIGH); - delayMicroseconds(2); +// delayMicroseconds(2); digitalWrite(BPSK_CONTROL_B, LOW); } else { digitalWrite(BPSK_CONTROL_B, HIGH); - delayMicroseconds(2); +// delayMicroseconds(2); digitalWrite(BPSK_CONTROL_A, LOW); } /* From c32974cf6ef8f114c9116cdbac2aecc64d8b5899 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 15:33:57 -0400 Subject: [PATCH 48/99] 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 edaed4d9..e049231b 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2271,8 +2271,8 @@ void start_pwm() { // pwm_value = 128 - pwm_amplitude; - set_sys_clock_khz(125000, true); -// set_sys_clock_khz(133000, true); +// set_sys_clock_khz(125000, 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); From 780b0007528ed5e294a7425722404ba76556db64 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 15:39:15 -0400 Subject: [PATCH 49/99] change from 600 to 1200 bps --- cubesatsim/cubesatsim.ino | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index e049231b..9af1c733 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2775,8 +2775,8 @@ void start_isr() { pinMode(BPSK_CONTROL_A, OUTPUT); pinMode(BPSK_CONTROL_B, OUTPUT); -// if (ITimer0.attachInterruptInterval(833, TimerHandler0)) - if (ITimer0.attachInterruptInterval(1667, TimerHandler0)) + if (ITimer0.attachInterruptInterval(833, TimerHandler0)) +// if (ITimer0.attachInterruptInterval(1667, TimerHandler0)) { Serial.print(F("Starting ITimer0 OK, micros() = ")); Serial.println(micros()); } From 8a39bc85e80995e5c33b01f6c5e764a1ae7723f5 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 15:58:28 -0400 Subject: [PATCH 50/99] set uptime to 1000 --- cubesatsim/cubesatsim.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index 66ceb5c1..9591532b 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -189,7 +189,7 @@ void sleep(float time); int uart_fd; int reset_count = 0; -float uptime_sec = 0; +float uptime_sec = 1000; long int uptime = 0; char call[5]; char sim_yes[10]; From 2d8202f7cbbee1affc9f09ceceff638a8f5a4ec1 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 16:01:08 -0400 Subject: [PATCH 51/99] print d10 --- cubesatsim/cubesatsim.ino | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 9af1c733..0c1028f2 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -856,6 +856,10 @@ void get_tlm_fox() { nrd = (Encode_8b10b[rd][((int) data8[ctr2])] >> 10) & 1; // printf ("data10[%d] = encoded data8[%d] = %x \n", // ctr2, ctr2, data10[ctr2]); + if (firstTime) { + Serial.print(data10[ctr2], HEX); + Serial.print(" ") + } rd = nrd; // ^ nrd; ctr2++; } @@ -867,7 +871,10 @@ void get_tlm_fox() { nrd = (Encode_8b10b[rd][((int) parities[j][i])] >> 10) & 1; // printf ("data10[%d] = encoded parities[%d][%d] = %x \n", // ctr2 - 1, j, i, data10[ctr2 - 1]); - + if (firstTime) { + Serial.print(data10[ctr2], HEX); + Serial.print(" ") + } rd = nrd; } } @@ -947,6 +954,10 @@ void get_tlm_fox() { // Serial.println(" "); // Serial.print("get_fox_tlm eturning with counter: "); // Serial.println(ctr); + if (firstTime) { + Serial.println(" "); + firstTime = FALSE; + } } void write_wave(int i, short int *buffer) From 94156cfc641f794825c240990caa6987617a3787 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 16:02:06 -0400 Subject: [PATCH 52/99] 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 0c1028f2..b5895e70 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -858,7 +858,7 @@ void get_tlm_fox() { // ctr2, ctr2, data10[ctr2]); if (firstTime) { Serial.print(data10[ctr2], HEX); - Serial.print(" ") + Serial.print(" "); } rd = nrd; // ^ nrd; ctr2++; @@ -873,7 +873,7 @@ void get_tlm_fox() { // ctr2 - 1, j, i, data10[ctr2 - 1]); if (firstTime) { Serial.print(data10[ctr2], HEX); - Serial.print(" ") + Serial.print(" "); } rd = nrd; } From ece0386c151afe159632dff584d41f7fe55acbae Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 16:26:26 -0400 Subject: [PATCH 53/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index b5895e70..825959b8 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -239,7 +239,8 @@ void config_telem() { Serial.println(samples); bufLen = (frameCnt * (syncBits + 10 * (headerLen + rsFrames * (rsFrameLen + parityLen))) * samples); Serial.println(bufLen); - samplePeriod = ((float)((syncBits + 10 * (headerLen + rsFrames * (rsFrameLen + parityLen))))/(float)bitRate) * 1000 - 500; +// samplePeriod = ((float)((syncBits + 10 * (headerLen + rsFrames * (rsFrameLen + parityLen))))/(float)bitRate) * 1000 - 500; + samplePeriod = ((float)((syncBits + 10 * (headerLen + rsFrames * (rsFrameLen + parityLen))))/(float)bitRate) * 1000; // - 500; // samplePeriod = 3000; // sleepTime = 3.0; //samplePeriod = 2200; // reduce dut to python and sensor querying delays @@ -873,7 +874,7 @@ void get_tlm_fox() { // ctr2 - 1, j, i, data10[ctr2 - 1]); if (firstTime) { Serial.print(data10[ctr2], HEX); - Serial.print(" "); + Serial.print("."); } rd = nrd; } @@ -2278,7 +2279,7 @@ void start_pwm() { // and // https://qiita.com/keyyum/items/8cb419f5278e13b6db4d // - Serial.println("Starting pwm f=434.9 MHz!"); + Serial.println("Starting pwm f=432.250 MHz!"); // pwm_value = 128 - pwm_amplitude; From c3ce276f6b6b67b8ba510db68536bf8925549bcc Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 16:27:52 -0400 Subject: [PATCH 54/99] repeatedly print b10 --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 825959b8..05f6a8f0 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -957,7 +957,7 @@ void get_tlm_fox() { // Serial.println(ctr); if (firstTime) { Serial.println(" "); - firstTime = FALSE; + firstTime = TRUE; // FALSE; } } From 033b4971cabf0eb27b6c5a04fc1940dbd3a7195d Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 16:31:12 -0400 Subject: [PATCH 55/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 05f6a8f0..ee31668a 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -873,7 +873,7 @@ void get_tlm_fox() { // printf ("data10[%d] = encoded parities[%d][%d] = %x \n", // ctr2 - 1, j, i, data10[ctr2 - 1]); if (firstTime) { - Serial.print(data10[ctr2], HEX); + Serial.print(data10[ctr2-1], HEX); // added -1 due to ++ Serial.print("."); } rd = nrd; From 8c16afda44f358bce70314eb5b4fb63ecfadc374 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 17:09:16 -0400 Subject: [PATCH 56/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index ee31668a..2b78747b 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -874,7 +874,7 @@ void get_tlm_fox() { // ctr2 - 1, j, i, data10[ctr2 - 1]); if (firstTime) { Serial.print(data10[ctr2-1], HEX); // added -1 due to ++ - Serial.print("."); + Serial.print(" "); } rd = nrd; } From 36890de81922000e42b48460e83a5f0c61acf07e Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 17:10:53 -0400 Subject: [PATCH 57/99] buffer 2 * 5841 --- cubesatsim/cubesatsim.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index 9591532b..488ad9e9 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -156,7 +156,7 @@ int testCount = 0; long time_start; //char cmdbuffer[1000]; //FILE * file1;// -#define BUFFER_SIZE 5841 //970 // (970 * 2) // * 2) +#define BUFFER_SIZE (5841 * 2) //970 // (970 * 2) // * 2) short int buffer[BUFFER_SIZE]; // 50000]; //BUFFER_SIZE]; // ctr is an int // 100000]; // 50000]; // 25000]; // 10240]; // was 2336400]; // max size for 10 frames count of BPSK //short int buffer[(WAV_DATA_LENGTH/8)]; //FILE *sopen(const char *program); From 226d725b60d8d510b66333915ade353198c076e1 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 17:12:06 -0400 Subject: [PATCH 58/99] bufLen 2 * --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 2b78747b..0475370e 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -237,7 +237,7 @@ void config_telem() { // samples = S_RATE / bitRate; samples = sample_rate / bitRate; Serial.println(samples); - bufLen = (frameCnt * (syncBits + 10 * (headerLen + rsFrames * (rsFrameLen + parityLen))) * samples); + bufLen = (frameCnt * (syncBits + 10 * (headerLen + rsFrames * (rsFrameLen + parityLen))) * samples) * 2; // 2 * Serial.println(bufLen); // samplePeriod = ((float)((syncBits + 10 * (headerLen + rsFrames * (rsFrameLen + parityLen))))/(float)bitRate) * 1000 - 500; samplePeriod = ((float)((syncBits + 10 * (headerLen + rsFrames * (rsFrameLen + parityLen))))/(float)bitRate) * 1000; // - 500; From 3e656cb405100a136f92a0ea23be6d32aa27ccb5 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 17:17:50 -0400 Subject: [PATCH 59/99] frameCnt of 2 --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 0475370e..4855248a 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -180,7 +180,7 @@ void transmit_off() { void config_telem() { - frameCnt = 1; + frameCnt = 2; Serial.println("v1 Present with UHF BPF\n"); txLed = 2; From d32c21589f9872daa023a1455154a05a65760f34 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 22:16:08 -0400 Subject: [PATCH 60/99] moved buffer memset to initialization only --- cubesatsim/cubesatsim.ino | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 4855248a..72bb2c9a 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -219,6 +219,7 @@ void config_telem() { Serial.println(frameTime); // printf("\n FSK Mode, %d bits per frame, %d bits per second, %d ms per frame, %d ms sample period\n", // bufLen / (samples * frameCnt), bitRate, frameTime, samplePeriod); + memset(buffer, 0xa5, sizeof(buffer)); } else if (mode == BPSK) { Serial.println("Configuring for BPSK\n"); bitRate = 1200; @@ -259,6 +260,7 @@ void config_telem() { // } // printf("\n"); // } + memset(buffer, 0xa5, sizeof(buffer)); } else if (mode == AFSK) { Serial.println("Configuring for AFSK\n"); @@ -486,7 +488,7 @@ void get_tlm_fox() { short int h[headerLen]; memset(h, 0, sizeof(h)); - memset(buffer, 0xa5, sizeof(buffer)); +// memset(buffer, 0xa5, sizeof(buffer)); short int rs_frame[rsFrames][223]; unsigned char parities[rsFrames][parityLen], inputByte; int id, frm_type = 0x01, NormalModeFailure = 0, groundCommandCount = 0; From 8b37f28aa0fbd091e6595bee065311cf08a48d69 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 22:18:20 -0400 Subject: [PATCH 61/99] frameCnt back to 1 --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 72bb2c9a..e2e2a597 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -180,7 +180,7 @@ void transmit_off() { void config_telem() { - frameCnt = 2; + frameCnt = 1; Serial.println("v1 Present with UHF BPF\n"); txLed = 2; From 688b893c40e2a70ec3b12042316a1b50bce11f36 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 22:42:32 -0400 Subject: [PATCH 62/99] print counter each loop --- cubesatsim/cubesatsim.ino | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index e2e2a597..d81aeae8 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -895,7 +895,7 @@ void get_tlm_fox() { /// #endif for (i = 1; i <= syncBits * samples; i++) { - write_wave(ctr, buffer); + k(ctr, buffer); // printf("%d ",ctr); if ((i % samples) == 0) { int bit = syncBits - i / samples + 1; @@ -954,9 +954,9 @@ void get_tlm_fox() { } // Serial.println("CC"); } -// Serial.println(" "); -// Serial.print("get_fox_tlm eturning with counter: "); -// Serial.println(ctr); + Serial.println(" "); + Serial.print("get_fox_tlm eturning with counter: "); + Serial.println(ctr); if (firstTime) { Serial.println(" "); firstTime = TRUE; // FALSE; From 48f23c8ad16cba0e964a8ab3366152a99abf021a Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 22:43:24 -0400 Subject: [PATCH 63/99] buffer size back to 1 * --- cubesatsim/cubesatsim.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index 488ad9e9..9591532b 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -156,7 +156,7 @@ int testCount = 0; long time_start; //char cmdbuffer[1000]; //FILE * file1;// -#define BUFFER_SIZE (5841 * 2) //970 // (970 * 2) // * 2) +#define BUFFER_SIZE 5841 //970 // (970 * 2) // * 2) short int buffer[BUFFER_SIZE]; // 50000]; //BUFFER_SIZE]; // ctr is an int // 100000]; // 50000]; // 25000]; // 10240]; // was 2336400]; // max size for 10 frames count of BPSK //short int buffer[(WAV_DATA_LENGTH/8)]; //FILE *sopen(const char *program); From 7a8de7514d187a35a086693e2e604a46b7340689 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 13 Jul 2022 22:46:35 -0400 Subject: [PATCH 64/99] fixed typo --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index d81aeae8..3e5aab89 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -895,7 +895,7 @@ void get_tlm_fox() { /// #endif for (i = 1; i <= syncBits * samples; i++) { - k(ctr, buffer); + write_wave(ctr, buffer); // printf("%d ",ctr); if ((i % samples) == 0) { int bit = syncBits - i / samples + 1; From f78821fab6a8dd7b54766ce6de4ca76bcba6aef1 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 06:46:15 -0400 Subject: [PATCH 65/99] moved write_wave to after phase calculation --- cubesatsim/cubesatsim.ino | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 3e5aab89..4ac0cb5b 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -895,7 +895,7 @@ void get_tlm_fox() { /// #endif for (i = 1; i <= syncBits * samples; i++) { - write_wave(ctr, buffer); +// write_wave(ctr, buffer); // moved after phase calculation // printf("%d ",ctr); if ((i % samples) == 0) { int bit = syncBits - i / samples + 1; @@ -917,6 +917,7 @@ void get_tlm_fox() { } } } + write_wave(ctr, buffer); } /// #ifdef DEBUG_LOGGING // printf("\n\nValue of ctr after header: %d Buffer Len: %d\n\n", ctr, buffSize); @@ -925,7 +926,7 @@ void get_tlm_fox() { for (i = 1; i <= (10 * (headerLen + dataLen * payloads + rsFrames * parityLen) * samples); i++) // 572 // for (i = 1; i <= ((headerLen + dataLen * payloads + rsFrames * parityLen) * samples); i++) // Not 10 * anymore 572 { - write_wave(ctr, buffer); +// write_wave(ctr, buffer); // moved to after phase calculation if ((i % samples) == 0) { int symbol = (int)((i - 1) / (samples * 10)); int bit = 10 - (i - symbol * samples * 10) / samples + 1; @@ -950,6 +951,7 @@ void get_tlm_fox() { } // Serial.println("AA"); } + write_wave(ctr, buffer); // Serial.println("BB"); } // Serial.println("CC"); From 23b8549814d4f0c971c0508aca6397184c53f638 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 09:21:02 -0400 Subject: [PATCH 66/99] 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 9591532b..e362968c 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -264,7 +264,7 @@ int bpsk_pin_slice_A; int bpsk_pin_slice_B; int sample_rate; int buffer_size; - +long micro_timer; int ready = FALSE; #define PRESSED 0 From e9b217cb2b0933fb84ec20e6d2c4ad8ff7c9acf1 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 09:24:07 -0400 Subject: [PATCH 67/99] added microsecond timer calculation for sir --- cubesatsim/cubesatsim.ino | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 4ac0cb5b..cbb2af72 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2778,7 +2778,11 @@ bool TimerHandler0(struct repeating_timer *t) { } if (digitalRead(MAIN_PB_PIN) == PRESSED) Serial.println("PB pressed!"); -// process_pushbutton(); +// process_pushbutton(); + Serial.print("Microseconds: "); + Serial.println(micros() - micro_timer); + micro_timer = micros(); + return true; } From 90fb90dfc983333f1ae7d396dda28edd0cc822f3 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 09:27:05 -0400 Subject: [PATCH 68/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 1 + 1 file changed, 1 insertion(+) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index cbb2af72..34b87289 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2795,6 +2795,7 @@ void start_isr() { pinMode(BPSK_CONTROL_A, OUTPUT); pinMode(BPSK_CONTROL_B, OUTPUT); + if (ITimer0.attachInterruptInterval(804, TimerHandler0)) if (ITimer0.attachInterruptInterval(833, TimerHandler0)) // if (ITimer0.attachInterruptInterval(1667, TimerHandler0)) { From ca3c0518563b820b7d64b19e6960b7a16f815763 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 09:30:30 -0400 Subject: [PATCH 69/99] 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 34b87289..c1bee895 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2779,7 +2779,7 @@ bool TimerHandler0(struct repeating_timer *t) { if (digitalRead(MAIN_PB_PIN) == PRESSED) Serial.println("PB pressed!"); // process_pushbutton(); - Serial.print("Microseconds: "); + Serial.print("Microseconds "); Serial.println(micros() - micro_timer); micro_timer = micros(); @@ -2796,7 +2796,7 @@ void start_isr() { pinMode(BPSK_CONTROL_B, OUTPUT); if (ITimer0.attachInterruptInterval(804, TimerHandler0)) - if (ITimer0.attachInterruptInterval(833, TimerHandler0)) +// if (ITimer0.attachInterruptInterval(833, TimerHandler0)) // if (ITimer0.attachInterruptInterval(1667, TimerHandler0)) { Serial.print(F("Starting ITimer0 OK, micros() = ")); Serial.println(micros()); From b8431ab5f5460b0b46847bfc2681c8888188e8f6 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 09:35:58 -0400 Subject: [PATCH 70/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index c1bee895..6b60c974 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -961,7 +961,7 @@ void get_tlm_fox() { Serial.println(ctr); if (firstTime) { Serial.println(" "); - firstTime = TRUE; // FALSE; + firstTime = FALSE; } } @@ -2779,10 +2779,11 @@ bool TimerHandler0(struct repeating_timer *t) { if (digitalRead(MAIN_PB_PIN) == PRESSED) Serial.println("PB pressed!"); // process_pushbutton(); +/* Serial.print("Microseconds "); Serial.println(micros() - micro_timer); micro_timer = micros(); - +*/ return true; } From e5f1f9816865cfbc67ae7083f1b653f423a67e40 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 10:39:09 -0400 Subject: [PATCH 71/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 6b60c974..25f05f3c 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -279,7 +279,7 @@ void config_telem() { samplePeriod = 5000; bufLen = 1000; } - firstTime = ON; + firstTime = TRUE; } void get_tlm_ao7() { @@ -895,7 +895,7 @@ void get_tlm_fox() { /// #endif for (i = 1; i <= syncBits * samples; i++) { -// write_wave(ctr, buffer); // moved after phase calculation + write_wave(ctr, buffer); // printf("%d ",ctr); if ((i % samples) == 0) { int bit = syncBits - i / samples + 1; @@ -917,7 +917,6 @@ void get_tlm_fox() { } } } - write_wave(ctr, buffer); } /// #ifdef DEBUG_LOGGING // printf("\n\nValue of ctr after header: %d Buffer Len: %d\n\n", ctr, buffSize); @@ -926,7 +925,7 @@ void get_tlm_fox() { for (i = 1; i <= (10 * (headerLen + dataLen * payloads + rsFrames * parityLen) * samples); i++) // 572 // for (i = 1; i <= ((headerLen + dataLen * payloads + rsFrames * parityLen) * samples); i++) // Not 10 * anymore 572 { -// write_wave(ctr, buffer); // moved to after phase calculation + write_wave(ctr, buffer); if ((i % samples) == 0) { int symbol = (int)((i - 1) / (samples * 10)); int bit = 10 - (i - symbol * samples * 10) / samples + 1; @@ -951,7 +950,6 @@ void get_tlm_fox() { } // Serial.println("AA"); } - write_wave(ctr, buffer); // Serial.println("BB"); } // Serial.println("CC"); @@ -2774,16 +2772,14 @@ bool TimerHandler0(struct repeating_timer *t) { wav_position = wav_position - bufLen; // Serial.print("\nR"); // Serial.print(" "); -// Serial.println(millis()); +// Serial.println(millis()); + Serial.print("R Microseconds: "); + Serial.println(micros() - micro_timer); + micro_timer = micros(); } if (digitalRead(MAIN_PB_PIN) == PRESSED) Serial.println("PB pressed!"); -// process_pushbutton(); -/* - Serial.print("Microseconds "); - Serial.println(micros() - micro_timer); - micro_timer = micros(); -*/ +// process_pushbutton(); return true; } @@ -2796,8 +2792,8 @@ void start_isr() { pinMode(BPSK_CONTROL_A, OUTPUT); pinMode(BPSK_CONTROL_B, OUTPUT); - if (ITimer0.attachInterruptInterval(804, TimerHandler0)) // if (ITimer0.attachInterruptInterval(833, TimerHandler0)) + if (ITimer0.attachInterruptInterval(804, TimerHandler0)) // if (ITimer0.attachInterruptInterval(1667, TimerHandler0)) { Serial.print(F("Starting ITimer0 OK, micros() = ")); Serial.println(micros()); From 2c174fb7cd934c7edb5ccdd9d00c24a0c6753ff9 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 10:39:46 -0400 Subject: [PATCH 72/99] Update cubesatsim.h --- cubesatsim/cubesatsim.h | 1 + 1 file changed, 1 insertion(+) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index e362968c..d096c1b6 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -276,6 +276,7 @@ unsigned long pb_press_start; bool TimerHandler0(struct repeating_timer *t); RPI_PICO_Timer ITimer0(0); +long micro_timer; /* * TelemEncoding.h From 2db4b115e5952ee07e5c4a9cf867c9a3972abfea Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 10:41:14 -0400 Subject: [PATCH 73/99] Update cubesatsim.h --- cubesatsim/cubesatsim.h | 1 - 1 file changed, 1 deletion(-) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index d096c1b6..e362968c 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -276,7 +276,6 @@ unsigned long pb_press_start; bool TimerHandler0(struct repeating_timer *t); RPI_PICO_Timer ITimer0(0); -long micro_timer; /* * TelemEncoding.h From 25476dfbb1c930bfcfe462b46a28a08a98ebbd84 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 10:44:32 -0400 Subject: [PATCH 74/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 25f05f3c..985c5fbc 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -874,10 +874,11 @@ void get_tlm_fox() { nrd = (Encode_8b10b[rd][((int) parities[j][i])] >> 10) & 1; // printf ("data10[%d] = encoded parities[%d][%d] = %x \n", // ctr2 - 1, j, i, data10[ctr2 - 1]); - if (firstTime) { +/* if (firstTime) { Serial.print(data10[ctr2-1], HEX); // added -1 due to ++ Serial.print(" "); } +*/ rd = nrd; } } From 6ce7f73a24ff4b09abfa45ef7f9f3c3ec3bc0488 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 10:46:49 -0400 Subject: [PATCH 75/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 985c5fbc..fffd7d24 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -859,10 +859,11 @@ void get_tlm_fox() { nrd = (Encode_8b10b[rd][((int) data8[ctr2])] >> 10) & 1; // printf ("data10[%d] = encoded data8[%d] = %x \n", // ctr2, ctr2, data10[ctr2]); - if (firstTime) { +/* if (firstTime) { Serial.print(data10[ctr2], HEX); Serial.print(" "); } +*/ rd = nrd; // ^ nrd; ctr2++; } From 9ac3fc78693f54cced2b83499a2e65e84e18f05c Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 10:52:08 -0400 Subject: [PATCH 76/99] fixed bufLen bug --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index fffd7d24..9f8fa766 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -238,7 +238,7 @@ void config_telem() { // samples = S_RATE / bitRate; samples = sample_rate / bitRate; Serial.println(samples); - bufLen = (frameCnt * (syncBits + 10 * (headerLen + rsFrames * (rsFrameLen + parityLen))) * samples) * 2; // 2 * + bufLen = (frameCnt * (syncBits + 10 * (headerLen + rsFrames * (rsFrameLen + parityLen))) * samples); // * 2; // 2 * Serial.println(bufLen); // samplePeriod = ((float)((syncBits + 10 * (headerLen + rsFrames * (rsFrameLen + parityLen))))/(float)bitRate) * 1000 - 500; samplePeriod = ((float)((syncBits + 10 * (headerLen + rsFrames * (rsFrameLen + parityLen))))/(float)bitRate) * 1000; // - 500; From e2eccec3c9c007809d4599ebc134a0cd089dd87f Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 10:58:16 -0400 Subject: [PATCH 77/99] try bufLen 5751 --- cubesatsim/cubesatsim.ino | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 9f8fa766..acf05f66 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -238,7 +238,8 @@ void config_telem() { // samples = S_RATE / bitRate; samples = sample_rate / bitRate; Serial.println(samples); - bufLen = (frameCnt * (syncBits + 10 * (headerLen + rsFrames * (rsFrameLen + parityLen))) * samples); // * 2; // 2 * +// bufLen = (frameCnt * (syncBits + 10 * (headerLen + rsFrames * (rsFrameLen + parityLen))) * samples); // * 2; // 2 * + bufLen = 5751; // instead of 5841 Serial.println(bufLen); // samplePeriod = ((float)((syncBits + 10 * (headerLen + rsFrames * (rsFrameLen + parityLen))))/(float)bitRate) * 1000 - 500; samplePeriod = ((float)((syncBits + 10 * (headerLen + rsFrames * (rsFrameLen + parityLen))))/(float)bitRate) * 1000; // - 500; From e220b636bed3c9a71b09b88f9e40ef0469aa7b20 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 11:01:13 -0400 Subject: [PATCH 78/99] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index acf05f66..05b15596 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2796,7 +2796,8 @@ void start_isr() { pinMode(BPSK_CONTROL_B, OUTPUT); // if (ITimer0.attachInterruptInterval(833, TimerHandler0)) - if (ITimer0.attachInterruptInterval(804, TimerHandler0)) +// if (ITimer0.attachInterruptInterval(804, TimerHandler0)) + if (ITimer0.attachInterruptInterval(828, TimerHandler0)) // if (ITimer0.attachInterruptInterval(1667, TimerHandler0)) { Serial.print(F("Starting ITimer0 OK, micros() = ")); Serial.println(micros()); From 4da516a55ebaa0218230bf85a9f4dc2a445c0012 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 11:05:37 -0400 Subject: [PATCH 79/99] changed from samplePeriod to frameTime --- cubesatsim/cubesatsim.ino | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 05b15596..7ff5da73 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -113,7 +113,8 @@ void loop() { else if (mode == AFSK) send_packet(); - while ((millis() - sampleTime) < ((unsigned int)samplePeriod)) // - 250)) // was 250 100 +// while ((millis() - sampleTime) < ((unsigned int)samplePeriod)) // - 250)) // was 250 100 + while ((millis() - sampleTime) < ((unsigned int)frameTime)) // - 250)) // was 250 100 sleep(0.1); // 25); // 0.5); // 25); sampleTime = (unsigned int) millis(); From d91f5f6b4dd80f5430e52fc746001dd4d55a1edf Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 11:06:30 -0400 Subject: [PATCH 80/99] display microseconds per --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 7ff5da73..496d16e5 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2778,7 +2778,7 @@ bool TimerHandler0(struct repeating_timer *t) { // Serial.print(" "); // Serial.println(millis()); Serial.print("R Microseconds: "); - Serial.println(micros() - micro_timer); + Serial.println((micros() - micro_timer)/bufLen); micro_timer = micros(); } if (digitalRead(MAIN_PB_PIN) == PRESSED) From 13da768e0677af591c707264e910c0571f73a239 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 11:41:02 -0400 Subject: [PATCH 81/99] changed uptime to 1000 --- cubesatsim/cubesatsim.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index e362968c..7a9775a4 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -190,7 +190,7 @@ int uart_fd; int reset_count = 0; float uptime_sec = 1000; -long int uptime = 0; +long int uptime = 1000; char call[5]; char sim_yes[10]; From ebac35d848c927c8dd11282c583d7452d0e0120f Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 15:12:55 -0400 Subject: [PATCH 82/99] added uptime from mills/1000 --- cubesatsim/cubesatsim.ino | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 496d16e5..2c1d221a 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -586,7 +586,8 @@ void get_tlm_fox() { // } memset(rs_frame, 0, sizeof(rs_frame)); memset(parities, 0, sizeof(parities)); -// Serial.println("After memset"); +// Serial.println("After memset"); + uptime = (int)(millis() / 1000.0); h[0] = (short int) ((h[0] & 0xf8) | (id & 0x07)); // 3 bits // Serial.println("After h[0]"); From 11e3c9c9efd822c6fc7db728e3bf846d8ef680c7 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 15:29:47 -0400 Subject: [PATCH 83/99] added bpsk_pin_slice --- cubesatsim/cubesatsim.h | 1 + 1 file changed, 1 insertion(+) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index 7a9775a4..39b854c7 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -262,6 +262,7 @@ bool polarity = true; pwm_config config; int bpsk_pin_slice_A; int bpsk_pin_slice_B; +int bpsk_pin_slice; int sample_rate; int buffer_size; long micro_timer; From 7ac1db9167df5f0d8bf107c4198d27be8af59759 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 15:53:53 -0400 Subject: [PATCH 84/99] add back in payload and ina219 read --- cubesatsim/cubesatsim.ino | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 2c1d221a..387e9511 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -73,12 +73,12 @@ void setup() { else ; // configure ina219s -// start_ina219(); + start_ina219(); config_telem(); // configure STEM Payload sensors -// start_payload(); + start_payload(); // program Transceiver board config_radio(); @@ -101,9 +101,10 @@ void loop() { generate_simulated_telem(); else // query INA219 sensors and Payload sensors - ; // read_ina219(); +// ; // + read_ina219(); -// read_payload(); + read_payload(); // encode as digits (APRS or CW mode) or binary (DUV FSK) if ((mode == BPSK) || (mode == FSK)) From e3b2b14a3910803d8c61daa6dd394d2471f2f9b8 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 15:56:04 -0400 Subject: [PATCH 85/99] turned off payload --- cubesatsim/cubesatsim.ino | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 387e9511..d0f7342a 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -78,7 +78,7 @@ void setup() { config_telem(); // configure STEM Payload sensors - start_payload(); +// start_payload(); // program Transceiver board config_radio(); @@ -104,7 +104,7 @@ void loop() { // ; // read_ina219(); - read_payload(); +// read_payload(); // encode as digits (APRS or CW mode) or binary (DUV FSK) if ((mode == BPSK) || (mode == FSK)) From 13f007a066a5cc104eef824962d4bddc3007bed5 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 16:02:54 -0400 Subject: [PATCH 86/99] try turning on pushbutton code --- cubesatsim/cubesatsim.ino | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index d0f7342a..4e49c097 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2784,8 +2784,9 @@ bool TimerHandler0(struct repeating_timer *t) { micro_timer = micros(); } if (digitalRead(MAIN_PB_PIN) == PRESSED) - Serial.println("PB pressed!"); -// process_pushbutton(); +// Serial.println("PB pressed!"); + process_pushbutton(); + return true; } From c110d01a208d471905de2041a6da6f8d5ea88df6 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 16:16:16 -0400 Subject: [PATCH 87/99] starting AFSL mode --- cubesatsim/cubesatsim.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index 39b854c7..7fb49093 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -194,7 +194,7 @@ long int uptime = 1000; char call[5]; char sim_yes[10]; -int mode = BPSK; // AFSK; // FSK; +int mode = AFSK; // BPSK; // AFSK; // FSK; int new_mode; int bitRate, bufLen, rsFrames, payloads, rsFrameLen, dataLen, headerLen, syncBits, syncWord, parityLen, samples, frameCnt, samplePeriod; float sleepTime; From fe5e8d47096bad6b555be49bb408c2e0db9ed5eb Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 16:23:36 -0400 Subject: [PATCH 88/99] added frameTime to AFSK --- cubesatsim/cubesatsim.ino | 1 + 1 file changed, 1 insertion(+) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 4e49c097..ac3eec36 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -280,6 +280,7 @@ void config_telem() { set_lat_lon_icon(lat_default, lon_default, icon); samplePeriod = 5000; + frameTime = 5000; bufLen = 1000; } firstTime = TRUE; From 1c8e60600e25f22827302b6c9cda8b58df24434b Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 16:25:19 -0400 Subject: [PATCH 89/99] added back in payload() --- cubesatsim/cubesatsim.ino | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index ac3eec36..c1bb96f7 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -78,7 +78,7 @@ void setup() { config_telem(); // configure STEM Payload sensors -// start_payload(); + start_payload(); // program Transceiver board config_radio(); @@ -104,7 +104,7 @@ void loop() { // ; // read_ina219(); -// read_payload(); + read_payload(); // encode as digits (APRS or CW mode) or binary (DUV FSK) if ((mode == BPSK) || (mode == FSK)) From 51185879e1322a6ed9135b0df5ecbbf13625eb44 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 17:04:28 -0400 Subject: [PATCH 90/99] added i2c_bus1 and 2 --- cubesatsim/cubesatsim.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index 7fb49093..d04fdfee 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -207,6 +207,8 @@ float latitude = 39.027702f, longitude = -77.078064f; float lat_file, long_file; double cpuTemp; int frameTime; +bool i2c_bus1; +bool i2c_bus2; float axis[3], angle[3], volts_max[3], amps_max[3], batt, speed, period, tempS, temp_max, temp_min, eclipse; int i2c_bus0 = OFF, i2c_bus1 = OFF, i2c_bus3 = OFF, camera = OFF, sim_mode = FALSE, SafeMode = FALSE, rxAntennaDeployed = 0, txAntennaDeployed = 0; From a569c3f72a30e0f95d0605255b2eabac1ee441c8 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 17:09:17 -0400 Subject: [PATCH 91/99] Update cubesatsim.h --- cubesatsim/cubesatsim.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index d04fdfee..5b5e1575 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -207,11 +207,9 @@ float latitude = 39.027702f, longitude = -77.078064f; float lat_file, long_file; double cpuTemp; int frameTime; -bool i2c_bus1; -bool i2c_bus2; float axis[3], angle[3], volts_max[3], amps_max[3], batt, speed, period, tempS, temp_max, temp_min, eclipse; -int i2c_bus0 = OFF, i2c_bus1 = OFF, i2c_bus3 = OFF, camera = OFF, sim_mode = FALSE, SafeMode = FALSE, rxAntennaDeployed = 0, txAntennaDeployed = 0; +int i2c_bus1 = OFF, i2c_bus2 = OFF, camera = OFF, sim_mode = FALSE, SafeMode = FALSE, rxAntennaDeployed = 0, txAntennaDeployed = 0; double eclipse_time; float voltage[9], current[9], sensor[17], other[3]; From bee5e4eb7b2622fb9df016b32730774193379888 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 18:51:45 -0400 Subject: [PATCH 92/99] changed back to i2c_bus 0 to 3 --- cubesatsim/cubesatsim.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index 5b5e1575..7fb49093 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -209,7 +209,7 @@ double cpuTemp; int frameTime; float axis[3], angle[3], volts_max[3], amps_max[3], batt, speed, period, tempS, temp_max, temp_min, eclipse; -int i2c_bus1 = OFF, i2c_bus2 = OFF, camera = OFF, sim_mode = FALSE, SafeMode = FALSE, rxAntennaDeployed = 0, txAntennaDeployed = 0; +int i2c_bus0 = OFF, i2c_bus1 = OFF, i2c_bus3 = OFF, camera = OFF, sim_mode = FALSE, SafeMode = FALSE, rxAntennaDeployed = 0, txAntennaDeployed = 0; double eclipse_time; float voltage[9], current[9], sensor[17], other[3]; From 673de2d45674d14d4f0439a2b7e509a4f55877cd Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 18:51:51 -0400 Subject: [PATCH 93/99] added i2c_bus1 and 3 --- cubesatsim/cubesatsim.ino | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index c1bb96f7..6a328a98 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -1771,6 +1771,7 @@ void read_ina219() float current_mA = 0; float loadvoltage = 0; + if (i2c_bus1) { shuntvoltage = ina219_1_0x40.getShuntVoltage_mV(); busvoltage = ina219_1_0x40.getBusVoltage_V(); current_mA = ina219_1_0x40.getCurrent_mA(); @@ -1826,7 +1827,9 @@ void read_ina219() voltage[3] = loadvoltage; current[3] = current_mA; + } + if (i2c_bus3) { shuntvoltage = ina219_2_0x40.getShuntVoltage_mV(); busvoltage = ina219_2_0x40.getBusVoltage_V(); current_mA = ina219_2_0x40.getCurrent_mA(); @@ -1881,7 +1884,8 @@ void read_ina219() Serial.println(" mA"); voltage[7] = loadvoltage; - current[7] = current_mA; + current[7] = current_mA; + } } void read_sensors() @@ -2257,8 +2261,8 @@ void start_ina219() { // pinMode(MAIN_INA219, OUTPUT); // digitalWrite(MAIN_INA219, HIGH); } - sleep(0.1); - ina219_1_0x40.begin(); + sleep(0.1); + i2c_bus1 = ina219_1_0x40.begin(); // check i2c bus 1 ina219_1_0x41.begin(); ina219_1_0x44.begin(); ina219_1_0x45.begin(); @@ -2267,20 +2271,23 @@ void start_ina219() { Wire1.setSCL(3); Wire1.begin(); - ina219_2_0x40.begin(&Wire1); + i2c_bus3 = ina219_2_0x40.begin(&Wire1); // check i2c bus 2 ina219_2_0x41.begin(&Wire1); ina219_2_0x44.begin(&Wire1); ina219_2_0x45.begin(&Wire1); - + + if (i2c_bus1) { ina219_1_0x40.setCalibration_16V_400mA(); ina219_1_0x41.setCalibration_16V_400mA(); ina219_1_0x44.setCalibration_16V_400mA(); ina219_1_0x45.setCalibration_16V_400mA(); - + } + if (i2c_bus3) { ina219_2_0x40.setCalibration_16V_400mA(); ina219_2_0x41.setCalibration_16V_400mA(); ina219_2_0x44.setCalibration_16V_400mA(); ina219_2_0x45.setCalibration_16V_400mA(); + } } void start_pwm() { From 27dcd95a795c340870f1488be37f6fa816339403 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 19:01:28 -0400 Subject: [PATCH 94/99] added mpuPresent --- cubesatsim/cubesatsim.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index 7fb49093..92bfb311 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -233,7 +233,7 @@ Adafruit_BME280 bme; MPU6050 mpu6050(Wire); long timer = 0; -int bmePresent; +int bmePresent, mpuPresent; int RXLED = 17; // The RX LED has a defined Arduino pin int greenLED = 19; int blueLED = 18; From 02f5b70f16a50e403765e096b426c7356dce5f36 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 19:07:33 -0400 Subject: [PATCH 95/99] added mpuPresent test and conditional --- cubesatsim/cubesatsim.ino | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 6a328a98..5963f8fa 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -1953,8 +1953,15 @@ Serial1.begin(115200); // Pi UART faster speed Serial.println("Could not find a valid BME280 sensor, check wiring!"); bmePresent = 0; } - - mpu6050.begin(); + + Wire.begin(); + if (Wire.beginTransmission(0x68) != 0) { + Serial.println("Could not find a valid BME280 sensor, check wiring!"); + mpuPresent = 0; + } + else { + mpuPresent = 1; + mpu6050.begin(); if (eeprom_word_read(0) == 0xA07) { @@ -1986,6 +1993,7 @@ Serial1.begin(115200); // Pi UART faster speed Serial.println(((float)eeprom_word_read(2)) / 100.0, DEC); Serial.println(((float)eeprom_word_read(3)) / 100.0, DEC); } + } pinMode(greenLED, OUTPUT); pinMode(blueLED, OUTPUT); @@ -2010,7 +2018,8 @@ void read_payload() else sprintf(str, "OK BME280 0.0 0.0 0.0 0.0 "); strcat(payload_str, str); - + + if (mpuPresent) { // print_string(payload_str); mpu6050.update(); @@ -2020,7 +2029,7 @@ void read_payload() strcat(payload_str, str); print_string(payload_str); - + } if (result == 'R') { Serial.println("OK"); delay(100); From cc3b76231a30bc85d2c0ced3530a4e0a09cefd87 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 19:09:51 -0400 Subject: [PATCH 96/99] fixed wire read test --- cubesatsim/cubesatsim.ino | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 5963f8fa..922ff799 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -1955,8 +1955,9 @@ Serial1.begin(115200); // Pi UART faster speed } Wire.begin(); - if (Wire.beginTransmission(0x68) != 0) { - Serial.println("Could not find a valid BME280 sensor, check wiring!"); + Wire.beginTransmission(0x68); + if (Wire.endTransmission() != 0) { + Serial.println("Could not find a valid MPU6050 sensor, check wiring!"); mpuPresent = 0; } else { From 4a18d28bd3d30fdebf9ea0089d96bb26bcbf674f Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 19:11:07 -0400 Subject: [PATCH 97/99] back to BPSK mode --- cubesatsim/cubesatsim.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index 92bfb311..44c2e61d 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -194,7 +194,7 @@ long int uptime = 1000; char call[5]; char sim_yes[10]; -int mode = AFSK; // BPSK; // AFSK; // FSK; +int mode = BPSK; // AFSK; // FSK; int new_mode; int bitRate, bufLen, rsFrames, payloads, rsFrameLen, dataLen, headerLen, syncBits, syncWord, parityLen, samples, frameCnt, samplePeriod; float sleepTime; From c11ded950e66f0bd9653d279fb0955757b62a21d Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 23:06:41 -0400 Subject: [PATCH 98/99] added mpuPresent to the rest of the payload read --- cubesatsim/cubesatsim.ino | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 922ff799..5c0a6c22 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2060,6 +2060,7 @@ void read_payload() { Serial.print("OK BME280 0.0 0.0 0.0 0.0"); } + if (mpuPresent) { mpu6050.update(); Serial.print(" MPU6050 "); @@ -2075,7 +2076,8 @@ void read_payload() Serial.print(mpu6050.getAccY()); Serial.print(" "); Serial.print(mpu6050.getAccZ()); - + } + sensorValue = analogRead(A3); //Serial.println(sensorValue); Temp = T1 + (sensorValue - R1) *((T2 - T1)/(R2 - R1)); @@ -2085,13 +2087,14 @@ void read_payload() Serial.print(Temp); Serial.print(" "); Serial.println(Sensor1); - + + if (mpuPresent) { float rotation = sqrt(mpu6050.getGyroX()*mpu6050.getGyroX() + mpu6050.getGyroY()*mpu6050.getGyroY() + mpu6050.getGyroZ()*mpu6050.getGyroZ()); float acceleration = sqrt(mpu6050.getAccX()*mpu6050.getAccX() + mpu6050.getAccY()*mpu6050.getAccY() + mpu6050.getAccZ()*mpu6050.getAccZ()); // Serial.print(rotation); // Serial.print(" "); // Serial.println(acceleration); - + } if (acceleration > 1.2) led_set(greenLED, HIGH); else From eb9b19b73a46fd394306a26ba8de54a36dfe1062 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 14 Jul 2022 23:08:18 -0400 Subject: [PATCH 99/99] typo --- cubesatsim/cubesatsim.ino | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 5c0a6c22..3756b5bf 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2094,7 +2094,7 @@ void read_payload() // Serial.print(rotation); // Serial.print(" "); // Serial.println(acceleration); - } + if (acceleration > 1.2) led_set(greenLED, HIGH); else @@ -2103,8 +2103,9 @@ void read_payload() if (rotation > 5) led_set(blueLED, HIGH); else - led_set(blueLED, LOW); - } + led_set(blueLED, LOW); + } + } } if (Serial1.available() > 0) {