|
|
|
@ -158,6 +158,9 @@ class MongoDriver(MeshArgsParse): |
|
|
|
from tileManager import TileManager |
|
|
|
self.tileManager = TileManager(self) |
|
|
|
|
|
|
|
from protobuf_decoder.protobuf_decoder import Parser |
|
|
|
self.protoParser = Parser() |
|
|
|
|
|
|
|
async def dbSaveRadio(self, new_from_radio): |
|
|
|
from_radio = copy.deepcopy(new_from_radio) |
|
|
|
for k, v in from_radio.items(): |
|
|
|
@ -195,6 +198,16 @@ class MongoDriver(MeshArgsParse): |
|
|
|
except: |
|
|
|
traceback.print_exc() |
|
|
|
|
|
|
|
try: |
|
|
|
if v.get("portnum", 0) in []: |
|
|
|
pass |
|
|
|
else: |
|
|
|
to_parse = ' '.join(f'{byte:02x}' for byte in v["payload"]) |
|
|
|
res = self.protoParser.parse(to_parse) |
|
|
|
logger.debug(res.to_dict()) |
|
|
|
except: |
|
|
|
pass |
|
|
|
|
|
|
|
if "user" in v: |
|
|
|
v.update(v["user"]) |
|
|
|
del v["user"] |
|
|
|
|