Releases: fasteddy516/SimplySerial
v0.8.0 - Unicode Support, Installation through Scoop and more
Notable Changes/Additions:
-
Unicode (UTF-8) Support. UTF-8 character sequences are now handled correctly, so bring on your symbols μ° , emojis 😍😎 and fancy borders ╔═╗! Unicode support is enabled by default, but can be disabled using the new
--encoding
command-line option:-encoding:UTF8
= Display UTF-8 encoded character sequences. (This is the new default.)
-encoding:ASCII
= Display all incoming data as 7-bit ASCII. (This is how incoming data was always displayed in previous versions.)
-encoding:RAW
= Display incoming printable 7-bit ASCII characters as-is, and display non-printable characters as[xx]
wherexx
is the hexadecimal byte value of the character.Thanks to GitHub user @aderusha for suggesting this improvement, testing changes and providing feedback!
-
Scoop Installer Support. SimplySerial can now be installed on the command-line using the Scoop Installer! If you're familiar with Scoop, just install
simplyserial
from theextras
bucket. (The specific commands required have been added to SimplySerial'sREADME
.) The-version
command-line options has been updated to recognize when SimplySerial has been installed through Scoop.Thanks to GitHub user @breakersun for the suggestion to add SimplySerial to a Scoop bucket, and @YDX-2147483647 for creating and testing the Scoop installer manifest, adding Scoop install instructions to the SimplySerial documentation and supplying the associated pull requests! Seriously - thanks to both of you for bringing Scoop to my attention. I had never heard of it before, but am a fan now, and am very happy to have SimplySerial included in the extras bucket!
-
Dynamic Console Window Title. The title bar text in a Console windows with a running instance of SimplySerial is now updated to indicate the connection state, connected device, etc. Received escape sequences that contain title information (such as the status bar introduced in CircuitPython 8) will also be processed and displayed correctly. (Processing of received title escape sequences can also be disabled using the
-nostatus
command-line option.) -
Option to replace incoming CR with LF. Start SimplySerial with the
-forcenewline
option to ensure that incoming data delimited with only a carriage return (no line feed) will be displayed legibly on a new line. -
Special handling for Function (F1-F12) keys. Function keys now send out their corresponding ANSI escape sequences when pressed.
-
Option to disable screen clearing. Use the
-noclear
option to prevent the console screen from clearing when a connection is established. -
Updated
boards.json
. The list of fully identifiable CircuitPython boards has been updated. -
Build Environment Update. SimplySerial is now being developed in Visual Studio 2022 Community Edition (as opposed to VS2019), and targets .NET Framework 4.8 (previously targeted 4.5).
v0.8.0-beta.1 - Unicode Support and more
This version adds support for Unicode (UTF-8) characters, updates boards.json
(based on boards supported in CircuitPython 8.0.2), adds port and status information to the console windows title, and a few new command-line options (--encoding
, --noclear
--nostatus
).
This is being released as a beta, and will get a full release (along with release notes!) soon, assuming no issues are reported.
v0.7.0 - Better Board Detection and More Baud Rates
Notable Changes/Additions:
-
New board identification system. The list of boards/devices recognized by SimplySerial now includes just about every official CircuitPython target device, and is contained in the
boards.json
file rather than being hard-coded into the application as it was in prior versions. -
Significantly improved CircuitPython board detection. CircuitPython boards are now detected based on the hardware description of their serial ports rather than USB vendor/product identifiers. This means that any board running CircuitPython should be detected correctly, even if the device is not included in the new
boards.json
data file. It also means that a device that is capable of running multiple environments will only be identified as CircuitPython if it is actually installed and running. -
Support for more baud rates. The baud rate can now be set to any arbitrary value instead of being limited to the short list of specific rates available in previous versions. (Bear in mind that being able to specify
-baud:47365490535
doesn't mean it will actually work; the serial port you're connecting to has to support whatever rate(s) you're trying to use.) Thanks to Github user @kalj for suggesting this improvement! -
Corrected default baud rate for CircuitPython devices to 115200 as recommended in this Adafruit guide. The default baud for non-CircuitPython devices remains at 9600.
-
Added
-v, --version
command-line argument which displays the current version, installation type (user/system/standalone), installation path andboards.json
version.
v0.6.0 - Cursor/Control Keys and Virtual Terminal Sequences
This version adds support for sending and receiving Virtual Terminal Sequences. This means SimplySerial can now interpret text colour and formatting sequences sent by connected devices, and supports sending the following special keys to connected devices:
- Cursor (Up, Down, Left, Right)
- Home, End
- Insert, Delete
- Page Up, Page Down
Note that - although this version stills runs on Windows 7/8, the new features are only supported on Windows 10. (Older Windows versions lack the required underlying features.)
Thanks to Github user @longwdl for suggesting this feature and helping to test the implementation!
v0.6.0-beta - Cursor Keys and Virtual Terminal Sequences
This version adds support for sending and receiving Virtual Terminal Sequences in Windows 10 (older windows versions do not support this feature). This means SimplySerial now supports cursor key functions (such as scrolling through command history), text colour/formatting sequences and more.
I have only been able to test these new features on a fully updated Windows 10 machine, and only on a couple of devices that make pretty basic use of VT sequences, so for now have released this as a beta version. If you try it and run into any problems, please report the issue here so it can be addressed as soon as possible. I am looking for feedback on these items specifically:
- How well does SimplySerial handle menu-based programs, like
raspi-config
through a Raspberry Pi serial console connection? - What happens when you try to run this version on older windows versions (Windows 8/8.1, Windows 7)?
v0.5.0 - Data Logging
This version adds the ability to log serial data to a file (in addition to being displayed on-screen as usual). There are two new command line arguments that can be used to control the new logging functionality:
-log:LOGFILE
where LOGFILE
is the name and path of the file you want to write to. If the file path contains spaces, it must be enclosed in quotation marks, i.e. -log:"C:\Path With Spaces\serial.log"
.
-logmode:MODE
where MODE
is OVERWRITE
or APPEND
. If no logmode is specified, SimplySerial will use OVERWRITE
mode by default.
Thanks to Github user @unwiredben for suggesting this feature and helping to test the implementation!
v0.5.0-beta.2 - Data Logging Improvements
This version improves the data logging mechanism by automatically flushing the log data buffer to disk if:
- it has been 2 seconds or more since the last serial data was received, or
- it has been 10 seconds or more since the last time the buffer was flushed
This should prevent situations where it takes a long time for data to be dumped to the log due to sporadic incoming data, or regular but very small chunks of incoming data.
Additionally, the SimplySerial version is now displayed as part of the standard help message (to make identifying the currently installed version easier.).
v0.5.0-beta - Data Logging
This version adds the ability to log serial data to a file (in addition to being displayed on-screen as usual). There were a fair number of under-the-hood changes required to implement this, so it is being released as a beta version first for anyone who wants to test the new functionality. If you try it and run into any problems, please report the issue here so it can be addressed as soon as possible.
There are three new command line arguments that can be used to control the new logging functionality:
-log:LOGFILE
where LOGFILE
is the name and path of the file you want to write to. If the file path contains spaces, it must be enclosed in quotation marks, i.e. -log:"C:\Path With Spaces\serial.log"
.
-logmode:MODE
where MODE
is OVERWRITE
or APPEND
. If no logmode is specified, SimplySerial will use OVERWRITE
mode by default.
-logbuffer:VAL
where VAL
is an integer value between 0 and 100000. This is the number of bytes of serial data that will be buffered before writing it out to the log file. If no logbuffer value is specified, SimplySerial will default to a buffer size of 4096 bytes.
v0.4.1 - Bugfix
This is a bugfix release to eliminate the unhandled exception error that could occur when a usb-serial device was disconnected.
v0.4.0 - Easier Installation
The focus for this version was getting everything packaged up to make installation as easy as possible. No more setting environment variables, just run the installer and let it do the work for you!
The user
version can be installed by anyone (no admin rights required) and works well with the "user setup" version of VSCode.
The system
version requires admin rights to install, and should work well with any installation of VSCode.
If you prefer setting things up manually, just download the standalone.zip
archive to get the files you need.
The installer versions are unsigned, and may trigger a "Windows Defender SmartScreen" warning. To install you have to press "More Info" followed by "Run Anyway".