Commit 88b18cc5 authored by Jan Kasprzak's avatar Jan Kasprzak
Browse files

pwmled probing modified for tinyboard

parent 4b42bb17
PROGRAM=lights
SRC=main.c logging.c pwm.c adc.c
SRC=main.c logging.c pwm.c adc.c pwmled.c
OBJ=$(SRC:.c=.o)
......
......@@ -202,8 +202,7 @@ ISR(ADC_vect) { // IRQ handler
switch (current_adc) {
case 0:
// pwmled_adc(current_adc, adc_sum);
log_word(0x9000+adc_sum);
return;
pwmled_adc(1, adc_sum);
break;
}
......
......@@ -18,7 +18,7 @@ static void hw_setup()
//init_tmr();
//init_buttons();
//init_pwmled();
init_pwmled();
//init_gpio();
//init_ambient();
//init_pattern();
......
......@@ -15,9 +15,7 @@ typedef struct {
pwmled_t pwmleds[N_PWMLEDS];
#define PWMLED2_TESTING_WITH_350MA_LED
#define SENSE_MOHM 33 /* 0.033 Ohm */
#define SENSE_MOHM 1000 /* 1 Ohm */
/*
* Voltage in uV at ADC reading == 1 is 1100/gain/1024
* ADC module returns sum of 1 << PWMLED_ADC_SHIFT measurements
......@@ -31,51 +29,21 @@ pwmled_t pwmleds[N_PWMLEDS];
/ (1100000/(gain))))
static uint16_t adc_max[N_PWMLEDS] = {
#ifdef TESTING_FW
MA_GAIN_TO_ADC( 400, 20),
MA_GAIN_TO_ADC( 30, 20),
MA_GAIN_TO_ADC( 800, 1)
#else
MA_GAIN_TO_ADC( 900, 20),
MA_GAIN_TO_ADC( 30, 20),
MA_GAIN_TO_ADC(2500, 1)
#endif
MA_GAIN_TO_ADC( 30, 1),
MA_GAIN_TO_ADC( 30, 1),
};
static uint16_t adc_vals[N_PWMLEDS*N_PWMLED_MODES] = {
#ifdef TESTING_FW
/* pwmled0 */
MA_GAIN_TO_ADC( 50, 20),
MA_GAIN_TO_ADC( 100, 20),
MA_GAIN_TO_ADC( 200, 20),
MA_GAIN_TO_ADC( 350, 20),
/* pwmled1 */
MA_GAIN_TO_ADC( 5, 20),
MA_GAIN_TO_ADC( 10, 20),
MA_GAIN_TO_ADC( 15, 20),
MA_GAIN_TO_ADC( 20, 20),
/* pwmled2 */
MA_GAIN_TO_ADC( 50, 1),
MA_GAIN_TO_ADC( 80, 1),
MA_GAIN_TO_ADC( 150, 1),
MA_GAIN_TO_ADC( 200, 1)
#else
/* pwmled0 */
MA_GAIN_TO_ADC( 50, 20),
MA_GAIN_TO_ADC( 100, 20),
MA_GAIN_TO_ADC( 200, 20),
MA_GAIN_TO_ADC( 350, 20),
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, 20),
MA_GAIN_TO_ADC( 10, 20),
MA_GAIN_TO_ADC( 18, 20),
MA_GAIN_TO_ADC( 23, 20),
/* pwmled2 */
MA_GAIN_TO_ADC( 150, 1),
MA_GAIN_TO_ADC( 300, 1),
MA_GAIN_TO_ADC( 800, 1),
MA_GAIN_TO_ADC(1500, 1)
#endif
MA_GAIN_TO_ADC( 5, 1),
MA_GAIN_TO_ADC( 10, 1),
MA_GAIN_TO_ADC( 15, 1),
MA_GAIN_TO_ADC( 20, 1),
};
#define ST_DISABLED 0
......@@ -171,14 +139,15 @@ static inline unsigned char pwmled_probed_ok(unsigned char n, uint16_t old_pwm)
log_byte(0xF0);
log_byte(n);
log_word(jiffies);
// log_word(jiffies);
for (i = 0; i < N_PWMLED_MODES; i++)
log_word(led->mode_pwm[i]);
log_flush();
pattern_reload();
// pattern_reload();
// pwmled_set_mode(n, 2);
return 1;
}
......@@ -191,7 +160,7 @@ static inline void pwmled_err(unsigned char n)
log_byte(0xF1);
log_byte(n);
log_word(jiffies);
// log_word(jiffies);
log_flush();
}
......@@ -227,7 +196,7 @@ void pwmled_adc(unsigned char n, uint16_t adcval)
led->err_sum = sum;
if (led->pwm >= PWM_MAX
|| (n == 1 && led->pwm > PWM_MAX/2 && adcval < 0x08)) {
|| (led->pwm > (2*PWM_MAX/3) && adcval < 0x08)) {
pwmled_err(n);
return;
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment