From ca063cec9d03371c89f34a664fc39f2fe1a8b7af Mon Sep 17 00:00:00 2001 From: tomoaki Date: Fri, 8 Sep 2017 14:25:52 +0900 Subject: [PATCH] Add comment to the GatewayTester Signed-off-by: tomoaki --- .../GatewayTester/samples/mainTemplate.cpp | 162 ------------------ .../GatewayTester/samples/mainTest.cpp | 58 ++++--- .../GatewayTester/src/LMqttsnClient.cpp | 40 +++-- 3 files changed, 52 insertions(+), 208 deletions(-) delete mode 100644 MQTTSNGateway/GatewayTester/samples/mainTemplate.cpp diff --git a/MQTTSNGateway/GatewayTester/samples/mainTemplate.cpp b/MQTTSNGateway/GatewayTester/samples/mainTemplate.cpp deleted file mode 100644 index 432b367..0000000 --- a/MQTTSNGateway/GatewayTester/samples/mainTemplate.cpp +++ /dev/null @@ -1,162 +0,0 @@ -/************************************************************************************** - * Copyright (c) 2016, Tomoaki Yamaguchi - * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * and Eclipse Distribution License v1.0 which accompany this distribution. - * - * The Eclipse Public License is available at - * http://www.eclipse.org/legal/epl-v10.html - * and the Eclipse Distribution License is available at - * http://www.eclipse.org/org/documents/edl-v10.php. - * - * Contributors: - * Tomoaki Yamaguchi - initial API and implementation - **************************************************************************************/ - -#include "LMqttsnClientApp.h" -#include "LMqttsnClient.h" -#include "LScreen.h" - -using namespace std; -using namespace linuxAsyncClient; -extern LMqttsnClient* theClient; -extern LScreen* theScreen; -extern int run(void); - -/* - * MQTT-SN Functions supported : - * - * void PUBLISH ( const char* topicName, uint8_t* payload, - * uint16_t len, uint8_t qos, bool retain = false ); - * - * void PUBLISH ( uint16_t topicId, uint8_t* payload, - * uint16_t len, uint8_t qos, bool retain = false ); - * - * void SUBSCRIBE ( const char* topicName, TopicCallback onPublish, - * uint8_t qos ); - * - * void UNSUBSCRIBE( const char* topicName ); - * - * void DISCONNECT ( uint16_t sleepInSecs ); - * - * void DISPLAY( format, valiables, .....); <== instead of printf() - * - */ - -/*------------------------------------------------------ - * UDP Configuration - *------------------------------------------------------*/ -UDPCONF = { - "GatewayTester", // ClientId - {225,1,1,1}, // Multicast group IP - 1883, // Multicast group Port - 20000, // Local PortNo -}; - -/*------------------------------------------------------ - * Client Configuration - *------------------------------------------------------*/ -MQTTSNCONF = { - 60, //KeepAlive (seconds) - true, //Clean session - 0, //Sleep duration in msecs - "willTopic", //WillTopic - "willMessage", //WillMessage - 0, //WillQos - false //WillRetain -}; - -/*------------------------------------------------------ - * Define Topics - *------------------------------------------------------*/ -const char* topic1 = "ty4tw/clientId"; - -/*------------------------------------------------------ - * Callback routines for Subscribed Topics - *------------------------------------------------------*/ -int on_publish01(uint8_t* pload, uint16_t ploadlen) -{ - return 0; -} - - -/*------------------------------------------------------ - * A Link list of Callback routines and Topics - *------------------------------------------------------*/ - -SUBSCRIBE_LIST = {// e.g. SUB(topic, callback, QoS), - //SUB(topic1, on_publish01, 1), - END_OF_SUBSCRIBE_LIST - }; - -/*------------------------------------------------------ - * Test functions - *------------------------------------------------------*/ -void test1(void) -{ - char payload[300]; - sprintf(payload, "Client-01 "); - uint8_t qos = 0; - PUBLISH(topic1,(uint8_t*)payload, strlen(payload), qos); -} - -void test2(void) -{ - -} - -void test3(void) -{ - -} - -void test4(void) -{ - -} - -void test5(void) -{ - -} - -/*------------------------------------------------------ - * A List of Test functions - *------------------------------------------------------*/ - -TEST_LIST = {// e.g. TEST( Label, Test), - TEST("Publish topic1", test1), - END_OF_TEST_LIST - }; - - -/*------------------------------------------------------ - * unused for Test - *------------------------------------------------------*/ -TASK_LIST = {// e.g. TASK( task, executing duration in second), - TASK(test1, 4), - END_OF_TASK_LIST - }; - - -/*------------------------------------------------------ - * Initialize function - *------------------------------------------------------*/ -void setup(void) -{ - -} - -/*====================================================== - * main - *======================================================*/ - -/* uncomment this - -int main(int argc, char** argv) -{ - return run(); -} - -*/ diff --git a/MQTTSNGateway/GatewayTester/samples/mainTest.cpp b/MQTTSNGateway/GatewayTester/samples/mainTest.cpp index cbd7cd8..6081a44 100644 --- a/MQTTSNGateway/GatewayTester/samples/mainTest.cpp +++ b/MQTTSNGateway/GatewayTester/samples/mainTest.cpp @@ -1,4 +1,4 @@ -/************************************************************************************** +/**************************************************************************** * Copyright (c) 2016, Tomoaki Yamaguchi * * All rights reserved. This program and the accompanying materials @@ -10,22 +10,11 @@ * and the Eclipse Distribution License is available at * http://www.eclipse.org/org/documents/edl-v10.php. * - * Contributors: - * Tomoaki Yamaguchi - initial API and implementation - **************************************************************************************/ - -#include "LMqttsnClientApp.h" -#include "LMqttsnClient.h" -#include "LScreen.h" - -using namespace std; -using namespace linuxAsyncClient; -extern LMqttsnClient* theClient; -extern LScreen* theScreen; -extern int run(void); - -/* - * Functions supported. + *--------------------------------------------------------------------------- + * + * MQTT-SN GATEWAY TEST CLIENT + * + * Supported functions. * * void PUBLISH ( const char* topicName, uint8_t* payload, * uint16_t len, uint8_t qos, bool retain = false ); @@ -42,7 +31,20 @@ extern int run(void); * * void DISPLAY( format, .....); <== instead of printf() * - */ + * + * Contributors: + * Tomoaki Yamaguchi - initial API and implementation + ***************************************************************************/ + +#include "LMqttsnClientApp.h" +#include "LMqttsnClient.h" +#include "LScreen.h" + +using namespace std; +using namespace linuxAsyncClient; +extern LMqttsnClient* theClient; +extern LScreen* theScreen; + /*------------------------------------------------------ * UDP Configuration (theNetcon) *------------------------------------------------------*/ @@ -168,7 +170,9 @@ void asleep(void) } /*------------------------------------------------------ - * A List of Test functions + * A List of Test functions is valid in case of + * line 23 of LMqttsnClientApp.h is commented out. + * //#define CLIENT_MODE *------------------------------------------------------*/ TEST_LIST = {// e.g. TEST( Label, Test), @@ -188,13 +192,17 @@ TEST_LIST = {// e.g. TEST( Label, Test), /*------------------------------------------------------ - * unused for Test + * List of tasks is valid in case of line23 of + * LMqttsnClientApp.h is uncommented. + * #define CLIENT_MODE *------------------------------------------------------*/ TASK_LIST = {// e.g. TASK( task, executing duration in second), - //TASK(test1, 4); + TASK(publishTopic1, 4), // publishTopic1() is executed every 4 seconds + TASK(publishTopic2, 7), // publishTopic2() is executed every 7 seconds END_OF_TASK_LIST }; + /*------------------------------------------------------ * Initialize function *------------------------------------------------------*/ @@ -203,11 +211,5 @@ void setup(void) } -/*------------------------------------------------------ - * main - *------------------------------------------------------*/ -int main(int argc, char** argv) -{ - return run(); -} +/***************** END OF PROGRAM ********************/ diff --git a/MQTTSNGateway/GatewayTester/src/LMqttsnClient.cpp b/MQTTSNGateway/GatewayTester/src/LMqttsnClient.cpp index 857af17..78b8a69 100644 --- a/MQTTSNGateway/GatewayTester/src/LMqttsnClient.cpp +++ b/MQTTSNGateway/GatewayTester/src/LMqttsnClient.cpp @@ -31,6 +31,7 @@ extern OnPublishList theOnPublishList[]; extern MQTTSNCONF; extern UDPCONF; extern void setup(void); + /*===================================== LMqttsnClient ======================================*/ @@ -39,10 +40,15 @@ LScreen* theScreen = new LScreen(); bool theOTAflag = false; bool theClientMode = true; -int run(void) + +/*------------------------------------- + * main + *------------------------------------*/ + +int main(int argc, char** argv) { +#ifndef CLIENT_MODE char c = 0; - setup(); printf("\n%s", PAHO_COPYRIGHT4); printf("\n%s\n", PAHO_COPYRIGHT0); printf("%s\n", PAHO_COPYRIGHT1); @@ -51,31 +57,29 @@ int run(void) printf("%s\n", TESTER_VERSION); printf("%s\n", PAHO_COPYRIGHT4); -#ifndef CLIENT_MODE + theClientMode = false; + PROMPT(" Do you like Tomoaki ? ( y/n ) : "); + while (true) { - theClientMode = false; - PROMPT(" Do you like Tomoaki ? ( y/n ) : "); - while (true) + if (CHECKKEYIN(&c)) { - if (CHECKKEYIN(&c)) + if ( toupper(c) == 'N' ) { - if ( toupper(c) == 'N' ) - { - DISPLAY("\033[0;31m\n**** Sorry ****\033[0;37m\n\n"); - PROMPT(""); - return 0; - } - } - else if ( toupper(c) == 'Y' ) - { - DISPLAY("\033[0m\033[0;32mAttempting to Connect the Broker.....\033[0m\033[0;37m\n"); + DISPLAY("\033[0;31m\n**** Sorry ****\033[0;37m\n\n"); PROMPT(""); - break; + return 0; } } + else if ( toupper(c) == 'Y' ) + { + DISPLAY("\033[0m\033[0;32mAttempting to Connect the Broker.....\033[0m\033[0;37m\n"); + PROMPT(""); + break; + } } #endif + setup(); theClient->addTask(theClientMode); theClient->initialize( theNetcon, theMqcon); do