multithreaded app

This commit is contained in:
2021-07-28 21:26:40 +01:00
parent c2e37543ff
commit 71ccbeffe6
66 changed files with 2527 additions and 260 deletions

View File

@@ -0,0 +1,32 @@
#include <stdio.h>
#include <stdlib.h>
#include <wiringPi.h>
unsigned const selectorPinNumber = 4;
int selectorPins[4] = {5, 6, 26, 27};
void setup_selector() {
wiringPiSetupGpio();
for (size_t i = 0; i < selectorPinNumber; ++i) {
pinMode(selectorPins[i], INPUT);
pullUpDnControl(selectorPins[i], PUD_DOWN);
}
}
int get_selector_position() {
for (size_t i = 0; i < selectorPinNumber; ++i) {
if (digitalRead(selectorPins[i])) {
return i;
}
}
return -1;
}
void print_selector() {
char modeStr[] = "0 | 0 | 0 | 0 \n";
for (size_t i = 0; i < selectorPinNumber; ++i) {
modeStr[i * 4] = digitalRead(selectorPins[i]) ? '1' : '0';
}
printf(modeStr);
}

View File

@@ -0,0 +1,10 @@
#if !defined(__RPI_SELECTOR_H__)
#define __RPI_SELECTOR_H__
void setup_selector();
int get_selector_position();
void print_selector();
#endif /* __RPI_SELECTOR_H__ */