https://github.com/ami-iit/serial_cpp
Friendly mantained fork of https://github.com/wjwwood/serial .
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
2 of 46 committers (4.3%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.4%) to scientific vocabulary
Repository
Friendly mantained fork of https://github.com/wjwwood/serial .
Basic Info
- Host: GitHub
- Owner: ami-iit
- License: mit
- Language: C++
- Default Branch: main
- Size: 659 KB
Statistics
- Stars: 9
- Watchers: 7
- Forks: 1
- Open Issues: 3
- Releases: 4
Metadata Files
README.md
serial_cpp Serial Communication Library
This is a cross-platform library for interfacing with rs-232 serial like ports written in C++. It provides a modern C++ interface with a workflow designed to look and feel like PySerial, but with the speed and control provided by C++.
Serial is a class that provides the basic interface common to serial libraries (open, close, read, write, etc..) and requires no extra dependencies. It also provides tight control over timeouts and control over handshaking lines.
serial_cpp started as a friendly fork wjwwood/serial, see https://github.com/wjwwood/serial/issues/312 for more details.
[!NOTE] Most projects in the
ami-iituse the dash (-) as a separator inside names. This repo makes an exception as it is a derivation of a project originally started in the ROS community, where the use of underscore (_) is tipically used, and so the original mantainer asked to keep an underscore, see https://github.com/wjwwood/serial/issues/312#issuecomment-2773775993 .
Dependencies
Required: * C++ compiler * cmake - buildsystem
Optional (for documentation): * Doxygen - Documentation generation tool * graphviz - Graph visualization software
Example
An example of usage of the library is provided in ./examples/serial_cpp_example.cxx
Usage when compiling from source and installing
First compile the project:
~~~bash
git clone https://github.com/ami-iit/serialcpp.git
cd serialcpp
cmake -DCMAKEBUILDTYPE=Release -Bbuild -S. -DCMAKEINSTALLPREFIX=
then, add the following CMake code in your CMake project, where <target> is the library or executable
that requires serial_cpp:
~~~cmake findpackage(serialcpp REQUIRED)
targetlinklibraries(
Usage with CMake's FetchContent
If you only need to use serial_cpp inside a given CMake project, it make sense to include it via the CMake's FetchContent module:
~~~cmake include(FetchContent) FetchContentDeclare( serialcpp GITREPOSITORY https://github.com/ami-iit/serialcpp.git GIT_TAG v1.3.4 # or use the tag or commit you prefer )
FetchContentMakeAvailable(serialcpp)
targetlinklibraries(
Development commands
serial_cpp is a pure C++ project that can be installed on any system, as long as CMake is available. However, we use pixi to simplify development, to run the tests (the same run in CI) in pixi, run:
~~~ git clone https://github.com/ami-iit/serial_cpp.git pixi run test ~~~
Migration from wjwwood/serial
The serial_cpp library started as a friendly fork of the wjwwood/serial. To migrate a project from wjwwood/serial to serial_cpp, the following modifications are needed:
- Change the
#include <serial/serial.h>inclusion to#include <serial_cpp/serial.h> - Change all
serial::namespace toserial_cpp::
Alternatively, in case you do not want to modify all your code from serial:: namespace to serial_cpp::, a compatibility header is provided, so that you can simply do the following:
- Change the
#include <serial/serial.h>inclusion to#include <serial_cpp/serial_compat.h>
License
Mantainers
- Silvio Traversaro (@traversaro)
Authors
- William Woodall wjwwood@gmail.com
- John Harrison ash.gti@gmail.com
Owner
- Name: Artificial and Mechanical Intelligence
- Login: ami-iit
- Kind: organization
- Location: Italy
- Website: https://ami.iit.it/
- Repositories: 111
- Profile: https://github.com/ami-iit
GitHub Events
Total
- Create event: 12
- Release event: 4
- Issues event: 2
- Watch event: 11
- Delete event: 1
- Issue comment event: 7
- Public event: 1
- Push event: 16
- Pull request review event: 2
- Pull request event: 15
- Fork event: 1
Last Year
- Create event: 12
- Release event: 4
- Issues event: 2
- Watch event: 11
- Delete event: 1
- Issue comment event: 7
- Public event: 1
- Push event: 16
- Pull request review event: 2
- Pull request event: 15
- Fork event: 1
Committers
Last synced: about 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| William Woodall | w****d@g****m | 194 |
| John Harrison | a****h@g****m | 31 |
| Mike Purvis | m****s@c****m | 19 |
| Christopher Baker | me@c****t | 10 |
| Silvio Traversaro | s****o@t****t | 8 |
| Linquize | l****e@y****k | 7 |
| Craig Lilley | c****y@g****m | 5 |
| David Hodo | d****o@g****m | 3 |
| Konstantina Kastanara | k****a@g****m | 3 |
| Nicolas Bigaouette | n****e@r****m | 2 |
| Ben Moyer | b****r@g****m | 2 |
| Patrick O'Leary | p****y@g****m | 2 |
| aleksey-sergey | s****0@g****m | 2 |
| daniser | d****r@m****u | 2 |
| Dawid Piotrowski | d****d@a****l | 2 |
| Brandon Morton | b****n@v****u | 1 |
| Atomie CHEN | a****h@1****m | 1 |
| Anthony J. Bentley | a****y@c****s | 1 |
| Alexander Bulychev | a****v@g****m | 1 |
| David Hodo | d****o@i****m | 1 |
| Rami | r****a@j****m | 1 |
| Scott Martin | s****8@G****) | 1 |
| William Woodall | w****m@u****) | 1 |
| natem345 | m****t@r****u | 1 |
| dontsovcmc | d****e@m****u | 1 |
| bsbaliga | 4****a | 1 |
| achronop | a****p@g****m | 1 |
| William Hilton | w****n@g****m | 1 |
| Vladimir Gamalian | v****n | 1 |
| Tomaz Solc | t****c@t****g | 1 |
| and 16 more... | ||
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: about 1 year ago
All Time
- Total issues: 2
- Total pull requests: 7
- Average time to close issues: N/A
- Average time to close pull requests: 7 minutes
- Total issue authors: 1
- Total pull request authors: 1
- Average comments per issue: 0.5
- Average comments per pull request: 0.0
- Merged pull requests: 7
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 2
- Pull requests: 7
- Average time to close issues: N/A
- Average time to close pull requests: 7 minutes
- Issue authors: 1
- Pull request authors: 1
- Average comments per issue: 0.5
- Average comments per pull request: 0.0
- Merged pull requests: 7
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- traversaro (2)
Pull Request Authors
- traversaro (10)
- akshaybabloo (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v4 composite
- prefix-dev/setup-pixi v0.8.1 composite