summaryrefslogtreecommitdiff
path: root/libopie2
authormickeyl <mickeyl>2006-06-09 00:21:31 (UTC)
committer mickeyl <mickeyl>2006-06-09 00:21:31 (UTC)
commitab1422b3e7df8644d6df2519f5ef5b5c831e3965 (patch) (unidiff)
tree8e25b980c4898f3253a8d1f9efb23494ff4033ed /libopie2
parentf469b23ef6f69b379dcb75834c14d19dbc4676d0 (diff)
downloadopie-ab1422b3e7df8644d6df2519f5ef5b5c831e3965.zip
opie-ab1422b3e7df8644d6df2519f5ef5b5c831e3965.tar.gz
opie-ab1422b3e7df8644d6df2519f5ef5b5c831e3965.tar.bz2
add brightness control for motorola ezx
Diffstat (limited to 'libopie2') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiecore/device/odevice_motorola_ezx.cpp55
1 files changed, 11 insertions, 44 deletions
diff --git a/libopie2/opiecore/device/odevice_motorola_ezx.cpp b/libopie2/opiecore/device/odevice_motorola_ezx.cpp
index 69256dd..eed81ac 100644
--- a/libopie2/opiecore/device/odevice_motorola_ezx.cpp
+++ b/libopie2/opiecore/device/odevice_motorola_ezx.cpp
@@ -207,90 +207,57 @@ OLedState Motorola_EZX::ledState( OLed which ) const
207 return Led_Off; 207 return Led_Off;
208} 208}
209 209
210bool Motorola_EZX::setLedState( OLed which, OLedState st ) 210bool Motorola_EZX::setLedState( OLed which, OLedState st )
211{ 211{
212 // Currently not supported 212 // Currently not supported
213 qDebug( "Motorola_EZX::setLedState: ODevice handling not yet implemented" ); 213 qDebug( "Motorola_EZX::setLedState: ODevice handling not yet implemented" );
214 return false; 214 return false;
215} 215}
216 216
217int Motorola_EZX::displayBrightnessResolution() const 217int Motorola_EZX::displayBrightnessResolution() const
218{ 218{
219 // Currently not supported
220 qDebug( "Motorola_EZX::displayBrightnessResolution: ODevice handling not yet implemented" );
221 return 100;
222
223#if 0
224 int res = 1; 219 int res = 1;
225 if (m_embedix) 220 int fd = ::open( m_backlightdev + "max_brightness", O_RDONLY|O_NONBLOCK );
226 { 221 if ( fd )
227 int fd = ::open( SHARP_FL_IOCTL_DEVICE, O_RDWR|O_NONBLOCK );
228 if ( fd )
229 {
230 int value = ::ioctl( fd, SHARP_FL_IOCTL_GET_STEP, 0 );
231 ::close( fd );
232 return value ? value : res;
233 }
234 }
235 else
236 { 222 {
237 int fd = ::open( m_backlightdev + "max_brightness", O_RDONLY|O_NONBLOCK ); 223 char buf[100];
238 if ( fd ) 224 if ( ::read( fd, &buf[0], sizeof buf ) ) ::sscanf( &buf[0], "%d", &res );
239 { 225 ::close( fd );
240 char buf[100];
241 if ( ::read( fd, &buf[0], sizeof buf ) ) ::sscanf( &buf[0], "%d", &res );
242 ::close( fd );
243 }
244 } 226 }
245 return res; 227 return res;
246#endif
247} 228}
248 229
249bool Motorola_EZX::setDisplayBrightness( int bright ) 230bool Motorola_EZX::setDisplayBrightness( int bright )
250{ 231{
251 qDebug( "Motorola_EZX::setDisplayBrightness( %d )", bright ); 232 qDebug( "Motorola_EZX::setDisplayBrightness( %d )", bright );
252 return false; 233 return false;
253 234
254#if 0
255 bool res = false; 235 bool res = false;
256 236
257 if ( bright > 255 ) bright = 255; 237 if ( bright > 255 ) bright = 255;
258 if ( bright < 0 ) bright = 0; 238 if ( bright < 0 ) bright = 0;
259 239
260 int numberOfSteps = displayBrightnessResolution(); 240 int numberOfSteps = displayBrightnessResolution();
261 int val = ( bright == 1 ) ? 1 : ( bright * numberOfSteps ) / 255; 241 int val = ( bright == 1 ) ? 1 : ( bright * numberOfSteps ) / 255;
262 242
263 if ( m_embedix ) 243 int fd = ::open( m_backlightdev + "brightness", O_WRONLY|O_NONBLOCK );
264 { 244 if ( fd )
265 int fd = ::open( SHARP_FL_IOCTL_DEVICE, O_WRONLY|O_NONBLOCK );
266 if ( fd )
267 {
268 res = ( ::ioctl( fd, SHARP_FL_IOCTL_STEP_CONTRAST, val ) == 0 );
269 ::close( fd );
270 }
271 }
272 else
273 { 245 {
274 int fd = ::open( m_backlightdev + "brightness", O_WRONLY|O_NONBLOCK ); 246 char buf[100];
275 if ( fd ) 247 int len = ::snprintf( &buf[0], sizeof buf, "%d", val );
276 { 248 res = ( ::write( fd, &buf[0], len ) == 0 );
277 char buf[100]; 249 ::close( fd );
278 int len = ::snprintf( &buf[0], sizeof buf, "%d", val );
279 res = ( ::write( fd, &buf[0], len ) == 0 );
280 ::close( fd );
281 }
282 } 250 }
283 return res; 251 return res;
284#endif
285} 252}
286 253
287bool Motorola_EZX::setDisplayStatus( bool on ) 254bool Motorola_EZX::setDisplayStatus( bool on )
288{ 255{
289 bool res = false; 256 bool res = false;
290 int fd = ::open( m_backlightdev + "power", O_WRONLY|O_NONBLOCK ); 257 int fd = ::open( m_backlightdev + "power", O_WRONLY|O_NONBLOCK );
291 if ( fd ) 258 if ( fd )
292 { 259 {
293 char buf[10]; 260 char buf[10];
294 buf[0] = on ? FB_BLANK_UNBLANK : FB_BLANK_POWERDOWN; 261 buf[0] = on ? FB_BLANK_UNBLANK : FB_BLANK_POWERDOWN;
295 buf[1] = '\0'; 262 buf[1] = '\0';
296 res = ( ::write( fd, &buf[0], 2 ) == 0 ); 263 res = ( ::write( fd, &buf[0], 2 ) == 0 );