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

Add skip interval for gyro measurements #180

Open
DMT07 opened this issue Feb 26, 2024 · 3 comments
Open

Add skip interval for gyro measurements #180

DMT07 opened this issue Feb 26, 2024 · 3 comments

Comments

@DMT07
Copy link

DMT07 commented Feb 26, 2024

Is your feature request related to a problem? Please describe.
The gyro uses a lot more energy than the DS18B20 temperature sensor. For applications where you want to use the iSpindel as the beer temperature sensor, you ideally want more regular temperature updates than tilt angle updates. If there was an option to set a skip interval for the gyro measurements, more frequent temperature readings can be sent for the same battery life.

Describe the solution you'd like
In the configuration, under the "Advanced Software Settings" tab, add an option "Skip interval - gyro update". When the skip interval > 0, the gyro reading is treated as sample and hold (last actual reading is reported during the skipped cycles).

@mp-se
Copy link
Owner

mp-se commented Feb 26, 2024

If you use the temperature sensor on 12 bits it will consume as much power as the gyro, its not the sensors that consume power its the esp itself. But I like your Idea of having the possibility to send updates for one or the other sensor more frequent.

Would a setting to disable the qyro always make sense if a user wants to use the device as a temperature probe`?

The challenge is probably what data format to use when there is no angle or gravity data. Should there be different format templates with and without angle/gravity? Should the value be set to a zero? How would the server side interpret the data ?

@DMT07
Copy link
Author

DMT07 commented Feb 27, 2024

I have not personally considered using the iSpindel as a temperature sensor only, but now that you mention it, it might be useful for something like temperature control while ageing?

In the case where the angle/gravity readings are skipped, a "sample and hold" approach should be fine. But it's a good question, what happens when no angle/gravity readings are present at all. I'll have to go look in detail how brewpiless consumes the data but at first glance I can see that it will reject the update if the tilt angle field is missing from the http post. I don't see any range/validity check being done on the incoming tilt value, but there is a #define INVALID_TILT -1 and #define INVALID_GRAVITY -1.

Let me dig a bit and come back to you. I'll check how BLE data is consumed as well and see what I can find about the other services like Brewfather etc.

@mp-se
Copy link
Owner

mp-se commented Feb 27, 2024

I actually created a fork that only works as a temp sensor. This was a request by a user. So it would be good to get that fork archived.

The problem with missing data is that the server might throw an exception of the field is missing. The format template would not know what data to omit either. So sending a dummy value (or perhaps the last known gravit) is probably the easiest option

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

No branches or pull requests

2 participants