On Fri, Feb 3, 2017 at 3:06 AM, Francis <pra...@gmail.com> wrote: > Hi, > > I am trying to create an application on top/based on the i2c tools. > Everything was working well, except the i2c_smbus_block_process_call(), > which returns an error when called. > > Below is the output of i2cdetect -F: > > Functionalities implemented by /dev/i2c-2: > I2C yes > SMBus Quick Command no > SMBus Send Byte yes > SMBus Receive Byte yes > SMBus Write Byte yes > SMBus Read Byte yes > SMBus Write Word yes > SMBus Read Word yes > SMBus Process Call yes > SMBus Block Write yes > SMBus Block Read no > SMBus Block Process Call no > SMBus PEC yes > I2C Block Write yes > I2C Block Read yes > > ----- > > Based from it, I could tell that SMBus Process Call is not supported. > could anyone suggests an alternative or give directions on how to make a > process call? > > Thanks in advance! > > Well the reason why the functionality you mention is not supported should be obvious from your output above. Block read isn't supported either. Honestly though, I'm not even sure how the block process call functionality is even useful. What's the point of writing up to 31 bytes into ONE register, and reading it back again ?
As far as answering your question goes. Technically you can not duplicate this functionality. Realistically, you could attempt to use the standard I2C block read listed above, or just use i2c_smbus_read_byte_data(), and loop over the whole register set ? Again, I honestly do not get the point of such a "feature". -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/CALHSORrsE_qdUB4GC5iQje%3DhojpP7OQ%2BnK7z6Nzxp8KVtPsYAw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.