Changeset 2034:47fdcec46b5c in roaraudio for roard


Ignore:
Timestamp:
06/21/09 15:07:14 (15 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

use 18 states from no data to 0xFFFF for 16 bit LED PWM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • roard/driver_pwmled.c

    r1990 r2034  
    9494ssize_t driver_pwmled_write (struct roar_vio_calls * vio,  void *buf, size_t count) { 
    9595 struct driver_pwmled * self = vio->inst; 
     96 int value; 
    9697 
    9798 if ( vio == NULL || buf == NULL ) 
     
    101102  return -1; 
    102103 
    103  if ( roar_light_pwm_set(&(self->state), ((unsigned char*)buf)[self->channel] / 16) == -1 ) 
     104 value = ((unsigned char*)buf)[self->channel] / 15; 
     105 
     106 if ( roar_light_pwm_set(&(self->state), value) == -1 ) 
    104107  return -1; 
    105108 
    106                                                                     // bit per word, bit per byte 
    107  return roar_light_pwm_send(&(self->state), &(self->vio), self->rate/11/8/100) == 0 ? count : -1; 
     109 if ( value ) { 
     110                                                                     // bit per word, bit per byte 
     111  return roar_light_pwm_send(&(self->state), &(self->vio), self->rate/11/8/100) == 0 ? count : -1; 
     112 } 
     113 
     114 return count; 
    108115} 
    109116 
Note: See TracChangeset for help on using the changeset viewer.