From d51863a3536e813374f0c56c0034421cbe965ad6 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 2 Jan 2013 10:47:01 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@5013 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/various/cpp_wrappers/ch.cpp | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) (limited to 'os/various/cpp_wrappers/ch.cpp') diff --git a/os/various/cpp_wrappers/ch.cpp b/os/various/cpp_wrappers/ch.cpp index 99f7440c9..1ada921da 100644 --- a/os/various/cpp_wrappers/ch.cpp +++ b/os/various/cpp_wrappers/ch.cpp @@ -281,6 +281,12 @@ namespace chibios_rt { return chEvtWaitAllTimeout(ewmask, time); } #endif /* CH_USE_EVENTS_TIMEOUT */ + + void BaseThread::dispatchEvents(const evhandler_t handlers[], + eventmask_t mask) { + + chEvtDispatch(handlers, mask); + } #endif /* CH_USE_EVENTS */ #if CH_USE_SEMAPHORES @@ -384,55 +390,47 @@ namespace chibios_rt { #if CH_USE_EVENTS /*------------------------------------------------------------------------* - * chibios_rt::EventListener * + * chibios_rt::EvtListener * *------------------------------------------------------------------------*/ - flagsmask_t EventListener::getAndClearFlags(void) { + flagsmask_t EvtListener::getAndClearFlags(void) { return chEvtGetAndClearFlags(&ev_listener); } /*------------------------------------------------------------------------* - * chibios_rt::EventSource * + * chibios_rt::EvtSource * *------------------------------------------------------------------------*/ - EventSource::EventSource(void) { + EvtSource::EvtSource(void) { - ev_source.es_next = (::EventListener *)(void *)&ev_source; + chEvtInit(&ev_source); } - void EventSource::registerOne(chibios_rt::EventListener *elp, + void EvtSource::registerOne(chibios_rt::EvtListener *elp, eventid_t eid) { chEvtRegister(&ev_source, &elp->ev_listener, eid); } - void EventSource::registerMask(chibios_rt::EventListener *elp, + void EvtSource::registerMask(chibios_rt::EvtListener *elp, eventmask_t emask) { chEvtRegisterMask(&ev_source, &elp->ev_listener, emask); } - void EventSource::unregister(chibios_rt::EventListener *elp) { + void EvtSource::unregister(chibios_rt::EvtListener *elp) { chEvtUnregister(&ev_source, &elp->ev_listener); } - void EventSource::broadcastFlags(flagsmask_t flags) { + void EvtSource::broadcastFlags(flagsmask_t flags) { chEvtBroadcastFlags(&ev_source, flags); } - void EventSource::broadcastFlagsI(flagsmask_t flags) { + void EvtSource::broadcastFlagsI(flagsmask_t flags) { chEvtBroadcastFlagsI(&ev_source, flags); } - - /*------------------------------------------------------------------------* - * chibios_rt::Event * - *------------------------------------------------------------------------*/ - void Event::dispatch(const evhandler_t handlers[], eventmask_t mask) { - - chEvtDispatch(handlers, mask); - } #endif /* CH_USE_EVENTS */ } -- cgit v1.2.3