Skip to content

Beaglebone C Library To Support IO Operations Similar To Arduino

Notifications You must be signed in to change notification settings

PlasmaTrout/Beaglebone-CLIB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome To The Beaglebone CLIB Distro

This is a beagle bone library to assist and expedite working with the beagle bones ports and muxs. The intent is to get close to an Arduino feel however still retain the C power, syntax and speed. Its going to say a "pure" C library.

Usage (Alpha Stages)

Before you grab the source, make sure you locate your cloud9 directory (if your using the Angstrom distro it should be /var/lib/cloud9). You will want to do your clone from there.

To get the source (which you must have done already) do a:

git clone git@github.com:PlasmaTrout/Beaglebone-CLIB.git

This release builds a static library and installs it so that apps can function as simply as the blink test application. To compile and install library use:

./build_library.sh 

This will build, install and setup the headers so that any C file you wish now can use <beaglebone.h> and <mainloop.h> if you need to.

To compile against this library you can use the following compilatation format:

gcc -o my_executable my_executable_source.c -lbeaglebone

To test application functionality (and have a working example) you can build the blinktest by executing the shell script:

./build_blinktest.sh

This will build a blink test that can test an LED placed on PIN 3 of P8. If you want to see how simple the code is for this example look at the https://github.com/PlasmaTrout/Beaglebone-CLIB/blob/master/src/blinktest.c source code.

You will have to hit ctrl-c to stop the blinking. If you need to fully reset the ports after the application was ran run the following scripts seperately:

echo 0 > /sys/class/gpio/gpio38/value 
echo 38 > /sys/class/gpio/unexport

This will shut the power off to pin 3 and then unexport the port.

Its port 38 because port numbers are notated by taked the actual design name of the pin, in this case GPIO1_6, and multiplying 32 by the first number and adding the second. So 32x1+6 is the actual pin number. These translations are done for you in the C headers so use the macros PIN8_3, PIN8_4, ETC and don't worry about the actual port unless you are controling the ports via shell

About

Beaglebone C Library To Support IO Operations Similar To Arduino

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published