summaryrefslogtreecommitdiff
path: root/src/arch/posix/driver/gpio.cc
blob: 25eed399ba0571c2bfea507c481a3fd8f9cc1f87 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include "driver/gpio.h"
#include <stdio.h>

void GPIO::led_on(unsigned char id)
{
	if (id < 8) {
		printf("▶ LED %3d on\n", id);
		ledstate |= (1 << id);
	}
}

void GPIO::led_off(unsigned char id)
{
	if (id < 8) {
		printf("▶ LED %3d off\n", id);
		ledstate &= ~(1 << id);
	}
}

void GPIO::led_toggle(unsigned char id)
{
	if (id < 8) {
		if (ledstate & (1 << id)) {
			led_off(id);
		} else {
			led_on(id);
		}
	}
}

GPIO gpio;