Lines Matching refs:p_cb
150 uart_control_block_t const * p_cb = &m_cb[p_instance->drv_inst_idx]; in pins_to_default() local
163 if (!p_cb->skip_psel_cfg) in pins_to_default()
169 if (!p_cb->skip_gpio_cfg) in pins_to_default()
196 uart_control_block_t * p_cb = &m_cb[p_instance->drv_inst_idx]; in nrfx_uart_init() local
199 if (p_cb->state != NRFX_DRV_STATE_UNINITIALIZED) in nrfx_uart_init()
226 p_cb->handler = event_handler; in nrfx_uart_init()
230 p_cb->p_context = p_config->p_context; in nrfx_uart_init()
231 p_cb->skip_gpio_cfg = p_config->skip_gpio_cfg; in nrfx_uart_init()
232 p_cb->skip_psel_cfg = p_config->skip_psel_cfg; in nrfx_uart_init()
237 p_cb->rx_buffer_length = 0; in nrfx_uart_init()
238 p_cb->rx_secondary_buffer_length = 0; in nrfx_uart_init()
239 p_cb->rx_enabled = false; in nrfx_uart_init()
240 p_cb->tx_buffer_length = 0; in nrfx_uart_init()
241 p_cb->state = NRFX_DRV_STATE_INITIALIZED; in nrfx_uart_init()
253 uart_control_block_t * p_cb = &m_cb[p_instance->drv_inst_idx]; in nrfx_uart_reconfigure() local
255 if (p_cb->state == NRFX_DRV_STATE_UNINITIALIZED) in nrfx_uart_reconfigure()
264 if (p_cb->handler) in nrfx_uart_reconfigure()
266 p_cb->p_context = p_config->p_context; in nrfx_uart_reconfigure()
275 uart_control_block_t * p_cb = &m_cb[p_instance->drv_inst_idx]; in nrfx_uart_uninit() local
277 NRFX_ASSERT(p_cb->state != NRFX_DRV_STATE_UNINITIALIZED); in nrfx_uart_uninit()
281 if (p_cb->handler) in nrfx_uart_uninit()
292 p_cb->state = NRFX_DRV_STATE_UNINITIALIZED; in nrfx_uart_uninit()
293 p_cb->handler = NULL; in nrfx_uart_uninit()
299 uart_control_block_t * p_cb = &m_cb[p_instance->drv_inst_idx]; in nrfx_uart_init_check() local
301 return (p_cb->state != NRFX_DRV_STATE_UNINITIALIZED); in nrfx_uart_init_check()
304 static void tx_byte(NRF_UART_Type * p_uart, uart_control_block_t * p_cb) in tx_byte() argument
307 uint8_t txd = p_cb->p_tx_buffer[p_cb->tx_counter]; in tx_byte()
308 p_cb->tx_counter++; in tx_byte()
312 static bool tx_blocking(NRF_UART_Type * p_uart, uart_control_block_t * p_cb) in tx_blocking() argument
316 size_t const tx_buffer_length = p_cb->tx_buffer_length; in tx_blocking()
317 while (p_cb->tx_counter < tx_buffer_length) in tx_blocking()
323 if (p_cb->tx_abort) in tx_blocking()
329 tx_byte(p_uart, p_cb); in tx_blocking()
339 uart_control_block_t * p_cb = &m_cb[p_instance->drv_inst_idx]; in nrfx_uart_tx() local
341 NRFX_ASSERT(p_cb->state == NRFX_DRV_STATE_INITIALIZED); in nrfx_uart_tx()
355 p_cb->tx_buffer_length = length; in nrfx_uart_tx()
356 p_cb->p_tx_buffer = p_data; in nrfx_uart_tx()
357 p_cb->tx_counter = 0; in nrfx_uart_tx()
358 p_cb->tx_abort = false; in nrfx_uart_tx()
360 NRFX_LOG_INFO("Transfer tx_len: %d.", p_cb->tx_buffer_length); in nrfx_uart_tx()
362 NRFX_LOG_HEXDUMP_DEBUG(p_cb->p_tx_buffer, in nrfx_uart_tx()
363 p_cb->tx_buffer_length * sizeof(p_cb->p_tx_buffer[0])); in nrfx_uart_tx()
370 tx_byte(p_instance->p_reg, p_cb); in nrfx_uart_tx()
372 if (p_cb->handler == NULL) in nrfx_uart_tx()
374 if (!tx_blocking(p_instance->p_reg, p_cb)) in nrfx_uart_tx()
386 p_cb->tx_buffer_length = 0; in nrfx_uart_tx()
406 static void rx_byte(NRF_UART_Type * p_uart, uart_control_block_t * p_cb) in rx_byte() argument
408 if (!p_cb->rx_buffer_length) in rx_byte()
416 p_cb->p_rx_buffer[p_cb->rx_counter] = nrf_uart_rxd_get(p_uart); in rx_byte()
417 p_cb->rx_counter++; in rx_byte()
424 uart_control_block_t * p_cb = &m_cb[p_instance->drv_inst_idx]; in nrfx_uart_rx() local
426 NRFX_ASSERT(p_cb->state == NRFX_DRV_STATE_INITIALIZED); in nrfx_uart_rx()
434 if (p_cb->handler) in nrfx_uart_rx()
439 if (p_cb->rx_buffer_length != 0) in nrfx_uart_rx()
441 if (p_cb->rx_secondary_buffer_length != 0) in nrfx_uart_rx()
443 if (p_cb->handler) in nrfx_uart_rx()
459 p_cb->rx_buffer_length = length; in nrfx_uart_rx()
460 p_cb->p_rx_buffer = p_data; in nrfx_uart_rx()
461 p_cb->rx_counter = 0; in nrfx_uart_rx()
462 p_cb->rx_secondary_buffer_length = 0; in nrfx_uart_rx()
466 p_cb->p_rx_secondary_buffer = p_data; in nrfx_uart_rx()
467 p_cb->rx_secondary_buffer_length = length; in nrfx_uart_rx()
472 if ((!p_cb->rx_enabled) && (!second_buffer)) in nrfx_uart_rx()
477 if (p_cb->handler == NULL) in nrfx_uart_rx()
497 rx_byte(p_instance->p_reg, p_cb); in nrfx_uart_rx()
498 } while (p_cb->rx_buffer_length > p_cb->rx_counter); in nrfx_uart_rx()
500 p_cb->rx_buffer_length = 0; in nrfx_uart_rx()
519 if (p_cb->rx_enabled) in nrfx_uart_rx()
575 static void rx_done_event(uart_control_block_t * p_cb, in rx_done_event() argument
585 p_cb->handler(&event, p_cb->p_context); in rx_done_event()
588 static void tx_done_event(uart_control_block_t * p_cb, in tx_done_event() argument
600 event.data.rxtx.p_data = (uint8_t *)p_cb->p_tx_buffer; in tx_done_event()
605 p_cb->tx_buffer_length = 0; in tx_done_event()
607 p_cb->handler(&event, p_cb->p_context); in tx_done_event()
612 uart_control_block_t * p_cb = &m_cb[p_instance->drv_inst_idx]; in nrfx_uart_tx_abort() local
614 NRFX_ASSERT(p_cb->state != NRFX_DRV_STATE_UNINITIALIZED); in nrfx_uart_tx_abort()
616 p_cb->tx_abort = true; in nrfx_uart_tx_abort()
618 if (p_cb->handler) in nrfx_uart_tx_abort()
620 tx_done_event(p_cb, p_cb->tx_counter); in nrfx_uart_tx_abort()
637 static void irq_handler(NRF_UART_Type * p_uart, uart_control_block_t * p_cb) in irq_handler() argument
647 if (!p_cb->rx_enabled) in irq_handler()
653 event.data.error.rxtx.bytes = p_cb->rx_buffer_length; in irq_handler()
654 event.data.error.rxtx.p_data = p_cb->p_rx_buffer; in irq_handler()
657 p_cb->rx_buffer_length = 0; in irq_handler()
658 p_cb->rx_secondary_buffer_length = 0; in irq_handler()
660 p_cb->handler(&event,p_cb->p_context); in irq_handler()
665 rx_byte(p_uart, p_cb); in irq_handler()
666 if (p_cb->rx_buffer_length == p_cb->rx_counter) in irq_handler()
668 if (p_cb->rx_secondary_buffer_length) in irq_handler()
670 uint8_t * p_data = p_cb->p_rx_buffer; in irq_handler()
671 size_t rx_counter = p_cb->rx_counter; in irq_handler()
674 p_cb->rx_buffer_length = p_cb->rx_secondary_buffer_length; in irq_handler()
675 p_cb->p_rx_buffer = p_cb->p_rx_secondary_buffer; in irq_handler()
676 p_cb->rx_secondary_buffer_length = 0; in irq_handler()
677 p_cb->rx_counter = 0; in irq_handler()
678 rx_done_event(p_cb, rx_counter, p_data); in irq_handler()
682 if (!p_cb->rx_enabled) in irq_handler()
688 p_cb->rx_buffer_length = 0; in irq_handler()
689 rx_done_event(p_cb, p_cb->rx_counter, p_cb->p_rx_buffer); in irq_handler()
698 size_t const tx_buffer_length = p_cb->tx_buffer_length; in irq_handler()
699 if (p_cb->tx_counter < tx_buffer_length && !p_cb->tx_abort) in irq_handler()
701 tx_byte(p_uart, p_cb); in irq_handler()
706 if (p_cb->tx_buffer_length) in irq_handler()
708 tx_done_event(p_cb, p_cb->tx_buffer_length); in irq_handler()
718 if (p_cb->rx_enabled) in irq_handler()
722 if (p_cb->rx_buffer_length) in irq_handler()
724 p_cb->rx_buffer_length = 0; in irq_handler()
725 rx_done_event(p_cb, p_cb->rx_counter, p_cb->p_rx_buffer); in irq_handler()