注意1.这里class要继承object类,并且其父类init函数会传递一个xobjects,里面是配置文件。
注意2.return的东西有限制,可能只是字符串或数字
注意3.类名不要重复
一、若烧录在/mix/driver下的任何一个文件夹下,那么会由profile.json去调用类
1.写py文件,
不知道谁会去调用profile.json,仿照着去配置就行了,一般放在duts下
然后它就会去找图中 class项 名为Calculate的类去调用,依次传递参数,那么
这个文件就可以正常使用了
2.将文件烧录在/mix/driver下的任何一个文件夹下:
(1).scp /Users/apple/Desktop/MIX/mix/test_function/test.py root@169.254.1.35:/mix/test_function
(2). 建立连接 ssh [root@169.254.1.35]
(3).运行 ./mix/launcher/run_launcher.sh( 若报地址已使用的错误 则 killall python)
3.运行MIXRPCClient,连接后就可以调用函数了
二、整个MIX配置流程:
1.首先我们一般是从MIXRPCCLlient这个rpc通讯工具去调用函数,有两种调用方式:
这种方式调用的是定义test_function目录下的文件的方法:如下图testCal类里的Cal方法
(1):首先init函数是在运行run_launcher.sh的时候就会去执行放在test_function目录下的文件,然后去创建类的对象,并把prifile.json文件传给如图xobjects,配置在devices下的表,可以用如init函数的方式拿到,而配置在duts下的表就很多层不容易拿到,这里不会去拿它也不是在这里用。这里不需要传value,因为这里self.caltype拿到的是一个个的类,也拿不到参数,如下图。
(2):通过拿到的这一个个的类的地址,虽然是四个地址,但是这里都指向了同一个类也就是下图这个类,那么就可以直接用_访问这个类的方法。
(2).如果是想直接调用/mix/driver/ic/Calculate.py里面的方法,首先把他们标为public,其次必须在duts下也就是每个通道至少一个通道有如图的配置文件,
然后一样的你要如图调用,注意要先通过类似test_add拿到Calculate,这时候就会去创建类的对象并返回,就可以直接用_访问方法。
这个时候也可以直接调用getres的方法,那么,因为此时已经创建了对象,并且调用了init方法,参数会按照profile.json 怎么配的就怎么传进来,因此就有了self.result
注意
1:Calculate.py的init函数可以用与计算等等实际用途,而test.py的里的init函数,一般为了拿到profile.json 里面配置的类的地址,再去访问底层。
2:可以理解为test_function里的文件的函数跟profile.json 的 devices表匹配,而/driver里的文件的函数跟profile.json 的 duts表匹配