Asked — Edited

Mobile App Continuous Toggle Button

I am working on a mobile app and have a button that I want to be able to toggle. First push would turn leds on and next push would turn leds off. This action should be repeated each time I push the button. The following script toggles button on then off but does not repeat these actions again. Here is the code:

#In Connect Script

$Pressed = 0

#Script for Mobile App Button

if (!$Pressed)
#High Beams On
Set (D17,ON)
Set (D19,ON)
Sleep (100)
$Pressed = 1
#High Beams Off
Set (D17,OFF)
Set (D19,OFF)
Sleep (150)
$Pressed = 0

The first time I push the button the lights come on and the second time I push the button the lights go off. This is good but any further pushes result in no action. I tried putting in a loop but still didn't work. Any thoughts would be appreciated. Rick :)


Upgrade to ARC Pro

ARC Pro will give you immediate updates and new features needed to unleash your robot's potential!



There is an EZ-Script bug:

script to reproduce the bug:

if ($pressed)

#Error on line nn: Missing String Quotes or Invalid Expression at index 0: !  
if ($pressed)



Change your code to:

if ($Pressed)
  # High Beams On
  # High Beams Off

Note: Spaces between Set and ( generates a parser error.



Thanks much, I will give this a go. In my mobile app script I don't have a space between Set and ( but thanks for the reminder. Rick


Use the Blockly interface to learn how to use ez-script. Click on the word Blockly in this message to read about it. Do not put spaces between brackets and commands, that is not correct syntax. Please read the EZ-Script manual, examples are provided. Blockly also provides examples.

if ($pressed = true)

  set(D0, true)
  $pressed = false


  set(D0, false)
  $pressed = true


User-inserted image



Thanks PTP, that works great. I have two other buttons that I want to do the same thing with but they don't work at all. I use the same exact code but different sets of leds but no go. I put the following code in the connect script for the second and third buttons:


Do I need to name these button variables with a unique name for each, other than Pressed? Thanks much...Rick



Evidently it is invalid to have variables $Pressed, $Pressed1, etc. When I changed the variable names to $Pressed, $Highbeams and $Taillights all three buttons worked as advertised. Normally $Pressed, $Pressed1 and $Pressed2 would be considered valid variables. Any thoughts on this. This appears not to be the case with ez-script? Thanks again...Rick



No problem with variables ending in numbers, must be something else.

Example project: test_buttons.EZB

  1. Start the init script
  2. press the buttons and listen the press state on your desktop speakers.


Thanks PTP. I will give it a try and keep you posted....Rick



I tried again and included $Pressed, $Pressed1 and $Pressed2 in my connection script and the three mobile app buttons are working. Not sure why it didn't work yesterday. I was wondering if it has something to do with the variables being initialized in the connection script rather than a startup script. What is the difference between connection startup script and a separate startup script. Seems that the connection startup script is the best way to go as the script is run automatically on connection. Your thoughts are appreciated....Rick



How do I give you credit for answereing this thread? Thanks again....Rick


You can't... the thread is not a "require technical assistance" type thread. It is a plain conversation thread ...



Thanks much for the clarification....Rick