You are reading a single comment by @JumJum and its replies. Click here to read the full conversation.
  • Testing plugin is designed as a simple GUI to support testing and quick&dirty presentations.
    It supports a lot of functions, but it's not a full blown up GUI-Interface.
    WebIDE would not be the right place for a sophisticated GUI, this should be done in a seperate application.

    Testing supports 2 main functions.
    1. Display values from Espruino board
    WebIDE defines a function on Espruino, which creates and sends an JSON-Object and calls this function. Incoming data is interpreted and displayed as circle(alarm, warning,status), bar(0-100) or text(string or integer).
    2. Actions sent to Espruino board
    Clicking on the image sends data to Espruino. This can be assigning a value(number, boolean, string) or a command(e.g. calling a function). Commands are designed for short snippets right now, this could possibly be changed(from textbox to textarea).

    Definition of display and actions is stored locally, in a subfolder of local project folder (see link to tours in project part of options). Format is JSON see example:

    { "imageUrl":"Alarming.jpg",
      "testMode":"Image",
      "dataPoints":[
        {"label":"L07","expression":"a1","type":­"number","points":[],"display":"A","x":"­930","y":"300"},
        {"label":"P13","expression":"a2 * 0.7","type":"number","points":[],"displa­y":"A","x":"670","y":"290"},
        {"label":"GeneralAlarm","expression":"as­*2","type":"number","points":[],"display­":"none","x":"0","y":"0"},
        {"label":"F03","expression":"w1*0.5","ty­pe":"number","points":[],"display":"W","­x":"45","y":"455"},
        {"label":"T07","expression":"w2*0.3","ty­pe":"number","points":[],"display":"W","­x":"170","y":"380"},
        {"label":"GeneralWarning","expression":"­ws*1.5","type":"number","points":[],"dis­play":"none","x":"0","y":"0"},
        {"label":"Motor","expression":"s1","type­":"number","points":[],"display":"S","x"­:"170","y":"480"},
        {"label":"Log","expression":"asyncLog","­type":"text","points":[],"display":"T","­x":525,"y":75},
        {"label":"L09","expression":"process.mem­ory().free / 30","type":"number","display":"B","x":"7­60","y":"790"}
      ],
      "actionPoints":[
        {"label":"Alarm","expression":"testAlarm­()","type":"command","x":"66","y":"30"},­
        {"label":"Warning","expression":"testWar­ning()","type":"command","x":"208","y":"­30"},
        {"label":"Status","expression":"testStat­us()","type":"command","x":"337","y":"30­"},
        {"label":"Reset","expression":"resetAll(­);","type":"command","x":"0","y":"0"}
      ]
    }
    
About

Avatar for JumJum @JumJum started