Zephyr Project API 4.2.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches

Header file for MAX31790 PWM driver. More...

Go to the source code of this file.

Macros

#define PWM_MAX31790_FLAG_SPIN_UP   (1 << PWM_MAX31790_FLAG_SPIN_UP_POS)
 Activate spin up for fan.
 
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.
 
Speed range of fan

This represents a multiplier 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.

#define PWM_MAX31790_FLAG_SPEED_RANGE_1   (0 << PWM_MAX31790_FLAG_SPEED_RANGE_POS)
 1 TACH period (best for low-speed fans).
 
#define PWM_MAX31790_FLAG_SPEED_RANGE_2   (1 << PWM_MAX31790_FLAG_SPEED_RANGE_POS)
 2 TACH periods
 
#define PWM_MAX31790_FLAG_SPEED_RANGE_4   (2 << PWM_MAX31790_FLAG_SPEED_RANGE_POS)
 4 TACH periods
 
#define PWM_MAX31790_FLAG_SPEED_RANGE_8   (3 << PWM_MAX31790_FLAG_SPEED_RANGE_POS)
 8 TACH periods
 
#define PWM_MAX31790_FLAG_SPEED_RANGE_16   (4 << PWM_MAX31790_FLAG_SPEED_RANGE_POS)
 16 TACH periods
 
#define PWM_MAX31790_FLAG_SPEED_RANGE_32   (5 << PWM_MAX31790_FLAG_SPEED_RANGE_POS)
 32 TACH periods (best for high-speed fans).
 
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.

#define PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_0   (0 << PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_POS)
 Fastest rate of change (0ms per step in PWM mode).
 
#define PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_1   (1 << PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_POS)
 Fast rate of change (1.953125 ms per step).
 
#define PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_2   (2 << PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_POS)
 Medium-fast rate of change (3.90625 ms per step).
 
#define PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_3   (3 << PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_POS)
 Medium rate of change (7.8125 ms per step).
 
#define PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_4   (4 << PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_POS)
 Medium-slow rate of change (15.625 ms per step).
 
#define PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_5   (5 << PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_POS)
 Slow rate of change (31.25 ms per step).
 
#define PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_6   (6 << PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_POS)
 Very slow rate of change (62.5 ms per step).
 
#define PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_7   (7 << PWM_MAX31790_FLAG_PWM_RATE_OF_CHANGE_POS)
 Ultra-slow rate of change (125 ms per step).
 

Detailed Description

Header file for MAX31790 PWM driver.