LoraWAN论坛

标题: codec数据execution timeout [打印本页]

作者: Henry    时间: 2018-10-8 17:01
标题: codec数据execution timeout
运行环境:1.硬件:树莓派+rak831+rak811
2.软件:lora-gateway-bridge +loraserver+loraappserver
问题描述:
    在设备成功入网之后,大概4%的数据会出现execution timeout
    在lora-app-server中我的codec如下:
function Decode(fPort, bytes) {
                var decoded = {};
        decoded.a = bytes[0];
  decoded.b= bytes[1];
  decoded.c = bytes[2];
  decoded.d = bytes[3];
  decoded.e = bytes[4];
  decoded.f= bytes[5];
  decoded.g = bytes[6];
  decoded.h = bytes[7];
  decoded.i = bytes[8];
    return decoded;
}  
报错数据如下所示:
[attach]171[/attach]
在开源lora中的相关代码为:
// CodecMaxExecTime holds the max. time the (custom) codec is allowed to
// run.
var CodecMaxExecTime = 10 * time.Millisecond  






func]        defer func() {
<span]                        err = fmt.Errorf("%s", caught)
<span]        }()

<span]        script := c.encodeScript + "\n\nEncode(fPort, obj);\n"

<span]        vm := otto.New()
<span]        vm.SetStackDepthLimit(32)
<span]        vm.Set("fPort", c.fPort)

<span]        go func() {
<span]                vm.Interrupt <- func() {
<span]                }
<span]
<span]        val, err = vm.Run(script)
<span]                return nil, errors.Wrap(err, "js vm error")
<span]        if !val.IsObject() {
<span]        }

<span]        var out interface{}
<span]        if err != nil {
<span]        }

<span]        return interfaceToByteSlice(out)
}
请问大家有过类似经历吗?
具体的加q:2391188683




作者: BeyondDream    时间: 2018-10-8 17:30
您采用的是:rak831+rak811,请寻找该厂商的技术支持。
作者: Henry    时间: 2018-10-8 17:44
BeyondDream 发表于 2018-10-8 17:30
您采用的是:rak831+rak811,请寻找该厂商的技术支持。

经测试和硬件无关,数据量增大的时候会出错,SPI log抓的数据没有规律。
作者: Henry    时间: 2018-10-8 17:48
https://forum.loraserver.io/t/codec-error-execution-timeout/2059
这是我在lora官方论坛发的贴。
作者: wj7636    时间: 2019-3-20 22:09
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 LoraWAN论坛 (http://lora.timeddd.com/) Powered by Discuz! X3.3