From 72c957e700710b73bfe7a01f2f0ec2446022f5de Mon Sep 17 00:00:00 2001 From: Mihai Tudor Panu Date: Wed, 25 Mar 2015 14:08:06 -0700 Subject: [PATCH] hx711: updated sensor block and formatting Signed-off-by: Mihai Tudor Panu --- src/hx711/hx711.cxx | 58 +++++++++++++++++----------------- src/hx711/hx711.h | 70 ++++++++++++++++++++++------------------- src/hx711/jsupm_hx711.i | 2 -- 3 files changed, 65 insertions(+), 65 deletions(-) diff --git a/src/hx711/hx711.cxx b/src/hx711/hx711.cxx index 01fb7893..d5a27b9b 100644 --- a/src/hx711/hx711.cxx +++ b/src/hx711/hx711.cxx @@ -1,26 +1,24 @@ /* -* -* Author: Rafael da Mata Neri -* Copyright (c) 2015 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. -*/ + * Author: Rafael da Mata Neri + * Copyright (c) 2015 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. + */ #include #include #include @@ -40,22 +38,22 @@ struct HX711Exception : public std::exception { HX711::HX711(uint8_t data, uint8_t sck, uint8_t gain) { mraa_result_t error = MRAA_SUCCESS; - + this->m_dataPinCtx = mraa_gpio_init(data); if (this->m_dataPinCtx == NULL) { throw HX711Exception ("Couldn't initilize DATA pin."); } - + this->m_sckPinCtx = mraa_gpio_init(sck); if (this->m_sckPinCtx == NULL) { throw HX711Exception ("Couldn't initilize CLOCK pin."); } - + error = mraa_gpio_dir (this->m_dataPinCtx, MRAA_GPIO_IN); if (error != MRAA_SUCCESS) { throw HX711Exception ("Couldn't set direction for DATA pin."); } - + error = mraa_gpio_dir (this->m_sckPinCtx, MRAA_GPIO_OUT); if (error != MRAA_SUCCESS) { throw HX711Exception ("Couldn't set direction for CLOCK pin."); @@ -66,12 +64,12 @@ HX711::HX711(uint8_t data, uint8_t sck, uint8_t gain) { HX711::~HX711() { mraa_result_t error = MRAA_SUCCESS; - + error = mraa_gpio_close (this->m_dataPinCtx); if (error != MRAA_SUCCESS) { mraa_result_print(error); } - + error = mraa_gpio_close (this->m_sckPinCtx); if (error != MRAA_SUCCESS) { mraa_result_print(error); @@ -80,9 +78,9 @@ HX711::~HX711() { unsigned long HX711::read() { unsigned long Count = 0; - + while (mraa_gpio_read(this->m_dataPinCtx)); - + for (int i=0; im_sckPinCtx, 1); diff --git a/src/hx711/hx711.h b/src/hx711/hx711.h index e061b073..24cd633f 100644 --- a/src/hx711/hx711.h +++ b/src/hx711/hx711.h @@ -1,29 +1,26 @@ /* -* -* Author: Rafael da Mata Neri -* Copyright (c) 2015 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. -*/ + * Author: Rafael da Mata Neri + * Copyright (c) 2015 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 #include #include @@ -35,17 +32,25 @@ namespace upm { /** * @brief HX711 24bit ADC library * @defgroup hx711 libupm-hx711 + * @ingroup generic gpio electric */ /** + * @library hx711 + * @sensor hx711 + * @comname HX711 24bit Analog-to-Digital Converter + * @type electric + * @man generic + * @web http://www.dfrobot.com/image/data/SEN0160/hx711_english.pdf + * @con gpio + * * @brief C++ API for HX711 * - * [HX711](http://www.dfrobot.com/image/data/SEN0160/hx711_english.pdf) is - * a precision 24-bit analog- to-digital converter (ADC) designed for weigh - * scales and industrial control applications to interface directly with a - * bridge sensor. This module was tested on the Intel Galileo Gen2. + * The HX711 is a precision 24-bit analog-to-digital converter (ADC) + * designed for weigh scales and industrial control applications to + * interface directly with a bridge sensor. This module was tested on + * the Intel Galileo Gen2. * - * @ingroup hx711 hx711 * @snippet hx711.cxx Interesting * @image html hx711.jpeg */ @@ -66,7 +71,6 @@ namespace upm { */ ~HX711(); - /** * Waits for the chip to be ready and returns a reading * @@ -110,7 +114,7 @@ namespace upm { void tare(uint8_t times = 10); /** - * Set the SCALE value + * Set the SCALE value * This value is used to convert the raw data to "human readable" data (measure units) * @param scale value obtained via calibration */ @@ -118,14 +122,14 @@ namespace upm { private: mraa_gpio_context m_sckPinCtx; // Power Down and Serial Clock Input Pin mraa_gpio_context m_dataPinCtx; // Serial Data Output Pin - + uint8_t GAIN; // amplification factor unsigned long OFFSET; // used for tare weight float SCALE; // used to return weight in grams, kg, ounces, whatever - + /** - * Set the OFFSET value + * Set the OFFSET value * The value that's subtracted from the actual reading (tare weight) * @param scale value obtained via calibration */ diff --git a/src/hx711/jsupm_hx711.i b/src/hx711/jsupm_hx711.i index ff8ec950..ddaabe99 100644 --- a/src/hx711/jsupm_hx711.i +++ b/src/hx711/jsupm_hx711.i @@ -1,4 +1,3 @@ -//! [Interesting] %module jsupm_hx711 %include "../upm.i" @@ -7,4 +6,3 @@ %} %include "hx711.h" -//! [Interesting]