Merge pull request #127 from alanbjohnston/master-opt

Master opt
pull/132/head
alanbjohnston 5 years ago committed by GitHub
commit 7dc7ee1466
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -22,7 +22,21 @@
#include "main.h"
int main(int argc, char * argv[]) {
FILE * rpitx_stop = popen("sudo systemctl stop rpitx", "r");
pclose(rpitx_stop);
printf("Test bus 1\n");
fflush(stdout);
i2c_bus1 = (test_i2c_bus(1) != -1) ? ON : OFF;
printf("Test bus 3\n");
fflush(stdout);
i2c_bus3 = (test_i2c_bus(3) != -1) ? ON : OFF;
printf("Finished testing\n");
fflush(stdout);
// sleep(2);
FILE * rpitx_restart = popen("sudo systemctl restart rpitx", "r");
pclose(rpitx_restart);
@ -222,7 +236,7 @@ int main(int argc, char * argv[]) {
if (vB4) {
map[BAT] = BUS;
map[BUS] = BAT;
snprintf(busStr, 10, "%d %d", test_i2c_bus(1), test_i2c_bus(0));
snprintf(busStr, 10, "%d %d", i2c_bus1, test_i2c_bus(0));
} else if (vB5) {
map[MINUS_X] = MINUS_Y;
map[PLUS_Z] = MINUS_X;
@ -232,31 +246,17 @@ int main(int argc, char * argv[]) {
printf("/dev/i2c-11 is present\n\n");
snprintf(busStr, 10, "%d %d", test_i2c_bus(1), test_i2c_bus(11));
} else {
snprintf(busStr, 10, "%d %d", test_i2c_bus(1), test_i2c_bus(3));
snprintf(busStr, 10, "%d %d", i2c_bus1, i2c_bus3);
}
} else {
map[BUS] = MINUS_Z;
map[BAT] = BUS;
map[PLUS_Z] = BAT;
map[MINUS_Z] = PLUS_Z;
snprintf(busStr, 10, "%d %d", test_i2c_bus(1), test_i2c_bus(0));
snprintf(busStr, 10, "%d %d", i2c_bus1, test_i2c_bus(0));
voltageThreshold = 8.0;
}
// test i2c buses
fflush(stdout);
//printf("Test bus 0\n");
//fflush(stdout);
//i2c_bus0 = (test_i2c_bus(0) != -1) ? ON : OFF;
printf("Test bus 1\n");
fflush(stdout);
i2c_bus1 = (test_i2c_bus(1) != -1) ? ON : OFF;
printf("Test bus 3\n");
fflush(stdout);
i2c_bus3 = (test_i2c_bus(3) != -1) ? ON : OFF;
printf("Finished testing\n");
fflush(stdout);
// check for camera
// char cmdbuffer1[1000];
FILE * file4 = popen("vcgencmd get_camera", "r");
@ -1795,7 +1795,7 @@ int test_i2c_bus(int bus)
if (access(busDev, W_OK | R_OK) >= 0) { // Test if I2C Bus is present
// printf("bus is present\n\n");
char result[128];
const char command_start[] = "timeout 5 i2cdetect -y "; // was 10
const char command_start[] = "timeout 2 i2cdetect -y "; // was 5 10
char command[50];
strcpy (command, command_start);
strcat (command, busS);

@ -1,8 +1,10 @@
#!/usr/bin/env python
import RPi.GPIO as GPIO
import subprocess
import time
from RPi.GPIO import output
#import subprocess
#import time
from time import sleep
#import os
import sys
from os import system
@ -40,7 +42,7 @@ else:
txLedOff = 0
GPIO.setup(txLed, GPIO.OUT)
GPIO.output(txLed, txLedOff)
output(txLed, txLedOff)
# print(txLedOn)
print(txLed)
@ -77,16 +79,16 @@ if __name__ == "__main__":
print("Can't read callsign from sim.cfg file, defaulting to AMSAT")
print(callsign)
GPIO.output(txLed, txLedOn)
output(txLed, txLedOn)
if (debug_mode == 1):
system("echo 'hi hi de " + callsign + "' > id.txt && gen_packets -M 20 /home/pi/CubeSatSim/id.txt -o /home/pi/CubeSatSim/morse.wav -r 48000 > /dev/null 2>&1 && cat /home/pi/CubeSatSim/morse.wav | csdr convert_i16_f | csdr gain_ff 7000 | csdr convert_f_samplerf 20833 | sudo /home/pi/rpitx/rpitx -i- -m RF -f 434.9e3")
else:
system("echo 'hi hi de " + callsign + "' > id.txt && gen_packets -M 20 /home/pi/CubeSatSim/id.txt -o /home/pi/CubeSatSim/morse.wav -r 48000 > /dev/null 2>&1 && cat /home/pi/CubeSatSim/morse.wav | csdr convert_i16_f | csdr gain_ff 7000 | csdr convert_f_samplerf 20833 | sudo /home/pi/rpitx/rpitx -i- -m RF -f 434.9e3 > /dev/null 2>&1")
time.sleep(4); # was 8
GPIO.output(txLed, txLedOff)
sleep(4); # was 8
output(txLed, txLedOff)
time.sleep(1)
sleep(1)
if (transmit):
@ -97,64 +99,64 @@ if __name__ == "__main__":
# print("There are arguments!")
if (mode == 'a'):
print("AFSK")
time.sleep(5)
sleep(5)
try:
file = open("/home/pi/CubeSatSim/t.txt")
file.close()
except:
system("echo '" + callsign + "-11>APCSS:hi hi 100 199 199 199 298 299 299 278 380 350 300 300 439 400 400 400 500 500 500 500 600 600 600 650' > /home/pi/CubeSatSim/t.txt && echo 'AMSAT>APCSS:010101/hi hi ' >> /home/pi/CubeSatSim/t.txt")
for x in range(5):
GPIO.output(txLed, txLedOn)
output(txLed, txLedOn)
if (debug_mode == 1):
system("gen_packets -o /home/pi/CubeSatSim/telem.wav /home/pi/CubeSatSim/t.txt -r 48000 > /dev/null 2>&1 && cat /home/pi/CubeSatSim/telem.wav | csdr convert_i16_f | csdr gain_ff 7000 | csdr convert_f_samplerf 20833 | sudo /home/pi/rpitx/rpitx -i- -m RF -f 434.9e3")
else:
system("gen_packets -o /home/pi/CubeSatSim/telem.wav /home/pi/CubeSatSim/t.txt -r 48000 > /dev/null 2>&1 && cat /home/pi/CubeSatSim/telem.wav | csdr convert_i16_f | csdr gain_ff 7000 | csdr convert_f_samplerf 20833 | sudo /home/pi/rpitx/rpitx -i- -m RF -f 434.9e3 > /dev/null 2>&1")
time.sleep(0.2)
GPIO.output(txLed, txLedOff)
time.sleep(3.8)
sleep(0.2)
output(txLed, txLedOff)
sleep(3.8)
while True:
try:
f = open("/home/pi/CubeSatSim/ready")
GPIO.output(txLed, txLedOn)
output(txLed, txLedOn)
if (debug_mode == 1):
system("gen_packets -o /home/pi/CubeSatSim/telem.wav /home/pi/CubeSatSim/t.txt -r 48000 > /dev/null 2>&1 && cat /home/pi/CubeSatSim/telem.wav | csdr convert_i16_f | csdr gain_ff 7000 | csdr convert_f_samplerf 20833 | sudo /home/pi/rpitx/rpitx -i- -m RF -f 434.9e3")
else:
system("gen_packets -o /home/pi/CubeSatSim/telem.wav /home/pi/CubeSatSim/t.txt -r 48000 > /dev/null 2>&1 && cat /home/pi/CubeSatSim/telem.wav | csdr convert_i16_f | csdr gain_ff 7000 | csdr convert_f_samplerf 20833 | sudo /home/pi/rpitx/rpitx -i- -m RF -f 434.9e3 > /dev/null 2>&1")
GPIO.output(txLed, txLedOff)
output(txLed, txLedOff)
f.close()
system("sudo rm ready")
time.sleep(0.5)
sleep(0.5)
except:
time.sleep(0.5)
sleep(0.5)
elif (mode == 'm'):
print("CW")
# time.sleep(4)
# sleep(4)
try:
file = open("/home/pi/CubeSatSim/cw.txt")
file.close()
except:
system("echo 'hi hi 100 199 199 199 298 299 299 278 380 350 300 300 439 400 400 400 500 500 500 500 600 600 600 650' > /home/pi/CubeSatSim/cw.txt")
GPIO.output(txLed, txLedOn)
output(txLed, txLedOn)
if (debug_mode == 1):
system("gen_packets -M 20 -o /home/pi/CubeSatSim/morse.wav /home/pi/CubeSatSim/cw.txt -r 48000 > /dev/null 2>&1 && cat /home/pi/CubeSatSim/morse.wav | csdr convert_i16_f | csdr gain_ff 7000 | csdr convert_f_samplerf 20833 | sudo /home/pi/rpitx/rpitx -i- -m RF -f 434.9e3")
else:
system("gen_packets -M 20 -o /home/pi/CubeSatSim/morse.wav /home/pi/CubeSatSim/cw.txt -r 48000 > /dev/null 2>&1 && cat /home/pi/CubeSatSim/morse.wav | csdr convert_i16_f | csdr gain_ff 7000 | csdr convert_f_samplerf 20833 | sudo /home/pi/rpitx/rpitx -i- -m RF -f 434.9e3 > /dev/null 2>&1")
GPIO.output(txLed, txLedOff)
output(txLed, txLedOff)
while True:
try:
f = open("/home/pi/CubeSatSim/cwready")
GPIO.output(txLed, txLedOn)
output(txLed, txLedOn)
if (debug_mode == 1):
system("gen_packets -M 20 -o /home/pi/CubeSatSim/morse.wav /home/pi/CubeSatSim/cw.txt -r 48000 > /dev/null 2>&1 && cat /home/pi/CubeSatSim/morse.wav | csdr convert_i16_f | csdr gain_ff 7000 | csdr convert_f_samplerf 20833 | sudo /home/pi/rpitx/rpitx -i- -m RF -f 434.9e3")
else:
system("gen_packets -M 20 -o /home/pi/CubeSatSim/morse.wav /home/pi/CubeSatSim/cw.txt -r 48000 > /dev/null 2>&1 && cat /home/pi/CubeSatSim/morse.wav | csdr convert_i16_f | csdr gain_ff 7000 | csdr convert_f_samplerf 20833 | sudo /home/pi/rpitx/rpitx -i- -m RF -f 434.9e3 > /dev/null 2>&1")
GPIO.output(txLed, txLedOff)
output(txLed, txLedOff)
f.close()
system("sudo rm cwready")
time.sleep(1)
sleep(1)
except:
time.sleep(1)
sleep(1)
elif (mode == 's'):
print("SSTV")
try:
@ -170,20 +172,20 @@ if __name__ == "__main__":
camera_present = 0
# while 1:
GPIO.output(txLed, txLedOff)
output(txLed, txLedOff)
if (camera_present == 1):
try:
file = open("/home/pi/CubeSatSim/sstv_image_2_320_x_256.jpg")
print("First SSTV stored image detected")
system("/home/pi/PiSSTVpp/pisstvpp -r 48000 -p s2 /home/pi/CubeSatSim/sstv_image_2_320_x_256.jpg")
print ("Sending SSTV image")
GPIO.output(txLed, txLedOn)
output(txLed, txLedOn)
if (debug_mode == 1):
system("cat /home/pi/CubeSatSim/sstv_image_2_320_x_256.jpg.wav | csdr convert_i16_f | csdr gain_ff 14000 | csdr convert_f_samplerf 20833 | sudo rpitx -i- -m RF -f 434.9e3")
else:
system("cat /home/pi/CubeSatSim/sstv_image_2_320_x_256.jpg.wav | csdr convert_i16_f | csdr gain_ff 14000 | csdr convert_f_samplerf 20833 | sudo rpitx -i- -m RF -f 434.9e3 > /dev/null 2>&1")
GPIO.output(txLed, txLedOff)
# time.sleep(1)
output(txLed, txLedOff)
# sleep(1)
except:
print("image 2 did not load - copy from CubeSatSim/sstv directory")
while 1:
@ -191,26 +193,26 @@ if __name__ == "__main__":
print("Photo taken")
system("/home/pi/PiSSTVpp/pisstvpp -r 48000 -p s2 /home/pi/CubeSatSim/camera_out.jpg")
print ("Sending SSTV image")
GPIO.output(txLed, txLedOn)
output(txLed, txLedOn)
if (debug_mode == 1):
system("cat /home/pi/CubeSatSim/camera_out.jpg.wav | csdr convert_i16_f | csdr gain_ff 14000 | csdr convert_f_samplerf 20833 | sudo rpitx -i- -m RF -f 434.9e3")
else:
system("cat /home/pi/CubeSatSim/camera_out.jpg.wav | csdr convert_i16_f | csdr gain_ff 14000 | csdr convert_f_samplerf 20833 | sudo rpitx -i- -m RF -f 434.9e3 > /dev/null 2>&1")
GPIO.output(txLed, txLedOff)
time.sleep(1)
output(txLed, txLedOff)
sleep(1)
else:
try:
file = open("/home/pi/CubeSatSim/sstv_image_1_320_x_256.jpg")
print("First SSTV stored image detected")
system("/home/pi/PiSSTVpp/pisstvpp -r 48000 -p s2 /home/pi/CubeSatSim/sstv_image_1_320_x_256.jpg")
print ("Sending SSTV image")
GPIO.output(txLed, txLedOn)
output(txLed, txLedOn)
if (debug_mode == 1):
system("cat /home/pi/CubeSatSim/sstv_image_1_320_x_256.jpg.wav | csdr convert_i16_f | csdr gain_ff 14000 | csdr convert_f_samplerf 20833 | sudo rpitx -i- -m RF -f 434.9e3")
else:
system("cat /home/pi/CubeSatSim/sstv_image_1_320_x_256.jpg.wav | csdr convert_i16_f | csdr gain_ff 14000 | csdr convert_f_samplerf 20833 | sudo rpitx -i- -m RF -f 434.9e3 > /dev/null 2>&1")
GPIO.output(txLed, txLedOff)
time.sleep(1)
output(txLed, txLedOff)
sleep(1)
except:
print("image 1 did not load - copy from CubeSatSim/sstv directory")
try:
@ -219,40 +221,40 @@ if __name__ == "__main__":
system("/home/pi/PiSSTVpp/pisstvpp -r 48000 -p s2 /home/pi/CubeSatSim/sstv_image_2_320_x_256.jpg")
while 1:
print ("Sending SSTV image")
GPIO.output(txLed, txLedOn)
output(txLed, txLedOn)
if (debug_mode == 1):
system("cat /home/pi/CubeSatSim/sstv_image_2_320_x_256.jpg.wav | csdr convert_i16_f | csdr gain_ff 14000 | csdr convert_f_samplerf 20833 | sudo rpitx -i- -m RF -f 434.9e3")
else:
system("cat /home/pi/CubeSatSim/sstv_image_2_320_x_256.jpg.wav | csdr convert_i16_f | csdr gain_ff 14000 | csdr convert_f_samplerf 20833 | sudo rpitx -i- -m RF -f 434.9e3 > /dev/null 2>&1")
GPIO.output(txLed, txLedOff)
time.sleep(5)
output(txLed, txLedOff)
sleep(5)
except:
print("image 2 did not load - copy from CubeSatSim/sstv directory")
system("(while true; do (sleep 5 && cat /home/pi/CubeSatSim/wav/sstv.wav); done) | csdr convert_i16_f | csdr gain_ff 7000 | csdr convert_f_samplerf 20833 | sudo rpitx -i- -m RF -f 434.9e3 &")
while 1:
GPIO.output(txLed, txLedOn)
time.sleep(60)
GPIO.output(txLed, txLedOff)
time.sleep(1)
output(txLed, txLedOn)
sleep(60)
output(txLed, txLedOff)
sleep(1)
elif (mode == 'b'):
print("BPSK")
system("sudo nc -l 8080 | csdr convert_i16_f | csdr fir_interpolate_cc 2 | csdr dsb_fc | csdr bandpass_fir_fft_cc 0.002 0.06 0.01 | csdr fastagc_ff | sudo /home/pi/rpitx/sendiq -i /dev/stdin -s 96000 -f 434.9e6 -t float &")
print("Turning LED on/off")
while 1:
GPIO.output(txLed, txLedOff)
time.sleep(0.5)
GPIO.output(txLed, txLedOn)
time.sleep(4.0)
output(txLed, txLedOff)
sleep(0.5)
output(txLed, txLedOn)
sleep(4.0)
else:
print("FSK")
system("sudo nc -l 8080 | csdr convert_i16_f | csdr gain_ff 7000 | csdr convert_f_samplerf 20833 | sudo /home/pi/rpitx/rpitx -i- -m RF -f 434.9e3 &")
print("Turning LED on/off")
while 1:
GPIO.output(txLed, txLedOff)
time.sleep(0.5)
GPIO.output(txLed, txLedOn)
time.sleep(4.0)
output(txLed, txLedOff)
sleep(0.5)
output(txLed, txLedOn)
sleep(4.0)
# else:
# print("FSK")
# system("sudo nc -l 8080 | csdr convert_i16_f | csdr gain_ff 7000 | csdr convert_f_samplerf 20833 | sudo /home/pi/rpitx/rpitx -i- -m RF -f 434.9e3")
@ -260,4 +262,4 @@ if __name__ == "__main__":
else:
print("No Band Pass Filter so no telemetry transmit. See http://cubesatsim.org/wiki for instructions on how to build the BPF.")
while 1:
time.sleep(5)
sleep(5)

Loading…
Cancel
Save

Powered by TurnKey Linux.