Skip to content

Commit 448680f

Browse files
committed
leds-arch.c for arduino board.
Arduino have one yellow led attached to pin 13. Now it's possible to control it using contiki functions.
1 parent 2c07acb commit 448680f

File tree

3 files changed

+32
-3
lines changed

3 files changed

+32
-3
lines changed

platform/arduino/Makefile.arduino

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
CONTIKI_TARGET_DIRS = . apps net loader arduino arduino/variants/standard
1+
CONTIKI_TARGET_DIRS = . arduino arduino/variants/standard dev
22
CONTIKI_CORE = contiki-arduino-main
33
CONTIKI_TARGET_MAIN = ${CONTIKI_CORE}.o
44

55
CONTIKI_TARGET_SOURCEFILES += rs232.c cfs-eeprom.c eeprom.c random.c \
66
mmem.c contiki-arduino-main.c slip.c \
7-
wiring_digital.c
7+
wiring_digital.c \
8+
leds-arch.c
89

910
CONTIKIAVR = $(CONTIKI)/cpu/avr
1011
CONTIKIBOARD = .

platform/arduino/dev/leds-arch.c

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#include <dev/leds.h>
2+
#include "Arduino.h"
3+
4+
#define YELLOW_PIN 13
5+
6+
void
7+
leds_arch_init(void)
8+
{
9+
pinMode(YELLOW_PIN, OUTPUT);
10+
}
11+
12+
unsigned char
13+
leds_arch_get(void)
14+
{
15+
unsigned char on = 0;
16+
17+
if (digitalRead(YELLOW_PIN)) on |= LEDS_YELLOW;
18+
19+
return on;
20+
}
21+
22+
void
23+
leds_arch_set(unsigned char leds)
24+
{
25+
digitalWrite(YELLOW_PIN, leds & LEDS_YELLOW);
26+
}

platform/arduino/platform-conf.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,11 @@
6363
#endif
6464

6565
/* LED ports */
66+
#define PLATFORM_HAS_LEDS 1
67+
#if 0
6668
#define LEDS_PxDIR DDRA /**< port direction register */
6769
#define LEDS_PxOUT PORTA /**< port register */
68-
#if 0
70+
6971
#define LEDS_CONF_RED 0x04 /**< red led */
7072
#define LEDS_CONF_GREEN 0x02 /**< green led */
7173
#define LEDS_CONF_YELLOW 0x01 /**< yellow led */

0 commit comments

Comments
 (0)