dcmotor12 2.1.0.0
dcmotor12.h File Reference

This file contains API for DC Motor 12 Click Driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_spi_master.h"
#include "spi_specifics.h"
#include "drv_i2c_master.h"
#include "drv_analog_in.h"

Go to the source code of this file.

Data Structures

struct  dcmotor12_t
 DC Motor 12 Click context object. More...
 
struct  dcmotor12_cfg_t
 DC Motor 12 Click configuration object. More...
 

Macros

#define DCMOTOR12_REG_STATUS1   0x01
 DC Motor 12 registers list.
 
#define DCMOTOR12_REG_STATUS2   0x02
 
#define DCMOTOR12_REG_STATUS3   0x03
 
#define DCMOTOR12_REG_CONFIG1   0x04
 
#define DCMOTOR12_REG_CONFIG2   0x05
 
#define DCMOTOR12_REG_CONFIG3   0x06
 
#define DCMOTOR12_REG_CONFIG4   0x07
 
#define DCMOTOR12_REG_CONFIG5   0x08
 
#define DCMOTOR12_REG_CONFIG6   0x09
 
#define DCMOTOR12_REG_CONFIG7   0x0A
 
#define DCMOTOR12_REG_INPUT   0x00
 DC Motor 12 PCA9538A registers.
 
#define DCMOTOR12_REG_OUTPUT   0x01
 
#define DCMOTOR12_REG_POLARITY   0x02
 
#define DCMOTOR12_REG_CONFIG   0x03
 
#define DCMOTOR12_CONFIG12_OPEN_LOAD_NOP_100US   0x000000ul
 DC Motor 12 CONFIG1/2 register settings.
 
#define DCMOTOR12_CONFIG12_OPEN_LOAD_NOP_50US   0x002000ul
 
#define DCMOTOR12_CONFIG12_OPEN_LOAD_NOP_500US   0x004000ul
 
#define DCMOTOR12_CONFIG12_OPEN_LOAD_NOP_MASK   0x006000ul
 
#define DCMOTOR12_CONFIG12_DUTY_OFF_LOW_SIDE   0x000000ul
 
#define DCMOTOR12_CONFIG12_DUTY_OFF_HIGH_SIDE   0x001000ul
 
#define DCMOTOR12_CONFIG12_DUTY_OFF_MASK   0x001000ul
 
#define DCMOTOR12_CONFIG12_VBAT_UVC_0US   0x000000ul
 
#define DCMOTOR12_CONFIG12_VBAT_UVC_100US   0x000800ul
 
#define DCMOTOR12_CONFIG12_VBAT_UVC_MASK   0x000800ul
 
#define DCMOTOR12_CONFIG12_CLIMIT_UP_6p5A   0x000000ul
 
#define DCMOTOR12_CONFIG12_CLIMIT_UP_4p6A   0x000400ul
 
#define DCMOTOR12_CONFIG12_CLIMIT_UP_MASK   0x000400ul
 
#define DCMOTOR12_CONFIG12_CLIMIT_LOW_0p25A   0x000000ul
 
#define DCMOTOR12_CONFIG12_CLIMIT_LOW_0p5A   0x000200ul
 
#define DCMOTOR12_CONFIG12_CLIMIT_LOW_MASK   0x000200ul
 
#define DCMOTOR12_CONFIG12_CLIMIT_LOW_0p25A   0x000000ul
 
#define DCMOTOR12_CONFIG12_CLIMIT_LOW_0p5A   0x000200ul
 
#define DCMOTOR12_CONFIG12_OPEN_LOAD_OP_200mA   0x000000ul
 
#define DCMOTOR12_CONFIG12_OPEN_LOAD_OP_100mA   0x000080ul
 
#define DCMOTOR12_CONFIG12_OPEN_LOAD_OP_300mA   0x000100ul
 
#define DCMOTOR12_CONFIG12_OPEN_LOAD_OP_MASK   0x000180ul
 
#define DCMOTOR12_CONFIG12_SR_MODE_NORMAL   0x000000ul
 
#define DCMOTOR12_CONFIG12_SR_MODE_SLOW1   0x000010ul
 
#define DCMOTOR12_CONFIG12_SR_MODE_SLOW2   0x000020ul
 
#define DCMOTOR12_CONFIG12_SR_MODE_SLOW3   0x000030ul
 
#define DCMOTOR12_CONFIG12_SR_MODE_SLOW4   0x000040ul
 
#define DCMOTOR12_CONFIG12_SR_MODE_FAST2   0x000050ul
 
#define DCMOTOR12_CONFIG12_SR_MODE_FAST1   0x000060ul
 
#define DCMOTOR12_CONFIG12_SR_MODE_MASK   0x000070ul
 
