libicsneo/examples/python/ethernet/ethernet_transmit_basic.py

46 lines
964 B
Python

"""
Basic Ethernet frame transmission example using icsneopy library.
Demonstrates how to transmit Ethernet frames on Ethernet 01.
"""
import icsneopy
def transmit_ethernet_frame():
"""Transmit an Ethernet frame."""
devices = icsneopy.find_all_devices()
if not devices:
raise RuntimeError("No devices found")
device = devices[0]
try:
if not device.open():
raise RuntimeError("Failed to open device")
if not device.go_online():
raise RuntimeError("Failed to go online")
frame = icsneopy.EthernetMessage()
frame.network = icsneopy.Network(icsneopy.Network.NetID.ETHERNET_01)
frame.data = [
0x00, 0xFC, 0x70, 0x00, 0x01, 0x02,
0x00, 0xFC, 0x70, 0x00, 0x01, 0x01,
0x08, 0x00,
0x01, 0xC5, 0x01, 0xC5
]
success = device.transmit(frame)
if success:
print("Frame transmitted successfully")
else:
print("Failed to transmit frame")
finally:
device.close()
if __name__ == "__main__":
transmit_ethernet_frame()