kopia lustrzana https://github.com/Hamlib/Hamlib
rodzic
5b4654024a
commit
a00326161c
|
@ -2,7 +2,7 @@
|
|||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -282,7 +282,7 @@ static int multicast_send_json(RIG *rig)
|
|||
|
||||
void *multicast_thread(void *vrig)
|
||||
{
|
||||
int retval;
|
||||
//int retval;
|
||||
RIG *rig = (RIG *)vrig;
|
||||
rig_debug(RIG_DEBUG_TRACE, "%s: multicast_thread started\n", __func__);
|
||||
|
||||
|
@ -293,8 +293,14 @@ void *multicast_thread(void *vrig)
|
|||
|
||||
freq_t freqA, freqAsave = 0;
|
||||
freq_t freqB, freqBsave = 0;
|
||||
mode_t modeA, modeAsave = 0;
|
||||
mode_t modeB, modeBsave = 0;
|
||||
ptt_t ptt, pttsave = 0;
|
||||
rig->state.multicast->runflag = 1;
|
||||
|
||||
while (rig->state.multicast->runflag)
|
||||
{
|
||||
#if 0
|
||||
if ((retval = rig_get_freq(rig, RIG_VFO_A, &freqA)) != RIG_OK)
|
||||
{
|
||||
rig_debug(RIG_DEBUG_ERR, "%s: rig_get_freqA:%s\n", __func__, rigerror(retval));
|
||||
|
@ -309,17 +315,37 @@ void *multicast_thread(void *vrig)
|
|||
{
|
||||
freqB = rig->state.cache.freqMainB;
|
||||
}
|
||||
#else
|
||||
freqA = rig->state.cache.freqMainA;
|
||||
freqB = rig->state.cache.freqMainB;
|
||||
modeA = rig->state.cache.modeMainA;
|
||||
modeB = rig->state.cache.modeMainB;
|
||||
ptt = rig->state.cache.ptt;
|
||||
#endif
|
||||
|
||||
if (freqA != freqAsave || freqB != freqBsave || loopcount-- <= 0)
|
||||
if (freqA != freqAsave
|
||||
|| freqB != freqBsave
|
||||
|| modeA != modeAsave
|
||||
|| modeB != modeBsave
|
||||
|| ptt != pttsave
|
||||
|| loopcount-- <= 0)
|
||||
{
|
||||
multicast_status_changed(rig);
|
||||
if (loopcount <= 0)
|
||||
rig_debug(RIG_DEBUG_CACHE, "%s: sending multicast packet timeout\n", __func__);
|
||||
else rig_debug(RIG_DEBUG_ERR, "%s: sending multicast packet due to change\n", __func__);
|
||||
// multicast_status_changed(rig);
|
||||
multicast_send_json(rig);
|
||||
loopcount = 8;
|
||||
freqAsave = freqA;
|
||||
freqBsave = freqB;
|
||||
modeAsave = modeA;
|
||||
modeBsave = modeB;
|
||||
pttsave = ptt;
|
||||
loopcount = 8;
|
||||
}
|
||||
else
|
||||
{
|
||||
//rig_debug(RIG_DEBUG_VERBOSE, "%s: loop\n", __func__);
|
||||
hl_usleep(100 * 1000);
|
||||
}
|
||||
|
||||
|
@ -354,6 +380,7 @@ static char *GetWinsockLastError(char *errorBuffer, DWORD errorBufferSize)
|
|||
|
||||
int multicast_init(RIG *rig, char *addr, int port)
|
||||
{
|
||||
if (rig->state.multicast && rig->state.multicast->multicast_running) return RIG_OK;
|
||||
#ifdef _WIN32
|
||||
WSADATA wsaData;
|
||||
|
||||
|
@ -453,7 +480,7 @@ int multicast_init(RIG *rig, char *addr, int port)
|
|||
rig->state.multicast->dest_addr.sin_addr.s_addr = inet_addr(addr);
|
||||
rig->state.multicast->dest_addr.sin_port = htons(port);
|
||||
|
||||
#if 0
|
||||
#if 1
|
||||
rig->state.multicast->runflag = 1;
|
||||
pthread_create(&rig->state.multicast->threadid, NULL, multicast_thread,
|
||||
(void *)rig);
|
||||
|
|
|
@ -902,6 +902,8 @@ void *multicast_publisher(void *arg)
|
|||
dest_addr.sin_addr.s_addr = inet_addr(args->multicast_addr);
|
||||
dest_addr.sin_port = htons(args->multicast_port);
|
||||
|
||||
rs->multicast_publisher_run = 1;
|
||||
|
||||
while (rs->multicast_publisher_run)
|
||||
{
|
||||
result = multicast_publisher_read_packet(args, &packet_type, &spectrum_line,
|
||||
|
|
|
@ -1486,6 +1486,7 @@ int HAMLIB_API rig_open(RIG *rig)
|
|||
memcpy(&rs->pttport_deprecated, &rs->pttport, sizeof(hamlib_port_t_deprecated));
|
||||
memcpy(&rs->dcdport_deprecated, &rs->dcdport, sizeof(hamlib_port_t_deprecated));
|
||||
rig_flush_force(&rs->rigport, 1);
|
||||
if (rig->caps->rig_model != RIG_MODEL_NETRIGCTL) multicast_init(rig, "224.0.0.1", 4532);
|
||||
RETURNFUNC2(RIG_OK);
|
||||
}
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue