Lines Matching refs:unit

61 static inline esp_err_t _pcnt_set_mode(pcnt_port_t pcnt_port, pcnt_unit_t unit, pcnt_channel_t chan…  in _pcnt_set_mode()  argument
64 PCNT_CHECK(unit < SOC_PCNT_UNITS_PER_GROUP, PCNT_UNIT_ERR_STR, ESP_ERR_INVALID_ARG); in _pcnt_set_mode()
69 pcnt_ll_set_edge_action(p_pcnt_obj[pcnt_port]->hal.dev, unit, channel, pos_mode, neg_mode); in _pcnt_set_mode()
70 pcnt_ll_set_level_action(p_pcnt_obj[pcnt_port]->hal.dev, unit, channel, hctrl_mode, lctrl_mode); in _pcnt_set_mode()
74 static inline esp_err_t _pcnt_set_pin(pcnt_port_t pcnt_port, pcnt_unit_t unit, pcnt_channel_t chann… in _pcnt_set_pin() argument
77 PCNT_CHECK(unit < SOC_PCNT_UNITS_PER_GROUP, PCNT_UNIT_ERR_STR, ESP_ERR_INVALID_ARG); in _pcnt_set_pin()
86 …esp_rom_gpio_connect_in_signal(pulse_io, pcnt_periph_signals.groups[pcnt_port].units[unit].channel… in _pcnt_set_pin()
93 …esp_rom_gpio_connect_in_signal(ctrl_io, pcnt_periph_signals.groups[pcnt_port].units[unit].channels… in _pcnt_set_pin()
148 static inline esp_err_t _pcnt_event_enable(pcnt_port_t pcnt_port, pcnt_unit_t unit, pcnt_evt_type_t… in _pcnt_event_enable() argument
151 PCNT_CHECK(unit < SOC_PCNT_UNITS_PER_GROUP, PCNT_UNIT_ERR_STR, ESP_ERR_INVALID_ARG); in _pcnt_event_enable()
155 pcnt_ll_enable_thres_event(p_pcnt_obj[pcnt_port]->hal.dev, unit, 1, enable); in _pcnt_event_enable()
158 pcnt_ll_enable_thres_event(p_pcnt_obj[pcnt_port]->hal.dev, unit, 0, enable); in _pcnt_event_enable()
161 pcnt_ll_enable_low_limit_event(p_pcnt_obj[pcnt_port]->hal.dev, unit, enable); in _pcnt_event_enable()
164 pcnt_ll_enable_high_limit_event(p_pcnt_obj[pcnt_port]->hal.dev, unit, enable); in _pcnt_event_enable()
167 pcnt_ll_enable_zero_cross_event(p_pcnt_obj[pcnt_port]->hal.dev, unit, enable); in _pcnt_event_enable()
176 static inline esp_err_t _pcnt_set_event_value(pcnt_port_t pcnt_port, pcnt_unit_t unit, pcnt_evt_typ… in _pcnt_set_event_value() argument
179 PCNT_CHECK(unit < SOC_PCNT_UNITS_PER_GROUP, PCNT_UNIT_ERR_STR, ESP_ERR_INVALID_ARG); in _pcnt_set_event_value()
185 pcnt_ll_set_thres_value(p_pcnt_obj[pcnt_port]->hal.dev, unit, 1, value); in _pcnt_set_event_value()
188 pcnt_ll_set_thres_value(p_pcnt_obj[pcnt_port]->hal.dev, unit, 0, value); in _pcnt_set_event_value()
191 pcnt_ll_set_low_limit_value(p_pcnt_obj[pcnt_port]->hal.dev, unit, value); in _pcnt_set_event_value()
194 pcnt_ll_set_high_limit_value(p_pcnt_obj[pcnt_port]->hal.dev, unit, value); in _pcnt_set_event_value()
202 static inline esp_err_t _pcnt_get_event_value(pcnt_port_t pcnt_port, pcnt_unit_t unit, pcnt_evt_typ… in _pcnt_get_event_value() argument
205 PCNT_CHECK(unit < SOC_PCNT_UNITS_PER_GROUP, PCNT_UNIT_ERR_STR, ESP_ERR_INVALID_ARG); in _pcnt_get_event_value()
210 *value = pcnt_ll_get_thres_value(p_pcnt_obj[pcnt_port]->hal.dev, unit, 1); in _pcnt_get_event_value()
213 *value = pcnt_ll_get_thres_value(p_pcnt_obj[pcnt_port]->hal.dev, unit, 0); in _pcnt_get_event_value()
216 *value = pcnt_ll_get_low_limit_value(p_pcnt_obj[pcnt_port]->hal.dev, unit); in _pcnt_get_event_value()
219 *value = pcnt_ll_get_high_limit_value(p_pcnt_obj[pcnt_port]->hal.dev, unit); in _pcnt_get_event_value()
227 static inline esp_err_t _pcnt_get_event_status(pcnt_port_t pcnt_port, pcnt_unit_t unit, uint32_t *s… in _pcnt_get_event_status() argument
230 PCNT_CHECK(unit < SOC_PCNT_UNITS_PER_GROUP, PCNT_UNIT_ERR_STR, ESP_ERR_INVALID_ARG); in _pcnt_get_event_status()
233 *status = pcnt_ll_get_unit_status(p_pcnt_obj[pcnt_port]->hal.dev, unit); in _pcnt_get_event_status()
237 static inline esp_err_t _pcnt_set_filter_value(pcnt_port_t pcnt_port, pcnt_unit_t unit, uint16_t fi… in _pcnt_set_filter_value() argument
240 PCNT_CHECK(unit < SOC_PCNT_UNITS_PER_GROUP, PCNT_UNIT_ERR_STR, ESP_ERR_INVALID_ARG); in _pcnt_set_filter_value()
242 pcnt_ll_set_glitch_filter_thres(p_pcnt_obj[pcnt_port]->hal.dev, unit, filter_val); in _pcnt_set_filter_value()
246 static inline esp_err_t _pcnt_get_filter_value(pcnt_port_t pcnt_port, pcnt_unit_t unit, uint16_t *f… in _pcnt_get_filter_value() argument
249 PCNT_CHECK(unit < SOC_PCNT_UNITS_PER_GROUP, PCNT_UNIT_ERR_STR, ESP_ERR_INVALID_ARG); in _pcnt_get_filter_value()
252 *filter_val = (uint16_t)pcnt_ll_get_glitch_filter_thres(p_pcnt_obj[pcnt_port]->hal.dev, unit); in _pcnt_get_filter_value()
256 static inline esp_err_t _pcnt_filter_enable(pcnt_port_t pcnt_port, pcnt_unit_t unit, bool enable) in _pcnt_filter_enable() argument
259 PCNT_CHECK(unit < SOC_PCNT_UNITS_PER_GROUP, PCNT_UNIT_ERR_STR, ESP_ERR_INVALID_ARG); in _pcnt_filter_enable()
260 pcnt_ll_enable_glitch_filter(p_pcnt_obj[pcnt_port]->hal.dev, unit, enable); in _pcnt_filter_enable()
264 static inline esp_err_t _pcnt_isr_handler_add(pcnt_port_t pcnt_port, pcnt_unit_t unit, void(*isr_ha… in _pcnt_isr_handler_add() argument
268 PCNT_CHECK(unit < SOC_PCNT_UNITS_PER_GROUP, "PCNT unit error", ESP_ERR_INVALID_ARG); in _pcnt_isr_handler_add()
270 _pcnt_intr_enable(PCNT_PORT_0, unit, false); in _pcnt_isr_handler_add()
273 pcnt_isr_func[unit].fn = isr_handler; in _pcnt_isr_handler_add()
274 pcnt_isr_func[unit].args = args; in _pcnt_isr_handler_add()
277 _pcnt_intr_enable(PCNT_PORT_0, unit, true); in _pcnt_isr_handler_add()
282 static inline esp_err_t _pcnt_isr_handler_remove(pcnt_port_t pcnt_port, pcnt_unit_t unit) in _pcnt_isr_handler_remove() argument
286 PCNT_CHECK(unit < SOC_PCNT_UNITS_PER_GROUP, "PCNT unit error", ESP_ERR_INVALID_ARG); in _pcnt_isr_handler_remove()
288 _pcnt_intr_enable(PCNT_PORT_0, unit, false); in _pcnt_isr_handler_remove()
291 pcnt_isr_func[unit].fn = NULL; in _pcnt_isr_handler_remove()
292 pcnt_isr_func[unit].args = NULL; in _pcnt_isr_handler_remove()
308 int unit = __builtin_ffs(status) - 1; in pcnt_intr_service() local
309 status &= ~(1 << unit); in pcnt_intr_service()
311 if (pcnt_isr_func[unit].fn != NULL) { in pcnt_intr_service()
312 (pcnt_isr_func[unit].fn)(pcnt_isr_func[unit].args); in pcnt_intr_service()
354 uint8_t unit = pcnt_config->unit; in _pcnt_unit_config() local
359 PCNT_CHECK(unit < SOC_PCNT_UNITS_PER_GROUP, PCNT_UNIT_ERR_STR, ESP_ERR_INVALID_ARG); in _pcnt_unit_config()
373 _pcnt_set_event_value(pcnt_port, unit, PCNT_EVT_H_LIM, pcnt_config->counter_h_lim); in _pcnt_unit_config()
374 _pcnt_set_event_value(pcnt_port, unit, PCNT_EVT_L_LIM, pcnt_config->counter_l_lim); in _pcnt_unit_config()
376 _pcnt_event_enable(pcnt_port, unit, PCNT_EVT_H_LIM, false); in _pcnt_unit_config()
377 _pcnt_event_enable(pcnt_port, unit, PCNT_EVT_L_LIM, false); in _pcnt_unit_config()
378 _pcnt_event_enable(pcnt_port, unit, PCNT_EVT_ZERO, false); in _pcnt_unit_config()
379 _pcnt_filter_enable(pcnt_port, unit, false); in _pcnt_unit_config()
381 …_pcnt_set_mode(pcnt_port, unit, channel, pcnt_config->pos_mode, pcnt_config->neg_mode, pcnt_config… in _pcnt_unit_config()
383 _pcnt_set_pin(pcnt_port, unit, channel, input_io, ctrl_io); in _pcnt_unit_config()
425 esp_err_t pcnt_set_mode(pcnt_unit_t unit, pcnt_channel_t channel, pcnt_count_mode_t pos_mode, pcnt_… in pcnt_set_mode() argument
427 return _pcnt_set_mode(PCNT_PORT_0, unit, channel, pos_mode, neg_mode, hctrl_mode, lctrl_mode); in pcnt_set_mode()
430 esp_err_t pcnt_set_pin(pcnt_unit_t unit, pcnt_channel_t channel, int pulse_io, int ctrl_io) in pcnt_set_pin() argument
432 return _pcnt_set_pin(PCNT_PORT_0, unit, channel, pulse_io, ctrl_io); in pcnt_set_pin()
465 esp_err_t pcnt_event_enable(pcnt_unit_t unit, pcnt_evt_type_t evt_type) in pcnt_event_enable() argument
467 return _pcnt_event_enable(PCNT_PORT_0, unit, evt_type, true); in pcnt_event_enable()
470 esp_err_t pcnt_event_disable(pcnt_unit_t unit, pcnt_evt_type_t evt_type) in pcnt_event_disable() argument
472 return _pcnt_event_enable(PCNT_PORT_0, unit, evt_type, false); in pcnt_event_disable()
475 esp_err_t pcnt_set_event_value(pcnt_unit_t unit, pcnt_evt_type_t evt_type, int16_t value) in pcnt_set_event_value() argument
477 return _pcnt_set_event_value(PCNT_PORT_0, unit, evt_type, value); in pcnt_set_event_value()
480 esp_err_t pcnt_get_event_value(pcnt_unit_t unit, pcnt_evt_type_t evt_type, int16_t *value) in pcnt_get_event_value() argument
482 return _pcnt_get_event_value(PCNT_PORT_0, unit, evt_type, value); in pcnt_get_event_value()
485 esp_err_t pcnt_get_event_status(pcnt_unit_t unit, uint32_t *status) in pcnt_get_event_status() argument
487 return _pcnt_get_event_status(PCNT_PORT_0, unit, status); in pcnt_get_event_status()
490 esp_err_t pcnt_set_filter_value(pcnt_unit_t unit, uint16_t filter_val) in pcnt_set_filter_value() argument
492 return _pcnt_set_filter_value(PCNT_PORT_0, unit, filter_val); in pcnt_set_filter_value()
495 esp_err_t pcnt_get_filter_value(pcnt_unit_t unit, uint16_t *filter_val) in pcnt_get_filter_value() argument
497 return _pcnt_get_filter_value(PCNT_PORT_0, unit, filter_val); in pcnt_get_filter_value()
500 esp_err_t pcnt_filter_enable(pcnt_unit_t unit) in pcnt_filter_enable() argument
502 return _pcnt_filter_enable(PCNT_PORT_0, unit, true); in pcnt_filter_enable()
505 esp_err_t pcnt_filter_disable(pcnt_unit_t unit) in pcnt_filter_disable() argument
507 return _pcnt_filter_enable(PCNT_PORT_0, unit, false); in pcnt_filter_disable()
529 esp_err_t pcnt_isr_handler_add(pcnt_unit_t unit, void(*isr_handler)(void *), void *args) in pcnt_isr_handler_add() argument
531 return _pcnt_isr_handler_add(PCNT_PORT_0, unit, isr_handler, args); in pcnt_isr_handler_add()
534 esp_err_t pcnt_isr_handler_remove(pcnt_unit_t unit) in pcnt_isr_handler_remove() argument
536 return _pcnt_isr_handler_remove(PCNT_PORT_0, unit); in pcnt_isr_handler_remove()