mirror of
https://github.com/meshtastic/firmware.git
synced 2025-04-24 17:32:18 +00:00
mqtt: only publish uplink_enabled channels
This commit is contained in:
parent
e84edc676f
commit
55b8314a2a
@ -29,7 +29,6 @@ class Channels
|
|||||||
int16_t hashes[MAX_NUM_CHANNELS];
|
int16_t hashes[MAX_NUM_CHANNELS];
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
/// Well known channel names
|
/// Well known channel names
|
||||||
static const char *adminChannel, *gpioChannel, *serialChannel;
|
static const char *adminChannel, *gpioChannel, *serialChannel;
|
||||||
|
|
||||||
@ -43,8 +42,15 @@ class Channels
|
|||||||
*/
|
*/
|
||||||
void setChannel(const Channel &c);
|
void setChannel(const Channel &c);
|
||||||
|
|
||||||
|
/** Return a human friendly name for this channel (and expand any short strings as needed)
|
||||||
|
*/
|
||||||
const char *getName(size_t chIndex);
|
const char *getName(size_t chIndex);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return a globally unique channel ID usable with MQTT.
|
||||||
|
*/
|
||||||
|
const char *getGlobalId(size_t chIndex) { return getName(chIndex); } // FIXME, not correct
|
||||||
|
|
||||||
/** The index of the primary channel */
|
/** The index of the primary channel */
|
||||||
ChannelIndex getPrimaryIndex() const { return primaryIndex; }
|
ChannelIndex getPrimaryIndex() const { return primaryIndex; }
|
||||||
|
|
||||||
|
@ -109,11 +109,11 @@ int32_t MQTT::runOnce()
|
|||||||
|
|
||||||
void MQTT::onSend(const MeshPacket &mp, ChannelIndex chIndex)
|
void MQTT::onSend(const MeshPacket &mp, ChannelIndex chIndex)
|
||||||
{
|
{
|
||||||
// don't bother sending if not connected...
|
auto &ch = channels.getByIndex(chIndex);
|
||||||
if (pubSub.connected()) {
|
|
||||||
// FIXME - check uplink enabled
|
|
||||||
|
|
||||||
const char *channelId = channels.getName(chIndex); // FIXME, for now we just use the human name for the channel
|
// don't bother sending if not connected...
|
||||||
|
if (pubSub.connected() && ch.settings.uplink_enabled) {
|
||||||
|
const char *channelId = channels.getGlobalId(chIndex); // FIXME, for now we just use the human name for the channel
|
||||||
|
|
||||||
ServiceEnvelope env = ServiceEnvelope_init_default;
|
ServiceEnvelope env = ServiceEnvelope_init_default;
|
||||||
env.channel_id = (char *)channelId;
|
env.channel_id = (char *)channelId;
|
||||||
|
Loading…
Reference in New Issue
Block a user