Skip to content

node

Classes:

  • Node –

    各Noneを表すMockクラス。MAVLink_message の送信と受信を行う

Node

Node(topic: MAVLinkTopic, name: str | None = None, sys_id: int = 1, comp_id: int = 1)

              flowchart TD
              mavlink.node.Node[Node]

              

              click mavlink.node.Node href "" "mavlink.node.Node"
            

各Noneを表すMockクラス。MAVLink_message の送信と受信を行う

Parameters:

  • topic

    (MAVLinkTopic) –

    送受信を行う先のTopic

  • name

    (str | None, default: None ) –

    Nodeの名前

  • sys_id

    (int, default: 1 ) –

    NodeのSystem ID

  • comp_id

    (int, default: 1 ) –

    NodeのComponent ID

Methods:

  • loop –

    Arduinoでいうvoid loop()に相当する処理を行う

  • run –

    Nodeで行う処理を実行する。stop_eventがsetされると終了する。

  • setup –

    Arduinoでいうvoid setup()に相当する処理を行う

Source code in src/mavlink/node.py
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
def __init__(
    self,
    topic:MAVLinkTopic,
    name: str|None=None,
    sys_id: int=1,
    comp_id: int=1,
):
    """_summary_

    Args:
        topic (MAVLinkTopic): 送受信を行う先のTopic
        name (str | None, optional): Nodeの名前
        sys_id (int, optional): NodeのSystem ID
        comp_id (int, optional): NodeのComponent ID
    """
    self.sys_id = sys_id
    self.comp_id = comp_id
    self.topic = topic
    self.mav=MAVLink(None,srcSystem=sys_id,srcComponent=comp_id)
    if name == None:
        self.name = f"{sys_id=} {comp_id=}"
    else:
        self.name = name
    self.logger = getLogger(f"node({self.name})")

loop abstractmethod

loop()

Arduinoでいうvoid loop()に相当する処理を行う

Source code in src/mavlink/node.py
38
39
40
41
42
@abstractmethod
def loop(self):
    """Arduinoでいうvoid loop()に相当する処理を行う
    """
    ...

run

Nodeで行う処理を実行する。stop_eventがsetされると終了する。

Parameters:

  • stop_event

    (Event) –

    実行を終了させるためのEvent

Source code in src/mavlink/node.py
44
45
46
47
48
49
50
51
52
def run(self, stop_event:Event):
    """Nodeで行う処理を実行する。stop_eventがsetされると終了する。

    Args:
        stop_event (Event): 実行を終了させるためのEvent
    """
    self.setup()
    while not stop_event.is_set():
        self.loop()

setup abstractmethod

setup()

Arduinoでいうvoid setup()に相当する処理を行う

Source code in src/mavlink/node.py
33
34
35
36
37
@abstractmethod
def setup(self):
    """Arduinoでいうvoid setup()に相当する処理を行う
    """
    ...