Zephyr Project API 4.0.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
max31790.h File Reference

Go to the source code of this file.

Macros

custom PWM flags for MAX31790

These flags can be used with the PWM API in the upper 8 bits of pwm_flags_t They allow the usage of the RPM mode, which will cause the MAX31790 to measure the actual speed of the fan and automatically control it to the desired speed.

#define PWM_MAX31790_FLAG_RPM_MODE   (1 << PWM_MAX31790_FLAG_RPM_MODE_POS)
 RPM mode.
 
#define PWM_MAX31790_FLAG_SPEED_RANGE_1   (0 << PWM_MAX31790_FLAG_SPEED_RANGE_POS)
 speed range of fan
 
#define PWM_MAX31790_FLAG_SPEED_RANGE_2   (1 << PWM_MAX31790_FLAG_SPEED_RANGE_POS)
 
#define PWM_MAX31790_FLAG_SPEED_RANGE_4   (2 << PWM_MAX31790_FLAG_SPEED_RANGE_POS)
 
#define PWM_MAX31790_FLAG_SPEED_RANGE_8   (3 << PWM_MAX31790_FLAG_SPEED_RANGE_POS)
 
#define PWM_MAX31790_FLAG_SPEED_RANGE_16   (4 << PWM_MAX31790_FLAG_SPEED_RANGE_POS)
 
#define PWM_MAX31790_FLAG_SPEED_RANGE_32   (5 << PWM_MAX31790_FLAG_SPEED_RANGE_POS)
 
#define PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_0   (0 << PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_POS)
 PWM rate of change.
 
#define PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_1   (1 << PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_POS)
 
#define PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_2   (2 << PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_POS)
 
#define PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_3   (3 << PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_POS)
 
#define PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_4   (4 << PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_POS)
 
#define PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_5   (5 << PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_POS)
 
#define PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_6   (6 << PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_POS)
 
#define PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_7   (7 << PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_POS)
 
#define PWM_MAX31790_FLAG_SPIN_UP   (1 << PWM_MAX31790_FLAG_SPIN_UP_POS)
 activate spin up for fan
 

Macro Definition Documentation

◆ PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_0

#define PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_0   (0 << PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_POS)

PWM rate of change.

Configures the internal control loop of the fan. Details about these values can be found in the datasheet of the MAX31790.

◆ PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_1

#define PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_1   (1 << PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_POS)

◆ PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_2

#define PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_2   (2 << PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_POS)

◆ PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_3

#define PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_3   (3 << PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_POS)

◆ PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_4

#define PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_4   (4 << PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_POS)

◆ PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_5

#define PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_5   (5 << PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_POS)

◆ PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_6

#define PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_6   (6 << PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_POS)

◆ PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_7

#define PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_7   (7 << PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_POS)

◆ PWM_MAX31790_FLAG_RPM_MODE

#define PWM_MAX31790_FLAG_RPM_MODE   (1 << PWM_MAX31790_FLAG_RPM_MODE_POS)

RPM mode.

Activating the RPM mode will cause the parameter pulse of pwm_set_cycles to be interpreted as TACH target count. This basically is the number of internal pulses which occur during each TACH period. Hence, a bigger value means a slower rotation of the fan. The details about the TACH target count has to be calculated can be taken from the datasheet of the MAX31790.

◆ PWM_MAX31790_FLAG_SPEED_RANGE_1

#define PWM_MAX31790_FLAG_SPEED_RANGE_1   (0 << PWM_MAX31790_FLAG_SPEED_RANGE_POS)

speed range of fan

This represents a multiplicator for the TACH count and should be chosen depending on the nominal RPM of the fan. A detailed table on how to choose a proper value can be found in the datasheet of the MAX31790.

◆ PWM_MAX31790_FLAG_SPEED_RANGE_16

#define PWM_MAX31790_FLAG_SPEED_RANGE_16   (4 << PWM_MAX31790_FLAG_SPEED_RANGE_POS)

◆ PWM_MAX31790_FLAG_SPEED_RANGE_2

#define PWM_MAX31790_FLAG_SPEED_RANGE_2   (1 << PWM_MAX31790_FLAG_SPEED_RANGE_POS)

◆ PWM_MAX31790_FLAG_SPEED_RANGE_32

#define PWM_MAX31790_FLAG_SPEED_RANGE_32   (5 << PWM_MAX31790_FLAG_SPEED_RANGE_POS)

◆ PWM_MAX31790_FLAG_SPEED_RANGE_4

#define PWM_MAX31790_FLAG_SPEED_RANGE_4   (2 << PWM_MAX31790_FLAG_SPEED_RANGE_POS)

◆ PWM_MAX31790_FLAG_SPEED_RANGE_8

#define PWM_MAX31790_FLAG_SPEED_RANGE_8   (3 << PWM_MAX31790_FLAG_SPEED_RANGE_POS)

◆ PWM_MAX31790_FLAG_SPIN_UP

#define PWM_MAX31790_FLAG_SPIN_UP   (1 << PWM_MAX31790_FLAG_SPIN_UP_POS)

activate spin up for fan

This activates the spin up of the fan, which means that the controller will force the fan to maximum speed for a startup from a completely stopped state.