Esempio n. 1
0
#! /usr/bin/env python

import spead64_48 as S
import struct
import sys

pkt = ''.join([
    S.pack(S.HDR_FMT, ((S.MAGIC, S.VERSION, 3),)),
    S.pack(S.ITEM_FMT, ((0, S.FRAME_CNT_ID, 3),)),
    S.pack(S.ITEM_FMT, ((1, 0x3333, 0),)),
    S.pack(S.ITEM_FMT, ((0, S.PAYLOAD_LENGTH_ID, 8),)),
    struct.pack('>1024d', *[3.1415]*1024)])

cmd = sys.argv[-1]
if cmd.startswith('SpeadPacket'):
    if cmd == 'SpeadPacket':
        while True:
            p = S._spead.SpeadPacket()
            p.unpack(pkt)
    elif cmd.split('.')[1] == 'unpack':
        p = S._spead.SpeadPacket()
        while True:
            p.unpack(pkt)
    elif cmd.split('.')[1] == 'pack':
        p = S._spead.SpeadPacket()
        p.unpack(pkt)
        while True:
            s = p.pack()
    elif cmd.split('.')[1] == 'set_items':
        p = S._spead.SpeadPacket()
        i = [(0, 5, 3)] * 20
Esempio n. 2
0
import unittest
import spead64_48 as S
import spead64_48._spead as _S
import struct

ex_pkts = {
    '2-pkt-heap+next-pkt': [
        ''.join([
            S.pack(S.HDR_FMT, ((S.MAGIC, S.VERSION, S.ITEMSIZE, S.ADDRSIZE, 0, 5),)),
            S.pack(S.ITEM_FMT, ((S.IMMEDIATEADDR, S.HEAP_CNT_ID, 3),)),
            S.pack(S.ITEM_FMT, ((S.DIRECTADDR, 0x3333, 0),)),
            S.pack(S.ITEM_FMT, ((S.DIRECTADDR, 0x3334, 16),)),
            S.pack(S.ITEM_FMT, ((S.IMMEDIATEADDR, S.PAYLOAD_OFF_ID, 0),)),
            S.pack(S.ITEM_FMT, ((S.IMMEDIATEADDR, S.PAYLOAD_LEN_ID, 8),)),
            struct.pack('>d', 3.1415)]),
        ''.join([
            S.pack(S.HDR_FMT, ((S.MAGIC, S.VERSION, S.ITEMSIZE, S.ADDRSIZE, 0, 3),)),
            S.pack(S.ITEM_FMT, ((S.IMMEDIATEADDR, S.HEAP_CNT_ID, 3),)),
            S.pack(S.ITEM_FMT, ((S.IMMEDIATEADDR, S.PAYLOAD_OFF_ID, 8),)),
            S.pack(S.ITEM_FMT, ((S.IMMEDIATEADDR, S.PAYLOAD_LEN_ID, 16),)),
            struct.pack('>d', 2.7182),
            struct.pack('>d', 1.4)]),
        ''.join([
            S.pack(S.HDR_FMT, ((S.MAGIC, S.VERSION, S.ITEMSIZE, S.ADDRSIZE, 0, 3),)),
            S.pack(S.ITEM_FMT, ((S.IMMEDIATEADDR, S.HEAP_CNT_ID, 4),)),
            S.pack(S.ITEM_FMT, ((S.DIRECTADDR, 0x3333, 0),)),
            S.pack(S.ITEM_FMT, ((S.IMMEDIATEADDR, S.PAYLOAD_LEN_ID, 8),)),
            struct.pack('>d', 1.57)]), ],
    'normal': ''.join([
        S.pack(S.HDR_FMT, ((S.MAGIC, S.VERSION, S.ITEMSIZE, S.ADDRSIZE, 0, 3),)),
        S.pack(S.ITEM_FMT, ((S.IMMEDIATEADDR, S.HEAP_CNT_ID, 3),)),
Esempio n. 3
0
 def test_pack(self):
     self.assertEqual(S.pack(S.DEFAULT_FMT, ((2**32+2**8,),)), '\x01\x00\x00\x01\x00')
     self.assertEqual(S.pack(S.ITEM_FMT, ((0, 4, 8),)), '\x00\x00\x04\x00\x00\x00\x00\x08')
     self.assertEqual(S.pack(S.FORMAT_FMT, (('u', 8),)), 'u\x00\x00\x08')
Esempio n. 4
0
#! /usr/bin/env python

import spead64_48 as S
import struct
import sys

pkt = ''.join([
    S.pack(S.HDR_FMT, ((S.MAGIC, S.VERSION, 3), )),
    S.pack(S.ITEM_FMT, ((0, S.FRAME_CNT_ID, 3), )),
    S.pack(S.ITEM_FMT, ((1, 0x3333, 0), )),
    S.pack(S.ITEM_FMT, ((0, S.PAYLOAD_LENGTH_ID, 8), )),
    struct.pack('>1024d', *[3.1415] * 1024)
])

cmd = sys.argv[-1]
if cmd.startswith('SpeadPacket'):
    if cmd == 'SpeadPacket':
        while True:
            p = S._spead.SpeadPacket()
            p.unpack(pkt)
    elif cmd.split('.')[1] == 'unpack':
        p = S._spead.SpeadPacket()
        while True:
            p.unpack(pkt)
    elif cmd.split('.')[1] == 'pack':
        p = S._spead.SpeadPacket()
        p.unpack(pkt)
        while True:
            s = p.pack()
    elif cmd.split('.')[1] == 'set_items':
        p = S._spead.SpeadPacket()
Esempio n. 5
0
import unittest
import spead64_48 as S
import spead64_48._spead as _S
import struct
import os
import time
import socket
#import logging; logging.basicConfig(level=logging.DEBUG)

example_pkt = ''.join([
    S.pack(S.HDR_FMT, ((S.MAGIC, S.VERSION, S.ITEMSIZE, S.ADDRSIZE, 0, 3),)),
    S.pack(S.ITEM_FMT, ((S.IMMEDIATEADDR, S.HEAP_CNT_ID, 3),)),
    S.pack(S.ITEM_FMT, ((S.DIRECTADDR, 0x3333, 0),)),
    S.pack(S.ITEM_FMT, ((S.IMMEDIATEADDR, S.PAYLOAD_LEN_ID, 8),)),
    struct.pack('>d', 3.1415)])

term_pkt = ''.join([
    S.pack(S.HDR_FMT, ((S.MAGIC, S.VERSION, S.ITEMSIZE, S.ADDRSIZE, 0, 2),)),
    S.pack(S.ITEM_FMT, ((S.IMMEDIATEADDR, S.HEAP_CNT_ID, 0),)),
    S.pack(S.ITEM_FMT, ((S.IMMEDIATEADDR, S.STREAM_CTRL_ID, S.STREAM_CTRL_TERM_VAL),)), ])

example_heap = {
    S.HEAP_CNT_ID: (S.IMMEDIATEADDR, '\x00\x00\x00\x00\x03'),
    0x3333: (S.DIRECTADDR, struct.pack('>d', 3.1415)),
}


class RawUDPrx:
    def __init__(self, port, rx_buflen=8192):
        self._udp_in = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        self._udp_in.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, rx_buflen)