Fix nxstyle warnings

This commit is contained in:
raiden00pl 2020-10-10 17:00:18 +02:00 committed by patacongo
parent 17255414b5
commit 650997e1f6
48 changed files with 1175 additions and 1062 deletions

View File

@ -1,4 +1,4 @@
/**************************************************************************************************** /************************************************************************************
* arch/arm/src/stm32/hardware/stm32f33xxx_comp.h * arch/arm/src/stm32/hardware/stm32f33xxx_comp.h
* *
* Licensed to the Apache Software Foundation (ASF) under one or more * Licensed to the Apache Software Foundation (ASF) under one or more
@ -16,30 +16,30 @@
* License for the specific language governing permissions and limitations * License for the specific language governing permissions and limitations
* under the License. * under the License.
* *
****************************************************************************************************/ ************************************************************************************/
#ifndef __ARCH_ARM_SRC_STM32_HARDWARE_STM32_COMP_H #ifndef __ARCH_ARM_SRC_STM32_HARDWARE_STM32_COMP_H
#define __ARCH_ARM_SRC_STM32_HARDWARE_STM32_COMP_H #define __ARCH_ARM_SRC_STM32_HARDWARE_STM32_COMP_H
/**************************************************************************************************** /************************************************************************************
* Included Files * Included Files
****************************************************************************************************/ ************************************************************************************/
#include <nuttx/config.h> #include <nuttx/config.h>
#include "chip.h" #include "chip.h"
/**************************************************************************************************** /************************************************************************************
* Pre-processor Definitions * Pre-processor Definitions
****************************************************************************************************/ ************************************************************************************/
/* Register Offsets *********************************************************************************/ /* Register Offsets *****************************************************************/
#define STM32_COMP2_CSR_OFFSET 0x0020 /* COMP2 Control register */ #define STM32_COMP2_CSR_OFFSET 0x0020 /* COMP2 Control register */
#define STM32_COMP4_CSR_OFFSET 0x0028 /* COMP4 Control register */ #define STM32_COMP4_CSR_OFFSET 0x0028 /* COMP4 Control register */
#define STM32_COMP6_CSR_OFFSET 0x0030 /* COMP6 Control register */ #define STM32_COMP6_CSR_OFFSET 0x0030 /* COMP6 Control register */
/* Register Addresses *******************************************************************************/ /* Register Addresses ***************************************************************/
#define STM32_COMP2_CSR (STM32_COMP_BASE+STM32_COMP2_CSR_OFFSET) #define STM32_COMP2_CSR (STM32_COMP_BASE+STM32_COMP2_CSR_OFFSET)
#define STM32_COMP4_CSR (STM32_COMP_BASE+STM32_COMP4_CSR_OFFSET) #define STM32_COMP4_CSR (STM32_COMP_BASE+STM32_COMP4_CSR_OFFSET)
@ -105,6 +105,4 @@
#define COMP_CSR_OUT (1 << 30) /* Bit 30: comparator output */ #define COMP_CSR_OUT (1 << 30) /* Bit 30: comparator output */
#define COMP_CSR_LOCK (1 << 31) /* Bit 31: comparator lock */ #define COMP_CSR_LOCK (1 << 31) /* Bit 31: comparator lock */
#endif /* __ARCH_ARM_SRC_STM32_HARDWARE_STM32_COMP_H */ #endif /* __ARCH_ARM_SRC_STM32_HARDWARE_STM32_COMP_H */

View File

@ -1,4 +1,4 @@
/**************************************************************************************************** /************************************************************************************
* arch/arm/src/stm32/hardware/stm32f33xxx_hrtim.h * arch/arm/src/stm32/hardware/stm32f33xxx_hrtim.h
* *
* Licensed to the Apache Software Foundation (ASF) under one or more * Licensed to the Apache Software Foundation (ASF) under one or more
@ -16,22 +16,22 @@
* License for the specific language governing permissions and limitations * License for the specific language governing permissions and limitations
* under the License. * under the License.
* *
****************************************************************************************************/ ************************************************************************************/
#ifndef __ARCH_ARM_SRC_STM32_HARDWARE_STM32_HRTIM_H #ifndef __ARCH_ARM_SRC_STM32_HARDWARE_STM32_HRTIM_H
#define __ARCH_ARM_SRC_STM32_HARDWARE_STM32_HRTIM_H #define __ARCH_ARM_SRC_STM32_HARDWARE_STM32_HRTIM_H
/**************************************************************************************************** /************************************************************************************
* Included Files * Included Files
****************************************************************************************************/ ************************************************************************************/
#include <nuttx/config.h> #include <nuttx/config.h>
#include "chip.h" #include "chip.h"
/**************************************************************************************************** /************************************************************************************
* Pre-processor Definitions * Pre-processor Definitions
****************************************************************************************************/ ************************************************************************************/
#define STM32_HRTIM_MASTER_OFFSET 0x0000 /* HRTIM Master Timer base address offset */ #define STM32_HRTIM_MASTER_OFFSET 0x0000 /* HRTIM Master Timer base address offset */
#define STM32_HRTIM_TIMERA_OFFSET 0x0080 /* HRTIM Timer A base address offset */ #define STM32_HRTIM_TIMERA_OFFSET 0x0080 /* HRTIM Timer A base address offset */
@ -50,7 +50,7 @@
#define STM32_HRTIM1_TIMERE_BASE (STM32_HRTIM_TIMERE_OFFSET+STM32_HRTIM1_BASE) #define STM32_HRTIM1_TIMERE_BASE (STM32_HRTIM_TIMERE_OFFSET+STM32_HRTIM1_BASE)
#define STM32_HRTIM1_CMN_BASE (STM32_HRTIM_CMN_OFFSET+STM32_HRTIM1_BASE) #define STM32_HRTIM1_CMN_BASE (STM32_HRTIM_CMN_OFFSET+STM32_HRTIM1_BASE)
/* Register Offsets *********************************************************************************/ /* Register Offsets *****************************************************************/
/* Register Offsets Common for Master Timer and Timer X */ /* Register Offsets Common for Master Timer and Timer X */
@ -149,9 +149,6 @@
/* Control Register Bits specific to Master Timer */ /* Control Register Bits specific to Master Timer */
/* Bits 0-5 common */
/* Bits 6-7 reserved */
/* Bits 10-11 common */
#define HRTIM_MCR_SYNCIN_SHIFT 8 /* Bits 8-9: Synchronization input */ #define HRTIM_MCR_SYNCIN_SHIFT 8 /* Bits 8-9: Synchronization input */
#define HRTIM_MCR_SYNCIN_MASK (3 << HRTIM_MCR_SYNCIN_SHIFT) #define HRTIM_MCR_SYNCIN_MASK (3 << HRTIM_MCR_SYNCIN_SHIFT)
# define HRTIM_MCR_SYNCIN_DIS (0 << HRTIM_MCR_SYNCIN_SHIFT) /* 00 disabled */ # define HRTIM_MCR_SYNCIN_DIS (0 << HRTIM_MCR_SYNCIN_SHIFT) /* 00 disabled */
@ -258,7 +255,6 @@
/* Timer A-E Control Register */ /* Timer A-E Control Register */
/* Bits 0-5 common */
#define HRTIM_TIMCR_PSHPLL (1 << 6) /* Bit 6:Push-Pull mode enable */ #define HRTIM_TIMCR_PSHPLL (1 << 6) /* Bit 6:Push-Pull mode enable */
/* Bits 10-11 common */ /* Bits 10-11 common */
#define HRTIM_TIMCR_DELCMP2_SHIFT 12 /* Bits 12-13: CMP2 auto-delayed mode */ #define HRTIM_TIMCR_DELCMP2_SHIFT 12 /* Bits 12-13: CMP2 auto-delayed mode */
@ -1198,7 +1194,6 @@
#define HRTIM_BMCR_TEBM (1 << 21) /* Bit 21: Timer E Burst Mode */ #define HRTIM_BMCR_TEBM (1 << 21) /* Bit 21: Timer E Burst Mode */
#define HRTIM_BMCR_BMSTAT (1 << 31) /* Bit 31: Burst Mode Status */ #define HRTIM_BMCR_BMSTAT (1 << 31) /* Bit 31: Burst Mode Status */
/* Common Burst Mode Trigger Register */ /* Common Burst Mode Trigger Register */
#define HRTIM_BMTRGR_SW (1 << 0) /* Bit 0: Software start */ #define HRTIM_BMTRGR_SW (1 << 0) /* Bit 0: Software start */
@ -1624,7 +1619,6 @@
#define HRTIM_ADC4R_AD4TEC4 (1 << 30) /* Bit 30: ADC trigger 4 on Timer E Compare 4 */ #define HRTIM_ADC4R_AD4TEC4 (1 << 30) /* Bit 30: ADC trigger 4 on Timer E Compare 4 */
#define HRTIM_ADC4R_AD4TERST (1 << 31) /* Bit 31: ADC trigger 4 on Timer E Reset and counter roll-over */ #define HRTIM_ADC4R_AD4TERST (1 << 31) /* Bit 31: ADC trigger 4 on Timer E Reset and counter roll-over */
/* Common DLL Control Register */ /* Common DLL Control Register */
#define HRTIM_DLLCR_CAL (1 << 0) /* Bit 0: DLL Calibration Start */ #define HRTIM_DLLCR_CAL (1 << 0) /* Bit 0: DLL Calibration Start */
@ -1771,7 +1765,7 @@
#define HRTIM_BDMUPR_MCMP3 (1 << 8) /* Bit 8: MCMP3R register update enable */ #define HRTIM_BDMUPR_MCMP3 (1 << 8) /* Bit 8: MCMP3R register update enable */
#define HRTIM_BDMUPR_MCMP4 (1 << 9) /* Bit 9: MCMP4R register update enable */ #define HRTIM_BDMUPR_MCMP4 (1 << 9) /* Bit 9: MCMP4R register update enable */
/* Common Burst DMA Timer X Update Register (Timer A-E)*/ /* Common Burst DMA Timer X Update Register (Timer A-E) */
#define HRTIM_BDTxUPR_CR (1 << 0) /* Bit 0: HRTIM_TIMxCR register update enablce */ #define HRTIM_BDTxUPR_CR (1 << 0) /* Bit 0: HRTIM_TIMxCR register update enablce */
#define HRTIM_BDTxUPR_ICR (1 << 1) /* Bit 1: HRTIM_TIMxICR register update enablce */ #define HRTIM_BDTxUPR_ICR (1 << 1) /* Bit 1: HRTIM_TIMxICR register update enablce */

View File

@ -1,4 +1,4 @@
/**************************************************************************************************** /************************************************************************************
* arch/arm/src/stm32/hardware/stm32f33xxx_opamp.h * arch/arm/src/stm32/hardware/stm32f33xxx_opamp.h
* *
* Licensed to the Apache Software Foundation (ASF) under one or more * Licensed to the Apache Software Foundation (ASF) under one or more
@ -16,28 +16,28 @@
* License for the specific language governing permissions and limitations * License for the specific language governing permissions and limitations
* under the License. * under the License.
* *
****************************************************************************************************/ ************************************************************************************/
#ifndef __ARCH_ARM_SRC_STM32_HARDWARE_STM32_OPAMP_H #ifndef __ARCH_ARM_SRC_STM32_HARDWARE_STM32_OPAMP_H
#define __ARCH_ARM_SRC_STM32_HARDWARE_STM32_OPAMP_H #define __ARCH_ARM_SRC_STM32_HARDWARE_STM32_OPAMP_H
/**************************************************************************************************** /************************************************************************************
* Included Files * Included Files
****************************************************************************************************/ ************************************************************************************/
#include <nuttx/config.h> #include <nuttx/config.h>
#include "chip.h" #include "chip.h"
/**************************************************************************************************** /************************************************************************************
* Pre-processor Definitions * Pre-processor Definitions
****************************************************************************************************/ ************************************************************************************/
/* Register Offsets *********************************************************************************/ /* Register Offsets *****************************************************************/
#define STM32_OPAMP2_CSR_OFFSET 0x003C /* OPAMP2 Control register */ #define STM32_OPAMP2_CSR_OFFSET 0x003C /* OPAMP2 Control register */
/* Register Addresses *******************************************************************************/ /* Register Addresses ***************************************************************/
#define STM32_OPAMP2_CSR (STM32_OPAMP_BASE+STM32_OPAMP2_CSR_OFFSET) #define STM32_OPAMP2_CSR (STM32_OPAMP_BASE+STM32_OPAMP2_CSR_OFFSET)

View File

