meshcore_py/src/meshcore/packets.py

60 lines
1.2 KiB
Python
Raw Normal View History

2025-04-08 22:56:16 -07:00
from enum import Enum
class BinaryReqType(Enum):
STATUS = 0x01
KEEP_ALIVE = 0x02
TELEMETRY = 0x03
MMA = 0x04
ACL = 0x05
class ControlType(Enum):
NODE_DISCOVER_REQ = 0x80
NODE_DISCOVER_RESP = 0x90
2025-04-08 22:56:16 -07:00
# Packet prefixes for the protocol
class PacketType(Enum):
OK = 0
ERROR = 1
CONTACT_START = 2
CONTACT = 3
CONTACT_END = 4
SELF_INFO = 5
MSG_SENT = 6
CONTACT_MSG_RECV = 7
CHANNEL_MSG_RECV = 8
CURRENT_TIME = 9
NO_MORE_MSGS = 10
2025-04-14 22:53:22 +02:00
CONTACT_URI = 11
2025-04-08 22:56:16 -07:00
BATTERY = 12
DEVICE_INFO = 13
2025-05-05 14:21:26 +02:00
PRIVATE_KEY = 14
DISABLED = 15
CONTACT_MSG_RECV_V3 = 16
CHANNEL_MSG_RECV_V3 = 17
CHANNEL_INFO = 18
SIGN_START = 19
SIGNATURE = 20
CUSTOM_VARS = 21
2025-07-15 10:34:38 +02:00
BINARY_REQ = 50
FACTORY_RESET = 51
PATH_DISCOVERY = 52
SET_FLOOD_SCOPE = 54
SEND_CONTROL_DATA = 55
2025-04-08 22:56:16 -07:00
# Push notifications
ADVERTISEMENT = 0x80
PATH_UPDATE = 0x81
ACK = 0x82
MESSAGES_WAITING = 0x83
RAW_DATA = 0x84
LOGIN_SUCCESS = 0x85
LOGIN_FAILED = 0x86
STATUS_RESPONSE = 0x87
2025-04-12 13:02:01 -07:00
LOG_DATA = 0x88
TRACE_DATA = 0x89
PUSH_CODE_NEW_ADVERT = 0x8A
2025-05-05 14:21:26 +02:00
TELEMETRY_RESPONSE = 0x8B
2025-07-15 10:34:38 +02:00
BINARY_RESPONSE = 0x8C
2025-07-31 22:10:03 +02:00
PATH_DISCOVERY_RESPONSE = 0x8D
CONTROL_DATA = 0x8E