• I made a simple setup with a 16x4 LCD screen (HD44780) outputting the data from a serial GPS module. I used software serial on v2.00 because hardware serial on NodeMCU confused me.

    function onInit() {
      I2C1.setup({scl:D14, sda:D12});
      var lcd = require("HD44780").connectI2C(I2C1, 0x3F);
      lcd.clear();
      lcd.setCursor(0, 0);
      lcd.print('Ready...');
    
      var s = new Serial();
      s.setup(9600,{rx:D5, tx:D4});
    
      var gps = require("GPS").connect(s, function(data) {
        lcd.setCursor(0, 0);
        lcd.print('Time: '+data.time);
    
        lcd.setCursor(0, 1);
        lcd.print('Loc:  '+data.lat+', '+data.lon);
    
        lcd.setCursor(0, 2);
        lcd.print('Sat:  '+data.satellites);
    
        lcd.setCursor(0, 3);
        lcd.print('Alt:  '+data.altitude);
      });
    }
    
    save();
    

    Pushing up the code works, but if I need to change it, pushing up the code the next time results in a New interpreter error: FIFO_FULL, followed by the NodeMCU spewing the following into the console forever:

    âìnìròn|ìllll`b|rlnànâl`ârllþLoading 4343 bytes from flash...
     ets Jan  8 2013,rst cause:2, boot mode:(3,7)
    load 0x40100000, len 2408, room 16
    tail 8
    chksum 0xe5
    load 0x3ffe8000, len 776, room 0
    tail 8
    chksum 0x84
    load 0x3ffe8310, len 632, room 0
    tail 8
    chksum 0xd8
    csum 0xd8
    2nd boot version : 1.6
      SPI Speed      : 80MHz
      SPI Mode       : QIO
      SPI Flash Size & Map: 32Mbit(512KB+512KB)
    jump to run user1 @ 1000
    âìnìròn|ìllll`b|rlnànâl`ârllþLoading 4343 bytes from flash...
     ets Jan  8 2013,rst cause:2, boot mode:(3,7)
    load 0x40100000, len 2408, room 16
    tail 8
    chksum 0xe5
    load 0x3ffe8000, len 776, room 0
    tail 8
    chksum 0x84
    load 0x3ffe8310, len 632, room 0
    tail 8
    chksum 0xd8
    csum 0xd8
    2nd boot version : 1.6
      SPI Speed      : 80MHz
      SPI Mode       : QIO
      SPI Flash Size & Map: 32Mbit(512KB+512KB)
    jump to run user1 @ 1000
    // ...(forever)
    

    ...and the onboard LED to flicker continuously. The is NOT fixed by reflashing with v2.00! Here's how I am currently working around it:

    1. Downgrade firmware to v1.99 (prevents saved code from running)
    2. Upload some safe code that doesn't use software serial
    3. Upgrade firmware back to v2.00
    4. Upload my updated code

    If anyone has a tip on preventing this error from happening I would really appreciate it!

    Also, when the ESP8266 gets into this sort of continual error state, is there an easier way to clear saved code aside from changing the firmware version and pushing up some new code?

About

Avatar for Programbo @Programbo started