1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-23 21:43:51 +01:00

Merge pull request #13927 from akshaim/Kconfig_motor_driver

drivers/motor_driver : Expose Configurations to Kconfig
This commit is contained in:
Leandro Lanzieri 2020-04-23 12:25:57 +02:00 committed by GitHub
commit 6ca6737f5f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 32 additions and 5 deletions

View File

@ -4,6 +4,10 @@
# General Public License v2.1. See the file LICENSE in the top level
# directory for more details.
menu "Actuator Device Drivers"
rsource "motor_driver/Kconfig"
endmenu # Actuator Device Drivers
menu "Network Device Drivers"
rsource "at86rf215/Kconfig"
rsource "cc110x/Kconfig"

View File

@ -17,9 +17,9 @@
* Mainly designed for H-bridge, it could also drive some brushless drivers.
*
* Some H-bridge driver circuits handle several motors.
* Maximum motor number by H-bridge is set to 2 with MOTOR_DRIVER_MAX macro.
* Maximum motor number by H-bridge is set to 2 with CONFIG_MOTOR_DRIVER_MAX macro.
* This macro can be overridden to support H-bridge drivers with more outputs.
* However, MOTOR_DRIVER_MAX should not exceed PWM channels number.
* However, CONFIG_MOTOR_DRIVER_MAX should not exceed PWM channels number.
*
* motor_driver_t structure represents an H-bridge.
* As several H-bridge can share a same PWM device, motor_driver_t can
@ -99,8 +99,8 @@ extern "C" {
/**
* @brief Maximum number of motors by motor driver
*/
#ifndef MOTOR_DRIVER_MAX
#define MOTOR_DRIVER_MAX (2)
#ifndef CONFIG_MOTOR_DRIVER_MAX
#define CONFIG_MOTOR_DRIVER_MAX (2)
#endif
/** @} */
@ -173,7 +173,7 @@ typedef struct {
uint32_t pwm_frequency; /**< PWM device frequency */
uint32_t pwm_resolution; /**< PWM device resolution */
uint8_t nb_motors; /**< number of moros */
motor_t motors[MOTOR_DRIVER_MAX]; /**< motors array */
motor_t motors[CONFIG_MOTOR_DRIVER_MAX]; /**< motors array */
motor_driver_cb_t cb; /**< callback on motor_set */
} motor_driver_config_t;

View File

@ -0,0 +1,23 @@
# Copyright (c) 2020 Freie Universitaet Berlin
#
# This file is subject to the terms and conditions of the GNU Lesser
# General Public License v2.1. See the file LICENSE in the top level
# directory for more details.
#
menuconfig KCONFIG_MODULE_MOTOR_DRIVER
bool "Configure the DC Motor driver"
depends on MODULE_MOTOR_DRIVER
help
Configure the DC Motor driver using Kconfig.
if KCONFIG_MODULE_MOTOR_DRIVER
config MOTOR_DRIVER_MAX
int "Maximum number of motors"
default 2
help
Maximum number of motors depends on the H-bridge.
The value should not exceed the number of PWM channels
Default value is set to 2.
endif # KCONFIG_MODULE_MOTOR_DRIVER