added gpio for raspberry but not tested

interrupts
key 4 years ago
parent acdec3c387
commit 98b19db1cb

@ -1,9 +1,9 @@
#add_library(rpiGpio gpio.cpp)
add_library(rpiGpio gpio.cpp)
#target_compile_options(rpiGpio PRIVATE ${C_FLAGS})
#target_compile_definitions(rpiGpio PRIVATE ${C_DEFS})
#target_include_directories(rpiGpio PRIVATE ${INTERFACES_DIR} ../Inc)
#add_library(sub::gpio ALIAS rpiGpio)
target_compile_options(rpiGpio PRIVATE ${C_FLAGS})
target_compile_definitions(rpiGpio PRIVATE ${C_DEFS})
target_include_directories(rpiGpio PRIVATE ${INTERFACES_DIR} ../Inc)
add_library(sub::gpio ALIAS rpiGpio)
add_library(rpiDelay delay.cpp)

@ -1,12 +1,17 @@
#include "pin.hpp"
#include "systemCall.hpp"
#include <fstream>
#include <iostream>
char buffer[50];
char gpioNo = 17;
uint8_t currentPin = 0;
int ck = 0;
std::ifstream bufFile;
Pin::Pin()
{
char buffer[50];
uint8_t currentPin = 0;
int ck = 0;
std::ifstream bufFile;
}
Pin::~Pin()
@ -20,12 +25,10 @@ void Pin::setMode(mode mode)
{
case input:
sprintf(buffer, "echo \"in\" > /sys/class/gpio/gpio%d/direction",gpioNo);
pins[gpioNo].mode = mode;
system(buffer);
break;
case output:
sprintf(buffer, "echo \"out\" > /sys/class/gpio/gpio%d/direction",gpioNo);
pins[gpioNo].mode = mode;
system(buffer);
break;
case analog:
@ -35,7 +38,6 @@ void Pin::setMode(mode mode)
std::cout << "No analog pins are awailable for raspberry" << std::endl;
break;
default :
throwError(__LINE__,notValidMode);
break;
}
}
@ -91,11 +93,11 @@ void Pin::write(bool state)
{
if(state == 1)
{
sprintf(buffer, "echo \"%d\" > /sys/class/gpio/gpio%d/value",value,gpioNo);
sprintf(buffer, "echo \"%d\" > /sys/class/gpio/gpio%d/value",state,gpioNo);
system(buffer);
return;
}
sprintf(buffer, "echo \"%d\" > /sys/class/gpio/gpio%d/value",value,gpioNo);
sprintf(buffer, "echo \"%d\" > /sys/class/gpio/gpio%d/value",state,gpioNo);
system(buffer);
}
@ -124,10 +126,6 @@ void Pin::deInit()
sprintf(buffer, "echo \"%d\" > /sys/class/gpio/unexport",gpioNo);
system(buffer);
}
else
{
throwError(__LINE__,pinNotDeclared);
}
}

@ -27,3 +27,4 @@ set (CPP_DEFS ${C_DEFS})
list(APPEND EXTRA_LIBS sub::translator)
list(APPEND EXTRA_LIBS sub::delay)
list(APPEND EXTRA_LIBS sub::gpio)

@ -1,10 +1,11 @@
#include "bsl_raspberry.hpp"
#include "../csl/interfaces/delay.hpp"
#include "../csl/interfaces/pin.hpp"
int startBSL()
{
int i = 0;
Pin pin;
Delay delay;
for(i=0; i < 5; i++)

Loading…
Cancel
Save