Commit Graph

38 Commits

Author SHA1 Message Date
Filipe Cavalcanti
91dfd20eaf arch/xtensa: add support for brushed DC motor control
arch/xtensa: add support for capture driver on ESP32 and ESP32|S3|

Squashed:
Initial settings for MCPWM Capture on board level
Created lower half files - compilation ok
Using capture debug features. Simple example on fops works
Successful duty and freq calculation
Documentation update
Fixed and added interupt capabilities for all 3 capture channels
Cleaned defconfig
Renamed macros, added S3 options and moved arch source to common dir
Added support for ESP32S3
Added capture example to defconfig and renamed

Basic bring up ready. New Kconfig options for motor.

Good motor registration

Working on enabling pwm generators

Working on enabling pwm generators

Added fops functions

Success on PWM 50%

stable pwm operation for bdc

Added loopback option for testing

Improved rules on fsm

Working motor direction control

Testing new ISR for fault handling

Issues on fault ISR

Removed fault implementation (not working)

Added support for esp32s3

Documentation improvements

Added default motor spin direction

Added parameter change while running

Review fixes

arch/xtensa: add support for fault signal on motor control

Squashed:
Initial settings for MCPWM Capture on board level
Created lower half files - compilation ok
Using capture debug features. Simple example on fops works
Successful duty and freq calculation
Documentation update
Fixed and added interupt capabilities for all 3 capture channels
Cleaned defconfig
Renamed macros, added S3 options and moved arch source to common dir
Added support for ESP32S3
Added capture example to defconfig and renamed

Basic bring up ready. New Kconfig options for motor.

Good motor registration

Working on enabling pwm generators

Working on enabling pwm generators

Added fops functions

Success on PWM 50%

stable pwm operation for bdc

Added loopback option for testing

Improved rules on fsm

Working motor direction control

Testing new ISR for fault handling

Issues on fault ISR

Removed fault implementation (not working)

Added support for esp32s3

Documentation improvements

Added default motor spin direction

Added parameter change while running

Got responsive fault indicator

Working brakes - still need to work on starting isr

Fixed single-time ISR initializiation

Working soft brake on fault

Improved KConfig for BDC and BLDC

