Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Jan Kasprzak
tinyboard
Commits
88b18cc5
Commit
88b18cc5
authored
Apr 25, 2013
by
Jan Kasprzak
Browse files
pwmled probing modified for tinyboard
parent
4b42bb17
Changes
4
Hide whitespace changes
Inline
Side-by-side
projects/step-up/Makefile
View file @
88b18cc5
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)
...
...
projects/step-up/adc.c
View file @
88b18cc5
...
...
@@ -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
;
}
...
...
projects/step-up/main.c
View file @
88b18cc5
...
...
@@ -18,7 +18,7 @@ static void hw_setup()
//init_tmr();
//init_buttons();
//
init_pwmled();
init_pwmled
();
//init_gpio();
//init_ambient();
//init_pattern();
...
...
projects/step-up/pwmled.c
View file @
88b18cc5
...
...
@@ -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
(
1
0
0
,
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
;
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment