diff --git a/README.md b/README.md index 3f3e34f..afa25a3 100644 --- a/README.md +++ b/README.md @@ -16,9 +16,6 @@ communications with the integrated serial monitor tool window. * Serial port monitor tool window with options to disconnect on build start and reconnect on build complete. - :warning: 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 `Tools` > `Arduino Support` > `Change build settings`. * Customize template files used for creating new projects. @@ -35,12 +32,15 @@ communications with the integrated serial monitor tool window. ![Screenshot_ChangeBuildDiff](/assets/images/Screenshot_ChangeBuildDiff.png) -#### :warning: `Serial Port Monitor` plugin cannot be used with `Arduino Support` +#### :warning: `Serial Port Monitor` plugin may conflict 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`. +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](/assets/images/Screenshot_RunDebugConfiguration.png) @@ -65,8 +65,8 @@ 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](/resources/com/vladsch/clionarduinoplugin/templates/README.md) -file in that directory. +[README.md](/resources/com/vladsch/clionarduinoplugin/templates/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 @@ -81,40 +81,18 @@ Updated to work with CLion 2020.3 to 2023.1, with fixes in the ArduinoToolchain. 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 -* [x] Convert to project wizard in new project as Arduino Sketch Project, instead of file menu - item. -* [x] Add Configuration options: - * [x] Board selection - * [x] CPU selection - * [x] Port selection using jssc [jSSC-2.8.0] Patched for Arduino by Cristian Maglie - https://raw.githubusercontent.com/arduino/Arduino/master/arduino-core/src/processing/app/SerialPortList.java - * [x] Persistence for new project options, since these are most likely to be re-used. - * [x] Allow additional Library directories -* [x] User selectable boards.txt and programmers.txt location. By default the plugin will use - embedded version of these files. -* [x] Add: Serial Terminal tool window, current - [`Serial Monitor` plugin](https://plugins.jetbrains.com/plugin/8031-serial-port-monitor) - is functional but prevents JSSC native libraries from being used to list available ports, - is not actively developed and lacks creature comforts: - * [x] auto disconnect on project build so update build can connect to the board, - * [x] reconnect after successful build is done - * [x] recognize the enter key as send - * [x] option to send individual keys as they are typed, with or without local echo, simulating - a real serial +* [x] Serial Terminal tool window * [ ] Add Hex pane in addition to text view. Either one or both could be displayed. With coordinated highlighting carets between the two. That way text view is not mangled into a block but naturally flows as you would expect, while hex view can be either a block or flow to match the text. * [ ] Display of ascii codes without resorting to hex display in text mode console. -* [x] add CMake parser and builder to allow extracting and modifying CMake files - programmatically, after project creation -* [x] add option for using customized project templates -* [x] add code for loading project options from CMakeLists.txt (for UI modification) -* [x] Add UI for changing existing CMakeLists.txt configuration - * [x] Change board, cpu, programmer, port, etc. All options which were available on project - creation and make sense to modify on existing project. * [ ] Refactoring support which CLion does not handle: * [ ] Add file to sources or headers (CLion cannot make sense of the Arduino project file) * [ ] Add updating of `keywords.txt` when identifiers in source or headers are renamed. @@ -126,19 +104,20 @@ toolchain. ## Release notes -[Version Notes](VERSION.md) +[Version Notes] ## History -This plugin is a fork of -[Original CLionArduinoPlugin](https://github.com/francoiscampbell/CLionArduinoPlugin) written by -Francois Campbell. +This plugin is a fork of [Original CLionArduinoPlugin] written by Francois Campbell. ## Notes -For serial port list and functionality the plugin uses [jSSC-2.8.0], Licensed under -[GNU Lesser GPL] +For serial port list and functionality the plugin uses [jscc - Java Simple Serial Connector], +Licensed under [GNU Lesser GPL] [GNU Lesser GPL]: http://www.gnu.org/licenses/lgpl.html -[jSSC-2.8.0]: https://github.com/scream3r/java-simple-serial-connector +[Version Notes]: VERSION.md +[Original CLionArduinoPlugin]: https://github.com/francoiscampbell/CLionArduinoPlugin +[Simple Serial Connector Service]: https://plugins.jetbrains.com/plugin/21550-simpleserialconnectorservice +[jscc - Java Simple Serial Connector]: https://github.com/java-native/jssc diff --git a/VERSION.md b/VERSION.md index 90452c5..a852e93 100644 --- a/VERSION.md +++ b/VERSION.md @@ -5,6 +5,7 @@ ### Version History - [CLionArduinoPlugin Version Notes](#clionarduinoplugin-version-notes) - [TO DO](#to-do) + - [1.5.39](#1539) - [1.5.37](#1537) - [1.5.35](#1535) - [1.5.33](#1533) @@ -57,6 +58,10 @@ * Add: inspection to check that `CMakeLists.txt` is out of sync, especially if missing the toolchain file. +### 1.5.39 + +* Change: to use `SerialPortOwnerAccess` instance for writing to port + ### 1.5.37 * Change: extract all serial port comms with [java-simple-serial-connector] to a separate plugin diff --git a/resources/META-INF/plugin.xml b/resources/META-INF/plugin.xml index 949ca2c..04a75b1 100644 --- a/resources/META-INF/plugin.xml +++ b/resources/META-INF/plugin.xml @@ -53,8 +53,9 @@ ]]> 1.5.38 +

1.5.40