Kconfig fixed at board level
2024-07-27 12:08:51 +08:00
Filipe Cavalcanti
365e9e967c arch/xtensa: add support for capture driver on ESP32 and ESP32|S3|
Squashed:
Initial settings for MCPWM Capture on board level
Created lower half files - compilation ok
Using capture debug features. Simple example on fops works
Successful duty and freq calculation
Documentation update
Fixed and added interupt capabilities for all 3 capture channels
Cleaned defconfig
Renamed macros, added S3 options and moved arch source to common dir
Added support for ESP32S3
Added capture example to defconfig and renamed
2024-06-27 18:14:59 +08:00
halyssonJr
e67df47b64 add support for zero-cross driver 2024-05-12 20:40:07 -03:00
Tiago Medicci Serrano
9520edeb16 espressif/rmt: Fix minor issues regarding formatting and comments
This commit only fix minor issues regarding formatting and comments
2024-04-02 14:50:59 -03:00
Tiago Medicci Serrano
5ba40d083a esp32/rmt: Use the Espressif`s common RMT driver.
This commit implements the common RMT driver (already available for
the other Espressif's xtensa-based devices) for ESP32.
This allows us to have a proper separation between the lower and
upper-half drivers and use the 'ws2812' example to drive WS2812 RGB
LEDs.
2024-04-02 14:50:59 -03:00
Tomáš Pilný
3e85c1886e esp32/dac-one-shot: lower-half driver for ESP32 internal DAC
Enable with ./tools/configure.sh -l esp32-devkitc:dac
DAC channel 0 = GPIO 25
DAC channel 1 = GPIO 26
default path: /dev/dac0

Resolution 8 bits = values 0~255
Voltage: 0~Vref

The reference voltage 'Vref' here is input from the pin VDD3P3_RTC
which ideally equals to the power supply VDD (3.3V).
2024-02-02 09:23:28 -08:00
Tiago Medicci Serrano
fcff5d43b7 drivers/rmt: Implement an upper-half RMT character driver
The RMT (Remote Control) character driver allows to use the RMT
peripheral (usually, a one-wire peripheral dedicated to driving
IR remote control) as a character driver.

Please note that this perpiheral depends on the lower-half specific
driver implementation.
2023-12-24 16:38:06 -08:00
halyssonJr
e1274d1c42 fix backlight GPIO, add backlight control, and add LVGL defconfig 2023-11-11 20:04:51 -08:00
Tiago Medicci Serrano
57b8fc9954 esp32/irq: Allow IRAM ISRs to run during SPI flash operation
This commit provides an interface to register ISRs that run from
IRAM and keeps track of the non-IRAM interrupts. It enables, for
instance, to avoid disabling all the interrupts during a SPI flash
operation: IRAM-enabled ISRs are, then, able to run during these
operations.

It also makes the code look more similar to the ESP32-S3 SPI flash
implementation by creating a common `esp32_spiflash_init` that is
responsible to create the SPI flash operation tasks. The function
intended to initialize the SPI flash partions was, then, renamed to
`board_spiflash_init`.
2023-11-10 09:11:35 +08:00
Alan Carvalho de Assis
41a6adf93f esp32: Add support to gesture and APA102 as LCD 2023-10-24 13:54:32 +08:00
simonatoaca
9794dc118f drivers: Added support for BME680
drivers/sensors/bme680.c: The bme680 driver
sensor.h: Added new type of sensor (Gas) to be used for retrieving the bme680 data
esp32/common/src/esp32_bme680.c: bme680 support on esp32
esp32/esp32-sparrow_kit/esp32_bringup.c: added support for the bme680
esp32/esp32-sparrow-kit/configs/nsh/defconfig: fixed defconfig ci problem

Signed-off-by: simonatoaca <simona.alexandra2000@gmail.com>

esp32-sparrow-kit: Fixed defconfig

Signed-off-by: simonatoaca <simona.alexandra2000@gmail.com>

Code is now C89 compatible

Signed-off-by: simonatoaca <simona.alexandra2000@gmail.com>

Reused already defined sensor data structs by registering every sub-sensor separately

Signed-off-by: simonatoaca <simona.alexandra2000@gmail.com>

Implemented suggestions

Signed-off-by: simonatoaca <simona.alexandra2000@gmail.com>
2023-07-29 17:47:23 -03:00
Victor Benso
0c5145b7d1 New implementation of the ESP32's RMT driver. 2023-07-23 16:17:57 -03:00
simonatoaca
a4708d217a esp32/common: Added support for rgb led driver on esp32
Signed-off-by: simonatoaca <simona.alexandra2000@gmail.com>

esp32-sparrow-kit: Added rgb led driver to bringup and to defconfig

Signed-off-by: simonatoaca <simona.alexandra2000@gmail.com>

Fixed checkstyle

Signed-off-by: simonatoaca <simona.alexandra2000@gmail.com>

Update esp32_rgbled.h

Update boards/xtensa/esp32/common/src/esp32_rgbled.c

Co-authored-by: Petro Karashchenko <petro.karashchenko@gmail.com>

Update boards/xtensa/esp32/common/src/esp32_rgbled.c

Co-authored-by: Petro Karashchenko <petro.karashchenko@gmail.com>

Update boards/xtensa/esp32/common/src/esp32_rgbled.c

Co-authored-by: Petro Karashchenko <petro.karashchenko@gmail.com>

Update boards/xtensa/esp32/common/src/esp32_rgbled.c

Co-authored-by: Petro Karashchenko <petro.karashchenko@gmail.com>

Removed ret 0 as an error in the case of nx_write()
2023-07-05 16:08:56 -03:00
Robert-Ionut Alexa
e0374c30e4 esp32-sparrow-kit: add support for the LTR308 light sensor
Add support to esp32-sparrow-kit for the LTR308 sensor. This patch also
enables the sensor in the default nsh config file.

Signed-off-by: Robert-Ionut Alexa <robertalexa2000@gmail.com>
2022-11-23 19:52:34 +08:00
Lucas Saavedra Vaz
bcafc77cf8 boards/esp32-lyrat: Add support for the ES8388 codec 2022-11-08 10:03:18 -03:00
Alan Carvalho de Assis
99cfffc96a esp32: Add MAX6675 temperature sensor support 2022-10-30 12:05:19 +08:00
Lucas Saavedra Vaz
b0f96fc204 esp32/i2c: Add macros to conform with other peripherals and fix typos
Fix coding style

Co-authored-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-10-19 20:31:29 -03:00
Alan Carvalho de Assis
0dfd1f004d esp32-devkitc: Add board support to Rotary Encoder
Reviewed-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-10-17 00:30:53 +02:00
Abdelatif Guettouche
4ccedb176e arch/esp32: Re-organise shared functions and options for ESP32 Wireless code
- Introduce the ESP32_WIFI option to replace the broader
ESP32_WIRELESS option.  ESP32_WIRELESS is used by both WIFI and BLE.

 - Move common functions from esp32_wifi_adapter to esp32_wireless.

 - Change the order of including the external libraries to avoid undefined references.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2022-07-20 22:02:28 +03:00
Andrey
c6c0baa233 Added configuration files for usinf BMP280 with ESP32-DevkitC 2022-06-26 11:36:08 +03:00
Adam Kaliszan
615a296b30 Eps32 Lilygo t5v2 BSP
E-ink display is working
2022-06-18 08:03:45 +03:00
Alan C. Assis
09c4c2f35f boards/esp32: Add support to use TCA9548A multiplexer 2022-01-31 13:40:17 +01:00
Alan C. Assis
eb39b3a189 esp32-devkitc: Add support to MS5611 2022-01-24 10:23:45 +08:00
Petro Karashchenko
8d3bf05fd2 include: fix double include pre-processor guards
Signed-off-by: Petro Karashchenko <petro.karashchenko@gmail.com>
2022-01-16 11:11:14 -03:00
Alan C. Assis
36389dab76 Add board support to SHT3X sensor 2021-12-24 08:11:51 -06:00
Gustavo Henrique Nihei
7368f7a2c8 xtensa/esp32: Make SPI Flash initialization common to all ESP32 boards
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-10-20 09:54:25 -05:00
Alan C. Assis
60d4ee11ee esp32-wrover: Add support to LCD1602 with I2C Backpack 2021-09-15 12:02:26 +08:00
Alan C. Assis
5500dcdf64 Fix typo on HT16K33 name 2021-07-25 09:00:39 -07:00
Alan C. Assis
be1c8036d5 esp32-devkitc: Add board support to ht16k33 14-seg display 2021-06-05 20:32:04 -05:00
Abdelatif Guettouche
b925c73110 boards/xtensa/esp32: Move the WLAN initialization to the common
directory.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2021-04-01 12:15:34 -05:00
Sara Souza
59313c86d1 xtensa/esp32: Adds oneshot timer driver. 2021-03-24 16:01:26 -03:00
Gustavo Henrique Nihei
330eff36d7 sourcefiles: Fix relative path in file header 2021-03-09 23:18:28 +08:00
Alan C. Assis
29af35faef esp32: Add board config to support MCP2515 2021-03-04 14:57:56 +00:00
Pedro Bertoleti
a4f422a801 This commit enables BMP180 suport for ESP32.
As ESP32 has 2 I2C interfaces and BMP180 is a I2C sensor, the criterias to use BMP180 in I2C0 or I2C1 are:

1- First, bring-up routines search for BMP180 in I2C0.
   If BMP180 is found in I2C0, then /dev/press0 is created.
2- If BMP180 cannot be registered in I2C0, bring-up routines search for it in I2C1.
   If BMP180 is found in I2C1, then /dev/press0 is created.

It means only one BMP180 could be suported in Nuttx. In my tests I've observed
that BMP180 example application doesn't seem to work with /dev/press1 BMP180 device,
therefore even BMP180 is found in I2C1, it'll be registered as /dev/press0 device.
2021-02-22 21:45:16 -03:00
Pedro Bertoleti
79e8a52d86 This commit implements I2C support for ESP32 (wrover kit).
It was missing and it wasn't possible to enable I2C (0 and/or 1)
before this fix.
To sum up, this fix implements a I2C register function in ESP32
bring-up routines (esp32_bringup.c) and call if for I2C0 and/or
I2C1 during ESP32 bringup (these function callings are conditioned
by CONFIG_ESP32_I2C (to check if I2C support has been configured),
CONFIG_ESP32_I2C0 (to check if I2C0 support has been configured)
and CONFIG_ESP32_I2C1 (to check if I2C1 support has been configured).

Once this fix is implemented, /dev/i2c0 and/or /dev/i2c1 interfaces
become available and work fine.
2021-02-21 23:33:21 +00:00
Abdelatif Guettouche
452b52a61e boards/xtensa/esp32/common: Fix functions' descriptions.
Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2020-12-10 12:31:17 -06:00
Abdelatif Guettouche
cea53ed2ff boards/xtensa/esp32: Rename the common files as esp32_board_* to avoid
any naming collisions.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2020-12-10 12:31:17 -06:00
Abdelatif Guettouche
3ba5018b37 boards/xtensa/esp32: A bit of re-organisation in the ESP32 boards.
Move the common files into the common directory.

Signed-off-by: Abdelatif Guettouche <abdelatif.guettouche@espressif.com>
2020-12-10 12:31:17 -06:00