def METHOD_NAME(self):
    # set loco to forward, stopped
    self.status.text = "Forward, stopped"
    self.throttle.speedSetting = 0.
    self.throttle.setIsForward(True)
    self.waitMsec(self.delay*1000)
    # set loco to forward, 50%
    self.status.text = "Forward, 50%"
    self.throttle.speedSetting = 0.5
    self.throttle.setIsForward(True)
    self.waitMsec(self.delay*1000)
    # set loco to forward, 100%
    self.status.text = "Forward, 100%"
    self.throttle.speedSetting = 1.0
    self.throttle.setIsForward(True)
    self.waitMsec(self.delay*1000)
    # set loco to reverse, stopped
    self.status.text = "Reverse, stopped"
    self.throttle.speedSetting = 0.
    self.throttle.setIsForward(False)
    self.waitMsec(self.delay*1000)
    # set loco to reverse, 50%
    self.status.text = "Reverse, 50%"
    self.throttle.speedSetting = 0.5
    self.throttle.setIsForward(False)
    self.waitMsec(self.delay*1000)
    # set loco to reverse, 100%
    self.status.text = "Reverse, 100%"
    self.throttle.speedSetting = 1.0
    self.throttle.setIsForward(False)
    self.waitMsec(self.delay*1000)
    # set loco to forward, stopped,
    # and start function tests
    self.throttle.speedSetting = 0.
    self.throttle.setIsForward(True)
    self.status.text = "F0 on, forward"
    self.throttle.setF0(True);
    self.throttle.setIsForward(True)
    self.waitMsec(self.delay*1000)
    self.status.text = "F0 on, reverse"
    self.throttle.setF0(True);
    self.throttle.setIsForward(False)
    self.waitMsec(self.delay*1000)
    self.status.text = "F0 off"
    self.throttle.setF0(False);
    self.throttle.setIsForward(True)
    self.waitMsec(self.delay*1000)
    self.status.text = "F1 on"
    self.throttle.setF1(True);
    self.waitMsec(self.delay*1000)
    self.status.text = "F1 off"
    self.throttle.setF1(False);
    self.waitMsec(self.delay*1000)
    # done!
    self.status.text = "Done"
    self.throttle.release(None)
    #re-enable button
    self.startButton.enabled = True
    # and stop
    return 0