Generic improvements to the GPT driver organization.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2854 35acf78f-673a-0410-8e92-d51de3d6d3f4master
parent
a58a524d4c
commit
91e4dee81e
|
@ -63,6 +63,8 @@ static const ADCConversionGroup adcgrpcfg = {
|
||||||
* the active state is a logic one.
|
* the active state is a logic one.
|
||||||
*/
|
*/
|
||||||
static PWMConfig pwmcfg = {
|
static PWMConfig pwmcfg = {
|
||||||
|
10000, /* 10KHz PWM clock frequency. */
|
||||||
|
10000, /* PWM period 1S (in ticks). */
|
||||||
pwmpcb,
|
pwmpcb,
|
||||||
{
|
{
|
||||||
{PWM_OUTPUT_DISABLED, NULL},
|
{PWM_OUTPUT_DISABLED, NULL},
|
||||||
|
@ -71,8 +73,6 @@ static PWMConfig pwmcfg = {
|
||||||
{PWM_OUTPUT_ACTIVE_HIGH, NULL}
|
{PWM_OUTPUT_ACTIVE_HIGH, NULL}
|
||||||
},
|
},
|
||||||
/* HW dependent part.*/
|
/* HW dependent part.*/
|
||||||
PWM_COMPUTE_PSC(STM32_TIMCLK1, 10000), /* 10KHz PWM clock frequency. */
|
|
||||||
PWM_COMPUTE_ARR(10000, 1000000000), /* PWM period 1S (in nS). */
|
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -115,7 +115,7 @@ void adccb(ADCDriver *adcp, adcsample_t *buffer, size_t n) {
|
||||||
(void) buffer; (void) n;
|
(void) buffer; (void) n;
|
||||||
/* Note, only in the ADC_COMPLETE state because the ADC driver fires an
|
/* Note, only in the ADC_COMPLETE state because the ADC driver fires an
|
||||||
intermediate callback when the buffer is half full.*/
|
intermediate callback when the buffer is half full.*/
|
||||||
if (adcp->ad_state == ADC_COMPLETE) {
|
if (adcp->state == ADC_COMPLETE) {
|
||||||
adcsample_t avg_ch1, avg_ch2;
|
adcsample_t avg_ch1, avg_ch2;
|
||||||
|
|
||||||
/* Calculates the average values from the ADC samples.*/
|
/* Calculates the average values from the ADC samples.*/
|
||||||
|
|
|
@ -58,6 +58,18 @@ typedef enum {
|
||||||
GPT_ONESHOT = 4 /**< Active in one shot mode. */
|
GPT_ONESHOT = 4 /**< Active in one shot mode. */
|
||||||
} gptstate_t;
|
} gptstate_t;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Type of a structure representing a GPT driver.
|
||||||
|
*/
|
||||||
|
typedef struct GPTDriver GPTDriver;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief GPT notification callback type.
|
||||||
|
*
|
||||||
|
* @param[in] gptp pointer to a @p GPTDriver object
|
||||||
|
*/
|
||||||
|
typedef void (*gptcallback_t)(GPTDriver *gptp);
|
||||||
|
|
||||||
#include "gpt_lld.h"
|
#include "gpt_lld.h"
|
||||||
|
|
||||||
/*===========================================================================*/
|
/*===========================================================================*/
|
||||||
|
|
|
@ -126,18 +126,6 @@ typedef uint32_t gptfreq_t;
|
||||||
*/
|
*/
|
||||||
typedef uint32_t gptcnt_t;
|
typedef uint32_t gptcnt_t;
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Type of a structure representing a GPT driver.
|
|
||||||
*/
|
|
||||||
typedef struct GPTDriver GPTDriver;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief GPT notification callback type.
|
|
||||||
*
|
|
||||||
* @param[in] gptp pointer to a @p GPTDriver object
|
|
||||||
*/
|
|
||||||
typedef void (*gptcallback_t)(GPTDriver *gptp);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Driver configuration structure.
|
* @brief Driver configuration structure.
|
||||||
* @note It could be empty on some architectures.
|
* @note It could be empty on some architectures.
|
||||||
|
@ -170,10 +158,6 @@ struct GPTDriver {
|
||||||
*/
|
*/
|
||||||
const GPTConfig *config;
|
const GPTConfig *config;
|
||||||
/* End of the mandatory fields.*/
|
/* End of the mandatory fields.*/
|
||||||
/**
|
|
||||||
* @brief Timer base clock.
|
|
||||||
*/
|
|
||||||
uint32_t clock;
|
|
||||||
/**
|
/**
|
||||||
* @brief Pointer to the CTxxBy registers block.
|
* @brief Pointer to the CTxxBy registers block.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -126,18 +126,6 @@ typedef uint32_t gptfreq_t;
|
||||||
*/
|
*/
|
||||||
typedef uint32_t gptcnt_t;
|
typedef uint32_t gptcnt_t;
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Type of a structure representing a GPT driver.
|
|
||||||
*/
|
|
||||||
typedef struct GPTDriver GPTDriver;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief GPT notification callback type.
|
|
||||||
*
|
|
||||||
* @param[in] gptp pointer to a @p GPTDriver object
|
|
||||||
*/
|
|
||||||
typedef void (*gptcallback_t)(GPTDriver *gptp);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Driver configuration structure.
|
* @brief Driver configuration structure.
|
||||||
* @note It could be empty on some architectures.
|
* @note It could be empty on some architectures.
|
||||||
|
|
|
@ -163,18 +163,6 @@ typedef uint32_t gptfreq_t;
|
||||||
*/
|
*/
|
||||||
typedef uint16_t gptcnt_t;
|
typedef uint16_t gptcnt_t;
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Type of a structure representing a GPT driver.
|
|
||||||
*/
|
|
||||||
typedef struct GPTDriver GPTDriver;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief GPT notification callback type.
|
|
||||||
*
|
|
||||||
* @param[in] gptp pointer to a @p GPTDriver object
|
|
||||||
*/
|
|
||||||
typedef void (*gptcallback_t)(GPTDriver *gptp);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Driver configuration structure.
|
* @brief Driver configuration structure.
|
||||||
* @note It could be empty on some architectures.
|
* @note It could be empty on some architectures.
|
||||||
|
|
Loading…
Reference in New Issue