From 0692df38fa20c95254220e4c4e2636c692c80ed0 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 7 Dec 2020 12:25:10 -0500 Subject: [PATCH 001/165] added random float generator --- afsk/main.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/afsk/main.c b/afsk/main.c index 07884672..5219dbba 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -68,6 +68,7 @@ ax5043_conf_t hax5043; ax25_conf_t hax25; int twosToInt(int val, int len); +float rnd_float(float min, float max); int get_tlm(void); int get_tlm_fox(); int encodeA(short int *b, int index, int val); @@ -394,6 +395,13 @@ else } } +srand(time(0)); + + printf("Rnd: %f \n", rnd_float(-0.2, 0.2)); + printf("Rnd: %f \n", rnd_float(-0.2, 0.2)); + printf("Rnd: %f \n", rnd_float(.5, 1.0)); + printf("Rnd: %f \n", rnd_float(4.0, 5.0)); + int ret; //uint8_t data[1024]; @@ -1643,6 +1651,16 @@ int twosToInt(int val,int len) { // Convert twos compliment to integer return(val); } + +float rnd_float(float min,float max) { // returns 2 decimal point random number +// from https://www.raspberrypi.org/forums/viewtopic.php?t=55815 + + int val = (rand() % ((int)(max*100) – (int)(min*100) + 1)) + (int)(min*100) + float ret = ((float)(val)/100); + + return(ret); +} + int test_i2c_bus(int bus) { int output = bus; // return bus number if OK, otherwise return -1 From db78f62eb1879f8283e79be762f46d015582ce02 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 7 Dec 2020 12:27:08 -0500 Subject: [PATCH 002/165] typo --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 5219dbba..76844299 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1655,7 +1655,7 @@ int twosToInt(int val,int len) { // Convert twos compliment to integer float rnd_float(float min,float max) { // returns 2 decimal point random number // from https://www.raspberrypi.org/forums/viewtopic.php?t=55815 - int val = (rand() % ((int)(max*100) – (int)(min*100) + 1)) + (int)(min*100) + int val = (rand() % ((int)(max*100) – (int)(min*100) + 1)) + (int)(min*100); float ret = ((float)(val)/100); return(ret); From d7c1e02a05941e7b20d49038547be0f82528bdb1 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 7 Dec 2020 12:28:38 -0500 Subject: [PATCH 003/165] stray characters --- afsk/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 76844299..680c2bd8 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1655,7 +1655,7 @@ int twosToInt(int val,int len) { // Convert twos compliment to integer float rnd_float(float min,float max) { // returns 2 decimal point random number // from https://www.raspberrypi.org/forums/viewtopic.php?t=55815 - int val = (rand() % ((int)(max*100) – (int)(min*100) + 1)) + (int)(min*100); + int val = (rand() % ((int)(max*100) - (int)(min*100) + 1)) + (int)(min*100); float ret = ((float)(val)/100); return(ret); @@ -1666,7 +1666,7 @@ int test_i2c_bus(int bus) int output = bus; // return bus number if OK, otherwise return -1 char busDev[20] = "/dev/i2c-"; char busS[5]; - snprintf(busS, 5, "%d", bus); + snprintf(busS, 5, "%d", bus); strcat (busDev, busS); printf("I2C Bus Tested: %s \n", busDev); From c4ece650a9b10af6727396ee96fd1bf7ff734956 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 7 Dec 2020 12:31:32 -0500 Subject: [PATCH 004/165] testing rnd --- afsk/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 680c2bd8..a3a8c5c6 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -397,9 +397,9 @@ else srand(time(0)); - printf("Rnd: %f \n", rnd_float(-0.2, 0.2)); - printf("Rnd: %f \n", rnd_float(-0.2, 0.2)); - printf("Rnd: %f \n", rnd_float(.5, 1.0)); + printf("Rnd: %f \n", rnd_float(-0.2, 0.0)); + printf("Rnd: %f \n", rnd_float(-0.2, 0.0)); + printf("Rnd: %f \n", rnd_float(.50, 0.6)); printf("Rnd: %f \n", rnd_float(4.0, 5.0)); int ret; From 1f07352ea667fd9afb8ad489ac67a3d72b1485d5 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 7 Dec 2020 12:44:56 -0500 Subject: [PATCH 005/165] added posXi calc test --- afsk/main.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/afsk/main.c b/afsk/main.c index a3a8c5c6..12554fca 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -84,6 +84,7 @@ int loop = -1, loop_count = 0; int firstTime = ON; long start; int testCount = 0; +time_t time_start; short int buffer[2336400]; // max size for 10 frames count of BPSK @@ -402,6 +403,9 @@ srand(time(0)); printf("Rnd: %f \n", rnd_float(.50, 0.6)); printf("Rnd: %f \n", rnd_float(4.0, 5.0)); + time_start = time(NULL); + + int ret; //uint8_t data[1024]; @@ -1015,6 +1019,12 @@ if (firstTime != ON) h[6] = 99; posXi = (int)(current[map[PLUS_X]] + 0.5) + 2048; + + float time = (time(NULL) - time_start); + posXi = 5.0 * SIN(1.57)*SIN(2.0 * 3.14 * time / 46.0); + + print("Time: %f Xi %f \n",time, posXi); + posYi = (int)(current[map[PLUS_Y]] + 0.5) + 2048; posZi = (int)(current[map[PLUS_Z]] + 0.5) + 2048; negXi = (int)(current[map[MINUS_X]] + 0.5) + 2048; From 1264342dc7cc9e13f2442f609709afe6273bcb7e Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 7 Dec 2020 12:49:55 -0500 Subject: [PATCH 006/165] changed time to millis --- afsk/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 12554fca..5afe89df 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -84,7 +84,7 @@ int loop = -1, loop_count = 0; int firstTime = ON; long start; int testCount = 0; -time_t time_start; +long time_start; short int buffer[2336400]; // max size for 10 frames count of BPSK @@ -403,7 +403,7 @@ srand(time(0)); printf("Rnd: %f \n", rnd_float(.50, 0.6)); printf("Rnd: %f \n", rnd_float(4.0, 5.0)); - time_start = time(NULL); + time_start = millis(); int ret; @@ -1020,7 +1020,7 @@ if (firstTime != ON) posXi = (int)(current[map[PLUS_X]] + 0.5) + 2048; - float time = (time(NULL) - time_start); + float time = (millis() - time_start)/1000.0; posXi = 5.0 * SIN(1.57)*SIN(2.0 * 3.14 * time / 46.0); print("Time: %f Xi %f \n",time, posXi); From b015eb558aff137300de49d4d02046cf44b8c07a Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 7 Dec 2020 12:51:16 -0500 Subject: [PATCH 007/165] fixed sin() --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 5afe89df..52431000 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1021,7 +1021,7 @@ if (firstTime != ON) posXi = (int)(current[map[PLUS_X]] + 0.5) + 2048; float time = (millis() - time_start)/1000.0; - posXi = 5.0 * SIN(1.57)*SIN(2.0 * 3.14 * time / 46.0); + posXi = 5.0 * sin(1.57) * sin(2.0 * 3.14 * time / 46.0); print("Time: %f Xi %f \n",time, posXi); From 16c1401aa01df7f902591e7a02634eed79c64fa8 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 7 Dec 2020 12:51:53 -0500 Subject: [PATCH 008/165] print typo --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 52431000..131e9f89 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1023,7 +1023,7 @@ if (firstTime != ON) float time = (millis() - time_start)/1000.0; posXi = 5.0 * sin(1.57) * sin(2.0 * 3.14 * time / 46.0); - print("Time: %f Xi %f \n",time, posXi); + printf("Time: %f Xi %f \n",time, posXi); posYi = (int)(current[map[PLUS_Y]] + 0.5) + 2048; posZi = (int)(current[map[PLUS_Z]] + 0.5) + 2048; From 6a52ba19d5c888344d9f83e1a2d898b2ea318f58 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 7 Dec 2020 12:56:06 -0500 Subject: [PATCH 009/165] double --- afsk/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 131e9f89..4330a0c9 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1020,10 +1020,10 @@ if (firstTime != ON) posXi = (int)(current[map[PLUS_X]] + 0.5) + 2048; - float time = (millis() - time_start)/1000.0; - posXi = 5.0 * sin(1.57) * sin(2.0 * 3.14 * time / 46.0); + double time = (millis() - time_start)/1000.0; + double Xi = (5.0 * sin(1.57) * sin(2.0 * 3.14 * time / 46.0); - printf("Time: %f Xi %f \n",time, posXi); + printf("Time: %f Xi %f \n",time, Xi); posYi = (int)(current[map[PLUS_Y]] + 0.5) + 2048; posZi = (int)(current[map[PLUS_Z]] + 0.5) + 2048; From 26fca73d9959b8de1197f1df82f0ccf64f3b2f4f Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 7 Dec 2020 13:00:45 -0500 Subject: [PATCH 010/165] typo --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 4330a0c9..460b7b46 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1021,7 +1021,7 @@ if (firstTime != ON) posXi = (int)(current[map[PLUS_X]] + 0.5) + 2048; double time = (millis() - time_start)/1000.0; - double Xi = (5.0 * sin(1.57) * sin(2.0 * 3.14 * time / 46.0); + double Xi = 5.0 * sin(1.57) * sin(2.0 * 3.14 * time / 46.0); printf("Time: %f Xi %f \n",time, Xi); From e454c8cd84d04887fe68de29fee0f9c15a213f86 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 7 Dec 2020 15:19:46 -0500 Subject: [PATCH 011/165] encode simulated X, Y, Z current --- afsk/main.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 460b7b46..5074da01 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -976,6 +976,22 @@ if (firstTime != ON) } // printf("\n"); + + + double time = (millis() - time_start)/1000.0; + double Xi = 5.0 * sin(1.57) * sin(2.0 * 3.14 * time / 46.0); + double Yi = 5.0 * sin(1.57) * sin(2.0 * 3.14 * time / 46.0 + 3.14/2.0); + double Zi = 5.0 * cos(1.57 - 0.0) * sin(2.0 * 3.14 * time / 46.0 + 3.14); + + current[map[PLUS_X]] = ( Xi >= 0) ? (Xi, 0); + current[map[MINUS_X]] = ( Xi >= 0) ? (0, ((-1.0)) * Xi)); + current[map[PLUS_Y]] = ( Yi >= 0) ? (Yi, 0); + current[map[MINUS_Y]] = ( Yi >= 0) ? (0, ((-1.0)) * Yi)); + current[map[PLUS_Y]] = ( Zi >= 0) ? (Zi, 0); + current[map[MINUS_Y]] = ( Zi >= 0) ? (0, ((-1.0)) * Zi)); + + printf("Time: %f : %f %f %f \n",time, Xi, Yi, Zi); + FILE *cpuTempSensor = fopen("/sys/class/thermal/thermal_zone0/temp", "r"); if (cpuTempSensor) { @@ -1019,12 +1035,6 @@ if (firstTime != ON) h[6] = 99; posXi = (int)(current[map[PLUS_X]] + 0.5) + 2048; - - double time = (millis() - time_start)/1000.0; - double Xi = 5.0 * sin(1.57) * sin(2.0 * 3.14 * time / 46.0); - - printf("Time: %f Xi %f \n",time, Xi); - posYi = (int)(current[map[PLUS_Y]] + 0.5) + 2048; posZi = (int)(current[map[PLUS_Z]] + 0.5) + 2048; negXi = (int)(current[map[MINUS_X]] + 0.5) + 2048; From 46119b7313b7b2bfea27c0f3db28107a066ff3e6 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 7 Dec 2020 15:22:01 -0500 Subject: [PATCH 012/165] typo in conditional expression --- afsk/main.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 5074da01..a6291847 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -983,12 +983,12 @@ if (firstTime != ON) double Yi = 5.0 * sin(1.57) * sin(2.0 * 3.14 * time / 46.0 + 3.14/2.0); double Zi = 5.0 * cos(1.57 - 0.0) * sin(2.0 * 3.14 * time / 46.0 + 3.14); - current[map[PLUS_X]] = ( Xi >= 0) ? (Xi, 0); - current[map[MINUS_X]] = ( Xi >= 0) ? (0, ((-1.0)) * Xi)); - current[map[PLUS_Y]] = ( Yi >= 0) ? (Yi, 0); - current[map[MINUS_Y]] = ( Yi >= 0) ? (0, ((-1.0)) * Yi)); - current[map[PLUS_Y]] = ( Zi >= 0) ? (Zi, 0); - current[map[MINUS_Y]] = ( Zi >= 0) ? (0, ((-1.0)) * Zi)); + current[map[PLUS_X]] = ( Xi >= 0) ? Xi: 0; + current[map[MINUS_X]] = ( Xi >= 0) ? 0: ((-1.0)) * Xi); + current[map[PLUS_Y]] = ( Yi >= 0) ? Yi: 0; + current[map[MINUS_Y]] = ( Yi >= 0) ? 0: ((-1.0)) * Yi); + current[map[PLUS_Y]] = ( Zi >= 0) ? Zi: 0; + current[map[MINUS_Y]] = ( Zi >= 0) ? 0: ((-1.0)) * Zi); printf("Time: %f : %f %f %f \n",time, Xi, Yi, Zi); From 68100c56766cb6f77d043c9359ef467f910750c5 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 7 Dec 2020 15:23:25 -0500 Subject: [PATCH 013/165] typo --- afsk/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index a6291847..e33d7936 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -984,11 +984,11 @@ if (firstTime != ON) double Zi = 5.0 * cos(1.57 - 0.0) * sin(2.0 * 3.14 * time / 46.0 + 3.14); current[map[PLUS_X]] = ( Xi >= 0) ? Xi: 0; - current[map[MINUS_X]] = ( Xi >= 0) ? 0: ((-1.0)) * Xi); + current[map[MINUS_X]] = ( Xi >= 0) ? 0: ((-1.0) * Xi); current[map[PLUS_Y]] = ( Yi >= 0) ? Yi: 0; - current[map[MINUS_Y]] = ( Yi >= 0) ? 0: ((-1.0)) * Yi); + current[map[MINUS_Y]] = ( Yi >= 0) ? 0: ((-1.0) * Yi); current[map[PLUS_Y]] = ( Zi >= 0) ? Zi: 0; - current[map[MINUS_Y]] = ( Zi >= 0) ? 0: ((-1.0)) * Zi); + current[map[MINUS_Y]] = ( Zi >= 0) ? 0: ((-1.0) * Zi); printf("Time: %f : %f %f %f \n",time, Xi, Yi, Zi); From f77cda0bd6d3afdff7d8c12d259ce6e07671123b Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 7 Dec 2020 15:32:30 -0500 Subject: [PATCH 014/165] added printf --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index e33d7936..18eb3bc3 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -990,7 +990,7 @@ if (firstTime != ON) current[map[PLUS_Y]] = ( Zi >= 0) ? Zi: 0; current[map[MINUS_Y]] = ( Zi >= 0) ? 0: ((-1.0) * Zi); - printf("Time: %f : %f %f %f \n",time, Xi, Yi, Zi); + printf("Time: %f : %f %f | %f %f | %f %f\n",time, current[map[PLUS_X]], current[map[MINUS_X]], current[map[PLUS_Y]], current[map[MINUS_Y]], current[map[PLUS_Z]], current[map[MINUS_Z]]); FILE *cpuTempSensor = fopen("/sys/class/thermal/thermal_zone0/temp", "r"); From 5bf8d27895300eb777312395b6d7cb9109fe9709 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 7 Dec 2020 15:34:44 -0500 Subject: [PATCH 015/165] Update main.c --- afsk/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 18eb3bc3..8cf5dc4e 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -980,8 +980,8 @@ if (firstTime != ON) double time = (millis() - time_start)/1000.0; double Xi = 5.0 * sin(1.57) * sin(2.0 * 3.14 * time / 46.0); - double Yi = 5.0 * sin(1.57) * sin(2.0 * 3.14 * time / 46.0 + 3.14/2.0); - double Zi = 5.0 * cos(1.57 - 0.0) * sin(2.0 * 3.14 * time / 46.0 + 3.14); + double Yi = 5.0 * sin(1.57) * sin((2.0 * 3.14 * time / 46.0) + 3.14/2.0); + double Zi = 5.0 * cos(1.57 - 0.0) * sin((2.0 * 3.14 * time / 46.0) + 3.14); current[map[PLUS_X]] = ( Xi >= 0) ? Xi: 0; current[map[MINUS_X]] = ( Xi >= 0) ? 0: ((-1.0) * Xi); From c6918cb635e21492988b5bcba3e2d49352397889 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 7 Dec 2020 15:37:16 -0500 Subject: [PATCH 016/165] Update main.c --- afsk/main.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 8cf5dc4e..a75659cf 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -980,8 +980,10 @@ if (firstTime != ON) double time = (millis() - time_start)/1000.0; double Xi = 5.0 * sin(1.57) * sin(2.0 * 3.14 * time / 46.0); - double Yi = 5.0 * sin(1.57) * sin((2.0 * 3.14 * time / 46.0) + 3.14/2.0); - double Zi = 5.0 * cos(1.57 - 0.0) * sin((2.0 * 3.14 * time / 46.0) + 3.14); + double Yi = 5.0 * sin(1.57) * sin((2.0 * 3.14 * time / 46.0) + (3.14/2.0)); + double Zi = 5.0 * cos(1.57 - 1.57) * sin((2.0 * 3.14 * time / 46.0) + 3.14); + + printf("Yi: %f Zi: %f \n", Yi, Zi); current[map[PLUS_X]] = ( Xi >= 0) ? Xi: 0; current[map[MINUS_X]] = ( Xi >= 0) ? 0: ((-1.0) * Xi); From 3d3fa8fd6a1678c33b45075e7d53aa5ffe7dbd1a Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 7 Dec 2020 15:39:06 -0500 Subject: [PATCH 017/165] now correct values --- afsk/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index a75659cf..b35e4813 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -981,9 +981,9 @@ if (firstTime != ON) double time = (millis() - time_start)/1000.0; double Xi = 5.0 * sin(1.57) * sin(2.0 * 3.14 * time / 46.0); double Yi = 5.0 * sin(1.57) * sin((2.0 * 3.14 * time / 46.0) + (3.14/2.0)); - double Zi = 5.0 * cos(1.57 - 1.57) * sin((2.0 * 3.14 * time / 46.0) + 3.14); + double Zi = 5.0 * cos(1.57 - 0.0) * sin((2.0 * 3.14 * time / 46.0) + 3.14); - printf("Yi: %f Zi: %f \n", Yi, Zi); + //printf("Yi: %f Zi: %f \n", Yi, Zi); current[map[PLUS_X]] = ( Xi >= 0) ? Xi: 0; current[map[MINUS_X]] = ( Xi >= 0) ? 0: ((-1.0) * Xi); From 7a5bf8ff476e894d1416684c2db497a6bd996662 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 7 Dec 2020 15:41:39 -0500 Subject: [PATCH 018/165] now fixed --- afsk/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index b35e4813..e893c7e9 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -989,8 +989,8 @@ if (firstTime != ON) current[map[MINUS_X]] = ( Xi >= 0) ? 0: ((-1.0) * Xi); current[map[PLUS_Y]] = ( Yi >= 0) ? Yi: 0; current[map[MINUS_Y]] = ( Yi >= 0) ? 0: ((-1.0) * Yi); - current[map[PLUS_Y]] = ( Zi >= 0) ? Zi: 0; - current[map[MINUS_Y]] = ( Zi >= 0) ? 0: ((-1.0) * Zi); + current[map[PLUS_Z]] = ( Zi >= 0) ? Zi: 0; + current[map[MINUS_Z]] = ( Zi >= 0) ? 0: ((-1.0) * Zi); printf("Time: %f : %f %f | %f %f | %f %f\n",time, current[map[PLUS_X]], current[map[MINUS_X]], current[map[PLUS_Y]], current[map[MINUS_Y]], current[map[PLUS_Z]], current[map[MINUS_Z]]); From db32addc30b2ae5a63aa38a351a5171a61c31a1a Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 7 Dec 2020 15:46:06 -0500 Subject: [PATCH 019/165] angle 0.2 0.2 1 --- afsk/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index e893c7e9..bfeffebf 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -979,9 +979,9 @@ if (firstTime != ON) double time = (millis() - time_start)/1000.0; - double Xi = 5.0 * sin(1.57) * sin(2.0 * 3.14 * time / 46.0); - double Yi = 5.0 * sin(1.57) * sin((2.0 * 3.14 * time / 46.0) + (3.14/2.0)); - double Zi = 5.0 * cos(1.57 - 0.0) * sin((2.0 * 3.14 * time / 46.0) + 3.14); + double Xi = 5.0 * sin(1.37) * sin(2.0 * 3.14 * time / 46.0); + double Yi = 4.8 * sin(1.37) * sin((2.0 * 3.14 * time / 46.0) + (3.14/2.0)); + double Zi = 5.0 * cos(1.37 - 0.2) * sin((2.0 * 3.14 * time / 46.0) + 3.14 + 0.785); //printf("Yi: %f Zi: %f \n", Yi, Zi); From 01fd089aead31c8bdbde0068dc9ac680cfd4d7a4 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 7 Dec 2020 15:51:00 -0500 Subject: [PATCH 020/165] now with +/- 0.1 noise --- afsk/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index bfeffebf..8132f023 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -979,9 +979,9 @@ if (firstTime != ON) double time = (millis() - time_start)/1000.0; - double Xi = 5.0 * sin(1.37) * sin(2.0 * 3.14 * time / 46.0); - double Yi = 4.8 * sin(1.37) * sin((2.0 * 3.14 * time / 46.0) + (3.14/2.0)); - double Zi = 5.0 * cos(1.37 - 0.2) * sin((2.0 * 3.14 * time / 46.0) + 3.14 + 0.785); + double Xi = 5.0 * sin(1.37) * sin(2.0 * 3.14 * time / 46.0) + rnd_float(-0.1, 0.1); + double Yi = 4.8 * sin(1.37) * sin((2.0 * 3.14 * time / 46.0) + (3.14/2.0)) + rnd_float(-0.1, 0.1; + double Zi = 5.0 * cos(1.37 - 0.2) * sin((2.0 * 3.14 * time / 46.0) + 3.14 + 0.785) + rnd_float(-0.1, 0.1; //printf("Yi: %f Zi: %f \n", Yi, Zi); From a67a8f7ec045f3d54d7878b9d9b8a0bbf508ea34 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 7 Dec 2020 15:52:01 -0500 Subject: [PATCH 021/165] 0.5 noise --- afsk/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 8132f023..63bcb675 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -979,9 +979,9 @@ if (firstTime != ON) double time = (millis() - time_start)/1000.0; - double Xi = 5.0 * sin(1.37) * sin(2.0 * 3.14 * time / 46.0) + rnd_float(-0.1, 0.1); - double Yi = 4.8 * sin(1.37) * sin((2.0 * 3.14 * time / 46.0) + (3.14/2.0)) + rnd_float(-0.1, 0.1; - double Zi = 5.0 * cos(1.37 - 0.2) * sin((2.0 * 3.14 * time / 46.0) + 3.14 + 0.785) + rnd_float(-0.1, 0.1; + double Xi = 5.0 * sin(1.37) * sin(2.0 * 3.14 * time / 46.0) + rnd_float(-0.5, 0.5); + double Yi = 4.8 * sin(1.37) * sin((2.0 * 3.14 * time / 46.0) + (3.14/2.0)) + rnd_float(-0.5, 0.5; + double Zi = 5.0 * cos(1.37 - 0.2) * sin((2.0 * 3.14 * time / 46.0) + 3.14 + 0.785) + rnd_float(-0.5, 0.5; //printf("Yi: %f Zi: %f \n", Yi, Zi); From b7318cae23e23f95bc095a5066e6d8c90ceef7db Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 7 Dec 2020 15:52:59 -0500 Subject: [PATCH 022/165] typo --- afsk/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 63bcb675..5f6979a1 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -980,8 +980,8 @@ if (firstTime != ON) double time = (millis() - time_start)/1000.0; double Xi = 5.0 * sin(1.37) * sin(2.0 * 3.14 * time / 46.0) + rnd_float(-0.5, 0.5); - double Yi = 4.8 * sin(1.37) * sin((2.0 * 3.14 * time / 46.0) + (3.14/2.0)) + rnd_float(-0.5, 0.5; - double Zi = 5.0 * cos(1.37 - 0.2) * sin((2.0 * 3.14 * time / 46.0) + 3.14 + 0.785) + rnd_float(-0.5, 0.5; + double Yi = 4.8 * sin(1.37) * sin((2.0 * 3.14 * time / 46.0) + (3.14/2.0)) + rnd_float(-0.5, 0.5); + double Zi = 5.0 * cos(1.37 - 0.2) * sin((2.0 * 3.14 * time / 46.0) + 3.14 + 0.785) + rnd_float(-0.5, 0.5); //printf("Yi: %f Zi: %f \n", Yi, Zi); From c9d16166caba01cce0fe712f246ca64b1c954eab Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 7 Dec 2020 16:02:09 -0500 Subject: [PATCH 023/165] +/- 10% noise --- afsk/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 5f6979a1..bc1dfb80 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -979,9 +979,9 @@ if (firstTime != ON) double time = (millis() - time_start)/1000.0; - double Xi = 5.0 * sin(1.37) * sin(2.0 * 3.14 * time / 46.0) + rnd_float(-0.5, 0.5); - double Yi = 4.8 * sin(1.37) * sin((2.0 * 3.14 * time / 46.0) + (3.14/2.0)) + rnd_float(-0.5, 0.5); - double Zi = 5.0 * cos(1.37 - 0.2) * sin((2.0 * 3.14 * time / 46.0) + 3.14 + 0.785) + rnd_float(-0.5, 0.5); + double Xi = 10.0 * sin(1.37) * sin(2.0 * 3.14 * time / 46.0) + rnd_float(-1, 1); + double Yi = 8.5 * sin(1.37) * sin((2.0 * 3.14 * time / 46.0) + (3.14/2.0)) + rnd_float(-1, 1); + double Zi = 9.0 * cos(1.37 - 0.2) * sin((2.0 * 3.14 * time / 46.0) + 3.14 + 0.785) + rnd_float(-1, 1); //printf("Yi: %f Zi: %f \n", Yi, Zi); From 395d9ed630cc4f09ac4695d56cde7f4afa596dcd Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 7 Dec 2020 16:05:31 -0500 Subject: [PATCH 024/165] 1/2 speed --- afsk/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index bc1dfb80..291e4029 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -979,9 +979,9 @@ if (firstTime != ON) double time = (millis() - time_start)/1000.0; - double Xi = 10.0 * sin(1.37) * sin(2.0 * 3.14 * time / 46.0) + rnd_float(-1, 1); - double Yi = 8.5 * sin(1.37) * sin((2.0 * 3.14 * time / 46.0) + (3.14/2.0)) + rnd_float(-1, 1); - double Zi = 9.0 * cos(1.37 - 0.2) * sin((2.0 * 3.14 * time / 46.0) + 3.14 + 0.785) + rnd_float(-1, 1); + double Xi = 10.0 * sin(1.37) * sin(2.0 * 3.14 * time / (46.0 * 2)) + rnd_float(-1, 1); + double Yi = 8.5 * sin(1.37) * sin((2.0 * 3.14 * time / (46.0 * 2)) + (3.14/2.0)) + rnd_float(-1, 1); + double Zi = 9.0 * cos(1.37 - 0.2) * sin((2.0 * 3.14 * time / (46.0 * 2)) + 3.14 + 0.785) + rnd_float(-1, 1); //printf("Yi: %f Zi: %f \n", Yi, Zi); From 578a692479169674cd488a047eb5647670025cbb Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 7 Dec 2020 23:03:16 -0500 Subject: [PATCH 025/165] added set of sim voltages, currents, and temp --- afsk/main.c | 57 ++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 48 insertions(+), 9 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 291e4029..35951542 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -124,6 +124,9 @@ float batteryThreshold = 3.0, batteryVoltage; float latitude = 39.027702, longitude = -77.078064; float lat_file, long_file; +float axis[2], angle[2], volt_max[2], amp_max[2], batt, speed, eclipse_time, period, temp +int eclipse; + int test_i2c_bus(int bus); const char pythonCmd[] = "python3 /home/pi/CubeSatSim/python/voltcurrent.py "; @@ -397,12 +400,30 @@ else } srand(time(0)); + +axis[0] = rnd_float(-0.2, 0.2); +axis[1] = rnd_float(-0.2, 0.2); +axis[2] = (rnd_float(-0.2, 0.2) > 0) ? 1.0: -1.0; + +angle[0] = atan(axis[1] / axis[2]); +angle[1] = atan(axis[2] / axis[0]); +angle[2] = atan(axis[1] / axis[0]); - printf("Rnd: %f \n", rnd_float(-0.2, 0.0)); - printf("Rnd: %f \n", rnd_float(-0.2, 0.0)); - printf("Rnd: %f \n", rnd_float(.50, 0.6)); - printf("Rnd: %f \n", rnd_float(4.0, 5.0)); +volt_max[0] = rnd_float(4.5, 5.5) * sin(angle[1]); +volt_max[1] = rnd_float(4.5, 5.5) * cos(angle[0]); +volt_max[2] = rnd_float(4.5, 5.5) * cos(angle[1] - angle[0]); + +amp_max[0] = rnd_float(140, 160) * sin(angle[1]); +amp_max[1] = rnd_float(140, 160) * cos(angle[0]); +amp_max[2] = rnd_float(140, 160) * cos(angle[1] - angle[0]); +batt = rnd_float(3.5, 4.3); +speed = rnd_fload(0.5, 1.2); +eclipse_time = rnd_float(0, 300); +eclipse = (rnd_float(-1, +1) > 0) ? true : false; +period = rnd_float(150, 300); +temp = rnd_float(20, 55); + time_start = millis(); @@ -978,10 +999,22 @@ if (firstTime != ON) // printf("\n"); - double time = (millis() - time_start)/1000.0; - double Xi = 10.0 * sin(1.37) * sin(2.0 * 3.14 * time / (46.0 * 2)) + rnd_float(-1, 1); - double Yi = 8.5 * sin(1.37) * sin((2.0 * 3.14 * time / (46.0 * 2)) + (3.14/2.0)) + rnd_float(-1, 1); - double Zi = 9.0 * cos(1.37 - 0.2) * sin((2.0 * 3.14 * time / (46.0 * 2)) + 3.14 + 0.785) + rnd_float(-1, 1); + double time = (millis() - time_start)/1000.0; + + if (time % eclipse_time == 0) + eclipse = (eclipse == 1) ? 0 : 1; + +// double Xi = 10.0 * sin(1.37) * sin(2.0 * 3.14 * time / (46.0 * 2)) + rnd_float(-1, 1); +// double Yi = 8.5 * sin(1.37) * sin((2.0 * 3.14 * time / (46.0 * 2)) + (3.14/2.0)) + rnd_float(-1, 1); +// double Zi = 9.0 * cos(1.37 - 0.2) * sin((2.0 * 3.14 * time / (46.0 * 2)) + 3.14 + 0.785) + rnd_float(-1, 1); + + double Xi = eclipse * amps_max[0] * sin(2.0 * 3.14 * time / (46.0 * speed)) + rnd_float(-2, 2); + double Yi = eclipse * amps_max[1] * sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0)) + rnd_float(-2, 2); + double Zi = eclipse * amps_max[2] * sin((2.0 * 3.14 * time / (46.0 * speed)) + 3.14 + angle[2]) + rnd_float(-2, 2); + + double Xv = eclipse * volts_max[0] * sin(2.0 * 3.14 * time / (46.0 * speed)) + rnd_float(-.2, 2); + double Yv = eclipse * volts_max[1] * sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0)) + rnd_float(-.2, 2); + double Zv = eclipse * volts_max[2] * sin((2.0 * 3.14 * time / (46.0 * speed)) + 3.14 + angle[2]) + rnd_float(-.2, 2); //printf("Yi: %f Zi: %f \n", Yi, Zi); @@ -992,9 +1025,15 @@ if (firstTime != ON) current[map[PLUS_Z]] = ( Zi >= 0) ? Zi: 0; current[map[MINUS_Z]] = ( Zi >= 0) ? 0: ((-1.0) * Zi); + voltage[map[PLUS_X]] = ( Xv >= 1) ? Xi: rnd_float(0.9, 1.1); + voltage[map[MINUS_X]] = ( Xv <= -1) ? rnd_float(0.9, 1.1): ((-1.0) * Xi); + voltage[map[PLUS_Y]] = ( Yv >= 0) ? Yi: rnd_float(0.9, 1.1); + voltage[map[MINUS_Y]] = ( Yv >= 0) ? rnd_float(0.9, 1.1): ((-1.0) * Yi); + voltage[map[PLUS_Z]] = ( Zv >= 0) ? Zi: rnd_float(0.9, 1.1); + voltage[map[MINUS_Z]] = ( Zv >= 0) ? rnd_float(0.9, 1.1): ((-1.0) * Zi); + printf("Time: %f : %f %f | %f %f | %f %f\n",time, current[map[PLUS_X]], current[map[MINUS_X]], current[map[PLUS_Y]], current[map[MINUS_Y]], current[map[PLUS_Z]], current[map[MINUS_Z]]); - FILE *cpuTempSensor = fopen("/sys/class/thermal/thermal_zone0/temp", "r"); if (cpuTempSensor) { double cpuTemp; From a7cce53061fd909526af53bfe2e9878103d1cdc9 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 09:31:17 -0500 Subject: [PATCH 026/165] typos --- afsk/main.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 35951542..df643573 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -68,7 +68,7 @@ ax5043_conf_t hax5043; ax25_conf_t hax25; int twosToInt(int val, int len); -float rnd_float(float min, float max); +float rnd_float(double min, double max); int get_tlm(void); int get_tlm_fox(); int encodeA(short int *b, int index, int val); @@ -124,7 +124,7 @@ float batteryThreshold = 3.0, batteryVoltage; float latitude = 39.027702, longitude = -77.078064; float lat_file, long_file; -float axis[2], angle[2], volt_max[2], amp_max[2], batt, speed, eclipse_time, period, temp +float axis[2], angle[2], volts_max[2], amps_max[2], batt, speed, eclipse_time, period, temp int eclipse; int test_i2c_bus(int bus); @@ -409,18 +409,18 @@ angle[0] = atan(axis[1] / axis[2]); angle[1] = atan(axis[2] / axis[0]); angle[2] = atan(axis[1] / axis[0]); -volt_max[0] = rnd_float(4.5, 5.5) * sin(angle[1]); -volt_max[1] = rnd_float(4.5, 5.5) * cos(angle[0]); -volt_max[2] = rnd_float(4.5, 5.5) * cos(angle[1] - angle[0]); +volts_max[0] = rnd_float(4.5, 5.5) * sin(angle[1]); +volts_max[1] = rnd_float(4.5, 5.5) * cos(angle[0]); +volts_max[2] = rnd_float(4.5, 5.5) * cos(angle[1] - angle[0]); -amp_max[0] = rnd_float(140, 160) * sin(angle[1]); -amp_max[1] = rnd_float(140, 160) * cos(angle[0]); -amp_max[2] = rnd_float(140, 160) * cos(angle[1] - angle[0]); +amps_max[0] = rnd_float(140, 160) * sin(angle[1]); +amps_max[1] = rnd_float(140, 160) * cos(angle[0]); +amps_max[2] = rnd_float(140, 160) * cos(angle[1] - angle[0]); batt = rnd_float(3.5, 4.3); speed = rnd_fload(0.5, 1.2); eclipse_time = rnd_float(0, 300); -eclipse = (rnd_float(-1, +1) > 0) ? true : false; +eclipse = (rnd_float(-1, +1) > 0) ? 1 : 0; period = rnd_float(150, 300); temp = rnd_float(20, 55); @@ -1001,7 +1001,7 @@ if (firstTime != ON) double time = (millis() - time_start)/1000.0; - if (time % eclipse_time == 0) + if ((int)time % (int)eclipse_time == 0) eclipse = (eclipse == 1) ? 0 : 1; // double Xi = 10.0 * sin(1.37) * sin(2.0 * 3.14 * time / (46.0 * 2)) + rnd_float(-1, 1); @@ -1032,7 +1032,7 @@ if (firstTime != ON) voltage[map[PLUS_Z]] = ( Zv >= 0) ? Zi: rnd_float(0.9, 1.1); voltage[map[MINUS_Z]] = ( Zv >= 0) ? rnd_float(0.9, 1.1): ((-1.0) * Zi); - printf("Time: %f : %f %f | %f %f | %f %f\n",time, current[map[PLUS_X]], current[map[MINUS_X]], current[map[PLUS_Y]], current[map[MINUS_Y]], current[map[PLUS_Z]], current[map[MINUS_Z]]); + printf("Time: %f Eclipse: %d : %f %f | %f %f | %f %f\n",time, eclipse, current[map[PLUS_X]], current[map[MINUS_X]], current[map[PLUS_Y]], current[map[MINUS_Y]], current[map[PLUS_Z]], current[map[MINUS_Z]]); FILE *cpuTempSensor = fopen("/sys/class/thermal/thermal_zone0/temp", "r"); if (cpuTempSensor) { @@ -1713,8 +1713,7 @@ int twosToInt(int val,int len) { // Convert twos compliment to integer return(val); } -float rnd_float(float min,float max) { // returns 2 decimal point random number -// from https://www.raspberrypi.org/forums/viewtopic.php?t=55815 +float rnd_float(double min,double max) { // returns 2 decimal point random number int val = (rand() % ((int)(max*100) - (int)(min*100) + 1)) + (int)(min*100); float ret = ((float)(val)/100); From c9f8753e22ebfc64c85ccb9183cec22d86a3b98b Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 09:33:56 -0500 Subject: [PATCH 027/165] Update main.c --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index df643573..22004727 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -124,7 +124,7 @@ float batteryThreshold = 3.0, batteryVoltage; float latitude = 39.027702, longitude = -77.078064; float lat_file, long_file; -float axis[2], angle[2], volts_max[2], amps_max[2], batt, speed, eclipse_time, period, temp +float axis[2], angle[2], volts_max[2], amps_max[2], batt, speed, eclipse_time, period, temp; int eclipse; int test_i2c_bus(int bus); From a9dec9973664947c65583ef1249c5ff947d6b7b1 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 09:36:44 -0500 Subject: [PATCH 028/165] converting doubles to floats --- afsk/main.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 22004727..21f49107 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -405,20 +405,20 @@ axis[0] = rnd_float(-0.2, 0.2); axis[1] = rnd_float(-0.2, 0.2); axis[2] = (rnd_float(-0.2, 0.2) > 0) ? 1.0: -1.0; -angle[0] = atan(axis[1] / axis[2]); -angle[1] = atan(axis[2] / axis[0]); -angle[2] = atan(axis[1] / axis[0]); +angle[0] = (float) atan(axis[1] / axis[2]); +angle[1] = (float) atan(axis[2] / axis[0]); +angle[2] = (float) atan(axis[1] / axis[0]); -volts_max[0] = rnd_float(4.5, 5.5) * sin(angle[1]); -volts_max[1] = rnd_float(4.5, 5.5) * cos(angle[0]); -volts_max[2] = rnd_float(4.5, 5.5) * cos(angle[1] - angle[0]); +volts_max[0] = rnd_float(4.5, 5.5) * (float) sin(angle[1]); +volts_max[1] = rnd_float(4.5, 5.5) * (float) cos(angle[0]); +volts_max[2] = rnd_float(4.5, 5.5) * (float) cos(angle[1] - angle[0]); -amps_max[0] = rnd_float(140, 160) * sin(angle[1]); -amps_max[1] = rnd_float(140, 160) * cos(angle[0]); -amps_max[2] = rnd_float(140, 160) * cos(angle[1] - angle[0]); +amps_max[0] = rnd_float(140, 160) * (float) sin(angle[1]); +amps_max[1] = rnd_float(140, 160) * (float) cos(angle[0]); +amps_max[2] = rnd_float(140, 160) * (float) cos(angle[1] - angle[0]); batt = rnd_float(3.5, 4.3); -speed = rnd_fload(0.5, 1.2); +speed = rnd_float(0.5, 1.2); eclipse_time = rnd_float(0, 300); eclipse = (rnd_float(-1, +1) > 0) ? 1 : 0; period = rnd_float(150, 300); From 5549e7951c84bb475f86963030d414e1b67fa191 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 09:43:06 -0500 Subject: [PATCH 029/165] fixed Xv typo --- afsk/main.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 21f49107..381ebe1f 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1025,12 +1025,12 @@ if (firstTime != ON) current[map[PLUS_Z]] = ( Zi >= 0) ? Zi: 0; current[map[MINUS_Z]] = ( Zi >= 0) ? 0: ((-1.0) * Zi); - voltage[map[PLUS_X]] = ( Xv >= 1) ? Xi: rnd_float(0.9, 1.1); - voltage[map[MINUS_X]] = ( Xv <= -1) ? rnd_float(0.9, 1.1): ((-1.0) * Xi); - voltage[map[PLUS_Y]] = ( Yv >= 0) ? Yi: rnd_float(0.9, 1.1); - voltage[map[MINUS_Y]] = ( Yv >= 0) ? rnd_float(0.9, 1.1): ((-1.0) * Yi); - voltage[map[PLUS_Z]] = ( Zv >= 0) ? Zi: rnd_float(0.9, 1.1); - voltage[map[MINUS_Z]] = ( Zv >= 0) ? rnd_float(0.9, 1.1): ((-1.0) * Zi); + voltage[map[PLUS_X]] = ( Xv >= 1) ? Xv: rnd_float(0.9, 1.1); + voltage[map[MINUS_X]] = ( Xv <= -1) ? rnd_float(0.9, 1.1): ((-1.0) * Xv); + voltage[map[PLUS_Y]] = ( Yv >= 0) ? Yv: rnd_float(0.9, 1.1); + voltage[map[MINUS_Y]] = ( Yv >= 0) ? rnd_float(0.9, 1.1): ((-1.0) * Yv); + voltage[map[PLUS_Z]] = ( Zv >= 0) ? Zv: rnd_float(0.9, 1.1); + voltage[map[MINUS_Z]] = ( Zv >= 0) ? rnd_float(0.9, 1.1): ((-1.0) * Zv); printf("Time: %f Eclipse: %d : %f %f | %f %f | %f %f\n",time, eclipse, current[map[PLUS_X]], current[map[MINUS_X]], current[map[PLUS_Y]], current[map[MINUS_Y]], current[map[PLUS_Z]], current[map[MINUS_Z]]); From 40411aa44c9662f66c92a9abccc42f0190fec1f6 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 09:47:30 -0500 Subject: [PATCH 030/165] Update main.c --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 381ebe1f..1453507d 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -418,7 +418,7 @@ amps_max[1] = rnd_float(140, 160) * (float) cos(angle[0]); amps_max[2] = rnd_float(140, 160) * (float) cos(angle[1] - angle[0]); batt = rnd_float(3.5, 4.3); -speed = rnd_float(0.5, 1.2); +speed = rnd_float(1.0, 2.5); eclipse_time = rnd_float(0, 300); eclipse = (rnd_float(-1, +1) > 0) ? 1 : 0; period = rnd_float(150, 300); From c7f627cedcd9968269e3980148aa199d2cc12d28 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 09:56:14 -0500 Subject: [PATCH 031/165] added display of values --- afsk/main.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 1453507d..32f18867 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -423,7 +423,11 @@ eclipse_time = rnd_float(0, 300); eclipse = (rnd_float(-1, +1) > 0) ? 1 : 0; period = rnd_float(150, 300); temp = rnd_float(20, 55); - + +for(int i=0; i < 3; i++) + printf("axis: %f angle: %f v: %f i: %f \n",axis[i], angle[i], volts_max[i], amps_max[i]); +printf("batt: %f speed: %f eclipse_time: %f eclipse: %d period: %f temp: %f\n", batt, speed, eclipse_time, eclipse, period, temp); + time_start = millis(); From 7485205448e1db55745e97f99b615c83c6380bae Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 10:05:41 -0500 Subject: [PATCH 032/165] made x and y axis only positive for now --- afsk/main.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 32f18867..6e84daaa 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -401,8 +401,8 @@ else srand(time(0)); -axis[0] = rnd_float(-0.2, 0.2); -axis[1] = rnd_float(-0.2, 0.2); +axis[0] = rnd_float(0.0, 0.2); +axis[1] = rnd_float(0.0, 0.2); axis[2] = (rnd_float(-0.2, 0.2) > 0) ? 1.0: -1.0; angle[0] = (float) atan(axis[1] / axis[2]); @@ -413,9 +413,9 @@ volts_max[0] = rnd_float(4.5, 5.5) * (float) sin(angle[1]); volts_max[1] = rnd_float(4.5, 5.5) * (float) cos(angle[0]); volts_max[2] = rnd_float(4.5, 5.5) * (float) cos(angle[1] - angle[0]); -amps_max[0] = rnd_float(140, 160) * (float) sin(angle[1]); -amps_max[1] = rnd_float(140, 160) * (float) cos(angle[0]); -amps_max[2] = rnd_float(140, 160) * (float) cos(angle[1] - angle[0]); +amps_max[0] = rnd_float(140.0, 160.0) * (float) sin(angle[1]); +amps_max[1] = rnd_float(140.0, 160.0) * (float) cos(angle[0]); +amps_max[2] = rnd_float(140.0, 160.0) * (float) cos(angle[1] - angle[0]); batt = rnd_float(3.5, 4.3); speed = rnd_float(1.0, 2.5); @@ -1016,9 +1016,9 @@ if (firstTime != ON) double Yi = eclipse * amps_max[1] * sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0)) + rnd_float(-2, 2); double Zi = eclipse * amps_max[2] * sin((2.0 * 3.14 * time / (46.0 * speed)) + 3.14 + angle[2]) + rnd_float(-2, 2); - double Xv = eclipse * volts_max[0] * sin(2.0 * 3.14 * time / (46.0 * speed)) + rnd_float(-.2, 2); - double Yv = eclipse * volts_max[1] * sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0)) + rnd_float(-.2, 2); - double Zv = eclipse * volts_max[2] * sin((2.0 * 3.14 * time / (46.0 * speed)) + 3.14 + angle[2]) + rnd_float(-.2, 2); + double Xv = eclipse * volts_max[0] * sin(2.0 * 3.14 * time / (46.0 * speed)) + rnd_float(-0.2, 0.2); + double Yv = eclipse * volts_max[1] * sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0)) + rnd_float(-0.2, 0.2); + double Zv = eclipse * volts_max[2] * sin((2.0 * 3.14 * time / (46.0 * speed)) + 3.14 + angle[2]) + rnd_float(-0.2, 0.2); //printf("Yi: %f Zi: %f \n", Yi, Zi); From d88973438e2ebfefd7ca10b660e53e06f5452a7d Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 10:11:42 -0500 Subject: [PATCH 033/165] Update main.c --- afsk/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 6e84daaa..c2cb9ba9 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -403,7 +403,7 @@ srand(time(0)); axis[0] = rnd_float(0.0, 0.2); axis[1] = rnd_float(0.0, 0.2); -axis[2] = (rnd_float(-0.2, 0.2) > 0) ? 1.0: -1.0; +axis[2] = 1.0; // (rnd_float(-0.2, 0.2) > 0) ? 1.0: -1.0; angle[0] = (float) atan(axis[1] / axis[2]); angle[1] = (float) atan(axis[2] / axis[0]); @@ -1036,7 +1036,7 @@ if (firstTime != ON) voltage[map[PLUS_Z]] = ( Zv >= 0) ? Zv: rnd_float(0.9, 1.1); voltage[map[MINUS_Z]] = ( Zv >= 0) ? rnd_float(0.9, 1.1): ((-1.0) * Zv); - printf("Time: %f Eclipse: %d : %f %f | %f %f | %f %f\n",time, eclipse, current[map[PLUS_X]], current[map[MINUS_X]], current[map[PLUS_Y]], current[map[MINUS_Y]], current[map[PLUS_Z]], current[map[MINUS_Z]]); + printf("Time: %f Eclipse: %d : %f %f | %f %f | %f %f\n",time, eclipse, voltage[map[PLUS_X]], voltage[map[MINUS_X]], voltage[map[PLUS_Y]], voltage[map[MINUS_Y]], current[map[PLUS_Z]], current[map[MINUS_Z]]); FILE *cpuTempSensor = fopen("/sys/class/thermal/thermal_zone0/temp", "r"); if (cpuTempSensor) { From 02b379e53a414b385589569025126a9c291ac990 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 10:17:09 -0500 Subject: [PATCH 034/165] find out why -Xv goes to 40 --- afsk/main.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/afsk/main.c b/afsk/main.c index c2cb9ba9..4e88f204 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1079,6 +1079,8 @@ if (firstTime != ON) if (mode == BPSK) h[6] = 99; + printf("Mxv: %f \n",voltage[map[MINUS_X]]); + posXi = (int)(current[map[PLUS_X]] + 0.5) + 2048; posYi = (int)(current[map[PLUS_Y]] + 0.5) + 2048; posZi = (int)(current[map[PLUS_Z]] + 0.5) + 2048; @@ -1086,6 +1088,7 @@ if (firstTime != ON) negYi = (int)(current[map[MINUS_Y]] + 0.5) + 2048; negZi = (int)(current[map[MINUS_Z]] + 0.5) + 2048; + posXv = (int)(voltage[map[PLUS_X]] * 100); posYv = (int)(voltage[map[PLUS_Y]] * 100); posZv = (int)(voltage[map[PLUS_Z]] * 100); @@ -1099,6 +1102,8 @@ if (firstTime != ON) if (payload == ON) STEMBoardFailure = 0; + printf("NegXv: %d \n", negXv); + batteryVoltage = voltage[map[BAT]]; // if (payload == ON) From 35f0822ddaaa30301be5380acf97dc23fc0d6907 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 10:22:55 -0500 Subject: [PATCH 035/165] fixed neg v bug --- afsk/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 4e88f204..e3fc24f3 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1030,9 +1030,9 @@ if (firstTime != ON) current[map[MINUS_Z]] = ( Zi >= 0) ? 0: ((-1.0) * Zi); voltage[map[PLUS_X]] = ( Xv >= 1) ? Xv: rnd_float(0.9, 1.1); - voltage[map[MINUS_X]] = ( Xv <= -1) ? rnd_float(0.9, 1.1): ((-1.0) * Xv); - voltage[map[PLUS_Y]] = ( Yv >= 0) ? Yv: rnd_float(0.9, 1.1); - voltage[map[MINUS_Y]] = ( Yv >= 0) ? rnd_float(0.9, 1.1): ((-1.0) * Yv); + voltage[map[MINUS_X]] = ( Xv <= -1) ? ((-1.0) * Xv): rnd_float(0.9, 1.1); + voltage[map[PLUS_Y]] = ( Yv >= 1) ? Yv: rnd_float(0.9, 1.1); + voltage[map[MINUS_Y]] = ( Yv <= -1) ? ((-1.0) * Yv): rnd_float(0.9, 1.1); voltage[map[PLUS_Z]] = ( Zv >= 0) ? Zv: rnd_float(0.9, 1.1); voltage[map[MINUS_Z]] = ( Zv >= 0) ? rnd_float(0.9, 1.1): ((-1.0) * Zv); From 667432edcc48cfa664406f8c8df571080de4c6ee Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 10:30:26 -0500 Subject: [PATCH 036/165] fixed Zv --- afsk/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index e3fc24f3..2add9b32 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1033,8 +1033,8 @@ if (firstTime != ON) voltage[map[MINUS_X]] = ( Xv <= -1) ? ((-1.0) * Xv): rnd_float(0.9, 1.1); voltage[map[PLUS_Y]] = ( Yv >= 1) ? Yv: rnd_float(0.9, 1.1); voltage[map[MINUS_Y]] = ( Yv <= -1) ? ((-1.0) * Yv): rnd_float(0.9, 1.1); - voltage[map[PLUS_Z]] = ( Zv >= 0) ? Zv: rnd_float(0.9, 1.1); - voltage[map[MINUS_Z]] = ( Zv >= 0) ? rnd_float(0.9, 1.1): ((-1.0) * Zv); + voltage[map[PLUS_Z]] = ( Zv >= 1) ? Zv: rnd_float(0.9, 1.1); + voltage[map[MINUS_Z]] = ( Zv <= -1) ? ((-1.0) * Zv): rnd_float(0.9, 1.1); printf("Time: %f Eclipse: %d : %f %f | %f %f | %f %f\n",time, eclipse, voltage[map[PLUS_X]], voltage[map[MINUS_X]], voltage[map[PLUS_Y]], voltage[map[MINUS_Y]], current[map[PLUS_Z]], current[map[MINUS_Z]]); From 6f4bbd11d705fde52b38f9dc454d2504c2898d7a Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 10:40:01 -0500 Subject: [PATCH 037/165] investigate Z currents and add 2x for voltage --- afsk/main.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 2add9b32..aed0f98c 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1018,9 +1018,9 @@ if (firstTime != ON) double Xv = eclipse * volts_max[0] * sin(2.0 * 3.14 * time / (46.0 * speed)) + rnd_float(-0.2, 0.2); double Yv = eclipse * volts_max[1] * sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0)) + rnd_float(-0.2, 0.2); - double Zv = eclipse * volts_max[2] * sin((2.0 * 3.14 * time / (46.0 * speed)) + 3.14 + angle[2]) + rnd_float(-0.2, 0.2); + double Zv = 2.0 * eclipse * volts_max[2] * sin((2.0 * 3.14 * time / (46.0 * speed)) + 3.14 + angle[2]) + rnd_float(-0.2, 0.2); - //printf("Yi: %f Zi: %f \n", Yi, Zi); + printf("Yi: %f Zi: %f \n", Yi, Zi); current[map[PLUS_X]] = ( Xi >= 0) ? Xi: 0; current[map[MINUS_X]] = ( Xi >= 0) ? 0: ((-1.0) * Xi); @@ -1079,7 +1079,7 @@ if (firstTime != ON) if (mode == BPSK) h[6] = 99; - printf("Mxv: %f \n",voltage[map[MINUS_X]]); + printf("Pzi: %f \n",current[map[PLUS_Z]]); posXi = (int)(current[map[PLUS_X]] + 0.5) + 2048; posYi = (int)(current[map[PLUS_Y]] + 0.5) + 2048; @@ -1102,7 +1102,7 @@ if (firstTime != ON) if (payload == ON) STEMBoardFailure = 0; - printf("NegXv: %d \n", negXv); + printf("PosZi: %d \n", posZi); batteryVoltage = voltage[map[BAT]]; From fab4b53b9c1d21a6174c3134a5d672021f37257c Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 10:50:28 -0500 Subject: [PATCH 038/165] tried sin^2 for i --- afsk/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index aed0f98c..7f521b2a 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1012,9 +1012,9 @@ if (firstTime != ON) // double Yi = 8.5 * sin(1.37) * sin((2.0 * 3.14 * time / (46.0 * 2)) + (3.14/2.0)) + rnd_float(-1, 1); // double Zi = 9.0 * cos(1.37 - 0.2) * sin((2.0 * 3.14 * time / (46.0 * 2)) + 3.14 + 0.785) + rnd_float(-1, 1); - double Xi = eclipse * amps_max[0] * sin(2.0 * 3.14 * time / (46.0 * speed)) + rnd_float(-2, 2); - double Yi = eclipse * amps_max[1] * sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0)) + rnd_float(-2, 2); - double Zi = eclipse * amps_max[2] * sin((2.0 * 3.14 * time / (46.0 * speed)) + 3.14 + angle[2]) + rnd_float(-2, 2); + double Xi = eclipse * amps_max[0] * sin(2.0 * 3.14 * time / (46.0 * speed)) * sin(2.0 * 3.14 * time / (46.0 * speed)) + rnd_float(-2, 2); + double Yi = eclipse * amps_max[1] * sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0)) * sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0)) + rnd_float(-2, 2); + double Zi = eclipse * amps_max[2] * sin((2.0 * 3.14 * time / (46.0 * speed)) + 3.14 + angle[2]) * sin((2.0 * 3.14 * time / (46.0 * speed)) + 3.14 + angle[2]) + rnd_float(-2, 2); double Xv = eclipse * volts_max[0] * sin(2.0 * 3.14 * time / (46.0 * speed)) + rnd_float(-0.2, 0.2); double Yv = eclipse * volts_max[1] * sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0)) + rnd_float(-0.2, 0.2); From d6e4ee82b8beacda859cf243c422eb036585b334 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 11:09:33 -0500 Subject: [PATCH 039/165] added fabs to sin^2 --- afsk/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 7f521b2a..ea01c09b 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1012,9 +1012,9 @@ if (firstTime != ON) // double Yi = 8.5 * sin(1.37) * sin((2.0 * 3.14 * time / (46.0 * 2)) + (3.14/2.0)) + rnd_float(-1, 1); // double Zi = 9.0 * cos(1.37 - 0.2) * sin((2.0 * 3.14 * time / (46.0 * 2)) + 3.14 + 0.785) + rnd_float(-1, 1); - double Xi = eclipse * amps_max[0] * sin(2.0 * 3.14 * time / (46.0 * speed)) * sin(2.0 * 3.14 * time / (46.0 * speed)) + rnd_float(-2, 2); - double Yi = eclipse * amps_max[1] * sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0)) * sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0)) + rnd_float(-2, 2); - double Zi = eclipse * amps_max[2] * sin((2.0 * 3.14 * time / (46.0 * speed)) + 3.14 + angle[2]) * sin((2.0 * 3.14 * time / (46.0 * speed)) + 3.14 + angle[2]) + rnd_float(-2, 2); + double Xi = eclipse * amps_max[0] * sin(2.0 * 3.14 * time / (46.0 * speed)) * fabs(sin(2.0 * 3.14 * time / (46.0 * speed))) + rnd_float(-2, 2); + double Yi = eclipse * amps_max[1] * sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0)) * fabs(sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0))) + rnd_float(-2, 2); + double Zi = eclipse * amps_max[2] * sin((2.0 * 3.14 * time / (46.0 * speed)) + 3.14 + angle[2]) * fabs(sin((2.0 * 3.14 * time / (46.0 * speed)) + 3.14 + angle[2])) + rnd_float(-2, 2); double Xv = eclipse * volts_max[0] * sin(2.0 * 3.14 * time / (46.0 * speed)) + rnd_float(-0.2, 0.2); double Yv = eclipse * volts_max[1] * sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0)) + rnd_float(-0.2, 0.2); From 8e32b65fe907a866185884a9cd23f294acbf6033 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 11:20:29 -0500 Subject: [PATCH 040/165] Update main.c --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index ea01c09b..dff7c359 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1020,7 +1020,7 @@ if (firstTime != ON) double Yv = eclipse * volts_max[1] * sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0)) + rnd_float(-0.2, 0.2); double Zv = 2.0 * eclipse * volts_max[2] * sin((2.0 * 3.14 * time / (46.0 * speed)) + 3.14 + angle[2]) + rnd_float(-0.2, 0.2); - printf("Yi: %f Zi: %f \n", Yi, Zi); + printf("Yi: %f Zi: %f %f %f Zv: %f \n", Yi, Zi, amps_max[2], angle[2], Zv); current[map[PLUS_X]] = ( Xi >= 0) ? Xi: 0; current[map[MINUS_X]] = ( Xi >= 0) ? 0: ((-1.0) * Xi); From 6820736eb9379888b779a3a5b293cf9486cc0f0c Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 11:23:47 -0500 Subject: [PATCH 041/165] fixed array dimension --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index dff7c359..e74835d5 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -124,7 +124,7 @@ float batteryThreshold = 3.0, batteryVoltage; float latitude = 39.027702, longitude = -77.078064; float lat_file, long_file; -float axis[2], angle[2], volts_max[2], amps_max[2], batt, speed, eclipse_time, period, temp; +float axis[3], angle[3], volts_max[3], amps_max[3], batt, speed, eclipse_time, period, temp; int eclipse; int test_i2c_bus(int bus); From 29f112cc7756efdc0fdfd4140601b966a6e0249b Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 11:46:02 -0500 Subject: [PATCH 042/165] added PSU and batt and temp simulations, changed eclipse to 1/4 at initialization --- afsk/main.c | 45 +++++++++++++++++++++++++++++++-------------- 1 file changed, 31 insertions(+), 14 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index e74835d5..7c04d3a8 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -124,7 +124,7 @@ float batteryThreshold = 3.0, batteryVoltage; float latitude = 39.027702, longitude = -77.078064; float lat_file, long_file; -float axis[3], angle[3], volts_max[3], amps_max[3], batt, speed, eclipse_time, period, temp; +float axis[3], angle[3], volts_max[3], amps_max[3], batt, speed, eclipse_time, period, temp, temp_max, temp_min; int eclipse; int test_i2c_bus(int bus); @@ -420,9 +420,11 @@ amps_max[2] = rnd_float(140.0, 160.0) * (float) cos(angle[1] - angle[0]); batt = rnd_float(3.5, 4.3); speed = rnd_float(1.0, 2.5); eclipse_time = rnd_float(0, 300); -eclipse = (rnd_float(-1, +1) > 0) ? 1 : 0; +eclipse = (rnd_float(-1, +4) > 0) ? 1 : 0; period = rnd_float(150, 300); temp = rnd_float(20, 55); +temp_max = rnd_float(50, 70); +temp_min = rnd_float(10,20); for(int i=0; i < 3; i++) printf("axis: %f angle: %f v: %f i: %f \n",axis[i], angle[i], volts_max[i], amps_max[i]); @@ -1003,6 +1005,22 @@ if (firstTime != ON) // printf("\n"); + FILE *cpuTempSensor = fopen("/sys/class/thermal/thermal_zone0/temp", "r"); + if (cpuTempSensor) { + double cpuTemp; + fscanf (cpuTempSensor, "%lf", &cpuTemp); + cpuTemp /= 1000; + + #ifdef DEBUG_LOGGING + printf("CPU Temp Read: %6.1f\n", cpuTemp); + #endif + + IHUcpuTemp = (int)((cpuTemp * 10.0) + 0.5); + } + fclose(cpuTempSensor); + + // simulated telemetry + double time = (millis() - time_start)/1000.0; if ((int)time % (int)eclipse_time == 0) @@ -1037,20 +1055,19 @@ if (firstTime != ON) voltage[map[MINUS_Z]] = ( Zv <= -1) ? ((-1.0) * Zv): rnd_float(0.9, 1.1); printf("Time: %f Eclipse: %d : %f %f | %f %f | %f %f\n",time, eclipse, voltage[map[PLUS_X]], voltage[map[MINUS_X]], voltage[map[PLUS_Y]], voltage[map[MINUS_Y]], current[map[PLUS_Z]], current[map[MINUS_Z]]); + + temp += (eclipse > 0) ? ((temp_max - temp)/50.0): ((temp_min - temp)/50.0); + IHUcpuTemp = temp; + + voltage[map[BUS]] = rnd_float(4.99, 5.01); + current[map[BUS]] = rnd_float(240, 270); - FILE *cpuTempSensor = fopen("/sys/class/thermal/thermal_zone0/temp", "r"); - if (cpuTempSensor) { - double cpuTemp; - fscanf (cpuTempSensor, "%lf", &cpuTemp); - cpuTemp /= 1000; - - #ifdef DEBUG_LOGGING - printf("CPU Temp Read: %6.1f\n", cpuTemp); - #endif + float charging = current[map[PLUS_X]] + current[map[MINUS_X]] + current[map[PLUS_Y]] + current[map[MINUS_Y]] + current[map[PLUS_Z]] + current[map[MINUS_Z]]; + current[map[BAT]] = current[map[BUS]] - charging; + batt -= (batt > 3.5) ? current/20000: current/2000; + voltage[map[BAT]] = batt; - IHUcpuTemp = (int)((cpuTemp * 10.0) + 0.5); - } - fclose(cpuTempSensor); +// end of simulated telemetry memset(rs_frame,0,sizeof(rs_frame)); memset(parities,0,sizeof(parities)); From 1e3ed1055acc118d87fbd8f6b7a4762a57f329a1 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 11:50:50 -0500 Subject: [PATCH 043/165] batt current typo --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 7c04d3a8..3953f0d9 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1064,7 +1064,7 @@ if (firstTime != ON) float charging = current[map[PLUS_X]] + current[map[MINUS_X]] + current[map[PLUS_Y]] + current[map[MINUS_Y]] + current[map[PLUS_Z]] + current[map[MINUS_Z]]; current[map[BAT]] = current[map[BUS]] - charging; - batt -= (batt > 3.5) ? current/20000: current/2000; + batt -= (batt > 3.5) ? current[map[BAT]]/20000: current[map[BAT]]/2000; voltage[map[BAT]] = batt; // end of simulated telemetry From b438e5a752867de1bb9773883a42da983edf3224 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 13:41:22 -0500 Subject: [PATCH 044/165] simulated batt doen't trigger shutdown --- afsk/main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/afsk/main.c b/afsk/main.c index 3953f0d9..0b7a5365 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1112,7 +1112,10 @@ if (firstTime != ON) negXv = (int)(voltage[map[MINUS_X]] * 100); negYv = (int)(voltage[map[MINUS_Y]] * 100); negZv = (int)(voltage[map[MINUS_Z]] * 100); + batt_c_v = (int)(voltage[map[BAT]] * 100); + batt_c_v = (int)(batt * 100); + battCurr = (int)(current[map[BAT]] + 0.5) + 2048; PSUVoltage = (int)(voltage[map[BUS]] * 100); PSUCurrent = (int)(current[map[BUS]] + 0.5) + 2048; From 08dd6be76adb5c627de0e0ee5d40caaf48f26c9f Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 13:45:26 -0500 Subject: [PATCH 045/165] reduced batt discharge rate by 10 --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 0b7a5365..eb5fa255 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1064,7 +1064,7 @@ if (firstTime != ON) float charging = current[map[PLUS_X]] + current[map[MINUS_X]] + current[map[PLUS_Y]] + current[map[MINUS_Y]] + current[map[PLUS_Z]] + current[map[MINUS_Z]]; current[map[BAT]] = current[map[BUS]] - charging; - batt -= (batt > 3.5) ? current[map[BAT]]/20000: current[map[BAT]]/2000; + batt -= (batt > 3.5) ? current[map[BAT]]/200000: current[map[BAT]]/20000; voltage[map[BAT]] = batt; // end of simulated telemetry From 04b87e81a761eeb3ecac1916201a0c2355fe66db Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 13:52:44 -0500 Subject: [PATCH 046/165] axis back to +/- reduced current, increased solar current --- afsk/main.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index eb5fa255..9990156d 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -401,9 +401,9 @@ else srand(time(0)); -axis[0] = rnd_float(0.0, 0.2); -axis[1] = rnd_float(0.0, 0.2); -axis[2] = 1.0; // (rnd_float(-0.2, 0.2) > 0) ? 1.0: -1.0; +axis[0] = rnd_float(-0.2, 0.2); +axis[1] = rnd_float(-0.2, 0.2); +axis[2] = (rnd_float(-0.2, 0.2) > 0) ? 1.0: -1.0; angle[0] = (float) atan(axis[1] / axis[2]); angle[1] = (float) atan(axis[2] / axis[0]); @@ -413,9 +413,9 @@ volts_max[0] = rnd_float(4.5, 5.5) * (float) sin(angle[1]); volts_max[1] = rnd_float(4.5, 5.5) * (float) cos(angle[0]); volts_max[2] = rnd_float(4.5, 5.5) * (float) cos(angle[1] - angle[0]); -amps_max[0] = rnd_float(140.0, 160.0) * (float) sin(angle[1]); -amps_max[1] = rnd_float(140.0, 160.0) * (float) cos(angle[0]); -amps_max[2] = rnd_float(140.0, 160.0) * (float) cos(angle[1] - angle[0]); +amps_max[0] = rnd_float(140.0, 190.0) * (float) sin(angle[1]); +amps_max[1] = rnd_float(140.0, 190.0) * (float) cos(angle[0]); +amps_max[2] = rnd_float(140.0, 190.0) * (float) cos(angle[1] - angle[0]); batt = rnd_float(3.5, 4.3); speed = rnd_float(1.0, 2.5); @@ -1057,10 +1057,10 @@ if (firstTime != ON) printf("Time: %f Eclipse: %d : %f %f | %f %f | %f %f\n",time, eclipse, voltage[map[PLUS_X]], voltage[map[MINUS_X]], voltage[map[PLUS_Y]], voltage[map[MINUS_Y]], current[map[PLUS_Z]], current[map[MINUS_Z]]); temp += (eclipse > 0) ? ((temp_max - temp)/50.0): ((temp_min - temp)/50.0); - IHUcpuTemp = temp; + IHUcpuTemp = temp + rnd_float(-1,+1); voltage[map[BUS]] = rnd_float(4.99, 5.01); - current[map[BUS]] = rnd_float(240, 270); + current[map[BUS]] = rnd_float(150, 175); float charging = current[map[PLUS_X]] + current[map[MINUS_X]] + current[map[PLUS_Y]] + current[map[MINUS_Y]] + current[map[PLUS_Z]] + current[map[MINUS_Z]]; current[map[BAT]] = current[map[BUS]] - charging; From be535b308ad1220ff93c2341ff08f231aeae1e3c Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 14:03:12 -0500 Subject: [PATCH 047/165] increased charging and discharging rate again --- afsk/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 9990156d..9574de69 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1064,8 +1064,8 @@ if (firstTime != ON) float charging = current[map[PLUS_X]] + current[map[MINUS_X]] + current[map[PLUS_Y]] + current[map[MINUS_Y]] + current[map[PLUS_Z]] + current[map[MINUS_Z]]; current[map[BAT]] = current[map[BUS]] - charging; - batt -= (batt > 3.5) ? current[map[BAT]]/200000: current[map[BAT]]/20000; - voltage[map[BAT]] = batt; + batt -= (batt > 3.5) ? current[map[BAT]]/20000: current[map[BAT]]/2000; + voltage[map[BAT]] = batt + rnd_float(-0.07, 0.07); // end of simulated telemetry From 28d2b863869d056050d2ecbb19115607b5595b5c Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 14:28:38 -0500 Subject: [PATCH 048/165] moved battery voltage setting so simulated value won't be used for threshold --- afsk/main.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 9574de69..e4902714 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1002,8 +1002,9 @@ if (firstTime != ON) } } -// printf("\n"); - +// printf("\n"); + + batteryVoltage = voltage[map[BAT]]; FILE *cpuTempSensor = fopen("/sys/class/thermal/thermal_zone0/temp", "r"); if (cpuTempSensor) { @@ -1114,7 +1115,7 @@ if (firstTime != ON) negZv = (int)(voltage[map[MINUS_Z]] * 100); batt_c_v = (int)(voltage[map[BAT]] * 100); - batt_c_v = (int)(batt * 100); +// batt_c_v = (int)(batt * 100); battCurr = (int)(current[map[BAT]] + 0.5) + 2048; PSUVoltage = (int)(voltage[map[BUS]] * 100); @@ -1124,8 +1125,6 @@ if (firstTime != ON) printf("PosZi: %d \n", posZi); - batteryVoltage = voltage[map[BAT]]; - // if (payload == ON) // STEMBoardFailure = 0; From f49c47a9636c48fb18acaf213a552f2f7a6a009d Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 14:30:00 -0500 Subject: [PATCH 049/165] made temp change more rapidly --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index e4902714..ec03376c 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1057,7 +1057,7 @@ if (firstTime != ON) printf("Time: %f Eclipse: %d : %f %f | %f %f | %f %f\n",time, eclipse, voltage[map[PLUS_X]], voltage[map[MINUS_X]], voltage[map[PLUS_Y]], voltage[map[MINUS_Y]], current[map[PLUS_Z]], current[map[MINUS_Z]]); - temp += (eclipse > 0) ? ((temp_max - temp)/50.0): ((temp_min - temp)/50.0); + temp += (eclipse > 0) ? ((temp_max - temp)/10.0): ((temp_min - temp)/10.0); IHUcpuTemp = temp + rnd_float(-1,+1); voltage[map[BUS]] = rnd_float(4.99, 5.01); From 2c1ca3a52f1cc5cfba546feb5d1640e9540a3894 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 14:42:17 -0500 Subject: [PATCH 050/165] fixed temp --- afsk/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index ec03376c..257101d3 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1058,15 +1058,15 @@ if (firstTime != ON) printf("Time: %f Eclipse: %d : %f %f | %f %f | %f %f\n",time, eclipse, voltage[map[PLUS_X]], voltage[map[MINUS_X]], voltage[map[PLUS_Y]], voltage[map[MINUS_Y]], current[map[PLUS_Z]], current[map[MINUS_Z]]); temp += (eclipse > 0) ? ((temp_max - temp)/10.0): ((temp_min - temp)/10.0); - IHUcpuTemp = temp + rnd_float(-1,+1); + IHUcpuTemp = (temp + rnd_float(-1,+1)) * 100; voltage[map[BUS]] = rnd_float(4.99, 5.01); - current[map[BUS]] = rnd_float(150, 175); + current[map[BUS]] = rnd_float(158, 171); float charging = current[map[PLUS_X]] + current[map[MINUS_X]] + current[map[PLUS_Y]] + current[map[MINUS_Y]] + current[map[PLUS_Z]] + current[map[MINUS_Z]]; current[map[BAT]] = current[map[BUS]] - charging; batt -= (batt > 3.5) ? current[map[BAT]]/20000: current[map[BAT]]/2000; - voltage[map[BAT]] = batt + rnd_float(-0.07, 0.07); + voltage[map[BAT]] = batt + rnd_float(-0.01, 0.01); // end of simulated telemetry From fbd4e6ce55887cc0f6488c285d3c72112d658edd Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 14:49:49 -0500 Subject: [PATCH 051/165] removed i^2, reduced temp swing, --- afsk/main.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 257101d3..9ccd32e6 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1030,11 +1030,15 @@ if (firstTime != ON) // double Xi = 10.0 * sin(1.37) * sin(2.0 * 3.14 * time / (46.0 * 2)) + rnd_float(-1, 1); // double Yi = 8.5 * sin(1.37) * sin((2.0 * 3.14 * time / (46.0 * 2)) + (3.14/2.0)) + rnd_float(-1, 1); // double Zi = 9.0 * cos(1.37 - 0.2) * sin((2.0 * 3.14 * time / (46.0 * 2)) + 3.14 + 0.785) + rnd_float(-1, 1); - +/* double Xi = eclipse * amps_max[0] * sin(2.0 * 3.14 * time / (46.0 * speed)) * fabs(sin(2.0 * 3.14 * time / (46.0 * speed))) + rnd_float(-2, 2); double Yi = eclipse * amps_max[1] * sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0)) * fabs(sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0))) + rnd_float(-2, 2); double Zi = eclipse * amps_max[2] * sin((2.0 * 3.14 * time / (46.0 * speed)) + 3.14 + angle[2]) * fabs(sin((2.0 * 3.14 * time / (46.0 * speed)) + 3.14 + angle[2])) + rnd_float(-2, 2); - +*/ + double Xi = eclipse * amps_max[0] * sin(2.0 * 3.14 * time / (46.0 * speed)) + rnd_float(-2, 2); + double Yi = eclipse * amps_max[1] * sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0)) + rnd_float(-2, 2); + double Zi = eclipse * amps_max[2] * sin((2.0 * 3.14 * time / (46.0 * speed)) + 3.14 + angle[2]) + rnd_float(-2, 2); + double Xv = eclipse * volts_max[0] * sin(2.0 * 3.14 * time / (46.0 * speed)) + rnd_float(-0.2, 0.2); double Yv = eclipse * volts_max[1] * sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0)) + rnd_float(-0.2, 0.2); double Zv = 2.0 * eclipse * volts_max[2] * sin((2.0 * 3.14 * time / (46.0 * speed)) + 3.14 + angle[2]) + rnd_float(-0.2, 0.2); @@ -1057,8 +1061,8 @@ if (firstTime != ON) printf("Time: %f Eclipse: %d : %f %f | %f %f | %f %f\n",time, eclipse, voltage[map[PLUS_X]], voltage[map[MINUS_X]], voltage[map[PLUS_Y]], voltage[map[MINUS_Y]], current[map[PLUS_Z]], current[map[MINUS_Z]]); - temp += (eclipse > 0) ? ((temp_max - temp)/10.0): ((temp_min - temp)/10.0); - IHUcpuTemp = (temp + rnd_float(-1,+1)) * 100; + temp += (eclipse > 0) ? ((temp_max - temp)/50.0): ((temp_min - temp)/50.0); + IHUcpuTemp = (temp + rnd_float(-0.5,+0.5)) * 100; voltage[map[BUS]] = rnd_float(4.99, 5.01); current[map[BUS]] = rnd_float(158, 171); From a1e8c543135b1a20fa693037543d51ce122ffe45 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 14:56:28 -0500 Subject: [PATCH 052/165] trying to find charging current variation --- afsk/main.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 9ccd32e6..7d0494a1 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -401,8 +401,8 @@ else srand(time(0)); -axis[0] = rnd_float(-0.2, 0.2); -axis[1] = rnd_float(-0.2, 0.2); +axis[0] = 0; // rnd_float(-0.2, 0.2); +axis[1] = 0; // rnd_float(-0.2, 0.2); axis[2] = (rnd_float(-0.2, 0.2) > 0) ? 1.0: -1.0; angle[0] = (float) atan(axis[1] / axis[2]); @@ -412,10 +412,14 @@ angle[2] = (float) atan(axis[1] / axis[0]); volts_max[0] = rnd_float(4.5, 5.5) * (float) sin(angle[1]); volts_max[1] = rnd_float(4.5, 5.5) * (float) cos(angle[0]); volts_max[2] = rnd_float(4.5, 5.5) * (float) cos(angle[1] - angle[0]); - +/* amps_max[0] = rnd_float(140.0, 190.0) * (float) sin(angle[1]); amps_max[1] = rnd_float(140.0, 190.0) * (float) cos(angle[0]); amps_max[2] = rnd_float(140.0, 190.0) * (float) cos(angle[1] - angle[0]); +*/ +amps_max[0] = 180 * (float) sin(angle[1]); +amps_max[1] = 180 * (float) cos(angle[0]); +amps_max[2] = 180 * (float) cos(angle[1] - angle[0]); batt = rnd_float(3.5, 4.3); speed = rnd_float(1.0, 2.5); From aa1e6c96c55f0fe6ef3bc6d82645b9011cab1a4b Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 15:02:39 -0500 Subject: [PATCH 053/165] Update main.c --- afsk/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 7d0494a1..d270fb4b 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -417,9 +417,9 @@ amps_max[0] = rnd_float(140.0, 190.0) * (float) sin(angle[1]); amps_max[1] = rnd_float(140.0, 190.0) * (float) cos(angle[0]); amps_max[2] = rnd_float(140.0, 190.0) * (float) cos(angle[1] - angle[0]); */ -amps_max[0] = 180 * (float) sin(angle[1]); -amps_max[1] = 180 * (float) cos(angle[0]); -amps_max[2] = 180 * (float) cos(angle[1] - angle[0]); +amps_max[0] = 180.0 * (float) sin(angle[1]); +amps_max[1] = 180.0 * (float) cos(angle[0]); +amps_max[2] = 180.0 * (float) cos(angle[1] - angle[0]); batt = rnd_float(3.5, 4.3); speed = rnd_float(1.0, 2.5); From cbad3c13575d7caa75b39c58e657bc016336e24d Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 15:05:34 -0500 Subject: [PATCH 054/165] changed /100 to /10 for temp --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index d270fb4b..9a915f5e 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1066,7 +1066,7 @@ if (firstTime != ON) printf("Time: %f Eclipse: %d : %f %f | %f %f | %f %f\n",time, eclipse, voltage[map[PLUS_X]], voltage[map[MINUS_X]], voltage[map[PLUS_Y]], voltage[map[MINUS_Y]], current[map[PLUS_Z]], current[map[MINUS_Z]]); temp += (eclipse > 0) ? ((temp_max - temp)/50.0): ((temp_min - temp)/50.0); - IHUcpuTemp = (temp + rnd_float(-0.5,+0.5)) * 100; + IHUcpuTemp = (temp + rnd_float(-0.5,+0.5)) * 10; voltage[map[BUS]] = rnd_float(4.99, 5.01); current[map[BUS]] = rnd_float(158, 171); From 0ce342a5b1e9dfbfe36b9ceb2e0a0fc0aade2673 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 15:17:48 -0500 Subject: [PATCH 055/165] fixed atan divide by 0 Nan error --- afsk/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 9a915f5e..c98a4186 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -405,9 +405,9 @@ axis[0] = 0; // rnd_float(-0.2, 0.2); axis[1] = 0; // rnd_float(-0.2, 0.2); axis[2] = (rnd_float(-0.2, 0.2) > 0) ? 1.0: -1.0; -angle[0] = (float) atan(axis[1] / axis[2]); -angle[1] = (float) atan(axis[2] / axis[0]); -angle[2] = (float) atan(axis[1] / axis[0]); +angle[0] = (axis[2] != 0) ? (float) atan(axis[1] / axis[2]) : 3.14/2.0; +angle[1] = (axis[0] != 0) ? (float) atan(axis[2] / axis[0]) : 3.14/2.0; +angle[2] = (axis[0] != 0) ? (float) atan(axis[1] / axis[0]) : 3.14/2.0; volts_max[0] = rnd_float(4.5, 5.5) * (float) sin(angle[1]); volts_max[1] = rnd_float(4.5, 5.5) * (float) cos(angle[0]); From acd2bcb199cd08b57f3dd992dcb57774c43d9537 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 15:25:08 -0500 Subject: [PATCH 056/165] trying atan changes --- afsk/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index c98a4186..3a678b87 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -405,9 +405,9 @@ axis[0] = 0; // rnd_float(-0.2, 0.2); axis[1] = 0; // rnd_float(-0.2, 0.2); axis[2] = (rnd_float(-0.2, 0.2) > 0) ? 1.0: -1.0; -angle[0] = (axis[2] != 0) ? (float) atan(axis[1] / axis[2]) : 3.14/2.0; -angle[1] = (axis[0] != 0) ? (float) atan(axis[2] / axis[0]) : 3.14/2.0; -angle[2] = (axis[0] != 0) ? (float) atan(axis[1] / axis[0]) : 3.14/2.0; +angle[0] = (axis[2] != 0) ? (float) atan(axis[1] / axis[2]) : ((axis[1] != 0) ? 0: 3.14/2.0); +angle[1] = (axis[0] != 0) ? (float) atan(axis[2] / axis[0]) : ((axis[2] != 0) ? 0: 3.14/2.0); +angle[2] = (axis[0] != 0) ? (float) atan(axis[1] / axis[0]) : ((axis[1] != 0) ? 0: 3.14/2.0); volts_max[0] = rnd_float(4.5, 5.5) * (float) sin(angle[1]); volts_max[1] = rnd_float(4.5, 5.5) * (float) cos(angle[0]); From 956df272c62fe23d60167eb2b52ab8352c2ec5c7 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 15:28:28 -0500 Subject: [PATCH 057/165] changed atan to avoid divide by 0 --- afsk/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 3a678b87..89adaa15 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -405,9 +405,9 @@ axis[0] = 0; // rnd_float(-0.2, 0.2); axis[1] = 0; // rnd_float(-0.2, 0.2); axis[2] = (rnd_float(-0.2, 0.2) > 0) ? 1.0: -1.0; -angle[0] = (axis[2] != 0) ? (float) atan(axis[1] / axis[2]) : ((axis[1] != 0) ? 0: 3.14/2.0); -angle[1] = (axis[0] != 0) ? (float) atan(axis[2] / axis[0]) : ((axis[2] != 0) ? 0: 3.14/2.0); -angle[2] = (axis[0] != 0) ? (float) atan(axis[1] / axis[0]) : ((axis[1] != 0) ? 0: 3.14/2.0); +angle[0] = (float) atan(axis[1] / (axis[2] + 0.001)); +angle[1] = (float) atan(axis[2] / (axis[0] + 0.001)); +angle[2] = (float) atan(axis[1] / (axis[0] + 0.001)); volts_max[0] = rnd_float(4.5, 5.5) * (float) sin(angle[1]); volts_max[1] = rnd_float(4.5, 5.5) * (float) cos(angle[0]); From 2f966de3f8aff04b948232e86202c8bffeb53392 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 15:31:28 -0500 Subject: [PATCH 058/165] removed changes to atan, set 0 to 0.001 on axis --- afsk/main.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 89adaa15..941bc6c2 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -401,13 +401,13 @@ else srand(time(0)); -axis[0] = 0; // rnd_float(-0.2, 0.2); -axis[1] = 0; // rnd_float(-0.2, 0.2); +axis[0] = 0.001; // rnd_float(-0.2, 0.2); +axis[1] = 0.001; // rnd_float(-0.2, 0.2); axis[2] = (rnd_float(-0.2, 0.2) > 0) ? 1.0: -1.0; -angle[0] = (float) atan(axis[1] / (axis[2] + 0.001)); -angle[1] = (float) atan(axis[2] / (axis[0] + 0.001)); -angle[2] = (float) atan(axis[1] / (axis[0] + 0.001)); +angle[0] = (float) atan(axis[1] / axis[2]); +angle[1] = (float) atan(axis[2] / axis[0]); +angle[2] = (float) atan(axis[1] / axis[0]); volts_max[0] = rnd_float(4.5, 5.5) * (float) sin(angle[1]); volts_max[1] = rnd_float(4.5, 5.5) * (float) cos(angle[0]); From 690deef1642dc60204287d0a6fc5baee2f98f2bf Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 15:44:12 -0500 Subject: [PATCH 059/165] fixed IHUcpuTemp --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 941bc6c2..720ab550 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1066,7 +1066,7 @@ if (firstTime != ON) printf("Time: %f Eclipse: %d : %f %f | %f %f | %f %f\n",time, eclipse, voltage[map[PLUS_X]], voltage[map[MINUS_X]], voltage[map[PLUS_Y]], voltage[map[MINUS_Y]], current[map[PLUS_Z]], current[map[MINUS_Z]]); temp += (eclipse > 0) ? ((temp_max - temp)/50.0): ((temp_min - temp)/50.0); - IHUcpuTemp = (temp + rnd_float(-0.5,+0.5)) * 10; + IHUcpuTemp = (int)((temp + rnd_float(-0.5, 0.5)) * 10 + 0.5); voltage[map[BUS]] = rnd_float(4.99, 5.01); current[map[BUS]] = rnd_float(158, 171); From f0dcad278aea9e018c833b269e7227934968e4b1 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 15:46:54 -0500 Subject: [PATCH 060/165] debug temp --- afsk/main.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 720ab550..efca1883 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1063,11 +1063,13 @@ if (firstTime != ON) voltage[map[PLUS_Z]] = ( Zv >= 1) ? Zv: rnd_float(0.9, 1.1); voltage[map[MINUS_Z]] = ( Zv <= -1) ? ((-1.0) * Zv): rnd_float(0.9, 1.1); - printf("Time: %f Eclipse: %d : %f %f | %f %f | %f %f\n",time, eclipse, voltage[map[PLUS_X]], voltage[map[MINUS_X]], voltage[map[PLUS_Y]], voltage[map[MINUS_Y]], current[map[PLUS_Z]], current[map[MINUS_Z]]); + printf("temp: %f Time: %f Eclipse: %d : %f %f | %f %f | %f %f\n",temp, time, eclipse, voltage[map[PLUS_X]], voltage[map[MINUS_X]], voltage[map[PLUS_Y]], voltage[map[MINUS_Y]], current[map[PLUS_Z]], current[map[MINUS_Z]]); temp += (eclipse > 0) ? ((temp_max - temp)/50.0): ((temp_min - temp)/50.0); - IHUcpuTemp = (int)((temp + rnd_float(-0.5, 0.5)) * 10 + 0.5); - + IHUcpuTemp = (int)((temp + rnd_float(-0.5, 0.5)) * 10 + 0.5); + + printf("IHUcpuTemp: %d \n", IHUcpuTemp); + voltage[map[BUS]] = rnd_float(4.99, 5.01); current[map[BUS]] = rnd_float(158, 171); From e36f92b1d62bc9c4c81aad61573e88bc5ab79fba Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 15:53:59 -0500 Subject: [PATCH 061/165] tempS change --- afsk/main.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index efca1883..efe09a9a 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -124,7 +124,7 @@ float batteryThreshold = 3.0, batteryVoltage; float latitude = 39.027702, longitude = -77.078064; float lat_file, long_file; -float axis[3], angle[3], volts_max[3], amps_max[3], batt, speed, eclipse_time, period, temp, temp_max, temp_min; +float axis[3], angle[3], volts_max[3], amps_max[3], batt, speed, eclipse_time, period, tempS, temp_max, temp_min; int eclipse; int test_i2c_bus(int bus); @@ -426,7 +426,7 @@ speed = rnd_float(1.0, 2.5); eclipse_time = rnd_float(0, 300); eclipse = (rnd_float(-1, +4) > 0) ? 1 : 0; period = rnd_float(150, 300); -temp = rnd_float(20, 55); +tempS = rnd_float(20, 55); temp_max = rnd_float(50, 70); temp_min = rnd_float(10,20); @@ -1062,11 +1062,11 @@ if (firstTime != ON) voltage[map[MINUS_Y]] = ( Yv <= -1) ? ((-1.0) * Yv): rnd_float(0.9, 1.1); voltage[map[PLUS_Z]] = ( Zv >= 1) ? Zv: rnd_float(0.9, 1.1); voltage[map[MINUS_Z]] = ( Zv <= -1) ? ((-1.0) * Zv): rnd_float(0.9, 1.1); - - printf("temp: %f Time: %f Eclipse: %d : %f %f | %f %f | %f %f\n",temp, time, eclipse, voltage[map[PLUS_X]], voltage[map[MINUS_X]], voltage[map[PLUS_Y]], voltage[map[MINUS_Y]], current[map[PLUS_Z]], current[map[MINUS_Z]]); - temp += (eclipse > 0) ? ((temp_max - temp)/50.0): ((temp_min - temp)/50.0); - IHUcpuTemp = (int)((temp + rnd_float(-0.5, 0.5)) * 10 + 0.5); + printf("temp: %f Time: %f Eclipse: %d : %f %f | %f %f | %f %f\n",tempS, time, eclipse, voltage[map[PLUS_X]], voltage[map[MINUS_X]], voltage[map[PLUS_Y]], voltage[map[MINUS_Y]], current[map[PLUS_Z]], current[map[MINUS_Z]]); + + tempS += (eclipse > 0) ? ((temp_max - tempS)/500.0): ((temp_min - tempS)/500.0); + IHUcpuTemp = (int)(tempS * 10 + 0.5); printf("IHUcpuTemp: %d \n", IHUcpuTemp); From f44281ede9f97b118f1b10ed5959e9e6baa081c3 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 15:56:06 -0500 Subject: [PATCH 062/165] Update main.c --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index efe09a9a..3eee07c1 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -432,7 +432,7 @@ temp_min = rnd_float(10,20); for(int i=0; i < 3; i++) printf("axis: %f angle: %f v: %f i: %f \n",axis[i], angle[i], volts_max[i], amps_max[i]); -printf("batt: %f speed: %f eclipse_time: %f eclipse: %d period: %f temp: %f\n", batt, speed, eclipse_time, eclipse, period, temp); +printf("batt: %f speed: %f eclipse_time: %f eclipse: %d period: %f temp: %f max: %f min: %f\n", batt, speed, eclipse_time, eclipse, period, tempS, temp_max, temp_min); time_start = millis(); From 5f5743e08716afae973774b742f23bfd413f5ddb Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 16:01:36 -0500 Subject: [PATCH 063/165] added back in random temp reading --- afsk/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 3eee07c1..e084932e 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1065,8 +1065,8 @@ if (firstTime != ON) printf("temp: %f Time: %f Eclipse: %d : %f %f | %f %f | %f %f\n",tempS, time, eclipse, voltage[map[PLUS_X]], voltage[map[MINUS_X]], voltage[map[PLUS_Y]], voltage[map[MINUS_Y]], current[map[PLUS_Z]], current[map[MINUS_Z]]); - tempS += (eclipse > 0) ? ((temp_max - tempS)/500.0): ((temp_min - tempS)/500.0); - IHUcpuTemp = (int)(tempS * 10 + 0.5); + tempS += (eclipse > 0) ? ((temp_max - tempS)/50.0): ((temp_min - tempS)/50.0); + IHUcpuTemp = (int)((tempS + rnd_float(-1.0, 1.0)) * 10 + 0.5); printf("IHUcpuTemp: %d \n", IHUcpuTemp); From 0190540dc68c724b1f2076eabd0c4820ac0da988 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 16:53:00 -0500 Subject: [PATCH 064/165] fixed eclipse timing and charging simplified --- afsk/main.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index e084932e..e174ba6e 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -436,6 +436,9 @@ printf("batt: %f speed: %f eclipse_time: %f eclipse: %d period: %f temp: %f max: time_start = millis(); + double eclipse_start = time; + if (eclipse == 0) + eclipse_start -= period/2; // if starting in eclipse, shorten interval int ret; //uint8_t data[1024]; @@ -1028,8 +1031,11 @@ if (firstTime != ON) double time = (millis() - time_start)/1000.0; - if ((int)time % (int)eclipse_time == 0) + if ((time - eclipse_start) > period) + { eclipse = (eclipse == 1) ? 0 : 1; + eclipse_start = time; + } // double Xi = 10.0 * sin(1.37) * sin(2.0 * 3.14 * time / (46.0 * 2)) + rnd_float(-1, 1); // double Yi = 8.5 * sin(1.37) * sin((2.0 * 3.14 * time / (46.0 * 2)) + (3.14/2.0)) + rnd_float(-1, 1); @@ -1073,7 +1079,8 @@ if (firstTime != ON) voltage[map[BUS]] = rnd_float(4.99, 5.01); current[map[BUS]] = rnd_float(158, 171); - float charging = current[map[PLUS_X]] + current[map[MINUS_X]] + current[map[PLUS_Y]] + current[map[MINUS_Y]] + current[map[PLUS_Z]] + current[map[MINUS_Z]]; +// float charging = current[map[PLUS_X]] + current[map[MINUS_X]] + current[map[PLUS_Y]] + current[map[MINUS_Y]] + current[map[PLUS_Z]] + current[map[MINUS_Z]]; + float charging = eclipse * (amps_max[0] * .707 + amps_max[1] * 0.707 + rnd_float(-4.0, 4.0)); current[map[BAT]] = current[map[BUS]] - charging; batt -= (batt > 3.5) ? current[map[BAT]]/20000: current[map[BAT]]/2000; voltage[map[BAT]] = batt + rnd_float(-0.01, 0.01); From c7fecd956c95b1cdf6f6153239fe526f50492f6e Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 16:55:34 -0500 Subject: [PATCH 065/165] typo in time --- afsk/main.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index e174ba6e..2b95ce9e 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -423,7 +423,7 @@ amps_max[2] = 180.0 * (float) cos(angle[1] - angle[0]); batt = rnd_float(3.5, 4.3); speed = rnd_float(1.0, 2.5); -eclipse_time = rnd_float(0, 300); +//eclipse_time = rnd_float(0, 300); eclipse = (rnd_float(-1, +4) > 0) ? 1 : 0; period = rnd_float(150, 300); tempS = rnd_float(20, 55); @@ -436,9 +436,9 @@ printf("batt: %f speed: %f eclipse_time: %f eclipse: %d period: %f temp: %f max: time_start = millis(); - double eclipse_start = time; + eclipse_time = time; if (eclipse == 0) - eclipse_start -= period/2; // if starting in eclipse, shorten interval + eclipse_time -= period/2; // if starting in eclipse, shorten interval int ret; //uint8_t data[1024]; @@ -1031,10 +1031,10 @@ if (firstTime != ON) double time = (millis() - time_start)/1000.0; - if ((time - eclipse_start) > period) + if ((time - eclipse_time) > period) { eclipse = (eclipse == 1) ? 0 : 1; - eclipse_start = time; + eclipse_time = time; } // double Xi = 10.0 * sin(1.37) * sin(2.0 * 3.14 * time / (46.0 * 2)) + rnd_float(-1, 1); From bcb87788dcc6940a042d7d1d425482c29ea83be1 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 16:59:34 -0500 Subject: [PATCH 066/165] types --- afsk/main.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 2b95ce9e..80f68229 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -124,8 +124,9 @@ float batteryThreshold = 3.0, batteryVoltage; float latitude = 39.027702, longitude = -77.078064; float lat_file, long_file; -float axis[3], angle[3], volts_max[3], amps_max[3], batt, speed, eclipse_time, period, tempS, temp_max, temp_min; +float axis[3], angle[3], volts_max[3], amps_max[3], batt, speed, period, tempS, temp_max, temp_min; int eclipse; +double eclipse_time; int test_i2c_bus(int bus); @@ -436,7 +437,7 @@ printf("batt: %f speed: %f eclipse_time: %f eclipse: %d period: %f temp: %f max: time_start = millis(); - eclipse_time = time; + eclipse_time = time(); if (eclipse == 0) eclipse_time -= period/2; // if starting in eclipse, shorten interval From 86bfbd01a4c40d29ce347de38b4ac6379f5744c6 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 17:00:53 -0500 Subject: [PATCH 067/165] time() typo --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 80f68229..395bb9bf 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -437,7 +437,7 @@ printf("batt: %f speed: %f eclipse_time: %f eclipse: %d period: %f temp: %f max: time_start = millis(); - eclipse_time = time(); + eclipse_time = time(0); if (eclipse == 0) eclipse_time -= period/2; // if starting in eclipse, shorten interval From ef3122248cf797c5cecedd7c6a66bdbcd0874af7 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 17:11:01 -0500 Subject: [PATCH 068/165] Update main.c --- afsk/main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/afsk/main.c b/afsk/main.c index 395bb9bf..e0f12a78 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1036,6 +1036,7 @@ if (firstTime != ON) { eclipse = (eclipse == 1) ? 0 : 1; eclipse_time = time; + printf("\n\nSwitching eclipse mode! \n\n"); } // double Xi = 10.0 * sin(1.37) * sin(2.0 * 3.14 * time / (46.0 * 2)) + rnd_float(-1, 1); From 20f8ad4ab6bfd1dcb08bfd71ed582e65dfd10087 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 17:19:03 -0500 Subject: [PATCH 069/165] fixed eclipse_time --- afsk/main.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index e0f12a78..e90e64ba 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -437,7 +437,7 @@ printf("batt: %f speed: %f eclipse_time: %f eclipse: %d period: %f temp: %f max: time_start = millis(); - eclipse_time = time(0); + eclipse_time = millis()/1000.0; if (eclipse == 0) eclipse_time -= period/2; // if starting in eclipse, shorten interval @@ -1031,6 +1031,8 @@ if (firstTime != ON) // simulated telemetry double time = (millis() - time_start)/1000.0; + + printf("Eclipse time left: %d \n", period - time + eclipse_time; if ((time - eclipse_time) > period) { From cfd56bb49c82e25e05456a24056acf8cff0ed2c2 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 17:20:14 -0500 Subject: [PATCH 070/165] Update main.c --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index e90e64ba..f2fcae66 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1032,7 +1032,7 @@ if (firstTime != ON) double time = (millis() - time_start)/1000.0; - printf("Eclipse time left: %d \n", period - time + eclipse_time; + printf("Eclipse time left: %d \n", period - time + eclipse_time); if ((time - eclipse_time) > period) { From b5042f0106d3909ba16199310dedeb36b75f0ffb Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 17:27:07 -0500 Subject: [PATCH 071/165] put randomness back in currents --- afsk/main.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index f2fcae66..77f5890b 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -402,8 +402,10 @@ else srand(time(0)); -axis[0] = 0.001; // rnd_float(-0.2, 0.2); -axis[1] = 0.001; // rnd_float(-0.2, 0.2); +axis[0] = rnd_float(-0.2, 0.2); +if (axis[0] == 0) + axis[0] = rnd_float(-0.2, 0.2); +axis[1] = rnd_float(-0.2, 0.2); axis[2] = (rnd_float(-0.2, 0.2) > 0) ? 1.0: -1.0; angle[0] = (float) atan(axis[1] / axis[2]); @@ -413,14 +415,10 @@ angle[2] = (float) atan(axis[1] / axis[0]); volts_max[0] = rnd_float(4.5, 5.5) * (float) sin(angle[1]); volts_max[1] = rnd_float(4.5, 5.5) * (float) cos(angle[0]); volts_max[2] = rnd_float(4.5, 5.5) * (float) cos(angle[1] - angle[0]); -/* + amps_max[0] = rnd_float(140.0, 190.0) * (float) sin(angle[1]); amps_max[1] = rnd_float(140.0, 190.0) * (float) cos(angle[0]); amps_max[2] = rnd_float(140.0, 190.0) * (float) cos(angle[1] - angle[0]); -*/ -amps_max[0] = 180.0 * (float) sin(angle[1]); -amps_max[1] = 180.0 * (float) cos(angle[0]); -amps_max[2] = 180.0 * (float) cos(angle[1] - angle[0]); batt = rnd_float(3.5, 4.3); speed = rnd_float(1.0, 2.5); From f122c5b8ecf40be2d5c81454c88fc099c326914a Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 17:38:18 -0500 Subject: [PATCH 072/165] scaled up battery current --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 77f5890b..be87a5a9 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1083,7 +1083,7 @@ if (firstTime != ON) // float charging = current[map[PLUS_X]] + current[map[MINUS_X]] + current[map[PLUS_Y]] + current[map[MINUS_Y]] + current[map[PLUS_Z]] + current[map[MINUS_Z]]; float charging = eclipse * (amps_max[0] * .707 + amps_max[1] * 0.707 + rnd_float(-4.0, 4.0)); - current[map[BAT]] = current[map[BUS]] - charging; + current[map[BAT]] = current[map[BUS]] * voltage[map[BUS]] / (voltage[map[BAT]] * 0.95) - charging; batt -= (batt > 3.5) ? current[map[BAT]]/20000: current[map[BAT]]/2000; voltage[map[BAT]] = batt + rnd_float(-0.01, 0.01); From b9b6af7db04f53e589d78897fdeabb166f536d3a Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 17:42:33 -0500 Subject: [PATCH 073/165] added limits of 3 to 4.5V for batt --- afsk/main.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/afsk/main.c b/afsk/main.c index be87a5a9..c5509f5d 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1085,6 +1085,11 @@ if (firstTime != ON) float charging = eclipse * (amps_max[0] * .707 + amps_max[1] * 0.707 + rnd_float(-4.0, 4.0)); current[map[BAT]] = current[map[BUS]] * voltage[map[BUS]] / (voltage[map[BAT]] * 0.95) - charging; batt -= (batt > 3.5) ? current[map[BAT]]/20000: current[map[BAT]]/2000; + if (batt < 3.0) + batt = 3.0; + if (batt > 4.5) + batt = 4.5; + voltage[map[BAT]] = batt + rnd_float(-0.01, 0.01); // end of simulated telemetry From 46e001acc4b517af61e179db76dc8ed7f656956d Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 17:43:40 -0500 Subject: [PATCH 074/165] Update main.c --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index c5509f5d..da8bd355 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1083,7 +1083,7 @@ if (firstTime != ON) // float charging = current[map[PLUS_X]] + current[map[MINUS_X]] + current[map[PLUS_Y]] + current[map[MINUS_Y]] + current[map[PLUS_Z]] + current[map[MINUS_Z]]; float charging = eclipse * (amps_max[0] * .707 + amps_max[1] * 0.707 + rnd_float(-4.0, 4.0)); - current[map[BAT]] = current[map[BUS]] * voltage[map[BUS]] / (voltage[map[BAT]] * 0.95) - charging; + current[map[BAT]] = (current[map[BUS]] * voltage[map[BUS]] / (voltage[map[BAT]] * 0.95)) - charging; batt -= (batt > 3.5) ? current[map[BAT]]/20000: current[map[BAT]]/2000; if (batt < 3.0) batt = 3.0; From 87710596b314d7c5f69ec62a17c2256560ee792c Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 17:46:43 -0500 Subject: [PATCH 075/165] Update main.c --- afsk/main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index da8bd355..812f97ed 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1082,7 +1082,8 @@ if (firstTime != ON) current[map[BUS]] = rnd_float(158, 171); // float charging = current[map[PLUS_X]] + current[map[MINUS_X]] + current[map[PLUS_Y]] + current[map[MINUS_Y]] + current[map[PLUS_Z]] + current[map[MINUS_Z]]; - float charging = eclipse * (amps_max[0] * .707 + amps_max[1] * 0.707 + rnd_float(-4.0, 4.0)); + float charging = eclipse * ((amps_max[0] * 0.707) + (amps_max[1] * 0.707) + rnd_float(-4.0, 4.0)); + printf("Charging: %f \n", charging); current[map[BAT]] = (current[map[BUS]] * voltage[map[BUS]] / (voltage[map[BAT]] * 0.95)) - charging; batt -= (batt > 3.5) ? current[map[BAT]]/20000: current[map[BAT]]/2000; if (batt < 3.0) From bf2120736b66a164dc73be6b74f7b0478e564fe0 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 8 Dec 2020 17:48:38 -0500 Subject: [PATCH 076/165] added fabs for charging --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 812f97ed..61a5e487 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1082,7 +1082,7 @@ if (firstTime != ON) current[map[BUS]] = rnd_float(158, 171); // float charging = current[map[PLUS_X]] + current[map[MINUS_X]] + current[map[PLUS_Y]] + current[map[MINUS_Y]] + current[map[PLUS_Z]] + current[map[MINUS_Z]]; - float charging = eclipse * ((amps_max[0] * 0.707) + (amps_max[1] * 0.707) + rnd_float(-4.0, 4.0)); + float charging = eclipse * (fabs(amps_max[0] * 0.707) + fabs(amps_max[1] * 0.707) + rnd_float(-4.0, 4.0)); printf("Charging: %f \n", charging); current[map[BAT]] = (current[map[BUS]] * voltage[map[BUS]] / (voltage[map[BAT]] * 0.95)) - charging; batt -= (batt > 3.5) ? current[map[BAT]]/20000: current[map[BAT]]/2000; From bca12b971d96eff19e844b9b024465b3d5efd548 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 08:36:53 -0500 Subject: [PATCH 077/165] reduced battery discharge rate by 2 --- afsk/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 61a5e487..b4b02ff7 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1078,14 +1078,14 @@ if (firstTime != ON) printf("IHUcpuTemp: %d \n", IHUcpuTemp); - voltage[map[BUS]] = rnd_float(4.99, 5.01); + voltage[map[BUS]] = rnd_float(4.995, 5.005); current[map[BUS]] = rnd_float(158, 171); // float charging = current[map[PLUS_X]] + current[map[MINUS_X]] + current[map[PLUS_Y]] + current[map[MINUS_Y]] + current[map[PLUS_Z]] + current[map[MINUS_Z]]; float charging = eclipse * (fabs(amps_max[0] * 0.707) + fabs(amps_max[1] * 0.707) + rnd_float(-4.0, 4.0)); printf("Charging: %f \n", charging); current[map[BAT]] = (current[map[BUS]] * voltage[map[BUS]] / (voltage[map[BAT]] * 0.95)) - charging; - batt -= (batt > 3.5) ? current[map[BAT]]/20000: current[map[BAT]]/2000; + batt -= (batt > 3.5) ? current[map[BAT]]/40000: current[map[BAT]]/4000; if (batt < 3.0) batt = 3.0; if (batt > 4.5) From 9803b26f934bddd8863c71f092b8fff4864178da Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 08:40:49 -0500 Subject: [PATCH 078/165] increased battery initial voltage limit from 3.5 to 3.9 --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index b4b02ff7..940e29b5 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -420,7 +420,7 @@ amps_max[0] = rnd_float(140.0, 190.0) * (float) sin(angle[1]); amps_max[1] = rnd_float(140.0, 190.0) * (float) cos(angle[0]); amps_max[2] = rnd_float(140.0, 190.0) * (float) cos(angle[1] - angle[0]); -batt = rnd_float(3.5, 4.3); +batt = rnd_float(3.9, 4.3); speed = rnd_float(1.0, 2.5); //eclipse_time = rnd_float(0, 300); eclipse = (rnd_float(-1, +4) > 0) ? 1 : 0; From 8e03232946b6498fb92d12f16d0efd3736750da5 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 08:53:55 -0500 Subject: [PATCH 079/165] increase battery discharge --- afsk/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 940e29b5..680f19fe 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -420,7 +420,7 @@ amps_max[0] = rnd_float(140.0, 190.0) * (float) sin(angle[1]); amps_max[1] = rnd_float(140.0, 190.0) * (float) cos(angle[0]); amps_max[2] = rnd_float(140.0, 190.0) * (float) cos(angle[1] - angle[0]); -batt = rnd_float(3.9, 4.3); +batt = rnd_float(3.8, 4.3); speed = rnd_float(1.0, 2.5); //eclipse_time = rnd_float(0, 300); eclipse = (rnd_float(-1, +4) > 0) ? 1 : 0; @@ -1085,7 +1085,7 @@ if (firstTime != ON) float charging = eclipse * (fabs(amps_max[0] * 0.707) + fabs(amps_max[1] * 0.707) + rnd_float(-4.0, 4.0)); printf("Charging: %f \n", charging); current[map[BAT]] = (current[map[BUS]] * voltage[map[BUS]] / (voltage[map[BAT]] * 0.95)) - charging; - batt -= (batt > 3.5) ? current[map[BAT]]/40000: current[map[BAT]]/4000; + batt -= (batt > 3.5) ? current[map[BAT]]/30000: current[map[BAT]]/3000; if (batt < 3.0) batt = 3.0; if (batt > 4.5) From 0e4385c073579b8836e31973e94e9891b74dc125 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 09:02:23 -0500 Subject: [PATCH 080/165] Removed .95 in charging current --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 680f19fe..954e4415 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1084,7 +1084,7 @@ if (firstTime != ON) // float charging = current[map[PLUS_X]] + current[map[MINUS_X]] + current[map[PLUS_Y]] + current[map[MINUS_Y]] + current[map[PLUS_Z]] + current[map[MINUS_Z]]; float charging = eclipse * (fabs(amps_max[0] * 0.707) + fabs(amps_max[1] * 0.707) + rnd_float(-4.0, 4.0)); printf("Charging: %f \n", charging); - current[map[BAT]] = (current[map[BUS]] * voltage[map[BUS]] / (voltage[map[BAT]] * 0.95)) - charging; + current[map[BAT]] = (current[map[BUS]] * voltage[map[BUS]] / (voltage[map[BAT]] * 1.0)) - charging; batt -= (batt > 3.5) ? current[map[BAT]]/30000: current[map[BAT]]/3000; if (batt < 3.0) batt = 3.0; From cd3a72f206f53dcfe4a04b0fd8a523aa50a1a7ed Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 09:19:34 -0500 Subject: [PATCH 081/165] fixing battery current --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 954e4415..302170f2 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1084,7 +1084,7 @@ if (firstTime != ON) // float charging = current[map[PLUS_X]] + current[map[MINUS_X]] + current[map[PLUS_Y]] + current[map[MINUS_Y]] + current[map[PLUS_Z]] + current[map[MINUS_Z]]; float charging = eclipse * (fabs(amps_max[0] * 0.707) + fabs(amps_max[1] * 0.707) + rnd_float(-4.0, 4.0)); printf("Charging: %f \n", charging); - current[map[BAT]] = (current[map[BUS]] * voltage[map[BUS]] / (voltage[map[BAT]] * 1.0)) - charging; + current[map[BAT]] = ((current[map[BUS]] * voltage[map[BUS]]) / (voltage[map[BAT]] * 1.0)) - charging; batt -= (batt > 3.5) ? current[map[BAT]]/30000: current[map[BAT]]/3000; if (batt < 3.0) batt = 3.0; From 19aa4f4d7b987d35d7f6ecf0608c1d96946d1aa7 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 09:23:47 -0500 Subject: [PATCH 082/165] debugging charging --- afsk/main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/afsk/main.c b/afsk/main.c index 302170f2..d0134aa6 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1085,6 +1085,9 @@ if (firstTime != ON) float charging = eclipse * (fabs(amps_max[0] * 0.707) + fabs(amps_max[1] * 0.707) + rnd_float(-4.0, 4.0)); printf("Charging: %f \n", charging); current[map[BAT]] = ((current[map[BUS]] * voltage[map[BUS]]) / (voltage[map[BAT]] * 1.0)) - charging; + + printf("charging: %f bat curr: %f bus curr: %f bat volt: %f bus volt: %f \n",charging, current[map[BAT]], current[map[BUS]], voltage[map[BAT]], voltage[map[BUS]]); + batt -= (batt > 3.5) ? current[map[BAT]]/30000: current[map[BAT]]/3000; if (batt < 3.0) batt = 3.0; From 1383cd69ee65eb0d343cac9f30980b96ce453639 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 09:27:06 -0500 Subject: [PATCH 083/165] used batt in charging calc --- afsk/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index d0134aa6..a6da8c19 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1084,9 +1084,9 @@ if (firstTime != ON) // float charging = current[map[PLUS_X]] + current[map[MINUS_X]] + current[map[PLUS_Y]] + current[map[MINUS_Y]] + current[map[PLUS_Z]] + current[map[MINUS_Z]]; float charging = eclipse * (fabs(amps_max[0] * 0.707) + fabs(amps_max[1] * 0.707) + rnd_float(-4.0, 4.0)); printf("Charging: %f \n", charging); - current[map[BAT]] = ((current[map[BUS]] * voltage[map[BUS]]) / (voltage[map[BAT]] * 1.0)) - charging; + current[map[BAT]] = ((current[map[BUS]] * voltage[map[BUS]]) / (batt * 1.0)) - charging; - printf("charging: %f bat curr: %f bus curr: %f bat volt: %f bus volt: %f \n",charging, current[map[BAT]], current[map[BUS]], voltage[map[BAT]], voltage[map[BUS]]); + printf("charging: %f bat curr: %f bus curr: %f bat volt: %f bus volt: %f \n",charging, current[map[BAT]], current[map[BUS]], batt, voltage[map[BUS]]); batt -= (batt > 3.5) ? current[map[BAT]]/30000: current[map[BAT]]/3000; if (batt < 3.0) From 8611f118461ccf285e3ca189874e295a23aee1ad Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 09:29:44 -0500 Subject: [PATCH 084/165] increased lower limit for bus voltage --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index a6da8c19..2972ab10 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1078,7 +1078,7 @@ if (firstTime != ON) printf("IHUcpuTemp: %d \n", IHUcpuTemp); - voltage[map[BUS]] = rnd_float(4.995, 5.005); + voltage[map[BUS]] = rnd_float(5.0, 5.005); current[map[BUS]] = rnd_float(158, 171); // float charging = current[map[PLUS_X]] + current[map[MINUS_X]] + current[map[PLUS_Y]] + current[map[MINUS_Y]] + current[map[PLUS_Z]] + current[map[MINUS_Z]]; From 7c18d2017cc3642b96ecf0ee04fd51381440c654 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 09:43:53 -0500 Subject: [PATCH 085/165] added average amps with +/- 25 for each panel --- afsk/main.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 2972ab10..236415fa 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -415,10 +415,12 @@ angle[2] = (float) atan(axis[1] / axis[0]); volts_max[0] = rnd_float(4.5, 5.5) * (float) sin(angle[1]); volts_max[1] = rnd_float(4.5, 5.5) * (float) cos(angle[0]); volts_max[2] = rnd_float(4.5, 5.5) * (float) cos(angle[1] - angle[0]); + +float amps_avg = rnd_float (180, 280); -amps_max[0] = rnd_float(140.0, 190.0) * (float) sin(angle[1]); -amps_max[1] = rnd_float(140.0, 190.0) * (float) cos(angle[0]); -amps_max[2] = rnd_float(140.0, 190.0) * (float) cos(angle[1] - angle[0]); +amps_max[0] = (amps_avg + rnd_float(-25.0, 25.0)) * (float) sin(angle[1]); +amps_max[1] = (amps_avg + rnd_float(-25.0, 25.0)) * (float) cos(angle[0]); +amps_max[2] = (amps_avg + rnd_float(-25.0, 25.0)) * (float) cos(angle[1] - angle[0]); batt = rnd_float(3.8, 4.3); speed = rnd_float(1.0, 2.5); From b2c78e14e87ef1d26d451d3f58be588449de7353 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 10:13:50 -0500 Subject: [PATCH 086/165] increased current to 220 to 300 mA --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 236415fa..c0a6a937 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -416,7 +416,7 @@ volts_max[0] = rnd_float(4.5, 5.5) * (float) sin(angle[1]); volts_max[1] = rnd_float(4.5, 5.5) * (float) cos(angle[0]); volts_max[2] = rnd_float(4.5, 5.5) * (float) cos(angle[1] - angle[0]); -float amps_avg = rnd_float (180, 280); +float amps_avg = rnd_float (220, 300); amps_max[0] = (amps_avg + rnd_float(-25.0, 25.0)) * (float) sin(angle[1]); amps_max[1] = (amps_avg + rnd_float(-25.0, 25.0)) * (float) cos(angle[0]); From 5e3612e569f4b0ec95080130f7521af35fc04c5a Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 10:34:02 -0500 Subject: [PATCH 087/165] changed range to 150 to 300 mA --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index c0a6a937..17bef01d 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -416,7 +416,7 @@ volts_max[0] = rnd_float(4.5, 5.5) * (float) sin(angle[1]); volts_max[1] = rnd_float(4.5, 5.5) * (float) cos(angle[0]); volts_max[2] = rnd_float(4.5, 5.5) * (float) cos(angle[1] - angle[0]); -float amps_avg = rnd_float (220, 300); +float amps_avg = rnd_float (150, 300); amps_max[0] = (amps_avg + rnd_float(-25.0, 25.0)) * (float) sin(angle[1]); amps_max[1] = (amps_avg + rnd_float(-25.0, 25.0)) * (float) cos(angle[0]); From a82fd8f5bed3c058d3deec5497971949e09fd1f7 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 10:52:16 -0500 Subject: [PATCH 088/165] added sim_mode variable, set when i2c bus 1 and 3 are off --- afsk/main.c | 43 +++++++++++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 16 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 17bef01d..0571824e 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -125,7 +125,7 @@ float latitude = 39.027702, longitude = -77.078064; float lat_file, long_file; float axis[3], angle[3], volts_max[3], amps_max[3], batt, speed, period, tempS, temp_max, temp_min; -int eclipse; +int eclipse, i2c_bus0 = OFF, i2c_bus1 = OFF, i2c_bus3 = OFF, sim_mode = FALSE; double eclipse_time; int test_i2c_bus(int bus); @@ -399,7 +399,21 @@ else fprintf (stderr, "Unable to open UART: %s\n", strerror (errno)) ; } } + +// test i2c buses + +i2c_bus0 = (test_i2c_bus(0) != -1) ? ON: OFF; +i2c_bus1 = (test_i2c_bus(1) != -1) ? ON: OFF; +i2c_bus3 = (test_i2c_bus(3) != -1) ? ON: OFF; + +if ((i2c_bus1 == OFF) && (i2c_bus3 == OFF)) + sim_mode = TRUE; + +if (sim_mode) +{ +printf("Simulated telemetry mode!\n"); + srand(time(0)); axis[0] = rnd_float(-0.2, 0.2); @@ -424,22 +438,24 @@ amps_max[2] = (amps_avg + rnd_float(-25.0, 25.0)) * (float) cos(angle[1] - angle batt = rnd_float(3.8, 4.3); speed = rnd_float(1.0, 2.5); -//eclipse_time = rnd_float(0, 300); eclipse = (rnd_float(-1, +4) > 0) ? 1 : 0; period = rnd_float(150, 300); tempS = rnd_float(20, 55); temp_max = rnd_float(50, 70); temp_min = rnd_float(10,20); - + +#ifdef DEBUG_LOGGING for(int i=0; i < 3; i++) printf("axis: %f angle: %f v: %f i: %f \n",axis[i], angle[i], volts_max[i], amps_max[i]); printf("batt: %f speed: %f eclipse_time: %f eclipse: %d period: %f temp: %f max: %f min: %f\n", batt, speed, eclipse_time, eclipse, period, tempS, temp_max, temp_min); +#endif time_start = millis(); eclipse_time = millis()/1000.0; if (eclipse == 0) eclipse_time -= period/2; // if starting in eclipse, shorten interval +} int ret; //uint8_t data[1024]; @@ -1028,12 +1044,12 @@ if (firstTime != ON) } fclose(cpuTempSensor); +if (sim_mode) +{ // simulated telemetry double time = (millis() - time_start)/1000.0; - printf("Eclipse time left: %d \n", period - time + eclipse_time); - if ((time - eclipse_time) > period) { eclipse = (eclipse == 1) ? 0 : 1; @@ -1041,9 +1057,6 @@ if (firstTime != ON) printf("\n\nSwitching eclipse mode! \n\n"); } -// double Xi = 10.0 * sin(1.37) * sin(2.0 * 3.14 * time / (46.0 * 2)) + rnd_float(-1, 1); -// double Yi = 8.5 * sin(1.37) * sin((2.0 * 3.14 * time / (46.0 * 2)) + (3.14/2.0)) + rnd_float(-1, 1); -// double Zi = 9.0 * cos(1.37 - 0.2) * sin((2.0 * 3.14 * time / (46.0 * 2)) + 3.14 + 0.785) + rnd_float(-1, 1); /* double Xi = eclipse * amps_max[0] * sin(2.0 * 3.14 * time / (46.0 * speed)) * fabs(sin(2.0 * 3.14 * time / (46.0 * speed))) + rnd_float(-2, 2); double Yi = eclipse * amps_max[1] * sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0)) * fabs(sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0))) + rnd_float(-2, 2); @@ -1057,9 +1070,9 @@ if (firstTime != ON) double Yv = eclipse * volts_max[1] * sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0)) + rnd_float(-0.2, 0.2); double Zv = 2.0 * eclipse * volts_max[2] * sin((2.0 * 3.14 * time / (46.0 * speed)) + 3.14 + angle[2]) + rnd_float(-0.2, 0.2); - printf("Yi: %f Zi: %f %f %f Zv: %f \n", Yi, Zi, amps_max[2], angle[2], Zv); + // printf("Yi: %f Zi: %f %f %f Zv: %f \n", Yi, Zi, amps_max[2], angle[2], Zv); - current[map[PLUS_X]] = ( Xi >= 0) ? Xi: 0; + current[map[PLUS_X]] = ( Xi >= 0) ? Xi: 0; current[map[MINUS_X]] = ( Xi >= 0) ? 0: ((-1.0) * Xi); current[map[PLUS_Y]] = ( Yi >= 0) ? Yi: 0; current[map[MINUS_Y]] = ( Yi >= 0) ? 0: ((-1.0) * Yi); @@ -1073,22 +1086,20 @@ if (firstTime != ON) voltage[map[PLUS_Z]] = ( Zv >= 1) ? Zv: rnd_float(0.9, 1.1); voltage[map[MINUS_Z]] = ( Zv <= -1) ? ((-1.0) * Zv): rnd_float(0.9, 1.1); - printf("temp: %f Time: %f Eclipse: %d : %f %f | %f %f | %f %f\n",tempS, time, eclipse, voltage[map[PLUS_X]], voltage[map[MINUS_X]], voltage[map[PLUS_Y]], voltage[map[MINUS_Y]], current[map[PLUS_Z]], current[map[MINUS_Z]]); + // printf("temp: %f Time: %f Eclipse: %d : %f %f | %f %f | %f %f\n",tempS, time, eclipse, voltage[map[PLUS_X]], voltage[map[MINUS_X]], voltage[map[PLUS_Y]], voltage[map[MINUS_Y]], current[map[PLUS_Z]], current[map[MINUS_Z]]); tempS += (eclipse > 0) ? ((temp_max - tempS)/50.0): ((temp_min - tempS)/50.0); IHUcpuTemp = (int)((tempS + rnd_float(-1.0, 1.0)) * 10 + 0.5); - printf("IHUcpuTemp: %d \n", IHUcpuTemp); - voltage[map[BUS]] = rnd_float(5.0, 5.005); current[map[BUS]] = rnd_float(158, 171); // float charging = current[map[PLUS_X]] + current[map[MINUS_X]] + current[map[PLUS_Y]] + current[map[MINUS_Y]] + current[map[PLUS_Z]] + current[map[MINUS_Z]]; float charging = eclipse * (fabs(amps_max[0] * 0.707) + fabs(amps_max[1] * 0.707) + rnd_float(-4.0, 4.0)); - printf("Charging: %f \n", charging); + current[map[BAT]] = ((current[map[BUS]] * voltage[map[BUS]]) / (batt * 1.0)) - charging; - printf("charging: %f bat curr: %f bus curr: %f bat volt: %f bus volt: %f \n",charging, current[map[BAT]], current[map[BUS]], batt, voltage[map[BUS]]); +// printf("charging: %f bat curr: %f bus curr: %f bat volt: %f bus volt: %f \n",charging, current[map[BAT]], current[map[BUS]], batt, voltage[map[BUS]]); batt -= (batt > 3.5) ? current[map[BAT]]/30000: current[map[BAT]]/3000; if (batt < 3.0) @@ -1099,6 +1110,7 @@ if (firstTime != ON) voltage[map[BAT]] = batt + rnd_float(-0.01, 0.01); // end of simulated telemetry +} memset(rs_frame,0,sizeof(rs_frame)); memset(parities,0,sizeof(parities)); @@ -1145,7 +1157,6 @@ if (firstTime != ON) negZv = (int)(voltage[map[MINUS_Z]] * 100); batt_c_v = (int)(voltage[map[BAT]] * 100); -// batt_c_v = (int)(batt * 100); battCurr = (int)(current[map[BAT]] + 0.5) + 2048; PSUVoltage = (int)(voltage[map[BUS]] * 100); From cc2a1fbfe2599a2c8a771b636113b267c7fe5cea Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 11:02:08 -0500 Subject: [PATCH 089/165] added i2c bus status debug printf --- afsk/main.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 0571824e..3e2535e0 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -404,7 +404,11 @@ else i2c_bus0 = (test_i2c_bus(0) != -1) ? ON: OFF; i2c_bus1 = (test_i2c_bus(1) != -1) ? ON: OFF; -i2c_bus3 = (test_i2c_bus(3) != -1) ? ON: OFF; +i2c_bus3 = (test_i2c_bus(3) != -1) ? ON: OFF; + +#ifdef DEBUG_LOGGING +printf("INFO: I2C bus status 0: %d 1: %d 3: %d \n",i2c_bus0, i2c_bus1, i2c_bus3); +#endif if ((i2c_bus1 == OFF) && (i2c_bus3 == OFF)) sim_mode = TRUE; From 5d1c7f66443687e140f79bb3de2b752151c683ef Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 11:04:27 -0500 Subject: [PATCH 090/165] removed printfs --- afsk/main.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 3e2535e0..95572a76 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1142,9 +1142,7 @@ if (sim_mode) if (mode == BPSK) h[6] = 99; - - printf("Pzi: %f \n",current[map[PLUS_Z]]); - + posXi = (int)(current[map[PLUS_X]] + 0.5) + 2048; posYi = (int)(current[map[PLUS_Y]] + 0.5) + 2048; posZi = (int)(current[map[PLUS_Z]] + 0.5) + 2048; @@ -1168,8 +1166,6 @@ if (sim_mode) if (payload == ON) STEMBoardFailure = 0; - printf("PosZi: %d \n", posZi); - // if (payload == ON) // STEMBoardFailure = 0; From 00d74b8e4359bd84070bfb6437590ddf3dd879a9 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 11:17:39 -0500 Subject: [PATCH 091/165] added i2c bus status in telemetry --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 95572a76..4828f894 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1316,7 +1316,7 @@ if (payload == ON) encodeA(b, 48 + head_offset, sensor2); encodeB(b, 49 + head_offset, sensor3); - encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + groundCommandCount * 256); + encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == ON) * 16 + (i2c_bus1 == ON) * 32 + (i2c_bus3 == ON) * 64 + groundCommandCount * 256); encodeB(b, 52 + head_offset, rxAntennaDeployed + txAntennaDeployed* 2); short int data10[headerLen + rsFrames * (rsFrameLen + parityLen)]; From 9afe0f805738a4e2100eeb13f469c2430084fa47 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 11:20:49 -0500 Subject: [PATCH 092/165] changed i2c bus on to off, testing --- afsk/main.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 4828f894..a7487bae 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -405,6 +405,9 @@ else i2c_bus0 = (test_i2c_bus(0) != -1) ? ON: OFF; i2c_bus1 = (test_i2c_bus(1) != -1) ? ON: OFF; i2c_bus3 = (test_i2c_bus(3) != -1) ? ON: OFF; + +i2c_bus1 = ON; // testing +i2c_bus3 = ON; #ifdef DEBUG_LOGGING printf("INFO: I2C bus status 0: %d 1: %d 3: %d \n",i2c_bus0, i2c_bus1, i2c_bus3); @@ -1316,7 +1319,7 @@ if (payload == ON) encodeA(b, 48 + head_offset, sensor2); encodeB(b, 49 + head_offset, sensor3); - encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == ON) * 16 + (i2c_bus1 == ON) * 32 + (i2c_bus3 == ON) * 64 + groundCommandCount * 256); + encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + groundCommandCount * 256); encodeB(b, 52 + head_offset, rxAntennaDeployed + txAntennaDeployed* 2); short int data10[headerLen + rsFrames * (rsFrameLen + parityLen)]; From 138c41f590577e8b0546780f06f3b9ae33f304ba Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 11:23:28 -0500 Subject: [PATCH 093/165] added camera to telem --- afsk/main.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index a7487bae..b85a5a33 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -125,7 +125,7 @@ float latitude = 39.027702, longitude = -77.078064; float lat_file, long_file; float axis[3], angle[3], volts_max[3], amps_max[3], batt, speed, period, tempS, temp_max, temp_min; -int eclipse, i2c_bus0 = OFF, i2c_bus1 = OFF, i2c_bus3 = OFF, sim_mode = FALSE; +int eclipse, i2c_bus0 = OFF, i2c_bus1 = OFF, i2c_bus3 = OFF, camera = OFF, sim_mode = FALSE; double eclipse_time; int test_i2c_bus(int bus); @@ -405,9 +405,6 @@ else i2c_bus0 = (test_i2c_bus(0) != -1) ? ON: OFF; i2c_bus1 = (test_i2c_bus(1) != -1) ? ON: OFF; i2c_bus3 = (test_i2c_bus(3) != -1) ? ON: OFF; - -i2c_bus1 = ON; // testing -i2c_bus3 = ON; #ifdef DEBUG_LOGGING printf("INFO: I2C bus status 0: %d 1: %d 3: %d \n",i2c_bus0, i2c_bus1, i2c_bus3); @@ -1319,7 +1316,7 @@ if (payload == ON) encodeA(b, 48 + head_offset, sensor2); encodeB(b, 49 + head_offset, sensor3); - encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + groundCommandCount * 256); + encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (camera == OFF) * 128 + groundCommandCount * 256); encodeB(b, 52 + head_offset, rxAntennaDeployed + txAntennaDeployed* 2); short int data10[headerLen + rsFrames * (rsFrameLen + parityLen)]; From e1c22a1a487d0f8ba57aac8c9efd963304e0e8d3 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 11:53:01 -0500 Subject: [PATCH 094/165] added camera test --- afsk/main.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index b85a5a33..d8b8e06c 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -405,7 +405,13 @@ else i2c_bus0 = (test_i2c_bus(0) != -1) ? ON: OFF; i2c_bus1 = (test_i2c_bus(1) != -1) ? ON: OFF; i2c_bus3 = (test_i2c_bus(3) != -1) ? ON: OFF; - + + char cmdbuffer1[1000]; + FILE* file4 = popen("vcgencmd get_camera", "r"); + fgets(cmdbuffer1, 1000, file4); + printf("Camera result: %s\n", cmdbuffer1); + pclose(file4); + #ifdef DEBUG_LOGGING printf("INFO: I2C bus status 0: %d 1: %d 3: %d \n",i2c_bus0, i2c_bus1, i2c_bus3); #endif From f934cdd10eeca8de34ef1c8e141d399cff63af55 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 11:57:17 -0500 Subject: [PATCH 095/165] camera conditional --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index d8b8e06c..c0d257bf 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -409,7 +409,7 @@ i2c_bus3 = (test_i2c_bus(3) != -1) ? ON: OFF; char cmdbuffer1[1000]; FILE* file4 = popen("vcgencmd get_camera", "r"); fgets(cmdbuffer1, 1000, file4); - printf("Camera result: %s\n", cmdbuffer1); + printf("Camera result:%s value:\n", cmdbuffer1, ((cmdbuffer1[11] == "1") && *=(cmdbuffer1[22] == "1"))); pclose(file4); #ifdef DEBUG_LOGGING From c59311b5f4ac68a0f9bcd5a680a53c279391cc20 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 11:58:42 -0500 Subject: [PATCH 096/165] typo --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index c0d257bf..8a31e3a4 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -409,7 +409,7 @@ i2c_bus3 = (test_i2c_bus(3) != -1) ? ON: OFF; char cmdbuffer1[1000]; FILE* file4 = popen("vcgencmd get_camera", "r"); fgets(cmdbuffer1, 1000, file4); - printf("Camera result:%s value:\n", cmdbuffer1, ((cmdbuffer1[11] == "1") && *=(cmdbuffer1[22] == "1"))); + printf("Camera result:%s value:\n", cmdbuffer1, ((cmdbuffer1[11] == "1") && (cmdbuffer1[22] == "1"))); pclose(file4); #ifdef DEBUG_LOGGING From 38791d07d9788b4ad09fd57d0282c0ba8c92c332 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 12:00:47 -0500 Subject: [PATCH 097/165] typo --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 8a31e3a4..f7281e67 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -409,7 +409,7 @@ i2c_bus3 = (test_i2c_bus(3) != -1) ? ON: OFF; char cmdbuffer1[1000]; FILE* file4 = popen("vcgencmd get_camera", "r"); fgets(cmdbuffer1, 1000, file4); - printf("Camera result:%s value:\n", cmdbuffer1, ((cmdbuffer1[11] == "1") && (cmdbuffer1[22] == "1"))); + printf("Camera result:%s value: %d\n", cmdbuffer1, ((cmdbuffer1[11] == "1") && (cmdbuffer1[22] == "1"))); pclose(file4); #ifdef DEBUG_LOGGING From 7fe9ea0b534bffb35c385b8f2c4a16a8c759188a Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 12:02:55 -0500 Subject: [PATCH 098/165] right location in string --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index f7281e67..4315a0e5 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -409,7 +409,7 @@ i2c_bus3 = (test_i2c_bus(3) != -1) ? ON: OFF; char cmdbuffer1[1000]; FILE* file4 = popen("vcgencmd get_camera", "r"); fgets(cmdbuffer1, 1000, file4); - printf("Camera result:%s value: %d\n", cmdbuffer1, ((cmdbuffer1[11] == "1") && (cmdbuffer1[22] == "1"))); + printf("Camera result:%s value: %d\n", cmdbuffer1, ((cmdbuffer1[10] == "1") && (cmdbuffer1[21] == "1"))); pclose(file4); #ifdef DEBUG_LOGGING From f9e8aaf3eac053547ac5780ffd42f38aecc19517 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 12:04:31 -0500 Subject: [PATCH 099/165] testing --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 4315a0e5..11d3df2e 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -409,7 +409,7 @@ i2c_bus3 = (test_i2c_bus(3) != -1) ? ON: OFF; char cmdbuffer1[1000]; FILE* file4 = popen("vcgencmd get_camera", "r"); fgets(cmdbuffer1, 1000, file4); - printf("Camera result:%s value: %d\n", cmdbuffer1, ((cmdbuffer1[10] == "1") && (cmdbuffer1[21] == "1"))); + printf("Camera result:%s pos: %s %s value: %d\n", cmdbuffer1, cmdbuffer[10], cmdbuffer[21], ((cmdbuffer1[10] == "1") && (cmdbuffer1[21] == "1"))); pclose(file4); #ifdef DEBUG_LOGGING From 81000bdc9cd20db027ba919fa7f5b5389d3cb0f5 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 12:09:25 -0500 Subject: [PATCH 100/165] typo --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 11d3df2e..37285d96 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -409,7 +409,7 @@ i2c_bus3 = (test_i2c_bus(3) != -1) ? ON: OFF; char cmdbuffer1[1000]; FILE* file4 = popen("vcgencmd get_camera", "r"); fgets(cmdbuffer1, 1000, file4); - printf("Camera result:%s pos: %s %s value: %d\n", cmdbuffer1, cmdbuffer[10], cmdbuffer[21], ((cmdbuffer1[10] == "1") && (cmdbuffer1[21] == "1"))); + printf("Camera result:%s pos: %s %s value: %d\n", cmdbuffer1, *cmdbuffer[10], *cmdbuffer[21], ((*cmdbuffer1[10] == "1") && (*cmdbuffer1[21] == "1"))); pclose(file4); #ifdef DEBUG_LOGGING From 835162f1b155204cd6a73e0dffc1db770909d80c Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 12:10:49 -0500 Subject: [PATCH 101/165] typo --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 37285d96..0512f938 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -409,7 +409,7 @@ i2c_bus3 = (test_i2c_bus(3) != -1) ? ON: OFF; char cmdbuffer1[1000]; FILE* file4 = popen("vcgencmd get_camera", "r"); fgets(cmdbuffer1, 1000, file4); - printf("Camera result:%s pos: %s %s value: %d\n", cmdbuffer1, *cmdbuffer[10], *cmdbuffer[21], ((*cmdbuffer1[10] == "1") && (*cmdbuffer1[21] == "1"))); + printf("Camera result:%s pos: %s %s value: %d\n", &cmdbuffer1, &cmdbuffer1[10], *cmdbuffer[21], ((&cmdbuffer1[10] == "1") && (&cmdbuffer1[21] == "1"))); pclose(file4); #ifdef DEBUG_LOGGING From e454eacc8e09bc3273735409b4a182c6b647495d Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 12:12:01 -0500 Subject: [PATCH 102/165] typo --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 0512f938..6ad62eaf 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -409,7 +409,7 @@ i2c_bus3 = (test_i2c_bus(3) != -1) ? ON: OFF; char cmdbuffer1[1000]; FILE* file4 = popen("vcgencmd get_camera", "r"); fgets(cmdbuffer1, 1000, file4); - printf("Camera result:%s pos: %s %s value: %d\n", &cmdbuffer1, &cmdbuffer1[10], *cmdbuffer[21], ((&cmdbuffer1[10] == "1") && (&cmdbuffer1[21] == "1"))); + printf("Camera result:%s pos: %s %s value: %d\n", &cmdbuffer1, &cmdbuffer1[10], &cmdbuffer[21], ((&cmdbuffer1[10] == "1") && (&cmdbuffer1[21] == "1"))); pclose(file4); #ifdef DEBUG_LOGGING From 28c241c9b499e1afec4f63dd08ca7835b0ac9c05 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 12:31:03 -0500 Subject: [PATCH 103/165] added string compare --- afsk/main.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/afsk/main.c b/afsk/main.c index 6ad62eaf..63db91c1 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -410,6 +410,8 @@ i2c_bus3 = (test_i2c_bus(3) != -1) ? ON: OFF; FILE* file4 = popen("vcgencmd get_camera", "r"); fgets(cmdbuffer1, 1000, file4); printf("Camera result:%s pos: %s %s value: %d\n", &cmdbuffer1, &cmdbuffer1[10], &cmdbuffer[21], ((&cmdbuffer1[10] == "1") && (&cmdbuffer1[21] == "1"))); + printf("String compare: %d \n", strcmp(cmdbuffer1, "supported=1 detected=1")); + pclose(file4); #ifdef DEBUG_LOGGING From ed4afd95bc31a1c1d97c1a3c7236cd1853410a1d Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 13:39:24 -0500 Subject: [PATCH 104/165] try strchr --- afsk/main.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 63db91c1..abc6fbac 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -409,8 +409,9 @@ i2c_bus3 = (test_i2c_bus(3) != -1) ? ON: OFF; char cmdbuffer1[1000]; FILE* file4 = popen("vcgencmd get_camera", "r"); fgets(cmdbuffer1, 1000, file4); - printf("Camera result:%s pos: %s %s value: %d\n", &cmdbuffer1, &cmdbuffer1[10], &cmdbuffer[21], ((&cmdbuffer1[10] == "1") && (&cmdbuffer1[21] == "1"))); - printf("String compare: %d \n", strcmp(cmdbuffer1, "supported=1 detected=1")); + printf("Camera result:%s pos: %s %s value: %d\n", &cmdbuffer1, &cmdbuffer1[10], &cmdbuffer1[21], ((&cmdbuffer1[10] == "1") && (&cmdbuffer1[21] == "1"))); + char camera_present = "supported=1 detected=1"; + printf("String compare: %d \n", (strchr(cmdbuffer1, camera_present)) != NULL); pclose(file4); From 9e896213d1f0a5abf76af5cc8eb7e101600e26a2 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 13:43:37 -0500 Subject: [PATCH 105/165] changed && to & --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index abc6fbac..10e5b403 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -409,7 +409,7 @@ i2c_bus3 = (test_i2c_bus(3) != -1) ? ON: OFF; char cmdbuffer1[1000]; FILE* file4 = popen("vcgencmd get_camera", "r"); fgets(cmdbuffer1, 1000, file4); - printf("Camera result:%s pos: %s %s value: %d\n", &cmdbuffer1, &cmdbuffer1[10], &cmdbuffer1[21], ((&cmdbuffer1[10] == "1") && (&cmdbuffer1[21] == "1"))); + printf("Camera result:%s pos: %s %s value: %d \n", &cmdbuffer1, &cmdbuffer1[10], &cmdbuffer1[21], ((&cmdbuffer1[10] == "1") & (&cmdbuffer1[21] == "1"))); char camera_present = "supported=1 detected=1"; printf("String compare: %d \n", (strchr(cmdbuffer1, camera_present)) != NULL); From ae5641aa42288349bbeafe971ec5b4c3a65c8a84 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 13:48:04 -0500 Subject: [PATCH 106/165] cleanup of camera test --- afsk/main.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 10e5b403..4f74b5d6 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -401,22 +401,20 @@ else } // test i2c buses - i2c_bus0 = (test_i2c_bus(0) != -1) ? ON: OFF; i2c_bus1 = (test_i2c_bus(1) != -1) ? ON: OFF; i2c_bus3 = (test_i2c_bus(3) != -1) ? ON: OFF; - char cmdbuffer1[1000]; - FILE* file4 = popen("vcgencmd get_camera", "r"); - fgets(cmdbuffer1, 1000, file4); - printf("Camera result:%s pos: %s %s value: %d \n", &cmdbuffer1, &cmdbuffer1[10], &cmdbuffer1[21], ((&cmdbuffer1[10] == "1") & (&cmdbuffer1[21] == "1"))); - char camera_present = "supported=1 detected=1"; - printf("String compare: %d \n", (strchr(cmdbuffer1, camera_present)) != NULL); - - pclose(file4); +// check for camera +char cmdbuffer1[1000]; +FILE* file4 = popen("vcgencmd get_camera", "r"); +fgets(cmdbuffer1, 1000, file4); +camera = (&cmdbuffer1[10] == "1") & (&cmdbuffer1[21] == "1") ? ON: OFF; +printf("Camera result:%s camera: %d \n", &cmdbuffer1, camera); +pclose(file4); #ifdef DEBUG_LOGGING -printf("INFO: I2C bus status 0: %d 1: %d 3: %d \n",i2c_bus0, i2c_bus1, i2c_bus3); +printf("INFO: I2C bus status 0: %d 1: %d 3: %d camera: %d\n",i2c_bus0, i2c_bus1, i2c_bus3, camera); #endif if ((i2c_bus1 == OFF) && (i2c_bus3 == OFF)) From 1ba3318886e139f798d019e73da3a2a58d50c09e Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 13:50:53 -0500 Subject: [PATCH 107/165] fixed conditional --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 4f74b5d6..3cba3f45 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -409,7 +409,7 @@ i2c_bus3 = (test_i2c_bus(3) != -1) ? ON: OFF; char cmdbuffer1[1000]; FILE* file4 = popen("vcgencmd get_camera", "r"); fgets(cmdbuffer1, 1000, file4); -camera = (&cmdbuffer1[10] == "1") & (&cmdbuffer1[21] == "1") ? ON: OFF; +camera = ((&cmdbuffer1[10] == "1") && (&cmdbuffer1[21] == "1")) ? ON: OFF; printf("Camera result:%s camera: %d \n", &cmdbuffer1, camera); pclose(file4); From d6608a7147606fc6a79f49e44b8de403a83df9df Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 13:52:34 -0500 Subject: [PATCH 108/165] typo --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 3cba3f45..9bb2f145 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -409,7 +409,7 @@ i2c_bus3 = (test_i2c_bus(3) != -1) ? ON: OFF; char cmdbuffer1[1000]; FILE* file4 = popen("vcgencmd get_camera", "r"); fgets(cmdbuffer1, 1000, file4); -camera = ((&cmdbuffer1[10] == "1") && (&cmdbuffer1[21] == "1")) ? ON: OFF; +camera = ((&cmdbuffer1[10] == "1") & (&cmdbuffer1[21] == "1")); printf("Camera result:%s camera: %d \n", &cmdbuffer1, camera); pclose(file4); From e22eeb5d280514e839562c55fcaa7e958947e76e Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 14:03:30 -0500 Subject: [PATCH 109/165] try strstr --- afsk/main.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 9bb2f145..513ab418 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -409,7 +409,9 @@ i2c_bus3 = (test_i2c_bus(3) != -1) ? ON: OFF; char cmdbuffer1[1000]; FILE* file4 = popen("vcgencmd get_camera", "r"); fgets(cmdbuffer1, 1000, file4); -camera = ((&cmdbuffer1[10] == "1") & (&cmdbuffer1[21] == "1")); +char camera_present = "supported=1 detected=1"; +printf("strstr: %s \n", strstr(cmdbuffer1,camera_present)); +//camera = ((&cmdbuffer1[10] == "1") & (&cmdbuffer1[21] == "1")); printf("Camera result:%s camera: %d \n", &cmdbuffer1, camera); pclose(file4); From 1d53b14af0a4fb8a9d68af7bf7957627eeaf1e9a Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 14:05:13 -0500 Subject: [PATCH 110/165] typo --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 513ab418..69ff0f97 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -410,7 +410,7 @@ char cmdbuffer1[1000]; FILE* file4 = popen("vcgencmd get_camera", "r"); fgets(cmdbuffer1, 1000, file4); char camera_present = "supported=1 detected=1"; -printf("strstr: %s \n", strstr(cmdbuffer1,camera_present)); +printf("strstr: %s \n", strstr(&cmdbuffer1,camera_present)); //camera = ((&cmdbuffer1[10] == "1") & (&cmdbuffer1[21] == "1")); printf("Camera result:%s camera: %d \n", &cmdbuffer1, camera); pclose(file4); From 3e16f41339079b92310e11c7efdc40c815546ebe Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 14:06:25 -0500 Subject: [PATCH 111/165] typo --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 69ff0f97..44bc71a4 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -409,7 +409,7 @@ i2c_bus3 = (test_i2c_bus(3) != -1) ? ON: OFF; char cmdbuffer1[1000]; FILE* file4 = popen("vcgencmd get_camera", "r"); fgets(cmdbuffer1, 1000, file4); -char camera_present = "supported=1 detected=1"; +char camera_present[] = "supported=1 detected=1"; printf("strstr: %s \n", strstr(&cmdbuffer1,camera_present)); //camera = ((&cmdbuffer1[10] == "1") & (&cmdbuffer1[21] == "1")); printf("Camera result:%s camera: %d \n", &cmdbuffer1, camera); From 87c501483c00ed2765197fdda3edfa75ca536bdb Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 14:09:38 -0500 Subject: [PATCH 112/165] added camera conditional --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 44bc71a4..f8247bf8 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -411,7 +411,7 @@ FILE* file4 = popen("vcgencmd get_camera", "r"); fgets(cmdbuffer1, 1000, file4); char camera_present[] = "supported=1 detected=1"; printf("strstr: %s \n", strstr(&cmdbuffer1,camera_present)); -//camera = ((&cmdbuffer1[10] == "1") & (&cmdbuffer1[21] == "1")); +camera = (strstr(&cmdbuffer1,camera_present) == NULL) ? OFF: ON; printf("Camera result:%s camera: %d \n", &cmdbuffer1, camera); pclose(file4); From 57e229a80bc756601e9c655901050574763be980 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 14:17:41 -0500 Subject: [PATCH 113/165] reversed conditional --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index f8247bf8..a022df73 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -411,7 +411,7 @@ FILE* file4 = popen("vcgencmd get_camera", "r"); fgets(cmdbuffer1, 1000, file4); char camera_present[] = "supported=1 detected=1"; printf("strstr: %s \n", strstr(&cmdbuffer1,camera_present)); -camera = (strstr(&cmdbuffer1,camera_present) == NULL) ? OFF: ON; +camera = (strstr(&cmdbuffer1,camera_present) != NULL) ? ON: OFF; printf("Camera result:%s camera: %d \n", &cmdbuffer1, camera); pclose(file4); From e774df3e72b35e5070c1ab2be5d535e40b4a05f5 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 14:23:41 -0500 Subject: [PATCH 114/165] testing camera status --- afsk/main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index a022df73..e6ce41a6 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1325,7 +1325,8 @@ if (payload == ON) encodeA(b, 48 + head_offset, sensor2); encodeB(b, 49 + head_offset, sensor3); - encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (camera == OFF) * 128 + groundCommandCount * 256); +// encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (camera == OFF) * 128 + groundCommandCount * 256); + encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (0) * 128); encodeB(b, 52 + head_offset, rxAntennaDeployed + txAntennaDeployed* 2); short int data10[headerLen + rsFrames * (rsFrameLen + parityLen)]; From 71618fd3f2e455f63cffa12bce3385e5ee23fbbb Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 14:29:18 -0500 Subject: [PATCH 115/165] Update main.c --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index e6ce41a6..ccb4a95f 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1326,7 +1326,7 @@ if (payload == ON) encodeB(b, 49 + head_offset, sensor3); // encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (camera == OFF) * 128 + groundCommandCount * 256); - encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (0) * 128); + encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (1) * 128) + 1 * 256 + 1 * 512 + 1 * 1024 + 1*2048); encodeB(b, 52 + head_offset, rxAntennaDeployed + txAntennaDeployed* 2); short int data10[headerLen + rsFrames * (rsFrameLen + parityLen)]; From c5d89e8e39389ffc58c3b331deffc66578217fe7 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 14:30:43 -0500 Subject: [PATCH 116/165] all 1's in status bits --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index ccb4a95f..a55d94de 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1326,7 +1326,7 @@ if (payload == ON) encodeB(b, 49 + head_offset, sensor3); // encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (camera == OFF) * 128 + groundCommandCount * 256); - encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (1) * 128) + 1 * 256 + 1 * 512 + 1 * 1024 + 1*2048); + encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (1) * 128 + 1 * 256 + 1 * 512 + 1 * 1024 + 1*2048); encodeB(b, 52 + head_offset, rxAntennaDeployed + txAntennaDeployed* 2); short int data10[headerLen + rsFrames * (rsFrameLen + parityLen)]; From 23bc5d81734963aa6fd251f06aa2afae5b02cdd6 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 14:34:23 -0500 Subject: [PATCH 117/165] testing --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index a55d94de..a8c09110 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1326,7 +1326,7 @@ if (payload == ON) encodeB(b, 49 + head_offset, sensor3); // encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (camera == OFF) * 128 + groundCommandCount * 256); - encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (1) * 128 + 1 * 256 + 1 * 512 + 1 * 1024 + 1*2048); + encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (0) * 128 + 1 * 256 + 1 * 512 + 1 * 1024 + 1*2048); encodeB(b, 52 + head_offset, rxAntennaDeployed + txAntennaDeployed* 2); short int data10[headerLen + rsFrames * (rsFrameLen + parityLen)]; From 9b23cf1766ac62210bb731cf5437f396c1c2a459 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 14:36:22 -0500 Subject: [PATCH 118/165] Update main.c --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index a8c09110..ce17cf77 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1326,7 +1326,7 @@ if (payload == ON) encodeB(b, 49 + head_offset, sensor3); // encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (camera == OFF) * 128 + groundCommandCount * 256); - encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (0) * 128 + 1 * 256 + 1 * 512 + 1 * 1024 + 1*2048); +// encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (0) * 128 + 1 * 256 + 1 * 512 + 1 * 1024 + 1*2048); encodeB(b, 52 + head_offset, rxAntennaDeployed + txAntennaDeployed* 2); short int data10[headerLen + rsFrames * (rsFrameLen + parityLen)]; From 0489f68f20723b0a426833952416b3190e0c8bbe Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 14:38:54 -0500 Subject: [PATCH 119/165] testing --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index ce17cf77..a8c09110 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1326,7 +1326,7 @@ if (payload == ON) encodeB(b, 49 + head_offset, sensor3); // encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (camera == OFF) * 128 + groundCommandCount * 256); -// encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (0) * 128 + 1 * 256 + 1 * 512 + 1 * 1024 + 1*2048); + encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (0) * 128 + 1 * 256 + 1 * 512 + 1 * 1024 + 1*2048); encodeB(b, 52 + head_offset, rxAntennaDeployed + txAntennaDeployed* 2); short int data10[headerLen + rsFrames * (rsFrameLen + parityLen)]; From b85e68087380c3ba7b59291f1a06f86f30fcf8b7 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 15:14:47 -0500 Subject: [PATCH 120/165] camera test, added PayloadFailure 1 and 2 status --- afsk/main.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index a8c09110..b228d14f 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -415,6 +415,8 @@ camera = (strstr(&cmdbuffer1,camera_present) != NULL) ? ON: OFF; printf("Camera result:%s camera: %d \n", &cmdbuffer1, camera); pclose(file4); +camera = ON; + #ifdef DEBUG_LOGGING printf("INFO: I2C bus status 0: %d 1: %d 3: %d camera: %d\n",i2c_bus0, i2c_bus1, i2c_bus3, camera); #endif @@ -954,7 +956,8 @@ int get_tlm_fox() { short int rs_frame[rsFrames][223]; unsigned char parities[rsFrames][parityLen], inputByte; - int id, frm_type = 0x01, TxTemp = 0, IHUcpuTemp = 0, STEMBoardFailure = 1, NormalModeFailure = 0, rxAntennaDeployed = 0, txAntennaDeployed = 1, groundCommandCount = 3; // + int id, frm_type = 0x01, TxTemp = 0, IHUcpuTemp = 0, STEMBoardFailure = 1, NormalModeFailure = 0, rxAntennaDeployed = 0, txAntennaDeployed = 1, groundCommandCount = 3; + int PayloadFailure1 = 0, PayloadFailure2 = 0; int PSUVoltage = 0, PSUCurrent = 0; int batt_a_v = 0, batt_b_v = 0, batt_c_v = 0, battCurr = 0; int posXv = 0, negXv = 0, posYv = 0, negYv = 0, posZv = 0, negZv = 0; @@ -1324,9 +1327,12 @@ if (payload == ON) encodeB(b, 46 + head_offset,PSUCurrent); encodeA(b, 48 + head_offset, sensor2); encodeB(b, 49 + head_offset, sensor3); - -// encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (camera == OFF) * 128 + groundCommandCount * 256); - encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (0) * 128 + 1 * 256 + 1 * 512 + 1 * 1024 + 1*2048); + + int status = STEMBoardFailure + NormalModeFailure * 2 + PayloadFailure1 * 4 + PayloadFailure2 * 8 + + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (camera == OFF) * 128 + groundCommandCount * 256 + + encodeA(b, 51 + head_offset, status); +// encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (0) * 128 + 1 * 256 + 1 * 512 + 1 * 1024 + 1*2048); encodeB(b, 52 + head_offset, rxAntennaDeployed + txAntennaDeployed* 2); short int data10[headerLen + rsFrames * (rsFrameLen + parityLen)]; From ab5484645bbf672fd37696c07cb416e6fe39c5d7 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 15:15:43 -0500 Subject: [PATCH 121/165] Update main.c --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index b228d14f..3e0a5090 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1329,7 +1329,7 @@ if (payload == ON) encodeB(b, 49 + head_offset, sensor3); int status = STEMBoardFailure + NormalModeFailure * 2 + PayloadFailure1 * 4 + PayloadFailure2 * 8 - + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (camera == OFF) * 128 + groundCommandCount * 256 + + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (camera == OFF) * 128 + groundCommandCount * 256; encodeA(b, 51 + head_offset, status); // encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (0) * 128 + 1 * 256 + 1 * 512 + 1 * 1024 + 1*2048); From 992e0bc6bfc534542f62d7c67ac481e2a9ec8263 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 15:18:30 -0500 Subject: [PATCH 122/165] testing PayloadFailure --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 3e0a5090..13664975 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -957,7 +957,7 @@ int get_tlm_fox() { unsigned char parities[rsFrames][parityLen], inputByte; int id, frm_type = 0x01, TxTemp = 0, IHUcpuTemp = 0, STEMBoardFailure = 1, NormalModeFailure = 0, rxAntennaDeployed = 0, txAntennaDeployed = 1, groundCommandCount = 3; - int PayloadFailure1 = 0, PayloadFailure2 = 0; + int PayloadFailure1 = 1, PayloadFailure2 = 1; int PSUVoltage = 0, PSUCurrent = 0; int batt_a_v = 0, batt_b_v = 0, batt_c_v = 0, battCurr = 0; int posXv = 0, negXv = 0, posYv = 0, negYv = 0, posZv = 0, negZv = 0; From c92919f6969ae6c95680056ed942da109e28e8aa Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 15:20:47 -0500 Subject: [PATCH 123/165] camera testing --- afsk/main.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 13664975..475a4501 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1327,7 +1327,9 @@ if (payload == ON) encodeB(b, 46 + head_offset,PSUCurrent); encodeA(b, 48 + head_offset, sensor2); encodeB(b, 49 + head_offset, sensor3); - + +camera = ON; + int status = STEMBoardFailure + NormalModeFailure * 2 + PayloadFailure1 * 4 + PayloadFailure2 * 8 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (camera == OFF) * 128 + groundCommandCount * 256; From f7c380fe62d35da67998abcd080cd5d5e8218660 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 15:23:00 -0500 Subject: [PATCH 124/165] zeroed all sensors --- afsk/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 475a4501..3f0b5456 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -956,7 +956,7 @@ int get_tlm_fox() { short int rs_frame[rsFrames][223]; unsigned char parities[rsFrames][parityLen], inputByte; - int id, frm_type = 0x01, TxTemp = 0, IHUcpuTemp = 0, STEMBoardFailure = 1, NormalModeFailure = 0, rxAntennaDeployed = 0, txAntennaDeployed = 1, groundCommandCount = 3; + int id, frm_type = 0x01, TxTemp = 0, IHUcpuTemp = 0, STEMBoardFailure = 1, NormalModeFailure = 0, rxAntennaDeployed = 0, txAntennaDeployed = 1, groundCommandCount = 0; int PayloadFailure1 = 1, PayloadFailure2 = 1; int PSUVoltage = 0, PSUCurrent = 0; int batt_a_v = 0, batt_b_v = 0, batt_c_v = 0, battCurr = 0; @@ -967,8 +967,8 @@ int get_tlm_fox() { // int xAngularVelocity = 2078, yAngularVelocity = 2078, zAngularVelocity = 2078; // XAxisAngularVelocity Y and Z set to 0 int xAngularVelocity = 2048, yAngularVelocity = 2048, zAngularVelocity = 2048; // XAxisAngularVelocity Y and Z set to 0 int RXTemperature = 0; - int xAccel = 2048+100, yAccel = 2048-100, zAccel = 2048+500, temp = 224, pressure = 1000, altitude = 1000; - int sensor1 = 0, sensor2 = 2048-3, sensor3 = 2048-1501; + int xAccel = 2048, yAccel = 2048, zAccel = 2048, temp = 0, pressure = 0, altitude = 0; + int sensor1 = 0, sensor2 = 2048, sensor3 = 2048; short int buffer_test[bufLen]; int buffSize; From 1e8a049954d7dc199a25e6efd43ac53f10219ce2 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 15:41:26 -0500 Subject: [PATCH 125/165] Update main.c --- afsk/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 3f0b5456..c2431f56 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -415,7 +415,7 @@ camera = (strstr(&cmdbuffer1,camera_present) != NULL) ? ON: OFF; printf("Camera result:%s camera: %d \n", &cmdbuffer1, camera); pclose(file4); -camera = ON; +camera = OFF; #ifdef DEBUG_LOGGING printf("INFO: I2C bus status 0: %d 1: %d 3: %d camera: %d\n",i2c_bus0, i2c_bus1, i2c_bus3, camera); @@ -957,7 +957,7 @@ int get_tlm_fox() { unsigned char parities[rsFrames][parityLen], inputByte; int id, frm_type = 0x01, TxTemp = 0, IHUcpuTemp = 0, STEMBoardFailure = 1, NormalModeFailure = 0, rxAntennaDeployed = 0, txAntennaDeployed = 1, groundCommandCount = 0; - int PayloadFailure1 = 1, PayloadFailure2 = 1; + int PayloadFailure1 = 0, PayloadFailure2 = 0; int PSUVoltage = 0, PSUCurrent = 0; int batt_a_v = 0, batt_b_v = 0, batt_c_v = 0, battCurr = 0; int posXv = 0, negXv = 0, posYv = 0, negYv = 0, posZv = 0, negZv = 0; From 150ca6411080a09d9658a1ed2bdd8f26d4d44a6a Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 15:43:30 -0500 Subject: [PATCH 126/165] Update main.c --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index c2431f56..77ebf905 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1331,7 +1331,7 @@ if (payload == ON) camera = ON; int status = STEMBoardFailure + NormalModeFailure * 2 + PayloadFailure1 * 4 + PayloadFailure2 * 8 - + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (camera == OFF) * 128 + groundCommandCount * 256; + + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (1) * 128 + 1 * 256 + groundCommandCount * 256; encodeA(b, 51 + head_offset, status); // encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (0) * 128 + 1 * 256 + 1 * 512 + 1 * 1024 + 1*2048); From f5aaf74124eefe8296e9385d4d2a4a91ac67f483 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 15:46:21 -0500 Subject: [PATCH 127/165] Update main.c --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 77ebf905..f8a8f3b2 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1331,7 +1331,7 @@ if (payload == ON) camera = ON; int status = STEMBoardFailure + NormalModeFailure * 2 + PayloadFailure1 * 4 + PayloadFailure2 * 8 - + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (1) * 128 + 1 * 256 + groundCommandCount * 256; + + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (camera == OFF) * 128 + groundCommandCount * 256; encodeA(b, 51 + head_offset, status); // encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (0) * 128 + 1 * 256 + 1 * 512 + 1 * 1024 + 1*2048); From 9c141cc09b09374cdc8a0af07e2044a0794c80d5 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 15:48:24 -0500 Subject: [PATCH 128/165] camera status working --- afsk/main.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index f8a8f3b2..9672ba55 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -414,9 +414,7 @@ printf("strstr: %s \n", strstr(&cmdbuffer1,camera_present)); camera = (strstr(&cmdbuffer1,camera_present) != NULL) ? ON: OFF; printf("Camera result:%s camera: %d \n", &cmdbuffer1, camera); pclose(file4); - -camera = OFF; - + #ifdef DEBUG_LOGGING printf("INFO: I2C bus status 0: %d 1: %d 3: %d camera: %d\n",i2c_bus0, i2c_bus1, i2c_bus3, camera); #endif @@ -1328,7 +1326,7 @@ if (payload == ON) encodeA(b, 48 + head_offset, sensor2); encodeB(b, 49 + head_offset, sensor3); -camera = ON; +// camera = ON; int status = STEMBoardFailure + NormalModeFailure * 2 + PayloadFailure1 * 4 + PayloadFailure2 * 8 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (camera == OFF) * 128 + groundCommandCount * 256; From d172b7d4e1ced9d15f07ce69ac8dd5cbf7092592 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 16:02:59 -0500 Subject: [PATCH 129/165] added Resets and Rssi --- afsk/main.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 9672ba55..aaad9b81 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -956,7 +956,7 @@ int get_tlm_fox() { int id, frm_type = 0x01, TxTemp = 0, IHUcpuTemp = 0, STEMBoardFailure = 1, NormalModeFailure = 0, rxAntennaDeployed = 0, txAntennaDeployed = 1, groundCommandCount = 0; int PayloadFailure1 = 0, PayloadFailure2 = 0; - int PSUVoltage = 0, PSUCurrent = 0; + int PSUVoltage = 0, PSUCurrent = 0, Resets = 0; Rssi = 2048; int batt_a_v = 0, batt_b_v = 0, batt_c_v = 0, battCurr = 0; int posXv = 0, negXv = 0, posYv = 0, negYv = 0, posZv = 0, negZv = 0; int posXi = 0, negXi = 0, posYi = 0, negYi = 0, posZi = 0, negZi = 0; @@ -1314,7 +1314,9 @@ if (payload == ON) encodeA(b, 33 + head_offset,pressure); // Pressure encodeB(b, 34 + head_offset,altitude); // Altitude - encodeA(b, 36 + head_offset, RXTemperature); + encodeA(b, 36 + head_offset, Resets; + encodeA(b, 37 + head_offset, Rssi); + encodeA(b, 39 + head_offset, IHUcpuTemp); encodeB(b, 40 + head_offset, xAngularVelocity); From cc437da16eda700982cfe9ba759f3e5b408aefc1 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 16:05:59 -0500 Subject: [PATCH 130/165] Resets typo --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index aaad9b81..43b5ba2f 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1314,7 +1314,7 @@ if (payload == ON) encodeA(b, 33 + head_offset,pressure); // Pressure encodeB(b, 34 + head_offset,altitude); // Altitude - encodeA(b, 36 + head_offset, Resets; + encodeA(b, 36 + head_offset, Resets); encodeA(b, 37 + head_offset, Rssi); encodeA(b, 39 + head_offset, IHUcpuTemp); From 92c619ee0082308bd81964a42f8740eccb02d841 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 16:07:25 -0500 Subject: [PATCH 131/165] Rssi typo --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 43b5ba2f..dc9fd93c 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -956,7 +956,7 @@ int get_tlm_fox() { int id, frm_type = 0x01, TxTemp = 0, IHUcpuTemp = 0, STEMBoardFailure = 1, NormalModeFailure = 0, rxAntennaDeployed = 0, txAntennaDeployed = 1, groundCommandCount = 0; int PayloadFailure1 = 0, PayloadFailure2 = 0; - int PSUVoltage = 0, PSUCurrent = 0, Resets = 0; Rssi = 2048; + int PSUVoltage = 0, PSUCurrent = 0, Resets = 0, Rssi = 2048; int batt_a_v = 0, batt_b_v = 0, batt_c_v = 0, battCurr = 0; int posXv = 0, negXv = 0, posYv = 0, negYv = 0, posZv = 0, negZv = 0; int posXi = 0, negXi = 0, posYi = 0, negYi = 0, posZi = 0, negZi = 0; From 8ca33c8767f35c6c5e949b358e36c80f8dfaeb07 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 16:10:23 -0500 Subject: [PATCH 132/165] Rssi typo --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index dc9fd93c..a7c3767a 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1315,7 +1315,7 @@ if (payload == ON) encodeB(b, 34 + head_offset,altitude); // Altitude encodeA(b, 36 + head_offset, Resets); - encodeA(b, 37 + head_offset, Rssi); + encodeB(b, 37 + head_offset, Rssi); encodeA(b, 39 + head_offset, IHUcpuTemp); From dccf20dba7908dd058bb121638d9673942a558cf Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 20:14:08 -0500 Subject: [PATCH 133/165] added all BME280 and MPU6050 sensor fields --- afsk/main.c | 41 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index a7c3767a..b44d0a44 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -965,7 +965,7 @@ int get_tlm_fox() { // int xAngularVelocity = 2078, yAngularVelocity = 2078, zAngularVelocity = 2078; // XAxisAngularVelocity Y and Z set to 0 int xAngularVelocity = 2048, yAngularVelocity = 2048, zAngularVelocity = 2048; // XAxisAngularVelocity Y and Z set to 0 int RXTemperature = 0; - int xAccel = 2048, yAccel = 2048, zAccel = 2048, temp = 0, pressure = 0, altitude = 0; + int xAccel = 2048, yAccel = 2048, zAccel = 2048, temp = 0, BME280pressure = 0, BME280altitude = 0, BME280humidity = 0, BME280temperature; int sensor1 = 0, sensor2 = 2048, sensor3 = 2048; short int buffer_test[bufLen]; @@ -1231,7 +1231,7 @@ if (payload == ON) token = strtok(sensor_payload, space); float gyroX, gyroY, gyroZ; - +/* for (count1 = 0; count1 < 7; count1++) // skipping over BME280 data { if (token != NULL) @@ -1240,7 +1240,21 @@ if (payload == ON) token = strtok(NULL, space); } printf("RXTemperature: %d \n", RXTemperature); +*/ + if (token != NULL) + token = strtok(NULL, space); // start of BME280 data + if (token != NULL) + BME280temperature = atof(token); + if (token != NULL) + BME280pressure = atof(token); + if (token != NULL) + BME280altitude = atof(token); + if (token != NULL) + BME280humidity = atof(token); + + if (token != NULL) + token = strtok(NULL, space); // start of MPU6050 data if (token != NULL) { gyroX = atof(token); @@ -1258,6 +1272,21 @@ if (payload == ON) gyroZ = atof(token); printf("gyroZ %f \n", gyroZ); } + if (token != NULL) + { + xAccel = atof(token); + printf("accelX %f \n", xAccel); + } + if (token != NULL) + { + yAccel = atof(token); + printf("accelY %f \n", yAccel; + } + if (token != NULL) + { + zAccel = atof(token); + printf("accelZ %f \n", zAccel; + } xAngularVelocity = (int)(gyroX + 0.5) + 2048; yAngularVelocity = (int)(gyroY + 0.5) + 2048; @@ -1268,9 +1297,11 @@ if (payload == ON) encodeB(b, 1 + head_offset, batt_b_v); encodeA(b, 3 + head_offset, batt_c_v); - encodeB(b, 4 + head_offset,xAccel); // Xaccel - encodeA(b, 6 + head_offset,yAccel); //Yaccel - encodeB(b, 7 + head_offset,zAccel); //Zaccel + encodeB(b, 4 + head_offset, (int)(xAccel * 100 + 0.5) + 2048); // Xaccel + encodeB(b, 4 + head_offset, (int)(yAccel * 100 + 0.5) + 2048); // Yaccel + encodeB(b, 4 + head_offset, (int)(zAccel * 100 + 0.5) + 2048); // Zaccel +// encodeA(b, 6 + head_offset,yAccel); //Yaccel +// encodeB(b, 7 + head_offset,zAccel); //Zaccel encodeA(b, 9 + head_offset, battCurr); From d66e9b51e1be7ef1df632cd2b69049feed1210c9 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 20:19:27 -0500 Subject: [PATCH 134/165] typos --- afsk/main.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index b44d0a44..f32a423a 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1280,12 +1280,12 @@ if (payload == ON) if (token != NULL) { yAccel = atof(token); - printf("accelY %f \n", yAccel; + printf("accelY %f \n", yAccel); } if (token != NULL) { zAccel = atof(token); - printf("accelZ %f \n", zAccel; + printf("accelZ %f \n", zAccel); } xAngularVelocity = (int)(gyroX + 0.5) + 2048; @@ -1342,8 +1342,8 @@ if (payload == ON) encodeA(b, 30 + head_offset,PSUVoltage); - encodeA(b, 33 + head_offset,pressure); // Pressure - encodeB(b, 34 + head_offset,altitude); // Altitude + encodeA(b, 33 + head_offset,BME280pressure); // Pressure + encodeB(b, 34 + head_offset,BME280altitude); // Altitude encodeA(b, 36 + head_offset, Resets); encodeB(b, 37 + head_offset, Rssi); From 3a0cc30e075fb944e7ab5f7dfe853c26bbe108ff Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 23:16:29 -0500 Subject: [PATCH 135/165] BME280temperature, spin, and txAntennaDeployed set by variables --- afsk/main.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index f32a423a..45471919 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -954,7 +954,7 @@ int get_tlm_fox() { short int rs_frame[rsFrames][223]; unsigned char parities[rsFrames][parityLen], inputByte; - int id, frm_type = 0x01, TxTemp = 0, IHUcpuTemp = 0, STEMBoardFailure = 1, NormalModeFailure = 0, rxAntennaDeployed = 0, txAntennaDeployed = 1, groundCommandCount = 0; + int id, frm_type = 0x01, TxTemp = 0, IHUcpuTemp = 0, STEMBoardFailure = 1, NormalModeFailure = 0, rxAntennaDeployed = 0, txAntennaDeployed = 0, groundCommandCount = 0; int PayloadFailure1 = 0, PayloadFailure2 = 0; int PSUVoltage = 0, PSUCurrent = 0, Resets = 0, Rssi = 2048; int batt_a_v = 0, batt_b_v = 0, batt_c_v = 0, battCurr = 0; @@ -965,7 +965,7 @@ int get_tlm_fox() { // int xAngularVelocity = 2078, yAngularVelocity = 2078, zAngularVelocity = 2078; // XAxisAngularVelocity Y and Z set to 0 int xAngularVelocity = 2048, yAngularVelocity = 2048, zAngularVelocity = 2048; // XAxisAngularVelocity Y and Z set to 0 int RXTemperature = 0; - int xAccel = 2048, yAccel = 2048, zAccel = 2048, temp = 0, BME280pressure = 0, BME280altitude = 0, BME280humidity = 0, BME280temperature; + int xAccel = 2048, yAccel = 2048, zAccel = 2048, temp = 0, BME280pressure = 0, BME280altitude = 0, BME280humidity = 0, BME280temperature, spin = 0; int sensor1 = 0, sensor2 = 2048, sensor3 = 2048; short int buffer_test[bufLen]; @@ -1172,7 +1172,8 @@ if (sim_mode) battCurr = (int)(current[map[BAT]] + 0.5) + 2048; PSUVoltage = (int)(voltage[map[BUS]] * 100); - PSUCurrent = (int)(current[map[BUS]] + 0.5) + 2048; + PSUCurrent = (int)(current[map[BUS]] + 0.5) + 2048; + if (payload == ON) STEMBoardFailure = 0; @@ -1305,7 +1306,7 @@ if (payload == ON) encodeA(b, 9 + head_offset, battCurr); - encodeB(b, 10 + head_offset,temp); // Temp + encodeB(b, 10 + head_offset,BME280temperature); // Temp if (mode == FSK) { @@ -1341,6 +1342,7 @@ if (payload == ON) } encodeA(b, 30 + head_offset,PSUVoltage); + encodeB(b, 31 + head_offset,(spin * 10) + 2048); encodeA(b, 33 + head_offset,BME280pressure); // Pressure encodeB(b, 34 + head_offset,BME280altitude); // Altitude @@ -1366,8 +1368,11 @@ if (payload == ON) encodeA(b, 51 + head_offset, status); // encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (0) * 128 + 1 * 256 + 1 * 512 + 1 * 1024 + 1*2048); - encodeB(b, 52 + head_offset, rxAntennaDeployed + txAntennaDeployed* 2); - + encodeB(b, 52 + head_offset, rxAntennaDeployed + txAntennaDeployed * 2); + + if (txAndennaDeployed == 0) + txAntennaDeployed = 1; + short int data10[headerLen + rsFrames * (rsFrameLen + parityLen)]; short int data8[headerLen + rsFrames * (rsFrameLen + parityLen)]; From 50bd27f92a44a392482b279e8418bce180cddc1b Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 23:17:52 -0500 Subject: [PATCH 136/165] typo --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 45471919..81bc4782 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1370,7 +1370,7 @@ if (payload == ON) // encodeA(b, 51 + head_offset, STEMBoardFailure + NormalModeFailure * 2 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (0) * 128 + 1 * 256 + 1 * 512 + 1 * 1024 + 1*2048); encodeB(b, 52 + head_offset, rxAntennaDeployed + txAntennaDeployed * 2); - if (txAndennaDeployed == 0) + if (txAntennaDeployed == 0) txAntennaDeployed = 1; short int data10[headerLen + rsFrames * (rsFrameLen + parityLen)]; From 248490a82f57a5321222af3394c0ceb729c50c9f Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 23:25:44 -0500 Subject: [PATCH 137/165] moved tx and rx antennas to globals --- afsk/main.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 81bc4782..7549cd4d 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -125,7 +125,7 @@ float latitude = 39.027702, longitude = -77.078064; float lat_file, long_file; float axis[3], angle[3], volts_max[3], amps_max[3], batt, speed, period, tempS, temp_max, temp_min; -int eclipse, i2c_bus0 = OFF, i2c_bus1 = OFF, i2c_bus3 = OFF, camera = OFF, sim_mode = FALSE; +int eclipse, i2c_bus0 = OFF, i2c_bus1 = OFF, i2c_bus3 = OFF, camera = OFF, sim_mode = FALSE, rxAntennaDeployed = 0, txAntennaDeployed = 0; double eclipse_time; int test_i2c_bus(int bus); @@ -954,7 +954,7 @@ int get_tlm_fox() { short int rs_frame[rsFrames][223]; unsigned char parities[rsFrames][parityLen], inputByte; - int id, frm_type = 0x01, TxTemp = 0, IHUcpuTemp = 0, STEMBoardFailure = 1, NormalModeFailure = 0, rxAntennaDeployed = 0, txAntennaDeployed = 0, groundCommandCount = 0; + int id, frm_type = 0x01, TxTemp = 0, IHUcpuTemp = 0, STEMBoardFailure = 1, NormalModeFailure = 0, groundCommandCount = 0; int PayloadFailure1 = 0, PayloadFailure2 = 0; int PSUVoltage = 0, PSUCurrent = 0, Resets = 0, Rssi = 2048; int batt_a_v = 0, batt_b_v = 0, batt_c_v = 0, battCurr = 0; @@ -1371,8 +1371,10 @@ if (payload == ON) encodeB(b, 52 + head_offset, rxAntennaDeployed + txAntennaDeployed * 2); if (txAntennaDeployed == 0) + { txAntennaDeployed = 1; - + printf("TX Antenna Deployed!\n"); + } short int data10[headerLen + rsFrames * (rsFrameLen + parityLen)]; short int data8[headerLen + rsFrames * (rsFrameLen + parityLen)]; From 30f1abd698b61018536b60720a4b1c43234319ce Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 23:29:41 -0500 Subject: [PATCH 138/165] fixed BME280temperature --- afsk/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 7549cd4d..2368f4fe 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -965,7 +965,7 @@ int get_tlm_fox() { // int xAngularVelocity = 2078, yAngularVelocity = 2078, zAngularVelocity = 2078; // XAxisAngularVelocity Y and Z set to 0 int xAngularVelocity = 2048, yAngularVelocity = 2048, zAngularVelocity = 2048; // XAxisAngularVelocity Y and Z set to 0 int RXTemperature = 0; - int xAccel = 2048, yAccel = 2048, zAccel = 2048, temp = 0, BME280pressure = 0, BME280altitude = 0, BME280humidity = 0, BME280temperature, spin = 0; + int xAccel = 2048, yAccel = 2048, zAccel = 2048, temp = 0, BME280pressure = 0, BME280altitude = 0, BME280humidity = 0, BME280temperature = 0, spin = 0; int sensor1 = 0, sensor2 = 2048, sensor3 = 2048; short int buffer_test[bufLen]; @@ -1306,7 +1306,7 @@ if (payload == ON) encodeA(b, 9 + head_offset, battCurr); - encodeB(b, 10 + head_offset,BME280temperature); // Temp + encodeB(b, 10 + head_offset,(int)(BME280temperature * 10 + 0.5)); // Temp if (mode == FSK) { From d79b308c7ecf0bcb16af80ad4dbdba43ec0f0fa8 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 23:34:39 -0500 Subject: [PATCH 139/165] fixed accel telem --- afsk/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 2368f4fe..45ef46cc 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -965,7 +965,7 @@ int get_tlm_fox() { // int xAngularVelocity = 2078, yAngularVelocity = 2078, zAngularVelocity = 2078; // XAxisAngularVelocity Y and Z set to 0 int xAngularVelocity = 2048, yAngularVelocity = 2048, zAngularVelocity = 2048; // XAxisAngularVelocity Y and Z set to 0 int RXTemperature = 0; - int xAccel = 2048, yAccel = 2048, zAccel = 2048, temp = 0, BME280pressure = 0, BME280altitude = 0, BME280humidity = 0, BME280temperature = 0, spin = 0; + int xAccel = 0, yAccel = 0, zAccel = 0, temp = 0, BME280pressure = 0, BME280altitude = 0, BME280humidity = 0, BME280temperature = 0, spin = 0; int sensor1 = 0, sensor2 = 2048, sensor3 = 2048; short int buffer_test[bufLen]; @@ -1299,8 +1299,8 @@ if (payload == ON) encodeA(b, 3 + head_offset, batt_c_v); encodeB(b, 4 + head_offset, (int)(xAccel * 100 + 0.5) + 2048); // Xaccel - encodeB(b, 4 + head_offset, (int)(yAccel * 100 + 0.5) + 2048); // Yaccel - encodeB(b, 4 + head_offset, (int)(zAccel * 100 + 0.5) + 2048); // Zaccel + encodeA(b, 6 + head_offset, (int)(yAccel * 100 + 0.5) + 2048); // Yaccel + encodeB(b, 7 + head_offset, (int)(zAccel * 100 + 0.5) + 2048); // Zaccel // encodeA(b, 6 + head_offset,yAccel); //Yaccel // encodeB(b, 7 + head_offset,zAccel); //Zaccel From 8ffe4ff249fde5b3bab512df6e0374938d2b65ba Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Wed, 9 Dec 2020 23:40:39 -0500 Subject: [PATCH 140/165] Normal mode failure if battery < 3.5 V --- afsk/main.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 45ef46cc..fb076202 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1043,7 +1043,11 @@ if (firstTime != ON) // printf("\n"); batteryVoltage = voltage[map[BAT]]; - + if (batteryVoltage < 3.5) + { + NormalModeFailure = 1; + printf("Safe Mode!\n"); + } FILE *cpuTempSensor = fopen("/sys/class/thermal/thermal_zone0/temp", "r"); if (cpuTempSensor) { double cpuTemp; @@ -1117,7 +1121,11 @@ if (sim_mode) batt -= (batt > 3.5) ? current[map[BAT]]/30000: current[map[BAT]]/3000; if (batt < 3.0) + { batt = 3.0; + NormalModeFailure = 1; + printf("Safe Mode!\n"); + } if (batt > 4.5) batt = 4.5; From 4f6fb4166878e4d542c5fefc74f7eb61808903f7 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 10 Dec 2020 09:18:28 -0500 Subject: [PATCH 141/165] added accel and XS (extra sensors) Sensor1, 2, and 3 --- arduino/Payload_BME280_MPU6050_Pro_Micro.ino | 46 ++++++++++++++++++-- 1 file changed, 42 insertions(+), 4 deletions(-) diff --git a/arduino/Payload_BME280_MPU6050_Pro_Micro.ino b/arduino/Payload_BME280_MPU6050_Pro_Micro.ino index 51173434..a450cf34 100644 --- a/arduino/Payload_BME280_MPU6050_Pro_Micro.ino +++ b/arduino/Payload_BME280_MPU6050_Pro_Micro.ino @@ -16,6 +16,9 @@ long timer = 0; int bmePresent; int greenLED = 9; int blueLED = 8; +int Sensor1 = 0; +int Sensor2 = 0; +float Sensor3 = 0; void setup() { @@ -88,7 +91,21 @@ void loop() { Serial.print(" "); Serial.print(mpu6050.getGyroY()); Serial.print(" "); - Serial.println(mpu6050.getGyroZ()); + Serial.print(mpu6050.getGyroZ()); + + Serial.print(" "); + Serial.print(mpu6050.getAccX()); + Serial.print(" "); + Serial.print(mpu6050.getAccY()); + Serial.print(" "); + Serial.print(mpu6050.getAccZ()); + + Serial.print(" XS "); + Serial.print(Sensor1); + Serial.print(" "); + Serial.print(Sensor2); + Serial.print(" "); + Serial.println(Sensor3); 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()); @@ -143,8 +160,22 @@ void loop() { Serial1.print(" "); Serial1.print(mpu6050.getGyroY()); Serial1.print(" "); - Serial1.println(mpu6050.getGyroZ()); + Serial1.print(mpu6050.getGyroZ()); + Serial1.print(" "); + Serial1.print(mpu6050.getAccX()); + Serial1.print(" "); + Serial1.print(mpu6050.getAccY()); + Serial1.print(" "); + Serial1.print(mpu6050.getAccZ()); + + Serial1.print(" XS "); + Serial1.print(Sensor1)); + Serial1.print(" "); + Serial1.print(Sensor2); + Serial1.print(" "); + Serial1.println(Sensor3); + 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); @@ -159,8 +190,15 @@ void loop() { if (rotation > 5) digitalWrite(blueLED, HIGH); else - digitalWrite(blueLED, LOW); - + digitalWrite(blueLED, LOW); + + Serial1.print(" XS "); + Serial1.print(Sensor1); + Serial1.print(" "); + Serial1.print(Sensor2); + Serial1.print(" "); + Serial1.println(Sensor3); + // Serial1.println(counter++); } #endif From 8a59a54a5f17587a4a791859056dd95c5346df45 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 10 Dec 2020 09:48:08 -0500 Subject: [PATCH 142/165] corrected token read of sensor data --- afsk/main.c | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index fb076202..f59c2727 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1252,18 +1252,37 @@ if (payload == ON) */ if (token != NULL) - token = strtok(NULL, space); // start of BME280 data + { + token = strtok(NULL, space); // start of BME280 data + } if (token != NULL) + { BME280temperature = atof(token); + printf("temperature %f ", BME280temperature); + token = strtok(NULL, space); // get next token + } if (token != NULL) + { BME280pressure = atof(token); + printf("pressure %f ",BME280pressure); + token = strtok(NULL, space); // get next token + } if (token != NULL) + { BME280altitude = atof(token); + printf("altitude %f ",BME280altitude); + token = strtok(NULL, space); // get next token + } if (token != NULL) + { BME280humidity = atof(token); - + printf("humidity %f ",BME280humidity); + token = strtok(NULL, space); // get next token + } if (token != NULL) + { token = strtok(NULL, space); // start of MPU6050 data + } if (token != NULL) { gyroX = atof(token); From 535ffd55767d15278bf99ae8646543df5d3d5e56 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 10 Dec 2020 09:52:24 -0500 Subject: [PATCH 143/165] changed BME280 variables to float --- afsk/main.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index f59c2727..1e613987 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -965,7 +965,9 @@ int get_tlm_fox() { // int xAngularVelocity = 2078, yAngularVelocity = 2078, zAngularVelocity = 2078; // XAxisAngularVelocity Y and Z set to 0 int xAngularVelocity = 2048, yAngularVelocity = 2048, zAngularVelocity = 2048; // XAxisAngularVelocity Y and Z set to 0 int RXTemperature = 0; - int xAccel = 0, yAccel = 0, zAccel = 0, temp = 0, BME280pressure = 0, BME280altitude = 0, BME280humidity = 0, BME280temperature = 0, spin = 0; + int xAccel = 0, yAccel = 0, zAccel = 0, temp = 0, spin = 0; + float BME280pressure = 0.0, BME280altitude = 0.0, BME280humidity = 0.0, BME280temperature = 0.0, XSsensor3 = 0.0; + int XSsensor1 = 0, XSsensor2 = 0; int sensor1 = 0, sensor2 = 2048, sensor3 = 2048; short int buffer_test[bufLen]; From b66743491fd1871d61cabfba70bd652d29faf187 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 10 Dec 2020 10:00:41 -0500 Subject: [PATCH 144/165] fixed encoding of BME280 --- afsk/main.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 1e613987..cfc9397d 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1255,7 +1255,11 @@ if (payload == ON) if (token != NULL) { - token = strtok(NULL, space); // start of BME280 data + token = strtok(NULL, space); // OK token + } + if (token != NULL) + { + token = strtok(NULL, space); // BME280 token } if (token != NULL) { @@ -1373,8 +1377,8 @@ if (payload == ON) encodeA(b, 30 + head_offset,PSUVoltage); encodeB(b, 31 + head_offset,(spin * 10) + 2048); - encodeA(b, 33 + head_offset,BME280pressure); // Pressure - encodeB(b, 34 + head_offset,BME280altitude); // Altitude + encodeA(b, 33 + head_offset,(int)(BME280pressure + 0.5)); // Pressure + encodeB(b, 34 + head_offset,(int)(BME280altitude + 0.5)); // Altitude encodeA(b, 36 + head_offset, Resets); encodeB(b, 37 + head_offset, Rssi); @@ -1385,7 +1389,7 @@ if (payload == ON) encodeA(b, 42 + head_offset, yAngularVelocity); encodeB(b, 43 + head_offset, zAngularVelocity); - encodeA(b, 45 + head_offset, sensor1); + encodeA(b, 45 + head_offset, (int)(BME280humidity + 0.5)); encodeB(b, 46 + head_offset,PSUCurrent); encodeA(b, 48 + head_offset, sensor2); encodeB(b, 49 + head_offset, sensor3); From 2c4dfd489c62db07191e746978ff95f8268886c6 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 10 Dec 2020 10:15:55 -0500 Subject: [PATCH 145/165] sensor fixup --- afsk/main.c | 41 +++++++++++++++++++++++++++++++++-------- 1 file changed, 33 insertions(+), 8 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index cfc9397d..494fb62c 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -967,7 +967,7 @@ int get_tlm_fox() { int RXTemperature = 0; int xAccel = 0, yAccel = 0, zAccel = 0, temp = 0, spin = 0; float BME280pressure = 0.0, BME280altitude = 0.0, BME280humidity = 0.0, BME280temperature = 0.0, XSsensor3 = 0.0; - int XSsensor1 = 0, XSsensor2 = 0; + float XSsensor1 = 0.0, XSsensor2 = 0.0, XSsensor3 = 0.0; int sensor1 = 0, sensor2 = 2048, sensor3 = 2048; short int buffer_test[bufLen]; @@ -1305,21 +1305,46 @@ if (payload == ON) { gyroZ = atof(token); printf("gyroZ %f \n", gyroZ); + token = strtok(NULL, space); } if (token != NULL) { xAccel = atof(token); - printf("accelX %f \n", xAccel); - } + printf("accelX %f ", xAccel); + token = strtok(NULL, space); + } if (token != NULL) { yAccel = atof(token); - printf("accelY %f \n", yAccel); + printf("accelY %f ", yAccel); + token = strtok(NULL, space); } if (token != NULL) { zAccel = atof(token); - printf("accelZ %f \n", zAccel); + printf("accelZ %f ", zAccel); + token = strtok(NULL, space); + } + if (token != NULL) + { + token = strtok(NULL, space); // start of XS extra sensor data + } + if (token != NULL) + { + XSsensor1 = atof(token); + printf("Sensor1%f ", XSsensor1); + token = strtok(NULL, space); + } + if (token != NULL) + { + XSsensor2 = atof(token); + printf("Sensor2 %f ", XSsensor2); + token = strtok(NULL, space); + } + if (token != NULL) + { + XSsensor3 = atof(token); + printf("Sensor3 %f \n", XSsensor3); } xAngularVelocity = (int)(gyroX + 0.5) + 2048; @@ -1389,10 +1414,10 @@ if (payload == ON) encodeA(b, 42 + head_offset, yAngularVelocity); encodeB(b, 43 + head_offset, zAngularVelocity); - encodeA(b, 45 + head_offset, (int)(BME280humidity + 0.5)); + encodeA(b, 45 + head_offset, (int)(BME280humidity + 0.5)); // in place of sensor1 encodeB(b, 46 + head_offset,PSUCurrent); - encodeA(b, 48 + head_offset, sensor2); - encodeB(b, 49 + head_offset, sensor3); + encodeA(b, 48 + head_offset, (int)(XSsensor2)); + encodeB(b, 49 + head_offset, (int)(XSensor3 * 100 + 0.5)); // camera = ON; From b4087cefe5ff70def0043e81da4de1444062e314 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 10 Dec 2020 10:18:48 -0500 Subject: [PATCH 146/165] sensor3 typo --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 494fb62c..659d6cf4 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1417,7 +1417,7 @@ if (payload == ON) encodeA(b, 45 + head_offset, (int)(BME280humidity + 0.5)); // in place of sensor1 encodeB(b, 46 + head_offset,PSUCurrent); encodeA(b, 48 + head_offset, (int)(XSsensor2)); - encodeB(b, 49 + head_offset, (int)(XSensor3 * 100 + 0.5)); + encodeB(b, 49 + head_offset, (int)(XSsensor3 * 100 + 0.5)); // camera = ON; From a714ed69cca946ef5601136a743b1ccacc627600 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 10 Dec 2020 10:25:51 -0500 Subject: [PATCH 147/165] typo --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 659d6cf4..75e2a56d 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -966,7 +966,7 @@ int get_tlm_fox() { int xAngularVelocity = 2048, yAngularVelocity = 2048, zAngularVelocity = 2048; // XAxisAngularVelocity Y and Z set to 0 int RXTemperature = 0; int xAccel = 0, yAccel = 0, zAccel = 0, temp = 0, spin = 0; - float BME280pressure = 0.0, BME280altitude = 0.0, BME280humidity = 0.0, BME280temperature = 0.0, XSsensor3 = 0.0; + float BME280pressure = 0.0, BME280altitude = 0.0, BME280humidity = 0.0, BME280temperature = 0.0; float XSsensor1 = 0.0, XSsensor2 = 0.0, XSsensor3 = 0.0; int sensor1 = 0, sensor2 = 2048, sensor3 = 2048; From a39eafbfc28bfaeb200b4287589d8bb981aec2e5 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 10 Dec 2020 10:33:00 -0500 Subject: [PATCH 148/165] Accel to floats --- afsk/main.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 75e2a56d..1a4c5f58 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -964,8 +964,8 @@ int get_tlm_fox() { // int xAngularVelocity = (-0.69)*(-10)*(-10) + 45.3 * (-10) + 2078, yAngularVelocity = (-0.69)*(-6)*(-6) + 45.3 * (-6) + 2078, zAngularVelocity = (-0.69)*(6)*(6) + 45.3 * (6) + 2078; // XAxisAngularVelocity // int xAngularVelocity = 2078, yAngularVelocity = 2078, zAngularVelocity = 2078; // XAxisAngularVelocity Y and Z set to 0 int xAngularVelocity = 2048, yAngularVelocity = 2048, zAngularVelocity = 2048; // XAxisAngularVelocity Y and Z set to 0 - int RXTemperature = 0; - int xAccel = 0, yAccel = 0, zAccel = 0, temp = 0, spin = 0; + int RXTemperature = 0, temp = 0, spin = 0;; + float xAccel = 0.0, yAccel = 0.0, zAccel = 0.0; float BME280pressure = 0.0, BME280altitude = 0.0, BME280humidity = 0.0, BME280temperature = 0.0; float XSsensor1 = 0.0, XSsensor2 = 0.0, XSsensor3 = 0.0; int sensor1 = 0, sensor2 = 2048, sensor3 = 2048; @@ -1416,8 +1416,8 @@ if (payload == ON) encodeA(b, 45 + head_offset, (int)(BME280humidity + 0.5)); // in place of sensor1 encodeB(b, 46 + head_offset,PSUCurrent); - encodeA(b, 48 + head_offset, (int)(XSsensor2)); - encodeB(b, 49 + head_offset, (int)(XSsensor3 * 100 + 0.5)); + encodeA(b, 48 + head_offset, (int)(XSsensor2) + 2048); + encodeB(b, 49 + head_offset, (int)(XSsensor3 * 100 + 0.5) + 2048); // camera = ON; From c4d90f8ba26a80d820fb0c2b4af128b9248de0f7 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 10 Dec 2020 10:59:38 -0500 Subject: [PATCH 149/165] Try \n? query --- afsk/main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/afsk/main.c b/afsk/main.c index 1a4c5f58..e9d1cf47 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -813,6 +813,7 @@ if (payload == ON) unsigned int waitTime; int i = 0; + serialPutchar (uart_fd, '\n'); serialPutchar (uart_fd, '?'); printf("Querying payload with ?\n"); waitTime = millis() + 500; From 29247884a15c628c348803b4f31ab01d036fd11d Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 10 Dec 2020 11:08:45 -0500 Subject: [PATCH 150/165] Try \n? again --- afsk/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index e9d1cf47..092a77bb 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -813,7 +813,6 @@ if (payload == ON) unsigned int waitTime; int i = 0; - serialPutchar (uart_fd, '\n'); serialPutchar (uart_fd, '?'); printf("Querying payload with ?\n"); waitTime = millis() + 500; @@ -1202,7 +1201,8 @@ if (payload == ON) char c; unsigned int waitTime; int i = 0; - + + serialPutchar (uart_fd, '\n'); serialPutchar (uart_fd, '?'); printf("Querying payload with ?\n"); waitTime = millis() + 500; From 985f3aca4d06e3b11ddfa17537937e2482170870 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 10 Dec 2020 11:12:16 -0500 Subject: [PATCH 151/165] try 19200 serial to UART --- afsk/main.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 092a77bb..73c094a4 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -362,7 +362,7 @@ else { payload = OFF; - if ((uart_fd = serialOpen ("/dev/ttyAMA0", 9600)) >= 0) + if ((uart_fd = serialOpen ("/dev/ttyAMA0", 19200)) >= 0) { char c; unsigned int waitTime; @@ -1200,9 +1200,7 @@ if (payload == ON) char c; unsigned int waitTime; - int i = 0; - - serialPutchar (uart_fd, '\n'); + int i = 0; serialPutchar (uart_fd, '?'); printf("Querying payload with ?\n"); waitTime = millis() + 500; From 46c182e4e154dcd20a9d2fd14bbf39c3bd6f05a3 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 10 Dec 2020 11:19:33 -0500 Subject: [PATCH 152/165] back to 9600 but with Arduino checking for ? --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 73c094a4..d27f786d 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -362,7 +362,7 @@ else { payload = OFF; - if ((uart_fd = serialOpen ("/dev/ttyAMA0", 19200)) >= 0) + if ((uart_fd = serialOpen ("/dev/ttyAMA0", 9600)) >= 0) { char c; unsigned int waitTime; From 0f848d6d46a5adbeb0851b489c77f98bc3f8388a Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 10 Dec 2020 11:22:26 -0500 Subject: [PATCH 153/165] Try 19200 UART --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index d27f786d..73c094a4 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -362,7 +362,7 @@ else { payload = OFF; - if ((uart_fd = serialOpen ("/dev/ttyAMA0", 9600)) >= 0) + if ((uart_fd = serialOpen ("/dev/ttyAMA0", 19200)) >= 0) { char c; unsigned int waitTime; From 3bf456089c2cba4b2f8df4caec478b041f3d6e2b Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 10 Dec 2020 14:00:51 -0500 Subject: [PATCH 154/165] added test for OK in sensor payload and restart --- afsk/main.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/afsk/main.c b/afsk/main.c index 73c094a4..85badd48 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1216,6 +1216,12 @@ if (payload == ON) if (c != '\n') { sensor_payload[i++] = c; + if (i == 2) + if ((sensor_payload[0] != 'O') || (sensor_payload[1] != 'K')) + { + i = 0; // restart read + printf("Restarting sensor read!\n"); + } } else { From 79c7811c14b274c43397bae647bbbf0478602588 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 10 Dec 2020 14:03:45 -0500 Subject: [PATCH 155/165] added printf --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 85badd48..39e8105a 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1220,7 +1220,7 @@ if (payload == ON) if ((sensor_payload[0] != 'O') || (sensor_payload[1] != 'K')) { i = 0; // restart read - printf("Restarting sensor read!\n"); + printf("Restarting sensor read! %c%c\n", sensor_payload[0], sensor_payload[1]); } } else From 6971275a022e672c58face40edd3652e1e44aea2 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 10 Dec 2020 14:07:23 -0500 Subject: [PATCH 156/165] try retry instead of end at \n --- afsk/main.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 39e8105a..d596f5f4 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1205,6 +1205,7 @@ if (payload == ON) printf("Querying payload with ?\n"); waitTime = millis() + 500; int end = FALSE; + int retry = FALSE; while ((millis() < waitTime) && !end) { int chars = serialDataAvail (uart_fd); @@ -1219,13 +1220,16 @@ if (payload == ON) if (i == 2) if ((sensor_payload[0] != 'O') || (sensor_payload[1] != 'K')) { - i = 0; // restart read + retry = TRUE; // restart read printf("Restarting sensor read! %c%c\n", sensor_payload[0], sensor_payload[1]); } } else { - end = TRUE; + if (retry) + i = 0; + else + end = TRUE; } } } From 2c78a95284b6b7a3d6e32cfaffec5a44923514fb Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 10 Dec 2020 14:12:39 -0500 Subject: [PATCH 157/165] try clearing buffer before reading --- afsk/main.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/afsk/main.c b/afsk/main.c index d596f5f4..76daf175 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1199,6 +1199,11 @@ if (payload == ON) STEMBoardFailure = 0; char c; + int charss = serialDataAvail (uart_fd); + printf("Clearing buffer of %d chars \n", charss); + while ((charss-- > 0)) + c = serialGetchar (uart_fd); // clear buffer + unsigned int waitTime; int i = 0; serialPutchar (uart_fd, '?'); From 1919b700469cd3a6f7d9d89f43e5aecc06580096 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 10 Dec 2020 14:16:57 -0500 Subject: [PATCH 158/165] added test for ? and double XS write --- arduino/Payload_BME280_MPU6050_Pro_Micro.ino | 23 ++++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/arduino/Payload_BME280_MPU6050_Pro_Micro.ino b/arduino/Payload_BME280_MPU6050_Pro_Micro.ino index a450cf34..cbe76f48 100644 --- a/arduino/Payload_BME280_MPU6050_Pro_Micro.ino +++ b/arduino/Payload_BME280_MPU6050_Pro_Micro.ino @@ -22,9 +22,9 @@ float Sensor3 = 0; void setup() { - Serial.begin(9600); // Serial Monitor for testing + Serial.begin(19200); // Serial Monitor for testing - Serial1.begin(9600); // Pi UART + Serial1.begin(19200); // Pi UART Serial.println("Starting!"); @@ -71,6 +71,8 @@ void loop() { delay(500); setup(); } + if (result == '?') + { if (bmePresent) { Serial.print("OK BME280 "); Serial.print(bme.readTemperature()); @@ -125,6 +127,7 @@ void loop() { // Serial1.println(counter++); } + } #else if (Serial1.available() > 0) { digitalWrite(RXLED, LOW); // set the RX LED ON @@ -139,7 +142,9 @@ void loop() { Serial1.println("OK"); delay(500); setup(); - } + } + if (result == '?') + { if (bmePresent) { Serial1.print("OK BME280 "); Serial1.print(bme.readTemperature()); @@ -170,7 +175,7 @@ void loop() { Serial1.print(mpu6050.getAccZ()); Serial1.print(" XS "); - Serial1.print(Sensor1)); + Serial1.print(Sensor1); Serial1.print(" "); Serial1.print(Sensor2); Serial1.print(" "); @@ -191,16 +196,10 @@ void loop() { digitalWrite(blueLED, HIGH); else digitalWrite(blueLED, LOW); - - Serial1.print(" XS "); - Serial1.print(Sensor1); - Serial1.print(" "); - Serial1.print(Sensor2); - Serial1.print(" "); - Serial1.println(Sensor3); - + // Serial1.println(counter++); } + } #endif delay(100); From 40b97545cd0a618911c196dd109214c6adaabdb2 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 10 Dec 2020 14:35:57 -0500 Subject: [PATCH 159/165] Payload query cleanup --- afsk/main.c | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 76daf175..64dc5cb1 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -365,6 +365,12 @@ else if ((uart_fd = serialOpen ("/dev/ttyAMA0", 19200)) >= 0) { char c; + int charss = serialDataAvail (uart_fd); + if (charss != 0) + printf("Clearing buffer of %d chars \n", charss); + while ((charss-- > 0)) + c = serialGetchar (uart_fd); // clear buffer + unsigned int waitTime; int i; for(i = 0; i < 2; i++) @@ -810,6 +816,12 @@ char sensor_payload[500]; if (payload == ON) { char c; + int charss = serialDataAvail (uart_fd); + if (charss != 0) + printf("Clearing buffer of %d chars \n", charss); + while ((charss-- > 0)) + c = serialGetchar (uart_fd); // clear buffer + unsigned int waitTime; int i = 0; @@ -1200,7 +1212,8 @@ if (payload == ON) char c; int charss = serialDataAvail (uart_fd); - printf("Clearing buffer of %d chars \n", charss); + if (charss != 0) + printf("Clearing buffer of %d chars \n", charss); while ((charss-- > 0)) c = serialGetchar (uart_fd); // clear buffer @@ -1210,7 +1223,7 @@ if (payload == ON) printf("Querying payload with ?\n"); waitTime = millis() + 500; int end = FALSE; - int retry = FALSE; +// int retry = FALSE; while ((millis() < waitTime) && !end) { int chars = serialDataAvail (uart_fd); @@ -1222,26 +1235,17 @@ if (payload == ON) if (c != '\n') { sensor_payload[i++] = c; - if (i == 2) - if ((sensor_payload[0] != 'O') || (sensor_payload[1] != 'K')) - { - retry = TRUE; // restart read - printf("Restarting sensor read! %c%c\n", sensor_payload[0], sensor_payload[1]); - } } else { - if (retry) - i = 0; - else - end = TRUE; + end = TRUE; } } } sensor_payload[i++] = ' '; - sensor_payload[i++] = '\n'; +// sensor_payload[i++] = '\n'; sensor_payload[i] = '\0'; - printf("Payload string: %s", sensor_payload); + printf("Payload string: %s \n", sensor_payload); int count1; char *token; From 5ac93cfca9e52ca91f9f567e5f81b13717db2a24 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 10 Dec 2020 16:55:23 -0500 Subject: [PATCH 160/165] added simulation tlm for APRS --- afsk/main.c | 109 +++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 91 insertions(+), 18 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index 64dc5cb1..55b16f90 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -696,26 +696,14 @@ for (int j = 0; j < frameCnt; j++) token = strtok(NULL, space); } } - } - - tlm[1][A] = (int)(voltage[map[BUS]] /15.0 + 0.5) % 100; // Current of 5V supply to Pi - tlm[1][B] = (int) (99.5 - current[map[PLUS_X]]/10.0) % 100; // +X current [4] - tlm[1][C] = (int) (99.5 - current[map[MINUS_X]]/10.0) % 100; // X- current [10] - tlm[1][D] = (int) (99.5 - current[map[PLUS_Y]]/10.0) % 100; // +Y current [7] - - tlm[2][A] = (int) (99.5 - current[map[MINUS_Y]]/10.0) % 100; // -Y current [10] - tlm[2][B] = (int) (99.5 - current[map[PLUS_Z]]/10.0) % 100; // +Z current [10] // was 70/2m transponder power, AO-7 didn't have a Z panel - tlm[2][C] = (int) (99.5 - current[map[MINUS_Z]]/10.0) % 100; // -Z current (was timestamp) - tlm[2][D] = (int)(50.5 + current[map[BAT]]/10.0) % 100; // NiMH Battery current + } - tlm[3][A] = abs((int)((voltage[map[BAT]] * 10.0) - 65.5) % 100); - tlm[3][B] = (int)(voltage[map[BUS]] * 10.0) % 100; // 5V supply to Pi - - batteryVoltage = voltage[map[BAT]]; + batteryVoltage = voltage[map[BAT]]; + + double cpuTemp; FILE *cpuTempSensor = fopen("/sys/class/thermal/thermal_zone0/temp", "r"); if (cpuTempSensor) { - double cpuTemp; fscanf (cpuTempSensor, "%lf", &cpuTemp); cpuTemp /= 1000; @@ -723,11 +711,96 @@ for (int j = 0; j < frameCnt; j++) printf("CPU Temp Read: %6.1f\n", cpuTemp); #endif - tlm[4][B] = (int)((95.8 - cpuTemp)/1.48 + 0.5) % 100; - } fclose (cpuTempSensor); + +if (sim_mode) +{ + // simulated telemetry + + double time = (millis() - time_start)/1000.0; + + if ((time - eclipse_time) > period) + { + eclipse = (eclipse == 1) ? 0 : 1; + eclipse_time = time; + printf("\n\nSwitching eclipse mode! \n\n"); + } + +/* + double Xi = eclipse * amps_max[0] * sin(2.0 * 3.14 * time / (46.0 * speed)) * fabs(sin(2.0 * 3.14 * time / (46.0 * speed))) + rnd_float(-2, 2); + double Yi = eclipse * amps_max[1] * sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0)) * fabs(sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0))) + rnd_float(-2, 2); + double Zi = eclipse * amps_max[2] * sin((2.0 * 3.14 * time / (46.0 * speed)) + 3.14 + angle[2]) * fabs(sin((2.0 * 3.14 * time / (46.0 * speed)) + 3.14 + angle[2])) + rnd_float(-2, 2); +*/ + double Xi = eclipse * amps_max[0] * sin(2.0 * 3.14 * time / (46.0 * speed)) + rnd_float(-2, 2); + double Yi = eclipse * amps_max[1] * sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0)) + rnd_float(-2, 2); + double Zi = eclipse * amps_max[2] * sin((2.0 * 3.14 * time / (46.0 * speed)) + 3.14 + angle[2]) + rnd_float(-2, 2); + + double Xv = eclipse * volts_max[0] * sin(2.0 * 3.14 * time / (46.0 * speed)) + rnd_float(-0.2, 0.2); + double Yv = eclipse * volts_max[1] * sin((2.0 * 3.14 * time / (46.0 * speed)) + (3.14/2.0)) + rnd_float(-0.2, 0.2); + double Zv = 2.0 * eclipse * volts_max[2] * sin((2.0 * 3.14 * time / (46.0 * speed)) + 3.14 + angle[2]) + rnd_float(-0.2, 0.2); + + // printf("Yi: %f Zi: %f %f %f Zv: %f \n", Yi, Zi, amps_max[2], angle[2], Zv); + + current[map[PLUS_X]] = ( Xi >= 0) ? Xi: 0; + current[map[MINUS_X]] = ( Xi >= 0) ? 0: ((-1.0) * Xi); + current[map[PLUS_Y]] = ( Yi >= 0) ? Yi: 0; + current[map[MINUS_Y]] = ( Yi >= 0) ? 0: ((-1.0) * Yi); + current[map[PLUS_Z]] = ( Zi >= 0) ? Zi: 0; + current[map[MINUS_Z]] = ( Zi >= 0) ? 0: ((-1.0) * Zi); + + voltage[map[PLUS_X]] = ( Xv >= 1) ? Xv: rnd_float(0.9, 1.1); + voltage[map[MINUS_X]] = ( Xv <= -1) ? ((-1.0) * Xv): rnd_float(0.9, 1.1); + voltage[map[PLUS_Y]] = ( Yv >= 1) ? Yv: rnd_float(0.9, 1.1); + voltage[map[MINUS_Y]] = ( Yv <= -1) ? ((-1.0) * Yv): rnd_float(0.9, 1.1); + voltage[map[PLUS_Z]] = ( Zv >= 1) ? Zv: rnd_float(0.9, 1.1); + voltage[map[MINUS_Z]] = ( Zv <= -1) ? ((-1.0) * Zv): rnd_float(0.9, 1.1); + + // printf("temp: %f Time: %f Eclipse: %d : %f %f | %f %f | %f %f\n",tempS, time, eclipse, voltage[map[PLUS_X]], voltage[map[MINUS_X]], voltage[map[PLUS_Y]], voltage[map[MINUS_Y]], current[map[PLUS_Z]], current[map[MINUS_Z]]); + + tempS += (eclipse > 0) ? ((temp_max - tempS)/50.0): ((temp_min - tempS)/50.0); + cpuTemp = (int)((tempS + rnd_float(-1.0, 1.0)) * 10 + 0.5); + + voltage[map[BUS]] = rnd_float(5.0, 5.005); + current[map[BUS]] = rnd_float(158, 171); + +// float charging = current[map[PLUS_X]] + current[map[MINUS_X]] + current[map[PLUS_Y]] + current[map[MINUS_Y]] + current[map[PLUS_Z]] + current[map[MINUS_Z]]; + float charging = eclipse * (fabs(amps_max[0] * 0.707) + fabs(amps_max[1] * 0.707) + rnd_float(-4.0, 4.0)); + + current[map[BAT]] = ((current[map[BUS]] * voltage[map[BUS]]) / (batt * 1.0)) - charging; + +// printf("charging: %f bat curr: %f bus curr: %f bat volt: %f bus volt: %f \n",charging, current[map[BAT]], current[map[BUS]], batt, voltage[map[BUS]]); + + batt -= (batt > 3.5) ? current[map[BAT]]/30000: current[map[BAT]]/3000; + if (batt < 3.0) + { + batt = 3.0; + NormalModeFailure = 1; + printf("Safe Mode!\n"); + } + if (batt > 4.5) + batt = 4.5; + + voltage[map[BAT]] = batt + rnd_float(-0.01, 0.01); + +// end of simulated telemetry +} + tlm[1][A] = (int)(voltage[map[BUS]] /15.0 + 0.5) % 100; // Current of 5V supply to Pi + tlm[1][B] = (int) (99.5 - current[map[PLUS_X]]/10.0) % 100; // +X current [4] + tlm[1][C] = (int) (99.5 - current[map[MINUS_X]]/10.0) % 100; // X- current [10] + tlm[1][D] = (int) (99.5 - current[map[PLUS_Y]]/10.0) % 100; // +Y current [7] + + tlm[2][A] = (int) (99.5 - current[map[MINUS_Y]]/10.0) % 100; // -Y current [10] + tlm[2][B] = (int) (99.5 - current[map[PLUS_Z]]/10.0) % 100; // +Z current [10] // was 70/2m transponder power, AO-7 didn't have a Z panel + tlm[2][C] = (int) (99.5 - current[map[MINUS_Z]]/10.0) % 100; // -Z current (was timestamp) + tlm[2][D] = (int)(50.5 + current[map[BAT]]/10.0) % 100; // NiMH Battery current + + tlm[3][A] = abs((int)((voltage[map[BAT]] * 10.0) - 65.5) % 100); + tlm[3][B] = (int)(voltage[map[BUS]] * 10.0) % 100; // 5V supply to Pi + + tlm[4][B] = (int)((95.8 - cpuTemp)/1.48 + 0.5) % 100; + tlm[6][B] = 0 ; tlm[6][D] = 49 + rand() % 3; From 6df61e363f9e02c2980bd91f7f99cc58cff877a0 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 10 Dec 2020 16:56:53 -0500 Subject: [PATCH 161/165] removed NormalModeFailure from APRS --- afsk/main.c | 1 - 1 file changed, 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 55b16f90..017becda 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -776,7 +776,6 @@ if (sim_mode) if (batt < 3.0) { batt = 3.0; - NormalModeFailure = 1; printf("Safe Mode!\n"); } if (batt > 4.5) From 335b1428960ce16f2e0903e3e8ab37c5cc402cab Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 10 Dec 2020 17:18:12 -0500 Subject: [PATCH 162/165] fixed cpuTemp in APRS simulated mode --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index 017becda..c6302ae4 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -760,7 +760,7 @@ if (sim_mode) // printf("temp: %f Time: %f Eclipse: %d : %f %f | %f %f | %f %f\n",tempS, time, eclipse, voltage[map[PLUS_X]], voltage[map[MINUS_X]], voltage[map[PLUS_Y]], voltage[map[MINUS_Y]], current[map[PLUS_Z]], current[map[MINUS_Z]]); tempS += (eclipse > 0) ? ((temp_max - tempS)/50.0): ((temp_min - tempS)/50.0); - cpuTemp = (int)((tempS + rnd_float(-1.0, 1.0)) * 10 + 0.5); + cpuTemp = tempS + rnd_float(-1.0, 1.0); voltage[map[BUS]] = rnd_float(5.0, 5.005); current[map[BUS]] = rnd_float(158, 171); From 7e42606d145732d47636e96eb9d4d7827a33da15 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Fri, 11 Dec 2020 09:16:11 -0500 Subject: [PATCH 163/165] changed back to 9600 UART to arduino --- afsk/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index c6302ae4..bae2f054 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -362,7 +362,7 @@ else { payload = OFF; - if ((uart_fd = serialOpen ("/dev/ttyAMA0", 19200)) >= 0) + if ((uart_fd = serialOpen ("/dev/ttyAMA0", 9600)) >= 0) { char c; int charss = serialDataAvail (uart_fd); From a5e2760ceddac446d1fee00c9fe94caab43a11d7 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Fri, 11 Dec 2020 09:22:37 -0500 Subject: [PATCH 164/165] changed back to 9600 --- arduino/Payload_BME280_MPU6050_Pro_Micro.ino | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arduino/Payload_BME280_MPU6050_Pro_Micro.ino b/arduino/Payload_BME280_MPU6050_Pro_Micro.ino index cbe76f48..5544aa72 100644 --- a/arduino/Payload_BME280_MPU6050_Pro_Micro.ino +++ b/arduino/Payload_BME280_MPU6050_Pro_Micro.ino @@ -22,9 +22,9 @@ float Sensor3 = 0; void setup() { - Serial.begin(19200); // Serial Monitor for testing + Serial.begin(9600); // Serial Monitor for testing - Serial1.begin(19200); // Pi UART + Serial1.begin(9600); // Pi UART Serial.println("Starting!"); From 15eb474e07c967ac22a4836f47031d1ffe3990c0 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Fri, 11 Dec 2020 12:53:47 -0500 Subject: [PATCH 165/165] reset NormalModeFailure when V > 3.5V --- afsk/main.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/afsk/main.c b/afsk/main.c index bae2f054..5f33428d 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -1128,12 +1128,16 @@ if (firstTime != ON) // printf("\n"); + batteryVoltage = voltage[map[BAT]]; if (batteryVoltage < 3.5) { NormalModeFailure = 1; printf("Safe Mode!\n"); - } + } + else + NormalModeFailure = 0; + FILE *cpuTempSensor = fopen("/sys/class/thermal/thermal_zone0/temp", "r"); if (cpuTempSensor) { double cpuTemp; @@ -1212,6 +1216,9 @@ if (sim_mode) NormalModeFailure = 1; printf("Safe Mode!\n"); } + else + NormalModeFailure = 0; + if (batt > 4.5) batt = 4.5;