SmartSnippets DA1459x SDK
Data Structures | Typedefs | Enumerations | Functions
hw_quad_v2.h File Reference

Definition of API for the Quad Decoder Low Level Driver. More...

#include <stdbool.h>
#include <stdint.h>
#include "sdk_defs.h"

Go to the source code of this file.

Data Structures

struct  hw_quad_values_t
 Local Quadrature Decoder Counter and Deltas repository definition. More...
 
struct  hw_quad_config_t
 Initialization Struct for use with "hw_quad_init()". More...
 

Typedefs

typedef void(* hw_quad_handler_cb) (const volatile hw_quad_values_t *quad_values, void *user_data)
 Quadrature Decoder Interrupt Callback. More...
 

Enumerations

enum  HW_QUAD_REG_CLK
 Quadrature Decoder CTRL Clock Enable Status. More...
 
enum  HW_QUAD_REG_CTRL_IRQ_STATUS
 Quadrature Decoder CTRL Register IRQ Status.
 
enum  HW_QUAD_REG_CTRL_EVENT_CNT_CLR
 Quadrature Decoder CTRL Register Event Counter Clear.
 
enum  HW_QUAD_REG_CTRL_IRQ_EN
 Quadrature Decoder CTRL Register IRQ Status.
 
enum  HW_QUAD_REG_CTRL2_CHANNEL_EVENT_MODE
 Quadrature Decoder CTRL2 Register Channel X-Y-Z Event Mode.
 
enum  HW_QUAD_GPIO_INPUT
 Quadrature Decoder CTRL2 Register Channel X-Y-Z Port Selection.
 
enum  HW_QUAD_REG_CLOCKDIV_PRESCALER
 Quadrature Decoder CLOCKDIV Register Prescaler.
 

Functions

__STATIC_FORCEINLINE int16_t hw_quad_get_xcnt_reg (void)
 Get XCNT Register. More...
 
__STATIC_FORCEINLINE int16_t hw_quad_get_ycnt_reg (void)
 Get YCNT Register. More...
 
__STATIC_FORCEINLINE int16_t hw_quad_get_zcnt_reg (void)
 Get ZCNT Register. More...
 
__STATIC_FORCEINLINE uint8_t hw_quad_get_event_cnt_reg (void)
 Get Event Count Register. More...
 
__STATIC_FORCEINLINE void hw_quad_qdec_clk_en (HW_QUAD_REG_CLK enable)
 Quadrature Decoder Clock Enable/Disable. More...
 
__STATIC_FORCEINLINE void hw_quad_clr_event_cnt (void)
 Clear Event Count Register. More...
 
__STATIC_FORCEINLINE void hw_quad_clr_irq_status (void)
 Clear IRQ. More...
 
__STATIC_FORCEINLINE HW_QUAD_REG_CTRL_IRQ_EN hw_quad_return_irq_status (void)
 Return IRQ Status. More...
 
void hw_quad_interrupt_enable_and_register (hw_quad_handler_cb cb, uint8_t thres_num, void *user_data_p)
 Enable Interrupt. More...
 
void hw_quad_interrupt_disable_and_unregister (void)
 Disable Interrupt. More...
 
void hw_quad_start (void)
 Start Quadrature Decoder. More...
 
void hw_quad_stop (void)
 Stop Quadrature Decoder. More...
 
void hw_quad_disable (void)
 Disable Quadrature Decoder. More...
 
void hw_quad_init (const hw_quad_config_t *init_data)
 Initialize Quadrature Decoder. More...
 

Detailed Description

Definition of API for the Quad Decoder Low Level Driver.

Copyright (C) 2023 Renesas Electronics Corporation and/or its affiliates. All rights reserved. Confidential Information.

This software ("Software") is supplied by Renesas Electronics Corporation and/or its affiliates ("Renesas"). Renesas grants you a personal, non-exclusive, non-transferable, revocable, non-sub-licensable right and license to use the Software, solely if used in or together with Renesas products. You may make copies of this Software, provided this copyright notice and disclaimer ("Notice") is included in all such copies. Renesas reserves the right to change or discontinue the Software at any time without notice.

THE SOFTWARE IS PROVIDED "AS IS". RENESAS DISCLAIMS ALL WARRANTIES OF ANY KIND, WHETHER EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. TO THE MAXIMUM EXTENT PERMITTED UNDER LAW, IN NO EVENT SHALL RENESAS BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE, EVEN IF RENESAS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. USE OF THIS SOFTWARE MAY BE SUBJECT TO TERMS AND CONDITIONS CONTAINED IN AN ADDITIONAL AGREEMENT BETWEEN YOU AND RENESAS. IN CASE OF CONFLICT BETWEEN THE TERMS OF THIS NOTICE AND ANY SUCH ADDITIONAL LICENSE AGREEMENT, THE TERMS OF THE AGREEMENT SHALL TAKE PRECEDENCE. BY CONTINUING TO USE THIS SOFTWARE, YOU AGREE TO THE TERMS OF THIS NOTICE.IF YOU DO NOT AGREE TO THESE TERMS, YOU ARE NOT PERMITTED TO USE THIS SOFTWARE.