class NucleoExpander: def __init__(self, name_serial, nop): ''' Init drivera NucleoExpander :param nameSerial: name of serial port exp. 'COM10' or '/tty/ttyUSB' :param nop: number of packet in one send ''' self.packetSerial = PacketSender(name_serial, nop) self.horizontal_servo_angle = 90 self.vertical_servo_angle = 90 def check_angle(self, angle): if angle < 0: return 0 if angle > 180: return 180 return angle def horizontal_servo_set_angle(self, angle): self.horizontal_servo_angle = self.check_angle(angle) self.packetSerial.add_packet(1, self.horizontal_servo_angle) def vertical_servo_set_angle(self, angle): self.vertical_servo_angle = self.check_angle(angle) self.packetSerial.add_packet(2, self.vertical_servo_angle)
def __init__(self, name_serial, nop): ''' Init drivera NucleoExpander :param nameSerial: name of serial port exp. 'COM10' or '/tty/ttyUSB' :param nop: number of packet in one send ''' self.packetSerial = PacketSender(name_serial, nop) self.horizontal_servo_angle = 90 self.vertical_servo_angle = 90
class Main: def __init__(self, src, dst, dports, iface): self.src = src self.dst = dst self.dports = dports self.iface = iface self.inp_queue = Queue() self.outp_queue = Queue() self.res_queue = Queue() self.preceiver = PacketReceiver(iface = self.iface, queue = self.inp_queue) self.psender = PacketSender(iface = self.iface, queue = self.outp_queue) self.scanner = Scanner(self.inp_queue, self.outp_queue, self.res_queue, self.src, self.dst, self.dports) def start(self): self.preceiver.start() self.psender.start() self.scanner.start()
def do_test(self, dry_run): self.outp_queue = Queue() self.psender = PacketSender(iface = 'lo', queue = self.outp_queue, dry_run = dry_run) self.psender.start() for i in range(1000): p = self.mk_testp() self.outp_queue.put(p) time.sleep(5)
class TestPacketSender(unittest.TestCase): def mk_testp(self): return Ether()/IP(dst='127.0.0.1')/TCP() def do_test(self, dry_run): self.outp_queue = Queue() self.psender = PacketSender(iface = 'lo', queue = self.outp_queue, dry_run = dry_run) self.psender.start() for i in range(1000): p = self.mk_testp() self.outp_queue.put(p) time.sleep(5) # def test_dryrun(self): # self.do_test(True) def test_wetrun(self): self.do_test(False)