Skip to content

Commit aa022a1

Browse files
committed
modify existing function
1 parent c4b9f98 commit aa022a1

File tree

3 files changed

+10
-16
lines changed

3 files changed

+10
-16
lines changed

examples/SendReceiveClient/SendReceiveClient.ino

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,12 @@ void text_message_callback(uint32_t from, uint32_t to, const char* text) {
4747
Serial.print(to);
4848
Serial.print(" message: ");
4949
Serial.println(text);
50-
if (to == my_node_num){
50+
if (to == 0xFFFFFFFF){
51+
Serial.println("This is a BROADCAST message.");
52+
} else if (to == my_node_num){
5153
Serial.println("This is a DM to me!");
54+
} else {
55+
Serial.println("This is a DM to someone else.");
5256
}
5357
}
5458

@@ -85,7 +89,7 @@ void setup() {
8589
mt_request_node_report(connected_callback);
8690

8791
// Register a callback function to be called whenever a text message is received
88-
set_directed_text_message_callback(text_message_callback);
92+
set_text_message_callback(text_message_callback);
8993
}
9094

9195
void loop() {

src/Meshtastic.h

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,7 @@ typedef enum {
7373
bool mt_request_node_report(void (*callback)(mt_node_t *, mt_nr_progress_t));
7474

7575
// Set the callback function that gets called when the node receives a text message.
76-
void set_text_message_callback(void (*callback)(uint32_t from, const char * text));
77-
78-
// Set the callback function that gets called when the node receives a text message. Includes the 'to' parameter to catch DM's vs Broadcast.
79-
void set_directed_text_message_callback(void (*callback)(uint32_t from, uint32_t to, const char * text));
76+
void set_text_message_callback(void (*callback)(uint32_t from, uint32_t to, const char * text));
8077

8178
// Send a text message with *text* as payload, to a destination node (optional), on a certain channel (optional).
8279
bool mt_send_text(const char * text, uint32_t dest = BROADCAST_ADDR, uint8_t channel_index = 0);

src/mt_protocol.cpp

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,7 @@ uint32_t want_config_id = 0;
2323
uint32_t my_node_num = 0;
2424

2525
bool mt_debugging = false;
26-
void (*text_message_callback)(uint32_t from, const char* text) = NULL;
27-
void (*directed_text_message_callback)(uint32_t from, uint32_t to, const char* text) = NULL;
26+
void (*text_message_callback)(uint32_t from, uint32_t to, const char* text) = NULL;
2827
void (*node_report_callback)(mt_node_t *, mt_nr_progress_t) = NULL;
2928
mt_node_t node;
3029

@@ -117,14 +116,10 @@ bool mt_send_text(const char * text, uint32_t dest, uint8_t channel_index) {
117116
return _mt_send_toRadio(toRadio);
118117
}
119118

120-
void set_text_message_callback(void (*callback)(uint32_t from, const char* text)) {
119+
void set_text_message_callback(void (*callback)(uint32_t from, uint32_t to, const char* text)) {
121120
text_message_callback = callback;
122121
}
123122

124-
void set_directed_text_message_callback(void (*callback)(uint32_t from, uint32_t to, const char* text)) {
125-
directed_text_message_callback = callback;
126-
}
127-
128123
bool handle_my_info(meshtastic_MyNodeInfo *myNodeInfo) {
129124
my_node_num = myNodeInfo->my_node_num;
130125
return true;
@@ -195,9 +190,7 @@ bool handle_mesh_packet(meshtastic_MeshPacket *meshPacket) {
195190
if (meshPacket->which_payload_variant == meshtastic_MeshPacket_decoded_tag) {
196191
if (meshPacket->decoded.portnum == meshtastic_PortNum_TEXT_MESSAGE_APP) {
197192
if (text_message_callback != NULL)
198-
text_message_callback(meshPacket->from, (const char*)meshPacket->decoded.payload.bytes);
199-
if (directed_text_message_callback != NULL)
200-
directed_text_message_callback(meshPacket->from, meshPacket->to, (const char*)meshPacket->decoded.payload.bytes);
193+
text_message_callback(meshPacket->from, meshPacket->to, (const char*)meshPacket->decoded.payload.bytes);
201194
} else {
202195
// TODO handle other portnums
203196
return false;

0 commit comments

Comments
 (0)