code: def devop_read(self, args, bustype):
          '''read from device'''
          if len(args) < 5:
              print("Usage: devop read <spi|i2c> name bus address regstart count")
              return
          name = args[0]
          bus = int(args[1],base=0)
          address = int(args[2],base=0)
          reg = int(args[3],base=0)
          count = int(args[4],base=0)
          self.master.mav.device_op_read_send(self.target_system,
                                              self.target_component,
                                              self.request_id,
                                              bustype,
                                              bus,
                                              address,
                                              name,
                                              reg,
                                              count)
          self.request_id += f devop_read(self, args, bustype):
          '''read from device'''
          if len(args) < 5:
              print("Usage: devop read <spi|i2c> name bus address regstart count")
              return
          name = args[0]
          bus = int(args[1],base=0)
          address = int(args[2],base=0)
          reg = int(args[3],base=0)
          count = int(args[4],base=0)
          self.master.mav.device_op_read_send(self.target_system,
                                              self.target_component,
                                              self.request_id,
                                              bustype,
                                              bus,
                                              address,
                                              name,
                                              reg,
                                              count)
          self.request_id += 1
docs: read from device