91dfd20eaf
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
90 lines
2.9 KiB
C
90 lines
2.9 KiB
C
/****************************************************************************
|
|
* boards/xtensa/esp32/common/include/esp32_board_mcpwm.h
|
|
*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed with
|
|
* this work for additional information regarding copyright ownership. The
|
|
* ASF licenses this file to you under the Apache License, Version 2.0 (the
|
|
* "License"); you may not use this file except in compliance with the
|
|
* License. You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
* License for the specific language governing permissions and limitations
|
|
* under the License.
|
|
*
|
|
****************************************************************************/
|
|
|
|
#ifndef __BOARDS_XTENSA_ESP32_COMMON_INCLUDE_ESP32_BOARD_MCPWM_H
|
|
#define __BOARDS_XTENSA_ESP32_COMMON_INCLUDE_ESP32_BOARD_MCPWM_H
|
|
|
|
/****************************************************************************
|
|
* Included Files
|
|
****************************************************************************/
|
|
|
|
#include <nuttx/config.h>
|
|
|
|
/****************************************************************************
|
|
* Public Data
|
|
****************************************************************************/
|
|
|
|
#ifdef __cplusplus
|
|
#define EXTERN extern "C"
|
|
extern "C"
|
|
{
|
|
#else
|
|
#define EXTERN extern
|
|
#endif
|
|
|
|
/****************************************************************************
|
|
* Public Function Prototypes
|
|
****************************************************************************/
|
|
|
|
/****************************************************************************
|
|
* Name: esp32_motor_initialize
|
|
*
|
|
* Description:
|
|
* Initialize MCPWM peripheral for motor control and register the motor
|
|
* driver.
|
|
*
|
|
* Input Parameters:
|
|
* None.
|
|
*
|
|
* Returned Value:
|
|
* Zero (OK) on success; a negated errno value on failure.
|
|
*
|
|
****************************************************************************/
|
|
|
|
#ifdef CONFIG_ESP_MCPWM_MOTOR_BDC
|
|
int board_motor_initialize(void);
|
|
#endif
|
|
|
|
#ifdef CONFIG_ESP_MCPWM_CAPTURE
|
|
|
|
/****************************************************************************
|
|
* Name: esp32_capture_initialize
|
|
*
|
|
* Description:
|
|
* Initialize and register the capture driver using the MCPWM peripheral.
|
|
*
|
|
* Input Parameters:
|
|
* None.
|
|
*
|
|
* Returned Value:
|
|
* Zero (OK) on success; a negated errno value on failure.
|
|
*
|
|
****************************************************************************/
|
|
|
|
int board_capture_initialize(void);
|
|
|
|
#endif /* CONFIG_ESP_MCPWM_CAPTURE */
|
|
#undef EXTERN
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __BOARDS_XTENSA_ESP32_COMMON_INCLUDE_ESP32_BOARD_MCPWM_H */
|