From 1d5dc3c043f18edf7bd1bd51a2be2461fd867a52 Mon Sep 17 00:00:00 2001 From: DL1YCF <dl1ycf@darc.de> Date: Sun, 12 Sep 2021 13:44:32 +0200 Subject: [PATCH] hpsdrsim: make MAC address depend on the radio type --- hpsdrsim.c | 51 ++++++++++++++++++++++++++------------------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/hpsdrsim.c b/hpsdrsim.c index 7f77864..ca4f513 100644 --- a/hpsdrsim.c +++ b/hpsdrsim.c @@ -226,19 +226,20 @@ int main(int argc, char *argv[]) noiseblank=0; nb_pulse=0; nb_width=0; + MAC5=0x66; OLDDEVICE=DEVICE_ORION2; NEWDEVICE=NEW_DEVICE_ORION2; for (i=1; i<argc; i++) { - if (!strncmp(argv[i],"-atlas" , 6)) {OLDDEVICE=DEVICE_METIS; NEWDEVICE=NEW_DEVICE_ATLAS;} - if (!strncmp(argv[i],"-hermes" , 7)) {OLDDEVICE=DEVICE_HERMES; NEWDEVICE=NEW_DEVICE_HERMES;} - if (!strncmp(argv[i],"-griffin" , 8)) {OLDDEVICE=DEVICE_GRIFFIN; NEWDEVICE=NEW_DEVICE_HERMES2;} - if (!strncmp(argv[i],"-angelia" , 8)) {OLDDEVICE=DEVICE_ANGELIA; NEWDEVICE=NEW_DEVICE_ANGELIA;} - if (!strncmp(argv[i],"-orion" , 6)) {OLDDEVICE=DEVICE_ORION; NEWDEVICE=NEW_DEVICE_ORION;} - if (!strncmp(argv[i],"-orion2" , 7)) {OLDDEVICE=DEVICE_ORION2; NEWDEVICE=NEW_DEVICE_ORION2;} - if (!strncmp(argv[i],"-hermeslite" , 11)) {OLDDEVICE=DEVICE_HERMES_LITE; NEWDEVICE=NEW_DEVICE_HERMES_LITE;} - if (!strncmp(argv[i],"-hermeslite2", 12)) {OLDDEVICE=DEVICE_HERMES_LITE2;NEWDEVICE=NEW_DEVICE_HERMES_LITE2;} - if (!strncmp(argv[i],"-c25" , 4)) {OLDDEVICE=DEVICE_C25; NEWDEVICE=NEW_DEVICE_HERMES;} + if (!strncmp(argv[i],"-atlas" , 6)) {OLDDEVICE=DEVICE_METIS; NEWDEVICE=NEW_DEVICE_ATLAS; MAC5=0x11;} + if (!strncmp(argv[i],"-hermes" , 7)) {OLDDEVICE=DEVICE_HERMES; NEWDEVICE=NEW_DEVICE_HERMES; MAC5=0x22;} + if (!strncmp(argv[i],"-griffin" , 8)) {OLDDEVICE=DEVICE_GRIFFIN; NEWDEVICE=NEW_DEVICE_HERMES2; MAC5=0x33;} + if (!strncmp(argv[i],"-angelia" , 8)) {OLDDEVICE=DEVICE_ANGELIA; NEWDEVICE=NEW_DEVICE_ANGELIA; MAC5=0x44;} + if (!strncmp(argv[i],"-orion" , 6)) {OLDDEVICE=DEVICE_ORION; NEWDEVICE=NEW_DEVICE_ORION; MAC5=0x55;} + if (!strncmp(argv[i],"-orion2" , 7)) {OLDDEVICE=DEVICE_ORION2; NEWDEVICE=NEW_DEVICE_ORION2; MAC5=0x66;} + if (!strncmp(argv[i],"-hermeslite" , 11)) {OLDDEVICE=DEVICE_HERMES_LITE; NEWDEVICE=NEW_DEVICE_HERMES_LITE; MAC5=0x77;} + if (!strncmp(argv[i],"-hermeslite2", 12)) {OLDDEVICE=DEVICE_HERMES_LITE2;NEWDEVICE=NEW_DEVICE_HERMES_LITE2; MAC5=0x88;} + if (!strncmp(argv[i],"-c25" , 4)) {OLDDEVICE=DEVICE_C25; NEWDEVICE=NEW_DEVICE_HERMES; MAC5=0x99;} if (!strncmp(argv[i],"-diversity", 10)) {diversity=1;} if (!strncmp(argv[i],"-P1", 3)) {oldnew=1;} if (!strncmp(argv[i],"-P2", 3)) {oldnew=2;} @@ -621,8 +622,8 @@ int main(int argc, char *argv[]) buffer[4]=0xBB; buffer[5]=0xCC; buffer[6]=0xDD; - buffer[7]=0xEE; - buffer[8]=0xFF; + buffer[7]=MAC5; // specifies type of radio + buffer[8]=0xFF; // encodes old protocol buffer[ 2] = 2; if (active_thread || new_protocol_running()) { buffer[2] = 3; @@ -747,8 +748,8 @@ int main(int argc, char *argv[]) buffer[4]=0xBB; buffer[5]=0xCC; buffer[6]=0xDD; - buffer[7]=0xEE; - buffer[8]=0xFF; + buffer[7]=MAC5; // specifies type of radio + buffer[8]=0xFF; // encodes old protocol sendto(sock_udp, buffer, 60, 0, (struct sockaddr *)&addr_from, sizeof(addr_from)); if (blks == cnt) fprintf(stderr,"\n\n Programming Done!\n"); break; @@ -765,8 +766,8 @@ int main(int argc, char *argv[]) buffer[4]=0xBB; buffer[5]=0xCC; buffer[6]=0xDD; - buffer[7]=0xEE; - buffer[8]=0xFF; + buffer[7]=MAC5; // specifies type of radio + buffer[8]=0xFF; // encodes old protocol sendto(sock_udp, buffer, 60, 0, (struct sockaddr *)&addr_from, sizeof(addr_from)); break; @@ -793,8 +794,8 @@ int main(int argc, char *argv[]) buffer[ 6]=0xBB; buffer[ 7]=0xCC; buffer[ 8]=0xDD; - buffer[ 9]=0xEF; - buffer[10]=0xFE; + buffer[ 9]=MAC5; // specifies type of radio + buffer[10]=0xFE; // encodes new protocol buffer[11]=NEWDEVICE; buffer[12]=38; buffer[13]=19; @@ -820,8 +821,8 @@ int main(int argc, char *argv[]) buffer[ 6]=0xBB; buffer[ 7]=0xCC; buffer[ 8]=0xDD; - buffer[ 9]=0xEF; - buffer[10]=0xFE; + buffer[ 9]=MAC5; // specifies type of radio + buffer[10]=0xFE; // encodes new protocol buffer[11]=NEWDEVICE; buffer[12]=38; buffer[13]=103; @@ -850,8 +851,8 @@ int main(int argc, char *argv[]) buffer[ 6]=0xBB; buffer[ 7]=0xCC; buffer[ 8]=0xDD; - buffer[ 9]=0xEF; - buffer[10]=0xFE; + buffer[ 9]=MAC5; // specifies type of radio + buffer[10]=0xFE; // encodes new protocol buffer[11]=103; buffer[12]=NEWDEVICE; buffer[13]=(checksum >> 8) & 0xFF; @@ -873,16 +874,16 @@ int main(int argc, char *argv[]) if (buffer[ 6] != 0xBB) break; if (buffer[ 7] != 0xCC) break; if (buffer[ 8] != 0xDD) break; - if (buffer[ 9] != 0xEF) break; - if (buffer[10] != 0xFE) break; + if (buffer[ 9] != MAC5) break; // specifies type of radio + if (buffer[10] != 0xFE) break; // encodes new protocol memset(buffer, 0, 60); buffer [4]=0x02+active_thread; buffer [5]=0xAA; buffer[ 6]=0xBB; buffer[ 7]=0xCC; buffer[ 8]=0xDD; - buffer[ 9]=0xEF; - buffer[10]=0xFE; + buffer[ 9]=MAC5; // specifies type of radio + buffer[10]=0xFE; // encodes new protocol buffer[11]=NEWDEVICE; buffer[12]=38; buffer[13]=103; -- 2.45.2