Revisión | 3153d0ee6c0962b7726e5ec8c2faef68a0ec06e2 (tree) |
---|---|
Tiempo | 2020-10-15 13:53:58 |
Autor | Satoshi Yasuda <7m3tjz@jarl...> |
Commiter | Satoshi Yasuda |
modified: debian/changelog
modified: dmonitor_utils.c
modified: dvap.c
modified: inet_read.c
modified: main.c
modified: send_node.c
@@ -3,7 +3,7 @@ dmonitor (01.60) unstable; urgency=low | ||
3 | 3 | * update Closes: (#120) |
4 | 4 | * BUG fixed for node adapter routine |
5 | 5 | |
6 | - -- Satoshi Yasuda <7m3tjz@jarl.com> Sun, 11 Oct 2020 13:05:00 +0900 | |
6 | + -- Satoshi Yasuda <7m3tjz@jarl.com> Thu, 15 Oct 2020 13:40:00 +0900 | |
7 | 7 | |
8 | 8 | dmonitor (01.59) unstable; urgency=low |
9 | 9 |
@@ -2,7 +2,7 @@ | ||
2 | 2 | #include "init.h" |
3 | 3 | |
4 | 4 | void rig_write (int length, char buff[]); |
5 | -int getFifo (char pkt[]); | |
5 | +int getFifo (unsigned char pkt[]); | |
6 | 6 | void LastFrameSend (void); |
7 | 7 | void rig_led_onoff(void); |
8 | 8 | void inet_led_onoff(void); |
@@ -364,7 +364,8 @@ int send_rig (void) | ||
364 | 364 | if (rig_type == NODE) |
365 | 365 | { |
366 | 366 | length = check_getFifo(); |
367 | - if (!node_space_check (length)) return TRUE; | |
367 | + if (length = 42) if (!node_space_check (95)) return TRUE; | |
368 | + if (!node_space_check (12)) return TRUE; | |
368 | 369 | } |
369 | 370 | |
370 | 371 | length = getFifo (&send_buff[3]); |
@@ -461,7 +462,7 @@ int check_getFifo (void) | ||
461 | 462 | return tmp->length; |
462 | 463 | } |
463 | 464 | |
464 | -int getFifo (char pkt[]) | |
465 | +int getFifo (unsigned char pkt[]) | |
465 | 466 | { |
466 | 467 | struct FifoPkt *tmp; |
467 | 468 | int len; |
@@ -486,7 +487,6 @@ int getFifo (char pkt[]) | ||
486 | 487 | void putFifo (int len, unsigned char pkt[]) |
487 | 488 | { |
488 | 489 | struct FifoPkt *ret; |
489 | -//syslog(LOG_DEBUG, "putFifo %d %2.2x %2.2x %2.2x", len, pkt[0], pkt[1], pkt[2]); | |
490 | 490 | #ifdef _DEBUG |
491 | 491 | syslog (LOG_INFO, "putFifo len:%d %2.2x", len, pkt[0]); |
492 | 492 | #endif |
@@ -784,10 +784,11 @@ void jitter_putFifo (void) | ||
784 | 784 | jitter_buff[jitter_wr_pnt][0] = 0xff; |
785 | 785 | //jitter_rd_pnt++; |
786 | 786 | //jitter_wr_pnt = jitter_rd_pnt; |
787 | - if (jitter_rd_pnt > 20) jitter_rd_pnt = 0; | |
787 | + //if (jitter_rd_pnt > 20) jitter_rd_pnt = 0; | |
788 | 788 | digitalWrite (INET_LED, 0); |
789 | 789 | digitalWrite (RIG_LED, 0); |
790 | 790 | rig_last_frame_send = TRUE; |
791 | + //memset (inet_frame_id, 0x00, 2); | |
791 | 792 | return; |
792 | 793 | } |
793 | 794 | while (jitter_buff[jitter_rd_pnt][0] != 0xff) |
@@ -744,7 +744,7 @@ void dvap_write (int fd, unsigned char buff[], int length) | ||
744 | 744 | dvap_send_pkt[6] &= 0x07; |
745 | 745 | ret = write (fd, dvap_send_pkt, 47); |
746 | 746 | //dvap_send_pkt[4] = 0x00; |
747 | - dvap_send_pkt[5]++; | |
747 | + //dvap_send_pkt[5]++; | |
748 | 748 | |
749 | 749 | send_header_sw = TRUE; |
750 | 750 | dvap_first_voice_pkt = TRUE; |
@@ -761,9 +761,8 @@ syslog (LOG_DEBUG, "%2.2x %2.2x %2.2x %2.2x %2.2x %2.2x %2.2x %2.2x %2.2x %2.2x | ||
761 | 761 | } |
762 | 762 | else if (length == 17) |
763 | 763 | { |
764 | - if (send_header_sw) | |
764 | + //if (send_header_sw) | |
765 | 765 | { |
766 | - | |
767 | 766 | if (!dvap_first_voice_pkt || !memcmp (&buff[13], resync , 3)) |
768 | 767 | { |
769 | 768 | time(&dvap_keep_alive); |
@@ -774,7 +773,7 @@ syslog (LOG_DEBUG, "%2.2x %2.2x %2.2x %2.2x %2.2x %2.2x %2.2x %2.2x %2.2x %2.2x | ||
774 | 773 | if ((dvap_send_pkt[4] & 0x40) || |
775 | 774 | (!memcmp (&dvap_send_pkt[6], &lastframe[3], 3) && !memcmp (&dvap_send_pkt[15], lastframe, 3))) |
776 | 775 | { |
777 | - dvap_send_pkt[5] |= 0x40; | |
776 | + dvap_send_pkt[4] |= 0x40; | |
778 | 777 | send_header_sw = FALSE; |
779 | 778 | } |
780 | 779 | ret = write (fd, dvap_send_pkt, 18); |
@@ -12,6 +12,7 @@ void dstar_data (unsigned char string[], int inet); | ||
12 | 12 | void dstar_alt_header (unsigned char string[], int inet); |
13 | 13 | void short_msg_wrt (void); |
14 | 14 | void jitter_buff_init (void); |
15 | +int getFifo(char pkt[]); | |
15 | 16 | |
16 | 17 | char dummy_frame_1[12] = { |
17 | 18 | 0x73, 0x44, 0x1a, 0x72, 0x31, 0x3c, 0xa7, 0x53, 0x02, 0x55, 0x55, 0x55}; |
@@ -70,7 +71,7 @@ void inet_read (void) | ||
70 | 71 | int length; |
71 | 72 | int k; |
72 | 73 | long int t_sub; |
73 | - char buff[28]; | |
74 | + char buff[42]; | |
74 | 75 | struct hostent *host; |
75 | 76 | struct timeval time_sub; |
76 | 77 | int rate; |
@@ -143,7 +144,6 @@ void inet_read (void) | ||
143 | 144 | } |
144 | 145 | |
145 | 146 | if (memcmp (recvBuff, "DSTR", 4)) return; |
146 | - | |
147 | 147 | #ifdef _DEBUG_INET |
148 | 148 | syslog (LOG_DEBUG, "inet read %d", length); |
149 | 149 | #endif |
@@ -180,6 +180,8 @@ void inet_read (void) | ||
180 | 180 | if (((recvBuff[7] & ZR) && !memcmp (area_call, &recvBuff[28], 8)) || scan_sw |
181 | 181 | || ((recvBuff[7] & GW) && !memcmp (area_call, &recvBuff[20], 8))) |
182 | 182 | { |
183 | + while (getFifo(buff)) ; | |
184 | + jitter_buff_init(); | |
183 | 185 | memcpy (inet_frame_id, &recvBuff[14], 2); |
184 | 186 | memcpy (inet_frame_id_save, &recvBuff[14], 2); |
185 | 187 | send_buff[0] = 0x29; |
@@ -403,6 +405,7 @@ void inet_read (void) | ||
403 | 405 | rig_last_frame_send = TRUE; |
404 | 406 | drop_rate_print(); |
405 | 407 | rig_send_check(); |
408 | + send_header_sw = FALSE; | |
406 | 409 | } |
407 | 410 | } |
408 | 411 | } |
@@ -155,7 +155,7 @@ int main(int argc, char *argv[]) | ||
155 | 155 | if (length <= 0 ) return -1; |
156 | 156 | pg_path[length] = 0x00; |
157 | 157 | if (ETagGen (pg_path, MD5_dmonitor) < 0) return 5; |
158 | - memcpy (MD5_dmonitor, "5ebe211107266a57b1af14a7fdcd8480", 32); | |
158 | + //memcpy (MD5_dmonitor, "5ebe211107266a57b1af14a7fdcd8480", 32); | |
159 | 159 | |
160 | 160 | Rp = malloc (sizeof (struct FifoPkt) - 1024); |
161 | 161 | Wp = Rp; |
@@ -279,7 +279,6 @@ int main(int argc, char *argv[]) | ||
279 | 279 | connected_table_clean(); |
280 | 280 | error_msg_clean(); |
281 | 281 | |
282 | - //rig_buff_pnt = 0; | |
283 | 282 | rig_last_frame_send = TRUE; |
284 | 283 | |
285 | 284 | jitter_buff_init(); |
@@ -357,8 +356,7 @@ top: | ||
357 | 356 | } |
358 | 357 | if (FD_ISSET (rig_fd, &read_set)) |
359 | 358 | { |
360 | - if (rig_type == ICOM) rig_read(); | |
361 | - else if (rig_type == DVAP) dvap_read(); | |
359 | + if (rig_type == DVAP) dvap_read(); | |
362 | 360 | else if (rig_type == DVMEGA) dvmega_read(); |
363 | 361 | } |
364 | 362 | } |
@@ -400,39 +398,24 @@ top: | ||
400 | 398 | } |
401 | 399 | if(rig_send_sw) |
402 | 400 | { |
403 | - if (rig_type == NODE) | |
401 | + gettimeofday (&c_time, NULL); | |
402 | + timeradd (&rig_send_time, &rig_send_time_20mSec, &temp_time); | |
403 | + if (timercmp (&c_time, &temp_time, >)) | |
404 | 404 | { |
405 | - if (node_space_check (15)) | |
405 | + if (send_rig()) | |
406 | 406 | { |
407 | - if (!send_rig()) | |
408 | - { | |
409 | - syslog (LOG_INFO, "Empty of the jitter buffer"); | |
410 | - LastFrameSend(); | |
411 | - } | |
407 | + rig_send_time.tv_sec = temp_time.tv_sec; | |
408 | + rig_send_time.tv_usec = temp_time.tv_usec; | |
412 | 409 | } |
413 | - } | |
414 | - else | |
415 | - { | |
416 | - gettimeofday (&c_time, NULL); | |
417 | - timeradd (&rig_send_time, &rig_send_time_20mSec, &temp_time); | |
418 | - if (timercmp (&c_time, &temp_time, >)) | |
410 | + else | |
419 | 411 | { |
420 | - if (send_rig()) | |
421 | - { | |
422 | - rig_send_time.tv_sec = temp_time.tv_sec; | |
423 | - rig_send_time.tv_usec = temp_time.tv_usec; | |
424 | - } | |
425 | - else | |
426 | - { | |
427 | - syslog (LOG_INFO, "Empty of the jitter buffer"); | |
428 | - LastFrameSend(); | |
429 | - } | |
412 | + syslog (LOG_INFO, "Empty of the jitter buffer"); | |
413 | + LastFrameSend(); | |
430 | 414 | } |
431 | 415 | } |
432 | 416 | } |
433 | 417 | if ((inet_frame_id[0] != 0xff) || (inet_frame_id[1] != 0xff)) |
434 | 418 | { |
435 | -//syslog (LOG_DEBUG, "%2.2x %2.2x", inet_frame_id[0], inet_frame_id[1]); | |
436 | 419 | if ((inet_frame_id[0] != 0x00) || (inet_frame_id[1] != 0x00)) |
437 | 420 | { |
438 | 421 | gettimeofday (&c_time, NULL); |
@@ -441,10 +424,10 @@ top: | ||
441 | 424 | { |
442 | 425 | syslog (LOG_INFO, "insert dummy_last_frame"); |
443 | 426 | dummy_last_frame(); |
444 | - //#ifdef _SPECIFICATION_CHECK | |
427 | + #ifdef _SPECIFICATION_CHECK | |
445 | 428 | timersub (&c_time, &inet_recv_time, &temp_time); |
446 | 429 | syslog (LOG_INFO, "long interval %ld.%03ld Sec.", temp_time.tv_sec, temp_time.tv_usec/1000); |
447 | - //#endif | |
430 | + #endif | |
448 | 431 | gettimeofday (&inet_recv_time, NULL); |
449 | 432 | } |
450 | 433 | } |
@@ -27,14 +27,6 @@ void node_header_send (unsigned char header[]) | ||
27 | 27 | header[1] = 0x00; |
28 | 28 | header[2] = 0x00; |
29 | 29 | usb_control_msg(udev, 0x40, SET_FLAGS, 0, 0, header, 3, 100); |
30 | -#if 0 | |
31 | - usb_control_msg(udev, 0xc0, GET_REMAINSPACE, 0, 0, (char *)&len ,1, 100); | |
32 | - while (len < 95) | |
33 | - { | |
34 | - usleep (2000); | |
35 | - usb_control_msg(udev, 0xc0, GET_REMAINSPACE, 0, 0, (char *)&len ,1, 100); | |
36 | - } | |
37 | -#endif | |
38 | 30 | usb_control_msg(udev, 0x40, SET_PTT, ON, 0, NULL, 0, 100); |
39 | 31 | } |
40 | 32 |
@@ -47,22 +39,7 @@ void node_voice_send (unsigned char voice[]) | ||
47 | 39 | syslog (LOG_DEBUG, "%2.2x %2.2x %2.2x %2.2x %2.2x %2.2x %2.2x %2.2x %2.2x %2.2x %2.2x %2.2x", |
48 | 40 | voice[0], voice[1], voice[2], voice[3], voice[4], voice[5], voice[6], voice[7], voice[8], voice[9], voice[10], voice[11]); |
49 | 41 | #endif |
50 | -#if 0 | |
51 | - usb_control_msg(udev, 0xc0, GET_REMAINSPACE, 0, 0, (char *)&len ,1, 100); | |
52 | - while (len < 12) | |
53 | - { | |
54 | - usleep (2000); | |
55 | - usb_control_msg(udev, 0xc0, GET_REMAINSPACE, 0, 0, (char *)&len ,1, 100); | |
56 | - } | |
57 | -#endif | |
58 | 42 | ret = usb_control_msg(udev, 0x40, PUT_DATA, 0, 0, voice, 12, 100); |
59 | -#if 0 | |
60 | - while (ret < 0) | |
61 | - { | |
62 | - usleep (200); | |
63 | - ret = usb_control_msg(udev, 0x40, PUT_DATA, 0, 0, voice, 12, 100); | |
64 | - } | |
65 | -#endif | |
66 | 43 | } |
67 | 44 | |
68 | 45 | void node_last_send (unsigned char voice[]) |
@@ -71,22 +48,7 @@ void node_last_send (unsigned char voice[]) | ||
71 | 48 | unsigned char len; |
72 | 49 | |
73 | 50 | memcpy (&voice[9], lastframe, 6); |
74 | -#if 0 | |
75 | - usb_control_msg(udev, 0xc0, GET_REMAINSPACE, 0, 0, (char *)&len ,1, 100); | |
76 | - while (len < 15) | |
77 | - { | |
78 | - usleep (2000); | |
79 | - usb_control_msg(udev, 0xc0, GET_REMAINSPACE, 0, 0, (char *)&len ,1, 100); | |
80 | - } | |
81 | -#endif | |
82 | 51 | ret = usb_control_msg(udev, 0x40, PUT_DATA, 0, 0, voice, 15, 100); |
83 | -#if 0 | |
84 | - while (ret < 0) | |
85 | - { | |
86 | - usleep (200); | |
87 | - ret = usb_control_msg(udev, 0x40, PUT_DATA, 0, 0, voice, 15, 100); | |
88 | - } | |
89 | -#endif | |
90 | 52 | /* PTT OFF */ |
91 | 53 | ret = usb_control_msg(udev, 0x40, SET_PTT, OFF, 0, NULL, 0, 100); |
92 | 54 | frameID = 0; |