#define DCMOTOR12_CONFIG12_OC_LATCH   0x000000ul
 
#define DCMOTOR12_CONFIG12_OC_AUTO   0x000008ul
 
#define DCMOTOR12_CONFIG12_OC_MASK   0x000008ul
 
#define DCMOTOR12_CONFIG12_OC_LATCH   0x000000ul
 
#define DCMOTOR12_CONFIG12_OC_AUTO   0x000008ul
 
#define DCMOTOR12_CONFIG12_SPI_DISR_10mS   0x000000ul
 
#define DCMOTOR12_CONFIG12_SPI_DISR_100mS   0x000002ul
 
#define DCMOTOR12_CONFIG12_SPI_DISR_1S   0x000004ul
 
#define DCMOTOR12_CONFIG12_SPI_DISR_DISABLE   0x000006ul
 
#define DCMOTOR12_CONFIG12_SPI_DISR_MASK   0x000006ul
 
#define DCMOTOR12_CONFIG12_OPMODE_DISR_OFF   0x000000ul
 
#define DCMOTOR12_CONFIG12_OPMODE_DISR_CONTINUE   0x000001ul
 
#define DCMOTOR12_CONFIG12_OPMODE_DISR_MASK   0x000001ul
 
#define DCMOTOR12_CONFIG56_MOTOR_OPMODE_MAX   3u
 DC Motor 12 CONFIG5/6 register settings.
 
#define DCMOTOR12_CONFIG56_MOTOR_OPMODE_SHIFT   22ul
 
#define DCMOTOR12_CONFIG56_MOTOR_OPMODE_MASK   0xC00000ul
 
#define DCMOTOR12_CONFIG56_DRV_FREQ_MAX   2047u
 
#define DCMOTOR12_CONFIG56_DRV_FREQ_SHIFT   11ul
 
#define DCMOTOR12_CONFIG56_DRV_FREQ_MASK   0x3FF800ul
 
#define DCMOTOR12_CONFIG56_DUTY_PERIOD_MAX   2047u
 
#define DCMOTOR12_CONFIG56_DUTY_PERIOD_SHIFT   0ul
 
#define DCMOTOR12_CONFIG56_DUTY_PERIOD_MASK   0x0007FFul
 
#define DCMOTOR12_DIAG1_PIN   0x01
 DC Motor 12 PCA9538A pin mask.
 
#define DCMOTOR12_DIAG2_PIN   0x02
 
#define DCMOTOR12_EN1_PIN   0x04
 
#define DCMOTOR12_EN2_PIN   0x08
 
#define DCMOTOR12_CM_SEL_PIN   0x10
 
#define DCMOTOR12_SLP_PIN   0x20
 
#define DCMOTOR12_DEFAULT_CONFIG   0xE3
 DC Motor 12 PCA9538A pin direction config.
 
#define DCMOTOR12_MODE_OUTPUT_OFF   0x00
 DC Motor 12 channel operation mode settings.
 
#define DCMOTOR12_MODE_FORWARD   0x01
 
#define DCMOTOR12_MODE_REVERSE   0x02
 
#define DCMOTOR12_MODE_BRAKE   0x03
 
#define DCMOTOR12_PIN_LOW_LEVEL   0
 DC Motor 12 pin logic level setting.
 
#define DCMOTOR12_PIN_HIGH_LEVEL   1
 
#define DCMOTOR12_VREF_3V3   3.3
 DC Motor 12 ADC setting.
 
#define DCMOTOR12_VREF_5V   5.0
 
#define DCMOTOR12_NUM_CONVERSIONS   5000
 DC Motor 12 current calculation values.
 
#define DCMOTOR12_RSENSE   220.0f
 
#define DCMOTOR12_VOLTAGE_TO_CURRENT   0.00238167f
 
#define DCMOTOR12_DEVICE_ADDRESS_A1A0_00   0x70
 DC Motor 12 device address setting.
 
#define DCMOTOR12_DEVICE_ADDRESS_A1A0_01   0x71
 
#define DCMOTOR12_DEVICE_ADDRESS_A1A0_10   0x72
 
#define DCMOTOR12_DEVICE_ADDRESS_A1A0_11   0x73
 
#define DCMOTOR12_SET_DATA_SAMPLE_EDGE   SET_SPI_DATA_SAMPLE_EDGE
 Data sample selection.
 
#define DCMOTOR12_SET_DATA_SAMPLE_MIDDLE   SET_SPI_DATA_SAMPLE_MIDDLE
 
#define DCMOTOR12_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.
 

Enumerations

enum  dcmotor12_return_value_t { DCMOTOR12_OK = 0 , DCMOTOR12_ERROR = -1 }
 DC Motor 12 Click return value data. More...
 

Functions

