Skip to content

Commit

Permalink
deploy: ab0e287
Browse files Browse the repository at this point in the history
  • Loading branch information
finger563 committed Jan 31, 2025
0 parents commit 5c220dd
Show file tree
Hide file tree
Showing 403 changed files with 118,499 additions and 0 deletions.
Empty file added .nojekyll
Empty file.
Binary file added _images/complex-hfsm.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions _sources/adc/adc_example.md.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
```{include} ../../../components/adc/example/README.md
```
12 changes: 12 additions & 0 deletions _sources/adc/adc_types.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
ADC Types
*********

Simple container for data associated with an ADC channel configuration,
including the unit, the channel, and the attenuation desired.

.. ---------------------------- API Reference ----------------------------------
API Reference
-------------

.. include-build-file:: inc/adc_types.inc
18 changes: 18 additions & 0 deletions _sources/adc/ads1x15.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
ADS1x15 I2C ADC
***************

The `ADS1x15` provides a class for communicating with the ADS1x15 (ADS1015 and
ADS1115) family of I2C ADC chips with configurable gain and sampling rate.

.. ------------------------------- Example -------------------------------------
.. toctree::

ads1x15_example

.. ---------------------------- API Reference ----------------------------------
API Reference
-------------

.. include-build-file:: inc/ads1x15.inc
2 changes: 2 additions & 0 deletions _sources/adc/ads1x15_example.md.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
```{include} ../../../components/ads1x15/example/README.md
```
23 changes: 23 additions & 0 deletions _sources/adc/ads7138.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
ADS7138 I2C ADC
***************

The `Ads7138` class implements support for the Texas Instruments ADS7138 12-bit
8-channel ADC. The ADS7138 is a 12-bit, 8-channel, low-power, successive
approximation register (SAR) analog-to-digital converter (ADC) which can
configure any of its 8 channels as single-ended analog inputs, digital inputs,
or digital outputs. It has an operating mode that allows the user to configure
the device for a single conversion, or to automatically convert on a
continuous basis.

.. ------------------------------- Example -------------------------------------
.. toctree::

ads7138_example

.. ---------------------------- API Reference ----------------------------------
API Reference
-------------

.. include-build-file:: inc/ads7138.inc
2 changes: 2 additions & 0 deletions _sources/adc/ads7138_example.md.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
```{include} ../../../components/ads7138/example/README.md
```
23 changes: 23 additions & 0 deletions _sources/adc/continuous_adc.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
Continuous ADC
**************

The `ContinuousAdc` provides a mechanism for high-frequency, continuous,
deterministic sampling of analog voltages for multiple channels (potentially
across multiple ADC units, depending on the ESP32 chip used). It does this be
enabling the continuous ADC DMA mode and then running its own task which
retrieves the data and filters it. When the user calls `get_mv(adc_channel_t)`,
it simply returns the most recent filtered value for that channel, if it was
configured.

.. ------------------------------- Example -------------------------------------
.. toctree::

adc_example

.. ---------------------------- API Reference ----------------------------------
API Reference
-------------

.. include-build-file:: inc/continuous_adc.inc
14 changes: 14 additions & 0 deletions _sources/adc/index.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
ADC APIs
********

.. toctree::
:maxdepth: 1

ads1x15
ads7138
oneshot_adc
continuous_adc
tla2528
adc_types

Code examples for the ADC API are provided in the respective component folders.
22 changes: 22 additions & 0 deletions _sources/adc/oneshot_adc.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
Oneshot ADC
***********

The `OneshotAdc` allows the user a simple, low-resource way to sporadically (and
with moderate frequency needs) measure an analog voltage for multiple channels
on a single ADC UNIT. It does not start or manage any tasks and does not perform
any filtering on the data. Each time the user calls `read_raw(adc_channel_t)` or
`read_mv(adc_channel_t)`, it block and trigger an analog read for the associated
channel (if it was configured to do so).

.. ------------------------------- Example -------------------------------------
.. toctree::

adc_example

.. ---------------------------- API Reference ----------------------------------
API Reference
-------------

.. include-build-file:: inc/oneshot_adc.inc
23 changes: 23 additions & 0 deletions _sources/adc/tla2528.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
TLA2528 I2C ADC
***************