@ -38,6 +38,7 @@
#include "stm32_comp.h" #include "stm32_comp.h"
/* Some COMP peripheral must be enabled */ /* Some COMP peripheral must be enabled */
/* Up to 7 comparators in STM32F3 Series */ /* Up to 7 comparators in STM32F3 Series */
#if defined(CONFIG_STM32_COMP1) || defined(CONFIG_STM32_COMP2) || \ #if defined(CONFIG_STM32_COMP1) || defined(CONFIG_STM32_COMP2) || \
@ -183,7 +184,8 @@ static int stm32_complock(FAR struct stm32_comp_s *priv, bool lock);
static void comp_shutdown(FAR struct comp_dev_s *dev); static void comp_shutdown(FAR struct comp_dev_s *dev);
static int comp_setup(FAR struct comp_dev_s *dev); static int comp_setup(FAR struct comp_dev_s *dev);
static int comp_read(FAR struct comp_dev_s *dev); static int comp_read(FAR struct comp_dev_s *dev);
static int comp_ioctl(FAR struct comp_dev_s *dev, int cmd, unsigned long arg); static int comp_ioctl(FAR struct comp_dev_s *dev, int cmd,
unsigned long arg);
/* Initialization */ /* Initialization */
@ -657,30 +659,36 @@ static int stm32_compconfig(FAR struct stm32_comp_s *priv)
/* COMP2_INM can be PA2 or PA4 */ /* COMP2_INM can be PA2 or PA4 */
stm32_configgpio(GPIO_COMP2_INM); stm32_configgpio(GPIO_COMP2_INM);
regval |= (GPIO_COMP2_INM == GPIO_COMP2_INM_1 ? COMP_CSR_INMSEL_PA2 : COMP_CSR_INMSEL_PA4); regval |= (GPIO_COMP2_INM == GPIO_COMP2_INM_1 ?
COMP_CSR_INMSEL_PA2 : COMP_CSR_INMSEL_PA4);
break; break;
} }
#endif #endif
#ifdef CONFIG_STM32_COMP4 #ifdef CONFIG_STM32_COMP4
case 4: case 4:
{ {
/* COMP4_INM can be PB2 or PA4 */ /* COMP4_INM can be PB2 or PA4 */
stm32_configgpio(GPIO_COMP4_INM); stm32_configgpio(GPIO_COMP4_INM);
regval |= (GPIO_COMP4_INM == GPIO_COMP4_INM_1 ? COMP_CSR_INMSEL_PB2 : COMP_CSR_INMSEL_PA4); regval |= (GPIO_COMP4_INM == GPIO_COMP4_INM_1 ?
COMP_CSR_INMSEL_PB2 : COMP_CSR_INMSEL_PA4);
break; break;
} }
#endif #endif
#ifdef CONFIG_STM32_COMP6 #ifdef CONFIG_STM32_COMP6
case 6: case 6:
{ {
/* COMP6_INM can be PB15 or PA4 */ /* COMP6_INM can be PB15 or PA4 */
stm32_configgpio(GPIO_COMP6_INM); stm32_configgpio(GPIO_COMP6_INM);
regval |= (GPIO_COMP6_INM == GPIO_COMP6_INM_1 ? COMP_CSR_INMSEL_PB15 : COMP_CSR_INMSEL_PA4); regval |= (GPIO_COMP6_INM == GPIO_COMP6_INM_1 ?
COMP_CSR_INMSEL_PB15 : COMP_CSR_INMSEL_PA4);
break; break;
} }
#endif #endif
default : default :
return -EINVAL; return -EINVAL;
} }
@ -892,6 +900,7 @@ static int stm32_compenable(FAR struct stm32_comp_s *priv, bool enable)
static int comp_setup(FAR struct comp_dev_s *dev) static int comp_setup(FAR struct comp_dev_s *dev)
{ {
#warning "Missing logic" #warning "Missing logic"
return OK; return OK;
} }
@ -984,7 +993,7 @@ static int comp_ioctl(FAR struct comp_dev_s *dev, int cmd, unsigned long arg)
* *
****************************************************************************/ ****************************************************************************/
FAR struct comp_dev_s* stm32_compinitialize(int intf) FAR struct comp_dev_s *stm32_compinitialize(int intf)
{ {
FAR struct comp_dev_s *dev; FAR struct comp_dev_s *dev;
FAR struct stm32_comp_s *comp; FAR struct stm32_comp_s *comp;
@ -1061,7 +1070,9 @@ FAR struct comp_dev_s* stm32_compinitialize(int intf)
} }
#endif /* CONFIG_STM32_STM32F30XX || CONFIG_STM32_STM32F33XX || #endif /* CONFIG_STM32_STM32F30XX || CONFIG_STM32_STM32F33XX ||
* CONFIG_STM32_STM32F37XX*/ * CONFIG_STM32_STM32F37XX
*/
#endif /* CONFIG_STM32_COMP2 || CONFIG_STM32_COMP4 || #endif /* CONFIG_STM32_COMP2 || CONFIG_STM32_COMP4 ||
* CONFIG_STM32_COMP6 */ * CONFIG_STM32_COMP6
*/

View File

@ -172,25 +172,25 @@ extern "C"
#define EXTERN extern #define EXTERN extern
#endif #endif
/**************************************************************************** /************************************************************************************
* Name: stm32_compinitialize * Name: stm32_compinitialize
* *
* Description: * Description:
* Initialize the COMP. * Initialize the COMP.
* *
* Input Parameters: * Input Parameters:
* intf - The COMP interface number. * intf - The COMP interface number.
* *
* Returned Value: * Returned Value:
* Valid COMP device structure reference on success; a NULL on failure. * Valid COMP device structure reference on success; a NULL on failure.
* *
* Assumptions: * Assumptions:
* 1. Clock to the COMP block has enabled, * 1. Clock to the COMP block has enabled,
* 2. Board-specific logic has already configured * 2. Board-specific logic has already configured
* *
****************************************************************************/ ************************************************************************************/
FAR struct comp_dev_s* stm32_compinitialize(int intf); FAR struct comp_dev_s *stm32_compinitialize(int intf);
#undef EXTERN #undef EXTERN
#ifdef __cplusplus #ifdef __cplusplus

View File

