mirror of
https://github.com/meshtastic/firmware.git
synced 2025-04-24 09:26:52 +00:00
remove owner from ToRadio
This commit is contained in:
parent
562b227c73
commit
c67b53b969
2
proto
2
proto
@ -1 +1 @@
|
|||||||
Subproject commit 083ba793108c34044e6abc8c94a5f250343b4f32
|
Subproject commit 79b2cf728c08007284542b32d9d075d01e8153d8
|
@ -34,6 +34,7 @@ void PhoneAPI::handleToRadio(const uint8_t *buf, size_t bufLength)
|
|||||||
state = STATE_SEND_MY_INFO;
|
state = STATE_SEND_MY_INFO;
|
||||||
|
|
||||||
DEBUG_MSG("Reset nodeinfo read pointer\n");
|
DEBUG_MSG("Reset nodeinfo read pointer\n");
|
||||||
|
nodeInfoForPhone = NULL; // Don't keep returning old nodeinfos
|
||||||
nodeDB.resetReadPointer(); // FIXME, this read pointer should be moved out of nodeDB and into this class - because
|
nodeDB.resetReadPointer(); // FIXME, this read pointer should be moved out of nodeDB and into this class - because
|
||||||
// this will break once we have multiple instances of PhoneAPI running independently
|
// this will break once we have multiple instances of PhoneAPI running independently
|
||||||
break;
|
break;
|
||||||
@ -62,10 +63,9 @@ void PhoneAPI::handleToRadio(const uint8_t *buf, size_t bufLength)
|
|||||||
*
|
*
|
||||||
* We assume buf is at least FromRadio_size bytes long.
|
* We assume buf is at least FromRadio_size bytes long.
|
||||||
*
|
*
|
||||||
* Our sending states progress in the following sequence:
|
* Our sending states progress in the following sequence (the client app ASSUMES THIS SEQUENCE, DO NOT CHANGE IT):
|
||||||
* STATE_SEND_MY_INFO, // send our my info record
|
* STATE_SEND_MY_INFO, // send our my info record
|
||||||
STATE_SEND_RADIO,
|
STATE_SEND_RADIO,
|
||||||
STATE_SEND_OWNER,
|
|
||||||
STATE_SEND_NODEINFO, // states progress in this order as the device sends to to the client
|
STATE_SEND_NODEINFO, // states progress in this order as the device sends to to the client
|
||||||
STATE_SEND_COMPLETE_ID,
|
STATE_SEND_COMPLETE_ID,
|
||||||
STATE_SEND_PACKETS // send packets or debug strings
|
STATE_SEND_PACKETS // send packets or debug strings
|
||||||
@ -92,17 +92,11 @@ size_t PhoneAPI::getFromRadio(uint8_t *buf)
|
|||||||
case STATE_SEND_RADIO:
|
case STATE_SEND_RADIO:
|
||||||
fromRadioScratch.which_variant = FromRadio_radio_tag;
|
fromRadioScratch.which_variant = FromRadio_radio_tag;
|
||||||
fromRadioScratch.variant.radio = radioConfig;
|
fromRadioScratch.variant.radio = radioConfig;
|
||||||
state = STATE_SEND_OWNER;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case STATE_SEND_OWNER:
|
|
||||||
fromRadioScratch.which_variant = FromRadio_owner_tag;
|
|
||||||
fromRadioScratch.variant.owner = owner;
|
|
||||||
state = STATE_SEND_NODEINFO;
|
state = STATE_SEND_NODEINFO;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case STATE_SEND_NODEINFO: {
|
case STATE_SEND_NODEINFO: {
|
||||||
const NodeInfo *info = nodeDB.readNextInfo();
|
const NodeInfo *info = nodeInfoForPhone;
|
||||||
|
|
||||||
if (info) {
|
if (info) {
|
||||||
DEBUG_MSG("Sending nodeinfo: num=0x%x, lastseen=%u, id=%s, name=%s\n", info->num, info->position.time, info->user.id,
|
DEBUG_MSG("Sending nodeinfo: num=0x%x, lastseen=%u, id=%s, name=%s\n", info->num, info->position.time, info->user.id,
|
||||||
@ -168,10 +162,9 @@ bool PhoneAPI::available()
|
|||||||
return true;
|
return true;
|
||||||
|
|
||||||
case STATE_SEND_NODEINFO:
|
case STATE_SEND_NODEINFO:
|
||||||
return true;
|
if (!nodeInfoForPhone)
|
||||||
|
nodeInfoForPhone = nodeDB.readNextInfo();
|
||||||
case STATE_SEND_OWNER:
|
return true; // Always say we have something, because we might need to advance our state machine
|
||||||
return true;
|
|
||||||
|
|
||||||
case STATE_SEND_RADIO:
|
case STATE_SEND_RADIO:
|
||||||
return true;
|
return true;
|
||||||
@ -225,7 +218,6 @@ void PhoneAPI::handleSetRadio(const RadioConfig &r)
|
|||||||
service.reloadConfig();
|
service.reloadConfig();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handle a packet that the phone wants us to send. It is our responsibility to free the packet to the pool
|
* Handle a packet that the phone wants us to send. It is our responsibility to free the packet to the pool
|
||||||
*/
|
*/
|
||||||
|
@ -22,7 +22,7 @@ class PhoneAPI
|
|||||||
STATE_SEND_NOTHING, // (Eventual) Initial state, don't send anything until the client starts asking for config
|
STATE_SEND_NOTHING, // (Eventual) Initial state, don't send anything until the client starts asking for config
|
||||||
STATE_SEND_MY_INFO, // send our my info record
|
STATE_SEND_MY_INFO, // send our my info record
|
||||||
STATE_SEND_RADIO,
|
STATE_SEND_RADIO,
|
||||||
STATE_SEND_OWNER,
|
// STATE_SEND_OWNER, no need to send Owner specially, it is just part of the nodedb
|
||||||
STATE_SEND_NODEINFO, // states progress in this order as the device sends to to the client
|
STATE_SEND_NODEINFO, // states progress in this order as the device sends to to the client
|
||||||
STATE_SEND_COMPLETE_ID,
|
STATE_SEND_COMPLETE_ID,
|
||||||
STATE_SEND_PACKETS // send packets or debug strings
|
STATE_SEND_PACKETS // send packets or debug strings
|
||||||
@ -35,9 +35,13 @@ class PhoneAPI
|
|||||||
*/
|
*/
|
||||||
uint32_t fromRadioNum = 0;
|
uint32_t fromRadioNum = 0;
|
||||||
|
|
||||||
/// We temporarily keep the packet here between the call to available and getFromRadio
|
/// We temporarily keep the packet here between the call to available and getFromRadio. We will free it after the phone
|
||||||
|
/// downloads it
|
||||||
MeshPacket *packetForPhone = NULL;
|
MeshPacket *packetForPhone = NULL;
|
||||||
|
|
||||||
|
/// We temporarily keep the nodeInfo here between the call to available and getFromRadio
|
||||||
|
const NodeInfo *nodeInfoForPhone = NULL;
|
||||||
|
|
||||||
/// Our fromradio packet while it is being assembled
|
/// Our fromradio packet while it is being assembled
|
||||||
FromRadio fromRadioScratch;
|
FromRadio fromRadioScratch;
|
||||||
|
|
||||||
|
@ -156,7 +156,6 @@ typedef struct _FromRadio {
|
|||||||
MeshPacket packet;
|
MeshPacket packet;
|
||||||
MyNodeInfo my_info;
|
MyNodeInfo my_info;
|
||||||
NodeInfo node_info;
|
NodeInfo node_info;
|
||||||
User owner;
|
|
||||||
RadioConfig radio;
|
RadioConfig radio;
|
||||||
DebugString debug_string;
|
DebugString debug_string;
|
||||||
uint32_t config_complete_id;
|
uint32_t config_complete_id;
|
||||||
@ -287,7 +286,6 @@ typedef struct _ToRadio {
|
|||||||
#define FromRadio_packet_tag 2
|
#define FromRadio_packet_tag 2
|
||||||
#define FromRadio_my_info_tag 3
|
#define FromRadio_my_info_tag 3
|
||||||
#define FromRadio_node_info_tag 4
|
#define FromRadio_node_info_tag 4
|
||||||
#define FromRadio_owner_tag 5
|
|
||||||
#define FromRadio_radio_tag 6
|
#define FromRadio_radio_tag 6
|
||||||
#define FromRadio_debug_string_tag 7
|
#define FromRadio_debug_string_tag 7
|
||||||
#define FromRadio_config_complete_id_tag 8
|
#define FromRadio_config_complete_id_tag 8
|
||||||
@ -432,7 +430,6 @@ X(a, STATIC, SINGULAR, UINT32, num, 1) \
|
|||||||
X(a, STATIC, ONEOF, MESSAGE, (variant,packet,variant.packet), 2) \
|
X(a, STATIC, ONEOF, MESSAGE, (variant,packet,variant.packet), 2) \
|
||||||
X(a, STATIC, ONEOF, MESSAGE, (variant,my_info,variant.my_info), 3) \
|
X(a, STATIC, ONEOF, MESSAGE, (variant,my_info,variant.my_info), 3) \
|
||||||
X(a, STATIC, ONEOF, MESSAGE, (variant,node_info,variant.node_info), 4) \
|
X(a, STATIC, ONEOF, MESSAGE, (variant,node_info,variant.node_info), 4) \
|
||||||
X(a, STATIC, ONEOF, MESSAGE, (variant,owner,variant.owner), 5) \
|
|
||||||
X(a, STATIC, ONEOF, MESSAGE, (variant,radio,variant.radio), 6) \
|
X(a, STATIC, ONEOF, MESSAGE, (variant,radio,variant.radio), 6) \
|
||||||
X(a, STATIC, ONEOF, MESSAGE, (variant,debug_string,variant.debug_string), 7) \
|
X(a, STATIC, ONEOF, MESSAGE, (variant,debug_string,variant.debug_string), 7) \
|
||||||
X(a, STATIC, ONEOF, UINT32, (variant,config_complete_id,variant.config_complete_id), 8)
|
X(a, STATIC, ONEOF, UINT32, (variant,config_complete_id,variant.config_complete_id), 8)
|
||||||
@ -441,7 +438,6 @@ X(a, STATIC, ONEOF, UINT32, (variant,config_complete_id,variant.config_co
|
|||||||
#define FromRadio_variant_packet_MSGTYPE MeshPacket
|
#define FromRadio_variant_packet_MSGTYPE MeshPacket
|
||||||
#define FromRadio_variant_my_info_MSGTYPE MyNodeInfo
|
#define FromRadio_variant_my_info_MSGTYPE MyNodeInfo
|
||||||
#define FromRadio_variant_node_info_MSGTYPE NodeInfo
|
#define FromRadio_variant_node_info_MSGTYPE NodeInfo
|
||||||
#define FromRadio_variant_owner_MSGTYPE User
|
|
||||||
#define FromRadio_variant_radio_MSGTYPE RadioConfig
|
#define FromRadio_variant_radio_MSGTYPE RadioConfig
|
||||||
#define FromRadio_variant_debug_string_MSGTYPE DebugString
|
#define FromRadio_variant_debug_string_MSGTYPE DebugString
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user