The `Tla2528` class implements support for the Texas Instruments TLA2528 12-bit
8-channel ADC. The TLA2528 is a 12-bit, 8-channel, low-power, successive
approximation register (SAR) analog-to-digital converter (ADC) which can
configure any of its 8 channels as single-ended analog inputs, digital inputs,
or digital outputs. It has an operating mode that allows the user to configure
the device for a single conversion, or to automatically convert on a
sequenced basis.

.. ------------------------------- Example -------------------------------------
.. toctree::

tla2528_example

.. ---------------------------- API Reference ----------------------------------
API Reference
-------------

.. include-build-file:: inc/tla2528.inc
2 changes: 2 additions & 0 deletions _sources/adc/tla2528_example.md.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
```{include} ../../../components/tla2528/example/README.md
```
16 changes: 16 additions & 0 deletions _sources/base_component.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
Base Compoenent
***************

The `espp::BaseComponent` provides a simple base class for all components in the
ESP-CPP package. It provides a simple interface for the component to be
initialized and to be updated.

It is not required to use the `BaseComponent` class, but it is recommended to
use as it provides a standardized API for logging and log management.

.. ---------------------------- API Reference ----------------------------------
API Reference
-------------

.. include-build-file:: inc/base_component.inc
20 changes: 20 additions & 0 deletions _sources/base_peripheral.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
Base Peripheral
***************

The `espp::BasePeripheral` class is a base class for all peripherals. It
provides a common interface for all peripherals and is used to access the
peripheral's registers. It is primarily designed to be used as a base class for
peripheral classes that communicate using I2C (address-based) or SPI (CS-based)
protocols.

The base class provides an interface for specifying different communications
functions that the peripheral may use, as well as providing some base
implementations for common functionality such as reading / writing u8 and u16
values from / to a register.

.. ---------------------------- API Reference ----------------------------------
API Reference
-------------

.. include-build-file:: inc/base_peripheral.inc
11 changes: 11 additions & 0 deletions _sources/battery/index.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Battery APIs
************

.. toctree::
:maxdepth: 1

max1704x

These components provide a common interface to battery devices. They provide
functions for monitoring the battery level and charging status, and for
configuring the battery charging parameters.
38 changes: 38 additions & 0 deletions _sources/battery/max1704x.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
MAX1704X
********

The MAX17048/MAX17049 ICs are tiny, micropower current fuel gauges for
lithium-ion (Li+) batteries in handheld and portable equipment. The MAX17048
operates with a single lithium cell and the MAX17049 with two lithium cells in
series.

The ICs use the sophisticated Li+ battery-modeling algorithm ModelGauge™ to
track the battery relative state-of-charge (SOC) continuously over widely varying
charge and discharge conditions. The ModelGauge algorithm eliminates
current-sense resistor and battery-learn cycles required in traditional fuel
gauges. Temperature compensation is implemented using the system
microcontroller.

The ICs automatically detect when the battery enters a low-current state and
enters low-power 3µA hibernate mode, while still providing accurate fuel
gauging. The ICs automatically exit hibernate mode when the system returns to
active state.

On battery insertion, the ICs debounce initial voltage measurements to improve
the initial SOC estimate, thus allowing them to be located on system side. SOC,
voltage, and rate information is accessed using the I2C interface. The ICs are
available in a tiny 0.9mm x 1.7mm, 8-bump wafer-level package (WLP), or a 2mm x
2mm, 8-pin TDFN package.

.. ------------------------------- Example -------------------------------------
.. toctree::

max1704x_example

.. ---------------------------- API Reference ----------------------------------
API Reference
-------------

.. include-build-file:: inc/max1704x.inc
2 changes: 2 additions & 0 deletions _sources/battery/max1704x_example.md.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
```{include} ../../../components/max1704x/example/README.md
```
2 changes: 2 additions & 0 deletions _sources/binary_log_example.md.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
```{include} ../../components/binary-log/example/README.md
```
13 changes: 13 additions & 0 deletions _sources/bldc/bldc_driver.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
BLDC Driver
***********

The `BldcDriver` component wraps around the `ESP MCPWM Peripheral
<https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/mcpwm.html>`_
to provide full 6 PWM control over a 3 phase brushless dc motor.

.. ---------------------------- API Reference ----------------------------------
API Reference
-------------

