# Datentransfer per Funk scheint langsam zu sein

**URL:** <https://forum.calliope.cc/t/datentransfer-per-funk-scheint-langsam-zu-sein/1916>\
**Category:** Fragen zu MakeCode/PXT\
**Created:** [5. Januar 2021 um 08:57 UTC](https://forum.calliope.cc/t/datentransfer-per-funk-scheint-langsam-zu-sein/1916 "2021-01-05T08:57:04Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Speerwerfer](https://avatars.discourse-cdn.com/v4/letter/s/ac91a4/32.png) [@Speerwerfer](https://forum.calliope.cc/u/Speerwerfer)\
**Post date:** [5. Januar 2021 um 08:57 UTC](https://forum.calliope.cc/t/datentransfer-per-funk-scheint-langsam-zu-sein/1916/1 "2021-01-05T08:57:04Z")

</div>

Hallo,

ich möchte einen Callibot per Funk mit einem zweiten Calliope steuern. Dazu schicke ich per Funk Wertepaare an den Callibot. Einmal für die Fahrtrichtung und einmal für den Servo. Der Servo wird zu Zeit noch nicht angesteuert (ersatzweise die RGB LED).

Ich habe festgestellet, das zwar die Befehle beim Callibot ankommen, aber die Übertragung schon verzögert, so das es manchmal schwierig ist, den Callibot zu steuern.

In einer der ersten Bibliotheken von Knotech gab es mal eine fertige Fernsteuerung, die sehr zügig funktioniert hat. Das waren einfach zwei Blöcke. Einer für die Fernsteuerung und einer für den Callibot. Da funktionierte das sehr gut. Weiß hier jemand, wie das gelöst wurde?

Hier noch mein Programm: [https://makecode.calliope.cc/\_CFDCXj1mE6c1](https://makecode.calliope.cc/_CFDCXj1mE6c1)

VG  
Martin

---

<div class="post-metadata">

**Author:** ![klmi](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.calliope.cc/klmi/32/763_2.png) [@klmi](https://forum.calliope.cc/u/klmi)\
**Post date:** [5. Januar 2021 um 20:11 UTC](https://forum.calliope.cc/t/datentransfer-per-funk-scheint-langsam-zu-sein/1916/2 "2021-01-05T20:11:11Z")

</div>

Das ist der Originalcode

```
//% blockId=K_Fernsteuerung_Empfaenger color="#E3008C" block="Fernsteuerung Empfänger Gruppe |%gruppe"
export function empfaenger(gruppe: number) {
    let Zeit = 0
    let MotorRechts = 0
    let MotorLinks = 0
    radio.onDataPacketReceived(({ receivedString: name, receivedNumber: wert }) => {
        if (name == "L") {
            MotorLinks = wert
        }
        if (name == "R") {
            MotorRechts = wert
        }
        Zeit = 50
    })
    radio.setGroup(gruppe)
    while (1 == 1) {
        if (KFunkAktiv == 0) {
            if (MotorLinks < 0) {
                motor(KMotor.rechts, KDir.vorwärts, Math.abs(MotorLinks))
            } else {
                motor(KMotor.rechts, KDir.rückwärts, MotorLinks)
            }
            if (MotorRechts < 0) {
                motor(KMotor.links, KDir.vorwärts, Math.abs(MotorRechts))
            } else {
                motor(KMotor.links, KDir.rückwärts, MotorRechts)
            }
            basic.pause(1)
            if (Zeit > 0) {
                Zeit += -1
            } else {
                MotorLinks = 0
                MotorRechts = 0
            }
        }
    }
}

//% blockId=K_Fernsteuerung_Sender color="#E3008C" block="Fernsteuerung Sender Gruppe |%gruppe| Übertragungsstärke |%staerke"
export function sender(gruppe: number, staerke: number) {
    let MotorRechts = 0
    let MotorLinks = 0
    let WertY = 0
    let AccelY = 0
    let WertX = 0
    let AccelX = 0

    radio.setTransmitPower(staerke)
    radio.setGroup(gruppe)

    while (1 == 1) {
        AccelX = input.acceleration(Dimension.X)
        if (AccelX > 100) {
            WertX = (AccelX - 100) / 5
        } else if (AccelX < -100) {
            WertX = (AccelX + 100) / 5
        } else {
            WertX = 0
        }
        AccelY = input.acceleration(Dimension.Y)
        if (AccelY > 100) {
            WertY = (AccelY - 100) / 5
        } else if (AccelY < -100) {
            WertY = (AccelY + 100) / 5
        } else {
            WertY = 0
        }
        MotorLinks = WertY + WertX
        MotorRechts = WertY - WertX
        radio.sendValue("L", MotorLinks)
        radio.sendValue("R", MotorRechts)
    }
}

//% blockId=K_Fernsteuerung_Status color="#E3008C" block="Schalte Empfänger |%status"
export function empfaengerStatus(status: KFunk) {
    if (status == KFunk.an) {
        KFunkAktiv = 0
    }
    else {
        KFunkAktiv = 1
    }
}

```

LG Michael
