added ax5043 transmit

pull/29/head
alanbjohnston 6 years ago committed by GitHub
parent 240c03c7d5
commit aa20bb8215
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -623,21 +623,25 @@ for (int j = 0; j < frameCnt; j++)
printf("\n");
}
#endif
char str[1000];
char tlm_str[1000];
if (ax5043)
{
char header_str[] = "\x03\xf0hi hi ";
strcpy(str, header_str);
}
else
{
char header_str3[] = "echo '";
char header_str2[] = ">CQ:hi hi ";
char footer_str1[] = "\' > t.txt && echo \'";
char footer_str[] = ">CQ:hi hi ' >> t.txt && gen_packets -o telem.wav t.txt -r 48000 > /dev/null 2>&1 && cat telem.wav | csdr convert_i16_f | csdr gain_ff 7000 | csdr convert_f_samplerf 20833 | sudo /home/pi/CubeSatSim/rpitx/rpitx -i- -m RF -f 434.897e3 > /dev/null 2>&1";
// printf("%s-1>%s-1:", (uint8_t *)src_addr, (uint8_t *)dest_addr);
char str[1000];
char tlm_str[1000];
strcpy(str, header_str3);
strcat(str, call);
strcat(str, header_str2);
// printf("%s-1>%s-1:hi hi ", (uint8_t *)src_addr, (uint8_t *)dest_addr);
strcpy(str, header_str3);
strcat(str, call);
strcat(str, header_str2);
}
int channel;
for (channel = 1; channel < 7; channel++) {
sprintf(tlm_str, "%d%d%d %d%d%d %d%d%d %d%d%d ",
@ -649,26 +653,43 @@ for (int j = 0; j < frameCnt; j++)
strcat(str, tlm_str);
}
// char cmdbuffer[1000];
if (ax5043)
{
digitalWrite (0, LOW);
fprintf(stderr,"INFO: Transmitting X.25 packet\n");
memcpy(data, str, strnlen(str, 256));
ret = ax25_tx_frame(&hax25, &hax5043, data, strnlen(str, 256));
if (ret) {
fprintf(stderr,
"ERROR: Failed to transmit AX.25 frame with error code %d\n",
ret);
exit(EXIT_FAILURE);
}
ax5043_wait_for_transmit();
digitalWrite (0, HIGH);
if (ret) {
fprintf(stderr,
"ERROR: Failed to transmit entire AX.25 frame with error code %d\n",
ret);
exit(EXIT_FAILURE);
}
}
else
{
strcat(str, footer_str1);
strcat(str, call);
strcat(str,footer_str);
fprintf(stderr, "String to execute: %s\n", str);
FILE* file2 = popen(str, "r");
// fgets(cmdbuffer, 999, file2);
pclose(file2);
// printf("Response: %s\n", cmdbuffer);
// fprintf(stderr, "Response\n");
// if (j != frameCnt) // Don't sleep if the last packet - go straight to next mode
// {
digitalWrite (txLed, txLedOff);
digitalWrite (txLed, txLedOff);
sleep(3);
digitalWrite (txLed, txLedOn);
// } else
// {
// digitalWrite (txLed, txLedOff);
// }
digitalWrite (txLed, txLedOn);
}
digitalWrite (txLed, txLedOff);
}
printf("End of get_tlm and rpitx =========================================================\n");

Loading…
Cancel
Save

Powered by TurnKey Linux.