1 2 /*****************************-*- ********-*-******************************** 3 * Filename: libpwmtach.h 4 * Description: Library interface to pwmtach access 5 * 6 * Simple interface library for fan control operations 7 * This file provides interface functions to support pwmtachtool. 8 * Copyright (C) <2019> <American Megatrends International LLC> 9 * 10 *****************************************************************************/ 11 #ifndef LIBPWMTACH_H 12 #define LIBPWMTACH_H 13 14 #ifdef __cplusplus 15 extern "C" { 16 #endif 17 18 #define PWMTACH_DEV_FILE "/dev/pwmtach" 19 20 /** \file libpwmtach.h 21 * \brief Public headers for the PWMTACH interface library 22 * 23 * This library contains friendly function call interfaces for setting 24 * fan control operations. 25 */ 26 extern int set_fan_speed ( unsigned int dev_id, unsigned char fan_number, unsigned int rpm_value ); 27 extern int get_fan_speed ( unsigned int dev_id, unsigned char fan_number, unsigned int *rpm_value ); 28 /************/ 29 30 31 /******Pwmtach interface library to set/read pwm/tach by channel basis apart from configure fan table********/ 32 /*********Directly control pwm dutycycle (1 to 99) instead of RPM***********/ 33 extern int get_tach_speed ( unsigned int dev_id, unsigned char tach_number, unsigned int *rpm_value ); 34 //Notice: dutycycle_percentage value should be between 1 to 99. 35 extern int set_pwm_dutycycle ( unsigned int dev_id, unsigned char pwm_number, unsigned char dutycycle_percentage ); 36 //Notice: dutycycle_value should be between 0 to 255. 37 extern int set_pwm_dutycycle_value ( unsigned int dev_id, unsigned char pwm_number, unsigned char dutycycle_value ); 38 extern int get_pwm_dutycycle ( unsigned int dev_id, unsigned char pwm_number, unsigned char *dutycycle_percentage ); 39 40 /************/ 41 #ifdef __cplusplus 42 } 43 #endif 44 45 #endif 46