218 info->table_state = R_START; |
218 info->table_state = R_START; |
219 info->state.position = 0; |
219 info->state.position = 0; |
220 info->state.direction = ROTARY_ENCODER_DIRECTION_NOT_SET; |
220 info->state.direction = ROTARY_ENCODER_DIRECTION_NOT_SET; |
221 |
221 |
222 // configure GPIOs |
222 // configure GPIOs |
223 gpio_pad_select_gpio(info->pin_a); |
223 gpio_reset_pin(info->pin_a); |
224 gpio_set_pull_mode(info->pin_a, GPIO_PULLUP_ONLY); |
224 gpio_set_pull_mode(info->pin_a, GPIO_PULLUP_ONLY); |
225 gpio_set_direction(info->pin_a, GPIO_MODE_INPUT); |
225 gpio_set_direction(info->pin_a, GPIO_MODE_INPUT); |
226 gpio_set_intr_type(info->pin_a, GPIO_INTR_ANYEDGE); |
226 gpio_set_intr_type(info->pin_a, GPIO_INTR_ANYEDGE); |
227 |
227 |
228 gpio_pad_select_gpio(info->pin_b); |
228 gpio_reset_pin(info->pin_b); |
229 gpio_set_pull_mode(info->pin_b, GPIO_PULLUP_ONLY); |
229 gpio_set_pull_mode(info->pin_b, GPIO_PULLUP_ONLY); |
230 gpio_set_direction(info->pin_b, GPIO_MODE_INPUT); |
230 gpio_set_direction(info->pin_b, GPIO_MODE_INPUT); |
231 gpio_set_intr_type(info->pin_b, GPIO_INTR_ANYEDGE); |
231 gpio_set_intr_type(info->pin_b, GPIO_INTR_ANYEDGE); |
232 |
232 |
233 // install interrupt handlers |
233 // install interrupt handlers |