From f7b97a73f073606a484e4c1e1aa1d1e55c7652b3 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 14:07:26 -0400 Subject: [PATCH 01/35] Update cubesatsim.h --- cubesatsim/cubesatsim.h | 1 + 1 file changed, 1 insertion(+) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index 3d32e1a5..c5cb556c 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -119,6 +119,7 @@ void blink_setup(); short eeprom_word_read(int addr); void eeprom_word_write(int addr, int val); void read_payload(); +void start_ina219(); extern int Encode_8b10b[][256]; From f87dc72283bc0588ce5e98e1baa01ebf147e8187 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 14:13:14 -0400 Subject: [PATCH 02/35] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 73 ++++++++++++++++++++------------------- 1 file changed, 38 insertions(+), 35 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 7085d36a..5eab7fab 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -68,7 +68,7 @@ void setup() { Serial.println("\n\nCubeSatSim Pico v0.1 starting...\n\n"); - mode = AFSK; + mode = FSK; // AFSK; // mode = FSK; // frameCnt = 1; @@ -156,34 +156,8 @@ void setup() { } -// configure ina219s - - pinMode(MAIN_INA219, OUTPUT); - digitalWrite(MAIN_INA219, HIGH); - - ina219_1_0x40.begin(); - ina219_1_0x41.begin(); - ina219_1_0x44.begin(); - ina219_1_0x45.begin(); - - Wire1.setSDA(2); - Wire1.setSCL(3); - Wire1.begin(); - - ina219_2_0x40.begin(&Wire1); - ina219_2_0x41.begin(&Wire1); - ina219_2_0x44.begin(&Wire1); - ina219_2_0x45.begin(&Wire1); - - ina219_1_0x40.setCalibration_16V_400mA(); - ina219_1_0x41.setCalibration_16V_400mA(); - ina219_1_0x44.setCalibration_16V_400mA(); - ina219_1_0x45.setCalibration_16V_400mA(); - - ina219_2_0x40.setCalibration_16V_400mA(); - ina219_2_0x41.setCalibration_16V_400mA(); - ina219_2_0x44.setCalibration_16V_400mA(); - ina219_2_0x45.setCalibration_16V_400mA(); +// configure ina219s +start_ina219(); // configure STEM Payload sensors start_payload(); @@ -197,19 +171,17 @@ void loop() { loop_count++; // query INA219 sensors and Payload sensors - read_ina219(); - + read_ina219(); read_payload(); - // encode as digits (APRS or CW mode) or binary (DUV FSK) - + // encode as digits (APRS or CW mode) or binary (DUV FSK) if ((mode == BPSK) || (mode == FSK)) get_tlm_fox(); else if (mode == AFSK) send_packet(); delay(2000); -// test_radio(); + test_radio(); digitalWrite(LED_BUILTIN, LOW); @@ -225,7 +197,6 @@ void loop() { } void send_packet() { - // encode telemetry get_tlm_ao7(); @@ -756,6 +727,7 @@ void get_tlm_fox() { data = val & 1 << (bit - 1); // printf ("%d i: %d new frame %d data10[%d] = %x bit %d = %d \n", // ctr/SAMPLES, i, frames, symbol, val, bit, (data > 0) ); + Serial.print(val, HEX); // Debugging print!!! if (mode == FSK) { phase = ((data != 0) * 2) - 1; // printf("Sending a %d\n", phase); @@ -772,6 +744,7 @@ void get_tlm_fox() { } } } + Serial.println(" "); } void write_wave(int i, short int *buffer) @@ -1931,3 +1904,33 @@ void led_set(int ledPin, bool state) digitalWrite(ledPin, state); #endif } + +void start_ina219() { + + pinMode(MAIN_INA219, OUTPUT); + digitalWrite(MAIN_INA219, HIGH); + + ina219_1_0x40.begin(); + ina219_1_0x41.begin(); + ina219_1_0x44.begin(); + ina219_1_0x45.begin(); + + Wire1.setSDA(2); + Wire1.setSCL(3); + Wire1.begin(); + + ina219_2_0x40.begin(&Wire1); + ina219_2_0x41.begin(&Wire1); + ina219_2_0x44.begin(&Wire1); + ina219_2_0x45.begin(&Wire1); + + ina219_1_0x40.setCalibration_16V_400mA(); + ina219_1_0x41.setCalibration_16V_400mA(); + ina219_1_0x44.setCalibration_16V_400mA(); + ina219_1_0x45.setCalibration_16V_400mA(); + + ina219_2_0x40.setCalibration_16V_400mA(); + ina219_2_0x41.setCalibration_16V_400mA(); + ina219_2_0x44.setCalibration_16V_400mA(); + ina219_2_0x45.setCalibration_16V_400mA(); +} From fa4f6755b67e3498edb100308ba77b2901229339 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 14:16:50 -0400 Subject: [PATCH 03/35] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 5eab7fab..850221a3 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -286,6 +286,8 @@ void get_tlm_ao7() { } void get_tlm_fox() { + Serial.println("get_tlm_fox"); + int i; long int sync = syncWord; smaller = (int) (S_RATE / (2 * freq_Hz)); @@ -332,12 +334,12 @@ void get_tlm_fox() { sleep(0.1); // 25); // 0.5); // 25); // sleep((unsigned int)sleepTime); /**/ - printf("Sleep period: %d\n", millis() - startSleep); + Serial.println"Sleep period: %d\n", millis() - startSleep); fflush(stdout); sampleTime = (unsigned int) millis(); } else - printf("first time - no sleep\n"); + Serial.println("first time - no sleep\n"); // if (mode == FSK) { // just moved @@ -363,7 +365,7 @@ void get_tlm_fox() { if (mode == FSK) { if (loop_count % 32 == 0) { // was 8 /// was loop now loop_count - printf("Sending MIN frame \n"); + Serial.println("Sending MIN frame \n"); frm_type = 0x03; for (int count1 = 0; count1 < 17; count1++) { if (count1 < 3) @@ -377,7 +379,7 @@ void get_tlm_fox() { } } if ((loop_count + 16) % 32 == 0) { // was 8 - printf("Sending MAX frame \n"); + Serial.println("Sending MAX frame \n"); frm_type = 0x02; for (int count1 = 0; count1 < 17; count1++) { if (count1 < 3) From e083229a6a157eec362797dbeac80ebba4f3e41e Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 14:18:36 -0400 Subject: [PATCH 04/35] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 850221a3..3f44e921 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -334,8 +334,9 @@ void get_tlm_fox() { sleep(0.1); // 25); // 0.5); // 25); // sleep((unsigned int)sleepTime); /**/ - Serial.println"Sleep period: %d\n", millis() - startSleep); - fflush(stdout); + Serial.print("Sleep period: "); + Serial.println(millis() - startSleep); +// fflush(stdout); sampleTime = (unsigned int) millis(); } else From 312f6cec0b352a88f42938abe82db7009912157e Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 14:21:21 -0400 Subject: [PATCH 05/35] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 3f44e921..c59bb1c8 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -319,10 +319,10 @@ void get_tlm_fox() { id = 7; else id = 0; // 99 in h[6] - + Serial.println("About to do frame loop"); // for (int frames = 0; frames < FRAME_CNT; frames++) for (int frames = 0; frames < frameCnt; frames++) { - + Serial.println("Frame loop); if (firstTime != ON) { // delay for sample period /**/ From efe389e1295ef63404d7859b505fe7b81d2baf6b Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 14:22:06 -0400 Subject: [PATCH 06/35] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index c59bb1c8..8b37cdca 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -322,7 +322,7 @@ void get_tlm_fox() { Serial.println("About to do frame loop"); // for (int frames = 0; frames < FRAME_CNT; frames++) for (int frames = 0; frames < frameCnt; frames++) { - Serial.println("Frame loop); + Serial.println("Frame loop"); if (firstTime != ON) { // delay for sample period /**/ From 8d233c9932105cb6617a3aad5385037c74ad3af1 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 14:24:16 -0400 Subject: [PATCH 07/35] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 8b37cdca..edec73c5 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -70,8 +70,7 @@ void setup() { mode = FSK; // AFSK; -// mode = FSK; -// frameCnt = 1; + frameCnt = 1; Serial.println("v1 Present with UHF BPF\n"); txLed = 2; @@ -319,7 +318,8 @@ void get_tlm_fox() { id = 7; else id = 0; // 99 in h[6] - Serial.println("About to do frame loop"); + Serial.println("About to do frame loop"); + // for (int frames = 0; frames < FRAME_CNT; frames++) for (int frames = 0; frames < frameCnt; frames++) { Serial.println("Frame loop"); From d2aefb02b7db16e7400a35b26393a8c1775481bb Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 14:28:28 -0400 Subject: [PATCH 08/35] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index edec73c5..971b1aa1 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -355,7 +355,9 @@ void get_tlm_fox() { if (current[count1] > current_max[count1]) current_max[count1] = current[count1]; // printf("Vmin %4.2f Vmax %4.2f Imin %4.2f Imax %4.2f \n", voltage_min[count1], voltage_max[count1], current_min[count1], current_max[count1]); + Serial.print(voltage_min[count1]); } + Serial.println(" "); for (int count1 = 0; count1 < 3; count1++) { if (other[count1] < other_min[count1]) other_min[count1] = other[count1]; @@ -366,7 +368,7 @@ void get_tlm_fox() { if (mode == FSK) { if (loop_count % 32 == 0) { // was 8 /// was loop now loop_count - Serial.println("Sending MIN frame \n"); + Serial.println("Sending MIN frame"); frm_type = 0x03; for (int count1 = 0; count1 < 17; count1++) { if (count1 < 3) @@ -380,7 +382,7 @@ void get_tlm_fox() { } } if ((loop_count + 16) % 32 == 0) { // was 8 - Serial.println("Sending MAX frame \n"); + Serial.println("Sending MAX frame"); frm_type = 0x02; for (int count1 = 0; count1 < 17; count1++) { if (count1 < 3) @@ -392,6 +394,7 @@ void get_tlm_fox() { if (sensor_max[count1] != -1000.0) // make sure values are valid sensor[count1] = sensor_max[count1]; } + Serial.println("Sending regular frame"); } } else From df0828ec94ac1eaa3fe1d484819fb53360a26679 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 14:40:48 -0400 Subject: [PATCH 09/35] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 971b1aa1..9b4f1ff8 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -356,6 +356,7 @@ void get_tlm_fox() { current_max[count1] = current[count1]; // printf("Vmin %4.2f Vmax %4.2f Imin %4.2f Imax %4.2f \n", voltage_min[count1], voltage_max[count1], current_min[count1], current_max[count1]); Serial.print(voltage_min[count1]); + Serial.print(" "); } Serial.println(" "); for (int count1 = 0; count1 < 3; count1++) { @@ -363,9 +364,11 @@ void get_tlm_fox() { other_min[count1] = other[count1]; if (other[count1] > other_max[count1]) other_max[count1] = other[count1]; - // printf("Other min %f max %f \n", other_min[count1], other_max[count1]); + Serial.print(other_min[count1]); + Serial.print(" "); } - if (mode == FSK) + Serial.println(" "); + if (mode == FSK) { if (loop_count % 32 == 0) { // was 8 /// was loop now loop_count Serial.println("Sending MIN frame"); From ebd19ad444791d8bf45085903f4a76111e893834 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 14:48:28 -0400 Subject: [PATCH 10/35] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 9b4f1ff8..8f21f7df 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -370,6 +370,7 @@ void get_tlm_fox() { Serial.println(" "); if (mode == FSK) { + Serial.println("Starting"); if (loop_count % 32 == 0) { // was 8 /// was loop now loop_count Serial.println("Sending MIN frame"); frm_type = 0x03; @@ -399,10 +400,12 @@ void get_tlm_fox() { } Serial.println("Sending regular frame"); } + Serial.println("Here"); } else frm_type = 0x02; // BPSK always send MAX MIN frame - } + } + Serial.println("Continuing"); sensor_payload[0] = 0; // clear for next payload // if (mode == FSK) { // remove this From 62a0725a805ccce42be18be5e6ab39316c40a226 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 14:56:42 -0400 Subject: [PATCH 11/35] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 8f21f7df..0bde55d1 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -398,7 +398,6 @@ void get_tlm_fox() { if (sensor_max[count1] != -1000.0) // make sure values are valid sensor[count1] = sensor_max[count1]; } - Serial.println("Sending regular frame"); } Serial.println("Here"); } @@ -412,6 +411,8 @@ void get_tlm_fox() { // } memset(rs_frame, 0, sizeof(rs_frame)); memset(parities, 0, sizeof(parities)); + Serial.println("After memset"); + h[0] = (short int) ((h[0] & 0xf8) | (id & 0x07)); // 3 bits if (uptime != 0) // if uptime is 0, leave reset count at 0 { From 7aba0c0584431747a899b76c23a57db247f37ffa Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 14:59:51 -0400 Subject: [PATCH 12/35] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 0bde55d1..21403b16 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -608,7 +608,8 @@ void get_tlm_fox() { encodeA(b, 63 + head_offset, 0x00); encodeA(b, 62 + head_offset, 0x01); encodeB(b, 74 + head_offset, 0xfff); - } + } + Serial.println("Finished encoding"); short int data10[headerLen + rsFrames * (rsFrameLen + parityLen)]; short int data8[headerLen + rsFrames * (rsFrameLen + parityLen)]; int ctr1 = 0; From 3454cd1548cc56ea26f55251572ca55ff6a4f612 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 15:05:07 -0400 Subject: [PATCH 13/35] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 21403b16..7b3aa16f 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -443,7 +443,7 @@ void get_tlm_fox() { battCurr = (int)(current[mapping[BAT]] + 0.5) + 2048; PSUVoltage = (int)(voltage[mapping[BUS]] * 100); PSUCurrent = (int)(current[mapping[BUS]] + 0.5) + 2048; - if (payload == ON) +// if (payload == ON) STEMBoardFailure = 0; // read payload sensor if available encodeA(b, 0 + head_offset, batt_a_v); From 56489a35c4bc89adff6a13fa9cf6a2248d8659a1 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 15:07:40 -0400 Subject: [PATCH 14/35] Update cubesatsim.h --- cubesatsim/cubesatsim.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index c5cb556c..110098c8 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -164,7 +164,7 @@ int uart_fd; int reset_count = 0; float uptime_sec = 0; -long int uptime; +long int uptime = 0; char call[5]; char sim_yes[10]; From cb174b3c86e9548c0d95f33e249a8f4afea59b24 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 15:08:01 -0400 Subject: [PATCH 15/35] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 1 + 1 file changed, 1 insertion(+) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 7b3aa16f..8b29aebc 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -414,6 +414,7 @@ void get_tlm_fox() { Serial.println("After memset"); h[0] = (short int) ((h[0] & 0xf8) | (id & 0x07)); // 3 bits + Serial.println("After h[0]"); if (uptime != 0) // if uptime is 0, leave reset count at 0 { h[0] = (short int) ((h[0] & 0x07) | ((reset_count & 0x1f) << 3)); From 6c09db2e64be17500e9a7be6ce497c65a26712b8 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 15:16:31 -0400 Subject: [PATCH 16/35] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 8b29aebc..e9d6f808 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -314,6 +314,9 @@ void get_tlm_fox() { int buffSize; buffSize = (int) sizeof(buffer_test); + for (n = 0; n < 17; n++) + sensor[n] = 1.0; + if (mode == FSK) id = 7; else @@ -417,6 +420,7 @@ void get_tlm_fox() { Serial.println("After h[0]"); if (uptime != 0) // if uptime is 0, leave reset count at 0 { + Serial.println("After uptime test"); h[0] = (short int) ((h[0] & 0x07) | ((reset_count & 0x1f) << 3)); h[1] = (short int) ((reset_count >> 5) & 0xff); h[2] = (short int) ((h[2] & 0xf8) | ((reset_count >> 13) & 0x07)); @@ -426,6 +430,7 @@ void get_tlm_fox() { h[4] = (short int) ((uptime >> 13) & 0xff); h[5] = (short int) ((h[5] & 0xf0) | ((uptime >> 21) & 0x0f)); h[5] = (short int) ((h[5] & 0x0f) | (frm_type << 4)); + Serial.println("h[5]"); if (mode == BPSK) h[6] = 99; posXi = (int)(current[mapping[PLUS_X]] + 0.5) + 2048; @@ -447,7 +452,9 @@ void get_tlm_fox() { // if (payload == ON) STEMBoardFailure = 0; // read payload sensor if available + Serial.println("Before encoding"); encodeA(b, 0 + head_offset, batt_a_v); + Serial.println("After encoding"); encodeB(b, 1 + head_offset, batt_b_v); encodeA(b, 3 + head_offset, batt_c_v); encodeB(b, 4 + head_offset, (int)(sensor[ACCEL_X] * 100 + 0.5) + 2048); // Xaccel From 1672294b356eeed0ab4c8eafccfcf1b2727538ec Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 15:17:49 -0400 Subject: [PATCH 17/35] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index e9d6f808..9f5fd349 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -314,7 +314,7 @@ void get_tlm_fox() { int buffSize; buffSize = (int) sizeof(buffer_test); - for (n = 0; n < 17; n++) + for (int n = 0; n < 17; n++) sensor[n] = 1.0; if (mode == FSK) From daa8dcc9b896c3b36fd78ec7064f7b2c313c4a6e Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 15:21:11 -0400 Subject: [PATCH 18/35] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 9f5fd349..1ab79cc9 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -461,7 +461,8 @@ void get_tlm_fox() { encodeA(b, 6 + head_offset, (int)(sensor[ACCEL_Y] * 100 + 0.5) + 2048); // Yaccel encodeB(b, 7 + head_offset, (int)(sensor[ACCEL_Z] * 100 + 0.5) + 2048); // Zaccel encodeA(b, 9 + head_offset, battCurr); - encodeB(b, 10 + head_offset, (int)(sensor[TEMP] * 10 + 0.5)); // Temp + encodeB(b, 10 + head_offset, (int)(sensor[TEMP] * 10 + 0.5)); // Temp + Serial.println("A"); if (mode == FSK) { encodeA(b, 12 + head_offset, posXv); encodeB(b, 13 + head_offset, negXv); @@ -475,6 +476,7 @@ void get_tlm_fox() { encodeB(b, 25 + head_offset, negYi); encodeA(b, 27 + head_offset, posZi); encodeB(b, 28 + head_offset, negZi); + Serial.println("B"); } else // BPSK { encodeA(b, 12 + head_offset, posXv); @@ -585,7 +587,8 @@ void get_tlm_fox() { encodeA(b_min, 48 + head_offset, 2048); encodeB(b_min, 49 + head_offset, 2048); } - } + } + Serial.println("C"); encodeA(b, 30 + head_offset, PSUVoltage); encodeB(b, 31 + head_offset, ((int)(other[SPIN] * 10)) + 2048); encodeA(b, 33 + head_offset, (int)(sensor[PRES] + 0.5)); // Pressure From 8bad2d4ae09d38676d777859fd205b02fe82b2da Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 15:23:35 -0400 Subject: [PATCH 19/35] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 1ab79cc9..59beced9 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -603,15 +603,17 @@ void get_tlm_fox() { encodeB(b, 46 + head_offset, PSUCurrent); encodeA(b, 48 + head_offset, (int)(sensor[XS1] * 10 + 0.5) + 2048); encodeB(b, 49 + head_offset, (int)(sensor[XS2] * 10 + 0.5) + 2048); + Serial.println("D"); int status = STEMBoardFailure + SafeMode * 2 + sim_mode * 4 + PayloadFailure1 * 8 + (i2c_bus0 == OFF) * 16 + (i2c_bus1 == OFF) * 32 + (i2c_bus3 == OFF) * 64 + (camera == OFF) * 128 + groundCommandCount * 256; encodeA(b, 51 + head_offset, status); encodeB(b, 52 + head_offset, rxAntennaDeployed + txAntennaDeployed * 2); + Serial.println("E"); if (txAntennaDeployed == 0) { txAntennaDeployed = 1; printf("TX Antenna Deployed!\n"); } - + Serial.println("F"); if (mode == BPSK) { // wod field experiments unsigned long val = 0xffff; encodeA(b, 64 + head_offset, 0xff & val); From eb8db0d44ac0efc7ca6d39341972c6380c96bc32 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 15:25:40 -0400 Subject: [PATCH 20/35] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 59beced9..5c953402 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -611,7 +611,7 @@ void get_tlm_fox() { Serial.println("E"); if (txAntennaDeployed == 0) { txAntennaDeployed = 1; - printf("TX Antenna Deployed!\n"); + Serial.println("TX Antenna Deployed!"); } Serial.println("F"); if (mode == BPSK) { // wod field experiments From 50db535c76a944d2d9dea36ea00f65e9d0b5998e Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 15:29:26 -0400 Subject: [PATCH 21/35] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 5c953402..da3b72ba 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -754,7 +754,8 @@ void get_tlm_fox() { data = val & 1 << (bit - 1); // printf ("%d i: %d new frame %d data10[%d] = %x bit %d = %d \n", // ctr/SAMPLES, i, frames, symbol, val, bit, (data > 0) ); - Serial.print(val, HEX); // Debugging print!!! + Serial.print(val, HEX); // Debugging print!!! + Serial.print(" "); if (mode == FSK) { phase = ((data != 0) * 2) - 1; // printf("Sending a %d\n", phase); @@ -768,10 +769,13 @@ void get_tlm_fox() { flip_ctr = ctr; } } + Serial.println("AA"); } + Serial.println("BB"); } } Serial.println(" "); + Serial.println("Returning"); } void write_wave(int i, short int *buffer) From e5eb0a3ba6ef29d5df60247a3bdcb2df285d9153 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 15:33:08 -0400 Subject: [PATCH 22/35] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index da3b72ba..add14dfa 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -744,6 +744,7 @@ void get_tlm_fox() { /// #ifdef DEBUG_LOGGING // printf("\n\nValue of ctr after header: %d Buffer Len: %d\n\n", ctr, buffSize); /// #endif + Serial.println(10 * (headerLen + dataLen * payloads + rsFrames * parityLen) * samples); for (i = 1; i <= (10 * (headerLen + dataLen * payloads + rsFrames * parityLen) * samples); i++) // 572 { write_wave(ctr, buffer); @@ -773,6 +774,7 @@ void get_tlm_fox() { } Serial.println("BB"); } + Serial.println("CC"); } Serial.println(" "); Serial.println("Returning"); From 6b4ba45138d15599d53e31fda125981e7521f6a5 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 15:36:36 -0400 Subject: [PATCH 23/35] Update cubesatsim.h --- cubesatsim/cubesatsim.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index 110098c8..3c5ade9b 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -132,7 +132,7 @@ int testCount = 0; long time_start; //char cmdbuffer[1000]; FILE * file1; -short int buffer[10240]; // was 2336400]; // max size for 10 frames count of BPSK +short int buffer[250000]; // 10240]; // was 2336400]; // max size for 10 frames count of BPSK FILE *sopen(const char *program); #define S_RATE (48000) // (44100) From 9b2759236d9876a47efc3835504de00e07d70d6a Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 15:40:41 -0400 Subject: [PATCH 24/35] Update cubesatsim.h --- cubesatsim/cubesatsim.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index 3c5ade9b..f8dbcf5c 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -135,7 +135,7 @@ FILE * file1; short int buffer[250000]; // 10240]; // was 2336400]; // max size for 10 frames count of BPSK FILE *sopen(const char *program); -#define S_RATE (48000) // (44100) +#define S_RATE (8000) //(48000) // (44100) #define AFSK 1 #define FSK 2 From 8bd9b92ce41e74bf32e62d72c073696451808381 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 15:42:28 -0400 Subject: [PATCH 25/35] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index add14dfa..e4c38351 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -95,11 +95,13 @@ void setup() { parityLen = 32; amplitude = 32767 / 3; samples = S_RATE / bitRate; + Serial.println(samples); bufLen = (frameCnt * (syncBits + 10 * (headerLen + rsFrames * (rsFrameLen + parityLen))) * samples); - + Serial.println(bufLen); samplePeriod = (int) (((float)((syncBits + 10 * (headerLen + rsFrames * (rsFrameLen + parityLen)))) / (float) bitRate) * 1000 - 500); - sleepTime = 0.1f; - + sleepTime = 0.1; + Serial.println(samplePeriod); + frameTime = ((float)((float)bufLen / (samples * frameCnt * bitRate))) * 1000; // frame time in ms // printf("\n FSK Mode, %d bits per frame, %d bits per second, %d ms per frame, %d ms sample period\n", From 516268950bf898eb9f2233c9580da62e0a4864e1 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 15:43:08 -0400 Subject: [PATCH 26/35] Update cubesatsim.h --- cubesatsim/cubesatsim.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index f8dbcf5c..c36334ae 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -132,7 +132,7 @@ int testCount = 0; long time_start; //char cmdbuffer[1000]; FILE * file1; -short int buffer[250000]; // 10240]; // was 2336400]; // max size for 10 frames count of BPSK +short int buffer[25000]; // 10240]; // was 2336400]; // max size for 10 frames count of BPSK FILE *sopen(const char *program); #define S_RATE (8000) //(48000) // (44100) From 4192dc74518540b0d558f58722302ef96c11e0ba Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 15:46:39 -0400 Subject: [PATCH 27/35] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index e4c38351..695a48ed 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -44,7 +44,7 @@ void setup() { Serial.begin(9600); - delay(2000); + delay(12000); #ifndef ARDUINO_ARCH_RP2040 Serial.println("This code is written for the Raspberry Pi Pico hardware."); @@ -772,9 +772,9 @@ void get_tlm_fox() { flip_ctr = ctr; } } - Serial.println("AA"); +// Serial.println("AA"); } - Serial.println("BB"); +// Serial.println("BB"); } Serial.println("CC"); } From 3c2d44b602e4491023bca43fadeda3fdf8399bd7 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 15:52:14 -0400 Subject: [PATCH 28/35] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 695a48ed..b1c23492 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -747,7 +747,8 @@ void get_tlm_fox() { // printf("\n\nValue of ctr after header: %d Buffer Len: %d\n\n", ctr, buffSize); /// #endif Serial.println(10 * (headerLen + dataLen * payloads + rsFrames * parityLen) * samples); - for (i = 1; i <= (10 * (headerLen + dataLen * payloads + rsFrames * parityLen) * samples); i++) // 572 +// for (i = 1; i <= (10 * (headerLen + dataLen * payloads + rsFrames * parityLen) * samples); i++) // 572 + for (i = 1; i <= ((headerLen + dataLen * payloads + rsFrames * parityLen) * samples); i++) // Not 10 * anymore 572 { write_wave(ctr, buffer); if ((i % samples) == 0) { From 524c430d5717c56d99b428939e03a74f0f2b88c1 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 15:54:07 -0400 Subject: [PATCH 29/35] Update cubesatsim.h --- cubesatsim/cubesatsim.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index c36334ae..8565c82c 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -132,7 +132,7 @@ int testCount = 0; long time_start; //char cmdbuffer[1000]; FILE * file1; -short int buffer[25000]; // 10240]; // was 2336400]; // max size for 10 frames count of BPSK +short int buffer[50000]; // 25000]; // 10240]; // was 2336400]; // max size for 10 frames count of BPSK FILE *sopen(const char *program); #define S_RATE (8000) //(48000) // (44100) From 6d3694ce38b3ed0429c92404e396e1566218f35f Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 15:57:36 -0400 Subject: [PATCH 30/35] Update cubesatsim.h --- cubesatsim/cubesatsim.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index 8565c82c..a3c82cd0 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -132,7 +132,7 @@ int testCount = 0; long time_start; //char cmdbuffer[1000]; FILE * file1; -short int buffer[50000]; // 25000]; // 10240]; // was 2336400]; // max size for 10 frames count of BPSK +short int buffer[100000]; // 50000]; // 25000]; // 10240]; // was 2336400]; // max size for 10 frames count of BPSK FILE *sopen(const char *program); #define S_RATE (8000) //(48000) // (44100) From e594fbb269ae72cd8578fc38dee3c77582da5538 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 15:59:19 -0400 Subject: [PATCH 31/35] Update cubesatsim.h --- cubesatsim/cubesatsim.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index a3c82cd0..ddc22104 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -132,7 +132,7 @@ int testCount = 0; long time_start; //char cmdbuffer[1000]; FILE * file1; -short int buffer[100000]; // 50000]; // 25000]; // 10240]; // was 2336400]; // max size for 10 frames count of BPSK +short int buffer[120000]; 100000]; // 50000]; // 25000]; // 10240]; // was 2336400]; // max size for 10 frames count of BPSK FILE *sopen(const char *program); #define S_RATE (8000) //(48000) // (44100) From 1b17b82e45b3aa6b779cc31e9d58b8c51cbcc043 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 16:34:58 -0400 Subject: [PATCH 32/35] Update cubesatsim.h --- cubesatsim/cubesatsim.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index ddc22104..06a30a50 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -132,7 +132,7 @@ int testCount = 0; long time_start; //char cmdbuffer[1000]; FILE * file1; -short int buffer[120000]; 100000]; // 50000]; // 25000]; // 10240]; // was 2336400]; // max size for 10 frames count of BPSK +short int buffer[120000]; // 100000]; // 50000]; // 25000]; // 10240]; // was 2336400]; // max size for 10 frames count of BPSK FILE *sopen(const char *program); #define S_RATE (8000) //(48000) // (44100) From 4aa069ea0dcf9fd39648f6dcb44ee38c19c5871f Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 16:37:11 -0400 Subject: [PATCH 33/35] max buffer[[ size --- cubesatsim/cubesatsim.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.h b/cubesatsim/cubesatsim.h index 06a30a50..a3c82cd0 100644 --- a/cubesatsim/cubesatsim.h +++ b/cubesatsim/cubesatsim.h @@ -132,7 +132,7 @@ int testCount = 0; long time_start; //char cmdbuffer[1000]; FILE * file1; -short int buffer[120000]; // 100000]; // 50000]; // 25000]; // 10240]; // was 2336400]; // max size for 10 frames count of BPSK +short int buffer[100000]; // 50000]; // 25000]; // 10240]; // was 2336400]; // max size for 10 frames count of BPSK FILE *sopen(const char *program); #define S_RATE (8000) //(48000) // (44100) From 1a4224169c72537620fa8414949968f399a27c09 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 16:38:27 -0400 Subject: [PATCH 34/35] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index b1c23492..d872ed14 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -68,7 +68,7 @@ void setup() { Serial.println("\n\nCubeSatSim Pico v0.1 starting...\n\n"); - mode = FSK; // AFSK; + mode = AFSK; frameCnt = 1; From f6750af23304df29633e1c62698ca62c947404da Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Mon, 4 Jul 2022 16:40:32 -0400 Subject: [PATCH 35/35] Update cubesatsim.ino --- cubesatsim/cubesatsim.ino | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index d872ed14..5af2ac55 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -1553,10 +1553,12 @@ void test_radio() { // send a carrier for 3 seconds Serial.println("Testing radio...\n\n"); - + + digitalWrite(MAIN_LED_BLUE, HIGH); digitalWrite(PTT_PIN, LOW); delay(3000); digitalWrite(PTT_PIN, HIGH); + digitalWrite(MAIN_LED_BLUE, LOW); } void read_ina219()