Skip to main content

ANDi python package to interact with ANDi scripting features from stand alone python package

Project description

ANDi SDK is a package to support powerful ANDi scripting API from python environment providing powerful Ethernet and automotive testing development kit.

Calling andisdk from Python

ANDi SDK allows the creation and handling of Ethernet based messages or channels, this can be done with or without an ANDi test project

# creating a message using a project
from andisdk import load_project
api = load_project(path_to_atp)
eth_msg = api.message_builder.create_ethernet_message()
# creating a message without a project
from andisdk import message_builder
msg = message_builder.create_ethernet_message()

Requirements to run ANDi SDK

ANDi SDK is portable, it can be used on both Windows and Linux machines.

Before running ANDi SDK, the following requirements need to be met:

  • .NET 6 runtime: responsible for running ANDi library files (dlls).

  • CodeMeter: responsible for license handling.

  • Npcap or Winpcap(Windows): responsible for hardware interfaces.

  • Libpcap (Linux): responsible for hardware interfaces.

Examples

# this example will create and send an UDP message
from andisdk import message_builder, andi
import sys

adapters = andi.get_adapters()

if (len(adapters) <= 0):
    print("No adapters found, stopping script")
    sys.exit()

adapter = adapters[0]
print("using adapter " + adapter.id + " to send udp message")
channel = andi.create_channel("Ethernet")
message = message_builder.create_udp_message(channel, channel)

message.payload = tuple([0x01, 0x02, 0x03, 0x04])
message.udp_header.port_source = 1234

print("sending udp message with payload " + str([x for x in message.payload]))
message.send()

Using python-can

# this example will use python-can to send and receive a CAN message
import can

bus = can.interface.Bus(interface='andisdk', channel='1', driver='tecmp', link='can', dev_port=1, dev_id=64)
payload = b'\x02\x08\x08\xFF\x03\x11\x04\x02'
# create can message
msg = can.Message(arbitration_id = 0x80000749, data = payload, is_fd = False)

# sending
bus.send(msg)

# receiving with timeout 5 seconds
msg_received = bus.recv(5)
print(msg_received)

Copyrights and licensing

This product is the property of Technica Engineering GmbH. © Copyright 2022-2024 Technica Engineering GmbH

This product will not function without a proper license. A proper license can be acquired by contacting Technica Engineering GmbH. For license related inquiries, this email: support@technica-engineering.de is available from Technica Engineering.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

andisdk-1.33.0.tar.gz (125.7 MB view hashes)

Uploaded Source

Built Distribution

andisdk-1.33.0-py3-none-any.whl (126.5 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page