You are reading a single comment by @Robin and its replies. Click here to read the full conversation.
  • Yes-ish, I uploaded #33, got #34, I only edited out password and SSID. The comments where there in the uploaded code, and in the dump. (edit: if your'e refering to the comment saying "// Code saved with E.setBootCode", I think it's generated--I did'nt put it there or anywhere else 🙂)

    I could do it once more without my password in there in the first place, so I don't need to edit at all 😉. But what do you say we change our base test code from the rather verbose above to what I mentioned in #40? I think I can reproduce exactly the same behavior with:

    // ****************************************­********************
    // *** MAIN
    // ****************************************­********************
    let b;
    function onInit() { let a = 0; }
    

    (The large comment block is not necessary, but included since it seemed of interest to you in your previous question--and I'm curious about the variables defined outside of onInit, hence the let b)

    To make sure I have the cleanest possible starting point, I followed the steps below:

    1. Going to "DEVICE STORAGE" (from the menu items in the center toolbar of the IDE) and deleted .bootcde file
    2. Running reset(true) (writing directly in L-hand side)

    RAM now contains:

    pinMode(D0, "input_pullup", true);
    pinMode(D12, "input_pullup", true);
    pinMode(D13, "input_pullup", true);
    pinMode(D14, "input_pullup", true);
    pinMode(D15, "input_pullup", true);
    pinMode(D18, "input_pullup", true);
    pinMode(D19, "input_pullup", true);
    pinMode(D21, "input_pullup", true);
    pinMode(D22, "input_pullup", true);
    pinMode(D25, "input_pullup", true);
    pinMode(D26, "input_pullup", true);
    pinMode(D27, "input_pullup", true);
    pinMode(D34, "input_pullup", true);
    pinMode(D35, "input_pullup", true);
    pinMode(D36, "input_pullup", true);
    pinMode(D37, "input_pullup", true);
    pinMode(D38, "input_pullup", true);
    pinMode(D39, "input_pullup", true);
    

    Dump()'ing (L-hand side) provides:

    ____                 _
    |  __|___ ___ ___ _ _|_|___ ___
    |  __|_ -| . |  _| | | |   | . |
    |____|___|  _|_| |___|_|_|_|___|
             |_| espruino.com
     2v06 (c) 2019 G.Williams
    Espruino is Open Source. Our work is supported
    only by sales of official boards and donations:
    http://espruino.com/Donate
    >
    >
    >dump()
    pinMode(D0, "input_pullup", true);
    pinMode(D12, "input_pullup", true);
    pinMode(D13, "input_pullup", true);
    pinMode(D14, "input_pullup", true);
    pinMode(D15, "input_pullup", true);
    pinMode(D18, "input_pullup", true);
    pinMode(D19, "input_pullup", true);
    pinMode(D21, "input_pullup", true);
    pinMode(D22, "input_pullup", true);
    pinMode(D25, "input_pullup", true);
    pinMode(D26, "input_pullup", true);
    pinMode(D27, "input_pullup", true);
    pinMode(D34, "input_pullup", true);
    pinMode(D35, "input_pullup", true);
    pinMode(D36, "input_pullup", true);
    pinMode(D37, "input_pullup", true);
    pinMode(D38, "input_pullup", true);
    pinMode(D39, "input_pullup", true);
    =undefined
    > 
    
    1. Copy / pasted the following into the R-hand side:

      // ****************************************­********************
      // *** MAIN
      // ****************************************­********************
      let b;
      function onInit() { let a = 0; }
      
    2. Uploaded code to Flash using the button in the center toolbar. I waited for the upload to finish, and my console now looks like this:

      ____                 _
      |  __|___ ___ ___ _ _|_|___ ___
      |  __|_ -| . |  _| | | |   | . |
      |____|___|  _|_| |___|_|_|_|___|
           |_| espruino.com
      2v06 (c) 2019 G.Williams
      Espruino is Open Source. Our work is supported
      only by sales of official boards and donations:
      http://espruino.com/Donate
      >
      WARNING: Scan stop failed
      WARNING: set rssi scan not implemeted yet
      Running onInit()...
      

    Dump'ing (from L-hand side):

    >dump()
    var b = undefined;
    function onInit() {let a = 0;}
    pinMode(D0, "input_pullup", true);
    pinMode(D12, "input_pullup", true);
    pinMode(D13, "input_pullup", true);
    pinMode(D14, "input_pullup", true);
    pinMode(D15, "input_pullup", true);
    pinMode(D18, "input_pullup", true);
    pinMode(D19, "input_pullup", true);
    pinMode(D21, "input_pullup", true);
    pinMode(D22, "input_pullup", true);
    pinMode(D25, "input_pullup", true);
    pinMode(D26, "input_pullup", true);
    pinMode(D27, "input_pullup", true);
    pinMode(D34, "input_pullup", true);
    pinMode(D35, "input_pullup", true);
    pinMode(D36, "input_pullup", true);
    pinMode(D37, "input_pullup", true);
    pinMode(D38, "input_pullup", true);
    pinMode(D39, "input_pullup", true);
    // Code saved with E.setBootCode
    // ****************************************­********************
    // *** MAIN
    // ****************************************­********************
    let b;
    function onInit() { let a = 0; }=undefined
    > 
    

    RAM:

    var b = undefined;
    function onInit() {let a = 0;}
    pinMode(D0, "input_pullup", true);
    pinMode(D12, "input_pullup", true);
    pinMode(D13, "input_pullup", true);
    pinMode(D14, "input_pullup", true);
    pinMode(D15, "input_pullup", true);
    pinMode(D18, "input_pullup", true);
    pinMode(D19, "input_pullup", true);
    pinMode(D21, "input_pullup", true);
    pinMode(D22, "input_pullup", true);
    pinMode(D25, "input_pullup", true);
    pinMode(D26, "input_pullup", true);
    pinMode(D27, "input_pullup", true);
    pinMode(D34, "input_pullup", true);
    pinMode(D35, "input_pullup", true);
    pinMode(D36, "input_pullup", true);
    pinMode(D37, "input_pullup", true);
    pinMode(D38, "input_pullup", true);
    pinMode(D39, "input_pullup", true);
    // Code saved with E.setBootCode
    // ****************************************­********************
    // *** MAIN
    // ****************************************­********************
    let b;
    function onInit() { let a = 0; }
    

    .bootcde-file (accessed from the center toolbar under "DEVICE STORAGE"):

    // ****************************************­********************
    // *** MAIN
    // ****************************************­********************
    let b;
    function onInit() { let a = 0; }
    

    And I agree, this discussion is probably becoming better suited for somewhere else 😊.

  • Sun 2020.09.20

    Thank you @user114366 for taking the time to think that through, setup, test, and post the results. I know that is time consuming and I'm sure we all can learn and appreciate what you have discovered.

    Although I don't have time to setup and determine if I can duplicate, I now do notice that the variable is declared with both a 'let' and a 'var'

    This may indeed be the key. Are you defining this differently, or as I read your proceedure verbatim, it appears to be duplicated after the edit, that way perhaps?

    Just guessing as a way to prove/disprove the scoping issue you mentioned previously, or is the 'let' getting overwritten with 'var'?

    MDN 'let'

    https://developer.mozilla.org/en-US/docs­/Web/JavaScript/Reference/Statements/let­

  • No problem, I'm interested in figuring out if this is in fact an issue (or if I just don't understand what dump() is supposed to do) and getting it solved, as much as anybody 😊.

    Although I don't have time to setup and determine if I can duplicate, I now do notice that the
    variable is declared with both a 'let' and a 'var'

    This may indeed be the key. Are you defining this differently, or as I read your proceedure
    verbatim, it appears to be duplicated after the edit, that way perhaps?

    Yes, it seems to be duplicated. I haven't used var--thats why I guessed on the first code block (above the "pinMode"s) being a copy of my code after some kind of parsing 🙂.

    About the original issue: the real issue was me expecting the wifi-module to use at-commands for configuration (like the ESP8266WiFi_0v25 module). It was a mental lapse on my part.

About

Avatar for Robin @Robin started