diff options
Diffstat (limited to 'peripheral/libmraa/api/mraa/common.hpp')
-rw-r--r-- | peripheral/libmraa/api/mraa/common.hpp | 293 |
1 files changed, 0 insertions, 293 deletions
diff --git a/peripheral/libmraa/api/mraa/common.hpp b/peripheral/libmraa/api/mraa/common.hpp deleted file mode 100644 index 26f4a60..0000000 --- a/peripheral/libmraa/api/mraa/common.hpp +++ /dev/null @@ -1,293 +0,0 @@ -/* - * Author: Thomas Ingleby <thomas.c.ingleby@intel.com> - * Copyright (c) 2014 Intel Corporation. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -#pragma once - -#include "common.h" -#include "types.hpp" -#include <string> - -/** - * @namespace mraa namespace - */ -namespace mraa -{ - -/** - * @file - * @brief API to common functions of MRAA - * - * This file defines the interface for libmraa common functions - */ - -/** - * Initialise MRAA - * - * Detects running platform and attempts to use included pinmap, this is run on - * module/library init/load but is handy to rerun to check board initialised - * correctly. MRAA_SUCCESS inidicates correct (first time) initialisation - * whilst MRAA_ERROR_PLATFORM_ALREADY_INITIALISED indicates the board is - * already initialised correctly - * - * @return Result of operation - */ -inline Result -init() -{ - return (Result) mraa_init(); -} - -/** - * Get libmraa version. - * - * @return libmraa version (e.g. v0.4.0-20-gb408207) - */ -inline std::string -getVersion() -{ - std::string ret = mraa_get_version(); - return ret; -} - -/** - * 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. - * - * @param priority Value from typically 0 to 99 - * @return The priority value set - */ -inline int -setPriority(const unsigned int priority) -{ - return mraa_set_priority(priority); -} - -/** - * Get platform type, board must be initialised. - * - * @return mraa::platform Platform type enum - */ -inline Platform -getPlatformType() -{ - return (Platform) mraa_get_platform_type(); -} - -/** - * Print a textual representation of the mraa::Result - * - * @param Result the Result to print - */ -inline void -printError(Result result) -{ - mraa_result_print((mraa_result_t) result); -} - -/** - * Checks if a pin is able to use the passed in mode. - * - * @param pin Physical Pin to be checked. - * @param mode the mode to be tested. - * @return boolean if the mode is supported, 0=false. - */ -inline bool -pinModeTest(int pin, Pinmodes mode) -{ - return (bool) mraa_pin_mode_test(pin, (mraa_pinmodes_t) mode); -} - -/** - * Check the board's bit size when reading the value - * - * @return raw bits being read from kernel module. Zero if no ADC - */ -inline unsigned int -adcRawBits() -{ - return mraa_adc_raw_bits(); -} - -/** - * Return value that the raw value should be shifted to. Zero if no ADC - * - * @return return actual bit size the adc value should be understood as. - */ -inline unsigned int -adcSupportedBits() -{ - return mraa_adc_supported_bits(); -} - -/** - * Return Platform Name. Returns NULL if no platform inited. - * - * @return platform name - */ -inline std::string -getPlatformName() -{ - std::string ret_val(mraa_get_platform_name()); - return ret_val; -} - -/** - * Return platform versioning info. Returns NULL if no info present. - * - * @param optional subplatform identifier - * @return platform versioning info - */ -inline std::string -getPlatformVersion(int platform_offset=MRAA_MAIN_PLATFORM_OFFSET) -{ - std::string ret_val(mraa_get_platform_version(platform_offset)); - return ret_val; -} - -/** - * Return count of physical pins on the running platform - * - * @return uint of physical pins. - */ -inline unsigned int -getPinCount() -{ - return mraa_get_pin_count(); -} - -/** - * Get platform usable I2C bus count, board must be initialised. - * - * @return number f usable I2C bus count on the current platform. Function will - * return -1 on failure - */ -inline int -getI2cBusCount() -{ - return mraa_get_i2c_bus_count(); -} - -/** - * Get I2C adapter number in sysfs. - * - * @param i2c_bus the logical I2C bus number - * @return I2C adapter number in sysfs. Function will return -1 on failure - */ -inline int -getI2cBusId(unsigned int i2c_bus) -{ - return mraa_get_i2c_bus_id(i2c_bus); -} - -/** -* Get name of pin, board must be initialised. -* -* @param pin number -* -* @return char* of pin name -*/ -inline std::string -getPinName(int pin) -{ - std::string ret_val(mraa_get_pin_name(pin)); - return ret_val; -} - -/** - * Sets the log level to use from 0-7 where 7 is very verbose. These are the - * syslog log levels, see syslog(3) for more information on the levels. - * - * @param level - * @return Result of operation - */ -inline Result -setLogLevel(int level) -{ - return (Result) mraa_set_log_level(level); -} - -/** - * Detect presence of sub platform. - * - * @return bool true if sub platform is present and initialized, false otherwise - */ -inline bool -hasSubPlatform() -{ - return static_cast<bool>(mraa_has_sub_platform()); -} - -/** - * Check if pin or bus id includes sub platform mask. - * - * @param int pin or bus number - * - * @return mraa_boolean_t 1 if pin or bus is for sub platform, 0 otherwise - */ -inline bool -isSubPlatformId(int pin_or_bus_id) -{ - return static_cast<bool>(mraa_is_sub_platform_id(pin_or_bus_id)); -} - -/** - * Convert pin or bus index to corresponding sub platform id. - * - * @param int pin or bus index - * - * @return int sub platform pin or bus number - */ -inline int -getSubPlatformId(int pin_or_bus_index) -{ - return mraa_get_sub_platform_id(pin_or_bus_index); -} - -/** - * Convert pin or bus sub platform id to index. - * - * @param int sub platform pin or bus id - * - * @return int pin or bus index - */ -inline int -getSubPlatformIndex(int pin_or_bus_id) -{ - return mraa_get_sub_platform_index(pin_or_bus_id); -} - -/** - * Get default i2c bus, board must be initialised. - * - * @param optional subplatform identifier - * @return default i2c bus for paltform - */ -inline int -getDefaultI2cBus(int platform_offset=MRAA_MAIN_PLATFORM_OFFSET) -{ - return mraa_get_default_i2c_bus(platform_offset); -} -} |