semvec/pypi-packages huggingface dataset:
drone-models 0.1.0b0
Models of quadrotor drones for estimation and control tasks.

$$
\huge \displaystyle \dot{x} = f(x,u)
$$

---

Drone models @ LSY. Contains symbolic (CasADi) and numeric (array API, i.e., NumPy, JAX, ...) drone dynamics.

[![Python Version]][Python Version URL] [![Ruff Check]][Ruff Check URL] [![Tests]][Tests URL] [![Docs]][Docs URL]

[Python Version]: https://img.shields.io/badge/python-3.10+-blue.svg
[Python Version URL]: https://www.python.org

[Ruff Check]: https://github.com/utiasDSL/drone-models/actions/workflows/ruff.yml/badge.svg?style=flat-square
[Ruff Check URL]: https://github.com/utiasDSL/drone-models/actions/workflows/ruff.yml

[Tests]: https://github.com/utiasDSL/drone-models/actions/workflows/testing.yml/badge.svg
[Tests URL]: https://github.com/utiasDSL/drone-models/actions/workflows/testing.yml

[Docs]: https://github.com/utiasDSL/drone-models/actions/workflows/docs.yml/badge.svg
[Docs URL]: https://utiasdsl.github.io/drone-models/

## Overview
Collection of different drone dynamics models. Also includes meshes of each model.

## Installation

1. Clone repository `git clone git@github.com:utiasDSL/drone-models.git`
2. Enter repository `cd drone-models`
3. Install locally with `pip install -e .` or the pixi environment with `pixi install`, which can be activated with `pixi shell`


## Usage
`from drone_models import TODO`


## Testing
1. Install testing environment with `pixi install -e test`
1. Run tests with `pixi run -e test pytest`
andisdk 3.0.0
ANDi python package to interact with ANDi scripting features from stand alone python package
Requires Python: >=3.0.0

andisdk - ANDi SDK
==================

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

.. code-block:: python

    # 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 8 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
--------

.. code-block:: python

    # 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
----------------

.. code-block:: python

	# 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.