Commit graph

2252 commits

Author SHA1 Message Date
Jonathan Naylor e0f4928db5 Handle M17 in the display code. 2020-10-15 14:32:56 +01:00
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