void dcmotor12_cfg_setup (dcmotor12_cfg_t *cfg)
 DC Motor 12 configuration object setup function.
 
err_t dcmotor12_init (dcmotor12_t *ctx, dcmotor12_cfg_t *cfg)
 DC Motor 12 initialization function.
 
err_t dcmotor12_default_cfg (dcmotor12_t *ctx)
 DC Motor 12 default configuration function.
 
err_t dcmotor12_write_register (dcmotor12_t *ctx, uint8_t reg, uint32_t data_in)
 DC Motor 12 write register function.
 
err_t dcmotor12_read_register (dcmotor12_t *ctx, uint8_t reg, uint32_t *data_out)
 DC Motor 12 read register function.
 
err_t dcmotor12_pca9538a_write_register (dcmotor12_t *ctx, uint8_t reg, uint8_t data_in)
 DC Motor 12 pca9538a write register function.
 
err_t dcmotor12_pca9538a_read_register (dcmotor12_t *ctx, uint8_t reg, uint8_t *data_out)
 DC Motor 12 pca9538a read register function.
 
void dcmotor12_enter_sleep_mode (dcmotor12_t *ctx)
 DC Motor 12 enter sleep mode function.
 
void dcmotor12_wake_up_device (dcmotor12_t *ctx)
 DC Motor 12 wake up device function.
 
uint8_t dcmotor12_get_int_pin (dcmotor12_t *ctx)
 DC Motor 12 get int pin function.
 
void dcmotor12_set_clk_pin (dcmotor12_t *ctx, uint8_t state)
 DC Motor 12 set clk pin function.
 
err_t dcmotor12_set_en1_pin (dcmotor12_t *ctx, uint8_t state)
 DC Motor 12 set en1 pin function.
 
err_t dcmotor12_get_en1_pin (dcmotor12_t *ctx, uint8_t *state)
 DC Motor 12 get en1 pin function.
 
err_t dcmotor12_set_en2_pin (dcmotor12_t *ctx, uint8_t state)
 DC Motor 12 set en2 pin function.
 
err_t dcmotor12_get_en2_pin (dcmotor12_t *ctx, uint8_t *state)
 DC Motor 12 get en2 pin function.
 
err_t dcmotor12_set_cm_sel_pin (dcmotor12_t *ctx, uint8_t state)
 DC Motor 12 set cm sel pin function.
 
err_t dcmotor12_get_cm_sel_pin (dcmotor12_t *ctx, uint8_t *state)
 DC Motor 12 get cm sel pin function.
 
err_t dcmotor12_get_diag1_pin (dcmotor12_t *ctx, uint8_t *state)
 DC Motor 12 get diag1 pin function.
 
err_t dcmotor12_get_diag2_pin (dcmotor12_t *ctx, uint8_t *state)
 DC Motor 12 get diag2 pin function.
 
err_t dcmotor12_get_sleep_pin (dcmotor12_t *ctx, uint8_t *state)
 DC Motor 12 get sleep pin function.
 
err_t dcmotor12_read_an_pin_value (dcmotor12_t *ctx, uint16_t *data_out)
 DC Motor 12 read AN pin value function.
 
err_t dcmotor12_read_an_pin_voltage (dcmotor12_t *ctx, float *data_out)
 DC Motor 12 read AN pin voltage level function.
 
err_t dcmotor12_get_motor_current (dcmotor12_t *ctx, float *current)
 DC Motor 12 get motor current function.
 
err_t dcmotor12_set_ch1_operation_mode (dcmotor12_t *ctx, uint8_t mode)
 DC Motor 12 set ch1 operation mode function.
 
err_t dcmotor12_set_ch2_operation_mode (dcmotor12_t *ctx, uint8_t mode)
 DC Motor 12 set ch2 operation mode function.
 
err_t dcmotor12_set_ch1_drive_frequency (dcmotor12_t *ctx, uint16_t drv_freq)
 DC Motor 12 set ch1 drive frequency function.
 
err_t dcmotor12_set_ch2_drive_frequency (dcmotor12_t *ctx, uint16_t drv_freq)
 DC Motor 12 set ch2 drive frequency function.
 
err_t dcmotor12_set_ch1_duty_period (dcmotor12_t *ctx, uint16_t duty_period)
 DC Motor 12 set ch1 duty period function.
 
err_t dcmotor12_set_ch2_duty_period (dcmotor12_t *ctx, uint16_t duty_period)
 DC Motor 12 set ch1 duty period function.
 

Detailed Description

This file contains API for DC Motor 12 Click Driver.

Enumeration Type Documentation

◆ dcmotor12_return_value_t

DC Motor 12 Click return value data.

Predefined enum values for driver return values.

Enumerator
DCMOTOR12_OK 
DCMOTOR12_ERROR