Commit graph

2613 commits

Author SHA1 Message Date
Jonathan Naylor
a450c2b2ad
Merge pull request #567 from F4FXL/FM
Fix Set FM params after creating modem, not before
2020-04-19 16:07:32 +01:00
Geoffrey Merck
9acd523bc3 Fix Set FM params after creating modem, not before 2020-04-19 16:36:29 +02:00
Jonathan Naylor
c359d874b5 Regularise the FM configuration. 2020-04-18 14:59:19 +01:00
Jonathan Naylor
11cd5679a7 Simplify the FM configuration. 2020-04-18 13:43:36 +01:00
Jonathan Naylor
f8bce3823a Allow for a seperate FM timeout value. 2020-04-15 14:14:38 +01:00
Jonathan Naylor
960a60f382 Pass the net ack text to the modem. 2020-04-14 12:22:23 +01:00
Jonathan Naylor
1f17aec1f1 Add the minimum time for a 'K' parameter. 2020-04-13 15:53:18 +01:00
Jonathan Naylor
58aff1ab77 Split the RF and Network acks. 2020-04-13 13:36:16 +01:00
Jonathan Naylor
211e96a86d Convert to percentages. 2020-04-12 16:01:28 +01:00
Jonathan Naylor
927f31cdfa Move the levels to the overall MMDVM control message. 2020-04-12 15:10:51 +01:00
Jonathan Naylor
dcdfca39d7 Add FM mode display. 2020-04-11 20:42:05 +01:00
SASANO Takayoshi
5df1fe551f add IPv6 support for RemoteControl
To specify IP(v4/v6) address for RemoteControl port,
add Address parameter in [RemoteControl] section to MMDVM.ini.

Different from other Address(es), the default IP address of RemoteControl
is 127.0.0.1 for security.
2020-04-11 13:12:19 +09:00
Jonathan Naylor
c381f2ceac Convert the callsign and ack to upper case. 2020-04-10 13:52:49 +01:00
Jonathan Naylor
8cd75ce787 Add the FM repeater modem parameter writes. 2020-04-09 22:55:20 +01:00
Jonathan Naylor
535ddba1a0 Beginnings of FM support. 2020-04-09 22:02:47 +01:00
SASANO Takayoshi
88bbb0cd0f use getaddrinfo() AI_PASSIVE flag, to remove "::" and "0.0.0.0" 2020-04-06 18:35:12 +09:00
SASANO Takayoshi
15b5011ebf rewrite with getaddrinfo() API to support IPv6
Currently LCDproc seems to be IPv6 unsupported, but this code is
modified for the future IPv6-supported LCDproc.
2020-04-06 18:35:12 +09:00
SASANO Takayoshi
dad47317e6 set INADDR_ANY/IN6ADDR_ANY_INIT address string to m_socket
when CUDPSocket::open() is called with m_address (in CUDPSocket) is nothing,
IPv4 socket is created by "0.0.0.0" (INADDR_ANY) address.

This causes a problem that DMRGateway cannot connect to reflector on IPv6.
To choose default INADDR_ANY/IN6ADDR_ANY_INIT address, added
open(address_family) in UDPSocket.cpp.

Following code sets address string at construction, not modified.
	NXDNNetwork.cpp
	POCSAGNetwork.cpp
	YSFNetwork.cpp

Other codes does not set, modified open() -> open(address_family)
	DMRNetwork.cpp
	DStarNetwork.cpp
	MMDVMHost.cpp
	MobileGPS.cpp
	P25Network.cpp
	RemoteCommand.cpp
	RemoteControl.cpp

I think there is more clever method, but I have no other idea.

Maybe IPv6 support for digital radio works, but RemoteControl can work
IPv4 only.
2020-04-06 18:35:12 +09:00
SASANO Takayoshi
c92039d83b modified for IPv6 supported CUDPSocket 2020-04-06 18:34:54 +09:00
Jonathan Naylor
4c4ea170b6 Add correct copyright. 2020-04-03 17:09:17 +01:00
Jonathan Naylor
63ee2eb98c
Merge pull request #564 from f1rmb/silence_DMRTA_warning
Remove warning
2020-03-30 20:04:21 +01:00
Daniel Caujolle-Bert
e780e8bd30
Remove warning 2020-03-30 20:30:43 +02:00
SASANO Takayoshi
5dccd5c5ce add match(), isnone() utility function
match() checks address family, IP address and port between
two sockaddr_storages.

