kopia lustrzana https://github.com/Hamlib/Hamlib
Add multicast_item_e and change multicast_server API
https://github.com/Hamlib/Hamlib/issues/695pull/712/head
rodzic
5056982375
commit
3e4ff69b96
|
@ -996,6 +996,16 @@ enum cookie_e {
|
||||||
RIG_COOKIE_RENEW,
|
RIG_COOKIE_RENEW,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Multicast data items
|
||||||
|
* 3 different data item can be included in the multicast JSON
|
||||||
|
*/
|
||||||
|
enum multicast_item_e {
|
||||||
|
RIG_MULTICAST_POLL, // hamlib will be polling the rig for all rig items
|
||||||
|
RIG_MULTICAST_TRANSCEIVE, // transceive will be turned on and processed
|
||||||
|
RIG_MULTICAST_SPECTRUM // spectrum data will be included
|
||||||
|
};
|
||||||
|
|
||||||
//! @cond Doxygen_Suppress
|
//! @cond Doxygen_Suppress
|
||||||
#define RIG_PARM_FLOAT_LIST (RIG_PARM_BACKLIGHT|RIG_PARM_BAT|RIG_PARM_KEYLIGHT)
|
#define RIG_PARM_FLOAT_LIST (RIG_PARM_BACKLIGHT|RIG_PARM_BAT|RIG_PARM_KEYLIGHT)
|
||||||
#define RIG_PARM_READONLY_LIST (RIG_PARM_BAT)
|
#define RIG_PARM_READONLY_LIST (RIG_PARM_BAT)
|
||||||
|
|
|
@ -406,7 +406,7 @@ int network_close(hamlib_port_t *rp)
|
||||||
* \param default_port Default network socket port
|
* \param default_port Default network socket port
|
||||||
* \return RIG_OK or < 0 if error
|
* \return RIG_OK or < 0 if error
|
||||||
*/
|
*/
|
||||||
int network_multicast_server(RIG *rig, const char *multicast_addr, int default_port)
|
int network_multicast_server(RIG *rig, const char *multicast_addr, int default_port, enum multicast_item_e items)
|
||||||
{
|
{
|
||||||
int status;
|
int status;
|
||||||
|
|
||||||
|
@ -417,6 +417,19 @@ int network_multicast_server(RIG *rig, const char *multicast_addr, int default_p
|
||||||
|
|
||||||
if (status != RIG_OK) { RETURNFUNC(status); }
|
if (status != RIG_OK) { RETURNFUNC(status); }
|
||||||
|
|
||||||
|
if (items && RIG_MULTICAST_TRANSCEIVE)
|
||||||
|
{
|
||||||
|
rig_debug(RIG_DEBUG_VERBOSE, "%s(%d) MULTICAST_TRANSCEIVE enabled\n", __FILE__, __LINE__);
|
||||||
|
}
|
||||||
|
if (items && RIG_MULTICAST_SPECTRUM)
|
||||||
|
{
|
||||||
|
rig_debug(RIG_DEBUG_VERBOSE, "%s(%d) MULTICAST_SPECTRUM enabled\n", __FILE__, __LINE__);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
rig_debug(RIG_DEBUG_ERR, "%s(%d) unknown MULTICAST item requested=0x%x\n", __FILE__, __LINE__, items);
|
||||||
|
}
|
||||||
|
|
||||||
RETURNFUNC(RIG_OK);
|
RETURNFUNC(RIG_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ __BEGIN_DECLS
|
||||||
|
|
||||||
/* Hamlib internal use, see rig.c */
|
/* Hamlib internal use, see rig.c */
|
||||||
int network_open(hamlib_port_t *p, int default_port);
|
int network_open(hamlib_port_t *p, int default_port);
|
||||||
HAMLIB_EXPORT(int) network_multicast_server(RIG *rig, const char *multicast_addr, int default_port);
|
HAMLIB_EXPORT(int) network_multicast_server(RIG *rig, const char *multicast_addr, int default_port, enum multicast_item_e items);
|
||||||
int network_close(hamlib_port_t *rp);
|
int network_close(hamlib_port_t *rp);
|
||||||
void network_flush(hamlib_port_t *rp);
|
void network_flush(hamlib_port_t *rp);
|
||||||
|
|
||||||
|
|
|
@ -746,7 +746,8 @@ int main(int argc, char *argv[])
|
||||||
|
|
||||||
saved_result = result;
|
saved_result = result;
|
||||||
|
|
||||||
retcode = network_multicast_server(my_rig, multicast_addr, 4532);
|
enum multicast_item_e items = RIG_MULTICAST_POLL|RIG_MULTICAST_TRANSCEIVE|RIG_MULTICAST_SPECTRUM;
|
||||||
|
retcode = network_multicast_server(my_rig, multicast_addr, 4532, items);
|
||||||
|
|
||||||
if (retcode != RIG_OK)
|
if (retcode != RIG_OK)
|
||||||
{
|
{
|
||||||
|
|
Ładowanie…
Reference in New Issue