File tree Expand file tree Collapse file tree 5 files changed +24
-7
lines changed Expand file tree Collapse file tree 5 files changed +24
-7
lines changed Original file line number Diff line number Diff line change @@ -91,7 +91,7 @@ static void cuatro_init(void) {
91
91
tres_set_ir_power (0U );
92
92
93
93
// Clock source
94
- clock_source_init ();
94
+ clock_source_init (true );
95
95
96
96
// Sound codec
97
97
cuatro_set_amp_enabled (false);
@@ -105,8 +105,22 @@ static void cuatro_init(void) {
105
105
sound_init ();
106
106
}
107
107
108
+ static harness_configuration cuatro_harness_config = {
109
+ .has_harness = true,
110
+ .GPIO_SBU1 = GPIOC ,
111
+ .GPIO_SBU2 = GPIOA ,
112
+ .GPIO_relay_SBU1 = GPIOA ,
113
+ .GPIO_relay_SBU2 = GPIOA ,
114
+ .pin_SBU1 = 4 ,
115
+ .pin_SBU2 = 1 ,
116
+ .pin_relay_SBU1 = 9 ,
117
+ .pin_relay_SBU2 = 3 ,
118
+ .adc_channel_SBU1 = 4 , // ADC12_INP4
119
+ .adc_channel_SBU2 = 17 // ADC1_INP17
120
+ };
121
+
108
122
board board_cuatro = {
109
- .harness_config = & tres_harness_config ,
123
+ .harness_config = & cuatro_harness_config ,
110
124
.has_spi = true,
111
125
.has_canfd = true,
112
126
.fan_max_rpm = 12500U ,
Original file line number Diff line number Diff line change @@ -106,7 +106,7 @@ static void dos_init(void) {
106
106
dos_set_bootkick (true);
107
107
108
108
// Init clock source (camera strobe) using PWM
109
- clock_source_init ();
109
+ clock_source_init (false );
110
110
}
111
111
112
112
static harness_configuration dos_harness_config = {
Original file line number Diff line number Diff line change @@ -129,7 +129,7 @@ static void tres_init(void) {
129
129
register_set_bits (& (GPIOC -> OTYPER ), GPIO_OTYPER_OT10 | GPIO_OTYPER_OT11 ); // open drain
130
130
131
131
// Clock source
132
- clock_source_init ();
132
+ clock_source_init (false );
133
133
}
134
134
135
135
static harness_configuration tres_harness_config = {
Original file line number Diff line number Diff line change @@ -4,7 +4,7 @@ void clock_source_set_period(uint8_t period) {
4
4
register_set (& (TIM1 -> ARR ), ((period * 10U ) - 1U ), 0xFFFFU );
5
5
}
6
6
7
- void clock_source_init (void ) {
7
+ void clock_source_init (bool enable_channel1 ) {
8
8
// Setup timer
9
9
register_set (& (TIM1 -> PSC ), ((APB2_TIMER_FREQ * 100U )- 1U ), 0xFFFFU ); // Tick on 0.1 ms
10
10
register_set (& (TIM1 -> ARR ), ((CLOCK_SOURCE_PERIOD_MS * 10U ) - 1U ), 0xFFFFU ); // Period
@@ -21,11 +21,14 @@ void clock_source_init(void) {
21
21
NVIC_DisableIRQ (TIM1_CC_IRQn );
22
22
23
23
// Set GPIO as timer channels
24
+ if (enable_channel1 ) {
25
+ set_gpio_alternate (GPIOA , 8 , GPIO_AF1_TIM1 );
26
+ }
24
27
set_gpio_alternate (GPIOB , 14 , GPIO_AF1_TIM1 );
25
28
set_gpio_alternate (GPIOB , 15 , GPIO_AF1_TIM1 );
26
29
27
30
// Set PWM mode
28
- register_set (& (TIM1 -> CCMR1 ), (0b110UL << TIM_CCMR1_OC2M_Pos ), 0xFFFFU );
31
+ register_set (& (TIM1 -> CCMR1 ), (0b110UL << TIM_CCMR1_OC1M_Pos ) | ( 0b110UL << TIM_CCMR1_OC2M_Pos ), 0xFFFFU );
29
32
register_set (& (TIM1 -> CCMR2 ), (0b110UL << TIM_CCMR2_OC3M_Pos ), 0xFFFFU );
30
33
31
34
// Enable output
Original file line number Diff line number Diff line change 4
4
#define CLOCK_SOURCE_PULSE_LEN_MS 2U
5
5
6
6
void clock_source_set_period (uint8_t period );
7
- void clock_source_init (void );
7
+ void clock_source_init (bool enable_channel1 );
You can’t perform that action at this time.
0 commit comments