Commit graph

2251 commits

Author SHA1 Message Date
Jonathan Naylor
80a77bd12a Add the M17 page to the Nextion displays. 2020-10-15 13:59:28 +01:00
Jonathan Naylor
8536294b76 Initial work on the M17 protocol. 2020-10-14 16:16:54 +01:00
Jonathan Naylor
ff19408e2d Fix bug added in FICH regeneration. 2020-10-13 10:11:13 +01:00
Jonathan Naylor
c1171bc052 Regenerate the FICH correctly. 2020-10-13 10:07:31 +01:00
Jonathan Naylor
eb2510898d Merge branch 'master' into SimpleDMR 2020-10-07 10:32:42 +01:00
Jonathan Naylor
cfc313e5b9 Fix buffer overflow. 2020-10-07 10:32:12 +01:00
Jonathan Naylor
91ad967f6d Merge branch 'master' into SimpleDMR 2020-10-06 10:14:16 +01:00
Jonathan Naylor
2d557ffe30
Merge pull request #642 from jg1uaa/master
CNetworkInfo::getNetworkInterface() OpenBSD/NetBSD support
2020-10-06 10:05:21 +01:00
SASANO Takayoshi
f2c399308b CNetworkInfo::getNetworkInterface display IP address is limited to IPv4
Displayed IP address is now IPv4 only due to referring IPv4 routing table
to get default route.

This feature is used by hotspots which have small LCD or OLED display
to show IP address to remote login. No effects to connect other reflectors.

If completely disabled IPv4 world will come, the code need to be revised.
2020-10-06 06:58:35 +09:00
SASANO Takayoshi
879b426308 CNetworkInfo::getNetworkInterface() OpenBSD/NetBSD support
added IPv4 default routing information request code for OpenBSD/NetBSD.
2020-10-06 06:17:55 +09:00
Jonathan Naylor
64a20d9d08 Merge branch 'master' into SimpleDMR 2020-10-05 12:48:57 +01:00
Jonathan Naylor
5dc3308ef4 NetBSD and other changes. 2020-10-05 12:46:54 +01:00
Jonathan Naylor
e872ca37cd Merge branch 'master' into SimpleDMR 2020-09-25 12:34:58 +01:00
Jonathan Naylor
9ccc94923e
Merge pull request #640 from jg1uaa/oled-userdb
fix scroll direction
2020-09-25 12:34:19 +01:00
SASANO Takayoshi
9bf68e2eb7 fix scroll direction
all messages except clearCWInt(), scroll direction is inverted.
almost all languages are written from left to right,
so scrolling direction should be "display new right-side characters".
2020-09-25 19:02:36 +08:00
Jonathan Naylor
768599af84 Merge branch 'master' into SimpleDMR 2020-09-24 13:58:44 +01:00
Jonathan Naylor
4ffc5cdb71 Reduce the amount of YSF debug logging. 2020-09-24 13:53:17 +01:00
Jonathan Naylor
040ea4a15c Regenerate the odd VW mode message after the header. 2020-09-24 13:47:31 +01:00
Jonathan Naylor
d92d41b4fd
Merge pull request #639 from jg1uaa/oled-userdb
add UserDB display for OLED
2020-09-24 13:00:51 +01:00
SASANO Takayoshi
e818d0f500 add UserDB display for OLED
To display UserDB on DMR mode, set Slot1=0 and Slot2=1 in [DMR Network]
section.
2020-09-24 18:58:10 +08:00
Jonathan Naylor
c5ce304edb Merge branch 'master' into SimpleDMR 2020-09-22 15:55:13 +01:00
Jonathan Naylor
ba476b6fec Use normal logging for UDPSocket. 2020-09-22 15:51:10 +01:00
Jonathan Naylor
83b92f98e7
Merge pull request #638 from jg1uaa/oled-userdb
Makefile.Pi.OLED revised
2020-09-22 07:58:36 +01:00
SASANO Takayoshi
d77d44fd4b Makefile.Pi.OLED revised
- use system default compiler (cc/c++) instead of gcc/g++
- no need to link wiringPi library, remove -lwiringPi
2020-09-22 07:43:20 +08:00
Jonathan Naylor
5eabb93078 Fix Windows execution. 2020-09-20 21:31:32 +01:00
Jonathan Naylor
b2ba671071 Fix Windows compilation. 2020-09-20 14:07:42 +01:00
Jonathan Naylor
6d6fcc7f93 Merge branch 'master' into SimpleDMR 2020-09-08 10:11:15 +01:00
Jonathan Naylor
75652b04ae Ignore any incoming YSF options messages. 2020-09-08 10:10:25 +01:00
Jonathan Naylor
43f4cdf092 Make all of the other Makefiles use the system default compilers. 2020-09-06 14:29:29 +01:00
Jonathan Naylor
7d3e899104 Clean ups for IPv6. 2020-09-06 12:54:08 +01:00
Jonathan Naylor
e45f0edec4 Merge branch 'ipv6' into SimpleDMR 2020-09-06 11:57:11 +01:00
Jonathan Naylor
e935fc1085
Merge pull request #636 from jg1uaa/ipv6
UDPSocket renewal
2020-09-06 11:52:13 +01:00
SASANO Takayoshi
f2543de3da fix CUDPSocket(port) constructor bug
constructor CUDPSocket(port) cannot create properly, fixed
2020-09-06 16:32:33 +09:00
SASANO Takayoshi
9856025923 rewrite for UDPSocket renewal 2020-09-06 15:52:46 +09:00
SASANO Takayoshi
def0edbaca UDPSocket renewal (2)
introduced YSFClients code

	match_addr(addr1, addr2) -> match(addr1, addr2, IMT_ADDRESS_ONLY)
	isnone() -> isNone()
	open(sockaddr_storage&) added (this refers address family only)
2020-09-06 15:48:22 +09:00
SASANO Takayoshi
457be810a3 UDPSocket renewal
Currently there is six variations of (IPv4) UDPSocket.cpp.

- FMClients, NXDNClients, P25Clients, YSFClients(YSFParrot)
	use ::fprintf() for logging

- YSFClients(YSFReflector)
	use LogError() and LogInfo() for logging
	special open(string &bindaddr) function

- YSFClients(YSFGateway), DAPNETGateway
	use LogError() and LogInfo() for logging

- P25Clients, DMRGateway
	use LogError() for logging
	no LogInfo("Opening UDP port on") message

- NXDNClients
	use LogError() for logging
	no LogInfo("Opening UDP port on") message
	add #include <ifaddrs.h>

- MMDVMHost
	use LogError() for logging
	no LogInfo("Opening UDP port on") message
	no assert(!address.empty()) at constructor

to avoid explosion, commonized them.

	switch ::fprintf()/LogError by #define HAVE_LOG_H
	always display LogInfo("Opening UDP port on") message
	delete #include <ifaddrs.h>, this is not needed
	no assert(!address.empty()) at constructor

and to support YSFReflector, add multiple socket support.
default is #define UDP_SOCKET_MAX 1 so normally this feature is disabled.

added these functions.

	CUDPSocket()	(constructor without any parameters)
	open(index, af, addr, port)
	close(index)

CUDPSocket() means CUDPSocket(address = "", port = 0)
index selects socket, address and port is defined at open.

to have compatibility for old codes, these function works as

	CUDPSocket(addr, port)	store addr and port to index #0
	CUDPSocket(port)	store addr = "" and port to index #0
	open()		open with addr and port of index #0, AF_UNSPEC
	open(af)	open with addr and port of index #0, specified af
	close()		close *all* sockets

read/write operation is for all opened sockets.
2020-09-06 12:09:37 +09:00
Jonathan Naylor
3de54f6dd8 Merge branch 'ipv6' into SimpleDMR 2020-09-03 11:43:42 +01:00
Jonathan Naylor
132fb62d56 Small cleanups. 2020-08-30 14:54:51 +01:00
Jonathan Naylor
2349520964 Remove the location information from the new config message. 2020-08-27 10:13:02 +01:00
Jonathan Naylor
01da0ded7f Remove the unused SHA256 functions. 2020-08-27 09:00:49 +01:00
Jonathan Naylor
98879b5c14 Reinstated the location field. 2020-08-26 12:13:34 +01:00
Jonathan Naylor
a9c9ff6011 Changes for the simplified protocol. 2020-08-26 10:18:57 +01:00
Jonathan Naylor
66a17f4849 Simplify the Host to DMR Gateway protocol. 2020-08-26 09:29:11 +01:00
Jonathan Naylor
f71c8ce7bc
Merge pull request #633 from on7lds/dev
change tx and rx frequency display precision (to reflect ini file significant figures)
2020-08-14 09:33:53 +01:00
ON7LDS
70d596fea4 change tx and rx frequency display precision (to reflect ini file significant figures) 2020-08-13 21:23:42 +02:00
Jonathan Naylor
cdf62f1601
Merge pull request #630 from stefansaraev/oled-buildfix
OLED: fix build after f070410f7 and c7fbeecc5
2020-08-10 14:30:25 +01:00
Stefan Saraev
f48cfcc70c OLED: fix build after f070410f7 and c7fbeecc5
============================
Display.cpp: In static member function 'static CDisplay* CDisplay::createDisplay(const CConf&, CUMP*, CModem*)':
Display.cpp:645:128: error: invalid new-expression of abstract class type 'COLED'
  645 |   display = new COLED(type, brightness, invert, scroll, rotate, logosaver, conf.getDMRNetworkSlot1(), conf.getDMRNetworkSlot2());
      |                                                                                                                                ^
In file included from Display.cpp:39:
OLED.h:40:7: note:   because the following virtual functions are pure within 'COLED':
   40 | class COLED : public CDisplay
      |       ^~~~~
In file included from Display.cpp:19:
Display.h:105:15: note: 	'virtual void CDisplay::writeFusionInt(const char*, const char*, unsigned char, const char*, const char*)'
  105 |  virtual void writeFusionInt(const char* source, const char* dest, unsigned char dgid, const char* type, const char* origin) = 0;
============================
2020-08-10 16:26:07 +03:00
Jonathan Naylor
c7fbeecc50 Change the displays to show the DG-ID instead of the TO field for YSF. 2020-08-09 19:23:18 +01:00
Jonathan Naylor
f070410f7e Display and log the DG-ID in the Fusion mode. 2020-08-09 15:09:08 +01:00
Jonathan Naylor
b0d828123b
Merge pull request #624 from msraya/master
Remove DG-ID clear to zero in order to use DG-ID room switch in C4FM servers
2020-08-04 19:40:08 +01:00