From 5736514d3198abd891b1246da9b97bbadf1f6265 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Fri, 17 Mar 2023 21:31:28 -0400 Subject: [PATCH 01/29] add APRS_VHF, change freq, delay 30 sec, change lat/lon each time --- cubesatsim/cubesatsim.ino | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 9fcd7781..2b631732 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -74,6 +74,8 @@ MQTTClient client; #define PICO_W // define if Pico W board. Otherwise, compilation fail for Pico or runtime fail if compile as Pico W +#define APRS_VHF + byte green_led_counter = 0; char call[] = "AMSAT"; // put your callsign here @@ -95,10 +97,12 @@ void setup() { LittleFS.begin(); // LittleFS.format(); // only format if files of size 0 keep showing up +#ifdef APRS_VHF + mode = AFSK; // force to APRS +#else read_mode(); +#endif - // mode = BPSK; // force to BPSK - new_mode = mode; // pinMode(LED_BUILTIN, OUTPUT); @@ -348,6 +352,13 @@ void loop() { Serial.print("\nLoop time: "); Serial.println(millis() - startSleep); } +#ifdef APRS_VHF + sleep(25.0); +// update latitude and longitude + latitude = latitude + 0.01; + longitude = longitude + 0.01; + set_lat_lon(); +#endif } bool TimerHandler1(struct repeating_timer *t) { @@ -4932,7 +4943,12 @@ void program_radio() { // mySerial.println("AT+DMOSETGROUP=0,434.9000,434.9000,0,8,0,0\r"); // mySerial.println("AT+DMOSETGROUP=0,432.2510,432.2510,0,8,0,0\r"); // mySerial.println("AT+DMOSETGROUP=0,432.2500,432.2500,0,8,0,0\r"); +#ifdef APRS_VHF + mySerial.println("AT+DMOSETGROUP=0,144.4900,144.4900,0,8,0,0\r"); // can change to 144.39 for standard APRS +#else mySerial.println("AT+DMOSETGROUP=0,434.9000,434.9000,0,8,0,0\r"); +#endif + sleep(0.5); mySerial.println("AT+DMOSETMIC=8,0\r"); // was 8 From debbce4c7b1fa3b0a3dfb11b516d566e510ff22b Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Fri, 17 Mar 2023 21:36:10 -0400 Subject: [PATCH 02/29] 144.59 and no 30 second delay --- cubesatsim/cubesatsim.ino | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 2b631732..683bc276 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -353,7 +353,7 @@ void loop() { Serial.println(millis() - startSleep); } #ifdef APRS_VHF - sleep(25.0); +// sleep(25.0); // update latitude and longitude latitude = latitude + 0.01; longitude = longitude + 0.01; @@ -4944,7 +4944,7 @@ void program_radio() { // mySerial.println("AT+DMOSETGROUP=0,432.2510,432.2510,0,8,0,0\r"); // mySerial.println("AT+DMOSETGROUP=0,432.2500,432.2500,0,8,0,0\r"); #ifdef APRS_VHF - mySerial.println("AT+DMOSETGROUP=0,144.4900,144.4900,0,8,0,0\r"); // can change to 144.39 for standard APRS + mySerial.println("AT+DMOSETGROUP=0,144.5900,144.5900,0,8,0,0\r"); // can change to 144.39 for standard APRS #else mySerial.println("AT+DMOSETGROUP=0,434.9000,434.9000,0,8,0,0\r"); #endif From 14f22417aaf42066a28e3d847cb32237e1107d2b Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Fri, 17 Mar 2023 21:39:17 -0400 Subject: [PATCH 03/29] don't change lat/lon --- cubesatsim/cubesatsim.ino | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 683bc276..b87f482a 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -355,9 +355,9 @@ void loop() { #ifdef APRS_VHF // sleep(25.0); // update latitude and longitude - latitude = latitude + 0.01; - longitude = longitude + 0.01; - set_lat_lon(); +// latitude = latitude + 0.01; +// longitude = longitude + 0.01; +// set_lat_lon(); #endif } From bcd7ad2fb7ffbb71f4ce496dd8163df9c439f9c6 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Fri, 17 Mar 2023 21:43:51 -0400 Subject: [PATCH 04/29] don't transmit CW if on APRS frequency --- cubesatsim/cubesatsim.ino | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index b87f482a..f1f02a88 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -184,8 +184,11 @@ void setup() { // setup_sstv(); picosstvpp_begin(26); +#ifdef APRS_VHF + camera_detected = false; +#else camera_detected = start_camera(); - +#endif // start_pwm(); program_radio(); @@ -4137,6 +4140,10 @@ void transmit_cw(int freq, float duration) { // freq in Hz, duration in millise } void transmit_callsign(char *callsign) { + +#ifdef APRS_VHF + return; // don't transmit CW if on APRS frequency +#endif char de[] = " HI HI DE "; char id[20]; From 3f51260f9716e7687eee8b3cdb5bf73dad541ef0 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Fri, 17 Mar 2023 21:51:15 -0400 Subject: [PATCH 05/29] change icon to balloon --- cubesatsim/cubesatsim.ino | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index f1f02a88..451d0147 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -4909,10 +4909,16 @@ void set_lat_lon() { // Serial.println("Setting lat and lon for APRS"); char lat_string[64]; char lon_string[64]; - + +#ifdef APRS_VHF + char sym_ovl_default = '/'; // Balloon + char sym_tab_default = 'O'; + char icon[] = "/O"; +#else char sym_ovl_default = '\\'; //'H'; char sym_tab_default = 'S'; // 'a'; char icon[] = "\\S"; //Ha"; +#endif // latitude = toAprsFormat(latitude); // longitude = toAprsFormat(longitude); From f25028e4bd41b42e742d609da7793046997cd3c5 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Fri, 17 Mar 2023 21:56:39 -0400 Subject: [PATCH 06/29] only transmit sensor payload --- cubesatsim/cubesatsim.ino | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 451d0147..1b0ac56b 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -505,9 +505,12 @@ void send_aprs_packet() { char str[1000]; char header_str[] = "hi hi "; - strcpy(str, header_str); + strcpy(str, header_str); +#ifndef APRS_VHG strcpy(str, tlm_str); // transmit full APRS packet -// strcat(str, payload_str); +#else + strcat(str, payload_str); // transmit sensor payload +#endif // print_string(str); // Serial.println(strlen(str)); From 974ee12ecfb00782913522b4f34ae1c44dcb1580 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Fri, 17 Mar 2023 22:01:16 -0400 Subject: [PATCH 07/29] add 0.1 carrier at start and end --- cubesatsim/cubesatsim.ino | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 1b0ac56b..12e95240 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -506,10 +506,10 @@ void send_aprs_packet() { char str[1000]; char header_str[] = "hi hi "; strcpy(str, header_str); -#ifndef APRS_VHG - strcpy(str, tlm_str); // transmit full APRS packet +#ifdef APRS_VHG + strcat(str, payload_str); // transmit sensor payload #else - strcat(str, payload_str); // transmit sensor payload + strcpy(str, tlm_str); // transmit full APRS packet #endif // print_string(str); // Serial.println(strlen(str)); @@ -519,8 +519,10 @@ void send_aprs_packet() { if (debug_mode) Serial.println("Sending APRS packet!"); transmit_on(); - transmit_led(HIGH); + transmit_led(HIGH); + sleep(0.1); send_packet(_FIXPOS_STATUS, debug_mode); + sleep(0.1); transmit_led(LOW); transmit_off(); } From 1055c42b7bbf8a3f284ec9f2ca777ad36df04320 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Sat, 18 Mar 2023 09:31:00 -0400 Subject: [PATCH 08/29] only send payload telem --- cubesatsim/cubesatsim.ino | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 12e95240..99a96ca2 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -356,7 +356,7 @@ void loop() { Serial.println(millis() - startSleep); } #ifdef APRS_VHF -// sleep(25.0); + sleep(25.0); // update latitude and longitude // latitude = latitude + 0.01; // longitude = longitude + 0.01; @@ -506,7 +506,7 @@ void send_aprs_packet() { char str[1000]; char header_str[] = "hi hi "; strcpy(str, header_str); -#ifdef APRS_VHG +#ifdef APRS_VHF strcat(str, payload_str); // transmit sensor payload #else strcpy(str, tlm_str); // transmit full APRS packet @@ -4962,7 +4962,7 @@ void program_radio() { // mySerial.println("AT+DMOSETGROUP=0,432.2510,432.2510,0,8,0,0\r"); // mySerial.println("AT+DMOSETGROUP=0,432.2500,432.2500,0,8,0,0\r"); #ifdef APRS_VHF - mySerial.println("AT+DMOSETGROUP=0,144.5900,144.5900,0,8,0,0\r"); // can change to 144.39 for standard APRS + mySerial.println("AT+DMOSETGROUP=0,144.3900,144.3900,0,8,0,0\r"); // can change to 144.39 for standard APRS #else mySerial.println("AT+DMOSETGROUP=0,434.9000,434.9000,0,8,0,0\r"); #endif From 9c84ae6e014d68638630c15e1c90c5d6b08118cf Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Sat, 18 Mar 2023 22:14:56 -0400 Subject: [PATCH 09/29] remove last 3 characters of payload telemetry --- cubesatsim/cubesatsim.ino | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 99a96ca2..3fa1ca77 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -507,7 +507,8 @@ void send_aprs_packet() { char header_str[] = "hi hi "; strcpy(str, header_str); #ifdef APRS_VHF - strcat(str, payload_str); // transmit sensor payload + strcat(str, payload_str); // transmit sensor payload + str[strlen(str) - 3] = 0; // get rid of last 3 characters #else strcpy(str, tlm_str); // transmit full APRS packet #endif From 5624cb532a7848703a166b4875a759f124f68c30 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Sat, 18 Mar 2023 22:28:32 -0400 Subject: [PATCH 10/29] 200ms of carrier before and after --- cubesatsim/cubesatsim.ino | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 3fa1ca77..1e6467c6 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -521,9 +521,9 @@ void send_aprs_packet() { Serial.println("Sending APRS packet!"); transmit_on(); transmit_led(HIGH); - sleep(0.1); + sleep(0.2); send_packet(_FIXPOS_STATUS, debug_mode); - sleep(0.1); + sleep(0.2); transmit_led(LOW); transmit_off(); } From 30bd1e368ca9743976ec1daf641a5fcbc88630ad Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Fri, 24 Mar 2023 18:33:57 -0400 Subject: [PATCH 11/29] check for input every 4 sec --- cubesatsim/cubesatsim.ino | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 1e6467c6..5a486dca 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -355,8 +355,12 @@ void loop() { Serial.print("\nLoop time: "); Serial.println(millis() - startSleep); } -#ifdef APRS_VHF - sleep(25.0); +#ifdef APRS_VHF + for (int i = 0; i < 5; i++) { + sleep(4.0); + get_input(); + } + // update latitude and longitude // latitude = latitude + 0.01; // longitude = longitude + 0.01; From a62aae8cccb7d33d77bdcbe6545bf4150e70a347 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Sat, 25 Mar 2023 23:00:35 -0400 Subject: [PATCH 12/29] remove setup with R --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 5a486dca..ee18701e 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2876,7 +2876,7 @@ void read_payload() Serial1.println("OK"); delay(100); first_read = true; - setup(); +// setup(); } if (result == '?') From 49d6f78d359217e84b32129b16095fdc79cd3676 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Sat, 25 Mar 2023 23:06:12 -0400 Subject: [PATCH 13/29] removed other setup reset --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index ee18701e..28235c7b 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3065,7 +3065,7 @@ void payload_OK_only() Serial1.println("OK"); delay(100); first_read = true; - setup(); +// setup(); } if (result == '?') From c890cac2422a3b1c79a58dfabe6bcb7e1b2ccf24 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Sat, 25 Mar 2023 23:08:04 -0400 Subject: [PATCH 14/29] print any char received from Pi Zero --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 28235c7b..e8c410df 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3059,7 +3059,7 @@ void payload_OK_only() blink(50); char result = Serial1.read(); - // Serial1.println(result); + Serial1.println(result); if (result == 'R') { Serial1.println("OK"); From 30e83a11955033bab5ba1260426e6578e9fc4f7d Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Sat, 25 Mar 2023 23:13:52 -0400 Subject: [PATCH 15/29] change setup to start_payload --- cubesatsim/cubesatsim.ino | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index e8c410df..a6e036d6 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2876,6 +2876,7 @@ void read_payload() Serial1.println("OK"); delay(100); first_read = true; + start_payload(); // setup(); } @@ -2982,13 +2983,14 @@ void payload_OK_only() Serial.println("OK"); delay(100); first_time = true; - setup(); +// setup(); } else if (result == 'C') { Serial.println("Clearing stored gyro offsets in EEPROM\n"); EEPROM.put(0, (float)0.0); first_time = true; - setup(); + start_payload(); +// setup(); } if ((result == '?') || first_time == true) // commented back in if (true) @@ -3065,6 +3067,7 @@ void payload_OK_only() Serial1.println("OK"); delay(100); first_read = true; + start_payload(); // setup(); } From 81d5d8e1b8b48571ad94dbdf4f4a432e00c8d222 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Sat, 25 Mar 2023 23:16:13 -0400 Subject: [PATCH 16/29] more start_payload --- cubesatsim/cubesatsim.ino | 1 + 1 file changed, 1 insertion(+) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index a6e036d6..2b26cbfe 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2983,6 +2983,7 @@ void payload_OK_only() Serial.println("OK"); delay(100); first_time = true; + start_payload(); // setup(); } else if (result == 'C') { From d09576bd23730e0bb3d78fbecd5253ae0ee9257f Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Sun, 26 Mar 2023 09:01:06 -0400 Subject: [PATCH 17/29] Set Serial1 to gpio 0 and 1 --- cubesatsim/cubesatsim.ino | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 2b26cbfe..733bf47d 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2606,6 +2606,11 @@ void print_string(char *string) void start_payload() { + Serial1.setRX(1); + delay(100); + Serial1.setTX(0); + delay(100); + Serial1.begin(115200); // Pi UART faster speed Serial.println("Starting payload!"); From d6af2ad52605b450e60644721f0a3ac798330c93 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 6 Apr 2023 09:19:11 -0400 Subject: [PATCH 18/29] changed payload_OK_only to Serial2 --- cubesatsim/cubesatsim.ino | 71 ++++++++++++++++++++++----------------- 1 file changed, 40 insertions(+), 31 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 733bf47d..fc915953 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2605,13 +2605,22 @@ void print_string(char *string) } void start_payload() { + +#ifdef APRS_VHF + Serial2.setRX(9); + delay(100); + Serial2.setTX(8); + delay(100); + Serial2.begin(115200); + Serial.println("Starting Serial2 for payload"); +#else Serial1.setRX(1); delay(100); Serial1.setTX(0); - delay(100); - + delay(100); Serial1.begin(115200); // Pi UART faster speed +#endif Serial.println("Starting payload!"); @@ -3063,14 +3072,14 @@ void payload_OK_only() } } - if (Serial1.available() > 0) { + if (Serial2.available() > 0) { blink(50); - char result = Serial1.read(); - Serial1.println(result); + char result = Serial2.read(); + Serial2.println(result); if (result == 'R') { - Serial1.println("OK"); + Serial2.println("OK"); delay(100); first_read = true; start_payload(); @@ -3080,42 +3089,42 @@ void payload_OK_only() if (result == '?') { if (bmePresent) { - Serial1.print("OK BME280 "); - Serial1.print(bme.readTemperature()); - Serial1.print(" "); - Serial1.print(bme.readPressure() / 100.0F); - Serial1.print(" "); - Serial1.print(bme.readAltitude(SEALEVELPRESSURE_HPA)); - Serial1.print(" "); - Serial1.print(bme.readHumidity()); + Serial2.print("OK BME280 "); + Serial2.print(bme.readTemperature()); + Serial2.print(" "); + Serial2.print(bme.readPressure() / 100.0F); + Serial2.print(" "); + Serial2.print(bme.readAltitude(SEALEVELPRESSURE_HPA)); + Serial2.print(" "); + Serial2.print(bme.readHumidity()); } else { - Serial1.print("OK BME280 0.0 0.0 0.0 0.0"); + Serial2.print("OK BME280 0.0 0.0 0.0 0.0"); } mpu6050.update(); - Serial1.print(" MPU6050 "); - Serial1.print(mpu6050.getGyroX()); - Serial1.print(" "); - Serial1.print(mpu6050.getGyroY()); - Serial1.print(" "); - Serial1.print(mpu6050.getGyroZ()); + Serial2.print(" MPU6050 "); + Serial2.print(mpu6050.getGyroX()); + Serial2.print(" "); + Serial2.print(mpu6050.getGyroY()); + Serial2.print(" "); + Serial2.print(mpu6050.getGyroZ()); - Serial1.print(" "); - Serial1.print(mpu6050.getAccX()); - Serial1.print(" "); - Serial1.print(mpu6050.getAccY()); - Serial1.print(" "); - Serial1.print(mpu6050.getAccZ()); + Serial2.print(" "); + Serial2.print(mpu6050.getAccX()); + Serial2.print(" "); + Serial2.print(mpu6050.getAccY()); + Serial2.print(" "); + Serial2.print(mpu6050.getAccZ()); sensorValue = analogRead(TEMPERATURE_PIN); //Serial.println(sensorValue); Temp = T1 + (sensorValue - R1) *((T2 - T1)/(R2 - R1)); - Serial1.print(" XS "); - Serial1.print(Temp); - Serial1.print(" "); - Serial1.println(Sensor2); + Serial2.print(" XS "); + Serial2.print(Temp); + Serial2.print(" "); + Serial2.println(Sensor2); 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()); From 129d97230e1cede6970187e662ec6d9976df33f7 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 6 Apr 2023 09:36:52 -0400 Subject: [PATCH 19/29] print b on Serial2 --- cubesatsim/cubesatsim.ino | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index fc915953..bbecd40e 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3071,6 +3071,8 @@ void payload_OK_only() } } } + + Serial2.print("b"); if (Serial2.available() > 0) { From bf5fb59231f19838e36ad781cc22b59c890f4d06 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 6 Apr 2023 09:40:37 -0400 Subject: [PATCH 20/29] try serial2 on gp 0 1 --- cubesatsim/cubesatsim.ino | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index bbecd40e..410a78d6 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2607,9 +2607,12 @@ void print_string(char *string) void start_payload() { #ifdef APRS_VHF - Serial2.setRX(9); +// Serial2.setRX(9); + Serial2.setRX(1); delay(100); - Serial2.setTX(8); +// Serial2.setTX(8); + Serial2.setRX(0); + delay(100); Serial2.begin(115200); From ff09f9138cf87fca89ce163898a89271646f981f Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 6 Apr 2023 09:47:05 -0400 Subject: [PATCH 21/29] back to GP 8 and 9 --- cubesatsim/cubesatsim.ino | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 410a78d6..69961bb5 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2607,11 +2607,11 @@ void print_string(char *string) void start_payload() { #ifdef APRS_VHF -// Serial2.setRX(9); - Serial2.setRX(1); + Serial2.setRX(9); +// Serial2.setRX(1); delay(100); -// Serial2.setTX(8); - Serial2.setRX(0); + Serial2.setTX(8); +// Serial2.setRX(0); delay(100); Serial2.begin(115200); From 84a8b72e5acdb87de29767d3513d4031c894720d Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 6 Apr 2023 09:53:38 -0400 Subject: [PATCH 22/29] print received Serial2 char in Serial --- cubesatsim/cubesatsim.ino | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 69961bb5..b54e26be 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3081,8 +3081,8 @@ void payload_OK_only() blink(50); char result = Serial2.read(); - Serial2.println(result); - +// Serial2.println(result); + Serial1.println(result); if (result == 'R') { Serial2.println("OK"); delay(100); From ed03523061ff4eaeecae667c4e8bee144c53b629 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 6 Apr 2023 09:55:47 -0400 Subject: [PATCH 23/29] serial print --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index b54e26be..b733354d 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3082,7 +3082,7 @@ void payload_OK_only() blink(50); char result = Serial2.read(); // Serial2.println(result); - Serial1.println(result); + Serial.println(result); if (result == 'R') { Serial2.println("OK"); delay(100); From ecc5bbd97d535619269e577495ac37f8174492a6 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 6 Apr 2023 10:06:51 -0400 Subject: [PATCH 24/29] always transmit payload data --- cubesatsim/cubesatsim.ino | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index b733354d..015c7835 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3075,10 +3075,12 @@ void payload_OK_only() } } - Serial2.print("b"); +// Serial2.print("b"); + delay(250); - if (Serial2.available() > 0) { - +// if (Serial2.available() > 0) { + if (true) { + blink(50); char result = Serial2.read(); // Serial2.println(result); @@ -3090,8 +3092,9 @@ void payload_OK_only() start_payload(); // setup(); } - - if (result == '?') + +// if (result == '?') + if (true) { if (bmePresent) { Serial2.print("OK BME280 "); From 6f7eb24121fc138ff0bc9f552c2bf93dd6b20dab Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 6 Apr 2023 14:43:39 -0400 Subject: [PATCH 25/29] force BPF and 3V3 present always - Payload OK --- cubesatsim/cubesatsim.ino | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 015c7835..fcbdbd6d 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3231,11 +3231,12 @@ void start_ina219() { if (!ina219_started) { #ifndef PICO_0V1 // check if Pi is present by 3.3V voltage - pinMode(PI_3V3_PIN, INPUT); +/// pinMode(PI_3V3_PIN, INPUT); // Serial.print("Pi 3.3V: "); // Serial.println(digitalRead(PI_3V3_PIN)); - if (digitalRead(PI_3V3_PIN) == LOW) { +/// if (digitalRead(PI_3V3_PIN) == LOW) { // if (true) { + if (false) { Serial.println("Pico powering INA219s through 3.3V pin"); pinMode(PI_3V3_PIN, OUTPUT); digitalWrite(PI_3V3_PIN, HIGH); @@ -3766,11 +3767,12 @@ void config_gpio() { pinMode(27, INPUT); pinMode(28, INPUT); - pinMode(PI_3V3_PIN, INPUT); - Serial.print("Pi 3.3V: "); - Serial.println(digitalRead(PI_3V3_PIN)); - if (digitalRead(PI_3V3_PIN) == HIGH) { -// { +/// pinMode(PI_3V3_PIN, INPUT); +/// Serial.print("Pi 3.3V: "); +/// Serial.println(digitalRead(PI_3V3_PIN)); +/// if (digitalRead(PI_3V3_PIN) == HIGH) { + + { Serial.print("Pi Zero present, so running Payload OK code instead of CubeSatSim code."); start_payload(); while(true) { @@ -3802,11 +3804,11 @@ void config_gpio() { // set input pins and read pinMode(MAIN_PB_PIN, INPUT_PULLUP); // Read Main Board push button pinMode(TXC_PIN, INPUT_PULLUP); // Read TXC to see if present - pinMode(BPF_PIN, INPUT_PULLUP); // Read LPF to see if present +/// pinMode(BPF_PIN, INPUT_PULLUP); // Read LPF to see if present // pinMode(SQUELCH, INPUT); // Squelch from TXC - if (digitalRead(BPF_PIN) == FALSE) { -// if (true) { // force BPF present +/// if (digitalRead(BPF_PIN) == FALSE) { + if (true) { // force BPF present /// Serial.println("BPF present - transmit enabled"); filter_present = true; } From adf9add5587e21dbc1a69ded511c1da032977b05 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 6 Apr 2023 15:12:07 -0400 Subject: [PATCH 26/29] back to Serial1 with board changes --- cubesatsim/cubesatsim.ino | 64 ++++++++++++++++++++------------------- 1 file changed, 33 insertions(+), 31 deletions(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index fcbdbd6d..b3c6fdf7 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2607,14 +2607,16 @@ void print_string(char *string) void start_payload() { #ifdef APRS_VHF - Serial2.setRX(9); +// Serial2.setRX(9); +// Serial2.setRX(9); // Serial2.setRX(1); delay(100); - Serial2.setTX(8); +// Serial2.setTX(8); +// Serial2.setTX(8); // Serial2.setRX(0); delay(100); - Serial2.begin(115200); + Serial1.begin(115200); Serial.println("Starting Serial2 for payload"); #else @@ -3082,11 +3084,11 @@ void payload_OK_only() if (true) { blink(50); - char result = Serial2.read(); -// Serial2.println(result); + char result = Serial1.read(); +// Serial1.println(result); Serial.println(result); if (result == 'R') { - Serial2.println("OK"); + Serial1.println("OK"); delay(100); first_read = true; start_payload(); @@ -3097,42 +3099,42 @@ void payload_OK_only() if (true) { if (bmePresent) { - Serial2.print("OK BME280 "); - Serial2.print(bme.readTemperature()); - Serial2.print(" "); - Serial2.print(bme.readPressure() / 100.0F); - Serial2.print(" "); - Serial2.print(bme.readAltitude(SEALEVELPRESSURE_HPA)); - Serial2.print(" "); - Serial2.print(bme.readHumidity()); + Serial1.print("OK BME280 "); + Serial1.print(bme.readTemperature()); + Serial1.print(" "); + Serial1.print(bme.readPressure() / 100.0F); + Serial1.print(" "); + Serial1.print(bme.readAltitude(SEALEVELPRESSURE_HPA)); + Serial1.print(" "); + Serial1.print(bme.readHumidity()); } else { - Serial2.print("OK BME280 0.0 0.0 0.0 0.0"); + Serial1.print("OK BME280 0.0 0.0 0.0 0.0"); } mpu6050.update(); - Serial2.print(" MPU6050 "); - Serial2.print(mpu6050.getGyroX()); - Serial2.print(" "); - Serial2.print(mpu6050.getGyroY()); - Serial2.print(" "); - Serial2.print(mpu6050.getGyroZ()); + Serial1.print(" MPU6050 "); + Serial1.print(mpu6050.getGyroX()); + Serial1.print(" "); + Serial1.print(mpu6050.getGyroY()); + Serial1.print(" "); + Serial1.print(mpu6050.getGyroZ()); - Serial2.print(" "); - Serial2.print(mpu6050.getAccX()); - Serial2.print(" "); - Serial2.print(mpu6050.getAccY()); - Serial2.print(" "); - Serial2.print(mpu6050.getAccZ()); + Serial1.print(" "); + Serial1.print(mpu6050.getAccX()); + Serial1.print(" "); + Serial1.print(mpu6050.getAccY()); + Serial1.print(" "); + Serial1.print(mpu6050.getAccZ()); sensorValue = analogRead(TEMPERATURE_PIN); //Serial.println(sensorValue); Temp = T1 + (sensorValue - R1) *((T2 - T1)/(R2 - R1)); - Serial2.print(" XS "); - Serial2.print(Temp); - Serial2.print(" "); - Serial2.println(Sensor2); + Serial1.print(" XS "); + Serial1.print(Temp); + Serial1.print(" "); + Serial1.println(Sensor2); 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()); From 123daf64a3f3256307b8e2d9e7deb2567bf13f46 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 6 Apr 2023 15:26:44 -0400 Subject: [PATCH 27/29] add print Serial2 from GPS --- cubesatsim/cubesatsim.ino | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index b3c6fdf7..6182795f 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2616,7 +2616,9 @@ void start_payload() { // Serial2.setRX(0); delay(100); - Serial1.begin(115200); + Serial1.begin(115200); // serial to Pi + + Serial2.begin(9600); // serial from GPS Serial.println("Starting Serial2 for payload"); #else @@ -3015,6 +3017,7 @@ void payload_OK_only() if ((result == '?') || first_time == true) // commented back in if (true) { + first_time = false; if (bmePresent) { Serial.print("OK BME280 "); @@ -3082,6 +3085,9 @@ void payload_OK_only() // if (Serial2.available() > 0) { if (true) { + + while (Serial.available() > 0) // read GPS + Serial.write(Serial2.read()); blink(50); char result = Serial1.read(); From 319d941c4915b3c0481db9d09071734f7afdd6ec Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Thu, 6 Apr 2023 15:29:13 -0400 Subject: [PATCH 28/29] read Serial2 --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index 6182795f..d0cc052e 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -3086,7 +3086,7 @@ void payload_OK_only() // if (Serial2.available() > 0) { if (true) { - while (Serial.available() > 0) // read GPS + while (Serial2.available() > 0) // read GPS Serial.write(Serial2.read()); blink(50); From 5f6e79dcdc22d36e13e81b52b20b5bc519f66c2d Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Sun, 16 Apr 2023 20:19:15 -0400 Subject: [PATCH 29/29] change gps to 115200 --- cubesatsim/cubesatsim.ino | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cubesatsim/cubesatsim.ino b/cubesatsim/cubesatsim.ino index d0cc052e..41f4f1fb 100644 --- a/cubesatsim/cubesatsim.ino +++ b/cubesatsim/cubesatsim.ino @@ -2618,7 +2618,7 @@ void start_payload() { delay(100); Serial1.begin(115200); // serial to Pi - Serial2.begin(9600); // serial from GPS + Serial2.begin(115200); // serial from GPS Serial.println("Starting Serial2 for payload"); #else