35#include "mikrosdk_version.h"
38#if mikroSDK_GET_VERSION < 20800ul
39#include "rcu_delays.h"
45#include "drv_digital_out.h"
46#include "drv_digital_in.h"
47#include "drv_i2c_master.h"
69#define FAN9_REG_EEPROM_ADDR_8 0x08
70#define FAN9_REG_EEPROM_ADDR_9 0x09
71#define FAN9_REG_EEPROM_ADDR_10 0x0A
72#define FAN9_REG_EEPROM_ADDR_11 0x0B
73#define FAN9_REG_EEPROM_ADDR_12 0x0C
74#define FAN9_REG_EEPROM_ADDR_13 0x0D
75#define FAN9_REG_EEPROM_ADDR_14 0x0E
76#define FAN9_REG_EEPROM_ADDR_15 0x0F
77#define FAN9_REG_EEPROM_ADDR_16 0x10
78#define FAN9_REG_EEPROM_ADDR_17 0x11
79#define FAN9_REG_EEPROM_ADDR_18 0x12
80#define FAN9_REG_EEPROM_ADDR_19 0x13
81#define FAN9_REG_EEPROM_ADDR_20 0x14
82#define FAN9_REG_EEPROM_ADDR_21 0x15
83#define FAN9_REG_EEPROM_ADDR_22 0x16
84#define FAN9_REG_EEPROM_ADDR_23 0x17
85#define FAN9_REG_EEPROM_ADDR_24 0x18
86#define FAN9_REG_EEPROM_ADDR_25 0x19
87#define FAN9_REG_EEPROM_ADDR_26 0x1A
88#define FAN9_REG_EEPROM_ADDR_27 0x1B
89#define FAN9_REG_EEPROM_ADDR_28 0x1C
90#define FAN9_REG_EEPROM_ADDR_29 0x1D
91#define FAN9_REG_EEPROM_ADDR_30 0x1E
92#define FAN9_REG_PWM_VAL 0x65
110#define FAN9_SPEED_CTRL_OPEN_LOOP 0x0000
111#define FAN9_SPEED_CTRL_CLOASED 0x0001
112#define FAN9_PHA_MODE_AUTO 0x0000
113#define FAN9_PHA_MODE_LINEAR_PHASE 0x0002
114#define FAN9_RD_ENABLED 0x0000
115#define FAN9_RD_DISABLED 0x0004
116#define FAN9_SPEED_CONTROL_PWM 0x0000
117#define FAN9_SPEED_CONTROL_ANALOG 0x0008
118#define FAN9_POLE_PAIR_1 0x0000
119#define FAN9_POLE_PAIR_2 0x0010
120#define FAN9_POLE_PAIR_3 0x0020
121#define FAN9_POLE_PAIR_4 0x0030
122#define FAN9_POLE_PAIR_5 0x0040
123#define FAN9_POLE_PAIR_6 0x0050
124#define FAN9_POLE_PAIR_7 0x0060
125#define FAN9_NOCOAST 0x0080
126#define FAN9_COAST 0x0000
127#define FAN9_ALIGNMODE_ALIGN 0x0000
128#define FAN9_ALIGNMODE_ONE_CYCLE 0x0100
129#define FAN9_QCKSTART_DISABLED 0x0000
130#define FAN9_QCKSTART_ENABLED 0x0200
131#define FAN9_OVPOPT_DISABLED 0x0000
132#define FAN9_OVPOPT_LOCK_DETECT 0x0400
133#define FAN9_FGSTRT_FG_DISABLED 0x0000
134#define FAN9_FGSTRT_FG_ENABLED 0x0800
135#define FAN9_BEMFHYS_LEVEL_0 0x0000
136#define FAN9_BEMFHYS_LEVEL_1 0x1000
137#define FAN9_BEMFHYS_LEVEL_2 0x2000
138#define FAN9_BEMFHYS_LEVEL_3 0x3000
139#define FAN9_SOWAUTO_VALUE_0 0x0000
140#define FAN9_SOWAUTO_VALUE_1 0x4000
141#define FAN9_OCPOPT_RST_AFTER_TLOCK 0x0000
142#define FAN9_OCPOPT_RST_AFTER_PWM_ONOFF 0x8000
148#define FAN9_STRTDMD_VALUE 0x0033
149#define FAN9_DMDPOST_VALUE 0xCA00
155#define FAN9_PIN_STATE_LOW 0x00
156#define FAN9_PIN_STATE_HIGH 0x01
162#define FAN9_DIRECTION_CW 0x00
163#define FAN9_DIRECTION_CCW 0x01
169#define FAN9_BRAKE_OFF 0x00
170#define FAN9_BRAKE_ON 0x01
176#define FAN9_PWM_CALCULATION_CONS 511.0f
177#define FAN9_PWM_CALCULATION_MUL 100
184#define FAN9_DEVICE_ADDRESS 0x55
202#define FAN9_MAP_MIKROBUS( cfg, mikrobus ) \
203 cfg.scl = MIKROBUS( mikrobus, MIKROBUS_SCL ); \
204 cfg.sda = MIKROBUS( mikrobus, MIKROBUS_SDA ); \
205 cfg.rd = MIKROBUS( mikrobus, MIKROBUS_AN ); \
206 cfg.brk = MIKROBUS( mikrobus, MIKROBUS_RST ); \
207 cfg.dir = MIKROBUS( mikrobus, MIKROBUS_PWM ); \
208 cfg.flt = MIKROBUS( mikrobus, MIKROBUS_INT )
fan9_return_value_t
Fan 9 Click return value data.
Definition: fan9.h:260
@ FAN9_OK
Definition: fan9.h:261
@ FAN9_ERROR
Definition: fan9.h:262
void fan9_set_brake(fan9_t *ctx, uint8_t brake_state)
Fan 9 set brake state function.
uint8_t fan9_get_rd_pin(fan9_t *ctx)
Fan 9 get RD pin state function.
err_t fan9_set_pwm(fan9_t *ctx, uint8_t pwm_val)
Fan 9 set PWM value function.
void fan9_cfg_setup(fan9_cfg_t *cfg)
Fan 9 configuration object setup function.
err_t fan9_generic_write(fan9_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
Fan 9 I2C writing function.
err_t fan9_read_reg(fan9_t *ctx, uint8_t reg, uint16_t *data_out)
Fan 9 register reading function.
err_t fan9_write_reg(fan9_t *ctx, uint8_t reg, uint16_t data_in)
Fan 9 register writing function.
err_t fan9_init(fan9_t *ctx, fan9_cfg_t *cfg)
Fan 9 initialization function.
err_t fan9_default_cfg(fan9_t *ctx)
Fan 9 default configuration function.
err_t fan9_get_pwm(fan9_t *ctx, uint8_t *pwm_val)
Fan 9 get PWM value function.
err_t fan9_generic_read(fan9_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
Fan 9 I2C reading function.
uint8_t fan9_get_flt_pin(fan9_t *ctx)
Fan 9 get FLT pin state function.
void fan9_set_direcrion(fan9_t *ctx, uint8_t dir)
Fan 9 set direction function.
Fan 9 Click configuration object.
Definition: fan9.h:241
pin_name_t rd
Definition: fan9.h:245
uint32_t i2c_speed
Definition: fan9.h:250
pin_name_t flt
Definition: fan9.h:248
pin_name_t dir
Definition: fan9.h:247
pin_name_t scl
Definition: fan9.h:242
pin_name_t sda
Definition: fan9.h:243
pin_name_t brk
Definition: fan9.h:246
uint8_t i2c_address
Definition: fan9.h:251
Fan 9 Click context object.
Definition: fan9.h:218
digital_in_t flt
Definition: fan9.h:226
digital_out_t brk
Definition: fan9.h:220
digital_in_t rd
Definition: fan9.h:224
i2c_master_t i2c
Definition: fan9.h:229
uint8_t slave_address
Definition: fan9.h:232
digital_out_t dir
Definition: fan9.h:221