isnone() checks sockaddr_storage has INADDR_NONE IPv4 address.
(sockaddr_storage has this address when lookup() failed)
2020-03-28 04:37:51 +09:00
SASANO Takayoshi
022d1a768b add IPv6 support (code from DAPNETGateway-IPv6) 2020-03-27 06:25:54 +09:00
Jonathan Naylor
90c5b24e9f
Merge pull request #562 from jg1uaa/master
Simplify termios setting for serial port
2020-03-25 07:36:30 +00:00
SASANO Takayoshi
ac50244de3 Simplify termios setting for serial port
Testing MMDVMCal on OpenBSD/armv7 + BananaPi BPI-P2 requires CLOCAL flag.
Flags for termios should be same between OSX and other OSes
so unified them (except VMIN and VTIME setting).
2020-03-25 14:32:27 +09:00
Jonathan Naylor
6d27b8d957
Merge pull request #561 from jg1uaa/userdb
UserDB support (NXDN/DMR)
2020-03-24 22:19:04 +00:00
SASANO Takayoshi
d7d83ff4d0 use findWithName() to display user information when netork voice transmission 2020-03-15 10:36:57 +09:00
SASANO Takayoshi
e036ac8be3 revise snprintf() format string to simplify display layout (all modes) 2020-03-12 21:48:21 +09:00
SASANO Takayoshi
cc62fb62b7 add NXDN user data display 2020-03-10 06:14:17 +09:00
SASANO Takayoshi
36414acc6a add UserDB-based NXDN display interface 2020-03-10 05:46:24 +09:00
SASANO Takayoshi
d2751897fb cosme 2020-03-10 05:26:45 +09:00
SASANO Takayoshi
f6b5036651 NXDNLookup now use UserDB 2020-03-09 22:23:55 +09:00
SASANO Takayoshi
136a148480 delete unused variable 2020-03-09 22:16:21 +09:00
SASANO Takayoshi
6febd661f6 add return value description of writeDMRIntEx() 2020-03-09 20:48:14 +09:00
SASANO Takayoshi
92a3441116 code cleanup: remove unneeded std::string() 2020-03-08 20:47:48 +09:00
SASANO Takayoshi
5bd54e97cb add writeDMRIntEx() to support UserDB display 2020-03-08 08:43:57 +09:00
SASANO Takayoshi
4ff77c50d6 use UserDBentry from findWithName() to writeDMR(), add writeDMREx() 2020-03-08 08:06:27 +09:00
SASANO Takayoshi
abf17e19fc get() goes const, add clear() 2020-03-08 07:55:08 +09:00
SASANO Takayoshi
b7f5fdd8a2 use class UserDB (user-info storage) 2020-03-07 16:52:11 +09:00
SASANO Takayoshi
9b15454f96 makeindex() needs clear old result, add index.clear() 2020-03-07 16:44:50 +09:00
SASANO Takayoshi
a2911fa5c3 avoid registing "" string to reduce memory consumption 2020-03-06 21:56:00 +09:00
SASANO Takayoshi
92d9973ace revise LogWarning message, and cosmetic changes 2020-03-05 19:26:02 +09:00
SASANO Takayoshi
8ff3913729 add user database storage
simply added UserDB* source code and modified Makefile.
others are untouched.
2020-03-05 06:35:14 +09:00
Jonathan Naylor
ab13f355d5 Add decode for Call Alert and Call Alert Ack CSBKs. 2020-03-02 12:10:44 +00:00
Jonathan Naylor
8d87037ee5
Merge pull request #558 from jg1uaa/master
TFTSurenoo: Simplify DMR status display
2020-02-29 12:15:32 +00:00
SASANO Takayoshi
0bc6bcdb26 Fix DMR status display for duplex mode
Previous change (simplyfy DMR status display) did not consider
DMR duplex mode.

Now DMR simplex mode uses 2-lines style, duplex mode 4-lines like this.

	Listening
	TS1
	N Callsign
	TS2 TGxx

For this change, statusLine() no longer have meaning.
It will be removed in the future.
2020-02-29 06:51:26 +09:00
SASANO Takayoshi
ead41ba9a5 Simplify DMR status display
Old DMR status display takes 4 lines i.e.:

	1 Listening
	(unused line here)
	2 N Callsign
	TGxx

To make room for display area for future development, DMR status display
are changed to 2-lines style like this:

	N Callsign
	TS2 TGxx

And, added three small changes:

	- use statusLine() macro to change layout easily
	- use two -> three colors
		yellow: radio mode (DMR, YSF, etc)
		cyan: main status (callsign, TG/Timeslot)
		dark green: additional information (D* reflector etc) *NEW*
	- rename statusLine_offset() -> statusLineOffset()
2020-02-28 04:53:14 +09:00
Jonathan Naylor
b0fe8dc607
Merge pull request #557 from jg1uaa/master
TFTSurenoo: stability fix (workaround for display is not cleared)
2020-02-25 22:44:56 +00:00
SASANO Takayoshi
a117d70c56 send CR+LF (command terminator) first at refreshDisplay()
Sometimes BOXF (box fill) command at refreshDisplay() fails.
Normally this is not occured, but running MMDVMHost for long time
(about one day) we see this problem.

The reason is unknown. But if LCD panel receives garbage character between
calling refreshDisplay(), first command (BOXF) at latter-called
refresDdisplay() will fail.

For workaround, send CR+LF command terminator first at this function.
2020-02-24 17:52:30 +09:00