Revision | 518a41028b8cb6077c24b5ae4b0ad62888782670 (tree) |
---|---|
Zeit | 2020-10-10 22:41:05 |
Autor | Satoshi Yasuda <7m3tjz@jarl...> |
Commiter | Satoshi Yasuda |
modified: config.h
modified: configure
modified: debian/changelog
modified: dmonitor.h
modified: dmonitor_utils.c
modified: from_node.c
modified: inet_read.c
modified: main.c
modified: node_utils.c
modified: rpt_node_utils.c
@@ -102,7 +102,7 @@ | ||
102 | 102 | #define PACKAGE_NAME "dmonitor" |
103 | 103 | |
104 | 104 | /* Define to the full name and version of this package. */ |
105 | -#define PACKAGE_STRING "dmonitor 01.59" | |
105 | +#define PACKAGE_STRING "dmonitor 01.60" | |
106 | 106 | |
107 | 107 | /* Define to the one symbol short name of this package. */ |
108 | 108 | #define PACKAGE_TARNAME "dmonitor" |
@@ -111,13 +111,13 @@ | ||
111 | 111 | #define PACKAGE_URL "" |
112 | 112 | |
113 | 113 | /* Define to the version of this package. */ |
114 | -#define PACKAGE_VERSION "01.59" | |
114 | +#define PACKAGE_VERSION "01.60" | |
115 | 115 | |
116 | 116 | /* Define to 1 if you have the ANSI C header files. */ |
117 | 117 | #define STDC_HEADERS 1 |
118 | 118 | |
119 | 119 | /* Version number of package */ |
120 | -#define VERSION "01.59" | |
120 | +#define VERSION "01.60" | |
121 | 121 | |
122 | 122 | /* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>, |
123 | 123 | <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the |
@@ -1,6 +1,6 @@ | ||
1 | 1 | #! /bin/sh |
2 | 2 | # Guess values for system-dependent variables and create Makefiles. |
3 | -# Generated by GNU Autoconf 2.69 for dmonitor 01.59. | |
3 | +# Generated by GNU Autoconf 2.69 for dmonitor 01.60. | |
4 | 4 | # |
5 | 5 | # Report bugs to <7m3tjz@jarl.com>. |
6 | 6 | # |
@@ -580,8 +580,8 @@ MAKEFLAGS= | ||
580 | 580 | # Identity of this package. |
581 | 581 | PACKAGE_NAME='dmonitor' |
582 | 582 | PACKAGE_TARNAME='dmonitor' |
583 | -PACKAGE_VERSION='01.59' | |
584 | -PACKAGE_STRING='dmonitor 01.59' | |
583 | +PACKAGE_VERSION='01.60' | |
584 | +PACKAGE_STRING='dmonitor 01.60' | |
585 | 585 | PACKAGE_BUGREPORT='7m3tjz@jarl.com' |
586 | 586 | PACKAGE_URL='' |
587 | 587 |
@@ -1277,7 +1277,7 @@ if test "$ac_init_help" = "long"; then | ||
1277 | 1277 | # Omit some internal or obsolete options to make the list less imposing. |
1278 | 1278 | # This message is too long to be a string in the A/UX 3.1 sh. |
1279 | 1279 | cat <<_ACEOF |
1280 | -\`configure' configures dmonitor 01.59 to adapt to many kinds of systems. | |
1280 | +\`configure' configures dmonitor 01.60 to adapt to many kinds of systems. | |
1281 | 1281 | |
1282 | 1282 | Usage: $0 [OPTION]... [VAR=VALUE]... |
1283 | 1283 |
@@ -1344,7 +1344,7 @@ fi | ||
1344 | 1344 | |
1345 | 1345 | if test -n "$ac_init_help"; then |
1346 | 1346 | case $ac_init_help in |
1347 | - short | recursive ) echo "Configuration of dmonitor 01.59:";; | |
1347 | + short | recursive ) echo "Configuration of dmonitor 01.60:";; | |
1348 | 1348 | esac |
1349 | 1349 | cat <<\_ACEOF |
1350 | 1350 |
@@ -1435,7 +1435,7 @@ fi | ||
1435 | 1435 | test -n "$ac_init_help" && exit $ac_status |
1436 | 1436 | if $ac_init_version; then |
1437 | 1437 | cat <<\_ACEOF |
1438 | -dmonitor configure 01.59 | |
1438 | +dmonitor configure 01.60 | |
1439 | 1439 | generated by GNU Autoconf 2.69 |
1440 | 1440 | |
1441 | 1441 | Copyright (C) 2012 Free Software Foundation, Inc. |
@@ -1912,7 +1912,7 @@ cat >config.log <<_ACEOF | ||
1912 | 1912 | This file contains any messages produced by compilers while |
1913 | 1913 | running configure, to aid debugging if configure makes a mistake. |
1914 | 1914 | |
1915 | -It was created by dmonitor $as_me 01.59, which was | |
1915 | +It was created by dmonitor $as_me 01.60, which was | |
1916 | 1916 | generated by GNU Autoconf 2.69. Invocation command line was |
1917 | 1917 | |
1918 | 1918 | $ $0 $@ |
@@ -2778,7 +2778,7 @@ fi | ||
2778 | 2778 | |
2779 | 2779 | # Define the identity of the package. |
2780 | 2780 | PACKAGE='dmonitor' |
2781 | - VERSION='01.59' | |
2781 | + VERSION='01.60' | |
2782 | 2782 | |
2783 | 2783 | |
2784 | 2784 | cat >>confdefs.h <<_ACEOF |
@@ -5048,7 +5048,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 | ||
5048 | 5048 | # report actual input values of CONFIG_FILES etc. instead of their |
5049 | 5049 | # values after options handling. |
5050 | 5050 | ac_log=" |
5051 | -This file was extended by dmonitor $as_me 01.59, which was | |
5051 | +This file was extended by dmonitor $as_me 01.60, which was | |
5052 | 5052 | generated by GNU Autoconf 2.69. Invocation command line was |
5053 | 5053 | |
5054 | 5054 | CONFIG_FILES = $CONFIG_FILES |
@@ -5114,7 +5114,7 @@ _ACEOF | ||
5114 | 5114 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
5115 | 5115 | ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" |
5116 | 5116 | ac_cs_version="\\ |
5117 | -dmonitor config.status 01.59 | |
5117 | +dmonitor config.status 01.60 | |
5118 | 5118 | configured by $0, generated by GNU Autoconf 2.69, |
5119 | 5119 | with options \\"\$ac_cs_config\\" |
5120 | 5120 |
@@ -1,9 +1,16 @@ | ||
1 | +dmonitor (01.60) unstable; urgency=low | |
2 | + | |
3 | + * update Closes: (#120) | |
4 | + * BUG fixed for node adapter routine | |
5 | + | |
6 | + -- Satoshi Yasuda <7m3tjz@jarl.com> Sat, 10 Oct 2020 21:10:00 +0900 | |
7 | + | |
1 | 8 | dmonitor (01.59) unstable; urgency=low |
2 | 9 | |
3 | 10 | * update Closes: (#119) |
4 | 11 | * BUG fixed for lcd_type (typo) another one |
5 | 12 | |
6 | - -- Satoshi Yasuda <7m3tjz@jarl.com> Thu, 09 Oct 2020 22:20:00 +0900 | |
13 | + -- Satoshi Yasuda <7m3tjz@jarl.com> Fri, 09 Oct 2020 22:20:00 +0900 | |
7 | 14 | |
8 | 15 | dmonitor (01.58) unstable; urgency=low |
9 | 16 |
@@ -33,6 +33,7 @@ | ||
33 | 33 | #include "config.h" |
34 | 34 | |
35 | 35 | //#define _DEBUG_DVMEGA |
36 | +//#define _SPECIFICATIO_CHECK | |
36 | 37 | |
37 | 38 | #define GW 0x80 |
38 | 39 | #define ZR 0x40 |
@@ -248,6 +249,7 @@ unsigned char dvmega_mode; | ||
248 | 249 | unsigned char rig_device[32]; |
249 | 250 | unsigned char dvmega_frame_seq; |
250 | 251 | |
252 | + | |
251 | 253 | /* node adapter */ |
252 | 254 | int node_VenderID; |
253 | 255 | int node_ProductID; |
@@ -272,9 +274,9 @@ struct dv_packet node_pkt; | ||
272 | 274 | struct dv_packet node_pkt_header; |
273 | 275 | |
274 | 276 | char node_voice_save[24]; |
275 | -int node_voice_send_sw; | |
276 | 277 | int node_tx_inv; |
277 | 278 | int node_rx_inv; |
279 | +int node_voice_send_sw; | |
278 | 280 | |
279 | 281 | char node_last_frame_sw; |
280 | 282 |
@@ -290,3 +292,6 @@ int scan_stop_sw; | ||
290 | 292 | int lcd_type; |
291 | 293 | int lcd; |
292 | 294 | time_t lcd_time_save; |
295 | + | |
296 | +/* mics */ | |
297 | +char voice_packet_save[15]; |
@@ -722,7 +722,7 @@ void jitter_put (unsigned char buff[]) | ||
722 | 722 | else |
723 | 723 | memcpy (&jitter_buff[jitter_wr_pnt][0], buff, 10); |
724 | 724 | jitter_wr_cnt++; |
725 | - if (jitter_wr_cnt < 0) jitter_wr_cnt = 0; | |
725 | + if (jitter_wr_cnt < 0) jitter_wr_pnt = 0; | |
726 | 726 | #ifdef _DEBUG_JITTER |
727 | 727 | syslog (LOG_INFO, "jitter put %d %d", jitter_wr_pnt, jitter_wr_cnt); |
728 | 728 | #endif |
@@ -755,11 +755,12 @@ void jitter_putFifo (void) | ||
755 | 755 | } |
756 | 756 | putFifo (13, &jitter_buff[jitter_wr_pnt][0]); |
757 | 757 | jitter_buff[jitter_wr_pnt][0] = 0xff; |
758 | - jitter_rd_pnt = 0; | |
758 | + jitter_rd_pnt++; | |
759 | + if (jitter_rd_pnt > 20) jitter_rd_pnt = 0; | |
759 | 760 | digitalWrite (INET_LED, 0); |
760 | 761 | digitalWrite (RIG_LED, 0); |
761 | 762 | return; |
762 | - } | |
763 | + } | |
763 | 764 | while (jitter_buff[jitter_rd_pnt][0] != 0xff) |
764 | 765 | { |
765 | 766 | putFifo (13, &jitter_buff[jitter_rd_pnt][0]); |
@@ -56,11 +56,11 @@ void header_read_from_node(void) /* read from rig (DV packet) */ | ||
56 | 56 | memcpy (&inet_send_buff[20], area_call, 8); |
57 | 57 | memcpy (&inet_send_buff[28], area_call, 8); |
58 | 58 | if (memcmp (&inet_send_buff[36], "CQCQCQ ", 8)) gw_on = TRUE; |
59 | - if (send_sw && !rig_send_sw) | |
59 | + if (send_sw && !rig_send_sw && !node_voice_send_sw) | |
60 | 60 | { |
61 | -syslog (LOG_DEBUG, "120"); | |
62 | 61 | memset (inet_frame_id, 0xff, 2); |
63 | 62 | node_last_frame_sw = FALSE; |
63 | + node_voice_send_sw = TRUE; | |
64 | 64 | in_addr.sin_port = htons(dest_inet_port); |
65 | 65 | in_addr.sin_addr.s_addr = inet_addr(dest_address); |
66 | 66 | m_seq++; |
@@ -73,7 +73,6 @@ syslog (LOG_DEBUG, "120"); | ||
73 | 73 | inet_send_buff[57] = crc & 0xff; |
74 | 74 | ret = sendto (in_addr_sock, inet_send_buff, 58, MSG_DONTWAIT, |
75 | 75 | (struct sockaddr *)&in_addr, sizeof(in_addr)); |
76 | -syslog (LOG_DEBUG, "130 %d", ret); | |
77 | 76 | m_seq++; |
78 | 77 | m_seq &= 0xffff; |
79 | 78 | inet_send_buff[4] = (m_seq >> 8) & 0xff; |
@@ -113,7 +112,6 @@ syslog (LOG_DEBUG, "130 %d", ret); | ||
113 | 112 | HeaderLength = 41; |
114 | 113 | voice_pnt = 12; |
115 | 114 | seq = 0; |
116 | - //node_last_frame_sw = TRUE; | |
117 | 115 | } |
118 | 116 | } |
119 | 117 |
@@ -128,8 +126,6 @@ void header_send_set_from_node(void) | ||
128 | 126 | memcpy (node_pkt.dstar.b_bone.b_b.frame_id, &tmp, 2); |
129 | 127 | node_pkt.dstar.b_bone.b_b.seq = 0x80; |
130 | 128 | //node_msg.msg_pnt = 0; |
131 | - | |
132 | - node_voice_send_sw = FALSE; | |
133 | 129 | seq = 0; |
134 | 130 | //node_last_frame_sw = TRUE; |
135 | 131 | } |
@@ -171,7 +167,7 @@ int voice_read_from_node() | ||
171 | 167 | seq++; |
172 | 168 | if (seq > 20) seq = 0; |
173 | 169 | memcpy (&inet_send_buff[17], node_voice_save, 12); |
174 | - if (send_sw) | |
170 | + if (send_sw && !rig_send_sw && node_voice_send_sw) | |
175 | 171 | { |
176 | 172 | in_addr.sin_port = htons(dest_inet_port); |
177 | 173 | in_addr.sin_addr.s_addr = inet_addr(dest_address); |
@@ -190,7 +186,7 @@ int voice_read_from_node() | ||
190 | 186 | inet_send_buff[5] = m_seq & 0xff; |
191 | 187 | inet_send_buff[16] = seq | 0x40; |
192 | 188 | memcpy (&inet_send_buff[17], &node_voice_save[12], 12); |
193 | - if (send_sw) | |
189 | + if (send_sw && !rig_send_sw && node_voice_send_sw) | |
194 | 190 | { |
195 | 191 | in_addr.sin_port = htons(dest_inet_port); |
196 | 192 | in_addr.sin_addr.s_addr = inet_addr(dest_address); |
@@ -200,6 +196,7 @@ int voice_read_from_node() | ||
200 | 196 | memset (inet_frame_id, 0x00, 2); |
201 | 197 | frameID = 0; |
202 | 198 | HeaderLength = 0; |
199 | + node_voice_send_sw = FALSE; | |
203 | 200 | digitalWrite (RIG_LED, 0); |
204 | 201 | digitalWrite (INET_LED, 0); |
205 | 202 | } |
@@ -215,16 +212,3 @@ int voice_read_from_node() | ||
215 | 212 | return 0; |
216 | 213 | } |
217 | 214 | |
218 | -#if 0 | |
219 | -void node_last_frame_send (void) | |
220 | -{ | |
221 | - memcpy (&node_pkt.dstar.b_bone.dstar_udp.voice_d.data_segment, lastframe, 6); | |
222 | - dv_pkt_set(node_pkt); | |
223 | - node_pkt.pkt_type = 0x20; | |
224 | - node_pkt.dstar.b_bone.b_b.seq = seq | 0x40; | |
225 | - if (node_voice_send_sw) putFifo (30, node_pkt); | |
226 | - node_last_frame_sw = FALSE; | |
227 | - node_NoRespReply_sw = TRUE; | |
228 | -} | |
229 | -#endif | |
230 | - |
@@ -220,7 +220,7 @@ void inet_read (void) | ||
220 | 220 | { |
221 | 221 | #ifdef _SPECIFICATIO_CHECK |
222 | 222 | if (!memcmp (&recvBuff[14], voice_packet_save, 15)) |
223 | - syslog (LOG_INFO, "Dup. packet (maybe loop) from %8.8s %2.2x %2.2x %2,2x", recvBuff[14], recvBuff[15], recvBuff[16]); | |
223 | + syslog (LOG_INFO, "Dup. packet (maybe loop) from %2.2x %2.2x %2.2x", recvBuff[14], recvBuff[15], recvBuff[16]); | |
224 | 224 | memcpy (voice_packet_save, &recvBuff[14], 15); |
225 | 225 | #endif |
226 | 226 | #ifdef _DEBUG |
@@ -255,7 +255,11 @@ void inet_read (void) | ||
255 | 255 | if (t_sub > 300) syslog (LOG_INFO, "long interval %ld.%03ld Sec. seq:%2.2x", t_sub / 1000, t_sub % 1000, recvBuff[16]); |
256 | 256 | //if (t_sub < 2) syslog (LOG_INFO, "short interval %ld mSec.", t_sub); |
257 | 257 | #endif |
258 | - if (!memcmp (&recvBuff[17] , dummy_frame_3, 3) && !memcmp (&recvBuff[26], &dummy_frame_3[9], 3)) recvBuff[16] |= 0x40; | |
258 | + if (!memcmp (&recvBuff[17] , dummy_frame_3, 3) && !memcmp (&recvBuff[26], &dummy_frame_3[9], 3)) | |
259 | + { | |
260 | + recvBuff[16] |= 0x40; | |
261 | + memset (inet_frame_id, 0x00, 2); | |
262 | + } | |
259 | 263 | jitter_put (&recvBuff[16]); |
260 | 264 | if (!scan_sw) dstar_data (recvBuff, TRUE); |
261 | 265 | #if 0 |
@@ -152,7 +152,7 @@ int main(int argc, char *argv[]) | ||
152 | 152 | if (length <= 0 ) return -1; |
153 | 153 | pg_path[length] = 0x00; |
154 | 154 | if (ETagGen (pg_path, MD5_dmonitor) < 0) return 5; |
155 | - //memcpy (MD5_dmonitor, "5ebe211107266a57b1af14a7fdcd8480", 32); | |
155 | + memcpy (MD5_dmonitor, "5ebe211107266a57b1af14a7fdcd8480", 32); | |
156 | 156 | |
157 | 157 | Rp = malloc (sizeof (struct FifoPkt) - 1024); |
158 | 158 | Wp = Rp; |
@@ -24,7 +24,7 @@ void node_term (void) | ||
24 | 24 | // node_last_frame_sw = FALSE; |
25 | 25 | // dvap_voice_send_sw = FALSE; |
26 | 26 | // memset (&node_save_frame_id, 0x00, 2); |
27 | - syslog (LOG_INFO, "Node Adapter down."); | |
27 | + syslog (LOG_INFO, "Node Adapter close."); | |
28 | 28 | } |
29 | 29 | |
30 | 30 | int node_cos_check(void) |
@@ -99,6 +99,7 @@ int node_usb_init(void) | ||
99 | 99 | usb_control_msg(udev, 0x40, SET_DelayTime, node_tx_delay/10, 0, NULL, 0, 100); |
100 | 100 | if (!scan_sw) PICinfo(); |
101 | 101 | HeaderLength = 0; |
102 | + node_voice_send_sw = FALSE; | |
102 | 103 | return TRUE; |
103 | 104 | |
104 | 105 | } |
@@ -101,7 +101,7 @@ void node_term (void) | ||
101 | 101 | { |
102 | 102 | // node_last_frame_sw = FALSE; |
103 | 103 | // memset (&node_save_frame_id, 0x00, 2); |
104 | - syslog (LOG_INFO, "Node Adapter down."); | |
104 | + syslog (LOG_INFO, "Node Adapter close."); | |
105 | 105 | } |
106 | 106 | |
107 | 107 | int node_cos_check(void) |