Everything in this project adhears to a BSD 3-Clause license (unless noted
elsewhere). Please check the file ./LICENSE
for the full text of the license.
The main author of this project is Ben Summerton (a.k.a define-private-public
on Github.com. He is a student at RIT studying Computer Science.
I would like to give thanks to Tod (of http://todbot.com/) and his 2006 blog post about Arduino serial communications in C. It was the starting point for this project.
Ciruit schematics were made with Fritzing.
CSC Arduino is a small set of functions that wraps over Kernel system calls on POSIX compliant systems to connect to serial devices. In layman's terms, it makes it much easier to write C/C++ programs that can talk to an Arduino.
As much as I think that microcontrollers are pretty cool devices, I don't have that much of an interest in them, other than gathering data. I also love writing C/C++ programs more than fiddling around with electronics. I had a problem though; I couldn't easily send data from an Arduino to one of my C/C++ applications. I eventually did find a tutorial online explaining how to setup serial communications (on a POSIX system) in C, yet I didn't think it was as simple as it could be.
In January, one of RIT's student clubs was hosting a 10 hour hackathon, so I decided to go and build the basic library as well as write a demo program or two. I liked what I was able to produce in that short amount of time, but I wasn't completely happy with it.
So over the summer of 2013, I had my first internship and I was looking for a side project that I could work on. I decided to pick up what I built in January and work on it some more. After about two months of reading, reasearch, testing, development, and documenting, I have this to show and am ready to release it to the world.
The "library," is found in the ./code/
directory. Simply copy all of the files into whatever project you are working on, #include
the header file into your
source code and add in the C source file into your compilation arguements.
All documentation for this project should be in the ./docs/
folder. For
explanations on the example programs, check ./examples/README.md
.
All of the example code is in the folder ./examples/
. This includes C/C++
source code of examples, Arduino sketches for examples, as well as the circuit
schematics (found in ./examples/circuit_schematics/
).
Please read the ./examples/README.md
file for more information about compiling
and running the applications.