X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=projects%2Fstep-up%2Fpwmled.c;h=52993308edf3fa31daeaee91c11a61ab4676e7e9;hb=3079ccda1c6d82058c801bf8192c616230a2ef93;hp=5f34c8f8a5f6b04c8223f2397452f735cef63b63;hpb=88b18cc5d2263dd948c13f6b7eb0fd1b58fb3cb5;p=tinyboard.git diff --git a/projects/step-up/pwmled.c b/projects/step-up/pwmled.c index 5f34c8f..5299330 100644 --- a/projects/step-up/pwmled.c +++ b/projects/step-up/pwmled.c @@ -15,7 +15,7 @@ typedef struct { pwmled_t pwmleds[N_PWMLEDS]; -#define SENSE_MOHM 1000 /* 1 Ohm */ +#define SENSE_MOHM 3000 /* 1 Ohm */ /* * Voltage in uV at ADC reading == 1 is 1100/gain/1024 * ADC module returns sum of 1 << PWMLED_ADC_SHIFT measurements @@ -35,14 +35,14 @@ static uint16_t adc_max[N_PWMLEDS] = { static uint16_t adc_vals[N_PWMLEDS*N_PWMLED_MODES] = { /* pwmled0 */ + MA_GAIN_TO_ADC( 2, 1), MA_GAIN_TO_ADC( 5, 1), MA_GAIN_TO_ADC( 10, 1), - MA_GAIN_TO_ADC( 15, 1), MA_GAIN_TO_ADC( 20, 1), /* pwmled1 */ - MA_GAIN_TO_ADC( 5, 1), - MA_GAIN_TO_ADC( 10, 1), - MA_GAIN_TO_ADC( 15, 1), + MA_GAIN_TO_ADC( 2, 1), + MA_GAIN_TO_ADC( 8, 1), + MA_GAIN_TO_ADC( 14, 1), MA_GAIN_TO_ADC( 20, 1), }; @@ -72,6 +72,7 @@ void init_pwmled() led->err_sums[j] = 0; } } + pwmleds[0].state = ST_DISABLED; } void pwmled_set_mode(unsigned char n, unsigned char mode) @@ -94,10 +95,10 @@ void pwmled_set_mode(unsigned char n, unsigned char mode) led->pwm = led->mode_pwm[mode - 1]; led->err_sum = led->err_sums[mode - 1]; led->mode_changed = 1; - pwm_set(n, led->pwm); + pwm_set(led->pwm); } else { led->state = ST_OFF; - pwm_off(n); + pwm_off(); } } @@ -135,7 +136,7 @@ static inline unsigned char pwmled_probed_ok(unsigned char n, uint16_t old_pwm) unsigned char i; led->state = ST_OFF; - pwm_off(n); + pwm_off(); log_byte(0xF0); log_byte(n); @@ -156,7 +157,7 @@ static inline unsigned char pwmled_probed_ok(unsigned char n, uint16_t old_pwm) static inline void pwmled_err(unsigned char n) { pwmleds[n].state = ST_DISABLED; - pwm_off(n); + pwm_off(); log_byte(0xF1); log_byte(n); @@ -208,6 +209,6 @@ void pwmled_adc(unsigned char n, uint16_t adcval) if (led->pwm == old_pwm) return; - pwm_set(n, led->pwm); + pwm_set(led->pwm); }