.. include-build-file:: inc/bldc_driver.inc
35 changes: 35 additions & 0 deletions _sources/bldc/bldc_motor.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
BLDC Motor
**********

The `BldcMotor` implements the Field-Oriented Control (FOC) algorithm with
support for multiple transforms to drive voltage (such as Sinusoidal and Space
Vector). It supports the following motion control configurations (which can be
changed dynamically):

* Closed-loop angle
* Closed-loop velocity
* Open-loop angle
* Open-loop velocity

Note: currently the code has some support for Torque control, but that requires
current sense - for which I don't yet have the hardware to support the
development of.

The `BldcMotor` should be configured with a `BldcDriver` and optional `Sensor`
(for angle & speed of the motor), and optional `CurrentSensor` (for measuring
the phase currents of the motor and providing torque control).

.. ------------------------------- Example -------------------------------------
.. toctree::

bldc_motor_example

.. ---------------------------- API Reference ----------------------------------
API Reference
-------------

.. include-build-file:: inc/bldc_motor.inc
.. include-build-file:: inc/bldc_types.inc
.. include-build-file:: inc/sensor_direction.inc
2 changes: 2 additions & 0 deletions _sources/bldc/bldc_motor_example.md.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
```{include} ../../../components/bldc_motor/example/README.md
```
15 changes: 15 additions & 0 deletions _sources/bldc/index.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
BLDC APIs
*********

.. toctree::
:maxdepth: 1

bldc_driver
bldc_motor

These components provide interfaces by which the user can control brushless DC
(BLDC) motors. The driver component(s) implement the low-level voltage / pwm
output to the motor directly, where the motor component(s) implement the
open-loop or closed-loop control algorithms - using the driver.

Code examples for the BLDC API are provided in the `bldc_motor` example folder.
12 changes: 12 additions & 0 deletions _sources/ble/battery_service.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Battery Service
***************

The `BatteryService` implements the standard BLE battery service, providing
battery state information from a BLE peripheral to a BLE central.

.. ---------------------------- API Reference ----------------------------------
API Reference
-------------

.. include-build-file:: inc/battery_service.inc
22 changes: 22 additions & 0 deletions _sources/ble/ble_gatt_server.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
BLE GATT Server
***************

The `BleGattServer` implements the standard BLE GATT server which has various
APIs for controlling the server and adding services. It automatically builds and
adds standard battery service and device information service.

.. ------------------------------- Example -------------------------------------
.. toctree::

ble_gatt_server_example

.. ---------------------------- API Reference ----------------------------------
API Reference
-------------

.. include-build-file:: inc/ble_appearances.inc
.. include-build-file:: inc/ble_gatt_server.inc
.. include-build-file:: inc/ble_gatt_server_callbacks.inc
.. include-build-file:: inc/ble_gatt_server_menu.inc
2 changes: 2 additions & 0 deletions _sources/ble/ble_gatt_server_example.md.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
```{include} ../../../components/ble_gatt_server/example/README.md
```
12 changes: 12 additions & 0 deletions _sources/ble/device_info_service.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Device Info Service
*******************

The `DeviceInfoService` implements the standard BLE device information service,
providing device information from a BLE peripheral to a BLE central.

.. ---------------------------- API Reference ----------------------------------
API Reference
-------------

.. include-build-file:: inc/device_info_service.inc
23 changes: 23 additions & 0 deletions _sources/ble/gfps_service.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
Google Fast Pair Service (GFPS) Service
***************************************

The `GfpsService` implements the Google Fast Pair Service, allowing first-party
fast-pair experience on Android devices using the google nearby framework. This
also supports app matching / launching, as well as Google's `Find My Device`
service. Finally, GFPS supports sharing device pairing info across that
account's google devices and personalizing the name of the device.

.. ------------------------------- Example -------------------------------------
.. toctree::

gfps_service_example

.. ---------------------------- API Reference ----------------------------------
API Reference
-------------

.. include-build-file:: inc/gfps_service.inc
.. include-build-file:: inc/gfps_characteristic_callbacks.inc
.. include-build-file:: inc/gfps.inc
2 changes: 2 additions & 0 deletions _sources/ble/gfps_service_example.md.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
```{include} ../../../components/gfps_service/example/README.md
```
Loading

0 comments on commit 5c220dd

Please sign in to comment.