Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding support for ME007-ULS narrow FoV ultrasonic distance sensor #17376

Conversation

mathias-buder
Copy link
Contributor

Description:

I'm currently working on a system to measure the level of water within a large fresh water tank (water level measurement system). For that I wanted to use, among other components, an Wmos D1 mini with the awesome Tasmota software on it. I had to use the special narrow FoV ultrasonic distance sensor ME007-ULS and added it to the sensor driver library.

commit 1441459
Merge: a9fcbd3 7e27945
Author: Mathias Buder <mathias_buder@bose.com>
Date:   Tue Dec 13 09:00:06 2022 +0100

    Merge branch 'development' into me007-narrow-fov-ultrasonic-sensor

commit a9fcbd3
Merge: 7bb1049 d831198
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Dec 12 10:33:06 2022 +0100

    Merge branch 'development' into me007-narrow-fov-ultrasonic-sensor

commit 7bb1049
Merge: 83a5afa eee86f0
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Fri Dec 9 09:30:29 2022 +0100

    Merge remote-tracking branch 'github/development' into me007-narrow-fov-ultrasonic-sensor

commit 83a5afa
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 8 14:47:13 2022 +0100

    [ME007] Added driver version number to MQTT message, small delay between consecutive measurement

commit 9b86678
Merge: 39180f3 de40892
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 8 10:12:45 2022 +0100

    Merge branch 'development' into me007-narrow-fov-ultrasonic-sensor

commit 39180f3
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Wed Dec 7 16:41:26 2022 +0100

    [ME007] Added median filter

commit 01b68e0
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Dec 5 23:08:57 2022 +0100

    [ME007] Simplified state maschine within me007_measure()

commit 1c74c6e
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Dec 5 22:21:16 2022 +0100

    [ME007] Fixed issues from previous pull-request

commit 25b6671
Merge: 01e0b18 e7d40b8
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Dec 5 10:46:25 2022 +0100

    Merge branch 'development' into me007-narrow-fov-ultrasonic-sensor

    # Conflicts:
    #	tasmota/include/tasmota_template.h

commit 01e0b18
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Sun Dec 4 20:53:39 2022 +0100

    [ME007] Minor changes

commit ec00c9b
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Fri Dec 2 13:08:06 2022 +0100

    [ME007] Added some measurement error statistics

commit c5cf65f
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 22:38:07 2022 +0100

    [ME007] Fixed MQTT message

commit ae07d8d
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 21:56:20 2022 +0100

    [ME007] Minor code refactoring

commit d2b43ca
Merge: 292f5f6 816fd78
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 16:48:38 2022 +0100

    Merge branch 'development' into me007-narrow-fov-ultrasonic-sensor

commit 292f5f6
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 16:47:03 2022 +0100

    [ME007] Added logic to detect sensor at boot and during runtime

commit f17af40
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 12:32:19 2022 +0100

    [ME007] Added missing define into language files

commit 7a271ab
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 12:19:23 2022 +0100

    [ME007] Improved snesor measuremnt function

commit fe42ebd
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Thu Dec 1 00:43:13 2022 +0100

    [ME007] Updated state maschine to trigger and receive sensor measurements

commit d137e6d
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Wed Nov 30 20:35:31 2022 +0100

    [ME007] Added initial state maschine to trigger and receive sensor measurements

commit fc3da7b
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Tue Nov 29 21:28:28 2022 +0100

    [ME007] Updated pin name

commit e9fa9fb
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Nov 28 22:02:34 2022 +0100

    [ME007] Fixed issue that sensor GPIOs not shown in drop-down list

commit a13e426
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Nov 28 15:06:34 2022 +0100

    [ME007] Added sensor into supported feature list

commit dec17b5
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Nov 28 15:01:58 2022 +0100

    [ME007] Removed log message in Xsns23()

commit 11f479d
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Mon Nov 28 10:47:55 2022 +0100

    [ME007] Added GPIOs to tasmota_template_legacy.h and berry

commit 23aec8e
Author: Mathias Buder <mathias.buder@gmail.com>
Date:   Sun Nov 27 20:10:53 2022 +0100

    [ME007] Initial ME007 driver API setup
@arendst
Copy link
Owner

arendst commented Dec 13, 2022

Thx.

To add features to Tasmota it's important to keep the code size a s small as possible.

  • Recently I standardized all ToF sensors from millimeter to centimeter. Pls adjust yours from meter to centimeter too eliminating the extra webserver GUI define.
  • Pls remove the changes to .gitignore and platformio.ini.
  • Pls find a way to remove stdlib.h and use Tasmota functions if needed.

@mathias-buder mathias-buder changed the title Squashed commit of the following: Adding support for ME007-ULS narrow FoV ultrasonic distance sensor Dec 13, 2022
@@ -330,6 +330,8 @@ const uint16_t kGpioConvert[] PROGMEM = {
AGPIO(GPIO_SBR_RX), // Serial Bridge Serial interface
AGPIO(GPIO_SR04_TRIG), // SR04 Tri/TXgger pin
AGPIO(GPIO_SR04_ECHO), // SR04 Ech/RXo pin
AGPIO(GPIO_ME007_RX), // ME007 Rx pin
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pls do not make changes to the legacy file. Not needed

@mathias-buder
Copy link
Contributor Author

Hi Theo, thanks for you feeback. I've now made all the changes, let me know if anything else is needed.


#define ME007_VERSION "1.0.0" /**< Driver version X.Y.Z: X:Major, Y: Minor, Z: Patch */

#define ME007_DEBUG_MSG_TAG "ME007: "
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pls change to a three character tag like "ME7: "

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, done!

@@ -782,8 +782,11 @@
//#define USE_NOVA_SDS // Add support for SDS011 and SDS021 particle concentration sensor (+1k5 code)
#define STARTING_OFFSET 30 // Turn on NovaSDS XX-seconds before tele_period is reached
//#define USE_HPMA // Add support for Honeywell HPMA115S0 particle concentration sensor (+1k4)
//#define USE_SR04 // Add support for HC-SR04 ultrasonic devices (+1k code)
#define SR04_MAX_SENSOR_DISTANCE 500 // Set sensor max detection distance
#define USE_SR04 // Add support for HC-SR04 ultrasonic devices (+1k code)
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As the current binaries are reaching max size pls disable both USE_SR04 (as was the case) and USE_ME007.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, done!

@arendst arendst merged commit fc8039d into arendst:development Dec 14, 2022
arendst added a commit that referenced this pull request Dec 14, 2022
Add support for ME007-ULS narrow FoV ultrasonic distance sensor by Mathias Buder (#17376)
@mathias-buder mathias-buder deleted the pr-me007-narrow-fov-ultrasonic-sensor branch December 14, 2022 14:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants