Francis: Referring to: https://www.kernel.org/doc/Documentation/i2c/smbus-protocol
SMBus Process Call: =================== This command selects a device register (through the Comm byte), sends 16 bits of data to it, and reads 16 bits of data in return. So, write 16 bits to a specific register, followed by a 16 bit read. It seems you could synthesize this by using a "SMBus Write Word" followed by a "SMBus Read Word" Or synthesize it out of single byte primitives, or ... . You just need to make sure that if you stack up multiple commands to do the same thing, that in a multi-threaded environment, that the OS does not let other threads share/grab the device in between your commands. --- Graham == On Friday, February 3, 2017 at 5:24:02 AM UTC-6, Francis 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! > > Francis > -- 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/9f1be03b-fa7e-45f7-b831-acd09794cb52%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.