semvec/pypi-packages huggingface dataset:
master-board 1.0
Hardware and Firmware of the Solo Quadruped Master Board
Requires Python: >= 3.8

# master-board
Hardware and Firmware of the Solo Quadruped Master Board.

This board centralises all the sensor and actuator data and provides wired and wireless connection to a realtime computer.

Connectivity:

* SPI: Address up to 8 SPI Slave: (max 80Mhz, DMA capable) compatible with BLMC µDriver SPI interface
* Wifi: Wireless communication with a computer via raw ESP-NOW: round trip time of 1.2ms (including driver and OS latency) for a 127bytes message.
* Ethernet: Wired communication with a computer via raw frames: round trip time of 0.2ms (including driver and OS latency) for a 127bytes message.
* GPIO: 4GPIO free. Can be mapped to I2C, UART etc.. Two of them are curently used for IMU communication via UART
* UART: Used to upgrade the ESP32 firmware, free on normal operation.

The board is programed via the ESP-IDF tool chain https://github.com/espressif/esp-idf

Wireless closed loop control at 1kHz demo (click to see video):
[![Alt text](https://img.youtube.com/vi/kEtmWzfE4aw/0.jpg)](https://www.youtube.com/watch?v=kEtmWzfE4aw)

IMU, ethernet closed loop cntrol at 1kHz demo (click to see video):
[![Alt text](https://img.youtube.com/vi/TaonDmPJcGE/0.jpg)](https://www.youtube.com/watch?v=TaonDmPJcGE)

## LED status
**Red fade:** Waiting for init<br>
**Magenta fade:** SPI Autodetect<br>
**Blue fade:** waiting for first commmand<br>
**Green fade:** Active control<br>
**Yellow blink:** ethernet link down state awaiting for link up<br>
**Red blink:** error state (communication with PC), awaiting for new init msg<br>
**White blink:** state machine error (should never happen)<br>

Documentation
-------------
Here are some helpful links to the documentation :

[How to Flash the Master Board (install esp-idf and flash the firmware)](firmware/README.md)

[SDK : How to Prepare Your Interface and Run the Example](sdk/master_board_sdk/README.md)

[Master Board State Machine Description](documentation/masterboard_state_machine.md)

[Description of the Communication Between the Master Board and the Computer](documentation/masterboard_communication.md)

[Description of the BLMC µDriver SPI Interface](documentation/BLMC_%C2%B5Driver_SPI_interface.md)

[Wiring the Master Board](documentation/masterboard_wiring.md)

[Master Board Ordering and Preparation](documentation/masterboard_ordering_soldering.md)

Authors
--------
Thomas Flayols  
Etienne Arlaud

License
-------
BSD 3-Clause License

Copyright
-----------
Copyright (c) 2019, LAAS-CNRS, Max Planck Gesellschaft, New York University

More Information
----------------
[Open Dynamic Robot Initiative](https://open-dynamic-robot-initiative.github.io)
fmpy-qi 0.1.7
A python wrapper for the Financial Modeling Prep API
Requires Python: >=3.7

# fmpy
A python wrapper for the [Financial Modeling Prep](https://site.financialmodelingprep.com/) (FMP) API (unofficial). This package focus on providing a simple
and powerful interface for the FMP API. 

For more information on subscription plans and obtaining an API key, please visit the [FMP website](https://site.financialmodelingprep.com/developer/docs/pricing/).

## Installation
***
Install fmpy using the pip command:
```
$ pip install fmpy_qi
```

## Usage
***
To begin, you need to create an FmpClient object by passing your API key (provided by FMP) as parameter:
```python
from fmpy.client import FmpClient

client = FmpClient(api_key="YOU_API_KEY")
```

Note that fmpy allow you have to store your API key in as an environment variable under the name 
**FMP_API_KEY** (in that case no need to provide the *api_key* parameter for the FmpClient instantiation)

FmpClient can be initialised with other parameters:

    rate_limit: number of call per minute tolerance (300 by default). This allow to not exceed the rate limit
    timeout: number of seconds to wait a request before raising a timeout (5 by default)
    request_retry: number of request retries before abording (5 by default)

Here is an example:
```python
from fmpy.client import FmpClient

client = FmpClient(api_key="YOU_API_KEY", rate_limit=750, timeout=20, request_retry=1)
# Will not make more than 750 requests per minute, 
# with 20s of timeout and a potential request retry limited to 1
```

## Historical data
```python
from fmpy.client import FmpClient

client = FmpClient(api_key="YOU_API_KEY")
hist_data = client.get_historical_data('TSLA', period='1h', start='2020-01-02 10:00:00', end='2022-06-25 15:00:00')
# Retreive historical 1h candles for Tesla stock between 2020-01-02 10:00:00 and 2022-06-25 15:00:00
# start and end support both "%Y-%m-%d %H:%M:%S" and "%Y-%m-%d" time formats
```


## Licence
***
© 2023 Nicolas Thiery

This repository is licensed under the MIT license See LICENSE for details.

Please note that this package is not endorsed, supported, or affiliated with FMP.
We do not have any formal relationship with FMP, nor do we receive any financial compensation for developing or distributing this package.