Rename pwm_devinit() to board_pwm_setup(). Add CONFIG_BOARDCTL_PWMTEST that will enable calling board_pwm_setup() from boardctl(). Replace calls to pwm_devinit() in apps/examples/pwm with calls to boardctl(). In all configurations that enable the apps/examples/pwm test, make sure that boardctl() suppoprt is properly enabled.

This commit is contained in:
Gregory Nutt 2015-03-31 16:59:22 -06:00
parent fa35aa59e2
commit f6e6dacb17
19 changed files with 108 additions and 47 deletions

View File

@ -576,6 +576,8 @@ CONFIG_EXAMPLES_PWM_DEVPATH="/dev/pwm0"
CONFIG_EXAMPLES_PWM_FREQUENCY=100
CONFIG_EXAMPLES_PWM_DUTYPCT=50
CONFIG_EXAMPLES_PWM_DURATION=5
CONFIG_LIB_BOARDCTL=y
CONFIG_BOARDCTL_PWMTEST=y
# CONFIG_EXAMPLES_POSIXSPAWN is not set
# CONFIG_EXAMPLES_QENCODER is not set
# CONFIG_EXAMPLES_RGMP is not set

View File

@ -1,7 +1,7 @@
/************************************************************************************
* configs/freedom-kl25z/src/kl_pwm.c
*
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
* Copyright (C) 2013, 2015 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
* Alan Carvalho de Assis <acassis@gmail.com>
*
@ -40,11 +40,13 @@
#include <nuttx/config.h>
#include <sys/types.h>
#include <errno.h>
#include <debug.h>
#include <nuttx/board.h>
#include <nuttx/pwm.h>
#include <sys/types.h>
#include <arch/board/board.h>
#include "chip.h"
@ -73,7 +75,7 @@ extern struct pwm_lowerhalf_s *kl_pwminitialize(int timer);
************************************************************************************/
/************************************************************************************
* Name: pwm_devinit
* Name: board_pwm_setup
*
* Description:
* All Kinetis KL architectures must provide the following interface to work with
@ -81,7 +83,7 @@ extern struct pwm_lowerhalf_s *kl_pwminitialize(int timer);
*
************************************************************************************/
int pwm_devinit(void)
int board_pwm_setup(void)
{
static bool initialized = false;
struct pwm_lowerhalf_s *pwm;

View File

@ -583,6 +583,8 @@ CONFIG_EXAMPLES_PWM_DEVPATH="/dev/pwm0"
CONFIG_EXAMPLES_PWM_FREQUENCY=100
CONFIG_EXAMPLES_PWM_DUTYPCT=50
CONFIG_EXAMPLES_PWM_DURATION=5
CONFIG_LIB_BOARDCTL=y
CONFIG_BOARDCTL_PWMTEST=y
# CONFIG_EXAMPLES_POSIXSPAWN is not set
# CONFIG_EXAMPLES_QENCODER is not set
# CONFIG_EXAMPLES_RGMP is not set

View File

@ -40,11 +40,13 @@
#include <nuttx/config.h>
#include <sys/types.h>
#include <errno.h>
#include <debug.h>
#include <nuttx/board.h>
#include <nuttx/pwm.h>
#include <sys/types.h>
#include <arch/board/board.h>
#include "chip.h"
@ -73,7 +75,7 @@ extern struct pwm_lowerhalf_s *kl_pwminitialize(int timer);
************************************************************************************/
/************************************************************************************
* Name: pwm_devinit
* Name: board_pwm_setup
*
* Description:
* All Kinetis KL architectures must provide the following interface to work with
@ -81,7 +83,7 @@ extern struct pwm_lowerhalf_s *kl_pwminitialize(int timer);
*
************************************************************************************/
int pwm_devinit(void)
int board_pwm_setup(void)
{
static bool initialized = false;
struct pwm_lowerhalf_s *pwm;

View File

@ -1,7 +1,7 @@
/************************************************************************************
* configs/lpcexpresso-lpc1768/lpc17_pwm.c
*
* Copyright (C) 2014 Gregory Nutt. All rights reserved.
* Copyright (C) 2014-2015 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@ -38,12 +38,14 @@
************************************************************************************/
#include <nuttx/config.h>
#include <sys/types.h>
#include <sys/types.h>
#include <errno.h>
#include <debug.h>
#include <nuttx/board.h>
#include <nuttx/pwm.h>
#include <arch/board/board.h>
#include "chip.h"
@ -71,7 +73,7 @@ FAR struct pwm_lowerhalf_s *lpc17_timerinitialize(int timer);
************************************************************************************/
/************************************************************************************
* Name: pwm_devinit
* Name: board_pwm_setup
*
* Description:
* All LPC17 architectures must provide the following interface to work with
@ -79,7 +81,7 @@ FAR struct pwm_lowerhalf_s *lpc17_timerinitialize(int timer);
*
************************************************************************************/
int pwm_devinit(void)
int board_pwm_setup(void)
{
static bool initialized = false;
struct pwm_lowerhalf_s *pwm;

View File

@ -3,7 +3,7 @@
*
* Based on onfigs/lpcexpresso-lpc1768/lpc17_pwm.c
*
* Copyright (C) 2014 Gregory Nutt. All rights reserved.
* Copyright (C) 2014-2015 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@ -40,12 +40,14 @@
************************************************************************************/
#include <nuttx/config.h>
#include <sys/types.h>
#include <sys/types.h>
#include <errno.h>
#include <debug.h>
#include <nuttx/board.h>
#include <nuttx/pwm.h>
#include <arch/board/board.h>
#include "chip.h"
@ -73,7 +75,7 @@ FAR struct pwm_lowerhalf_s *lpc17_timerinitialize(int timer);
************************************************************************************/
/************************************************************************************
* Name: pwm_devinit
* Name: board_pwm_setup
*
* Description:
* All LPC17 architectures must provide the following interface to work with
@ -81,7 +83,7 @@ FAR struct pwm_lowerhalf_s *lpc17_timerinitialize(int timer);
*
************************************************************************************/
int pwm_devinit(void)
int board_pwm_setup(void)
{
static bool initialized = false;
struct pwm_lowerhalf_s *pwm;

View File

@ -1,7 +1,7 @@
/************************************************************************************
* configs/mikroe_stm32f4/src/stm32_pwm.c
*
* Copyright (C) 2011, 2013 Gregory Nutt. All rights reserved.
* Copyright (C) 2011, 2013, 2015 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@ -42,7 +42,9 @@
#include <errno.h>
#include <debug.h>
#include <nuttx/board.h>
#include <nuttx/pwm.h>
#include <arch/board/board.h>
#include "chip.h"
@ -94,7 +96,7 @@
************************************************************************************/
/************************************************************************************
* Name: pwm_devinit
* Name: board_pwm_setup
*
* Description:
* All STM32 architectures must provide the following interface to work with
@ -102,7 +104,7 @@
*
************************************************************************************/
int pwm_devinit(void)
int board_pwm_setup(void)
{
static bool initialized = false;
struct pwm_lowerhalf_s *pwm;

View File

@ -1,7 +1,7 @@
/************************************************************************************
* configs/sama5d3-xplained/src/sam_pwm.c
*
* Copyright (C) 2014 Gregory Nutt. All rights reserved.
* Copyright (C) 2014-2015 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@ -43,7 +43,9 @@
#include <errno.h>
#include <debug.h>
#include <nuttx/board.h>
#include <nuttx/pwm.h>
#include <arch/board/board.h>
#include "sam_pwm.h"
@ -114,7 +116,7 @@
************************************************************************************/
/************************************************************************************
* Name: pwm_devinit
* Name: board_pwm_setup
*
* Description:
* All SAMA5 architectures must provide the following interface to work with
@ -122,7 +124,7 @@
*
************************************************************************************/
int pwm_devinit(void)
int board_pwm_setup(void)
{
static bool initialized = false;
struct pwm_lowerhalf_s *pwm;

View File

@ -1,7 +1,7 @@
/************************************************************************************
* configs/sama5d3x-ek/src/sam_pwm.c
*
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
* Copyright (C) 2013, 2015 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@ -43,7 +43,9 @@
#include <errno.h>
#include <debug.h>
#include <nuttx/board.h>
#include <nuttx/pwm.h>
#include <arch/board/board.h>
#include "sam_pwm.h"
@ -114,7 +116,7 @@
************************************************************************************/
/************************************************************************************
* Name: pwm_devinit
* Name: board_pwm_setup
*
* Description:
* All SAMA5 architectures must provide the following interface to work with
@ -122,7 +124,7 @@
*
************************************************************************************/
int pwm_devinit(void)
int board_pwm_setup(void)
{
static bool initialized = false;
struct pwm_lowerhalf_s *pwm;

View File

@ -1,7 +1,7 @@
/************************************************************************************
* configs/sama5d4-ek/src/sam_pwm.c
*
* Copyright (C) 2014 Gregory Nutt. All rights reserved.
* Copyright (C) 2014-2015 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@ -43,7 +43,9 @@
#include <errno.h>
#include <debug.h>
#include <nuttx/board.h>
#include <nuttx/pwm.h>
#include <arch/board/board.h>
#include "sam_pwm.h"
@ -114,7 +116,7 @@
************************************************************************************/
/************************************************************************************
* Name: pwm_devinit
* Name: board_pwm_setup
*
* Description:
* All SAMA5 architectures must provide the following interface to work with
@ -122,7 +124,7 @@
*
************************************************************************************/
int pwm_devinit(void)
int board_pwm_setup(void)
{
static bool initialized = false;
struct pwm_lowerhalf_s *pwm;

View File

@ -1,7 +1,7 @@
/************************************************************************************
* configs/stm3220g-eval/src/stm32_pwm.c
*
* Copyright (C) 2012 Gregory Nutt. All rights reserved.
* Copyright (C) 2012, 2015 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@ -42,7 +42,9 @@
#include <errno.h>
#include <debug.h>
#include <nuttx/board.h>
#include <nuttx/pwm.h>
#include <arch/board/board.h>
#include "chip.h"
@ -72,7 +74,7 @@
************************************************************************************/
/************************************************************************************
* Name: pwm_devinit
* Name: board_pwm_setup
*
* Description:
* All STM32 architectures must provide the following interface to work with
@ -80,7 +82,7 @@
*
************************************************************************************/
int pwm_devinit(void)
int board_pwm_setup(void)
{
static bool initialized = false;
struct pwm_lowerhalf_s *pwm;

View File

@ -1,7 +1,7 @@
/************************************************************************************
* configs/stm3240g-eval/src/stm32_pwm.c
*
* Copyright (C) 2011 Gregory Nutt. All rights reserved.
* Copyright (C) 2011, 2015 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@ -42,7 +42,9 @@
#include <errno.h>
#include <debug.h>
#include <nuttx/board.h>
#include <nuttx/pwm.h>
#include <arch/board/board.h>
#include "chip.h"
@ -72,7 +74,7 @@
************************************************************************************/
/************************************************************************************
* Name: pwm_devinit
* Name: board_pwm_setup
*
* Description:
* All STM32 architectures must provide the following interface to work with
@ -80,7 +82,7 @@
*
************************************************************************************/
int pwm_devinit(void)
int board_pwm_setup(void)
{
static bool initialized = false;
struct pwm_lowerhalf_s *pwm;

View File

@ -1,7 +1,7 @@
/************************************************************************************
* configs/stm32_tiny/src/stm32_pwm.c
*
* Copyright (C) 2012-2013 Gregory Nutt. All rights reserved.
* Copyright (C) 2012-2013, 2015 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@ -42,7 +42,9 @@
#include <errno.h>
#include <debug.h>
#include <nuttx/board.h>
#include <nuttx/pwm.h>
#include <arch/board/board.h>
#include "chip.h"
@ -70,7 +72,7 @@
************************************************************************************/
/************************************************************************************
* Name: pwm_devinit
* Name: board_pwm_setup
*
* Description:
* All STM32 architectures must provide the following interface to work with
@ -78,7 +80,7 @@
*
************************************************************************************/
int pwm_devinit(void)
int board_pwm_setup(void)
{
static bool initialized = false;
struct pwm_lowerhalf_s *pwm;

View File

@ -1,7 +1,7 @@
/************************************************************************************
* configs/stm32f3discovery/src/stm32_pwm.c
*
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
* Copyright (C) 2013, 2015 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@ -42,7 +42,9 @@
#include <errno.h>
#include <debug.h>
#include <nuttx/board.h>
#include <nuttx/pwm.h>
#include <arch/board/board.h>
#include "chip.h"
@ -94,7 +96,7 @@
************************************************************************************/
/************************************************************************************
* Name: pwm_devinit
* Name: board_pwm_setup
*
* Description:
* All STM32 architectures must provide the following interface to work with
@ -102,7 +104,7 @@
*
************************************************************************************/
int pwm_devinit(void)
int board_pwm_setup(void)
{
static bool initialized = false;
struct pwm_lowerhalf_s *pwm;

View File

@ -1,7 +1,7 @@
/****************************************************************************
* configs/stm32f4discovery/src/stm32_pm.c
*
* Copyright (C) 2012 Gregory Nutt. All rights reserved.
* Copyright (C) 2012, 2015 Gregory Nutt. All rights reserved.
* Authors: Gregory Nutt <gnutt@nuttx.org>
* Diego Sanchez <dsanchez@nx-engineering.com>
*
@ -40,6 +40,7 @@
#include <nuttx/config.h>
#include <nuttx/board.h>
#include <nuttx/power/pm.h>
#include "up_internal.h"

View File

@ -94,7 +94,7 @@
************************************************************************************/
/************************************************************************************
* Name: pwm_devinit
* Name: board_pwm_setup
*
* Description:
* All STM32 architectures must provide the following interface to work with
@ -102,7 +102,7 @@
*
************************************************************************************/
int pwm_devinit(void)
int board_pwm_setup(void)
{
static bool initialized = false;
struct pwm_lowerhalf_s *pwm;

View File

@ -2,7 +2,7 @@
* configs/stm32ldiscovery/src/up_pwm.c
* arch/arm/src/board/up_pwm.c
*
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
* Copyright (C) 2013, 2015 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@ -43,7 +43,9 @@
#include <errno.h>
#include <debug.h>
#include <nuttx/board.h>
#include <nuttx/pwm.h>
#include <arch/board/board.h>
#include "chip.h"
@ -95,7 +97,7 @@
************************************************************************************/
/************************************************************************************
* Name: pwm_devinit
* Name: board_pwm_setup
*
* Description:
* All STM32 architectures must provide the following interface to work with
@ -103,7 +105,7 @@
*
************************************************************************************/
int pwm_devinit(void)
int board_pwm_setup(void)
{
static bool initialized = false;
struct pwm_lowerhalf_s *pwm;

View File

@ -203,10 +203,33 @@ void board_tsc_teardown(void);
* All architectures must provide the following interface in order to
* work with examples/adc.
*
* This is an internal OS interface but may be invoked indirectly from
* application-level graphics logic. If CONFIG_LIB_BOARDCTL=y and
* CONFIG_BOARDCTL_ADCTEST=y, then this functions will be invoked via the
* (non-standard) boardctl() interface using the commands
* BOARDIOC_ADCTEST_SETUP command.
*
****************************************************************************/
int board_adc_setup(void);
/****************************************************************************
* Name: board_pwm_setup
*
* Description:
* All architectures must provide the following interface in order to
* work with examples/pwm.
*
* This is an internal OS interface but may be invoked indirectly from
* application-level graphics logic. If CONFIG_LIB_BOARDCTL=y and
* CONFIG_BOARDCTL_PWMTEST=y, then this functions will be invoked via the
* (non-standard) boardctl() interface using the commands
* BOARDIOC_PWMTEST_SETUP command.
*
****************************************************************************/
int board_pwm_setup(void);
/****************************************************************************
* Name: board_graphics_setup
*

View File

@ -76,6 +76,12 @@
* CONFIGURATION: CONFIG_LIB_BOARDCTL && CONFIG_BOARDCTL_ADCTEST
* DEPENDENCIES: Board logic must provide board_adc_setup()
*
* CMD: BOARDIOC_PWMTEST_SETUP
* DESCRIPTION: PWM controller test configuration
* ARG: None
* CONFIGURATION: CONFIG_LIB_BOARDCTL && CONFIG_BOARDCTL_PWMTEST
* DEPENDENCIES: Board logic must provide board_pwm_setup()
*
* CMD: BOARDIOC_GRAPHICS_SETUP
* DESCRIPTION: Configure graphics that require special initialization
* procedures
@ -88,7 +94,8 @@
#define BOARDIOC_TSCTEST_SETUP _BOARDIOC(0x0002)
#define BOARDIOC_TSCTEST_TEARDOWN _BOARDIOC(0x0003)
#define BOARDIOC_ADCTEST_SETUP _BOARDIOC(0x0004)
#define BOARDIOC_GRAPHICS_SETUP _BOARDIOC(0x0005)
#define BOARDIOC_PWMTEST_SETUP _BOARDIOC(0x0005)
#define BOARDIOC_GRAPHICS_SETUP _BOARDIOC(0x0006)
/* If CONFIG_BOARDCTL_IOCTL=y, then boad-specific commands will be support.
* In this case, all commands not recognized by boardctl() will be forwarded
@ -97,7 +104,7 @@
* User defined board commands may begin with this value:
*/
#define BOARDIOC_USER _BOARDIOC(0x0006)
#define BOARDIOC_USER _BOARDIOC(0x0007)
/****************************************************************************
* Public Type Definitions