Actual write to pin
This commit is contained in:
parent
619a0e8b9a
commit
f74d791a7b
|
@ -13,11 +13,15 @@
|
||||||
|
|
||||||
#include <linux/seccomp.h>
|
#include <linux/seccomp.h>
|
||||||
|
|
||||||
|
#include <bcm2835.h>
|
||||||
|
|
||||||
#define LOGF(x, ...) do { logf_impl(x, __FILE__, __LINE__, __func__, __VA_ARGS__); } while(0);
|
#define LOGF(x, ...) do { logf_impl(x, __FILE__, __LINE__, __func__, __VA_ARGS__); } while(0);
|
||||||
#define LOG(x) do { log_impl(x, __FILE__, __LINE__, __func__); } while(0);
|
#define LOG(x) do { log_impl(x, __FILE__, __LINE__, __func__); } while(0);
|
||||||
#define DEFAULT_PORT 9305
|
#define DEFAULT_PORT 9305
|
||||||
#define MBUF_SIZE 2048
|
#define MBUF_SIZE 2048
|
||||||
|
|
||||||
|
#define TROMMEL_PIN 17
|
||||||
|
|
||||||
const char *SOCKET_ERROR = "Socket-fout";
|
const char *SOCKET_ERROR = "Socket-fout";
|
||||||
|
|
||||||
typedef struct mbuf {
|
typedef struct mbuf {
|
||||||
|
@ -147,6 +151,9 @@ int do_command_loop(mbuf_t *mbuf) {
|
||||||
if (len == 0) return 0;
|
if (len == 0) return 0;
|
||||||
LOGF("COMMANDO: %s", buf);
|
LOGF("COMMANDO: %s", buf);
|
||||||
if (strcmp(buf, "trommel") == 0) {
|
if (strcmp(buf, "trommel") == 0) {
|
||||||
|
bcm2835_gpio_write(TROMMEL_PIN, HIGH);
|
||||||
|
bcm2835_delay(250);
|
||||||
|
bcm2835_gpio_write(TROMMEL_PIN, LOW);
|
||||||
const char *ok = "oké\n";
|
const char *ok = "oké\n";
|
||||||
write(mbuf->sock, ok, strlen(ok) * sizeof(char));
|
write(mbuf->sock, ok, strlen(ok) * sizeof(char));
|
||||||
} else if (strcmp(buf, "ping") == 0) {
|
} else if (strcmp(buf, "ping") == 0) {
|
||||||
|
@ -192,6 +199,10 @@ int main(int argc, char *argv[]) {
|
||||||
close(STDIN_FILENO);
|
close(STDIN_FILENO);
|
||||||
close(STDOUT_FILENO);
|
close(STDOUT_FILENO);
|
||||||
close(STDERR_FILENO);
|
close(STDERR_FILENO);
|
||||||
|
|
||||||
|
bcm2835_init();
|
||||||
|
bcm2835_gpio_fsel(TROMMEL_PIN, BCM2835_GPIO_FSEL_OUTP);
|
||||||
|
|
||||||
if (prctl(PR_SET_SECCOMP, SECCOMP_MODE_STRICT) < 0) {
|
if (prctl(PR_SET_SECCOMP, SECCOMP_MODE_STRICT) < 0) {
|
||||||
LOGF("Kon seccomp niet aanroepen: %s", strerror(errno));
|
LOGF("Kon seccomp niet aanroepen: %s", strerror(errno));
|
||||||
}
|
}
|
||||||
|
@ -242,5 +253,6 @@ int main(int argc, char *argv[]) {
|
||||||
(void) quit_if_fail(do_command_loop(buf), "Fout");
|
(void) quit_if_fail(do_command_loop(buf), "Fout");
|
||||||
LOG("De andere kant heeft de verbinding verbroken");
|
LOG("De andere kant heeft de verbinding verbroken");
|
||||||
free(buf);
|
free(buf);
|
||||||
|
bcm2835_close();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue