RTEMS  5.0.0
Macros | Enumerations | Functions
bbb-pwm.h File Reference

BeagleBone Black PWM support definitions. More...

Go to the source code of this file.

Macros

#define BBB_CONTROL_CONF_GPMC_AD(n)   (0x800 + (n * 4))
 BeagleBone Black PWM Macros. More...
 
#define BBB_CONTROL_CONF_LCD_DATA(n)   (0x8a0 + (n * 4))
 
#define BBB_P8_13_MUX_PWM   4
 
#define BBB_P8_19_MUX_PWM   4
 
#define BBB_P8_45_MUX_PWM   3
 
#define BBB_P8_46_MUX_PWM   3
 
#define BBB_P8_34_MUX_PWM   2
 
#define BBB_P8_36_MUX_PWM   2
 
#define BBB_P9_14_MUX_PWM   6
 
#define BBB_P9_16_MUX_PWM   6
 
#define BBB_P9_21_MUX_PWM   3
 
#define BBB_P9_22_MUX_PWM   3
 
#define BBB_P9_29_MUX_PWM   1
 
#define BBB_P9_31_MUX_PWM   1
 
#define BBB_PWM_FREQ_THRESHOLD   0.5f
 

Enumerations

enum  BBB_PWMSS { BBB_PWMSS0 = 0, BBB_PWMSS1, BBB_PWMSS2, BBB_PWMSS_COUNT }
 The set of possible PWM subsystem module. More...
 
enum  bbb_pwm_pin_t {
  BBB_P8_13_2B = 3, BBB_P8_19_2A, BBB_P8_45_2A, BBB_P8_46_2B,
  BBB_P8_34_1B, BBB_P8_36_1A, BBB_P9_14_1A, BBB_P9_16_1B,
  BBB_P9_21_0B, BBB_P9_22_0A, BBB_P9_29_0B, BBB_P9_31_0A
}
 

Functions

bool beagle_pwm_init (BBB_PWMSS pwmss_id)
 BeagleBone Black PWM API. More...
 
int beagle_pwm_configure (BBB_PWMSS pwm_id, float pwm_freq, float duty_a, float duty_b)
 
bool beagle_pwm_enable (BBB_PWMSS pwmid)
 This API enables the particular PWM module. More...
 
bool beagle_pwm_disable (BBB_PWMSS pwmid)
 This API disables the particular PWM module. More...
 
bool beagle_pwm_pinmux_setup (bbb_pwm_pin_t pin_no, BBB_PWMSS pwm_id)
 This function enables pinmuxing for PWM module. More...
 
bool beagle_pwmss_is_running (unsigned int pwmss_id)
 This function determines whether PWMSS-wide clocks enabled or not. More...
 

Detailed Description

BeagleBone Black PWM support definitions.

Macro Definition Documentation

◆ BBB_CONTROL_CONF_GPMC_AD

#define BBB_CONTROL_CONF_GPMC_AD (   n)    (0x800 + (n * 4))

BeagleBone Black PWM Macros.

Copyright (c) 2016 Punit Vara punit.nosp@m.vara.nosp@m.@gmai.nosp@m.l.co.nosp@m.m

The license and distribution terms for this file may be found in the file LICENSE in this distribution or at http://www.rtems.org/license/LICENSE. Some constants are taken from https://github.com/VegetableAvenger/BBBIOlib/blob/master/BBBio_lib/BBBiolib_PWMSS.h

Enumeration Type Documentation

◆ BBB_PWMSS

enum BBB_PWMSS

The set of possible PWM subsystem module.

Enumerated type to define various instance of pwm module.

Function Documentation

◆ beagle_pwm_disable()

bool beagle_pwm_disable ( BBB_PWMSS  pwmid)

This API disables the particular PWM module.

Parameters
pwmidIt is the instance number of EPWM of pwm sub system.
Returns
true if successful
false if fail

◆ beagle_pwm_enable()

bool beagle_pwm_enable ( BBB_PWMSS  pwmid)

This API enables the particular PWM module.

Parameters
pwmidIt is the instance number of EPWM of pwm sub system.
Returns
true if successful
false if fail

◆ beagle_pwm_init()

bool beagle_pwm_init ( BBB_PWMSS  pwmss_id)

BeagleBone Black PWM API.

This function intilizes clock for pwm sub system.

Parameters
PWMSS_IDIt is the instance number of EPWM of pwm sub system.
Returns
true if successful
false if not successful

◆ beagle_pwm_pinmux_setup()

bool beagle_pwm_pinmux_setup ( bbb_pwm_pin_t  pin_no,
BBB_PWMSS  pwm_id 
)

This function enables pinmuxing for PWM module.

Parameters
pin_noIt is individual pin at which freuqency need to be generated. It should be according to pwm sub system.
pwm_idIt is the instance number of EPWM of pwmsubsystem.
Returns
true if successful
false if fail

◆ beagle_pwmss_is_running()

bool beagle_pwmss_is_running ( unsigned int  pwmss_id)

This function determines whether PWMSS-wide clocks enabled or not.

Parameters
pwmss_idIt is the instance number of PWMSS which clocks need to be checked.
Returns
true if successful
false if fail