• It appears we were updating at the same time. . . .

    Good catch @AkosLukacs!

    I had been playing with that as I kept getting WebIDE syntax errors R-Hand editor side, and wondered, as no one had success in either of the other forum links if one or the other was a typo.

    But, with a bit of fiddling,

    var rfm = require("RFM69").connect(SPI1, {cs:NodeMCU.D8, rst:NodeMCU.D0, freq:915}, function() {
        console.log("Connected");
      });
    
    print(rfm);
    

    'cs' and 'rst' are now recognized.

    >SPI: {
      "_options": { "sck": D14, "miso": D12, "mosi": D13 }
     }
    Uncaught Error: RFM69 not found
     at line 1 col 58
    ...row Error("RFM69 not found");b.w(47,85);if(85!=b.r(47))throw...
                                  ^
    in function called from system
    {
      "spi": SPI: {
        "_options": { "sck": D14, "miso": D12, "mosi": D13 }
       },
      "cs": D15, "rst": D16, "freq": 915 }
    > 
    

    The "RFM69 not found" error seems to be from ~L080:

    https://www.espruino.com/modules/RFM69.js

    The part I'm still struggling with is that in order to get a correct syntax check, I need to use
    the NodeMCU.Dx format, I seem to get errors, as it might just be that those GPIO pin designations just don't exist for the D1 mini. Is it ESP8266, ESP32, RFM69, or Espruino under the hood?

    Still searching for the Git source that might explain the NodeMCU.Dx mapping to see if limitations exist there.

  • MaBe 1    Google Search0

    Thank you.

    That file seems to have its contents commented out.

    Backing up to the parent and taking a look, I found:

    https://github.com/espruino/Espruino/blob/master/targets/esp8266/jshardware.c
    L853

    /**
     * Initialize the hardware SPI device.
     * On the ESP8266, hardware SPI is implemented via a set of pins defined
     * as follows:
     *
     * | GPIO   | NodeMCU | Name  | Function |
     * |--------|---------|-------|----------|
     * | GPIO12 | D6      | HMISO | MISO     |
     * | GPIO13 | D7      | HMOSI | MOSI     |
     * | GPIO14 | D5      | HSCLK | CLK      |
     * | GPIO15 | D8      | HCS   | CS       |
     *
     */
    

    I might be getting breakout board pin reference D8 mixed up with ESP8266 pin label D15 as:

    >NodeMCU.D8
    =D15
    

    But, if I attempt to return that code to either the GPIOxx or removing the 'NodeMCU' prefix, I'm greeted with:

    ERROR: Cannot change pins used for flash chip
    

    Conclusion: The only syntax available means is to use the prefix 'NodeMCU' for the pin assignments. This also agrees with the Arduino table, second to last image in #1 above.
    I'm also guessing here that the 'D' prefix for the ESP8266 pin, is also the GPIOxx number and not the breakout board silkscreen pin number. e.g. D15 == GPIO15 but is silk screened D8



    Now, back to why the external hardware isn't responding to the code running on the D1. . . .

About

Avatar for MaBe @MaBe started