#include "ibacklight.h" #include #include #include #include #include #include Q_LOGGING_CATEGORY(flapp, "app.screen") Backlight::Backlight(const QString &devname, const QString &screenName, int min, int max) :m_devName(devname) ,m_screeName(screenName) ,m_min(min) ,m_max(max) { qCDebug(flapp)<0; if(!bOpen) { qCDebug(flapp)<0) ::close(m_fd); } int Backlight::setValue(int v) { int ret =0; char buf[10]; lseek(m_fd, 0, SEEK_SET); sprintf(buf,"%d",v); ::write(m_fd,buf,sizeof(v)); return ret; } int Backlight::getValue() { char buf[10]; lseek(m_fd, 0, SEEK_SET); ::read(m_fd, buf, sizeof(buf)); int ret = atoi(buf); return ret; } void Backlight::getRange(int &min, int &max) { min = m_min; max = m_max; } enum { //#include DISP_GET_OUTPUT_TYPE = 0x09, DISP_OUTPUT_TYPE_LCD = 1, DISP_LCD_GET_BRIGHTNESS = 0x103, DISP_LCD_SET_BRIGHTNESS = 0x102 }; int T507::getValue() { unsigned long args[3]; int err, i; int v; for(i = 0; i < 2; i++) { args[0] = i; if(ioctl(m_fd, DISP_GET_OUTPUT_TYPE,args) == DISP_OUTPUT_TYPE_LCD) { args[1] = (unsigned long)&v; args[2] = 0; err = ioctl(m_fd, DISP_LCD_GET_BRIGHTNESS, args); return v; } } return -1; } T507::T507(const QString &devname, const QString &screenName, int min, int max) :Backlight(devname,screenName, min, max) { qCDebug(flapp)<