Hier sind die Berechnungen im Code:
Eigentlich findet alles nicht im Array statt, trotzdem gehts nicht als Byte. Vielleicht liegt das daran, dass bei Fehlerhaftem Signal die Variable Meanrx in Empf geschrieben wird. Sicher bin ich mir da aber nicht. Vielleicht hast du eine Erklärung?Code:'--Noise filter-- For I = 1 To 5 Meanrx(i) = Meanrx(i) * 3 Meanrx(i) = Meanrx(i) + Empf(i) '"lowpass filter" of the RC signal Shift Meanrx(i) , Right , 2 ' (=divide by 4) Aempfh(i) = Meanrx(i) + 17 'upper acceptable fluctuation Aempfl(i) = Meanrx(i) - 17 'lower acceptable fluctuation If Empf(i) > Aempfh(i) Or Empf(i) < Aempfl(i) Then 'compare allowed fluctuation with current rc reading Empf(i) = Meanrx(i) 'if fluctuation was too high -> replace with averaged value Print "Error reading channel: " ; I 'handy to check for RC problems End If Next 'Empf(X) are filled in "getreceiver". They usually contain values ranging from 63 - 137. 'Empf(throttlechannel) is the throttle stick. it will be rescaled differently. If Empf(throttlechannel) > 61 And Empf(throttlechannel) < 139 Then 'don't process values that can't be correct Sempf(throttlechannel) = Empf(throttlechannel) - 61 Sempf(throttlechannel) = Sempf(throttlechannel) * 3 '==> values ranging from 3 (stick at bottom) to 228 (full throttle) End If 'Now nick, roll, yaw and idle up switch If Empf(nickchannel) > 61 And Empf(nickchannel) < 139 Then 'don't process values that can't be correct Sempf(nickchannel) = Empf(nickchannel) - 100 'convert to values ranging from -37 to +37 End If If Empf(rollchannel) > 61 And Empf(rollchannel) < 139 Then 'don't process values that can't be correct Sempf(rollchannel) = Empf(rollchannel) - 100 'convert to values ranging from -37 to +37 End If If Empf(yawchannel) > 61 And Empf(yawchannel) < 139 Then 'don't process values that can't be correct Sempf(yawchannel) = Empf(yawchannel) - 100 'convert to values ranging from -37 to +37 End If If Empf(5) > 61 And Empf(5) < 139 Then 'don't process values that can't be correct Sempf(5) = Empf(5) - 100 'convert to values ranging from -37 to +37 End If
Gruß
Chris







Zitieren

Lesezeichen