Skip to content

Commit dbeb9ab

Browse files
committed
add test and example for event
1 parent b10faac commit dbeb9ab

2 files changed

Lines changed: 48 additions & 0 deletions

File tree

examples/TemplateDevice/gpio_cb.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import TemplateDevice
2+
3+
io1 = TemplateDevice.GPIO()
4+
io1.setPin('PA8')
5+
io1.setMode('in')
6+
io1.enable()
7+
8+
EVENT_SIGAL_IO_RISING_EDGE = 0x01
9+
EVENT_SIGAL_IO_FALLING_EDGE = 0x02
10+
11+
def callBack1(signal):
12+
if signal == EVENT_SIGAL_IO_RISING_EDGE:
13+
print('get rising edge!')
14+
elif signal == EVENT_SIGAL_IO_FALLING_EDGE:
15+
print('get falling edge!')
16+
17+
io1.addEventCallBack(callBack1)

port/linux/test/event-test.cpp

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#include "test_common.h"
2+
3+
4+
extern PikaEventListener* g_pika_device_event_listener;
5+
TEST(event, gpio) {
6+
/* init */
7+
PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
8+
pks_eventLisener_init(&g_pika_device_event_listener);
9+
10+
/* run */
11+
pikaVM_runFile(pikaMain, "../../examples/TemplateDevice/gpio_cb.py");
12+
13+
#define EVENT_SIGAL_IO_RISING_EDGE 0x01
14+
#define EVENT_SIGAL_IO_FALLING_EDGE 0x02
15+
#define GPIO_PA8_EVENT_ID 0x08
16+
17+
/* simulate run in the call back */
18+
pks_eventLisener_sendSignal(g_pika_device_event_listener, GPIO_PA8_EVENT_ID,
19+
EVENT_SIGAL_IO_RISING_EDGE);
20+
pks_eventLisener_sendSignal(g_pika_device_event_listener, GPIO_PA8_EVENT_ID,
21+
EVENT_SIGAL_IO_FALLING_EDGE);
22+
/* collect */
23+
/* assert */
24+
EXPECT_STREQ(log_buff[1], "get rising edge!\r\n");
25+
EXPECT_STREQ(log_buff[0], "get falling edge!\r\n");
26+
/* deinit */
27+
obj_deinit(pikaMain);
28+
pks_eventLisener_deinit(&g_pika_device_event_listener);
29+
30+
EXPECT_EQ(pikaMemNow(), 0);
31+
}

0 commit comments

Comments
 (0)