From 5e9a3bdd4899210b66fc1c74ce629d9844d90fe8 Mon Sep 17 00:00:00 2001 From: Mark Fine Date: Thu, 18 Jun 2015 22:15:53 -0700 Subject: [PATCH 1/3] UDP logger for SBP. --- python/sbp/client/examples/udp.py | 19 +++-------- python/sbp/client/loggers/udp_logger.py | 45 +++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 14 deletions(-) create mode 100644 python/sbp/client/loggers/udp_logger.py diff --git a/python/sbp/client/examples/udp.py b/python/sbp/client/examples/udp.py index 2b16944d85..3472ff16fa 100644 --- a/python/sbp/client/examples/udp.py +++ b/python/sbp/client/examples/udp.py @@ -15,9 +15,8 @@ from sbp.client.drivers.pyserial_driver import PySerialDriver from sbp.client.handler import Handler +from sbp.client.loggers import UdpLogger -from contextlib import closing -import socket import struct import time @@ -49,23 +48,15 @@ def get_args(): help="specify the baud rate to use.") return parser.parse_args() -def send_udp_callback_generator(udp, args): - def send_udp_callback(msg): - s = "" - s += struct.pack(" +# +# This source is subject to the license found in the file 'LICENSE' which must +# be be distributed together with this source. All other rights reserved. +# +# THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, +# EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. + +import socket +import struct + +from .base_logger import BaseLogger + +class UdpLogger(BaseLogger): + """ + UdpLogger + + The :class:`UdpLogger` logs SBP messages over UDP. + + Parameters + ---------- + address : string + IP Address to send UDP packets to. + port : int + IP Port to send UDP packets to. + """ + def __init__(self, address, port): + self.handle = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + self.address = address + self.port = port + + def __call__(self, msg): + self.call(msg) + + def fmt_msg(self, msg): + s = "" + s += struct.pack(" Date: Fri, 19 Jun 2015 11:39:07 -0700 Subject: [PATCH 2/3] add a udp logger file. --- python/tests/sbp/client/test_udp_logger.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 python/tests/sbp/client/test_udp_logger.py diff --git a/python/tests/sbp/client/test_udp_logger.py b/python/tests/sbp/client/test_udp_logger.py new file mode 100644 index 0000000000..708869b100 --- /dev/null +++ b/python/tests/sbp/client/test_udp_logger.py @@ -0,0 +1,13 @@ +#!/usr/bin/env python +# Copyright (C) 2015 Swift Navigation Inc. +# Contact: Bhaskar Mookerji +# +# This source is subject to the license found in the file 'LICENSE' which must +# be be distributed together with this source. All other rights reserved. +# +# THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, +# EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. + +def test_udp_logger(): + pass From 2a77058957fd5bc7ebe370208d3a9ea987397bd9 Mon Sep 17 00:00:00 2001 From: Mark Fine Date: Fri, 19 Jun 2015 12:25:29 -0700 Subject: [PATCH 3/3] fix things. --- python/sbp/client/examples/udp.py | 4 ++-- python/sbp/client/loggers/udp_logger.py | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) mode change 100644 => 100755 python/sbp/client/examples/udp.py diff --git a/python/sbp/client/examples/udp.py b/python/sbp/client/examples/udp.py old mode 100644 new mode 100755 index 3472ff16fa..8f167e6954 --- a/python/sbp/client/examples/udp.py +++ b/python/sbp/client/examples/udp.py @@ -14,8 +14,8 @@ """ from sbp.client.drivers.pyserial_driver import PySerialDriver -from sbp.client.handler import Handler -from sbp.client.loggers import UdpLogger +from sbp.client.handler import Handler +from sbp.client.loggers.udp_logger import UdpLogger import struct import time diff --git a/python/sbp/client/loggers/udp_logger.py b/python/sbp/client/loggers/udp_logger.py index 40bc07bd04..3aa70ee6a1 100644 --- a/python/sbp/client/loggers/udp_logger.py +++ b/python/sbp/client/loggers/udp_logger.py @@ -41,5 +41,8 @@ def fmt_msg(self, msg): s += struct.pack("