diff options
Diffstat (limited to 'os')
| -rw-r--r-- | os/hal/ports/STM32/LLD/xWDGv1/wdg_lld.c | 2 | ||||
| -rw-r--r-- | os/hal/ports/STM32/LLD/xWDGv1/wdg_lld.h | 6 | ||||
| -rw-r--r-- | os/hal/templates/wdg_lld.c | 101 | ||||
| -rw-r--r-- | os/hal/templates/wdg_lld.h | 114 | 
4 files changed, 219 insertions, 4 deletions
| diff --git a/os/hal/ports/STM32/LLD/xWDGv1/wdg_lld.c b/os/hal/ports/STM32/LLD/xWDGv1/wdg_lld.c index 9f02347ba..94f2c8569 100644 --- a/os/hal/ports/STM32/LLD/xWDGv1/wdg_lld.c +++ b/os/hal/ports/STM32/LLD/xWDGv1/wdg_lld.c @@ -15,7 +15,7 @@  */
  /**
 - * @file    templates/wdg_lld.c
 + * @file    wdg_lld.c
   * @brief   WDG Driver subsystem low level driver source.
   *
   * @addtogroup WDG
 diff --git a/os/hal/ports/STM32/LLD/xWDGv1/wdg_lld.h b/os/hal/ports/STM32/LLD/xWDGv1/wdg_lld.h index f4055b24d..828808d5e 100644 --- a/os/hal/ports/STM32/LLD/xWDGv1/wdg_lld.h +++ b/os/hal/ports/STM32/LLD/xWDGv1/wdg_lld.h @@ -118,17 +118,17 @@ typedef struct {     * @brief   Configuration of the IWDG_PR register.
     * @details See the STM32 reference manual for details.
     */
 -  uint8_t     pr;
 +  uint32_t    pr;
    /**
     * @brief   Configuration of the IWDG_RLR register.
     * @details See the STM32 reference manual for details.
     */
 -  uint16_t    rlr;
 +  uint32_t    rlr;
    /**
     * @brief   Configuration of the IWDG_WINR register.
     * @details See the STM32 reference manual for details.
     */
 -  uint16_t    winr;
 +  uint32_t    winr;
  } WDGConfig;
  /**
 diff --git a/os/hal/templates/wdg_lld.c b/os/hal/templates/wdg_lld.c new file mode 100644 index 000000000..4732928ac --- /dev/null +++ b/os/hal/templates/wdg_lld.c @@ -0,0 +1,101 @@ +/*
 +    ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
 +
 +    Licensed under the Apache License, Version 2.0 (the "License");
 +    you may not use this file except in compliance with the License.
 +    You may obtain a copy of the License at
 +
 +        http://www.apache.org/licenses/LICENSE-2.0
 +
 +    Unless required by applicable law or agreed to in writing, software
 +    distributed under the License is distributed on an "AS IS" BASIS,
 +    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 +    See the License for the specific language governing permissions and
 +    limitations under the License.
 +*/
 +
 +/**
 + * @file    templates/wdg_lld.c
 + * @brief   WDG Driver subsystem low level driver source template.
 + *
 + * @addtogroup WDG
 + * @{
 + */
 +
 +#include "hal.h"
 +
 +#if HAL_USE_WDG || defined(__DOXYGEN__)
 +
 +/*===========================================================================*/
 +/* Driver local definitions.                                                 */
 +/*===========================================================================*/
 +
 +/*===========================================================================*/
 +/* Driver exported variables.                                                */
 +/*===========================================================================*/
 +
 +#if STM32_WDG_USE_WDG1 || defined(__DOXYGEN__)
 +WDGDriver WDGD1;
 +#endif
 +
 +/*===========================================================================*/
 +/* Driver local variables.                                                   */
 +/*===========================================================================*/
 +
 +/*===========================================================================*/
 +/* Driver local functions.                                                   */
 +/*===========================================================================*/
 +
 +/*===========================================================================*/
 +/* Driver interrupt handlers.                                                */
 +/*===========================================================================*/
 +
 +/*===========================================================================*/
 +/* Driver exported functions.                                                */
 +/*===========================================================================*/
 +
 +/**
 + * @brief   Low level WDG driver initialization.
 + *
 + * @notapi
 + */
 +void wdg_lld_init(void) {
 +
 +}
 +
 +/**
 + * @brief   Configures and activates the WDG peripheral.
 + *
 + * @param[in] wdgp      pointer to the @p WDGDriver object
 + *
 + * @notapi
 + */
 +void wdg_lld_start(WDGDriver *wdgp) {
 +
 +}
 +
 +/**
 + * @brief   Deactivates the WDG peripheral.
 + *
 + * @param[in] wdgp      pointer to the @p WDGDriver object
 + *
 + * @api
 + */
 +void wdg_lld_stop(WDGDriver *wdgp) {
 +
 +}
 +
 +/**
 + * @brief   Reloads WDG's counter.
 + *
 + * @param[in] idwgp pointer to the @p WDGDriver object
 + *
 + * @notapi
 + */
 +void wdg_lld_reset(WDGDriver * wdgp) {
 +
 +}
 +
 +#endif /* HAL_USE_WDG */
 +
 +/** @} */
 diff --git a/os/hal/templates/wdg_lld.h b/os/hal/templates/wdg_lld.h new file mode 100644 index 000000000..d49dac8ac --- /dev/null +++ b/os/hal/templates/wdg_lld.h @@ -0,0 +1,114 @@ +/*
 +    ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
 +
 +    Licensed under the Apache License, Version 2.0 (the "License");
 +    you may not use this file except in compliance with the License.
 +    You may obtain a copy of the License at
 +
 +        http://www.apache.org/licenses/LICENSE-2.0
 +
 +    Unless required by applicable law or agreed to in writing, software
 +    distributed under the License is distributed on an "AS IS" BASIS,
 +    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 +    See the License for the specific language governing permissions and
 +    limitations under the License.
 +*/
 +
 +/**
 + * @file    templates/wdg_lld.h
 + * @brief   WDG Driver subsystem low level driver header template.
 + *
 + * @addtogroup WDG
 + * @{
 + */
 +
 +#ifndef _WDG_LLD_H_
 +#define _WDG_LLD_H_
 +
 +#if HAL_USE_WDG || defined(__DOXYGEN__)
 +
 +/*===========================================================================*/
 +/* Driver constants.                                                         */
 +/*===========================================================================*/
 +
 +/*===========================================================================*/
 +/* Driver pre-compile time settings.                                         */
 +/*===========================================================================*/
 +
 +/**
 + * @name    Configuration options
 + * @{
 + */
 +/**
 + * @brief   WDG1 driver enable switch.
 + * @details If set to @p TRUE the support for IWDG is included.
 + * @note    The default is @p FALSE.
 + */
 +#if !defined(STM32_WDG_USE_WDG1) || defined(__DOXYGEN__)
 +#define STM32_WDG_USE_WDG1                  FALSE
 +#endif
 +/** @} */
 +
 +/*===========================================================================*/
 +/* Derived constants and error checks.                                       */
 +/*===========================================================================*/
 +
 +/*===========================================================================*/
 +/* Driver data structures and types.                                         */
 +/*===========================================================================*/
 +
 +/**
 + * @brief   Type of a structure representing an WDG driver.
 + */
 +typedef struct WDGDriver WDGDriver;
 +
 +/**
 + * @brief   Driver configuration structure.
 + * @note    It could be empty on some architectures.
 + */
 +typedef struct {
 +} WDGConfig;
 +
 +/**
 + * @brief   Structure representing an WDG driver.
 + */
 +struct WDGDriver {
 +  /**
 +   * @brief   Driver state.
 +   */
 +  wdgstate_t                state;
 +  /**
 +   * @brief   Current configuration data.
 +   */
 +  const WDGConfig           *config;
 +  /* End of the mandatory fields.*/
 +};
 +
 +/*===========================================================================*/
 +/* Driver macros.                                                            */
 +/*===========================================================================*/
 +
 +/*===========================================================================*/
 +/* External declarations.                                                    */
 +/*===========================================================================*/
 +
 +#if STM32_WDG_USE_IWDG && !defined(__DOXYGEN__)
 +extern WDGDriver WDGD1;
 +#endif
 +
 +#ifdef __cplusplus
 +extern "C" {
 +#endif
 +  void wdg_lld_init(void);
 +  void wdg_lld_start(WDGDriver *wdgp);
 +  void wdg_lld_stop(WDGDriver *wdgp);
 +  void wdg_lld_reset(WDGDriver *wdgp);
 +#ifdef __cplusplus
 +}
 +#endif
 +
 +#endif /* HAL_USE_WDG */
 +
 +#endif /* _WDG_LLD_H_ */
 +
 +/** @} */
 | 
