Lines Matching refs:p_cb

158     nrfx_pdm_cb_t * p_cb = get_cb(p_instance->drv_inst_idx);  in pdm_init()  local
160 if (p_cb->drv_state != NRFX_DRV_STATE_UNINITIALIZED) in pdm_init()
173 p_cb->buff_address[0] = 0; in pdm_init()
174 p_cb->buff_address[1] = 0; in pdm_init()
175 p_cb->active_buffer = 0; in pdm_init()
176 p_cb->error = 0; in pdm_init()
177 p_cb->event_handler = event_handler; in pdm_init()
178 p_cb->op_state = NRFX_PDM_STATE_IDLE; in pdm_init()
182 p_cb->skip_gpio_cfg = p_config->skip_gpio_cfg; in pdm_init()
207 p_cb->drv_state = NRFX_DRV_STATE_INITIALIZED; in pdm_init()
219 nrfx_pdm_cb_t * p_cb = get_cb(p_instance->drv_inst_idx); in pdm_reconfigure() local
222 if (p_cb->drv_state == NRFX_DRV_STATE_UNINITIALIZED) in pdm_reconfigure()
241 if (p_cb->op_state != NRFX_PDM_STATE_IDLE) in pdm_reconfigure()
256 nrfx_pdm_cb_t * p_cb = get_cb(p_instance->drv_inst_idx); in pdm_uninit() local
258 if (!p_cb->skip_gpio_cfg) in pdm_uninit()
266 p_cb->drv_state = NRFX_DRV_STATE_UNINITIALIZED; in pdm_uninit()
283 nrfx_pdm_cb_t * p_cb = get_cb(p_instance->drv_inst_idx); in pdm_start() local
285 NRFX_ASSERT(p_cb->drv_state != NRFX_DRV_STATE_UNINITIALIZED); in pdm_start()
288 if (p_cb->op_state != NRFX_PDM_STATE_IDLE) in pdm_start()
290 if (p_cb->op_state == NRFX_PDM_STATE_RUNNING) in pdm_start()
305 p_cb->op_state = NRFX_PDM_STATE_STARTING; in pdm_start()
319 nrfx_pdm_cb_t * p_cb = get_cb(p_instance->drv_inst_idx); in pdm_buffer_set() local
321 if (p_cb->drv_state == NRFX_DRV_STATE_UNINITIALIZED) in pdm_buffer_set()
325 if (p_cb->op_state == NRFX_PDM_STATE_STOPPING) in pdm_buffer_set()
339 uint8_t next_buffer = (~p_cb->active_buffer) & 0x01; in pdm_buffer_set()
340 if (p_cb->op_state == NRFX_PDM_STATE_STARTING) in pdm_buffer_set()
345 if (p_cb->buff_address[next_buffer]) in pdm_buffer_set()
352 p_cb->buff_address[next_buffer] = buffer; in pdm_buffer_set()
353 p_cb->buff_length[next_buffer] = buffer_length; in pdm_buffer_set()
362 if (p_cb->drv_state != NRFX_DRV_STATE_POWERED_ON) in pdm_buffer_set()
364 p_cb->drv_state = NRFX_DRV_STATE_POWERED_ON; in pdm_buffer_set()
376 nrfx_pdm_cb_t * p_cb = get_cb(p_instance->drv_inst_idx); in pdm_stop() local
378 NRFX_ASSERT(p_cb->drv_state != NRFX_DRV_STATE_UNINITIALIZED); in pdm_stop()
381 if (p_cb->op_state != NRFX_PDM_STATE_RUNNING) in pdm_stop()
383 if (p_cb->op_state == NRFX_PDM_STATE_IDLE || in pdm_stop()
384 p_cb->op_state == NRFX_PDM_STATE_STARTING) in pdm_stop()
387 p_cb->op_state = NRFX_PDM_STATE_IDLE; in pdm_stop()
400 p_cb->drv_state = NRFX_DRV_STATE_INITIALIZED; in pdm_stop()
401 p_cb->op_state = NRFX_PDM_STATE_STOPPING; in pdm_stop()
493 nrfx_pdm_cb_t * p_cb = get_cb(0); in nrfx_pdm_irq_handler() local
497 .p_buff = p_cb->buff_address[p_cb->active_buffer], in nrfx_pdm_irq_handler()
498 .length = p_cb->buff_length[p_cb->active_buffer], in nrfx_pdm_irq_handler()
510 uint8_t finished_buffer = p_cb->active_buffer; in nrfx_pdm_irq_handler()
513 uint8_t next_buffer = (~p_cb->active_buffer) & 0x01; in nrfx_pdm_irq_handler()
514 if (p_cb->buff_address[next_buffer] || in nrfx_pdm_irq_handler()
515 p_cb->op_state == NRFX_PDM_STATE_STARTING) in nrfx_pdm_irq_handler()
519 p_cb->error = 0; in nrfx_pdm_irq_handler()
522 if (p_cb->op_state == NRFX_PDM_STATE_STARTING) in nrfx_pdm_irq_handler()
525 p_cb->op_state = NRFX_PDM_STATE_RUNNING; in nrfx_pdm_irq_handler()
529 evt.buffer_released = p_cb->buff_address[finished_buffer]; in nrfx_pdm_irq_handler()
530 p_cb->buff_address[finished_buffer] = 0; in nrfx_pdm_irq_handler()
531 p_cb->active_buffer = next_buffer; in nrfx_pdm_irq_handler()
534 p_cb->event_handler(&evt); in nrfx_pdm_irq_handler()
540 if (p_cb->error == 0) in nrfx_pdm_irq_handler()
547 p_cb->error = 1; in nrfx_pdm_irq_handler()
548 p_cb->event_handler(&evt); in nrfx_pdm_irq_handler()
552 if (p_cb->op_state == NRFX_PDM_STATE_STARTING) in nrfx_pdm_irq_handler()
554 p_cb->op_state = NRFX_PDM_STATE_RUNNING; in nrfx_pdm_irq_handler()
561 p_cb->op_state = NRFX_PDM_STATE_IDLE; in nrfx_pdm_irq_handler()
567 if (p_cb->buff_address[p_cb->active_buffer]) in nrfx_pdm_irq_handler()
569 evt.buffer_released = p_cb->buff_address[p_cb->active_buffer]; in nrfx_pdm_irq_handler()
570 p_cb->buff_address[p_cb->active_buffer] = 0; in nrfx_pdm_irq_handler()
571 p_cb->event_handler(&evt); in nrfx_pdm_irq_handler()
574 uint8_t second_buffer = (~p_cb->active_buffer) & 0x01; in nrfx_pdm_irq_handler()
575 if (p_cb->buff_address[second_buffer]) in nrfx_pdm_irq_handler()
577 evt.buffer_released = p_cb->buff_address[second_buffer]; in nrfx_pdm_irq_handler()
578 p_cb->buff_address[second_buffer] = 0; in nrfx_pdm_irq_handler()
579 p_cb->event_handler(&evt); in nrfx_pdm_irq_handler()
581 p_cb->active_buffer = 0; in nrfx_pdm_irq_handler()
584 if (p_cb->irq_buff_request) in nrfx_pdm_irq_handler()
592 p_cb->irq_buff_request = 0; in nrfx_pdm_irq_handler()
593 p_cb->event_handler(&evt); in nrfx_pdm_irq_handler()
599 static void irq_handler(NRF_PDM_Type * p_pdm, nrfx_pdm_cb_t * p_cb) in irq_handler() argument
603 .p_buff = p_cb->buff_address[p_cb->active_buffer], in irq_handler()
604 .length = p_cb->buff_length[p_cb->active_buffer], in irq_handler()
616 uint8_t finished_buffer = p_cb->active_buffer; in irq_handler()
619 uint8_t next_buffer = (~p_cb->active_buffer) & 0x01; in irq_handler()
620 if (p_cb->buff_address[next_buffer] || in irq_handler()
621 p_cb->op_state == NRFX_PDM_STATE_STARTING) in irq_handler()
625 p_cb->error = 0; in irq_handler()
628 if (p_cb->op_state == NRFX_PDM_STATE_STARTING) in irq_handler()
631 p_cb->op_state = NRFX_PDM_STATE_RUNNING; in irq_handler()
635 evt.buffer_released = p_cb->buff_address[finished_buffer]; in irq_handler()
636 p_cb->buff_address[finished_buffer] = 0; in irq_handler()
637 p_cb->active_buffer = next_buffer; in irq_handler()
640 p_cb->event_handler(&evt); in irq_handler()
646 if (p_cb->error == 0) in irq_handler()
653 p_cb->error = 1; in irq_handler()
654 p_cb->event_handler(&evt); in irq_handler()
658 if (p_cb->op_state == NRFX_PDM_STATE_STARTING) in irq_handler()
660 p_cb->op_state = NRFX_PDM_STATE_RUNNING; in irq_handler()
667 p_cb->op_state = NRFX_PDM_STATE_IDLE; in irq_handler()
673 if (p_cb->buff_address[p_cb->active_buffer]) in irq_handler()
675 evt.buffer_released = p_cb->buff_address[p_cb->active_buffer]; in irq_handler()
676 p_cb->buff_address[p_cb->active_buffer] = 0; in irq_handler()
677 p_cb->event_handler(&evt); in irq_handler()
680 uint8_t second_buffer = (~p_cb->active_buffer) & 0x01; in irq_handler()
681 if (p_cb->buff_address[second_buffer]) in irq_handler()
683 evt.buffer_released = p_cb->buff_address[second_buffer]; in irq_handler()
684 p_cb->buff_address[second_buffer] = 0; in irq_handler()
685 p_cb->event_handler(&evt); in irq_handler()
687 p_cb->active_buffer = 0; in irq_handler()
690 if (p_cb->irq_buff_request) in irq_handler()
698 p_cb->irq_buff_request = 0; in irq_handler()
699 p_cb->event_handler(&evt); in irq_handler()