btashton commented on pull request #2674: URL: https://github.com/apache/incubator-nuttx/pull/2674#issuecomment-759615305
> > > > I see NOSTART used in various drivers, does that not expect a message without a (repeated) start? > > > > > > > > > It doesn't expect a repeated start. NOSTART just means that the next chunk is a continuation of the old data. > > > > Right, that is what I meant. I was referring to Brennan's comment regarding that none of the drivers used this feature, but I see they actually do so they would all use the memcpy() implementation. > > Ah ok. Regarding the NOSTOP flag, yes, that's what makes the driver send a repeated start. However, if my recolation is right some drivers (stm32 I believe) do send a repeated start when necessary without the NOSTOP flag. The PIC32MZ driver needs NOSTOP to send a repeated start. > That said not all drivers use a repeated start, most of them do a stop (completely relinquish the bus) then a start again. > An example of drivers using NOSTOP: https://github.com/apache/incubator-nuttx/blob/master/drivers/timers/mcp794xx.c#L298 That driver looks a little suspect to me usually you so not want a STOP in the register read. NOSTOP is implied in the first message if the NOSTART flag is set on the second one. Drivers are inconsistent about it they set that flag on the first message or leave it 0 but this is what our interface contract says. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org