vsch / CLionArduinoPlugin

A plugin for CLion that enables arduino-cmake integration.
Apache License 2.0
64 stars 11 forks source link
arduino-ide clion jetbrains-plugin

pluginIcon.svg Arduino Support

A JetBrains CLion plugin to integrate Arduino CMake into the IDE.

JetBrains Plugin Page

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

Screenshot_NewProject.png

Screenshot_ProjectSettings

Screenshot_SerialMonitor

Screenshot_ChangeBuildSettings

Screenshot_ChangeBuildDiff

:warning: Serial Port Monitor plugin may conflict with Arduino Support

This plugin uses Simple Serial Connector Service plugin, which uses jscc - Java Simple Serial Connector serial library, as does Serial Port Monitor plugin. Only one plugin can load the native libraries. If you encounter conflicts please uninstall or disable Serial Port Monitor plugin, or this plugin.

Uploading a sketch

Select the upload configuration from the dropdown. The type (debug/release) does not matter.

select upload from dropdown

Use the build action to upload your sketch. Do not use the run action.

Use build action, not run

Settings (Preferences on Mac)

Some settings can also be changed in settings under Languages & Frameworks > Arduino, for convenience.

Additionally, you can point the plugin to your own versions of boards.txt and programmers.txt.

Screenshot_AppSettings

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.

On Disconnect Delay, 50ms default. Introduces a short (0-100ms) delay before a build when disconnecting a port to allow the port to become available. On some projects with very short build times, disconnecting a port does not allow enough time for the port to become available, causing the upload to fail with "Resource busy" error. Adding a short delay after disconnect solves the problem. On some project it is not needed on others 20ms was sufficient.

Status

Updated to work with CLion 2020.3 to 2023.1, with fixes in the ArduinoToolchain.cmake.

Added an option not to use bundled toolchain file. This opens the possibility of using another toolchain.

Updated all native serial port code to jscc - Java Simple Serial Connector and moved code to Simple Serial Connector Service plugin to allow multiple plugins to provide serial port monitoring without conflicts on native libraries.

Wish List

Release notes

Version Notes

History

This plugin is a fork of Original CLionArduinoPlugin written by Francois Campbell.

Notes

For serial port list and functionality the plugin uses jscc - Java Simple Serial Connector, Licensed under GNU Lesser GPL