diff --git a/api/mraa/common.hpp b/api/mraa/common.hpp index 893799b..cb6cba1 100644 --- a/api/mraa/common.hpp +++ b/api/mraa/common.hpp @@ -30,6 +30,7 @@ namespace mraa { /** + * @file * @brief C++ API to common functions of MRAA * * This file defines the C++ interface for libmraa common functions @@ -47,7 +48,7 @@ std::string getVersion() } /** - * 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. diff --git a/docs/index.md b/docs/index.md index 22d3930..aacc1e2 100644 --- a/docs/index.md +++ b/docs/index.md @@ -23,7 +23,7 @@ functionality. | @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" | ### Hello Mraa diff --git a/examples/c++/Blink-IO.cpp b/examples/c++/Blink-IO.cpp index 4db2a74..757bd6a 100644 --- a/examples/c++/Blink-IO.cpp +++ b/examples/c++/Blink-IO.cpp @@ -60,8 +60,10 @@ int main (int argc, char **argv) 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); diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index cb60330..d330108 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -46,6 +46,7 @@ install (TARGETS mraa DESTINATION lib) 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 @@ -56,6 +57,7 @@ if (DOXYGEN_FOUND) 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 @@ -67,6 +69,15 @@ if (DOXYGEN_FOUND) 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) diff --git a/src/mraa.i b/src/mraa.i index 1d53c14..b99dae8 100644 --- a/src/mraa.i +++ b/src/mraa.i @@ -1,7 +1,8 @@ %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 @@ -10,7 +11,7 @@ #endif %{ - #include "common.h" + #include "common.hpp" #include "gpio.hpp" #include "pwm.hpp" #include "i2c.hpp" @@ -23,18 +24,12 @@ 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 #### diff --git a/src/python/CMakeLists.txt b/src/python/CMakeLists.txt index 0ae80b2..b2ebaa6 100644 --- a/src/python/CMakeLists.txt +++ b/src/python/CMakeLists.txt @@ -17,7 +17,7 @@ if (DOXYGEN_FOUND) 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}/