Skip to content

Commit 89109a3

Browse files
committed
fix
1 parent 71b83d0 commit 89109a3

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

keyboard/magnet/matrix_analog.c

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,18 @@ static uint16_t magnet_threshold = MAGNET_THRESHOLD_DEFAULT;
2222
/* matrix state(1:on, 0:off) */
2323
static matrix_row_t matrix[MATRIX_ROWS];
2424

25-
void init_adc_col_pin(uint8_t column) {
25+
// NRF_SAADC_INPUT_AIN0 has been used to detect battery voltage
26+
#define ADC_COL_PIN3 NRF_SAADC_INPUT_AIN1
27+
#define ADC_COL_PIN4 NRF_SAADC_INPUT_AIN2
28+
#define ADC_COL_PIN5 NRF_SAADC_INPUT_AIN3
29+
#define ADC_COL_PIN28 NRF_SAADC_INPUT_AIN4
30+
#define ADC_COL_PIN29 NRF_SAADC_INPUT_AIN5
31+
#define ADC_COL_PIN30 NRF_SAADC_INPUT_AIN6
32+
#define ADC_COL_PIN31 NRF_SAADC_INPUT_AIN7
33+
#define ADC_COL_PIN(NUM) ADC_COL_PIN##NUM
34+
35+
// TODO pin_channel->period 多少合适? 10以内?
36+
void init_adc_col_pin(uint8_t pin) {
2637
static nrf_saadc_channel_config_t channel_config = {
2738
.resistor_p = NRF_SAADC_RESISTOR_DISABLED,
2839
.resistor_n = NRF_SAADC_RESISTOR_DISABLED,
@@ -31,14 +42,14 @@ void init_adc_col_pin(uint8_t column) {
3142
.acq_time = NRF_SAADC_ACQTIME_10US,
3243
.mode = NRF_SAADC_MODE_SINGLE_ENDED,
3344
.burst = NRF_SAADC_BURST_DISABLED,
34-
.pin_p = (nrf_saadc_input_t)(column_pin_array[column]),
45+
.pin_p = (nrf_saadc_input_t)(ADC_COL_PIN(pin)),
3546
.pin_n = NRF_SAADC_INPUT_DISABLED
3647
};
3748

3849
static struct adc_channel_config pin_channel = {
3950
.adc_start = 0,
4051
.adc_finish = 0,
41-
.period = DEBOUNCE, // TODO 多少合适?10以内?
52+
.period = DEBOUNCE,
4253
.config = &channel_config,
4354
};
4455

@@ -61,7 +72,7 @@ void matrix_init(void) {
6172

6273
// 初始化模拟引脚
6374
for (uint_fast8_t i = 0; i < MATRIX_COLS; i++) {
64-
init_adc_col_pin(i);
75+
init_adc_col_pin(column_pin_array[i]);
6576
}
6677

6778
// 正常使用时禁用唤醒引脚

0 commit comments

Comments
 (0)