Skip to content

Commit

Permalink
update docs
Browse files Browse the repository at this point in the history
  • Loading branch information
vsch committed Apr 21, 2023
1 parent 5e836c4 commit f3b1f93
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 43 deletions.
63 changes: 21 additions & 42 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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)
Expand All @@ -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
Expand All @@ -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.
Expand All @@ -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

5 changes: 5 additions & 0 deletions VERSION.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion resources/META-INF/plugin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,9 @@
]]></description>

<change-notes><![CDATA[
<h3>1.5.38</h3>
<h3>1.5.40</h3>
<ul>
<li>Change: to use <code>SerialPortOwnerAccess</code> instance for writing to port</li>
<li>Change: extract all serial port comms with <a href="https://github.com/scream3r/java-simple-serial-connector">java-simple-serial-connector</a> to a separate plugin
exposing serial communications as a service:
<a href="https://plugins.jetbrains.com/plugin/21550-simpleserialconnectorservice">SimpleSerialConnectorService</a>
Expand Down

0 comments on commit f3b1f93

Please sign in to comment.