From 1d41d9a2313295d9b6a56ce32e27e34eafae528c Mon Sep 17 00:00:00 2001 From: Paul Lecuq Date: Fri, 10 Mar 2023 19:50:09 +0100 Subject: [PATCH] updated sensor --- README.md | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++ src/pcsensor.c | 9 +++----- 2 files changed, 60 insertions(+), 6 deletions(-) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..69ed529 --- /dev/null +++ b/README.md @@ -0,0 +1,57 @@ +# sensor + +## Summary + +PCSensor temper with Rust and C bindings + + +## Howto + + +### Dev Run + +``` +cargo run +``` + +### Build + +```bash +cargo build --release +``` + + +## TODO + + + +## License + +```text +Copyright (c) 2022, 2023 PaulBSD +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +The views and conclusions contained in the software and documentation are those +of the authors and should not be interpreted as representing official policies, +either expressed or implied, of this project. +``` \ No newline at end of file diff --git a/src/pcsensor.c b/src/pcsensor.c index d4d51ed..505b2b8 100644 --- a/src/pcsensor.c +++ b/src/pcsensor.c @@ -262,8 +262,7 @@ void interrupt_read(libusb_device_handle *dev, unsigned char *answer) { void cleanup_usb_devices(temper_device_t *devices, int numdev) { int i; - for (i = 0; i < numdev; i++) - { + for (i = 0; i < numdev; i++) { libusb_release_interface(devices[i].handle, INTERFACE1); libusb_release_interface(devices[i].handle, INTERFACE2); @@ -308,10 +307,8 @@ void decode_answer_sht1x(unsigned char *answer, float *tempd, float *calibration buf = ((signed char)answer[4] << 8) + (answer[5] & 0xFF); tempd[1] = -2.0468 + 0.0367 * buf - 1.5955e-6 * buf * buf; tempd[1] = (tempd[0] - 25) * (0.01 + 0.00008 * buf) + tempd[1]; - if (tempd[1] < 0) - tempd[1] = 0; - if (tempd[1] > 99) - tempd[1] = 100; + if (tempd[1] < 0) tempd[1] = 0; + if (tempd[1] > 99) tempd[1] = 100; } float get_temp_c() {