2022-12-23 20:23:40 +08:00
|
|
|
#include "PikaStdDevice_common.h"
|
|
|
|
|
|
|
|
extern PikaEventListener* g_pika_device_event_listener;
|
2024-03-02 14:19:44 +08:00
|
|
|
void _PikaStdDevice_GPIO_event_handler(pika_dev* dev,
|
|
|
|
PIKA_HAL_GPIO_EVENT_SIGNAL signal) {
|
|
|
|
pika_eventListener_sendSignal(g_pika_device_event_listener, (uintptr_t)dev,
|
|
|
|
signal);
|
|
|
|
}
|
|
|
|
|
|
|
|
void _PikaStdDevice_TIM_event_handler(pika_dev* dev,
|
|
|
|
PIKA_HAL_TIM_EVENT_SIGNAL signal) {
|
|
|
|
pika_eventListener_sendSignal(g_pika_device_event_listener, (uintptr_t)dev,
|
|
|
|
signal);
|
|
|
|
}
|
|
|
|
|
|
|
|
void _PikaStdDevice_UART_event_handler(pika_dev* dev,
|
|
|
|
PIKA_HAL_UART_EVENT_SIGNAL signal) {
|
2023-06-18 00:22:49 +08:00
|
|
|
pika_eventListener_sendSignal(g_pika_device_event_listener, (uintptr_t)dev,
|
2023-07-15 14:59:56 +08:00
|
|
|
signal);
|
2022-12-23 20:23:40 +08:00
|
|
|
}
|
|
|
|
|
2023-08-08 21:03:13 +08:00
|
|
|
void _PikaStdDevice_setCallback(PikaObj* self,
|
2022-12-23 20:23:40 +08:00
|
|
|
Arg* eventCallback,
|
2024-02-10 00:41:45 +08:00
|
|
|
uintptr_t eventId) {
|
2023-08-10 14:09:28 +08:00
|
|
|
if (NULL == g_pika_device_event_listener) {
|
|
|
|
pika_eventListener_init(&g_pika_device_event_listener);
|
|
|
|
}
|
2023-08-08 21:03:13 +08:00
|
|
|
pika_eventListener_registEventCallback(g_pika_device_event_listener,
|
|
|
|
eventId, eventCallback);
|
2022-12-23 20:23:40 +08:00
|
|
|
}
|
2023-01-10 11:41:21 +08:00
|
|
|
|
|
|
|
extern volatile PikaObj* __pikaMain;
|
|
|
|
PikaObj* PikaStdDevice_Time(PikaObj* self) {
|
|
|
|
PikaObj* time = obj_getPtr((PikaObj*)__pikaMain, "time");
|
2023-07-15 14:59:56 +08:00
|
|
|
if (NULL == time) {
|
2023-01-10 11:41:21 +08:00
|
|
|
obj_setErrorCode(self, -1);
|
|
|
|
obj_setSysOut(self, "Error: please install and import 'time' module");
|
|
|
|
return NULL;
|
|
|
|
}
|
2023-01-24 21:00:02 +08:00
|
|
|
obj_refcntInc(time);
|
2023-01-10 11:41:21 +08:00
|
|
|
return time;
|
|
|
|
}
|