mirror of
https://gitee.com/Lyon1998/pikapython.git
synced 2025-01-29 17:22:56 +08:00
auto init and deinit eventLisener
This commit is contained in:
parent
dbeb9ab239
commit
1f20472491
@ -79,3 +79,6 @@ class CAN(PikaStdDevice.CAN):
|
||||
def platformReadBytes(self): ...
|
||||
def platformDisable(self): ...
|
||||
def platformGetEventId(self): ...
|
||||
|
||||
|
||||
def __del__(self): ...
|
||||
|
@ -3,10 +3,14 @@
|
||||
#include "PikaObj.h"
|
||||
#include "dataStrs.h"
|
||||
|
||||
PikaEventListener* g_pika_device_event_listener;
|
||||
extern PikaEventListener* g_pika_device_event_listener;
|
||||
|
||||
void PikaStdDevice_BaseDev_addEventCallBack(PikaObj* self, Arg* eventCallBack) {
|
||||
obj_setArg(self, "eventCallBack", eventCallBack);
|
||||
/* init event_listener for the first time */
|
||||
if (NULL == g_pika_device_event_listener) {
|
||||
pks_eventLisener_init(&g_pika_device_event_listener);
|
||||
}
|
||||
if (PIKA_RES_OK != obj_runNativeMethod(self, "platformGetEventId", NULL)) {
|
||||
obj_setErrorCode(self, 1);
|
||||
__platform_printf("Error: Method %s no found.\r\n",
|
||||
|
@ -5,8 +5,6 @@ extern PikaEventListener* g_pika_device_event_listener;
|
||||
TEST(event, gpio) {
|
||||
/* init */
|
||||
PikaObj* pikaMain = newRootObj("pikaMain", New_PikaMain);
|
||||
pks_eventLisener_init(&g_pika_device_event_listener);
|
||||
|
||||
/* run */
|
||||
pikaVM_runFile(pikaMain, "../../examples/TemplateDevice/gpio_cb.py");
|
||||
|
||||
@ -25,7 +23,6 @@ TEST(event, gpio) {
|
||||
EXPECT_STREQ(log_buff[0], "get falling edge!\r\n");
|
||||
/* deinit */
|
||||
obj_deinit(pikaMain);
|
||||
pks_eventLisener_deinit(&g_pika_device_event_listener);
|
||||
|
||||
EXPECT_EQ(pikaMemNow(), 0);
|
||||
}
|
||||
|
@ -1099,8 +1099,10 @@ void pks_eventLisener_init(PikaEventListener** p_self) {
|
||||
}
|
||||
|
||||
void pks_eventLisener_deinit(PikaEventListener** p_self) {
|
||||
obj_deinit(*p_self);
|
||||
*p_self = NULL;
|
||||
if (NULL != *p_self) {
|
||||
obj_deinit(*p_self);
|
||||
*p_self = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void pks_eventLisener_sendSignal(PikaEventListener* self,
|
||||
|
Loading…
x
Reference in New Issue
Block a user