core
Classes:
-
MAVLinkBridge–TransportをTopicへ結びつけるためのBridge
-
MAVLinkHistory–Topicから受信したMAVLink Messageの履歴を保持するSubscriber
-
MAVLinkPublisher–TopicへMAVLink Messageを送信するPublisher
-
MAVLinkRecorder–受信したMAVLinkMessageをTlog形式でfileに保存するSubscriber
-
MAVLinkStatus–MAVLinkTopicの受信状況を取得するためのclass
-
MAVLinkStatusSnapshot–A snapshot of the current status of observed MAVLink messages.
-
MAVLinkSubscriber–TopicからMAVLink Messageを受信するSubscriber
-
MAVLinkTopic–MAVLink Messageの送受信を媒介するTopic
-
Receiver–Transportで受信を行う基底class
-
Sender–Transportで送信を行う基底class
-
TLogReader–TLog形式で保存されたfileを読み込むReader
-
TopicItem–Topic内でやり取りされるデータ
-
TransportBase–Transport実装の基底class
MAVLinkBridge
MAVLinkBridge(transport: TransportBase, topic: MAVLinkTopic, filter: Callable[[TopicItem], bool] | None = None, error_handler: Callable[[Exception], None] | None = None)
TransportをTopicへ結びつけるためのBridge
Parameters:
-
(transportTransportBase) –BindするTransport
-
(topicMAVLinkTopic) –BindされるTopic
-
(filterCallable[[TopicItem], bool] | None, default:None) –メッセージを受け取るかを判別する関数。Trueを返すと受け取る
-
(error_handlerCallable[[Exception], None] | None, default:None) –エラー時のcallback関数
Methods:
-
run–Bridgeを実行する。stop_eventがsetされると終了する。
Source code in src/mavlink/core.py
261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 | |
run
run(stop_event: Event)
Bridgeを実行する。stop_eventがsetされると終了する。
Parameters:
-
(stop_eventEvent) –実行を終了させるためのEvent
Source code in src/mavlink/core.py
315 316 317 318 319 320 321 322 323 324 325 326 327 | |
MAVLinkHistory
flowchart TD
mavlink.core.MAVLinkHistory[MAVLinkHistory]
mavlink.core.MAVLinkSubscriberBase[MAVLinkSubscriberBase]
mavlink.core.MAVLinkSubscriberBase --> mavlink.core.MAVLinkHistory
click mavlink.core.MAVLinkHistory href "" "mavlink.core.MAVLinkHistory"
click mavlink.core.MAVLinkSubscriberBase href "" "mavlink.core.MAVLinkSubscriberBase"
Topicから受信したMAVLink Messageの履歴を保持するSubscriber
-
API References
coreMAVLinkTopiccreate_history_subscriber
Methods:
-
clear–Historyをclearする
-
items–保持しているHistoryを取得する
-
latest–保持している最新のメッセージを取得する
-
sync–MAVLink MessageのHistoryと最新のメッセージを更新する
Source code in src/mavlink/core.py
72 73 74 75 76 | |
clear
clear()
Historyをclearする
Source code in src/mavlink/core.py
101 102 103 104 | |
items
latest
保持している最新のメッセージを取得する
Returns:
Source code in src/mavlink/core.py
105 106 107 108 109 110 111 112 113 | |
sync
sync(sync_timestamp: Optional[int] = None)
MAVLink MessageのHistoryと最新のメッセージを更新する
Parameters:
-
(sync_timestampOptional[int], default:None) –Historyが保持するメッセージの時刻の基準値。Noneを指定すると最新のメッセージのtimestampを基準とする。 Defaults to None.
Source code in src/mavlink/core.py
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | |
MAVLinkPublisher
MAVLinkPublisher(topic: MAVLinkTopic, source_id: str)
TopicへMAVLink Messageを送信するPublisher
-
API References
coreMAVLinkTopiccreate_publisher
Methods:
-
publish–Topicへメッセージをpublishする
Source code in src/mavlink/core.py
25 26 27 | |
publish
publish(timestamp: int, message: MAVLink_message) -> None
Topicへメッセージをpublishする
Parameters:
-
(timestampint) –メッセージのtimestamp
-
(messageMAVLink_message) –送信するメッセージ
Source code in src/mavlink/core.py
28 29 30 31 32 33 34 35 | |
MAVLinkRecorder
MAVLinkRecorder(filepath: Path)
flowchart TD
mavlink.core.MAVLinkRecorder[MAVLinkRecorder]
mavlink.core.MAVLinkSubscriberBase[MAVLinkSubscriberBase]
mavlink.core.MAVLinkSubscriberBase --> mavlink.core.MAVLinkRecorder
click mavlink.core.MAVLinkRecorder href "" "mavlink.core.MAVLinkRecorder"
click mavlink.core.MAVLinkSubscriberBase href "" "mavlink.core.MAVLinkSubscriberBase"
受信したMAVLinkMessageをTlog形式でfileに保存するSubscriber
-
API References
coreMAVLinkTopiccreate_record
Source code in src/mavlink/core.py
117 118 119 120 121 122 123 | |
MAVLinkStatus
MAVLinkStatus()
MAVLinkTopicの受信状況を取得するためのclass
-
API References
coreMAVLinkTopicget_status
Methods:
-
snapshot–現在の受信状況を取得する
Source code in src/mavlink/core.py
184 185 186 187 | |
snapshot
snapshot() -> MAVLinkStatusSnapshot
現在の受信状況を取得する
Returns:
-
MAVLinkStatusSnapshot(MAVLinkStatusSnapshot) –現在の受信状況のsnapshot
Source code in src/mavlink/core.py
192 193 194 195 196 197 198 199 200 201 202 | |
MAVLinkStatusSnapshot
dataclass
MAVLinkStatusSnapshot(observed_messages: frozenset[tuple[int, int, int]], last_received: dict[tuple[int, int, int], int])
A snapshot of the current status of observed MAVLink messages.
-
API References
coreMAVLinkStatussnapshot
MAVLinkSubscriber
flowchart TD
mavlink.core.MAVLinkSubscriber[MAVLinkSubscriber]
mavlink.core.MAVLinkSubscriberBase[MAVLinkSubscriberBase]
mavlink.core.MAVLinkSubscriberBase --> mavlink.core.MAVLinkSubscriber
click mavlink.core.MAVLinkSubscriber href "" "mavlink.core.MAVLinkSubscriber"
click mavlink.core.MAVLinkSubscriberBase href "" "mavlink.core.MAVLinkSubscriberBase"
TopicからMAVLink Messageを受信するSubscriber
-
API References
coreMAVLinkTopiccreate_subscriber
Methods:
-
get–timeoutで指定した時間内でTopicからメッセージを受け取る
Source code in src/mavlink/core.py
50 51 52 | |
get
timeoutで指定した時間内でTopicからメッセージを受け取る
Parameters:
Returns:
Source code in src/mavlink/core.py
55 56 57 58 59 60 61 62 63 64 65 66 67 68 | |
MAVLinkTopic
MAVLinkTopic()
MAVLink Messageの送受信を媒介するTopic
- API References
Methods:
-
create_history_subscriber–MAVLinkHistorySubscriberのインスタンスを作成する
-
create_publisher–MAVLinkPublisherのインスタンスを作成する
-
create_record–MAVLinkRecorderのインスタンスを作成する
-
create_subscriber–Subscriberのインスタンスを作成する
-
get_status–MAVLinkStatusのインスタンスを作成する
-
unsubscribe–Subscriberの登録を解除する
Source code in src/mavlink/core.py
331 332 333 334 335 336 337 | |
create_history_subscriber
create_history_subscriber(filter: Callable[[TopicItem], bool], duration: int = 1000000, maxsize: int = 1000) -> MAVLinkHistory
MAVLinkHistorySubscriberのインスタンスを作成する
Parameters:
-
(filterCallable[[TopicItem], bool]) –メッセージを受け取るかを判別する関数。Trueを返すと受け取る
-
(durationint, default:1000000) –Historyで保持するMessageの時間幅。単位はus
-
(maxsizeint, default:1000) –Historyの内部的に用いるdequeの長さ
Returns:
-
MAVLinkHistory–MAVLinkHistory
Source code in src/mavlink/core.py
352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 | |
create_publisher
create_publisher(source_id: str) -> MAVLinkPublisher
MAVLinkPublisherのインスタンスを作成する
Parameters:
-
(source_idstr) –送信元を判別するためのID
Returns:
-
MAVLinkPublisher–MAVLinkPublisher
Source code in src/mavlink/core.py
393 394 395 396 397 398 399 400 401 402 | |
create_record
create_record(filepath: Path) -> MAVLinkRecorder
MAVLinkRecorderのインスタンスを作成する
Parameters:
-
(filepathPath) –保存先のfileへのpath
Returns:
-
MAVLinkRecorder–MAVLinkRecorder
Source code in src/mavlink/core.py
367 368 369 370 371 372 373 374 375 376 377 378 379 | |
create_subscriber
Subscriberのインスタンスを作成する
Parameters:
-
(filterCallable[[TopicItem], bool]) –メッセージを受け取るかを判別する関数。Trueを返すと受け取る
-
(maxsizeint, default:100) –内部的に用いるqueueのサイズ
Returns:
-
MAVLinkSubscriber–MAVLinkSubscriber
Source code in src/mavlink/core.py
338 339 340 341 342 343 344 345 346 347 348 349 350 351 | |
get_status
get_status() -> MAVLinkStatus
MAVLinkStatusのインスタンスを作成する
Returns:
-
MAVLinkStatus–MAVLinkStatus
Source code in src/mavlink/core.py
403 404 405 406 407 408 409 | |
unsubscribe
unsubscribe(subscriber: MAVLinkSubscriberBase)
Subscriberの登録を解除する
Parameters:
-
(subscriberMAVLinkSubscriberBase) –登録を解除するSubscriber
Source code in src/mavlink/core.py
380 381 382 383 384 385 386 387 | |
Receiver
flowchart TD
mavlink.core.Receiver[Receiver]
click mavlink.core.Receiver href "" "mavlink.core.Receiver"
Transportで受信を行う基底class
-
API References
coreTransportBaseget_receiver
Methods:
-
recv–バイト列を受信する
recv
abstractmethod
バイト列を受信する
Parameters:
-
(timeoutfloat) –受信でtimeoutするまでの時間。単位はs
Returns:
Source code in src/mavlink/core.py
217 218 219 220 221 222 223 224 225 226 227 | |
Sender
flowchart TD
mavlink.core.Sender[Sender]
click mavlink.core.Sender href "" "mavlink.core.Sender"
Transportで送信を行う基底class
-
API References
coreTransportBaseget_sender
Methods:
-
send–バイト列の送信を行う
TLogReader
TLog形式で保存されたfileを読み込むReader
Example
reader=TLogReader(Path("sample.tlog")) # sample.tlogを読み込む
for (timestamp,message) in reader:
print(f"{timestamp=},{message=}") # Iteratorでtimestampとmessageを取り出す
Parameters:
-
(filepathPath) –読み込むfileへのpath
Source code in src/mavlink/core.py
143 144 145 146 147 148 149 150 151 152 153 | |
TopicItem
dataclass
TopicItem(timestamp: int, message: MAVLink_message, source_id: str)
TransportBase
flowchart TD
mavlink.core.TransportBase[TransportBase]
click mavlink.core.TransportBase href "" "mavlink.core.TransportBase"
Transport実装の基底class
-
API References
coreMAVLinkBridge
Methods:
-
close–通信の終了処理を行う
-
get_receiver–Receiverを返す
-
get_sender–Senderを返す
-
get_source_id–Publisherの送信元を判別するためのIDを返す
close
abstractmethod
close()
通信の終了処理を行う
Source code in src/mavlink/core.py
254 255 256 257 258 | |
get_receiver
abstractmethod
get_receiver() -> Receiver | None
Receiverを返す
Returns:
-
Receiver | None–Receiver | None: Receiverが存在しなければNoneを返す
Source code in src/mavlink/core.py
246 247 248 249 250 251 252 253 | |
get_sender
abstractmethod
get_sender() -> Sender | None
Senderを返す
Returns:
-
Sender | None–Sender | None: Senderが存在しなければNoneを返す
Source code in src/mavlink/core.py
238 239 240 241 242 243 244 245 | |