mirror of
https://github.com/eclipse/upm.git
synced 2025-07-02 01:41:12 +03:00
java: added callback functionality
Signed-off-by: Stefan Andritoiu <stefan.andritoiu@intel.com> Signed-off-by: Andrei Vasiliu <andrei.vasiliu@intel.com> Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
This commit is contained in:

committed by
Mihai Tudor Panu

parent
3e59323abb
commit
323905a215
@ -1,8 +1,13 @@
|
||||
%module javaupm_rpr220
|
||||
%include "../upm.i"
|
||||
|
||||
|
||||
%feature("director") IsrCallback;
|
||||
|
||||
%ignore generic_callback_isr;
|
||||
%include "../IsrCallback.h"
|
||||
|
||||
%{
|
||||
#include "rpr220.h"
|
||||
%}
|
||||
|
||||
%include "rpr220.h"
|
||||
|
@ -26,6 +26,7 @@
|
||||
|
||||
#include "rpr220.h"
|
||||
|
||||
|
||||
using namespace upm;
|
||||
using namespace std;
|
||||
|
||||
@ -55,6 +56,13 @@ bool RPR220::blackDetected()
|
||||
return (mraa_gpio_read(m_gpio) ? true : false);
|
||||
}
|
||||
|
||||
#ifdef SWIGJAVA
|
||||
void RPR220::installISR(IsrCallback *cb)
|
||||
{
|
||||
installISR(generic_callback_isr, cb);
|
||||
}
|
||||
#endif
|
||||
|
||||
void RPR220::installISR(void (*isr)(void *), void *arg)
|
||||
{
|
||||
if (m_isrInstalled)
|
||||
|
@ -26,6 +26,10 @@
|
||||
#include <string>
|
||||
#include <mraa/gpio.h>
|
||||
|
||||
#ifdef SWIGJAVA
|
||||
#include "../IsrCallback.h"
|
||||
#endif
|
||||
|
||||
namespace upm {
|
||||
|
||||
/**
|
||||
@ -83,6 +87,9 @@ namespace upm {
|
||||
*/
|
||||
bool blackDetected();
|
||||
|
||||
#ifdef SWIGJAVA
|
||||
void installISR(IsrCallback *cb);
|
||||
#else
|
||||
/**
|
||||
* Installs an ISR to be called when
|
||||
* black is detected
|
||||
@ -92,6 +99,7 @@ namespace upm {
|
||||
* argument to the ISR.
|
||||
*/
|
||||
void installISR(void (*isr)(void *), void *arg);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Uninstalls the previously installed ISR
|
||||
@ -100,6 +108,9 @@ namespace upm {
|
||||
void uninstallISR();
|
||||
|
||||
private:
|
||||
#ifdef SWIGJAVA
|
||||
void installISR(void (*isr)(void *), void *arg);
|
||||
#endif
|
||||
bool m_isrInstalled;
|
||||
mraa_gpio_context m_gpio;
|
||||
};
|
||||
|
Reference in New Issue
Block a user