You are reading a single comment by @asez73 and its replies. Click here to read the full conversation.
  • Hi, in fact what might impact others boards is mainly:

    1-modified: ./Makefile
    Where i added a NUCLEOF401RE section in order to get it working. By the way I had to create an uncommented line like "NUCLEOF401RE=1" in order to build correctly otherwise "BOARD=NUCLEOF401RE make" was always building for a LINUX configuration... I am wondering how to do a proper selection with "BOARD=NUCLEOF401RE make" without having to have a "NUCLEOF401RE=1" line predefined in the Makefile. Something unusual must happen in my system.

    2-modified: ./scripts/
    Where I had to use os.path.normpath otherwise neither "/../scripts" nor "/../boards" where correctly interpreted and I had a "module not found error" immediately at the import line. This change should not do anything to other boards since it is a standard python functionality for normalising path and file names. I also added a leading line "# -- coding: utf8 --" because my comments included some accentuated letters.

    Everything else is actually new files added under ./boards/ subtree.

    So, I think my changes are harmless for other boards while my additions should also be harmless although unreliable so far. No C code was written or modified...

    By the way I found the file which explains your requirements.

    Two questions:
    a- How do I compute the memory values used in the boards .py files under the 'saved_code' section and for the 'variables' under the 'info' section? I copied the values from the STMDiscovery file just changing the memory sizes according to the STM32F401xE manual.

    b- The NUCLEO boards do have an hybrid connectivity which creates a conflict about pin names: Arduino's analog inputs are names A## and the Espruino names are also A## to H##. You, logically, shortened the names as defined in the STM32F401 manuals by removing the leading "P". This makes A1, for instance, a valid name for both standard naming rules although the actual pins positions and functionality are totally different. Do you have any suggestion about how to name the Arduino's pins and the Nucleo's pins without breaking the already applied rules for the different boards?

    I am also surprised that, for instance, setInterval works perfectly while setWatch doesn't at all. Actually holding down the user button is correctly read ("analogRead(BTN1)" answers 0 if pressed down, 1 if not pressed). Or is it a reversed logic problem when compared to Espruino board's user button?

    I confirm that save() won't make it although the console log shows that it did it correctly. A "reset()" followed by a "dump()" won't show anything saved.

    Finally, the web IDE works correctly. I just have an other problem with a character left in the input buffer whenever a reset() is done. This a firmware problem not a web IDE problem.

    Next step is a git pull request directly on your GitHub repo.


Avatar for asez73 @asez73 started