46 lines
964 B
Python
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()
|