@ -249,23 +249,23 @@
enum stm32_hrtim_tim_e enum stm32_hrtim_tim_e
{ {
HRTIM_TIMER_MASTER = (1<<0), HRTIM_TIMER_MASTER = (1 << 0),
#ifdef CONFIG_STM32_HRTIM_TIMA #ifdef CONFIG_STM32_HRTIM_TIMA
HRTIM_TIMER_TIMA = (1<<1), HRTIM_TIMER_TIMA = (1 << 1),
#endif #endif
#ifdef CONFIG_STM32_HRTIM_TIMB #ifdef CONFIG_STM32_HRTIM_TIMB
HRTIM_TIMER_TIMB = (1<<2), HRTIM_TIMER_TIMB = (1 << 2),
#endif #endif
#ifdef CONFIG_STM32_HRTIM_TIMC #ifdef CONFIG_STM32_HRTIM_TIMC
HRTIM_TIMER_TIMC = (1<<3), HRTIM_TIMER_TIMC = (1 << 3),
#endif #endif
#ifdef CONFIG_STM32_HRTIM_TIMD #ifdef CONFIG_STM32_HRTIM_TIMD
HRTIM_TIMER_TIMD = (1<<4), HRTIM_TIMER_TIMD = (1 << 4),
#endif #endif
#ifdef CONFIG_STM32_HRTIM_TIME #ifdef CONFIG_STM32_HRTIM_TIME
HRTIM_TIMER_TIME = (1<<5), HRTIM_TIMER_TIME = (1 << 5),
#endif #endif
HRTIM_TIMER_COMMON = (1<<6), HRTIM_TIMER_COMMON = (1 << 6),
HRTIM_TIMERS_MASK = 0x3f HRTIM_TIMERS_MASK = 0x3f
}; };
@ -354,52 +354,52 @@ enum stm32_hrtim_tim_rst_e
{ {
/* Timer owns events */ /* Timer owns events */
HRTIM_RST_UPDT = (1<<1), HRTIM_RST_UPDT = (1 << 1),
HRTIM_RST_CMP4 = (1<<2), HRTIM_RST_CMP4 = (1 << 2),
HRTIM_RST_CMP2 = (1<<3), HRTIM_RST_CMP2 = (1 << 3),
/* Master Timer Events */ /* Master Timer Events */
HRTIM_RST_MSTPER = (1<<4), HRTIM_RST_MSTPER = (1 << 4),
HRTIM_RST_MSTCMP1 = (1<<5), HRTIM_RST_MSTCMP1 = (1 << 5),
HRTIM_RST_MSTCMP2 = (1<<6), HRTIM_RST_MSTCMP2 = (1 << 6),
HRTIM_RST_MSTCMP3 = (1<<7), HRTIM_RST_MSTCMP3 = (1 << 7),
HRTIM_RST_MSTCMP4 = (1<<8), HRTIM_RST_MSTCMP4 = (1 << 8),
/* External Events */ /* External Events */
HRTIM_RST_EXTEVNT1 = (1<<9), HRTIM_RST_EXTEVNT1 = (1 << 9),
HRTIM_RST_EXTEVNT2 = (1<<10), HRTIM_RST_EXTEVNT2 = (1 << 10),
HRTIM_RST_EXTEVNT3 = (1<<11), HRTIM_RST_EXTEVNT3 = (1 << 11),
HRTIM_RST_EXTEVNT4 = (1<<12), HRTIM_RST_EXTEVNT4 = (1 << 12),
HRTIM_RST_EXTEVNT5 = (1<<13), HRTIM_RST_EXTEVNT5 = (1 << 13),
HRTIM_RST_EXTEVNT6 = (1<<14), HRTIM_RST_EXTEVNT6 = (1 << 14),
HRTIM_RST_EXTEVNT7 = (1<<15), HRTIM_RST_EXTEVNT7 = (1 << 15),
HRTIM_RST_EXTEVNT8 = (1<<16), HRTIM_RST_EXTEVNT8 = (1 << 16),
HRTIM_RST_EXTEVNT9 = (1<<17), HRTIM_RST_EXTEVNT9 = (1 << 17),
HRTIM_RST_EXTEVNT10 = (1<<18), HRTIM_RST_EXTEVNT10 = (1 << 18),
/* TimerX events */ /* TimerX events */
HRTIM_RST_TACMP1 = (1<<19), HRTIM_RST_TACMP1 = (1 << 19),
HRTIM_RST_TACMP2 = (1<<20), HRTIM_RST_TACMP2 = (1 << 20),
HRTIM_RST_TACMP4 = (1<<21), HRTIM_RST_TACMP4 = (1 << 21),
HRTIM_RST_TBCMP1 = (1<<22), HRTIM_RST_TBCMP1 = (1 << 22),
HRTIM_RST_TBCMP2 = (1<<23), HRTIM_RST_TBCMP2 = (1 << 23),
HRTIM_RST_TBCMP4 = (1<<24), HRTIM_RST_TBCMP4 = (1 << 24),
HRTIM_RST_TCCMP1 = (1<<25), HRTIM_RST_TCCMP1 = (1 << 25),
HRTIM_RST_TCCMP2 = (1<<26), HRTIM_RST_TCCMP2 = (1 << 26),
HRTIM_RST_TCCMP4 = (1<<27), HRTIM_RST_TCCMP4 = (1 << 27),
HRTIM_RST_TDCMP1 = (1<<28), HRTIM_RST_TDCMP1 = (1 << 28),
HRTIM_RST_TDCMP2 = (1<<29), HRTIM_RST_TDCMP2 = (1 << 29),
HRTIM_RST_TDCMP4 = (1<<30), HRTIM_RST_TDCMP4 = (1 << 30),
HRTIM_RST_TECMP1 = (1<<31), HRTIM_RST_TECMP1 = (1 << 31),
}; };
/* This definitions does not fit to the above 32 bit enum */ /* This definitions does not fit to the above 32 bit enum */
#define HRTIM_RST_TECMP2 (1ull<<32) #define HRTIM_RST_TECMP2 (1ull << 32)
#define HRTIM_RST_TECMP4 (1ull<<33) #define HRTIM_RST_TECMP4 (1ull << 33)
/* HRTIM Timer X prescaler */ /* HRTIM Timer X prescaler */
@ -958,6 +958,7 @@ enum stm32_hrtim_burst_triggers_e
}; };
/* HRTIM Capture triggers */ /* HRTIM Capture triggers */
enum stm32_hrtim_capture_index_e enum stm32_hrtim_capture_index_e
{ {
HRTIM_CAPTURE1 = 0, HRTIM_CAPTURE1 = 0,
@ -1093,7 +1094,7 @@ extern "C"
#define EXTERN extern #define EXTERN extern
#endif #endif
/**************************************************************************** /************************************************************************************
* Name: stm32_hrtiminitialize * Name: stm32_hrtiminitialize
* *
* Description: * Description:
@ -1109,13 +1110,13 @@ extern "C"
* 1. Clock to the HRTIM block has enabled, * 1. Clock to the HRTIM block has enabled,
* 2. Board-specific logic has already configured * 2. Board-specific logic has already configured
* *
****************************************************************************/ ************************************************************************************/
FAR struct hrtim_dev_s *stm32_hrtiminitialize(void); FAR struct hrtim_dev_s *stm32_hrtiminitialize(void);
/**************************************************************************** /************************************************************************************
* Name: hrtim_register * Name: hrtim_register
****************************************************************************/ ************************************************************************************/
#ifndef CONFIG_STM32_HRTIM_DISABLE_CHARDRV #ifndef CONFIG_STM32_HRTIM_DISABLE_CHARDRV
int hrtim_register(FAR const char *path, FAR struct hrtim_dev_s *dev); int hrtim_register(FAR const char *path, FAR struct hrtim_dev_s *dev);

View File

@ -42,6 +42,7 @@
#ifdef CONFIG_STM32_OPAMP #ifdef CONFIG_STM32_OPAMP
/* Some OPAMP peripheral must be enabled */ /* Some OPAMP peripheral must be enabled */
/* Up to 4 OPAMPs in STM32F3 Series */ /* Up to 4 OPAMPs in STM32F3 Series */
#if defined(CONFIG_STM32_OPAMP1) || defined(CONFIG_STM32_OPAMP2) || \ #if defined(CONFIG_STM32_OPAMP1) || defined(CONFIG_STM32_OPAMP2) || \
@ -143,7 +144,7 @@
# endif # endif
#endif #endif
/* Some assertions *******************************************************/ /* Some assertions *********************************************************/
/* Check OPAMPs inputs selection */ /* Check OPAMPs inputs selection */
@ -212,7 +213,9 @@
# endif # endif
#endif #endif
/* When OPAMP MUX enabled, make sure that secondary selection inputs are configured */ /* When OPAMP MUX enabled, make sure that secondary selection inputs are
* configured
*/
#ifdef CONFIG_STM32_OPAMP1 #ifdef CONFIG_STM32_OPAMP1
# if (OPAMP1_MUX == OPAMP_MUX_ENABLE) # if (OPAMP1_MUX == OPAMP_MUX_ENABLE)
@ -276,8 +279,8 @@ struct stm32_opamp_s
static inline void opamp_modify_csr(FAR struct stm32_opamp_s *priv, static inline void opamp_modify_csr(FAR struct stm32_opamp_s *priv,
uint32_t clearbits, uint32_t setbits); uint32_t clearbits, uint32_t setbits);
static inline uint32_t opamp_getreg_csr(FAR struct stm32_opamp_s* priv); static inline uint32_t opamp_getreg_csr(FAR struct stm32_opamp_s *priv);
static inline void opamp_putreg_csr(FAR struct stm32_opamp_s* priv, static inline void opamp_putreg_csr(FAR struct stm32_opamp_s *priv,
uint32_t value); uint32_t value);
static bool stm32_opamplock_get(FAR struct stm32_opamp_s *priv); static bool stm32_opamplock_get(FAR struct stm32_opamp_s *priv);
static int stm32_opamplock(FAR struct stm32_opamp_s *priv, bool lock); static int stm32_opamplock(FAR struct stm32_opamp_s *priv, bool lock);
@ -295,7 +298,8 @@ static int stm32_opampcalibrate(FAR struct stm32_opamp_s *priv);
static void opamp_shutdown(FAR struct opamp_dev_s *dev); static void opamp_shutdown(FAR struct opamp_dev_s *dev);
static int opamp_setup(FAR struct opamp_dev_s *dev); static int opamp_setup(FAR struct opamp_dev_s *dev);
static int opamp_ioctl(FAR struct opamp_dev_s *dev, int cmd, unsigned long arg); static int opamp_ioctl(FAR struct opamp_dev_s *dev, int cmd,
unsigned long arg);
/**************************************************************************** /****************************************************************************
* Private Data * Private Data
@ -1107,8 +1111,8 @@ static int stm32_opampconfig(FAR struct stm32_opamp_s *priv)
stm32_opampenable(priv, true); stm32_opampenable(priv, true);
/* TODO: OPAMP user calibration */ /* TODO: OPAMP user calibration */
/* stm32_opampcalibrate(priv); */
/* stm32_opampcalibrate(priv); */
/* Lock OPAMP if needed */ /* Lock OPAMP if needed */
@ -1243,13 +1247,13 @@ static int stm32_opampgain_set(FAR struct stm32_opamp_s *priv, uint8_t gain)
priv->gain = gain; priv->gain = gain;
return OK; return OK;
} }
#if 0 #if 0
static int stm32_opampcalibrate(FAR struct stm32_opamp_s *priv) static int stm32_opampcalibrate(FAR struct stm32_opamp_s *priv)
{ {
#warning "Missing logic" #warning "Missing logic"
return OK; return OK;
} }
#endif #endif
@ -1258,8 +1262,8 @@ static int stm32_opampcalibrate(FAR struct stm32_opamp_s *priv)
* Name: opamp_shutdown * Name: opamp_shutdown
* *
* Description: * Description:
* Disable the OPAMP. This method is called when the OPAMP device is closed. * Disable the OPAMP. This method is called when the OPAMP device is
* This method reverses the operation the setup method. * closed. This method reverses the operation the setup method.
* Works only if OPAMP device is not locked. * Works only if OPAMP device is not locked.
* *
* Input Parameters: * Input Parameters:
@ -1310,7 +1314,8 @@ static int opamp_setup(FAR struct opamp_dev_s *dev)
* *
****************************************************************************/ ****************************************************************************/
static int opamp_ioctl(FAR struct opamp_dev_s* dev, int cmd, unsigned long arg) static int opamp_ioctl(FAR struct opamp_dev_s *dev, int cmd,
unsigned long arg)
{ {
#warning "Missing logic" #warning "Missing logic"
return -ENOTTY; return -ENOTTY;
@ -1338,7 +1343,7 @@ static int opamp_ioctl(FAR struct opamp_dev_s* dev, int cmd, unsigned long arg)
* *
****************************************************************************/ ****************************************************************************/
FAR struct opamp_dev_s* stm32_opampinitialize(int intf) FAR struct opamp_dev_s *stm32_opampinitialize(int intf)
{ {
FAR struct opamp_dev_s *dev; FAR struct opamp_dev_s *dev;
FAR struct stm32_opamp_s *opamp; FAR struct stm32_opamp_s *opamp;

View File

@ -121,6 +121,7 @@ enum stm32_opamp2_vpsel_e
{ {
#ifndef CONFIG_STM32_STM32F33XX #ifndef CONFIG_STM32_STM32F33XX
/* TODO: STM32F303xB/C and STM32F358C devices only */ /* TODO: STM32F303xB/C and STM32F358C devices only */
OPAMP2_VPSEL_PD14, OPAMP2_VPSEL_PD14,
#endif #endif
OPAMP2_VPSEL_PB14, OPAMP2_VPSEL_PB14,
@ -186,25 +187,25 @@ extern "C"
#define EXTERN extern #define EXTERN extern
#endif #endif
/**************************************************************************** /************************************************************************************
* Name: stm32_opampinitialize * Name: stm32_opampinitialize
* *
* Description: * Description:
* Initialize the OPAMP. * Initialize the OPAMP.
* *
* Input Parameters: * Input Parameters:
* intf - The OPAMP interface number. * intf - The OPAMP interface number.
* *
* Returned Value: * Returned Value:
* Valid OPAMP device structure reference on success; a NULL on failure. * Valid OPAMP device structure reference on success; a NULL on failure.
* *
* Assumptions: * Assumptions:
* 1. Clock to the OPAMP block has enabled, * 1. Clock to the OPAMP block has enabled,
* 2. Board-specific logic has already configured * 2. Board-specific logic has already configured
* *
****************************************************************************/ ************************************************************************************/
FAR struct opamp_dev_s* stm32_opampinitialize(int intf); FAR struct opamp_dev_s *stm32_opampinitialize(int intf);
#undef EXTERN #undef EXTERN
#ifdef __cplusplus #ifdef __cplusplus

View File

@ -155,8 +155,9 @@
/* DMAMUX12 request generator channel x configuration register */ /* DMAMUX12 request generator channel x configuration register */
#define DMAMUX_RGCR_SIGID_SHIFT (0) /* Bits 0-4: Signal identifiaction */ #define DMAMUX_RGCR_SIGID_SHIFT (0) /* Bits 0-4: Signal identifiaction
/* WARNING: different length for DMAMUX1 and DMAMUX2 !*/ * WARNING: different length for DMAMUX1 and DMAMUX2 !
*/
#define DMAMUX_RGCR_SIGID_MASK (0x1f << DMAMUX_RGCR_SIGID_SHIFT) #define DMAMUX_RGCR_SIGID_MASK (0x1f << DMAMUX_RGCR_SIGID_SHIFT)
#define DMAMUX_RGCR_OIE (8) /* Bit 8: Trigger overrun interrupt enable */ #define DMAMUX_RGCR_OIE (8) /* Bit 8: Trigger overrun interrupt enable */
#define DMAMUX_RGCR_GE (16) /* Bit 16: DMA request generator channel X enable*/ #define DMAMUX_RGCR_GE (16) /* Bit 16: DMA request generator channel X enable*/
@ -185,6 +186,10 @@
#define DMAMAP_CONTROLLER(m) ((m) >> 8 & 0x07) #define DMAMAP_CONTROLLER(m) ((m) >> 8 & 0x07)
#define DMAMAP_REQUEST(m) ((m) >> 0 & 0xff) #define DMAMAP_REQUEST(m) ((m) >> 0 & 0xff)
/************************************************************************************
* Included Files
************************************************************************************/
/* Import DMAMUX map */ /* Import DMAMUX map */
#if defined(CONFIG_STM32H7_STM32H7X3XX) #if defined(CONFIG_STM32H7_STM32H7X3XX)

View File

@ -494,7 +494,9 @@
#define MDMA_CXISR_GIF(x) (1 << x) #define MDMA_CXISR_GIF(x) (1 << x)
/* MDMA channel x interrupt/status register and channel x interrupt flag clear register */ /* MDMA channel x interrupt/status register and channel x interrupt flag clear
* register
*/
#define MDMA_INT_TEIF (1 << 0) /* Bit 0: Channel X transfer error flag */ #define MDMA_INT_TEIF (1 << 0) /* Bit 0: Channel X transfer error flag */
#define BDMA_INT_CTCIF (1 << 1) /* Bit 1: Channel X transfer complete flag */ #define BDMA_INT_CTCIF (1 << 1) /* Bit 1: Channel X transfer complete flag */

View File

@ -25,9 +25,11 @@
/************************************************************************************ /************************************************************************************
* Included Files * Included Files
************************************************************************************/ ************************************************************************************/
/************************************************************************************ /************************************************************************************
* Pre-processor Definitions * Pre-processor Definitions
************************************************************************************/ ************************************************************************************/
/* General definitions */ /* General definitions */
#define OTG_EPTYPE_CTRL (0) /* Control */ #define OTG_EPTYPE_CTRL (0) /* Control */
@ -41,7 +43,8 @@
#define OTG_PID_MDATA (3) /* Non-control */ #define OTG_PID_MDATA (3) /* Non-control */
#define OTG_PID_SETUP (3) /* Control */ #define OTG_PID_SETUP (3) /* Control */
/* Register Offsets ****************************************************************/ /* Register Offsets *****************************************************************/
/* Core global control and status registers */ /* Core global control and status registers */
#define STM32_OTG_GOTGCTL_OFFSET 0x0000 /* Control and status register */ #define STM32_OTG_GOTGCTL_OFFSET 0x0000 /* Control and status register */
@ -133,7 +136,7 @@
#define STM32_OTG_DFIFO_DEP_OFFSET(n) (0x1000 + ((n) << 12)) #define STM32_OTG_DFIFO_DEP_OFFSET(n) (0x1000 + ((n) << 12))
#define STM32_OTG_DFIFO_HCH_OFFSET(n) (0x1000 + ((n) << 12)) #define STM32_OTG_DFIFO_HCH_OFFSET(n) (0x1000 + ((n) << 12))
/* Register Addresses **************************************************************/ /* Register Addresses ***************************************************************/
#define STM32_OTG_GOTGCTL (STM32_OTG_BASE+STM32_OTG_GOTGCTL_OFFSET) #define STM32_OTG_GOTGCTL (STM32_OTG_BASE+STM32_OTG_GOTGCTL_OFFSET)
#define STM32_OTG_GOTGINT (STM32_OTG_BASE+STM32_OTG_GOTGINT_OFFSET) #define STM32_OTG_GOTGINT (STM32_OTG_BASE+STM32_OTG_GOTGINT_OFFSET)
@ -214,7 +217,8 @@
#define STM32_OTG_DFIFO_DEP(n) (STM32_OTG_BASE+STM32_OTG_DFIFO_DEP_OFFSET(n)) #define STM32_OTG_DFIFO_DEP(n) (STM32_OTG_BASE+STM32_OTG_DFIFO_DEP_OFFSET(n))
#define STM32_OTG_DFIFO_HCH(n) (STM32_OTG_BASE+STM32_OTG_DFIFO_HCH_OFFSET(n)) #define STM32_OTG_DFIFO_HCH(n) (STM32_OTG_BASE+STM32_OTG_DFIFO_HCH_OFFSET(n))
/* Register Bitfield Definitions ***************************************************/ /* Register Bitfield Definitions ****************************************************/
/* Core global control and status registers */ /* Core global control and status registers */
/* Control and status register */ /* Control and status register */
@ -241,6 +245,7 @@
/* Bits 21-31: Reserved */ /* Bits 21-31: Reserved */
/* Interrupt register */ /* Interrupt register */
/* Bits 1-0 Reserved */ /* Bits 1-0 Reserved */
#define OTG_GOTGINT_SEDET (1 << 2) /* Bit 2: Session end detected */ #define OTG_GOTGINT_SEDET (1 << 2) /* Bit 2: Session end detected */
/* Bits 3-7: Reserved */ /* Bits 3-7: Reserved */
@ -263,6 +268,7 @@
#define OTG_GAHBCFG_TXFELVL (1 << 7) /* Bit 7: TxFIFO empty level */ #define OTG_GAHBCFG_TXFELVL (1 << 7) /* Bit 7: TxFIFO empty level */
#define OTG_GAHBCFG_PTXFELVL (1 << 8) /* Bit 8: Periodic TxFIFO empty level */ #define OTG_GAHBCFG_PTXFELVL (1 << 8) /* Bit 8: Periodic TxFIFO empty level */
/* Bits 20-31: Reserved */ /* Bits 20-31: Reserved */
/* USB configuration register */ /* USB configuration register */
#define OTG_GUSBCFG_TOCAL_SHIFT (0) /* Bits 0-2: FS timeout calibration */ #define OTG_GUSBCFG_TOCAL_SHIFT (0) /* Bits 0-2: FS timeout calibration */
@ -290,6 +296,7 @@
#define OTG_GUSBCFG_FHMOD (1 << 29) /* Bit 29: Force host mode */ #define OTG_GUSBCFG_FHMOD (1 << 29) /* Bit 29: Force host mode */
#define OTG_GUSBCFG_FDMOD (1 << 30) /* Bit 30: Force device mode */ #define OTG_GUSBCFG_FDMOD (1 << 30) /* Bit 30: Force device mode */
/* Bit 31: Reserved */ /* Bit 31: Reserved */
/* Reset register */ /* Reset register */
#define OTG_GRSTCTL_CSRST (1 << 0) /* Bit 0: Core soft reset */ #define OTG_GRSTCTL_CSRST (1 << 0) /* Bit 0: Core soft reset */
@ -477,6 +484,7 @@
# define OTG_HCFG_FSLSPCS_LS6MHz (2 << OTG_HCFG_FSLSPCS_SHIFT) /* LS host mode, Select 6 MHz PHY clock frequency */ # define OTG_HCFG_FSLSPCS_LS6MHz (2 << OTG_HCFG_FSLSPCS_SHIFT) /* LS host mode, Select 6 MHz PHY clock frequency */
#define OTG_HCFG_FSLSS (1 << 2) /* Bit 2: FS- and LS-only support */ #define OTG_HCFG_FSLSS (1 << 2) /* Bit 2: FS- and LS-only support */
/* Bits 31:3 Reserved */ /* Bits 31:3 Reserved */
/* Host frame interval register */ /* Host frame interval register */
#define OTG_HFIR_SHIFT (0) /* Bits 0-16: Frame interval */ #define OTG_HFIR_SHIFT (0) /* Bits 0-16: Frame interval */
@ -630,6 +638,7 @@
#define OTG_DCFG_PERSCHIVL_SHIFT (24) /* Bits 24-25: Periodic schedule interval */ #define OTG_DCFG_PERSCHIVL_SHIFT (24) /* Bits 24-25: Periodic schedule interval */
#define OTG_DCFG_PERSCHIVL_MASK (3 << OTG_DCFG_PERSCHIVL_SHIFT) #define OTG_DCFG_PERSCHIVL_MASK (3 << OTG_DCFG_PERSCHIVL_SHIFT)
/* Bits 26-31: Reserved */ /* Bits 26-31: Reserved */
/* Device control register */ /* Device control register */
#define OTG_TESTMODE_DISABLED (0) /* Test mode disabled */ #define OTG_TESTMODE_DISABLED (0) /* Test mode disabled */
@ -659,6 +668,7 @@
/* Bits 12-17: Reserved */ /* Bits 12-17: Reserved */
#define OTG_DCTL_DSBESLRJCT (1 << 18) /* Bit 18: Deep sleep BESL reject */ #define OTG_DCTL_DSBESLRJCT (1 << 18) /* Bit 18: Deep sleep BESL reject */
/* Bits 19-31: Reserved */ /* Bits 19-31: Reserved */
/* Device status register */ /* Device status register */
#define OTG_DSTS_SUSPSTS (1 << 0) /* Bit 0: Suspend status */ #define OTG_DSTS_SUSPSTS (1 << 0) /* Bit 0: Suspend status */
@ -793,6 +803,7 @@
#define OTG_DIEPTSIZ0_PKTCNT_SHIFT (19) /* Bits 19-20: Packet count */ #define OTG_DIEPTSIZ0_PKTCNT_SHIFT (19) /* Bits 19-20: Packet count */
#define OTG_DIEPTSIZ0_PKTCNT_MASK (3 << OTG_DIEPTSIZ0_PKTCNT_SHIFT) #define OTG_DIEPTSIZ0_PKTCNT_MASK (3 << OTG_DIEPTSIZ0_PKTCNT_SHIFT)
/* Bits 21-31: Reserved, must be kept at reset value */ /* Bits 21-31: Reserved, must be kept at reset value */
/* Device IN endpoint n transfer size register */ /* Device IN endpoint n transfer size register */
#define OTG_DIEPTSIZ_XFRSIZ_SHIFT (0) /* Bits 0-18: Transfer size */ #define OTG_DIEPTSIZ_XFRSIZ_SHIFT (0) /* Bits 0-18: Transfer size */
@ -802,6 +813,7 @@
#define OTG_DIEPTSIZ_MCNT_SHIFT (29) /* Bits 29-30: Multi count */ #define OTG_DIEPTSIZ_MCNT_SHIFT (29) /* Bits 29-30: Multi count */
#define OTG_DIEPTSIZ_MCNT_MASK (3 << OTG_DIEPTSIZ_MCNT_SHIFT) #define OTG_DIEPTSIZ_MCNT_MASK (3 << OTG_DIEPTSIZ_MCNT_SHIFT)
/* Bit 31: Reserved */ /* Bit 31: Reserved */
/* Device OUT endpoint TxFIFO status register */ /* Device OUT endpoint TxFIFO status register */
#define OTG_DTXFSTS_MASK (0xffff) #define OTG_DTXFSTS_MASK (0xffff)
@ -877,6 +889,7 @@
#define OTG_DOEPINT_NAK (1 << 13) /* Bit 13: NAK interrupt mask */ #define OTG_DOEPINT_NAK (1 << 13) /* Bit 13: NAK interrupt mask */
#define OTG_DOEPINT_NYET (1 << 14) /* Bit 14: NYET interrupt mask */ #define OTG_DOEPINT_NYET (1 << 14) /* Bit 14: NYET interrupt mask */
/* Bits 15-31: Reserved */ /* Bits 15-31: Reserved */
/* Device OUT endpoint-0 transfer size register */ /* Device OUT endpoint-0 transfer size register */
#define OTG_DOEPTSIZ0_XFRSIZ_SHIFT (0) /* Bits 0-6: Transfer size */ #define OTG_DOEPTSIZ0_XFRSIZ_SHIFT (0) /* Bits 0-6: Transfer size */
@ -903,6 +916,7 @@
# define OTG_DOEPTSIZ_RXDPID_DATA1 (2 << OTG_DOEPTSIZ_RXDPID_SHIFT) # define OTG_DOEPTSIZ_RXDPID_DATA1 (2 << OTG_DOEPTSIZ_RXDPID_SHIFT)
# define OTG_DOEPTSIZ_RXDPID_MDATA (3 << OTG_DOEPTSIZ_RXDPID_SHIFT) # define OTG_DOEPTSIZ_RXDPID_MDATA (3 << OTG_DOEPTSIZ_RXDPID_SHIFT)
/* Bit 31: Reserved */ /* Bit 31: Reserved */
/* Power and clock gating control register */ /* Power and clock gating control register */
#define OTG_PCGCCTL_STPPCLK (1 << 0) /* Bit 0: Stop PHY clock */ #define OTG_PCGCCTL_STPPCLK (1 << 0) /* Bit 0: Stop PHY clock */

View File

@ -31,7 +31,7 @@
* Pre-processor Definitions * Pre-processor Definitions
************************************************************************************/ ************************************************************************************/
/* DMAMUX1 mapping ****************************************************/ /* DMAMUX1 mapping ******************************************************************/
/* NOTE: DMAMUX1 channels 0 to 7 are connected to DMA1 channels 0 to 7. /* NOTE: DMAMUX1 channels 0 to 7 are connected to DMA1 channels 0 to 7.
* DMAMUX1 channels 8 to 15 are connected to DMA2 channels 0 to 7. * DMAMUX1 channels 8 to 15 are connected to DMA2 channels 0 to 7.
@ -154,7 +154,7 @@
#define DMAMUX1_ADC3 (115) #define DMAMUX1_ADC3 (115)
/* DMAMUX1 116-127: Reserved */ /* DMAMUX1 116-127: Reserved */
/* DMAMUX2 mapping ****************************************************/ /* DMAMUX2 mapping ******************************************************************/
/* NOTE: DMAMUX2 channels 0 to 7 are connected to BDMA channels 0 to 7 */ /* NOTE: DMAMUX2 channels 0 to 7 are connected to BDMA channels 0 to 7 */

View File

@ -153,7 +153,9 @@
#define FLASH_CR_START (1 << 7) /* Bit 7: Erase start */ #define FLASH_CR_START (1 << 7) /* Bit 7: Erase start */
#define FLASH_CR_SNB_SHIFT (8) /* Bits 8-10: Sector number */ #define FLASH_CR_SNB_SHIFT (8) /* Bits 8-10: Sector number */
#define FLASH_CR_SNB_MASK (15 << FLASH_CR_SNB_SHIFT) /* Used to clear FLASH_CR_SNB bits */ #define FLASH_CR_SNB_MASK (15 << FLASH_CR_SNB_SHIFT) /* Used to clear FLASH_CR_SNB bits */
# define FLASH_CR_SNB(n) ((uint32_t)((n) & 0x7) << FLASH_CR_SNB_SHIFT) /* Sector n, n=0..7 */ # define FLASH_CR_SNB(n) ((uint32_t)((n) & 0x7) << FLASH_CR_SNB_SHIFT) /* Sector n, n=0..7 */
/* Bits 11-13: Reserved */ /* Bits 11-13: Reserved */
#define FLASH_CR_SPSS2 (1 << 14) /* Bit 14: Bank1 Reserved, Bank 2 special sector selection bit */ #define FLASH_CR_SPSS2 (1 << 14) /* Bit 14: Bank1 Reserved, Bank 2 special sector selection bit */
#define FLASH_CR_CRCEN (1 << 15) /* Bit 15: CRC control enable */ #define FLASH_CR_CRCEN (1 << 15) /* Bit 15: CRC control enable */

View File

@ -32,10 +32,6 @@
#include "arm_internal.h" #include "arm_internal.h"
/************************************************************************************
* Pre-processor Definitions
************************************************************************************/
/* Peripherals **********************************************************************/ /* Peripherals **********************************************************************/
#include "chip.h" #include "chip.h"

View File

@ -56,7 +56,9 @@
#define STM32_HSE_FREQUENCY STM32_BOARD_XTAL #define STM32_HSE_FREQUENCY STM32_BOARD_XTAL
#define STM32_LSE_FREQUENCY 32768 /* X2 on board */ #define STM32_LSE_FREQUENCY 32768 /* X2 on board */
/* PLL source is HSE/1, PLL multipler is 9: PLL frequency is 8MHz (XTAL) x 9 = 72MHz */ /* PLL source is HSE/1, PLL multipler is 9:
* PLL frequency is 8MHz (XTAL) x 9 = 72MHz
*/
#define STM32_CFGR_PLLSRC RCC_CFGR_PLLSRC #define STM32_CFGR_PLLSRC RCC_CFGR_PLLSRC
#define STM32_CFGR_PLLXTPRE 0 #define STM32_CFGR_PLLXTPRE 0
@ -97,6 +99,7 @@
#define STM32_APB1_TIM4_CLKIN (2*STM32_PCLK1_FREQUENCY) #define STM32_APB1_TIM4_CLKIN (2*STM32_PCLK1_FREQUENCY)
/* LED definitions **********************************************************/ /* LED definitions **********************************************************/
/* The Nucleo F103RB board has three LEDs. Two of these are controlled by /* The Nucleo F103RB board has three LEDs. Two of these are controlled by
* logic on the board and are not available for software control: * logic on the board and are not available for software control:
* *
@ -150,6 +153,7 @@
#define LED_PANIC 1 #define LED_PANIC 1
/* Button definitions *******************************************************/ /* Button definitions *******************************************************/
/* The Nucleo F103RB supports two buttons; only one button is controllable /* The Nucleo F103RB supports two buttons; only one button is controllable
* by software: * by software:
* *
@ -166,6 +170,7 @@
/* Alternate function pin selections ****************************************/ /* Alternate function pin selections ****************************************/
/* DMA channels *************************************************************/ /* DMA channels *************************************************************/
/* ADC */ /* ADC */
#define ADC1_DMA_CHAN DMACHAN_ADC1 /* DMA1_CH1 */ #define ADC1_DMA_CHAN DMACHAN_ADC1 /* DMA1_CH1 */

View File

@ -32,6 +32,7 @@
****************************************************************************/ ****************************************************************************/
/* LED definitions **********************************************************/ /* LED definitions **********************************************************/
/* The Nucleo F103RB board has three LEDs. Two of these are controlled by /* The Nucleo F103RB board has three LEDs. Two of these are controlled by
* logic on the board and are not available for software control: * logic on the board and are not available for software control:
* *
@ -55,6 +56,7 @@
#define LED_DRIVER_PATH "/dev/userleds" #define LED_DRIVER_PATH "/dev/userleds"
/* Button definitions *******************************************************/ /* Button definitions *******************************************************/
/* The Nucleo F103RB supports two buttons; only one button is controllable /* The Nucleo F103RB supports two buttons; only one button is controllable
* by software: * by software:
* *

View File

@ -56,6 +56,7 @@
#endif #endif
/* The number of ADC channels in the conversion list */ /* The number of ADC channels in the conversion list */
/* TODO DMA */ /* TODO DMA */
#define ADC1_NCHANNELS 3 #define ADC1_NCHANNELS 3
@ -174,6 +175,7 @@ int stm32_adc_setup(void)
if (!initialized) if (!initialized)
{ {
/* DEV1 */ /* DEV1 */
/* Configure the pins as analog inputs for the selected channels */ /* Configure the pins as analog inputs for the selected channels */
for (i = 0; i < DEV1_NCHANNELS; i++) for (i = 0; i < DEV1_NCHANNELS; i++)
@ -202,6 +204,7 @@ int stm32_adc_setup(void)
#ifdef DEV2_PORT #ifdef DEV2_PORT
/* DEV2 */ /* DEV2 */
/* Configure the pins as analog inputs for the selected channels */ /* Configure the pins as analog inputs for the selected channels */
for (i = 0; i < DEV2_NCHANNELS; i++) for (i = 0; i < DEV2_NCHANNELS; i++)
@ -229,7 +232,6 @@ int stm32_adc_setup(void)
#endif #endif
initialized = true; initialized = true;
} }
return OK; return OK;

View File

@ -38,7 +38,8 @@
/**************************************************************************** /****************************************************************************
* Pre-processor Definitions * Pre-processor Definitions
****************************************************************************/ ****************************************************************************/
/* Configuration *******************************************************************/
/* Configuration ************************************************************/
#define HAVE_PWM 1 #define HAVE_PWM 1

View File

@ -60,10 +60,14 @@
* *
* Formulae: * Formulae:
* *
* VCO input frequency = PLL input clock frequency / PLLM, 2 <= PLLM <= 63 * VCO input frequency =
* VCO output frequency = VCO input frequency × PLLN, 50 <= PLLN <= 432 * PLL input clock frequency / PLLM, 2 <= PLLM <= 63
* PLL output clock frequency = VCO frequency / PLLP, PLLP = 2, 4, 6, or 8 * VCO output frequency =
* USB OTG FS clock frequency = VCO frequency / PLLQ, 2 <= PLLQ <= 15 * VCO input frequency × PLLN, 50 <= PLLN <= 432
* PLL output clock frequency =
* VCO frequency / PLLP, PLLP = 2, 4, 6, or 8
* USB OTG FS clock frequency =
* VCO frequency / PLLQ, 2 <= PLLQ <= 15
* *
* We will configure like this * We will configure like this
* *
@ -123,11 +127,13 @@
#define STM32_APB1_TIM14_CLKIN (2*STM32_PCLK1_FREQUENCY) #define STM32_APB1_TIM14_CLKIN (2*STM32_PCLK1_FREQUENCY)
/* LED definitions **********************************************************/ /* LED definitions **********************************************************/
/* The Nucleo-144 board has numerous LEDs but only three, LD1 a Green LED, LD2 a Blue
* LED and LD3 a Red LED, that can be controlled by software. The following /* The Nucleo-144 board has numerous LEDs but only three, LD1 a Green LED,
* definitions assume the default Solder Bridges are installed. * LD2 a Blue LED and LD3 a Red LED, that can be controlled by software.
* The following definitions assume the default Solder Bridges are installed.
* *
* If CONFIG_ARCH_LEDS is not defined, then the user can control the LEDs in any way. * If CONFIG_ARCH_LEDS is not defined, then the user can control the LEDs
* in any way.
* The following definitions are used to access individual LEDs. * The following definitions are used to access individual LEDs.
*/ */
@ -149,13 +155,14 @@
#define BOARD_LED3_BIT (1 << BOARD_LED3) #define BOARD_LED3_BIT (1 << BOARD_LED3)
/* If CONFIG_ARCH_LEDS is defined, the usage by the board port is defined in /* If CONFIG_ARCH_LEDS is defined, the usage by the board port is defined in
* include/board.h and src/stm32_leds.c. The LEDs are used to encode OS-related * include/board.h and src/stm32_leds.c. The LEDs are used to encode
* events as follows: * OS-related events as follows:
* *
* *
* SYMBOL Meaning LED state * SYMBOL Meaning LED state
* Red Green Blue * Red Green Blue
* ---------------------- -------------------------- ------ ------ ----*/ * ---------------------- -------------------------- ------ ------ ----
*/
#define LED_STARTED 0 /* NuttX has been started OFF OFF OFF */ #define LED_STARTED 0 /* NuttX has been started OFF OFF OFF */
#define LED_HEAPALLOCATE 1 /* Heap has been allocated OFF OFF ON */ #define LED_HEAPALLOCATE 1 /* Heap has been allocated OFF OFF ON */
@ -168,8 +175,10 @@
#define LED_IDLE 8 /* MCU is is sleep mode ON OFF OFF */ #define LED_IDLE 8 /* MCU is is sleep mode ON OFF OFF */
/* Button definitions *******************************************************/ /* Button definitions *******************************************************/
/* The NUCLEO board supports one button: Pushbutton B1, labeled "User", is /* The NUCLEO board supports one button: Pushbutton B1, labeled "User", is
* connected to GPIO PC13. A high value will be sensed when the button is depressed. * connected to GPIO PC13. A high value will be sensed when the button is
* depressed.
*/ */
#define BUTTON_USER 0 #define BUTTON_USER 0
@ -178,6 +187,7 @@
#define BUTTON_USER_BIT (1 << BUTTON_USER) #define BUTTON_USER_BIT (1 << BUTTON_USER)
/* Alternate function pin selections ****************************************/ /* Alternate function pin selections ****************************************/
/* USART3 (Nucleo Virtual Console) */ /* USART3 (Nucleo Virtual Console) */
#define GPIO_USART3_RX GPIO_USART3_RX_3 /* PD9 */ #define GPIO_USART3_RX GPIO_USART3_RX_3 /* PD9 */
@ -195,6 +205,7 @@
#define GPIO_TIM1_CH3NOUT GPIO_TIM1_CH3N_3 /* PE12 */ #define GPIO_TIM1_CH3NOUT GPIO_TIM1_CH3N_3 /* PE12 */
/* DMA channels *************************************************************/ /* DMA channels *************************************************************/
/* ADC */ /* ADC */
#define ADC1_DMA_CHAN DMAMAP_ADC1_1 #define ADC1_DMA_CHAN DMAMAP_ADC1_1

View File

@ -32,19 +32,20 @@
****************************************************************************/ ****************************************************************************/
/* LED definitions **********************************************************/ /* LED definitions **********************************************************/
/* LED /* LED
* *
* The Nucleo-144 board has numerous LEDs but only three, LD1 a Green LED, LD2 a * The Nucleo-144 board has numerous LEDs but only three, LD1 a Green LED,
* Blue LED and LD3 a Red LED, that can be controlled by software. The following * LD2 a Blue LED and LD3 a Red LED, that can be controlled by software.
* definitions assume the default Solder Bridges are installed. * The following definitions assume the default Solder Bridges are installed.
*/ */
#define GPIO_LD1 (GPIO_OUTPUT | GPIO_PUSHPULL | GPIO_SPEED_50MHz | GPIO_OUTPUT_CLEAR | \ #define GPIO_LD1 (GPIO_OUTPUT | GPIO_PUSHPULL | GPIO_SPEED_50MHz | \
GPIO_PORTB | GPIO_PIN0) GPIO_OUTPUT_CLEAR |GPIO_PORTB | GPIO_PIN0)
#define GPIO_LD2 (GPIO_OUTPUT | GPIO_PUSHPULL | GPIO_SPEED_50MHz | GPIO_OUTPUT_CLEAR | \ #define GPIO_LD2 (GPIO_OUTPUT | GPIO_PUSHPULL | GPIO_SPEED_50MHz | \
GPIO_PORTB | GPIO_PIN7) GPIO_OUTPUT_CLEAR | GPIO_PORTB | GPIO_PIN7)
#define GPIO_LD3 (GPIO_OUTPUT | GPIO_PUSHPULL | GPIO_SPEED_50MHz | GPIO_OUTPUT_CLEAR | \ #define GPIO_LD3 (GPIO_OUTPUT | GPIO_PUSHPULL | GPIO_SPEED_50MHz | \
GPIO_PORTB | GPIO_PIN14) GPIO_OUTPUT_CLEAR | GPIO_PORTB | GPIO_PIN14)
#define GPIO_LED_GREEN GPIO_LD1 #define GPIO_LED_GREEN GPIO_LD1
#define GPIO_LED_BLUE GPIO_LD2 #define GPIO_LED_BLUE GPIO_LD2
@ -53,6 +54,7 @@
#define LED_DRIVER_PATH "/dev/userleds" #define LED_DRIVER_PATH "/dev/userleds"
/* Button definitions *******************************************************/ /* Button definitions *******************************************************/
/* The Nucleo F207ZG supports two buttons; only one button is controllable /* The Nucleo F207ZG supports two buttons; only one button is controllable
* by software: * by software:
* *

View File

@ -58,6 +58,7 @@
#endif #endif
/* The number of ADC channels in the conversion list */ /* The number of ADC channels in the conversion list */
/* TODO DMA */ /* TODO DMA */
#define ADC1_NCHANNELS 3 #define ADC1_NCHANNELS 3
@ -176,6 +177,7 @@ int stm32_adc_setup(void)
if (!initialized) if (!initialized)
{ {
/* DEV1 */ /* DEV1 */
/* Configure the pins as analog inputs for the selected channels */ /* Configure the pins as analog inputs for the selected channels */
for (i = 0; i < DEV1_NCHANNELS; i++) for (i = 0; i < DEV1_NCHANNELS; i++)
@ -203,6 +205,7 @@ int stm32_adc_setup(void)
#ifdef DEV2_PORT #ifdef DEV2_PORT
/* DEV2 */ /* DEV2 */
/* Configure the pins as analog inputs for the selected channels */ /* Configure the pins as analog inputs for the selected channels */
for (i = 0; i < DEV2_NCHANNELS; i++) for (i = 0; i < DEV2_NCHANNELS; i++)

View File

@ -38,7 +38,8 @@
/**************************************************************************** /****************************************************************************
* Pre-processor Definitions * Pre-processor Definitions
****************************************************************************/ ****************************************************************************/
/* Configuration *******************************************************************/
/* Configuration ************************************************************/
#define HAVE_PWM 1 #define HAVE_PWM 1

View File

@ -38,7 +38,8 @@
/**************************************************************************** /****************************************************************************
* Pre-processor Definitions * Pre-processor Definitions
****************************************************************************/ ****************************************************************************/
/* Configuration *******************************************************************/
/* Configuration ************************************************************/
#define HAVE_PWM 1 #define HAVE_PWM 1

View File

@ -57,7 +57,9 @@
#define STM32_HSE_FREQUENCY STM32_BOARD_XTAL #define STM32_HSE_FREQUENCY STM32_BOARD_XTAL
#define STM32_LSE_FREQUENCY 32768 /* X2 on board */ #define STM32_LSE_FREQUENCY 32768 /* X2 on board */
/* PLL source is HSE/1, PLL multipler is 9: PLL frequency is 8MHz (XTAL) x 9 = 72MHz */ /* PLL source is HSE/1, PLL multipler is 9:
* PLL frequency is 8MHz (XTAL) x 9 = 72MHz
*/
#define STM32_CFGR_PLLSRC RCC_CFGR_PLLSRC #define STM32_CFGR_PLLSRC RCC_CFGR_PLLSRC
#define STM32_CFGR_PLLXTPRE 0 #define STM32_CFGR_PLLXTPRE 0
@ -124,11 +126,13 @@
#define BOARD_TIM8_FREQUENCY STM32_HCLK_FREQUENCY #define BOARD_TIM8_FREQUENCY STM32_HCLK_FREQUENCY
/* LED definitions **********************************************************/ /* LED definitions **********************************************************/
/* The Nucleo-144 board has numerous LEDs but only three, LD1 a Green LED, LD2 a Blue
* LED and LD3 a Red LED, that can be controlled by software. The following /* The Nucleo-144 board has numerous LEDs but only three, LD1 a Green LED,
* definitions assume the default Solder Bridges are installed. * LD2 a Blue LED and LD3 a Red LED, that can be controlled by software.
* The following definitions assume the default Solder Bridges are installed.
* *
* If CONFIG_ARCH_LEDS is not defined, then the user can control the LEDs in any way. * If CONFIG_ARCH_LEDS is not defined, then the user can control the LEDs
* in any way.
* The following definitions are used to access individual LEDs. * The following definitions are used to access individual LEDs.
*/ */
@ -150,13 +154,14 @@
#define BOARD_LED3_BIT (1 << BOARD_LED3) #define BOARD_LED3_BIT (1 << BOARD_LED3)
/* If CONFIG_ARCH_LEDS is defined, the usage by the board port is defined in /* If CONFIG_ARCH_LEDS is defined, the usage by the board port is defined in
* include/board.h and src/stm32_leds.c. The LEDs are used to encode OS-related * include/board.h and src/stm32_leds.c. The LEDs are used to encode
* events as follows: * OS-related events as follows:
* *
* *
* SYMBOL Meaning LED state * SYMBOL Meaning LED state
* Red Green Blue * Red Green Blue
* ---------------------- -------------------------- ------ ------ ----*/ * ---------------------- -------------------------- ------ ------ ----
*/
#define LED_STARTED 0 /* NuttX has been started OFF OFF OFF */ #define LED_STARTED 0 /* NuttX has been started OFF OFF OFF */
#define LED_HEAPALLOCATE 1 /* Heap has been allocated OFF OFF ON */ #define LED_HEAPALLOCATE 1 /* Heap has been allocated OFF OFF ON */
@ -169,8 +174,10 @@
#define LED_IDLE 8 /* MCU is is sleep mode ON OFF OFF */ #define LED_IDLE 8 /* MCU is is sleep mode ON OFF OFF */
/* Button definitions *******************************************************/ /* Button definitions *******************************************************/
/* The NUCLEO board supports one button: Pushbutton B1, labeled "User", is /* The NUCLEO board supports one button: Pushbutton B1, labeled "User", is
* connected to GPIO PC13. A high value will be sensed when the button is depressed. * connected to GPIO PC13. A high value will be sensed when the button is
* depressed.
*/ */
#define BUTTON_USER 0 #define BUTTON_USER 0
@ -179,6 +186,7 @@
#define BUTTON_USER_BIT (1 << BUTTON_USER) #define BUTTON_USER_BIT (1 << BUTTON_USER)
/* Alternate function pin selections ****************************************/ /* Alternate function pin selections ****************************************/
/* USART3 (Nucleo Virtual Console) */ /* USART3 (Nucleo Virtual Console) */
#define GPIO_USART3_RX GPIO_USART3_RX_3 /* PD9 */ #define GPIO_USART3_RX GPIO_USART3_RX_3 /* PD9 */

View File

@ -32,19 +32,20 @@
****************************************************************************/ ****************************************************************************/
/* LED definitions **********************************************************/ /* LED definitions **********************************************************/
/* LED /* LED
* *
* The Nucleo-144 board has numerous LEDs but only three, LD1 a Green LED, LD2 a * The Nucleo-144 board has numerous LEDs but only three, LD1 a Green LED,
* Blue LED and LD3 a Red LED, that can be controlled by software. The following * LD2 a Blue LED and LD3 a Red LED, that can be controlled by software.
* definitions assume the default Solder Bridges are installed. * The following definitions assume the default Solder Bridges are installed.
*/ */
#define GPIO_LD1 (GPIO_OUTPUT | GPIO_PUSHPULL | GPIO_SPEED_50MHz | GPIO_OUTPUT_CLEAR | \ #define GPIO_LD1 (GPIO_OUTPUT | GPIO_PUSHPULL | GPIO_SPEED_50MHz | \
GPIO_PORTB | GPIO_PIN0) GPIO_OUTPUT_CLEAR | GPIO_PORTB | GPIO_PIN0)
#define GPIO_LD2 (GPIO_OUTPUT | GPIO_PUSHPULL | GPIO_SPEED_50MHz | GPIO_OUTPUT_CLEAR | \ #define GPIO_LD2 (GPIO_OUTPUT | GPIO_PUSHPULL | GPIO_SPEED_50MHz | \
GPIO_PORTB | GPIO_PIN7) GPIO_OUTPUT_CLEAR | GPIO_PORTB | GPIO_PIN7)
#define GPIO_LD3 (GPIO_OUTPUT | GPIO_PUSHPULL | GPIO_SPEED_50MHz | GPIO_OUTPUT_CLEAR | \ #define GPIO_LD3 (GPIO_OUTPUT | GPIO_PUSHPULL | GPIO_SPEED_50MHz | \
GPIO_PORTB | GPIO_PIN14) GPIO_OUTPUT_CLEAR | GPIO_PORTB | GPIO_PIN14)
#define GPIO_LED_GREEN GPIO_LD1 #define GPIO_LED_GREEN GPIO_LD1
#define GPIO_LED_BLUE GPIO_LD2 #define GPIO_LED_BLUE GPIO_LD2
@ -53,6 +54,7 @@
#define LED_DRIVER_PATH "/dev/userleds" #define LED_DRIVER_PATH "/dev/userleds"
/* Button definitions *******************************************************/ /* Button definitions *******************************************************/
/* The Nucleo F303ZE supports two buttons; only one button is controllable /* The Nucleo F303ZE supports two buttons; only one button is controllable
* by software: * by software:
* *

View File

@ -58,6 +58,7 @@
#endif #endif
/* The number of ADC channels in the conversion list */ /* The number of ADC channels in the conversion list */
/* TODO DMA */ /* TODO DMA */
#define ADC1_NCHANNELS 3 #define ADC1_NCHANNELS 3
@ -176,6 +177,7 @@ int stm32_adc_setup(void)
if (!initialized) if (!initialized)
{ {
/* DEV1 */ /* DEV1 */
/* Configure the pins as analog inputs for the selected channels */ /* Configure the pins as analog inputs for the selected channels */
for (i = 0; i < DEV1_NCHANNELS; i++) for (i = 0; i < DEV1_NCHANNELS; i++)
@ -203,6 +205,7 @@ int stm32_adc_setup(void)
#ifdef DEV2_PORT #ifdef DEV2_PORT
/* DEV2 */ /* DEV2 */
/* Configure the pins as analog inputs for the selected channels */ /* Configure the pins as analog inputs for the selected channels */
for (i = 0; i < DEV2_NCHANNELS; i++) for (i = 0; i < DEV2_NCHANNELS; i++)

View File

@ -32,6 +32,7 @@
****************************************************************************/ ****************************************************************************/
/* LED definitions **********************************************************/ /* LED definitions **********************************************************/
/* The Nucleo F334R8 board has three LEDs. Two of these are controlled by /* The Nucleo F334R8 board has three LEDs. Two of these are controlled by
* logic on the board and are not available for software control: * logic on the board and are not available for software control:
* *
@ -55,6 +56,7 @@
#define LED_DRIVER_PATH "/dev/userleds" #define LED_DRIVER_PATH "/dev/userleds"
/* Button definitions *******************************************************/ /* Button definitions *******************************************************/
/* The Nucleo F334R8 supports two buttons; only one button is controllable /* The Nucleo F334R8 supports two buttons; only one button is controllable
* by software: * by software:
* *
@ -72,6 +74,7 @@
#define GPIO_BTN_USER (GPIO_INPUT|GPIO_FLOAT|GPIO_EXTI|GPIO_PORTC|GPIO_PIN13) #define GPIO_BTN_USER (GPIO_INPUT|GPIO_FLOAT|GPIO_EXTI|GPIO_PORTC|GPIO_PIN13)
/* PWM definitions **********************************************************/ /* PWM definitions **********************************************************/
/* The Nucleo F334R8 has no real on-board PWM devices, but the board can be /* The Nucleo F334R8 has no real on-board PWM devices, but the board can be
* configured to output a pulse train using variously unused pins on the * configured to output a pulse train using variously unused pins on the
* board for PWM output (see board.h for details of pins). * board for PWM output (see board.h for details of pins).
@ -114,7 +117,8 @@ void weak_function stm32_spidev_initialize(void);
* Configure the timer driver. * Configure the timer driver.
* *
* Input Parameters: * Input Parameters:
* devpath - The full path to the timer device. This should be of the form /dev/timer0 * devpath - The full path to the timer device.
* This should be of the form /dev/timer0
* timer - The timer's number. * timer - The timer's number.
* *
* Returned Value: * Returned Value:

View File

@ -56,6 +56,7 @@
#endif #endif
/* The number of ADC channels in the conversion list */ /* The number of ADC channels in the conversion list */
/* TODO DMA */ /* TODO DMA */
#define ADC1_NCHANNELS 3 #define ADC1_NCHANNELS 3
@ -174,6 +175,7 @@ int stm32_adc_setup(void)
if (!initialized) if (!initialized)
{ {
/* DEV1 */ /* DEV1 */
/* Configure the pins as analog inputs for the selected channels */ /* Configure the pins as analog inputs for the selected channels */
for (i = 0; i < DEV1_NCHANNELS; i++) for (i = 0; i < DEV1_NCHANNELS; i++)
@ -202,6 +204,7 @@ int stm32_adc_setup(void)
#ifdef DEV2_PORT #ifdef DEV2_PORT
/* DEV2 */ /* DEV2 */
/* Configure the pins as analog inputs for the selected channels */ /* Configure the pins as analog inputs for the selected channels */
for (i = 0; i < DEV2_NCHANNELS; i++) for (i = 0; i < DEV2_NCHANNELS; i++)
@ -229,7 +232,6 @@ int stm32_adc_setup(void)
#endif #endif
initialized = true; initialized = true;
} }
return OK; return OK;

View File

@ -62,11 +62,9 @@
void stm32_boardinitialize(void) void stm32_boardinitialize(void)
{ {
#ifdef CONFIG_ARCH_LEDS #ifdef CONFIG_ARCH_LEDS
/* Configure on-board LEDs if LED support has been selected. */ /* Configure on-board LEDs if LED support has been selected. */
board_autoled_initialize(); board_autoled_initialize();
#endif #endif
} }

View File

@ -66,7 +66,7 @@
int stm32_comp_setup(void) int stm32_comp_setup(void)
{ {
static bool initialized = false; static bool initialized = false;
struct comp_dev_s* comp = NULL; struct comp_dev_s *comp = NULL;
int ret; int ret;
if (!initialized) if (!initialized)

View File

@ -52,7 +52,7 @@
int stm32_hrtim_setup(void) int stm32_hrtim_setup(void)
{ {
static bool initialized = false; static bool initialized = false;
struct hrtim_dev_s* hrtim = NULL; struct hrtim_dev_s *hrtim = NULL;
int ret; int ret;
if (!initialized) if (!initialized)

View File

@ -50,7 +50,7 @@
int stm32_opamp_setup(void) int stm32_opamp_setup(void)
{ {
static bool initialized = false; static bool initialized = false;
struct opamp_dev_s* opamp = NULL; struct opamp_dev_s *opamp = NULL;
int ret; int ret;
if (!initialized) if (!initialized)

View File

@ -43,16 +43,19 @@
/* Clocking *****************************************************************/ /* Clocking *****************************************************************/
/* Four different clock sources can be used to drive the system clock (SYSCLK): /* Four different clock sources can be used to drive the system clock
* (SYSCLK):
* *
* - HSI high-speed internal oscillator clock * - HSI high-speed internal oscillator clock
* Generated from an internal 16 MHz RC oscillator * Generated from an internal 16 MHz RC oscillator
* - HSE high-speed external oscillator clock. 8 MHz from MCO output of ST-LINK. * - HSE high-speed external oscillator clock. 8 MHz from MCO output of
* ST-LINK.
* - PLL clock * - PLL clock
* - MSI multispeed internal oscillator clock * - MSI multispeed internal oscillator clock
* The MSI clock signal is generated from an internal RC oscillator. Seven frequency * The MSI clock signal is generated from an internal RC oscillator.
* ranges are available: 65.536 kHz, 131.072 kHz, 262.144 kHz, 524.288 kHz, 1.048 MHz, * Seven frequency ranges are available: 65.536 kHz, 131.072 kHz,
* 2.097 MHz (default value) and 4.194 MHz. * 262.144 kHz, 524.288 kHz, 1.048 MHz, 2.097 MHz (default value)
* and 4.194 MHz.
* *
* The devices have the following two secondary clock sources * The devices have the following two secondary clock sources
* - LSI low-speed internal RC clock * - LSI low-speed internal RC clock
@ -82,13 +85,15 @@
* MHz frequency. This is required to provide a 48 MHz clock to the USB or * MHz frequency. This is required to provide a 48 MHz clock to the USB or
* SDIO (SDIOCLK or USBCLK = PLLVCO/2). * SDIO (SDIOCLK or USBCLK = PLLVCO/2).
* SYSCLK * SYSCLK
* The system clock is derived from the PLL VCO divided by the output division factor. * The system clock is derived from the PLL VCO divided by the output
* division factor.
* Limitations: * Limitations:
* 96 MHz as PLLVCO when the product is in range 1 (1.8V), * 96 MHz as PLLVCO when the product is in range 1 (1.8V),
* 48 MHz as PLLVCO when the product is in range 2 (1.5V), * 48 MHz as PLLVCO when the product is in range 2 (1.5V),
* 24 MHz when the product is in range 3 (1.2V). * 24 MHz when the product is in range 3 (1.2V).
* Output division to avoid exceeding 32 MHz as SYSCLK. * Output division to avoid exceeding 32 MHz as SYSCLK.
* The minimum input clock frequency for PLL is 2 MHz (when using HSE as PLL source). * The minimum input clock frequency for PLL is 2 MHz (when using HSE as
* PLL source).
*/ */
#if 1 #if 1
@ -104,8 +109,8 @@
#define STM32_PLL_FREQUENCY (6*STM32_HSI_FREQUENCY) /* PLL VCO Frequency is 96MHz */ #define STM32_PLL_FREQUENCY (6*STM32_HSI_FREQUENCY) /* PLL VCO Frequency is 96MHz */
#endif #endif
/* Use the PLL and set the SYSCLK source to be the divided down PLL VCO output /* Use the PLL and set the SYSCLK source to be the divided down PLL VCO
* frequency (STM32_PLL_FREQUENCY divided by the PLLDIV value). * output frequency (STM32_PLL_FREQUENCY divided by the PLLDIV value).
*/ */
#define STM32_SYSCLK_SW RCC_CFGR_SW_PLL #define STM32_SYSCLK_SW RCC_CFGR_SW_PLL
@ -132,6 +137,7 @@
/* TODO: Timers */ /* TODO: Timers */
/* LED definitions **********************************************************/ /* LED definitions **********************************************************/
/* The Nucleo L152RE board has three LEDs. Two of these are controlled by /* The Nucleo L152RE board has three LEDs. Two of these are controlled by
* logic on the board and are not available for software control: * logic on the board and are not available for software control:
* *
@ -185,6 +191,7 @@
#define LED_PANIC 1 #define LED_PANIC 1
/* Button definitions *******************************************************/ /* Button definitions *******************************************************/
/* The Nucleo L152RE supports two buttons; only one button is controllable /* The Nucleo L152RE supports two buttons; only one button is controllable
* by software: * by software:
* *

View File

@ -56,7 +56,9 @@
#define STM32_HSE_FREQUENCY STM32_BOARD_XTAL #define STM32_HSE_FREQUENCY STM32_BOARD_XTAL
#define STM32_LSE_FREQUENCY 32768 /* X2 on board */ #define STM32_LSE_FREQUENCY 32768 /* X2 on board */
/* PLL source is HSE/1, PLL multipler is 9: PLL frequency is 8MHz (XTAL) x 9 = 72MHz */ /* PLL source is HSE/1, PLL multipler is 9:
* PLL frequency is 8MHz (XTAL) x 9 = 72MHz
*/
#define STM32_CFGR_PLLSRC RCC_CFGR_PLLSRC #define STM32_CFGR_PLLSRC RCC_CFGR_PLLSRC
#define STM32_CFGR_PLLXTPRE 0 #define STM32_CFGR_PLLXTPRE 0
@ -137,8 +139,9 @@
#define BOARD_LED3_BIT (1 << BOARD_LED3) #define BOARD_LED3_BIT (1 << BOARD_LED3)
#define BOARD_LED4_BIT (1 << BOARD_LED4) #define BOARD_LED4_BIT (1 << BOARD_LED4)
/* If CONFIG_ARCH_LEDs is defined, then NuttX will control the 4 LEDs on board the /* If CONFIG_ARCH_LEDs is defined, then NuttX will control the 4 LEDs on
* stm32f334-disco. The following definitions describe how NuttX controls the LEDs: * board the stm32f334-disco. The following definitions describe how NuttX
* controls the LEDs:
*/ */
#define LED_STARTED 0 /* LED1 */ #define LED_STARTED 0 /* LED1 */
@ -151,6 +154,7 @@
#define LED_PANIC 7 /* N/C + N/C + N/C + LED4 */ #define LED_PANIC 7 /* N/C + N/C + N/C + LED4 */
/* Button definitions *******************************************************/ /* Button definitions *******************************************************/
/* The STM32F334-DISCO supports two buttons; only one button is controllable /* The STM32F334-DISCO supports two buttons; only one button is controllable
* by software: * by software:
* *
@ -165,6 +169,7 @@
#define BUTTON_USER_BIT (1 << BUTTON_USER) #define BUTTON_USER_BIT (1 << BUTTON_USER)
/* Alternate function pin selections ****************************************/ /* Alternate function pin selections ****************************************/
/* CAN */ /* CAN */
#define GPIO_CAN1_RX GPIO_CAN_RX_2 #define GPIO_CAN1_RX GPIO_CAN_RX_2

View File

@ -56,6 +56,7 @@
#endif #endif
/* The number of ADC channels in the conversion list */ /* The number of ADC channels in the conversion list */
/* TODO DMA */ /* TODO DMA */
#define ADC1_NCHANNELS 3 #define ADC1_NCHANNELS 3
@ -174,6 +175,7 @@ int stm32_adc_setup(void)
if (!initialized) if (!initialized)
{ {
/* DEV1 */ /* DEV1 */
/* Configure the pins as analog inputs for the selected channels */ /* Configure the pins as analog inputs for the selected channels */
for (i = 0; i < DEV1_NCHANNELS; i++) for (i = 0; i < DEV1_NCHANNELS; i++)
@ -200,8 +202,8 @@ int stm32_adc_setup(void)
} }
#ifdef DEV2_PORT #ifdef DEV2_PORT
/* DEV2 */ /* DEV2 */
/* Configure the pins as analog inputs for the selected channels */ /* Configure the pins as analog inputs for the selected channels */
for (i = 0; i < DEV2_NCHANNELS; i++) for (i = 0; i < DEV2_NCHANNELS; i++)
@ -229,7 +231,6 @@ int stm32_adc_setup(void)
#endif #endif
initialized = true; initialized = true;
} }
return OK; return OK;

View File

@ -62,11 +62,9 @@
void stm32_boardinitialize(void) void stm32_boardinitialize(void)
{ {
#ifdef CONFIG_ARCH_LEDS #ifdef CONFIG_ARCH_LEDS
/* Configure on-board LEDs if LED support has been selected. */ /* Configure on-board LEDs if LED support has been selected. */
board_autoled_initialize(); board_autoled_initialize();
#endif #endif
} }

View File

@ -66,7 +66,7 @@
int stm32_comp_setup(void) int stm32_comp_setup(void)
{ {
static bool initialized = false; static bool initialized = false;
struct comp_dev_s* comp = NULL; struct comp_dev_s *comp = NULL;
int ret; int ret;
if (!initialized) if (!initialized)

View File

@ -52,7 +52,7 @@
int stm32_hrtim_setup(void) int stm32_hrtim_setup(void)
{ {
static bool initialized = false; static bool initialized = false;
struct hrtim_dev_s* hrtim = NULL; struct hrtim_dev_s *hrtim = NULL;
int ret; int ret;
if (!initialized) if (!initialized)

View File

@ -50,7 +50,7 @@
int stm32_opamp_setup(void) int stm32_opamp_setup(void)
{ {
static bool initialized = false; static bool initialized = false;
struct opamp_dev_s* opamp = NULL; struct opamp_dev_s *opamp = NULL;
int ret; int ret;
if (!initialized) if (!initialized)

View File

@ -84,15 +84,15 @@
/* Maximum onboard LED current is 350mA */ /* Maximum onboard LED current is 350mA */
#define LED_ABSOLUTE_CURRENT_LIMIT_mA 250 #define LED_ABSOLUTE_CURRENT_LIMIT 250 /* in mA */
#if (CONFIG_EXAMPLES_POWERLED_CURRENT_LIMIT > LED_ABSOLUTE_CURRENT_LIMIT_mA) #if (CONFIG_EXAMPLES_POWERLED_CURRENT_LIMIT > LED_ABSOLUTE_CURRENT_LIMIT)
# error "Board LED maximum current is 250 mA" # error "Board LED maximum current is 250 mA"
#endif #endif
/* Voltage reference for DAC */ /* Voltage reference for DAC (in mV) */
#define DAC_REF_VOLTAGE_mV 3300 #define DAC_REV_VOLTAGE 3300
/* DAC resolution */ /* DAC resolution */
@ -196,7 +196,8 @@ struct powerled_lower_dev_s g_powerled_lower;
static int powerled_shutdown(FAR struct powerled_dev_s *dev) static int powerled_shutdown(FAR struct powerled_dev_s *dev)
{ {
FAR struct powerled_s *powerled = (FAR struct powerled_s *)dev->priv; FAR struct powerled_s *powerled = (FAR struct powerled_s *)dev->priv;
FAR struct powerled_priv_s *priv = (struct powerled_priv_s *)powerled->priv; FAR struct powerled_priv_s *priv =
(struct powerled_priv_s *)powerled->priv;
/* Stop powerled if running */ /* Stop powerled if running */
@ -265,20 +266,22 @@ static int powerled_setup(FAR struct powerled_dev_s *dev)
static int powerled_start(FAR struct powerled_dev_s *dev) static int powerled_start(FAR struct powerled_dev_s *dev)
{ {
FAR struct powerled_lower_dev_s *lower = dev->lower; FAR struct powerled_lower_dev_s *lower = dev->lower;
FAR struct powerled_s *powerled = (FAR struct powerled_s *)dev->priv; FAR struct powerled_s *powerled =
(FAR struct powerled_s *)dev->priv;
FAR struct hrtim_dev_s *hrtim = lower->hrtim; FAR struct hrtim_dev_s *hrtim = lower->hrtim;
FAR struct dac_dev_s *dac = lower->dac; FAR struct dac_dev_s *dac = lower->dac;
FAR struct powerled_priv_s *priv = (struct powerled_priv_s *)powerled->priv; FAR struct powerled_priv_s *priv =
(struct powerled_priv_s *)powerled->priv;
uint16_t burst_cmp = 0; uint16_t burst_cmp = 0;
uint16_t burst_per = 0; uint16_t burst_per = 0;
uint16_t burst_pre = 0; uint16_t burst_pre = 0;
int current_av_mA = 0; int current_av = 0;
int current_max_mA; int current_max;
int i; int i;
/* Set max current in mA */ /* Set max current in mA */
current_max_mA = (int)(powerled->limits.current * 1000); current_max = (int)(powerled->limits.current * 1000);
/* Stop HRTIM PWM */ /* Stop HRTIM PWM */
@ -291,37 +294,39 @@ static int powerled_start(FAR struct powerled_dev_s *dev)
{ {
/* Average current set to max */ /* Average current set to max */
current_av_mA = (uint16_t)(current_max_mA); current_av = (uint16_t)(current_max);
/* Dimming through burst mode IDLE state */ /* Dimming through burst mode IDLE state */
burst_pre = HRTIM_BURST_PRESCALER_1; burst_pre = HRTIM_BURST_PRESCALER_1;
burst_per = 1000; burst_per = 1000;
burst_cmp = (uint16_t)(((float)burst_per)* burst_cmp = (uint16_t)(((float)burst_per) *
(100.0-powerled->param.brightness)/100.0); (100.0 - powerled->param.brightness) / 100.0);
} }
else if (powerled->opmode == POWERLED_OPMODE_FLASH) else if (powerled->opmode == POWERLED_OPMODE_FLASH)
{ {
/* Average current - brightness */ /* Average current - brightness */
/* Flashing through burst mode IDLE state */ /* Flashing through burst mode IDLE state */
/* Maximum brightness is achieved when average LED current is equalt to /* Maximum brightness is achieved when average LED current is equalt to
* LED current limit, and there is no IDLE state */ * LED current limit, and there is no IDLE state
*/
current_av_mA = (uint16_t)(powerled->param.brightness * current_max_mA current_av = (uint16_t)(powerled->param.brightness * current_max
/ POWERLED_BRIGHTNESS_MAX); / POWERLED_BRIGHTNESS_MAX);
/* HRTIM clock = 144000000 Hz /* HRTIM clock = 144000000 Hz
* HRTIM burst prescaler = 32768, * HRTIM burst prescaler = 32768,
* HRTIM burst clock = 4394 Hz * HRTIM burst clock = 4394 Hz
*/ */
burst_pre = HRTIM_BURST_PRESCALER_32768; burst_pre = HRTIM_BURST_PRESCALER_32768;
burst_per = (uint16_t)(((float)HRTIM_CLOCK/(1<<burst_pre))/ burst_per = (uint16_t)(((float)HRTIM_CLOCK / (1 << burst_pre)) /
powerled->param.frequency); powerled->param.frequency);
burst_cmp = (uint16_t)((float)burst_per*((100-powerled->param.duty)/100.0)); burst_cmp = (uint16_t)((float)burst_per *
((100 - powerled->param.duty) / 100.0));
} }
/* Configure DAC buffer */ /* Configure DAC buffer */
@ -330,7 +335,7 @@ static int powerled_start(FAR struct powerled_dev_s *dev)
{ {
/* TODO: add slope compensation */ /* TODO: add slope compensation */
priv->current_tab[i] = current_av_mA ; priv->current_tab[i] = current_av ;
} }
/* Convert current sense value thresholds for DAC */ /* Convert current sense value thresholds for DAC */
@ -338,7 +343,7 @@ static int powerled_start(FAR struct powerled_dev_s *dev)
for (i = 0; i < CONFIG_STM32_DAC1CH1_DMA_BUFFER_SIZE; i += 1) for (i = 0; i < CONFIG_STM32_DAC1CH1_DMA_BUFFER_SIZE; i += 1)
{ {
priv->dacbuffer[i] = priv->dacbuffer[i] =
priv->current_tab[i] * DAC_RESOLUTION / DAC_REF_VOLTAGE_mV; priv->current_tab[i] * DAC_RESOLUTION / DAC_REV_VOLTAGE;
} }
/* Write DAC buffer */ /* Write DAC buffer */
@ -399,8 +404,10 @@ static int powerled_stop(FAR struct powerled_dev_s *dev)
{ {
FAR struct powerled_lower_dev_s *lower = dev->lower; FAR struct powerled_lower_dev_s *lower = dev->lower;
FAR struct hrtim_dev_s *hrtim = lower->hrtim; FAR struct hrtim_dev_s *hrtim = lower->hrtim;
FAR struct powerled_s *powerled = (FAR struct powerled_s *)dev->priv; FAR struct powerled_s *powerled =
FAR struct powerled_priv_s *priv = (struct powerled_priv_s *)powerled->priv; (FAR struct powerled_s *)dev->priv;
FAR struct powerled_priv_s *priv =
(struct powerled_priv_s *)powerled->priv;
/* Disable output */ /* Disable output */
@ -474,9 +481,9 @@ static int powerled_limits_set(FAR struct powerled_dev_s *dev,
goto errout; goto errout;
} }
if (limits->current * 1000 > LED_ABSOLUTE_CURRENT_LIMIT_mA) if (limits->current * 1000 > LED_ABSOLUTE_CURRENT_LIMIT)
{ {
limits->current = (float)LED_ABSOLUTE_CURRENT_LIMIT_mA/1000.0; limits->current = (float)LED_ABSOLUTE_CURRENT_LIMIT / 1000.0;
pwrwarn("WARNING: " pwrwarn("WARNING: "
"LED current limiit > LED absolute current limit." "LED current limiit > LED absolute current limit."
" Set current limit to %d.\n", " Set current limit to %d.\n",
@ -512,21 +519,24 @@ static int powerled_fault_set(FAR struct powerled_dev_s *dev, uint8_t fault)
return -1; return -1;
} }
static int powerled_fault_get(FAR struct powerled_dev_s *dev, FAR uint8_t *fault) static int powerled_fault_get(FAR struct powerled_dev_s *dev,
FAR uint8_t *fault)
{ {
/* Do nothing */ /* Do nothing */
return -1; return -1;
} }
static int powerled_fault_clean(FAR struct powerled_dev_s *dev, uint8_t fault) static int powerled_fault_clean(FAR struct powerled_dev_s *dev,
uint8_t fault)
{ {
/* Do nothing */ /* Do nothing */
return -1; return -1;
} }
static int powerled_ioctl(FAR struct powerled_dev_s *dev, int cmd, unsigned long arg) static int powerled_ioctl(FAR struct powerled_dev_s *dev, int cmd,
unsigned long arg)
{ {
/* Do nothing */ /* Do nothing */
@ -578,7 +588,8 @@ int stm32_powerled_setup(void)
dac = stm32_dacinitialize(DAC_CURRENT_LIMIT); dac = stm32_dacinitialize(DAC_CURRENT_LIMIT);
if (dac == NULL) if (dac == NULL)
{ {
pwrerr("ERROR: Failed to get DAC %d interface\n", DAC_CURRENT_LIMIT); pwrerr("ERROR: Failed to get DAC %d interface\n",
DAC_CURRENT_LIMIT);
return -ENODEV; return -ENODEV;
} }
@ -600,7 +611,8 @@ int stm32_powerled_setup(void)
lower->adc = NULL; lower->adc = NULL;
lower->opamp = NULL; lower->opamp = NULL;
/* We do not need register character drivers for POWERLED lower peripherals. /* We do not need register character drivers for POWERLED lower
* peripherals.
* All control should be done via POWERLED character driver. * All control should be done via POWERLED character driver.
*/ */

View File

@ -53,6 +53,7 @@
#define GPIO_BTN_USER (GPIO_INPUT|GPIO_FLOAT|GPIO_EXTI|GPIO_PORTA|GPIO_PIN0) #define GPIO_BTN_USER (GPIO_INPUT|GPIO_FLOAT|GPIO_EXTI|GPIO_PORTA|GPIO_PIN0)
/* PWM definitions **********************************************************/ /* PWM definitions **********************************************************/
/* The STM32F334-DISCO has no real on-board PWM devices, but the board can be /* The STM32F334-DISCO has no real on-board PWM devices, but the board can be
* configured to output a pulse train using variously unused pins on the * configured to output a pulse train using variously unused pins on the
* board for PWM output (see board.h for details of pins). * board for PWM output (see board.h for details of pins).
@ -95,7 +96,8 @@ void weak_function stm32_spidev_initialize(void);
* Configure the timer driver. * Configure the timer driver.
* *
* Input Parameters: * Input Parameters:
* devpath - The full path to the timer device. This should be of the form /dev/timer0 * devpath - The full path to the timer device.
* This should be of the form /dev/timer0
* timer - The timer's number. * timer - The timer's number.
* *
* Returned Value: * Returned Value:

View File

@ -58,6 +58,7 @@
#endif #endif
/* The number of ADC channels in the conversion list */ /* The number of ADC channels in the conversion list */
/* TODO DMA */ /* TODO DMA */
#define ADC1_NCHANNELS 2 #define ADC1_NCHANNELS 2
@ -170,6 +171,7 @@ int stm32_adc_setup(void)
if (!initialized) if (!initialized)
{ {
/* DEV1 */ /* DEV1 */
/* Configure the pins as analog inputs for the selected channels */ /* Configure the pins as analog inputs for the selected channels */
for (i = 0; i < DEV1_NCHANNELS; i++) for (i = 0; i < DEV1_NCHANNELS; i++)
@ -197,6 +199,7 @@ int stm32_adc_setup(void)
#ifdef DEV2_PORT #ifdef DEV2_PORT
/* DEV2 */ /* DEV2 */
/* Configure the pins as analog inputs for the selected channels */ /* Configure the pins as analog inputs for the selected channels */
for (i = 0; i < DEV2_NCHANNELS; i++) for (i = 0; i < DEV2_NCHANNELS; i++)

View File

@ -127,7 +127,7 @@ void stm32_spi1select(FAR struct spi_dev_s *dev, uint32_t devid,
#ifdef CONFIG_LPWAN_SX127X #ifdef CONFIG_LPWAN_SX127X
case SPIDEV_LPWAN(0): case SPIDEV_LPWAN(0):
{ {
piinfo("SX127X device %s\n", spiinfo("SX127X device %s\n",
selected ? "asserted" : "de-asserted"); selected ? "asserted" : "de-asserted");
/* Set the GPIO low to select and high to de-select */ /* Set the GPIO low to select and high to de-select */

View File

@ -165,7 +165,8 @@ static int sx127x_pa_select(bool enable)
if (enable == false) if (enable == false)
{ {
ret = -EINVAL; ret = -EINVAL;
wlerr("Module supports only PA_BOOST pin, so PA_SELECT must be enabled!\n"); wlerr("Module supports only PA_BOOST pin, "
"so PA_SELECT must be enabled!\n");
} }
return ret; return ret;

View File

@ -61,7 +61,7 @@
* CONFIG_BOARD_LATE_INITIALIZE=y : * CONFIG_BOARD_LATE_INITIALIZE=y :
* Called from board_late_initialize(). * Called from board_late_initialize().
* *
* CONFIG_BOARD_LATE_INITIALIZE=n && CONFIG_LIB_BOARDCTL=y && CONFIG_NSH_ARCHINIT: * CONFIG_BOARD_LATE_INITIALIZE=n && CONFIG_LIB_BOARDCTL=y :
* Called from the NSH library * Called from the NSH library
* *
****************************************************************************/ ****************************************************************************/
@ -76,7 +76,8 @@ int stm32_bringup(void)
ret = userled_lower_initialize(LED_DRIVER_PATH); ret = userled_lower_initialize(LED_DRIVER_PATH);
if (ret < 0) if (ret < 0)
{ {
syslog(LOG_ERR, "ERROR: userled_lower_initialize() failed: %d\n", ret); syslog(LOG_ERR, "ERROR: userled_lower_initialize() failed: %d\n",
ret);
return ret; return ret;
} }
#endif #endif
@ -125,7 +126,8 @@ int stm32_bringup(void)
ret = stm32_wlinitialize(); ret = stm32_wlinitialize();
if (ret < 0) if (ret < 0)
{ {
syslog(LOG_ERR, "ERROR: Failed to initialize wireless driver: %d\n", ret); syslog(LOG_ERR, "ERROR: Failed to initialize wireless driver: %d\n",
ret);
} }
#endif /* CONFIG_WL_NRF24L01 */ #endif /* CONFIG_WL_NRF24L01 */
@ -133,7 +135,8 @@ int stm32_bringup(void)
ret = stm32_lpwaninitialize(); ret = stm32_lpwaninitialize();
if (ret < 0) if (ret < 0)
{ {
syslog(LOG_ERR, "ERROR: Failed to initialize wireless driver: %d\n", ret); syslog(LOG_ERR, "ERROR: Failed to initialize wireless driver: %d\n",
ret);
} }
#endif /* CONFIG_LPWAN_SX127X */ #endif /* CONFIG_LPWAN_SX127X */

View File

@ -1,4 +1,4 @@
/***************************************************************************** /****************************************************************************
* boards/arm/stm32h7/nucleo-h743zi/src/stm32_lsm303agr.c * boards/arm/stm32h7/nucleo-h743zi/src/stm32_lsm303agr.c
* *
* Licensed to the Apache Software Foundation (ASF) under one or more * Licensed to the Apache Software Foundation (ASF) under one or more
@ -18,7 +18,7 @@
* *
****************************************************************************/ ****************************************************************************/
/***************************************************************************** /****************************************************************************
* Included Files * Included Files
****************************************************************************/ ****************************************************************************/
@ -33,7 +33,7 @@
#include <nucleo-h743zi.h> #include <nucleo-h743zi.h>
#include <nuttx/sensors/lsm303agr.h> #include <nuttx/sensors/lsm303agr.h>
/***************************************************************************** /****************************************************************************
* Pre-processor Definitions * Pre-processor Definitions
****************************************************************************/ ****************************************************************************/
@ -41,15 +41,16 @@
# error "LSM303AGR driver requires CONFIG_STM32H7_I2C1 to be enabled" # error "LSM303AGR driver requires CONFIG_STM32H7_I2C1 to be enabled"
#endif #endif
/***************************************************************************** /****************************************************************************
* Public Functions * Public Functions
****************************************************************************/ ****************************************************************************/
/***************************************************************************** /****************************************************************************
* Name: stm32_lsm303agr_initialize * Name: stm32_lsm303agr_initialize
* *
* Description: * Description:
* Initialize I2C-based LSM303AGR. * Initialize I2C-based LSM303AGR.
*
****************************************************************************/ ****************************************************************************/
int stm32_lsm303agr_initialize(char *devpath) int stm32_lsm303agr_initialize(char *devpath)
@ -66,10 +67,12 @@ int stm32_lsm303agr_initialize(char *devpath)
return -ENODEV; return -ENODEV;
} }
ret = lsm303agr_sensor_register("/dev/lsm303agr0", i2c, LSM303AGRMAGNETO_ADDR); ret = lsm303agr_sensor_register("/dev/lsm303agr0", i2c,
LSM303AGRMAGNETO_ADDR);
if (ret < 0) if (ret < 0)
{ {
snerr("ERROR: Failed to initialize LMS303AGR magneto driver %s\n", devpath); snerr("ERROR: Failed to initialize LMS303AGR magneto driver %s\n",
devpath);
return -ENODEV; return -ENODEV;
} }

View File

@ -1,4 +1,4 @@
/***************************************************************************** /****************************************************************************
* boards/arm/stm32h7/nucleo-h743zi/src/stm32_lsm6dsl.c * boards/arm/stm32h7/nucleo-h743zi/src/stm32_lsm6dsl.c
* *
* Licensed to the Apache Software Foundation (ASF) under one or more * Licensed to the Apache Software Foundation (ASF) under one or more
@ -18,7 +18,7 @@
* *
****************************************************************************/ ****************************************************************************/
/***************************************************************************** /****************************************************************************
* Included Files * Included Files
****************************************************************************/ ****************************************************************************/
@ -33,7 +33,7 @@
#include <nucleo-h743zi.h> #include <nucleo-h743zi.h>
#include <nuttx/sensors/lsm6dsl.h> #include <nuttx/sensors/lsm6dsl.h>
/***************************************************************************** /****************************************************************************
* Pre-processor Definitions * Pre-processor Definitions
****************************************************************************/ ****************************************************************************/
@ -41,15 +41,16 @@
# error "LSM6DSL driver requires CONFIG_STM32H7_I2C1 to be enabled" # error "LSM6DSL driver requires CONFIG_STM32H7_I2C1 to be enabled"
#endif #endif
/***************************************************************************** /****************************************************************************
* Public Functions * Public Functions
****************************************************************************/ ****************************************************************************/
/***************************************************************************** /****************************************************************************
* Name: stm32_lsm6dsl_initialize * Name: stm32_lsm6dsl_initialize
* *
* Description: * Description:
* Initialize I2C-based LSM6DSL. * Initialize I2C-based LSM6DSL.
*
****************************************************************************/ ****************************************************************************/
int stm32_lsm6dsl_initialize(char *devpath) int stm32_lsm6dsl_initialize(char *devpath)
@ -70,12 +71,14 @@ int stm32_lsm6dsl_initialize(char *devpath)
return -ENODEV; return -ENODEV;
} }
sninfo("INFO: Initializing LMS6DSL accelero-gyro sensor over I2C%d\n", ret); sninfo("INFO: Initializing LMS6DSL accelero-gyro sensor over I2C%d\n",
ret);
ret = lsm6dsl_sensor_register(devpath, i2c, LSM6DSLACCEL_ADDR1); ret = lsm6dsl_sensor_register(devpath, i2c, LSM6DSLACCEL_ADDR1);
if (ret < 0) if (ret < 0)
{ {
snerr("ERROR: Failed to initialize LMS6DSL accelero-gyro driver %s\n", devpath); snerr("ERROR: Failed to initialize LMS6DSL accelero-gyro driver %s\n",
devpath);
return -ENODEV; return -ENODEV;
} }

View File

@ -1,4 +1,4 @@
/***************************************************************************** /****************************************************************************
* boards/arm/stm32h7/nucleo-h743zi/src/stm32_lsm9ds1.c * boards/arm/stm32h7/nucleo-h743zi/src/stm32_lsm9ds1.c
* *
* Licensed to the Apache Software Foundation (ASF) under one or more * Licensed to the Apache Software Foundation (ASF) under one or more
@ -18,7 +18,7 @@
* *
****************************************************************************/ ****************************************************************************/
/***************************************************************************** /****************************************************************************
* Included Files * Included Files
****************************************************************************/ ****************************************************************************/
@ -33,7 +33,7 @@
#include <nucleo-h743zi.h> #include <nucleo-h743zi.h>
#include <nuttx/sensors/lsm9ds1.h> #include <nuttx/sensors/lsm9ds1.h>
/***************************************************************************** /****************************************************************************
* Pre-processor Definitions * Pre-processor Definitions
****************************************************************************/ ****************************************************************************/
@ -45,15 +45,16 @@
#define LSM9DS1ACC_DEVPATH "/dev/lsm9ds1acc0" #define LSM9DS1ACC_DEVPATH "/dev/lsm9ds1acc0"
#define LSM9DS1GYR_DEVPATH "/dev/lsm9ds1gyr0" #define LSM9DS1GYR_DEVPATH "/dev/lsm9ds1gyr0"
/***************************************************************************** /****************************************************************************
* Public Functions * Public Functions
****************************************************************************/ ****************************************************************************/
/***************************************************************************** /****************************************************************************
* Name: stm32_lsm9ds1_initialize * Name: stm32_lsm9ds1_initialize
* *
* Description: * Description:
* Initialize I2C-based LSM9DS1. * Initialize I2C-based LSM9DS1.
*
****************************************************************************/ ****************************************************************************/
int stm32_lsm9ds1_initialize(void) int stm32_lsm9ds1_initialize(void)