Pymakr Atom Plugin released



  • After a good number of weeks developing, we are ready to announce that the Pymakr Atom plugin has been released to the Atom registry! It's got all the important features the old Pymakr app has, but build right into Atom. The old Pymakr desktop app will still be available to download, but will not be maintained anymore.

    Installation
    To install the package, go ahead and:

    • Download and install Atom from atom.io
    • Open the settings page in Atom and go to the 'Install' tab
    • Perform a search for 'pymakr'
    • Pymakr 0.9.2 will show up on the bottom of the search results (because it doesn't have any reputation yet)
    • Click 'install'. This might take a minute or so, for installing all the dependencies.
    • Update your devices to the latest firmware (1.6.11.b1 or higher)

    Features
    The plugin features a REPL terminal on the bottom of the screen, that opens on startup. The terminal has all the features you're used to from the old Pymakr and commandline; directly running commands on the board, arrow keys for previous commands, tab to autocomplete, ctrl-b/c/d commands, copy paste support, and more.

    It has a row of action buttons just above the terminal that can be used to setup the board, run one file or sync your entire project to the board. You can also close the terminal, which will disconnect the board. It will remember the open/closed state when restarting atom so it's not in the way when you are using Atom for other projects.

    Initial config:
    To setup the board use the Settings button on the right top of the terminal. There you can enter the device address as an IP or comport. Change the username and password if needed. Now click the Connect button above the terminal and you are set!

    Synchronizing
    As soon as you have a project opened with your main.py and boot.py file, you can go ahead and press the sync button to upload all files in your project to the board.
    If you have your python files in a subfolder of the project, there is a 'Sync folder' setting to tell the plugin which folder you want to sync to the board.

    Running code
    With any python file open, press the run button to run the code to the board. Any output will be printed to the terminal. Either wait for the script to finish or press the cancel button to stop the script.

    Useful links

    Some improvements we already have planned are:

    • Auto detect of comports
    • Running files even when they are not saved yet
    • Making the terminal panel resizable
    • Making a subset of the settings project specific

    Please let us know what you think of the plugin. Any feedback or questions are welcome. Bug reports can be posted on github. We'll stay active in bugfixing and improving the plugin, especially in this first period after release.

    Next up: the Visual Studio Code plugin!

    EDIT 0.9.4 released

    • Include precompiled serialport libs for mac and linux
    • Improved error handling and stability on sync
    • Running files is now possible for unsaved files
    • Bugfixes for pasting multiple lines and cmd-c/cmd-v commands.
    • Fixed connection issue when using telnet to a device's access point

    EDIT 1.0.0 released

    • Added project specific settings
    • Added serial port detection (in sub-navigation under the 'more' button)
    • Multiple bug fixes for synchronization over serial
    • Terminal height now resizable by dragging the top edge
    • Fixed 'failed to connect' bug when reconnecting on telnet

    EDIT 1.0.1 released

    • Multiple typo's and small bugfixes
    • Added an option to get the wifi AP SSID from the board
    • UI updates including pycom logo
    • Increased maximum lines in terminal to 5000

    EDIT 1.0.2 released

    • Added timeout and reconnect logic on serial connection (useful for pysense/pytrack sleep)
    • Pysense/pytrack serialport detection
    • Bugfix related to project settings not refreshing (issue #23)
    • Ignoring hidden and empty subfolders during synchronize

    EDIT 1.0.3 released

    • Fixes issues with serialport library on windows32 and problems in newer atom versions (1.17.2 and 1.18)

    EDIT 1.1.0 released

    • Big refactor to get a shared base code with the VSCode plugin
    • Added 'open_on_start' config
    • Fixes issues with serialport lib for newer versions of atom
    • Bugfix in the run feature on linux.
    • More relaxed keep-alive protocol on telnet (ping has to fail twice before connection break)


  • @danielm Hi, i am new here. I also facing the same problem as you. May i know how can we fix it?



  • On Windows 7 with Atom 1.20.1x64 only Pymakr version 1.0.3 is offered as latest compatible version.

    0_1506173579924_pymakr.png

    Then the package fails to be loaded anyway:

    0_1506173753011_pymakr2.png



  • On my Mac I installed last ver of Atom (1.20.0 x64) and pymakr plugin (1.0.3). I'm connected to LoPy through serial.
    After I created a simple file test.py containing this:

    import uos
    uos.uname()
    

    Sync &Running the project with Atom raise errors. Do I have to configure something to run a simple python file?

    >>>
    >>
    Traceback (most recent call last):
      File "<stdin>", line 2, in <module>
    NameError: name 'null' is not defined
    >
    MicroPython 8a4f37d-dirty on 2017-09-17; LoPy with ESP32
    Type "help()" for more information.


  • V1.1.0 update. Includes a big refactor round that gets the code in line with the VSCode plugin. This has very little effect on the UI and features, except for a new config option 'open_on_start' that can be used to hide the plugin by default. All problems with the serialport should also be resolved (bindings file not found and serialport version mismatch errors), as long as you are on the latest atom version (1.19 or higher)

    • Big refactor to get a shared base code with the VSCode plugin
    • Added 'open_on_start' config
    • Fixes issues with serialport lib for newer versions of atom
    • Bugfix in the run feature on linux.
    • More relaxed keep-alive protocol on telnet (ping has to fail twice before connection break)

  • Pybytes Beta

    @Ralph I' m getting this error when I try to install Pymakr plugin 1.0.3 (I' ve tried to update from 1.0.2 and it crashed, so I' ve unistalled to reinstall it).

    0_1500029112717_Error Pymakr.JPG



  • @Ralph Thank you. It works.



  • @Manuel That works, but if you want to use 1.0.3, you can completely uninstall and then re install the plugin to make it work. There is an issue with a few files that fail to update to the new code in the folder, for unknown reasons. Only happens on windows it seems. We're working on a permanent solution.



  • @ozeta I have the same problem in 2 windows 10 machines (64 bits).

    Using this https://forum.pycom.io/topic/1137/downgrade-atom-pymkr-plugin should fix the problem.

    Try with "apm install Pymakr@1.0.2" in cmd or PowerShell (if you are using windows). It worked for me.



  • @Ralph I have atom 1.18 and before pymakr 1.0.3 all worked fine. after last update I get: "Failed to load the Pymakr package" ... stacktrace.... then: The error was thrown from the Pymakr package. This issue has already been reported.
    View Issue ( https://github.com/pycom/pymakr-atom/issues/1 )

    is it possible to revert to 1.0.2?



  • This morning a patch has been released under v1.0.3.

    It fixes issues with serialport library on windows32 and problems in newer atom versions (1.17.2 and 1.18). If you had any installation issues before, this update should to resolve it.



  • A small patch has just been released under v1.0.2. It contains some fixes that will help pytrack/pysense users, for example when the board goes into sleep. The serial will now handle a loss and recovery of the serial port when the board goes to sleep.

    • Added timeout and reconnect logic on serial connection (useful for pysense/pytrack sleep)
    • Pysense/pytrack serialport detection
    • Bugfix related to project settings not refreshing (issue #23)
    • Ignoring hidden and empty subfolders during synchronize

  • Pybytes Beta

    I' m always having problems to sync with the boards, specially while connecting by WiFi it's almost impossible to sync or run a program.

    I have everything updated and using Windows10, am I the only one? Or is it "normal"? What do you recommend me to sync easier? Is it possible to connect with Putty by Wifi?



  • Clicking on that bug also gave me some hints: Some installed packages could not be loaded because they contain native modules that were compiled for an earlier version of Atom.Rebuild Packages and clicking rebuild: The system cannot find the path specified, it fails.

    edit: third time it worked!



  • @bucknall

    Thanks. I see what the issue is.... there is a small red bug in the bottom right corner of the screen. When clicking on it, it indicates that there is an issue with my serial library. It has a "rebuild" link. After clicking on it, and restarting Atom, it now works.

    Mike



  • With one of the previous versions I encountered a serious error, Atom wouldn't even start anymore. So I deinstalled Pymakr.
    However when I now install it again (tried multiple times) it won't show up anymore. Toggle console does nothing. I can see Pymakr in the packages menu (top menu bar) and I also see it in the Installed Packages menu, where you can change the port etc.

    Atom is updated to the latest version. Maybe I need to clear some old files?


  • administrators

    Hi @mcook,

    If you look at the bottom of the Atom window, you'll see a new bar with a button that says '^ Open'. If you click this, you will see the new terminal interface.



  • @Ralph

    Hi,

    Maybe I am doing something dumb. When I set up the Atom plugin, by going to Atom > Preferences > Packages > Pymakr, all I see is the PyMakr Readme.

    This is what I see... I don't see a place to configure the IP Address of the LoPy.

    Any idea what I am doing incorrectly?

    Thanks,
    Mike

    0_1496924816310_upload-695f7c17-dac2-45e2-a8ee-f5c0b3682d28



  • V1.0.0 has just been released. A few problems concerning the synchronize feature using a serial connection are now solved and some new features have been added:

    • Added project specific settings
    • Added serial port detection (in sub-navigation under the 'more' button)
    • Multiple bug fixes for synchronization over serial
    • Terminal height now resizable by dragging the top edge
    • Fixed 'failed to connect' bug when reconnecting on telnet

    The project specific settings might need some explanation:
    When clicking the new 'project settings' option, a config file is created inside your project folder. Any settings changed inside this file will override the global settings. This can be useful when you are using different project for different devices or when each project has a different folder that has to be synchronized.
    Remove the settings from this file that you don't want to override.



  • @Ralph I re-built the filesystem on each LoPy and now the sync is working. All good.


Log in to reply
 

Looks like your connection to Pycom Forum was lost, please wait while we try to reconnect.