From ca22b1aa9011892223fc44a201d72ff5dff563de Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 1 Sep 2022 10:03:37 -0400 Subject: [PATCH 01/20] Always print R Micros in float --- cubesatsim/cubesatsim.ino | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index b452e877..7c295f0a 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3461,10 +3461,10 @@ bool TimerHandler0(struct repeating_timer *t) { // Serial.print("\nR"); // Serial.print(" "); // Serial.println(millis()); - if (debug_mode) { +// if (debug_mode) { Serial.print("R Microseconds: "); - Serial.println((micros() - micro_timer)/bufLen); - } + Serial.println((float)(micros() - micro_timer)/(float)bufLen); +// } micro_timer = micros(); } } From 66788b460191368414993dbdc3649232af4861ec Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 1 Sep 2022 10:43:34 -0400 Subject: [PATCH 02/20] 820 instead of 828 --- cubesatsim/cubesatsim.ino | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 7c295f0a..da89f5ee 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3461,10 +3461,10 @@ bool TimerHandler0(struct repeating_timer *t) { // Serial.print("\nR"); // Serial.print(" "); // Serial.println(millis()); -// if (debug_mode) { + if (bufLen != 0) { Serial.print("R Microseconds: "); Serial.println((float)(micros() - micro_timer)/(float)bufLen); -// } + } micro_timer = micros(); } } @@ -3490,7 +3490,7 @@ void start_isr() { // if (ITimer0.attachInterruptInterval(833, TimerHandler0)) // if (ITimer0.attachInterruptInterval(804, TimerHandler0)) - if (ITimer0.attachInterruptInterval(828, TimerHandler0)) // was was 827 and 828 + if (ITimer0.attachInterruptInterval(820, TimerHandler0)) // was was 828 (841) and 828 // if (ITimer0.attachInterruptInterval(1667, TimerHandler0)) { if (debug_mode) From 32e2cd9c2e3e4c48fedee21df9e4af83e81e9511 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 1 Sep 2022 10:45:48 -0400 Subject: [PATCH 03/20] 824 --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index da89f5ee..35c132a4 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3490,7 +3490,7 @@ void start_isr() { // if (ITimer0.attachInterruptInterval(833, TimerHandler0)) // if (ITimer0.attachInterruptInterval(804, TimerHandler0)) - if (ITimer0.attachInterruptInterval(820, TimerHandler0)) // was was 828 (841) and 828 + if (ITimer0.attachInterruptInterval(824, TimerHandler0)) // was was 828 (841) and 828 // if (ITimer0.attachInterruptInterval(1667, TimerHandler0)) { if (debug_mode) From 138047a8b5f47d829526db362d8143bb33fab5f9 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 1 Sep 2022 10:48:19 -0400 Subject: [PATCH 04/20] 825 --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 35c132a4..d2d1004b 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3490,7 +3490,7 @@ void start_isr() { // if (ITimer0.attachInterruptInterval(833, TimerHandler0)) // if (ITimer0.attachInterruptInterval(804, TimerHandler0)) - if (ITimer0.attachInterruptInterval(824, TimerHandler0)) // was was 828 (841) and 828 + if (ITimer0.attachInterruptInterval(825, TimerHandler0)) // was was 828 (841) and 828 // if (ITimer0.attachInterruptInterval(1667, TimerHandler0)) { if (debug_mode) From e4b3801cc9bae793a664d8f6f88191075d92e48e Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 1 Sep 2022 11:37:15 -0400 Subject: [PATCH 05/20] added micro_timer2 --- cubesatsim/cubesatsim.h | 1 + 1 file changed, 1 insertion(+) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index de478ae7..dd7eb8eb 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -345,6 +345,7 @@ int bpsk_pin_slice; int sample_rate; int buffer_size; long micro_timer; +long micro_timer2; int ready = FALSE; bool cw_stop = false; int payload_command = false; From debb5fbc47f3e5ba3e913a539dbd7bea45a7c2ab Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 1 Sep 2022 11:37:51 -0400 Subject: [PATCH 06/20] added micro2 timer --- cubesatsim/cubesatsim.ino | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index d2d1004b..714f1138 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3466,6 +3466,10 @@ bool TimerHandler0(struct repeating_timer *t) { Serial.println((float)(micros() - micro_timer)/(float)bufLen); } micro_timer = micros(); + } else { + Serial.print("R' Microseconds: "); + Serial.println(micros() - micro_timer2); + micro_timer2 = micros(); } } /* From c09e9cd6f3dc1e08279b8b285ab0e46a336b6dc6 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 1 Sep 2022 11:40:29 -0400 Subject: [PATCH 07/20] 819 to make less than 833 --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 714f1138..288c58d0 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3494,7 +3494,7 @@ void start_isr() { // if (ITimer0.attachInterruptInterval(833, TimerHandler0)) // if (ITimer0.attachInterruptInterval(804, TimerHandler0)) - if (ITimer0.attachInterruptInterval(825, TimerHandler0)) // was was 828 (841) and 828 + if (ITimer0.attachInterruptInterval(819, TimerHandler0)) // was was 828 (841) and 828 // if (ITimer0.attachInterruptInterval(1667, TimerHandler0)) { if (debug_mode) From 85666423ca3c46495f50d9d1752fdfbbdb35a442 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 1 Sep 2022 11:42:30 -0400 Subject: [PATCH 08/20] 800 --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 288c58d0..e3ba4fa8 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3494,7 +3494,7 @@ void start_isr() { // if (ITimer0.attachInterruptInterval(833, TimerHandler0)) // if (ITimer0.attachInterruptInterval(804, TimerHandler0)) - if (ITimer0.attachInterruptInterval(819, TimerHandler0)) // was was 828 (841) and 828 + if (ITimer0.attachInterruptInterval(800, TimerHandler0)) // was was 828 (841) and 828 // if (ITimer0.attachInterruptInterval(1667, TimerHandler0)) { if (debug_mode) From 569eb56e26f1b0d5726dfd47053cfa3fce581716 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 1 Sep 2022 12:52:16 -0400 Subject: [PATCH 09/20] removed R' --- cubesatsim/cubesatsim.ino | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index e3ba4fa8..61395f3b 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3467,9 +3467,9 @@ bool TimerHandler0(struct repeating_timer *t) { } micro_timer = micros(); } else { - Serial.print("R' Microseconds: "); - Serial.println(micros() - micro_timer2); - micro_timer2 = micros(); +/// Serial.print("R' Microseconds: "); +/// Serial.println(micros() - micro_timer2); +/// micro_timer2 = micros(); } } /* From c0301f8f4330f516c7874d331929861b9e5b5f38 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 1 Sep 2022 12:55:29 -0400 Subject: [PATCH 10/20] loop for micro_timer2 < 833 --- cubesatsim/cubesatsim.ino | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 61395f3b..22097caf 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3469,7 +3469,8 @@ bool TimerHandler0(struct repeating_timer *t) { } else { /// Serial.print("R' Microseconds: "); /// Serial.println(micros() - micro_timer2); -/// micro_timer2 = micros(); + while ((micros() - micro_timer2) < 833) { } + micro_timer2 = micros(); } } /* From 9b7eb98a9b9bf0ac0628b3abd935abf25021e630 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 1 Sep 2022 12:57:48 -0400 Subject: [PATCH 11/20] changed to 832 --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 22097caf..143ab2d2 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3469,7 +3469,7 @@ bool TimerHandler0(struct repeating_timer *t) { } else { /// Serial.print("R' Microseconds: "); /// Serial.println(micros() - micro_timer2); - while ((micros() - micro_timer2) < 833) { } + while ((micros() - micro_timer2) < 832) { } micro_timer2 = micros(); } } From dc744185afa6f3b73cad06ad11e17c5c25b7a870 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 1 Sep 2022 13:08:37 -0400 Subject: [PATCH 12/20] moved while --- cubesatsim/cubesatsim.ino | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 143ab2d2..fc72fb92 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3428,7 +3428,8 @@ bool TimerHandler0(struct repeating_timer *t) { // Serial.print("l1 "); // Serial.print(wav_position); // Serial.print(" "); - + while ((micros() - micro_timer2) < 832) { } + micro_timer2 = micros(); if (buffer[wav_position++] > 0) { digitalWrite(BPSK_CONTROL_A, HIGH); // delayMicroseconds(2); @@ -3469,8 +3470,8 @@ bool TimerHandler0(struct repeating_timer *t) { } else { /// Serial.print("R' Microseconds: "); /// Serial.println(micros() - micro_timer2); - while ((micros() - micro_timer2) < 832) { } - micro_timer2 = micros(); +// while ((micros() - micro_timer2) < 832) { } +// micro_timer2 = micros(); } } /* From 68c30d45a7d1e49e5ad44b251a2f6ce0b4607af8 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 1 Sep 2022 13:55:30 -0400 Subject: [PATCH 13/20] print micro 2 --- cubesatsim/cubesatsim.ino | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index fc72fb92..d2bc5d59 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3428,7 +3428,8 @@ bool TimerHandler0(struct repeating_timer *t) { // Serial.print("l1 "); // Serial.print(wav_position); // Serial.print(" "); - while ((micros() - micro_timer2) < 832) { } + while ((micros() - micro_timer2) < 832) { } + Serial.println(micros() - micro_timer2); micro_timer2 = micros(); if (buffer[wav_position++] > 0) { digitalWrite(BPSK_CONTROL_A, HIGH); From 79fd8135dc2b54395aa31c7178489daa3c5c85e1 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 1 Sep 2022 13:58:35 -0400 Subject: [PATCH 14/20] only print when > 833 --- cubesatsim/cubesatsim.ino | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index d2bc5d59..b218dce2 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3429,7 +3429,8 @@ bool TimerHandler0(struct repeating_timer *t) { // Serial.print(wav_position); // Serial.print(" "); while ((micros() - micro_timer2) < 832) { } - Serial.println(micros() - micro_timer2); + if ((micros() - micro_timer2) > 833) + Serial.println(micros() - micro_timer2); micro_timer2 = micros(); if (buffer[wav_position++] > 0) { digitalWrite(BPSK_CONTROL_A, HIGH); From 38fbb4e02fd56fcc4ab54ea1784e252eeb88daa4 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 1 Sep 2022 14:02:47 -0400 Subject: [PATCH 15/20] don't start button isr --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index b218dce2..95d2b428 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -162,7 +162,7 @@ void setup() { // setup radio depending on mode config_radio(); - start_button_isr(); +/// start_button_isr(); sampleTime = (unsigned int) millis(); From 5312fdcbf1067171b4bda871675f188dd33051d3 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 1 Sep 2022 14:06:28 -0400 Subject: [PATCH 16/20] don't print R Micros --- cubesatsim/cubesatsim.ino | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 95d2b428..1d585d28 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3464,10 +3464,12 @@ bool TimerHandler0(struct repeating_timer *t) { // Serial.print("\nR"); // Serial.print(" "); // Serial.println(millis()); - if (bufLen != 0) { +/* +if (bufLen != 0) { Serial.print("R Microseconds: "); Serial.println((float)(micros() - micro_timer)/(float)bufLen); } +*/ micro_timer = micros(); } else { /// Serial.print("R' Microseconds: "); From f7742ade0fe869864a278adc3b78602d811b9455 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 1 Sep 2022 14:13:35 -0400 Subject: [PATCH 17/20] only print R if > 835, 833 for other --- cubesatsim/cubesatsim.ino | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 1d585d28..699a2747 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3428,8 +3428,8 @@ bool TimerHandler0(struct repeating_timer *t) { // Serial.print("l1 "); // Serial.print(wav_position); // Serial.print(" "); - while ((micros() - micro_timer2) < 832) { } - if ((micros() - micro_timer2) > 833) + while ((micros() - micro_timer2) < 833) { } + if ((micros() - micro_timer2) > 834) Serial.println(micros() - micro_timer2); micro_timer2 = micros(); if (buffer[wav_position++] > 0) { @@ -3464,16 +3464,17 @@ bool TimerHandler0(struct repeating_timer *t) { // Serial.print("\nR"); // Serial.print(" "); // Serial.println(millis()); -/* -if (bufLen != 0) { + + if ((micros() - micro_timer)/bufLen > 835) + if (bufLen != 0) { Serial.print("R Microseconds: "); Serial.println((float)(micros() - micro_timer)/(float)bufLen); } -*/ + } micro_timer = micros(); - } else { -/// Serial.print("R' Microseconds: "); -/// Serial.println(micros() - micro_timer2); + } else { +// Serial.print("R' Microseconds: "); +// Serial.println(micros() - micro_timer2); // while ((micros() - micro_timer2) < 832) { } // micro_timer2 = micros(); } From a169ced6af3ae10769e4150aaf6e4ce9f85b8211 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 1 Sep 2022 14:15:18 -0400 Subject: [PATCH 18/20] missing { --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 699a2747..22067a0d 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3465,7 +3465,7 @@ bool TimerHandler0(struct repeating_timer *t) { // Serial.print(" "); // Serial.println(millis()); - if ((micros() - micro_timer)/bufLen > 835) + if ((micros() - micro_timer)/bufLen > 835) { if (bufLen != 0) { Serial.print("R Microseconds: "); Serial.println((float)(micros() - micro_timer)/(float)bufLen); From 887e74c00b9748b10d47cdbafaccc682a2b1545d Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 1 Sep 2022 14:25:21 -0400 Subject: [PATCH 19/20] added busy_wait_at_least_cycles(65) for 500 ns --- cubesatsim/cubesatsim.ino | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 22067a0d..3972054d 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3428,7 +3428,8 @@ bool TimerHandler0(struct repeating_timer *t) { // Serial.print("l1 "); // Serial.print(wav_position); // Serial.print(" "); - while ((micros() - micro_timer2) < 833) { } + while ((micros() - micro_timer2) < 832) { } + busy_wait_at_least_cycles(65); if ((micros() - micro_timer2) > 834) Serial.println(micros() - micro_timer2); micro_timer2 = micros(); From 3f5b03d4bf9835c643b901a0b3fcd1dd83e12d96 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 1 Sep 2022 14:31:26 -0400 Subject: [PATCH 20/20] removed extras --- cubesatsim/cubesatsim.ino | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 3972054d..0cdce9a3 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3429,9 +3429,9 @@ bool TimerHandler0(struct repeating_timer *t) { // Serial.print(wav_position); // Serial.print(" "); while ((micros() - micro_timer2) < 832) { } - busy_wait_at_least_cycles(65); - if ((micros() - micro_timer2) > 834) - Serial.println(micros() - micro_timer2); + busy_wait_at_least_cycles(51); // 300 ns +// if ((micros() - micro_timer2) > 834) +// Serial.println(micros() - micro_timer2); micro_timer2 = micros(); if (buffer[wav_position++] > 0) { digitalWrite(BPSK_CONTROL_A, HIGH); @@ -3465,7 +3465,7 @@ bool TimerHandler0(struct repeating_timer *t) { // Serial.print("\nR"); // Serial.print(" "); // Serial.println(millis()); - +/* if ((micros() - micro_timer)/bufLen > 835) { if (bufLen != 0) { Serial.print("R Microseconds: "); @@ -3473,6 +3473,7 @@ bool TimerHandler0(struct repeating_timer *t) { } } micro_timer = micros(); +*/ } else { // Serial.print("R' Microseconds: "); // Serial.println(micros() - micro_timer2);