namespace mraa {
/**
+ * @file
* @brief C++ API to common functions of MRAA
*
* This file defines the C++ interface for libmraa common functions
}
/**
- * This function attempts to set the mraa process to a given priority and the
+ * This function attempts to set the mraa process to a given priority and the
* scheduler to SCHED_RR. Highest * priority is typically 99 and minimum is 0.
* This function * will set to MAX if * priority is > MAX. Function will return
* -1 on failure.
| @ref aio.h "aio" | @ref mraa::Aio "Aio class" |
| @ref pwm.h "pwm" | @ref mraa::Pwm "Pwm class" |
| @ref spi.h "spi" | @ref mraa::Spi "Spi class" |
-| @ref common.h "common" | @ref common.h "common" |
+| @ref common.h "common" | @ref common.hpp "common" |
</center>
### Hello Mraa
return MRAA_ERROR_UNSPECIFIED;
}
int response = gpio->dir(mraa::DIR_OUT);
- if (response != MRAA_SUCCESS)
- mraa_result_print((mraa_result_t) MRAA_SUCCESS);
+ if (response != MRAA_SUCCESS) {
+ mraa::printError(response);
+ return 1;
+ }
while (running == 0) {
response = gpio->write(1);
if (DOXYGEN_FOUND)
set (CMAKE_SWIG_FLAGS -DDOXYGEN=${DOXYGEN_FOUND})
set (DOCCLASSES aio gpio i2c pwm spi)
+ # CPP class headers
foreach (_file ${DOCCLASSES})
add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_file}_class_doc.i
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/doxy2swig.py -n
add_custom_target (${_file}class_doc_i DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_file}_class_doc.i)
add_dependencies (${_file}class_doc_i doc)
endforeach ()
+ # C header files
set (DOCFILES common ${DOCCLASSES})
foreach (_file ${DOCFILES})
add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_file}_doc.i
add_custom_target (${_file}doc_i DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_file}_doc.i)
add_dependencies (${_file}doc_i doc)
endforeach ()
+ # CPP common header
+ add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/common_hpp_doc.i
+ COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/doxy2swig.py -n
+ ${CMAKE_BINARY_DIR}/xml/common_8hpp.xml
+ ${CMAKE_CURRENT_BINARY_DIR}//common_hpp_doc.i
+ DEPENDS ${CMAKE_BINARY_DIR}/xml/common_8hpp.xml
+ )
+ add_custom_target (common_hpp_doc_i DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/common_hpp_doc.i)
+ add_dependencies (common_hpp_doc_i doc)
endif ()
if (BUILDSWIG)
%include stdint.i
+%include std_string.i
#ifdef DOXYGEN
- %include common_doc.i
+ %include common_hpp_doc.i
%include gpio_class_doc.i
%include i2c_class_doc.i
%include pwm_class_doc.i
#endif
%{
- #include "common.h"
+ #include "common.hpp"
#include "gpio.hpp"
#include "pwm.hpp"
#include "i2c.hpp"
mraa_init();
%}
-%rename(getVersion) mraa_get_version;
-
-%rename(setPriority) mraa_set_priority;
-
-%rename(printError) mraa_result_print(mraa_result_t error);
-
-%rename(getPlatform) mraa_get_platform_type;
-
%typemap(in) uint8_t = char;
%typemap(in) unsigned char* = char*;
%apply (char *STRING, size_t LENGTH) { (char *data, size_t length) };
+%include "common.hpp"
+
%include "types.h"
#### GPIO ####
foreach (_file ${DOCCLASSES})
add_dependencies (${SWIG_MODULE_python-mraa_REAL_NAME} ${_file}class_doc_i)
endforeach ()
- add_dependencies (${SWIG_MODULE_python-mraa_REAL_NAME} commondoc_i)
+ add_dependencies (${SWIG_MODULE_python-mraa_REAL_NAME} common_hpp_doc_i)
add_custom_target (pydoc
pydoc -w ${CMAKE_CURRENT_BINARY_DIR}/mraa.py ${CMAKE_CURRENT_BINARY_DIR}/