-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Allow using both bme280 addresses simultaneously #3124
Conversation
Lua 5.1 to 5.3 realignement phase 1
The internal implementation already preferentially forwards to the encoder module, so we should just remove these functions as they confuse people into thinking that we don't have their inverses (see the feature request nodemcu#2907). Update the docs to refer to the encoder version and add deprecation warnings to the runtime implementations.
fix lfs upload issue
* clean effects library * Fix several issues in ws2812 and effects * Implement working way of calling shift from callback
* Remove app/include/netif/wlan_lwip_if.h This file appears to be unused in our tree. * New `net.if.info` call to show LwIP information This is a generalization of `wifi.sta`'s and `wifi.ap`'s `getip` and `getmac` calls. I don't propose to deprecate those, but perhaps we should, in the documentation, point users at this function instead. The direct motivation is to permit continued use of DHCP-provided NTP servers in a future where nodemcu#2819 has landed, now that nodemcu#2709 is in the tree. But rather than exposing just that information, a more general interface seems useful.
* Remove stale putative MD2 support This hasn't worked in a while, presumably since one of our upstream merges. Don't bother making it work, since MD2 is generally considered insecure. * Land mbedtls 2.16.3-77-gf02988e57 * TLS: remove some dead code from espconn_mbedtls There was some... frankly kind of scary buffer and data shuffling if ESP8266_PLATFORM was defined. Since we don't, in fact, define that preprocessor symbol, just drop the code lest anyone (possibly future-me) be scared. * TLS: espconn_mbedtls: run through astyle No functional changes * TLS: espconn_mbedtls: put the file_params on the stack There's no need to malloc a structure that's used only locally. * TLS: Further minor tidying of mbedtls glue What an absolute shitshow this is. mbedtls should absolutely not be mentioned inside sys/socket.h and app/mbedtls/app/lwIPSocket.c is not so much glue as it as a complete copy of a random subset of lwIP; it should go, but we aren't there yet. Get rid of the mysterious "mbedlts_record" struct, which housed merely a length of bytes sent solely for gating the "record sent" callback. Remove spurious __attribute__((weak)) from symbols not otherwise defined and rename them to emphasize that they are not actually part of mbedtls proper. * TLS: Rampage esp mbedtls glue and delete unused code This at least makes the shitshow smaller * TLS: lwip: fix some memp definitions I presume these also need the new arguments * TLS: Remove more non-NodeMCU code from our mbedtls * TLS: drop support for 1.1 Depending on who you ask it's either EOL already or EOL soon, so we may as well get rid of it now.
* Add missing globals from luacheck config * Fix luacheck warnings in all lua files * Re-enable luacheck in Travis * Speed up Travis by using preinstalled LuaRocks * Fix more luacheck warnings in httpserver lua module * Fix DCC module and add appropriate definitions to luacheck config. * Change inline comments from ignoring block to only ignore specific line * Add Luacheck for Windows and enable it for both Windows and Linux * Change luacheck exceptions and fix errors from 1st round of polishing * Add retry and timeout params to wget
Also clean-up a nasty `ow` module example.
* fix build * poor mans link which also works on docker under windows * Delete espconn.h * resurecting it as regular file * Add missing newline Co-authored-by: Marcel Stör <[email protected]>
Correct typo in Lua export from updateDispla() to updateDisplay()
* Net_info module exposing ping function initial commit * Ping as a part of net module * Sent callback implemented * Add NET_PING_ENABLE macro Authored-by: vsky <[email protected]> with support from TerryE
Original sources by @anod221
This adds an optional use-alternate-address- parameter to all read-methods of the bme280 module. if not set, the behaviour is unchanged and first available device will be used. If set to true, the device at address 0x77 will be used. This fixes nodemcu#2241
These changes seem sensible, but I wonder if you'd be willing to do some more invasive work and help us dig the project out of technical debt we've accumulated. Specifically, I don't think this needs as much C as it currently uses, and I think splitting the module the way I envision would also solve your problem and let things work with multiple I2C busses or I2C bridge devices. While I am not categorically opposed to C modules, this one strikes me as just begging to be rewritten in Lua+C much as my Specifically, I wonder if you could...
In The upshot of all this is that the C code doesn't need to know about I2C device addresses or busses or platform communication layers or anything like that, it just needs to know how to process sensor reports. |
Speaking of digging us out of technical debt, it would also be phenomenal (but not required) if you could propose a test plan for bme280 devices. Something that doesn't depend too much on the actual environment, but is enough to walk the device and our driver through the wire protocol. Something like:
|
@nwf I'd be willing to help here, though i'm not sure how long that would take. I'm neither a Lua, nor a C developer, and am not very familiar with the codebase. I'd suggest the following:
|
👍 SGTM. I see no reason to hold up this PR for that longer-term work. SWIM should probably give things a once-over, tho'; @TerryE? |
I've landed a proposal in #3126; commentary would be more than welcome. And... Looking more at |
@nwf it's ok, i know that this PR is not a very clean solution -> Because i don't know the codebase very well, it is meant to introduce as few changes as possible, and therefore works with what is there. There is definitely no offense taken here on my part :) it's now midnight where i live, and i gotta work tomorrow, so i'll probably be able to read through your proposal tomorrow evening |
@vsky279 that was quick! :o |
This needs a make over. Why do we see 77 commits? Did you start from the wrong base branch? |
The needed rebasing might be fallout from our |
Shouldn't we close this one when there's PR #3132. I'm running this one in some application without any issues. |
Fixes #2241
dev
branch rather than formaster
.docs/*
.This adds an optional use-alternate-address-parameter to all read-methods of the bme280
module.
if not set, the behaviour is unchanged and the first available device will be used.
If set to true, the device at address 0x77 will be used.
This module is also used for the nearly identical bmp280 (seems to be the same, but without the humidity sensor), and it has an internal flag for that.
I adjusted the code, so that it should work with a bme280 and bmp280 on the same bus, but i only own some bme280, no bmp280, so i couldn't test that.
I tested:
This is the code i used for testing: