-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 5c220dd
Showing
403 changed files
with
118,499 additions
and
0 deletions.
There are no files selected for viewing
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
```{include} ../../../components/adc/example/README.md | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
```{include} ../../../components/ads1x15/example/README.md | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
```{include} ../../../components/ads7138/example/README.md | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
```{include} ../../../components/tla2528/example/README.md | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
```{include} ../../../components/max1704x/example/README.md | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
```{include} ../../components/binary-log/example/README.md | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
```{include} ../../../components/bldc_motor/example/README.md | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
```{include} ../../../components/ble_gatt_server/example/README.md | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
```{include} ../../../components/gfps_service/example/README.md | ||
``` |
Oops, something went wrong.