mirror of
https://github.com/meshtastic/firmware.git
synced 2025-04-27 10:21:40 +00:00
Merge pull request #1252 from mc-hamster/router
CannedMessages from plugin to module
This commit is contained in:
commit
031b3665f8
@ -16,27 +16,27 @@ static const char *cannedMessagesConfigFile = "/prefs/cannedConf.proto";
|
|||||||
|
|
||||||
CannedMessageModuleConfig cannedMessageModuleConfig;
|
CannedMessageModuleConfig cannedMessageModuleConfig;
|
||||||
|
|
||||||
CannedMessagePlugin *cannedMessagePlugin;
|
CannedMessageModule *cannedMessageModule;
|
||||||
|
|
||||||
// TODO: move it into NodeDB.h!
|
// TODO: move it into NodeDB.h!
|
||||||
extern bool loadProto(const char *filename, size_t protoSize, size_t objSize, const pb_msgdesc_t *fields, void *dest_struct);
|
extern bool loadProto(const char *filename, size_t protoSize, size_t objSize, const pb_msgdesc_t *fields, void *dest_struct);
|
||||||
extern bool saveProto(const char *filename, size_t protoSize, size_t objSize, const pb_msgdesc_t *fields, const void *dest_struct);
|
extern bool saveProto(const char *filename, size_t protoSize, size_t objSize, const pb_msgdesc_t *fields, const void *dest_struct);
|
||||||
|
|
||||||
CannedMessagePlugin::CannedMessagePlugin()
|
CannedMessageModule::CannedMessageModule()
|
||||||
: SinglePortPlugin("canned", PortNum_TEXT_MESSAGE_APP),
|
: SinglePortPlugin("canned", PortNum_TEXT_MESSAGE_APP),
|
||||||
concurrency::OSThread("CannedMessagePlugin")
|
concurrency::OSThread("CannedMessageModule")
|
||||||
{
|
{
|
||||||
if (radioConfig.preferences.canned_message_module_enabled)
|
if (radioConfig.preferences.canned_message_module_enabled)
|
||||||
{
|
{
|
||||||
this->loadProtoForPlugin();
|
this->loadProtoForPlugin();
|
||||||
if(this->splitConfiguredMessages() <= 0)
|
if(this->splitConfiguredMessages() <= 0)
|
||||||
{
|
{
|
||||||
DEBUG_MSG("CannedMessagePlugin: No messages are configured. Plugin is disabled\n");
|
DEBUG_MSG("CannedMessageModule: No messages are configured. Plugin is disabled\n");
|
||||||
this->runState = CANNED_MESSAGE_RUN_STATE_DISABLED;
|
this->runState = CANNED_MESSAGE_RUN_STATE_DISABLED;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DEBUG_MSG("CannedMessagePlugin is enabled\n");
|
DEBUG_MSG("CannedMessageModule is enabled\n");
|
||||||
this->inputObserver.observe(inputBroker);
|
this->inputObserver.observe(inputBroker);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -48,7 +48,7 @@ CannedMessagePlugin::CannedMessagePlugin()
|
|||||||
*
|
*
|
||||||
* @return int Returns the number of messages found.
|
* @return int Returns the number of messages found.
|
||||||
*/
|
*/
|
||||||
int CannedMessagePlugin::splitConfiguredMessages()
|
int CannedMessageModule::splitConfiguredMessages()
|
||||||
{
|
{
|
||||||
int messageIndex = 0;
|
int messageIndex = 0;
|
||||||
int i = 0;
|
int i = 0;
|
||||||
@ -110,7 +110,7 @@ int CannedMessagePlugin::splitConfiguredMessages()
|
|||||||
return this->messagesCount;
|
return this->messagesCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
int CannedMessagePlugin::handleInputEvent(const InputEvent *event)
|
int CannedMessageModule::handleInputEvent(const InputEvent *event)
|
||||||
{
|
{
|
||||||
if (
|
if (
|
||||||
(strlen(radioConfig.preferences.canned_message_module_allow_input_source) > 0) &&
|
(strlen(radioConfig.preferences.canned_message_module_allow_input_source) > 0) &&
|
||||||
@ -153,7 +153,7 @@ int CannedMessagePlugin::handleInputEvent(const InputEvent *event)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CannedMessagePlugin::sendText(NodeNum dest,
|
void CannedMessageModule::sendText(NodeNum dest,
|
||||||
const char* message,
|
const char* message,
|
||||||
bool wantReplies)
|
bool wantReplies)
|
||||||
{
|
{
|
||||||
@ -175,7 +175,7 @@ void CannedMessagePlugin::sendText(NodeNum dest,
|
|||||||
service.sendToMesh(p);
|
service.sendToMesh(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
int32_t CannedMessagePlugin::runOnce()
|
int32_t CannedMessageModule::runOnce()
|
||||||
{
|
{
|
||||||
if ((!radioConfig.preferences.canned_message_module_enabled)
|
if ((!radioConfig.preferences.canned_message_module_enabled)
|
||||||
|| (this->runState == CANNED_MESSAGE_RUN_STATE_DISABLED)
|
|| (this->runState == CANNED_MESSAGE_RUN_STATE_DISABLED)
|
||||||
@ -245,19 +245,19 @@ int32_t CannedMessagePlugin::runOnce()
|
|||||||
return 30000; // TODO: should return MAX_VAL
|
return 30000; // TODO: should return MAX_VAL
|
||||||
}
|
}
|
||||||
|
|
||||||
const char* CannedMessagePlugin::getCurrentMessage()
|
const char* CannedMessageModule::getCurrentMessage()
|
||||||
{
|
{
|
||||||
return this->messages[this->currentMessageIndex];
|
return this->messages[this->currentMessageIndex];
|
||||||
}
|
}
|
||||||
const char* CannedMessagePlugin::getPrevMessage()
|
const char* CannedMessageModule::getPrevMessage()
|
||||||
{
|
{
|
||||||
return this->messages[this->getPrevIndex()];
|
return this->messages[this->getPrevIndex()];
|
||||||
}
|
}
|
||||||
const char* CannedMessagePlugin::getNextMessage()
|
const char* CannedMessageModule::getNextMessage()
|
||||||
{
|
{
|
||||||
return this->messages[this->getNextIndex()];
|
return this->messages[this->getNextIndex()];
|
||||||
}
|
}
|
||||||
bool CannedMessagePlugin::shouldDraw()
|
bool CannedMessageModule::shouldDraw()
|
||||||
{
|
{
|
||||||
if (!radioConfig.preferences.canned_message_module_enabled)
|
if (!radioConfig.preferences.canned_message_module_enabled)
|
||||||
{
|
{
|
||||||
@ -266,7 +266,7 @@ bool CannedMessagePlugin::shouldDraw()
|
|||||||
return (currentMessageIndex != -1) || (this->runState != CANNED_MESSAGE_RUN_STATE_INACTIVE);
|
return (currentMessageIndex != -1) || (this->runState != CANNED_MESSAGE_RUN_STATE_INACTIVE);
|
||||||
}
|
}
|
||||||
|
|
||||||
int CannedMessagePlugin::getNextIndex()
|
int CannedMessageModule::getNextIndex()
|
||||||
{
|
{
|
||||||
if (this->currentMessageIndex >= (this->messagesCount -1))
|
if (this->currentMessageIndex >= (this->messagesCount -1))
|
||||||
{
|
{
|
||||||
@ -278,7 +278,7 @@ int CannedMessagePlugin::getNextIndex()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int CannedMessagePlugin::getPrevIndex()
|
int CannedMessageModule::getPrevIndex()
|
||||||
{
|
{
|
||||||
if (this->currentMessageIndex <= 0)
|
if (this->currentMessageIndex <= 0)
|
||||||
{
|
{
|
||||||
@ -290,12 +290,12 @@ int CannedMessagePlugin::getPrevIndex()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CannedMessagePlugin::drawFrame(
|
void CannedMessageModule::drawFrame(
|
||||||
OLEDDisplay *display, OLEDDisplayUiState *state, int16_t x, int16_t y)
|
OLEDDisplay *display, OLEDDisplayUiState *state, int16_t x, int16_t y)
|
||||||
{
|
{
|
||||||
displayedNodeNum = 0; // Not currently showing a node pane
|
displayedNodeNum = 0; // Not currently showing a node pane
|
||||||
|
|
||||||
if (cannedMessagePlugin->runState == CANNED_MESSAGE_RUN_STATE_SENDING_ACTIVE)
|
if (cannedMessageModule->runState == CANNED_MESSAGE_RUN_STATE_SENDING_ACTIVE)
|
||||||
{
|
{
|
||||||
display->setTextAlignment(TEXT_ALIGN_CENTER);
|
display->setTextAlignment(TEXT_ALIGN_CENTER);
|
||||||
display->setFont(FONT_MEDIUM);
|
display->setFont(FONT_MEDIUM);
|
||||||
@ -305,18 +305,18 @@ void CannedMessagePlugin::drawFrame(
|
|||||||
{
|
{
|
||||||
display->setTextAlignment(TEXT_ALIGN_LEFT);
|
display->setTextAlignment(TEXT_ALIGN_LEFT);
|
||||||
display->setFont(FONT_SMALL);
|
display->setFont(FONT_SMALL);
|
||||||
display->drawString(0 + x, 0 + y, cannedMessagePlugin->getPrevMessage());
|
display->drawString(0 + x, 0 + y, cannedMessageModule->getPrevMessage());
|
||||||
display->setFont(FONT_MEDIUM);
|
display->setFont(FONT_MEDIUM);
|
||||||
display->drawString(0 + x, 0 + y + 8, cannedMessagePlugin->getCurrentMessage());
|
display->drawString(0 + x, 0 + y + 8, cannedMessageModule->getCurrentMessage());
|
||||||
display->setFont(FONT_SMALL);
|
display->setFont(FONT_SMALL);
|
||||||
display->drawString(0 + x, 0 + y + 24, cannedMessagePlugin->getNextMessage());
|
display->drawString(0 + x, 0 + y + 24, cannedMessageModule->getNextMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CannedMessagePlugin::loadProtoForPlugin()
|
void CannedMessageModule::loadProtoForPlugin()
|
||||||
{
|
{
|
||||||
if (!loadProto(cannedMessagesConfigFile, CannedMessageModuleConfig_size, sizeof(cannedMessagesConfigFile), CannedMessageModuleConfig_fields, &cannedMessageModuleConfig)) {
|
if (!loadProto(cannedMessagesConfigFile, CannedMessageModuleConfig_size, sizeof(cannedMessagesConfigFile), CannedMessageModuleConfig_fields, &cannedMessageModuleConfig)) {
|
||||||
installDefaultCannedMessagePluginConfig();
|
installDefaultCannedMessageModuleConfig();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -326,7 +326,7 @@ void CannedMessagePlugin::loadProtoForPlugin()
|
|||||||
* @return true On success.
|
* @return true On success.
|
||||||
* @return false On error.
|
* @return false On error.
|
||||||
*/
|
*/
|
||||||
bool CannedMessagePlugin::saveProtoForPlugin()
|
bool CannedMessageModule::saveProtoForPlugin()
|
||||||
{
|
{
|
||||||
bool okay = true;
|
bool okay = true;
|
||||||
|
|
||||||
@ -342,7 +342,7 @@ bool CannedMessagePlugin::saveProtoForPlugin()
|
|||||||
/**
|
/**
|
||||||
* @brief Fill configuration with default values.
|
* @brief Fill configuration with default values.
|
||||||
*/
|
*/
|
||||||
void CannedMessagePlugin::installDefaultCannedMessagePluginConfig()
|
void CannedMessageModule::installDefaultCannedMessageModuleConfig()
|
||||||
{
|
{
|
||||||
memset(cannedMessageModuleConfig.messagesPart1, 0, sizeof(cannedMessageModuleConfig.messagesPart1));
|
memset(cannedMessageModuleConfig.messagesPart1, 0, sizeof(cannedMessageModuleConfig.messagesPart1));
|
||||||
memset(cannedMessageModuleConfig.messagesPart2, 0, sizeof(cannedMessageModuleConfig.messagesPart2));
|
memset(cannedMessageModuleConfig.messagesPart2, 0, sizeof(cannedMessageModuleConfig.messagesPart2));
|
||||||
@ -359,7 +359,7 @@ void CannedMessagePlugin::installDefaultCannedMessagePluginConfig()
|
|||||||
* @return AdminMessageHandleResult HANDLED if message was handled
|
* @return AdminMessageHandleResult HANDLED if message was handled
|
||||||
* HANDLED_WITH_RESULT if a result is also prepared.
|
* HANDLED_WITH_RESULT if a result is also prepared.
|
||||||
*/
|
*/
|
||||||
AdminMessageHandleResult CannedMessagePlugin::handleAdminMessageForPlugin(
|
AdminMessageHandleResult CannedMessageModule::handleAdminMessageForPlugin(
|
||||||
const MeshPacket &mp, AdminMessage *request, AdminMessage *response)
|
const MeshPacket &mp, AdminMessage *request, AdminMessage *response)
|
||||||
{
|
{
|
||||||
AdminMessageHandleResult result;
|
AdminMessageHandleResult result;
|
||||||
@ -367,52 +367,52 @@ AdminMessageHandleResult CannedMessagePlugin::handleAdminMessageForPlugin(
|
|||||||
switch (request->which_variant) {
|
switch (request->which_variant) {
|
||||||
case AdminMessage_get_canned_message_module_part1_request_tag:
|
case AdminMessage_get_canned_message_module_part1_request_tag:
|
||||||
DEBUG_MSG("Client is getting radio canned message part1\n");
|
DEBUG_MSG("Client is getting radio canned message part1\n");
|
||||||
this->handleGetCannedMessagePluginPart1(mp, response);
|
this->handleGetCannedMessageModulePart1(mp, response);
|
||||||
result = AdminMessageHandleResult::HANDLED_WITH_RESPONSE;
|
result = AdminMessageHandleResult::HANDLED_WITH_RESPONSE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AdminMessage_get_canned_message_module_part2_request_tag:
|
case AdminMessage_get_canned_message_module_part2_request_tag:
|
||||||
DEBUG_MSG("Client is getting radio canned message part2\n");
|
DEBUG_MSG("Client is getting radio canned message part2\n");
|
||||||
this->handleGetCannedMessagePluginPart2(mp, response);
|
this->handleGetCannedMessageModulePart2(mp, response);
|
||||||
result = AdminMessageHandleResult::HANDLED_WITH_RESPONSE;
|
result = AdminMessageHandleResult::HANDLED_WITH_RESPONSE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AdminMessage_get_canned_message_module_part3_request_tag:
|
case AdminMessage_get_canned_message_module_part3_request_tag:
|
||||||
DEBUG_MSG("Client is getting radio canned message part3\n");
|
DEBUG_MSG("Client is getting radio canned message part3\n");
|
||||||
this->handleGetCannedMessagePluginPart3(mp, response);
|
this->handleGetCannedMessageModulePart3(mp, response);
|
||||||
result = AdminMessageHandleResult::HANDLED_WITH_RESPONSE;
|
result = AdminMessageHandleResult::HANDLED_WITH_RESPONSE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AdminMessage_get_canned_message_module_part4_request_tag:
|
case AdminMessage_get_canned_message_module_part4_request_tag:
|
||||||
DEBUG_MSG("Client is getting radio canned message part4\n");
|
DEBUG_MSG("Client is getting radio canned message part4\n");
|
||||||
this->handleGetCannedMessagePluginPart4(mp, response);
|
this->handleGetCannedMessageModulePart4(mp, response);
|
||||||
result = AdminMessageHandleResult::HANDLED_WITH_RESPONSE;
|
result = AdminMessageHandleResult::HANDLED_WITH_RESPONSE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AdminMessage_set_canned_message_module_part1_tag:
|
case AdminMessage_set_canned_message_module_part1_tag:
|
||||||
DEBUG_MSG("Client is setting radio canned message part 1\n");
|
DEBUG_MSG("Client is setting radio canned message part 1\n");
|
||||||
this->handleSetCannedMessagePluginPart1(
|
this->handleSetCannedMessageModulePart1(
|
||||||
request->set_canned_message_module_part1);
|
request->set_canned_message_module_part1);
|
||||||
result = AdminMessageHandleResult::HANDLED;
|
result = AdminMessageHandleResult::HANDLED;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AdminMessage_set_canned_message_module_part2_tag:
|
case AdminMessage_set_canned_message_module_part2_tag:
|
||||||
DEBUG_MSG("Client is setting radio canned message part 2\n");
|
DEBUG_MSG("Client is setting radio canned message part 2\n");
|
||||||
this->handleSetCannedMessagePluginPart2(
|
this->handleSetCannedMessageModulePart2(
|
||||||
request->set_canned_message_module_part2);
|
request->set_canned_message_module_part2);
|
||||||
result = AdminMessageHandleResult::HANDLED;
|
result = AdminMessageHandleResult::HANDLED;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AdminMessage_set_canned_message_module_part3_tag:
|
case AdminMessage_set_canned_message_module_part3_tag:
|
||||||
DEBUG_MSG("Client is setting radio canned message part 3\n");
|
DEBUG_MSG("Client is setting radio canned message part 3\n");
|
||||||
this->handleSetCannedMessagePluginPart3(
|
this->handleSetCannedMessageModulePart3(
|
||||||
request->set_canned_message_module_part3);
|
request->set_canned_message_module_part3);
|
||||||
result = AdminMessageHandleResult::HANDLED;
|
result = AdminMessageHandleResult::HANDLED;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case AdminMessage_set_canned_message_module_part4_tag:
|
case AdminMessage_set_canned_message_module_part4_tag:
|
||||||
DEBUG_MSG("Client is setting radio canned message part 4\n");
|
DEBUG_MSG("Client is setting radio canned message part 4\n");
|
||||||
this->handleSetCannedMessagePluginPart4(
|
this->handleSetCannedMessageModulePart4(
|
||||||
request->set_canned_message_module_part4);
|
request->set_canned_message_module_part4);
|
||||||
result = AdminMessageHandleResult::HANDLED;
|
result = AdminMessageHandleResult::HANDLED;
|
||||||
break;
|
break;
|
||||||
@ -424,10 +424,10 @@ AdminMessageHandleResult CannedMessagePlugin::handleAdminMessageForPlugin(
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CannedMessagePlugin::handleGetCannedMessagePluginPart1(
|
void CannedMessageModule::handleGetCannedMessageModulePart1(
|
||||||
const MeshPacket &req, AdminMessage *response)
|
const MeshPacket &req, AdminMessage *response)
|
||||||
{
|
{
|
||||||
DEBUG_MSG("*** handleGetCannedMessagePluginPart1\n");
|
DEBUG_MSG("*** handleGetCannedMessageModulePart1\n");
|
||||||
assert(req.decoded.want_response);
|
assert(req.decoded.want_response);
|
||||||
|
|
||||||
response->which_variant = AdminMessage_get_canned_message_module_part1_response_tag;
|
response->which_variant = AdminMessage_get_canned_message_module_part1_response_tag;
|
||||||
@ -436,10 +436,10 @@ void CannedMessagePlugin::handleGetCannedMessagePluginPart1(
|
|||||||
cannedMessageModuleConfig.messagesPart1);
|
cannedMessageModuleConfig.messagesPart1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CannedMessagePlugin::handleGetCannedMessagePluginPart2(
|
void CannedMessageModule::handleGetCannedMessageModulePart2(
|
||||||
const MeshPacket &req, AdminMessage *response)
|
const MeshPacket &req, AdminMessage *response)
|
||||||
{
|
{
|
||||||
DEBUG_MSG("*** handleGetCannedMessagePluginPart2\n");
|
DEBUG_MSG("*** handleGetCannedMessageModulePart2\n");
|
||||||
assert(req.decoded.want_response);
|
assert(req.decoded.want_response);
|
||||||
|
|
||||||
response->which_variant = AdminMessage_get_canned_message_module_part2_response_tag;
|
response->which_variant = AdminMessage_get_canned_message_module_part2_response_tag;
|
||||||
@ -448,10 +448,10 @@ void CannedMessagePlugin::handleGetCannedMessagePluginPart2(
|
|||||||
cannedMessageModuleConfig.messagesPart2);
|
cannedMessageModuleConfig.messagesPart2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CannedMessagePlugin::handleGetCannedMessagePluginPart3(
|
void CannedMessageModule::handleGetCannedMessageModulePart3(
|
||||||
const MeshPacket &req, AdminMessage *response)
|
const MeshPacket &req, AdminMessage *response)
|
||||||
{
|
{
|
||||||
DEBUG_MSG("*** handleGetCannedMessagePluginPart3\n");
|
DEBUG_MSG("*** handleGetCannedMessageModulePart3\n");
|
||||||
assert(req.decoded.want_response);
|
assert(req.decoded.want_response);
|
||||||
|
|
||||||
response->which_variant = AdminMessage_get_canned_message_module_part3_response_tag;
|
response->which_variant = AdminMessage_get_canned_message_module_part3_response_tag;
|
||||||
@ -460,10 +460,10 @@ void CannedMessagePlugin::handleGetCannedMessagePluginPart3(
|
|||||||
cannedMessageModuleConfig.messagesPart3);
|
cannedMessageModuleConfig.messagesPart3);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CannedMessagePlugin::handleGetCannedMessagePluginPart4(
|
void CannedMessageModule::handleGetCannedMessageModulePart4(
|
||||||
const MeshPacket &req, AdminMessage *response)
|
const MeshPacket &req, AdminMessage *response)
|
||||||
{
|
{
|
||||||
DEBUG_MSG("*** handleGetCannedMessagePluginPart4\n");
|
DEBUG_MSG("*** handleGetCannedMessageModulePart4\n");
|
||||||
assert(req.decoded.want_response);
|
assert(req.decoded.want_response);
|
||||||
|
|
||||||
response->which_variant = AdminMessage_get_canned_message_module_part4_response_tag;
|
response->which_variant = AdminMessage_get_canned_message_module_part4_response_tag;
|
||||||
@ -472,7 +472,7 @@ void CannedMessagePlugin::handleGetCannedMessagePluginPart4(
|
|||||||
cannedMessageModuleConfig.messagesPart4);
|
cannedMessageModuleConfig.messagesPart4);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CannedMessagePlugin::handleSetCannedMessagePluginPart1(const char *from_msg)
|
void CannedMessageModule::handleSetCannedMessageModulePart1(const char *from_msg)
|
||||||
{
|
{
|
||||||
int changed = 0;
|
int changed = 0;
|
||||||
|
|
||||||
@ -489,7 +489,7 @@ void CannedMessagePlugin::handleSetCannedMessagePluginPart1(const char *from_msg
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CannedMessagePlugin::handleSetCannedMessagePluginPart2(const char *from_msg)
|
void CannedMessageModule::handleSetCannedMessageModulePart2(const char *from_msg)
|
||||||
{
|
{
|
||||||
int changed = 0;
|
int changed = 0;
|
||||||
|
|
||||||
@ -505,7 +505,7 @@ void CannedMessagePlugin::handleSetCannedMessagePluginPart2(const char *from_msg
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CannedMessagePlugin::handleSetCannedMessagePluginPart3(const char *from_msg)
|
void CannedMessageModule::handleSetCannedMessageModulePart3(const char *from_msg)
|
||||||
{
|
{
|
||||||
int changed = 0;
|
int changed = 0;
|
||||||
|
|
||||||
@ -521,7 +521,7 @@ void CannedMessagePlugin::handleSetCannedMessagePluginPart3(const char *from_msg
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CannedMessagePlugin::handleSetCannedMessagePluginPart4(const char *from_msg)
|
void CannedMessageModule::handleSetCannedMessageModulePart4(const char *from_msg)
|
||||||
{
|
{
|
||||||
int changed = 0;
|
int changed = 0;
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#include "ProtobufPlugin.h"
|
#include "ProtobufPlugin.h"
|
||||||
#include "input/InputBroker.h"
|
#include "input/InputBroker.h"
|
||||||
|
|
||||||
enum cannedMessagePluginRunState
|
enum cannedMessageModuleRunState
|
||||||
{
|
{
|
||||||
CANNED_MESSAGE_RUN_STATE_DISABLED,
|
CANNED_MESSAGE_RUN_STATE_DISABLED,
|
||||||
CANNED_MESSAGE_RUN_STATE_INACTIVE,
|
CANNED_MESSAGE_RUN_STATE_INACTIVE,
|
||||||
@ -16,20 +16,20 @@ enum cannedMessagePluginRunState
|
|||||||
|
|
||||||
#define CANNED_MESSAGE_PLUGIN_MESSAGE_MAX_COUNT 50
|
#define CANNED_MESSAGE_PLUGIN_MESSAGE_MAX_COUNT 50
|
||||||
/**
|
/**
|
||||||
* Sum of CannedMessagePluginConfig part sizes.
|
* Sum of CannedMessageModuleConfig part sizes.
|
||||||
*/
|
*/
|
||||||
#define CANNED_MESSAGE_PLUGIN_MESSAGES_SIZE 800
|
#define CANNED_MESSAGE_PLUGIN_MESSAGES_SIZE 800
|
||||||
|
|
||||||
class CannedMessagePlugin :
|
class CannedMessageModule :
|
||||||
public SinglePortPlugin,
|
public SinglePortPlugin,
|
||||||
public Observable<const UIFrameEvent *>,
|
public Observable<const UIFrameEvent *>,
|
||||||
private concurrency::OSThread
|
private concurrency::OSThread
|
||||||
{
|
{
|
||||||
CallbackObserver<CannedMessagePlugin, const InputEvent *> inputObserver =
|
CallbackObserver<CannedMessageModule, const InputEvent *> inputObserver =
|
||||||
CallbackObserver<CannedMessagePlugin, const InputEvent *>(
|
CallbackObserver<CannedMessageModule, const InputEvent *>(
|
||||||
this, &CannedMessagePlugin::handleInputEvent);
|
this, &CannedMessageModule::handleInputEvent);
|
||||||
public:
|
public:
|
||||||
CannedMessagePlugin();
|
CannedMessageModule();
|
||||||
const char* getCurrentMessage();
|
const char* getCurrentMessage();
|
||||||
const char* getPrevMessage();
|
const char* getPrevMessage();
|
||||||
const char* getNextMessage();
|
const char* getNextMessage();
|
||||||
@ -38,15 +38,15 @@ class CannedMessagePlugin :
|
|||||||
void eventDown();
|
void eventDown();
|
||||||
void eventSelect();
|
void eventSelect();
|
||||||
|
|
||||||
void handleGetCannedMessagePluginPart1(const MeshPacket &req, AdminMessage *response);
|
void handleGetCannedMessageModulePart1(const MeshPacket &req, AdminMessage *response);
|
||||||
void handleGetCannedMessagePluginPart2(const MeshPacket &req, AdminMessage *response);
|
void handleGetCannedMessageModulePart2(const MeshPacket &req, AdminMessage *response);
|
||||||
void handleGetCannedMessagePluginPart3(const MeshPacket &req, AdminMessage *response);
|
void handleGetCannedMessageModulePart3(const MeshPacket &req, AdminMessage *response);
|
||||||
void handleGetCannedMessagePluginPart4(const MeshPacket &req, AdminMessage *response);
|
void handleGetCannedMessageModulePart4(const MeshPacket &req, AdminMessage *response);
|
||||||
|
|
||||||
void handleSetCannedMessagePluginPart1(const char *from_msg);
|
void handleSetCannedMessageModulePart1(const char *from_msg);
|
||||||
void handleSetCannedMessagePluginPart2(const char *from_msg);
|
void handleSetCannedMessageModulePart2(const char *from_msg);
|
||||||
void handleSetCannedMessagePluginPart3(const char *from_msg);
|
void handleSetCannedMessageModulePart3(const char *from_msg);
|
||||||
void handleSetCannedMessagePluginPart4(const char *from_msg);
|
void handleSetCannedMessageModulePart4(const char *from_msg);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
@ -72,10 +72,10 @@ class CannedMessagePlugin :
|
|||||||
void loadProtoForPlugin();
|
void loadProtoForPlugin();
|
||||||
bool saveProtoForPlugin();
|
bool saveProtoForPlugin();
|
||||||
|
|
||||||
void installDefaultCannedMessagePluginConfig();
|
void installDefaultCannedMessageModuleConfig();
|
||||||
|
|
||||||
int currentMessageIndex = -1;
|
int currentMessageIndex = -1;
|
||||||
cannedMessagePluginRunState runState = CANNED_MESSAGE_RUN_STATE_INACTIVE;
|
cannedMessageModuleRunState runState = CANNED_MESSAGE_RUN_STATE_INACTIVE;
|
||||||
|
|
||||||
char messageStore[CANNED_MESSAGE_PLUGIN_MESSAGES_SIZE+1];
|
char messageStore[CANNED_MESSAGE_PLUGIN_MESSAGES_SIZE+1];
|
||||||
char *messages[CANNED_MESSAGE_PLUGIN_MESSAGE_MAX_COUNT];
|
char *messages[CANNED_MESSAGE_PLUGIN_MESSAGE_MAX_COUNT];
|
||||||
@ -83,4 +83,4 @@ class CannedMessagePlugin :
|
|||||||
unsigned long lastTouchMillis = 0;
|
unsigned long lastTouchMillis = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern CannedMessagePlugin *cannedMessagePlugin;
|
extern CannedMessageModule *cannedMessageModule;
|
||||||
|
@ -37,7 +37,7 @@ void setupPlugins()
|
|||||||
new ReplyPlugin();
|
new ReplyPlugin();
|
||||||
rotaryEncoderInterruptImpl1 = new RotaryEncoderInterruptImpl1();
|
rotaryEncoderInterruptImpl1 = new RotaryEncoderInterruptImpl1();
|
||||||
rotaryEncoderInterruptImpl1->init();
|
rotaryEncoderInterruptImpl1->init();
|
||||||
cannedMessagePlugin = new CannedMessagePlugin();
|
cannedMessageModule = new CannedMessageModule();
|
||||||
#ifndef PORTDUINO
|
#ifndef PORTDUINO
|
||||||
new TelemetryPlugin();
|
new TelemetryPlugin();
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user