Skip to content

Commit dcea22c

Browse files
committed
deploy: a3bea08
0 parents  commit dcea22c

File tree

429 files changed

+128984
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

429 files changed

+128984
-0
lines changed

.nojekyll

Whitespace-only changes.

_images/complex-hfsm.png

598 KB
Loading

_sources/adc/adc_example.md.txt

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
```{include} ../../../components/adc/example/README.md
2+
```

_sources/adc/adc_types.rst.txt

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
ADC Types
2+
*********
3+
4+
Simple container for data associated with an ADC channel configuration,
5+
including the unit, the channel, and the attenuation desired.
6+
7+
.. ---------------------------- API Reference ----------------------------------
8+
9+
API Reference
10+
-------------
11+
12+
.. include-build-file:: inc/adc_types.inc

_sources/adc/ads1x15.rst.txt

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
ADS1x15 I2C ADC
2+
***************
3+
4+
The `ADS1x15` provides a class for communicating with the ADS1x15 (ADS1015 and
5+
ADS1115) family of I2C ADC chips with configurable gain and sampling rate.
6+
7+
.. ------------------------------- Example -------------------------------------
8+
9+
.. toctree::
10+
11+
ads1x15_example
12+
13+
.. ---------------------------- API Reference ----------------------------------
14+
15+
API Reference
16+
-------------
17+
18+
.. include-build-file:: inc/ads1x15.inc

_sources/adc/ads1x15_example.md.txt

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
```{include} ../../../components/ads1x15/example/README.md
2+
```

_sources/adc/ads7138.rst.txt

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
ADS7138 I2C ADC
2+
***************
3+
4+
The `Ads7138` class implements support for the Texas Instruments ADS7138 12-bit
5+
8-channel ADC. The ADS7138 is a 12-bit, 8-channel, low-power, successive
6+
approximation register (SAR) analog-to-digital converter (ADC) which can
7+
configure any of its 8 channels as single-ended analog inputs, digital inputs,
8+
or digital outputs. It has an operating mode that allows the user to configure
9+
the device for a single conversion, or to automatically convert on a
10+
continuous basis.
11+
12+
.. ------------------------------- Example -------------------------------------
13+
14+
.. toctree::
15+
16+
ads7138_example
17+
18+
.. ---------------------------- API Reference ----------------------------------
19+
20+
API Reference
21+
-------------
22+
23+
.. include-build-file:: inc/ads7138.inc

_sources/adc/ads7138_example.md.txt

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
```{include} ../../../components/ads7138/example/README.md
2+
```

_sources/adc/continuous_adc.rst.txt

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
Continuous ADC
2+
**************
3+
4+
The `ContinuousAdc` provides a mechanism for high-frequency, continuous,
5+
deterministic sampling of analog voltages for multiple channels (potentially
6+
across multiple ADC units, depending on the ESP32 chip used). It does this be
7+
enabling the continuous ADC DMA mode and then running its own task which
8+
retrieves the data and filters it. When the user calls `get_mv(adc_channel_t)`,
9+
it simply returns the most recent filtered value for that channel, if it was
10+
configured.
11+
12+
.. ------------------------------- Example -------------------------------------
13+
14+
.. toctree::
15+
16+
adc_example
17+
18+
.. ---------------------------- API Reference ----------------------------------
19+
20+
API Reference
21+
-------------
22+
23+
.. include-build-file:: inc/continuous_adc.inc

_sources/adc/index.rst.txt

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
ADC APIs
2+
********
3+
4+
.. toctree::
5+
:maxdepth: 1
6+
7+
ads1x15
8+
ads7138
9+
oneshot_adc
10+
continuous_adc
11+
tla2528
12+
adc_types
13+
14+
Code examples for the ADC API are provided in the respective component folders.

_sources/adc/oneshot_adc.rst.txt

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
Oneshot ADC
2+
***********
3+
4+
The `OneshotAdc` allows the user a simple, low-resource way to sporadically (and
5+
with moderate frequency needs) measure an analog voltage for multiple channels
6+
on a single ADC UNIT. It does not start or manage any tasks and does not perform
7+
any filtering on the data. Each time the user calls `read_raw(adc_channel_t)` or
8+
`read_mv(adc_channel_t)`, it block and trigger an analog read for the associated
9+
channel (if it was configured to do so).
10+
11+
.. ------------------------------- Example -------------------------------------
12+
13+
.. toctree::
14+
15+
adc_example
16+
17+
.. ---------------------------- API Reference ----------------------------------
18+
19+
API Reference
20+
-------------
21+
22+
.. include-build-file:: inc/oneshot_adc.inc

_sources/adc/tla2528.rst.txt

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
TLA2528 I2C ADC
2+
***************
3+
4+
The `Tla2528` class implements support for the Texas Instruments TLA2528 12-bit
5+
8-channel ADC. The TLA2528 is a 12-bit, 8-channel, low-power, successive
6+
approximation register (SAR) analog-to-digital converter (ADC) which can
7+
configure any of its 8 channels as single-ended analog inputs, digital inputs,
8+
or digital outputs. It has an operating mode that allows the user to configure
9+
the device for a single conversion, or to automatically convert on a
10+
sequenced basis.
11+
12+
.. ------------------------------- Example -------------------------------------
13+
14+
.. toctree::
15+
16+
tla2528_example
17+
18+
.. ---------------------------- API Reference ----------------------------------
19+
20+
API Reference
21+
-------------
22+
23+
.. include-build-file:: inc/tla2528.inc

_sources/adc/tla2528_example.md.txt

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
```{include} ../../../components/tla2528/example/README.md
2+
```

_sources/base_component.rst.txt

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
Base Compoenent
2+
***************
3+
4+
The `espp::BaseComponent` provides a simple base class for all components in the
5+
ESP-CPP package. It provides a simple interface for the component to be
6+
initialized and to be updated.
7+
8+
It is not required to use the `BaseComponent` class, but it is recommended to
9+
use as it provides a standardized API for logging and log management.
10+
11+
.. ---------------------------- API Reference ----------------------------------
12+
13+
API Reference
14+
-------------
15+
16+
.. include-build-file:: inc/base_component.inc

_sources/base_peripheral.rst.txt

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
Base Peripheral
2+
***************
3+
4+
The `espp::BasePeripheral` class is a base class for all peripherals. It
5+
provides a common interface for all peripherals and is used to access the
6+
peripheral's registers. It is primarily designed to be used as a base class for
7+
peripheral classes that communicate using I2C (address-based) or SPI (CS-based)
8+
protocols.
9+
10+
The base class provides an interface for specifying different communications
11+
functions that the peripheral may use, as well as providing some base
12+
implementations for common functionality such as reading / writing u8 and u16
13+
values from / to a register.
14+
15+
.. ---------------------------- API Reference ----------------------------------
16+
17+
API Reference
18+
-------------
19+
20+
.. include-build-file:: inc/base_peripheral.inc

_sources/battery/index.rst.txt

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
Battery APIs
2+
************
3+
4+
.. toctree::
5+
:maxdepth: 1
6+
7+
max1704x
8+
9+
These components provide a common interface to battery devices. They provide
10+
functions for monitoring the battery level and charging status, and for
11+
configuring the battery charging parameters.

_sources/battery/max1704x.rst.txt

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
MAX1704X
2+
********
3+
4+
The MAX17048/MAX17049 ICs are tiny, micropower current fuel gauges for
5+
lithium-ion (Li+) batteries in handheld and portable equipment. The MAX17048
6+
operates with a single lithium cell and the MAX17049 with two lithium cells in
7+
series.
8+
9+
The ICs use the sophisticated Li+ battery-modeling algorithm ModelGauge™ to
10+
track the battery relative state-of-charge (SOC) continuously over widely varying
11+
charge and discharge conditions. The ModelGauge algorithm eliminates
12+
current-sense resistor and battery-learn cycles required in traditional fuel
13+
gauges. Temperature compensation is implemented using the system
14+
microcontroller.
15+
16+
The ICs automatically detect when the battery enters a low-current state and
17+
enters low-power 3µA hibernate mode, while still providing accurate fuel
18+
gauging. The ICs automatically exit hibernate mode when the system returns to
19+
active state.
20+
21+
On battery insertion, the ICs debounce initial voltage measurements to improve
22+
the initial SOC estimate, thus allowing them to be located on system side. SOC,
23+
voltage, and rate information is accessed using the I2C interface. The ICs are
24+
available in a tiny 0.9mm x 1.7mm, 8-bump wafer-level package (WLP), or a 2mm x
25+
2mm, 8-pin TDFN package.
26+
27+
.. ------------------------------- Example -------------------------------------
28+
29+
.. toctree::
30+
31+
max1704x_example
32+
33+
.. ---------------------------- API Reference ----------------------------------
34+
35+
API Reference
36+
-------------
37+
38+
.. include-build-file:: inc/max1704x.inc
+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
```{include} ../../../components/max1704x/example/README.md
2+
```

_sources/binary_log_example.md.txt

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
```{include} ../../components/binary-log/example/README.md
2+
```

_sources/bldc/bldc_driver.rst.txt

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
BLDC Driver
2+
***********
3+
4+
The `BldcDriver` component wraps around the `ESP MCPWM Peripheral
5+
<https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/mcpwm.html>`_
6+
to provide full 6 PWM control over a 3 phase brushless dc motor.
7+
8+
.. ---------------------------- API Reference ----------------------------------
9+
10+
API Reference
11+
-------------
12+
13+
.. include-build-file:: inc/bldc_driver.inc

_sources/bldc/bldc_motor.rst.txt

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
BLDC Motor
2+
**********
3+
4+
The `BldcMotor` implements the Field-Oriented Control (FOC) algorithm with
5+
support for multiple transforms to drive voltage (such as Sinusoidal and Space
6+
Vector). It supports the following motion control configurations (which can be
7+
changed dynamically):
8+
9+
* Closed-loop angle
10+
* Closed-loop velocity
11+
* Open-loop angle
12+
* Open-loop velocity
13+
14+
Note: currently the code has some support for Torque control, but that requires
15+
current sense - for which I don't yet have the hardware to support the
16+
development of.
17+
18+
The `BldcMotor` should be configured with a `BldcDriver` and optional `Sensor`
19+
(for angle & speed of the motor), and optional `CurrentSensor` (for measuring
20+
the phase currents of the motor and providing torque control).
21+
22+
.. ------------------------------- Example -------------------------------------
23+
24+
.. toctree::
25+
26+
bldc_motor_example
27+
28+
.. ---------------------------- API Reference ----------------------------------
29+
30+
API Reference
31+
-------------
32+
33+
.. include-build-file:: inc/bldc_motor.inc
34+
.. include-build-file:: inc/bldc_types.inc
35+
.. include-build-file:: inc/sensor_direction.inc
+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
```{include} ../../../components/bldc_motor/example/README.md
2+
```

_sources/bldc/index.rst.txt

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
BLDC APIs
2+
*********
3+
4+
.. toctree::
5+
:maxdepth: 1
6+
7+
bldc_driver
8+
bldc_motor
9+
10+
These components provide interfaces by which the user can control brushless DC
11+
(BLDC) motors. The driver component(s) implement the low-level voltage / pwm
12+
output to the motor directly, where the motor component(s) implement the
13+
open-loop or closed-loop control algorithms - using the driver.
14+
15+
Code examples for the BLDC API are provided in the `bldc_motor` example folder.

_sources/ble/battery_service.rst.txt

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Battery Service
2+
***************
3+
4+
The `BatteryService` implements the standard BLE battery service, providing
5+
battery state information from a BLE peripheral to a BLE central.
6+
7+
.. ---------------------------- API Reference ----------------------------------
8+
9+
API Reference
10+
-------------
11+
12+
.. include-build-file:: inc/battery_service.inc

_sources/ble/ble_gatt_server.rst.txt

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
BLE GATT Server
2+
***************
3+
4+
The `BleGattServer` implements the standard BLE GATT server which has various
5+
APIs for controlling the server and adding services. It automatically builds and
6+
adds standard battery service and device information service.
7+
8+
.. ------------------------------- Example -------------------------------------
9+
10+
.. toctree::
11+
12+
ble_gatt_server_example
13+
14+
.. ---------------------------- API Reference ----------------------------------
15+
16+
API Reference
17+
-------------
18+
19+
.. include-build-file:: inc/ble_appearances.inc
20+
.. include-build-file:: inc/ble_gatt_server.inc
21+
.. include-build-file:: inc/ble_gatt_server_callbacks.inc
22+
.. include-build-file:: inc/ble_gatt_server_menu.inc
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
```{include} ../../../components/ble_gatt_server/example/README.md
2+
```
+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Device Info Service
2+
*******************
3+
4+
The `DeviceInfoService` implements the standard BLE device information service,
5+
providing device information from a BLE peripheral to a BLE central.
6+
7+
.. ---------------------------- API Reference ----------------------------------
8+
9+
API Reference
10+
-------------
11+
12+
.. include-build-file:: inc/device_info_service.inc
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
Generic Access Service
2+
**********************
3+
4+
The `GenericAccessService` implements the required standard BLE Generic Access
5+
service, providing device information from a BLE peripheral to a BLE central.
6+
7+
It should be noted that as a developer, you are not required to use this
8+
service, as one is created for you automatically by the BLE stack.
9+
10+
I'm not really sure why I created this file, but I have so here we are.
11+
12+
.. ---------------------------- API Reference ----------------------------------
13+
14+
API Reference
15+
-------------
16+
17+
.. include-build-file:: inc/generic_access_service.inc

0 commit comments

Comments
 (0)