Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A new fork for those interested in CLion Arduino development #45

Open
vsch opened this issue Nov 26, 2018 · 2 comments
Open

A new fork for those interested in CLion Arduino development #45

vsch opened this issue Nov 26, 2018 · 2 comments

Comments

@vsch
Copy link

vsch commented Nov 26, 2018

If you are interested in using CLion for Arduino development, I forked and rewrote the plugin for my use and released it as a new plugin. JetBrains Plugin Page, Project GitHub Repo

It adds Arduino and sketch and library to IDE's new project wizard instead of separate action, adds a serial port monitor tool window with auto disconnect on build option, parses boards.txt and programmers.txt to show options in dropdown lists instead of having to search for the ids in these files and edit CMakeLists.txt after creation.

It works on CLion 2018 so probably addresses issues #40, #44, #43

Install and create Arduino CMake projects in one click with new project wizard types and view communications with the integrated serial monitor tool window.

  • Arduino Sketch and Arduino Library project types to new project wizard, with Options to select board type, cpu, programmer and port

    Screenshot_NewProject.png

  • Arduino Sketch new file action

  • Serial port monitor tool window with options to disconnect on build start and reconnect on build complete.

    Screenshot_ProjectSettings

    Screenshot_SerialMonitor

    ⚠️ Build events are only available in CLion 2018.3 (or later) so these options are disabled if you are running an earlier version of CLion.

  • Change current build parameters the Tools > Arduino Support > Change build settings. Preview changes to CMakeLists.txt before committing to them with the Show Difference button or use it to copy the desired changes to apply them manually.

    Screenshot_ChangeBuildSettings

    Screenshot_ChangeBuildDiff

  • Plugin settings (Preferences on Mac)

    Screenshot_AppSettings

    • Customize template files used for creating new projects

    • Use bundled boards.txt and programmers.txt or your own versions.

    The Show Difference button is only displayed when a valid file is selected to let you quickly see if there are differences from the bundled version.

    The Create From Bundled button is only displayed when a non-existent directory is given and it can be created. Pressing it will create the directory and populate it with the bundled templates. For layout and caveats of this directory please refer to the README.md file in that directory.

⚠️ Serial Port Monitor plugin cannot be used with Arduino Support

Both plugins use jSSC-2.8.0 serial library and only one plugin can load the native libraries. Please uninstall or disable Serial Port Monitor plugin before installing Arduino Support.

@vsch vsch changed the title A new plugin for those interested in CLion Arduino development A new fork for those interested in CLion Arduino development Nov 26, 2018
@jeremykittel
Copy link

How does one include an external library for instance, I would like to include all custom libs located in '/Users/jeremykittel/Documents/Arduino/libraries'

'/Users/jeremykittel/Documents/Arduino/libraries/Newliquidcrystal_1.3.5/'

Please advise

@vsch
Copy link
Author

vsch commented Dec 18, 2018

@jeremykittel, you need to add to the CMakeLists.txt a line for link directories:

 link_directories(path)

Where path is the parent directory holding your libraries. One caveat is that Arduino CMake recognized libraries when the directory name (xxxx for example) they are in matches the xxxx.cpp and xxxx.h contained inside.

So your Newliquidcrystal_1.3.5 library should have Newliquidcrystal_1.3.5.h and Newliquidcrystal_1.3.5.cpp files in it, otherwise it will not be recognized as a library.

After adding or removing an #include for a library you need to reload CMakeLists.txt in CLion so dependencies are rebuilt.

This was discussed in vsch#2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants