Please create an issue on github, I can add Donny or other people to ask your question.
On Wed, Oct 16, 2024 at 1:27 AM Felipe Moura Oliveira <moura....@gmail.com> wrote: > Hello Xiang Xiao, > > Can you connect me with Donny or can you help me to understand spi_slave > semaphore "unlock" ? > > Looking into spi_slave_driver.c:330 > while (priv->rx_length == 0) > { > remaining_words = SPIS_CTRLR_QPOLL(priv->ctrlr); > if (remaining_words == 0) > { > spiinfo("All words retrieved!\n"); > } > else > { > spiinfo("%zu words left in the buffer\n", remaining_words); > } > > if (priv->rx_length == 0) > { > nxmutex_unlock(&priv->lock); > if (filep->f_oflags & O_NONBLOCK) > { > return -EAGAIN; > } > > ret = nxsem_wait(&priv->wait); > if (ret < 0) > { > return ret; > } > > ret = nxmutex_lock(&priv->lock); > if (ret < 0) > { > spierr("Failed to get exclusive access: %d\n", ret); > return ret; > } > } > } > > we have: > ret = nxsem_wait(&priv->wait); > > I think read operation will be locked until the function spi_slave_notify > has been called, but I cannot find any call of SPIS_DEV_NOTIFY in nuttx > repo. Did you have different implementation in your side ? > > Em ter., 15 de out. de 2024 às 12:28, Felipe Moura Oliveira < > moura....@gmail.com> escreveu: > > > Hello All, > > > > I did a dummy question, in master branch, spi slave implementation > already > > blocked until new data is available. I wasn't working in the master > branch > > but I will switch to. > > > > Em ter., 15 de out. de 2024 às 11:45, Felipe Moura Oliveira < > > moura....@gmail.com> escreveu: > > > >> Hello Xiang Xiao, > >> > >> thanks for sharing with me about rpmsg, to be honest it is new for me > =/, > >> I was locked in baremetal for several years. For now I cannot use it > >> because my host mcu is running baremetal (maybe in the future we will > >> change it). I developed a simple protocol using ack and nak whey to > handle > >> communication with master and slave. About "lock" my app until data is > >> available, I am thinking use semaphore to wait to do it, so my solution > >> will be able to sleep my mcu until spi releases it. > >> > >> Em ter., 15 de out. de 2024 às 11:24, Xiang Xiao < > >> xiaoxiang781...@gmail.com> escreveu: > >> > >>> Yes, we use DMA for both SPI master/slave, but DMA is more related to > the > >>> driver not the framework. > >>> > >>> On Tue, Oct 15, 2024 at 2:08 PM Tomek CEDRO <to...@cedro.info> wrote: > >>> > >>> > One question by the way someone asked me recently - can NuttX SPI > Slave > >>> > work in DMA mode? :-) > >>> > > >>> > -- > >>> > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info > >>> > > >>> > >> > >> > >> -- > >> *Felipe Moura de Oliveira* > >> *Universidade Federal de Minas Gerais* > >> Linkedin <https://www.linkedin.com/in/felipe-oliveira-75a651a0> > >> <https://twitter.com/FelipeMOliveir?lang=pt-br> > >> > > > > > > -- > > *Felipe Moura de Oliveira* > > *Universidade Federal de Minas Gerais* > > Linkedin <https://www.linkedin.com/in/felipe-oliveira-75a651a0> > > <https://twitter.com/FelipeMOliveir?lang=pt-br> > > > > > -- > *Felipe Moura de Oliveira* > *Universidade Federal de Minas Gerais* > Linkedin <https://www.linkedin.com/in/felipe-oliveira-75a651a0> > <https://twitter.com/FelipeMOliveir?lang=pt-br> >