@@ -42,20 +42,23 @@ local function smartPortTelemetryPop()
4242end
4343
4444protocol .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
5963 end
60- return nil
6164end
0 commit comments