mirror of
https://github.com/eclipse/paho.mqtt-sn.embedded-c.git
synced 2025-12-15 08:26:51 +01:00
@@ -78,6 +78,7 @@ const char* topic1 = "ty4tw/topic1";
|
|||||||
const char* topic2 = "ty4tw/topic2";
|
const char* topic2 = "ty4tw/topic2";
|
||||||
const char* topic3 = "ty4tw/topic3";
|
const char* topic3 = "ty4tw/topic3";
|
||||||
const char* topic4 = "ty4tw/topic4";
|
const char* topic4 = "ty4tw/topic4";
|
||||||
|
const char* topic40 = "ty4tw/#";
|
||||||
const char* topic51 = "ty4tw/topic5/1";
|
const char* topic51 = "ty4tw/topic5/1";
|
||||||
const char* topic52 = "ty4tw/topic5/2";
|
const char* topic52 = "ty4tw/topic5/2";
|
||||||
const char* topic53 = "ty4tw/topic5/3";
|
const char* topic53 = "ty4tw/topic5/3";
|
||||||
@@ -111,6 +112,14 @@ int on_Topic03(uint8_t* pload, uint16_t ploadlen)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int on_TopicWildcard(uint8_t* pload, uint16_t ploadlen)
|
||||||
|
{
|
||||||
|
DISPLAY("\n\nNew callback recv TopicWildcard\n");
|
||||||
|
pload[ploadlen - 1] = 0; // set null terminator
|
||||||
|
DISPLAY("Payload -->%s <--\n\n", pload);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/*------------------------------------------------------
|
/*------------------------------------------------------
|
||||||
* A Link list of Callback routines and Topics
|
* A Link list of Callback routines and Topics
|
||||||
*------------------------------------------------------*/
|
*------------------------------------------------------*/
|
||||||
@@ -137,11 +146,6 @@ void publishTopic1(void)
|
|||||||
PUBLISH(topic1, (uint8_t* )payload, strlen(payload), QoS0);
|
PUBLISH(topic1, (uint8_t* )payload, strlen(payload), QoS0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void subscribeTopic10(void)
|
|
||||||
{
|
|
||||||
SUBSCRIBE(10, on_Topic02, QoS1);
|
|
||||||
}
|
|
||||||
|
|
||||||
void publishTopic2(void)
|
void publishTopic2(void)
|
||||||
{
|
{
|
||||||
char payload[300];
|
char payload[300];
|
||||||
@@ -149,6 +153,24 @@ void publishTopic2(void)
|
|||||||
PUBLISH(topic2, (uint8_t* )payload, strlen(payload), QoS1);
|
PUBLISH(topic2, (uint8_t* )payload, strlen(payload), QoS1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void publishTopic4(void)
|
||||||
|
{
|
||||||
|
char payload[300];
|
||||||
|
sprintf(payload, "publish \"ty4tw/topic40\" \n");
|
||||||
|
PUBLISH(topic4, (uint8_t* )payload, strlen(payload), QoS1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void subscribeTopic10(void)
|
||||||
|
{
|
||||||
|
SUBSCRIBE(10, on_Topic02, QoS1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void subscribeWildcardTopic(void)
|
||||||
|
{
|
||||||
|
SUBSCRIBE(topic40, on_Topic04, QoS1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void unsubscribe(void)
|
void unsubscribe(void)
|
||||||
{
|
{
|
||||||
UNSUBSCRIBE(topic2);
|
UNSUBSCRIBE(topic2);
|
||||||
@@ -187,12 +209,16 @@ void connect(void)
|
|||||||
CONNECT();
|
CONNECT();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DisableAutoPingreq(void)
|
void DisableAutoPingreq(void)
|
||||||
{
|
{
|
||||||
SetAutoPingReqMode(false);
|
SetAutoPingReqMode(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CleanSessionOff(void)
|
||||||
|
{
|
||||||
|
SetCleanSession(false);
|
||||||
|
}
|
||||||
|
|
||||||
/*------------------------------------------------------
|
/*------------------------------------------------------
|
||||||
* A List of Test functions is valid in case of
|
* A List of Test functions is valid in case of
|
||||||
* line 23 of LMqttsnClientApp.h is commented out.
|
* line 23 of LMqttsnClientApp.h is commented out.
|
||||||
@@ -212,6 +238,12 @@ TEST_LIST =
|
|||||||
TEST("Step8:Publish topic2", publishTopic2),
|
TEST("Step8:Publish topic2", publishTopic2),
|
||||||
TEST("Step9:subscribe again", subscribechangeCallback),
|
TEST("Step9:subscribe again", subscribechangeCallback),
|
||||||
TEST("Step10:Publish topic2", publishTopic2),
|
TEST("Step10:Publish topic2", publishTopic2),
|
||||||
|
|
||||||
|
TEST("Step10:Reset Clean Session", CleanSessionOff),
|
||||||
|
|
||||||
|
// SUBSCRIBE wildcard topic topic4
|
||||||
|
TEST("Step9:subscribe wildcard topic", subscribechangeCallback),
|
||||||
|
|
||||||
TEST("Step11:Sleep ", asleep),
|
TEST("Step11:Sleep ", asleep),
|
||||||
TEST("Step12:Publish topic1", publishTopic1),
|
TEST("Step12:Publish topic1", publishTopic1),
|
||||||
TEST("Step13:Disconnect", disconnect),
|
TEST("Step13:Disconnect", disconnect),
|
||||||
|
|||||||
@@ -687,6 +687,11 @@ void LGwProxy::setAutoConnectMode(bool valid)
|
|||||||
_isAutoConnectMode = valid;
|
_isAutoConnectMode = valid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LGwProxy::setCleanSession(bool valid)
|
||||||
|
{
|
||||||
|
_cleanSession = valid;
|
||||||
|
}
|
||||||
|
|
||||||
uint8_t LGwProxy::getStatus(void)
|
uint8_t LGwProxy::getStatus(void)
|
||||||
{
|
{
|
||||||
return _status;
|
return _status;
|
||||||
|
|||||||
@@ -68,7 +68,8 @@ public:
|
|||||||
void setForwarderMode(bool valid);
|
void setForwarderMode(bool valid);
|
||||||
void setQoSMinus1Mode(bool valid);
|
void setQoSMinus1Mode(bool valid);
|
||||||
void setPingReqMode(bool valid);
|
void setPingReqMode(bool valid);
|
||||||
void setAutoConnectMode(bool valid);
|
void setAutoConnectMode(bool valid);
|
||||||
|
void setCleanSession(bool valid);
|
||||||
void reconnect(void);
|
void reconnect(void);
|
||||||
int writeMsg(const uint8_t* msg);
|
int writeMsg(const uint8_t* msg);
|
||||||
void setPingReqTimer(void);
|
void setPingReqTimer(void);
|
||||||
@@ -112,10 +113,10 @@ private:
|
|||||||
LTimer _keepAliveTimer;
|
LTimer _keepAliveTimer;
|
||||||
uint16_t _tSleep;
|
uint16_t _tSleep;
|
||||||
uint16_t _tWake;
|
uint16_t _tWake;
|
||||||
bool _isForwarderMode;
|
bool _isForwarderMode;
|
||||||
bool _isQoSMinus1Mode;
|
bool _isQoSMinus1Mode;
|
||||||
bool _isPingReqMode;
|
bool _isPingReqMode;
|
||||||
bool _isAutoConnectMode;
|
bool _isAutoConnectMode;
|
||||||
char _msg[MQTTSN_MAX_MSG_LENGTH + 1];
|
char _msg[MQTTSN_MAX_MSG_LENGTH + 1];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ typedef enum
|
|||||||
#define SetQoSMinus1Mode(...) theClient->getGwProxy()->setQoSMinus1Mode(__VA_ARGS__)
|
#define SetQoSMinus1Mode(...) theClient->getGwProxy()->setQoSMinus1Mode(__VA_ARGS__)
|
||||||
#define SetAutoConnectMode(...) theClient->setAutoConnectMode(__VA_ARGS__)
|
#define SetAutoConnectMode(...) theClient->setAutoConnectMode(__VA_ARGS__)
|
||||||
#define SetAutoPingReqMode(...) theClient->getGwProxy()->setPingReqMode(__VA_ARGS__)
|
#define SetAutoPingReqMode(...) theClient->getGwProxy()->setPingReqMode(__VA_ARGS__)
|
||||||
|
#define SetCleanSessionMode(...) theClient->getGwProxy()->setCleanSession(__VA_ARGS__)
|
||||||
#ifdef CLIENT_MODE
|
#ifdef CLIENT_MODE
|
||||||
#define DISPLAY(...)
|
#define DISPLAY(...)
|
||||||
#define PROMPT(...)
|
#define PROMPT(...)
|
||||||
|
|||||||
Reference in New Issue
Block a user