@@ -42,20 +42,23 @@ local function smartPortTelemetryPop()
42
42
end
43
43
44
44
protocol .mspPoll = function ()
45
- local sensorId , frameId , dataId , value = smartPortTelemetryPop ()
46
- if (sensorId == SMARTPORT_REMOTE_SENSOR_ID or sensorId == FPORT_REMOTE_SENSOR_ID ) and frameId == REPLY_FRAME_ID then
47
- local payload = {}
48
- payload [1 ] = bit32.band (dataId ,0xFF )
49
- dataId = bit32.rshift (dataId ,8 )
50
- payload [2 ] = bit32.band (dataId ,0xFF )
51
- payload [3 ] = bit32.band (value ,0xFF )
52
- value = bit32.rshift (value ,8 )
53
- payload [4 ] = bit32.band (value ,0xFF )
54
- value = bit32.rshift (value ,8 )
55
- payload [5 ] = bit32.band (value ,0xFF )
56
- value = bit32.rshift (value ,8 )
57
- payload [6 ] = bit32.band (value ,0xFF )
58
- return mspReceivedReply (payload )
45
+ while true do
46
+ local sensorId , frameId , dataId , value = smartPortTelemetryPop ()
47
+ if (sensorId == SMARTPORT_REMOTE_SENSOR_ID or sensorId == FPORT_REMOTE_SENSOR_ID ) and frameId == REPLY_FRAME_ID then
48
+ local payload = {}
49
+ payload [1 ] = bit32.band (dataId , 0xFF )
50
+ dataId = bit32.rshift (dataId , 8 )
51
+ payload [2 ] = bit32.band (dataId , 0xFF )
52
+ payload [3 ] = bit32.band (value , 0xFF )
53
+ value = bit32.rshift (value , 8 )
54
+ payload [4 ] = bit32.band (value , 0xFF )
55
+ value = bit32.rshift (value , 8 )
56
+ payload [5 ] = bit32.band (value , 0xFF )
57
+ value = bit32.rshift (value , 8 )
58
+ payload [6 ] = bit32.band (value , 0xFF )
59
+ return payload
60
+ elseif sensorId == nil then
61
+ return nil
62
+ end
59
63
end
60
- return nil
61
64
end
0 commit comments