UUtzinger_DRV8704
0.1.1
Arduino library for the DRV8704 dual H-bridge gate driver
drv8704_defs.h
Go to the documentation of this file.
1
6
#ifndef DRV8704_DEFS_H
7
#define DRV8704_DEFS_H
8
9
#include <stdint.h>
10
#include <SPI.h>
11
12
#define DRV8704_SPI_SPEED 1000000U
13
#define DRV8704_SPI_MODE SPI_MODE0
14
#define DRV8704_SPI_ORDER MSBFIRST
15
16
#define DRV8704_WAKE_DELAY_US 1000U
17
#define DRV8704_RESET_PULSE_WIDTH_US 10U
18
#define DRV8704_RESET_RECOVERY_US 10U
19
20
#define DRV8704_MIN_INPUT_PWM_HZ 100U
21
#define DRV8704_MAX_INPUT_PWM_HZ 500000U
22
#define DRV8704_DEFAULT_INPUT_PWM_HZ 5000U
23
#define DRV8704_DEFAULT_PWM_RES_BITS 10U
24
#define DRV8704_MAX_PWM_RES_BITS 16U
25
26
#define DRV8704_REG_CTRL 0x00U
27
#define DRV8704_REG_TORQUE 0x01U
28
#define DRV8704_REG_OFF 0x02U
29
#define DRV8704_REG_BLANK 0x03U
30
#define DRV8704_REG_DECAY 0x04U
31
#define DRV8704_REG_RESERVED 0x05U
32
#define DRV8704_REG_DRIVE 0x06U
33
#define DRV8704_REG_STATUS 0x07U
34
35
#define DRV8704_REGISTER_COUNT 8U
36
#define DRV8704_REGISTER_MASK 0x0FFFU
37
#define DRV8704_ADDRESS_MASK 0x0007U
38
#define DRV8704_ADDRESS_SHIFT 12U
39
#define DRV8704_READ_BIT 0x8000U
40
#define DRV8704_WRITE_BIT 0x0000U
41
42
#define DRV8704_CTRL_DEFAULT 0x0301U
43
#define DRV8704_TORQUE_DEFAULT 0x00FFU
44
#define DRV8704_OFF_DEFAULT 0x0130U
45
#define DRV8704_BLANK_DEFAULT 0x0080U
46
#define DRV8704_DECAY_DEFAULT 0x0010U
47
#define DRV8704_DRIVE_DEFAULT 0x0FA5U
48
#define DRV8704_STATUS_DEFAULT 0x0000U
49
50
#define DRV8704_CTRL_ENBL_SHIFT 0U
51
#define DRV8704_CTRL_ENBL_MASK 0x0001U
52
#define DRV8704_CTRL_ISGAIN_SHIFT 8U
53
#define DRV8704_CTRL_ISGAIN_MASK 0x0300U
54
#define DRV8704_CTRL_DTIME_SHIFT 10U
55
#define DRV8704_CTRL_DTIME_MASK 0x0C00U
56
57
#define DRV8704_TORQUE_SHIFT 0U
58
#define DRV8704_TORQUE_MASK 0x00FFU
59
60
#define DRV8704_OFF_TOFF_SHIFT 0U
61
#define DRV8704_OFF_TOFF_MASK 0x00FFU
62
#define DRV8704_OFF_PWMMODE_SHIFT 8U
63
#define DRV8704_OFF_PWMMODE_MASK 0x0100U
64
#define DRV8704_OFF_PWMMODE_PWM 0x0100U
65
66
#define DRV8704_BLANK_TBLANK_SHIFT 0U
67
#define DRV8704_BLANK_TBLANK_MASK 0x00FFU
68
69
#define DRV8704_DECAY_TDECAY_SHIFT 0U
70
#define DRV8704_DECAY_TDECAY_MASK 0x00FFU
71
#define DRV8704_DECAY_DECMOD_SHIFT 8U
72
#define DRV8704_DECAY_DECMOD_MASK 0x0700U
73
74
#define DRV8704_DRIVE_OCPTH_SHIFT 0U
75
#define DRV8704_DRIVE_OCPTH_MASK 0x0003U
76
#define DRV8704_DRIVE_OCPDEG_SHIFT 2U
77
#define DRV8704_DRIVE_OCPDEG_MASK 0x000CU
78
#define DRV8704_DRIVE_TDRIVEN_SHIFT 4U
79
#define DRV8704_DRIVE_TDRIVEN_MASK 0x0030U
80
#define DRV8704_DRIVE_TDRIVEP_SHIFT 6U
81
#define DRV8704_DRIVE_TDRIVEP_MASK 0x00C0U
82
#define DRV8704_DRIVE_IDRIVEN_SHIFT 8U
83
#define DRV8704_DRIVE_IDRIVEN_MASK 0x0300U
84
#define DRV8704_DRIVE_IDRIVEP_SHIFT 10U
85
#define DRV8704_DRIVE_IDRIVEP_MASK 0x0C00U
86
87
#define DRV8704_STATUS_OTS_MASK 0x0001U
88
#define DRV8704_STATUS_AOCP_MASK 0x0002U
89
#define DRV8704_STATUS_BOCP_MASK 0x0004U
90
#define DRV8704_STATUS_APDF_MASK 0x0008U
91
#define DRV8704_STATUS_BPDF_MASK 0x0010U
92
#define DRV8704_STATUS_UVLO_MASK 0x0020U
93
#define DRV8704_STATUS_FAULT_MASK 0x003FU
94
95
#define DRV8704_STATUS_OTS_SHIFT 0U
96
#define DRV8704_STATUS_AOCP_SHIFT 1U
97
#define DRV8704_STATUS_BOCP_SHIFT 2U
98
#define DRV8704_STATUS_APDF_SHIFT 3U
99
#define DRV8704_STATUS_BPDF_SHIFT 4U
100
#define DRV8704_STATUS_UVLO_SHIFT 5U
101
102
#endif
// DRV8704_DEFS_H
src
drv8704_defs.h
Generated by
1.9.1