Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 20:18
    dok-net synchronize #6804
  • 19:55
    dok-net synchronize #6047
  • 19:51
    dok-net synchronize #6902
  • 19:50
    dok-net synchronize #6782
  • 19:47
    dok-net synchronize #6857
  • 17:56
    devyte labeled #6898
  • 17:56
    devyte labeled #6898
  • 17:56
    devyte milestoned #6898
  • 17:53
    devyte synchronize #6898
  • 17:53
    devyte closed #6894
  • 17:52

    devyte on master

    fix for #6904: NodeMCU v1.0 boa… (compare)

  • 17:51
    devyte closed #6904
  • 17:51
    devyte closed #6905
  • 17:51
    devyte edited #6905
  • 17:50
    devyte edited #6905
  • 17:09
    d-a-v closed #6901
  • 15:57
    erdemuncuoglu review_requested #6905
  • 15:31
  • 15:09
    erdemuncuoglu opened #6905
Bert Melis
@bertmelis
for example: adding _debugPrinter->println(F("just checking"));to https://github.com/bertmelis/VitoWifi/blob/develop/src/Optolink.cpp#L421 generates the error.
(you may find the lib written badly, but I'm only auto-didacting since a couple of months)
Lars Englund
@larsenglund
Hmm, I'm getting this stackdump:
https://pasteboard.co/g2nmn9aYz.png
Should I dig for the problem in ESP8266mDNS.cpp?
(line 261 contains the closing bracket for the addServiceTxt method so I'm guessing the line numbers are incorrect or refering to some other file?)
Lars Englund
@larsenglund
The code for sending out querys has worked fine before so I'm thinking something in my network might cause it?
Myles Eftos
@madpilot
I found wireshark pretty handy for debugging this stuff as mDNS packets are broadcast. You might find a massive packet is locking up the parsing and causing the watchdog to trigger. What CPU speed have you set?
Lars Englund
@larsenglund
160mhz
Lars Englund
@larsenglund
Hmm, after some debugging in ESP8266mDNS.cpp::_parsePacket() I found that it enters an infinite loop trying to add a new answer to answer list (around line 644)
It adds the three first answers to the list without any problem but when the fourth is parsed and ready to be added while (answer->next != 0) { never exits..
Could answer->next have been corruptedhow?
Since every new answer gets intialized to answer->next = 0;...
Myles Eftos
@madpilot
Could be a bad packet that is causing a buffer overflow, stopping the traversal from terminating. Hard to say with out looking at the packet
Lars Englund
@larsenglund
Reading answers RX: REQ, ID:0, Q:0, A:4, NS:0, ADD:0
 4 5f 65 73 70 
found matching service: esp
 4 5f 74 63 70 
 5 6c 6f 63 61 6c 
type: 000c rdlength: 28
0a 65 73 70 5f 44 41 33 35 45 41 04 5f 65 73 70 04 5f 74 63 70 05 6c 6f 63 61 6c 00 
 10 65 73 70 5f 44 41 33 35 45 41 
 4 5f 65 73 70 
found matching service: esp
 4 5f 74 63 70 
 5 6c 6f 63 61 6c 
type: 0010 rdlength: 0

 10 65 73 70 5f 44 41 33 35 45 41 
 4 5f 65 73 70 
found matching service: esp
 4 5f 74 63 70 
 5 6c 6f 63 61 6c 
type: 0021 rdlength: 24
 10 65 73 70 5f 64 61 33 35 65 61 
esp_da35ea
 10 65 73 70 5f 64 61 33 35 65 61 
 5 6c 6f 63 61 6c 
type: 0001 rdlength: 4
All answers parsed, adding to _answers list..
else
It's after this packet the loop starts so it does not look like a buffer overflow
Also I have checked that I have lots of heap space left (>28K)
Lars Englund
@larsenglund
I see now that the problem occurs when _parsePacket has returned after parsing the first three packets and is then called again in MDNSResponder::update() and continues to add a fourth answer to the same answer list.. if that has any significance.. also the next-pointer of the last element in the answer list has changed from 0 to pointing to the last item itself when entering parsePacket the second time (thus causing the infinite loop)
Boggle.. what could be causing the next-pointer to be overwritten between two calls to _parsePacket
I've pasted a sample serial output and the parsePacket that generates it there
Lars Englund
@larsenglund
Crap, It has already been fixed esp8266/Arduino#2347
I really need to switch to using the latest github code.. sorry for spamming with already answered questions..
Lars Englund
@larsenglund
Hmm, after following the instuctions to use the git version on https://github.com/esp8266/Arduino#using-git-version i get fatal error: SoftwareSerial.h: No such file or directory when compiling my code..
Lars Englund
@larsenglund
an-erd
@an-erd
Is there a way to do a OTA update and do some stuff in the loop(), too.
OTA is working fine, the callback functions are called, but I didn't get it working to update the display which is called from the loop().
Me No Dev
@me-no-dev
with current version, no
if we move the TCP part to Async, then yes
an-erd
@an-erd
can I spend some time in the ArduinoOTA.onProgress() function to update the display?
Me No Dev
@me-no-dev
yes
not too much though
an-erd
@an-erd
Ok thanks, I'll try
an-erd
@an-erd
Works pretty good, the OLED display update does not cause any problems! Thanks
Myles Eftos
@madpilot
@me-no-dev Is using async something you are working on at the moment? As I was thinking of looking in to this.
Me No Dev
@me-no-dev
@madpilot my async libs are fine, if that is what you are asking, else I'm working on esp32
James
@WanaGo

Hello
Does anyone have any experience with doing UDP NTP Time stuff with the ESP8266?
I am using the PJRC time library, and based my sketch on the ESP8266 example.
I get the NTP server IP on startup, and it gets the EPOCH time no problem. But the next time to goes to sync (set for 5 minutes, but tried 30 minutes also), it fails.
I enabled the Debug, and I get the following:

connected with ROUTER, channel 11
ip:192.168.178.99,mask:255.255.255.0,gw:192.168.178.1
wifi evt: 0
wifi evt: 3
Connected - 192.168.178.99
Setting Up UDP
scandone
Transmit NTP Request
[hostByName] request IP for: pool.ntp.org
[hostByName] Host: pool.ntp.org IP: 202.6.116.123
pool.ntp.org: 202.6.116.123
Receive NTP Response

And then next time I get:

Transmit NTP Request
[hostByName] request IP for: pool.ntp.org
[hostByName] Host: pool.ntp.org lookup error: -5!
pool.ntp.org: 0.0.0.0

James
@WanaGo
tried DHCP, Static, defining DNS and not defining DNS, results are the same. I cant figure out what is going on.
it uses the exact same code the first attempt as with every other attempt
James
@WanaGo
esp8266/Arduino#3150
That looks to be the same thing
James
@WanaGo
WiFi.hostByName() seems to work once. So I have done this at setup() now, and then saved the IP address globally, and used that each time after that.
Something is wrong though, there is a bug somewhere.
James
@WanaGo
ok no that didnt work either.
James
@WanaGo
been using 2.3.0, tried 2.4.0rc1, same exact thing
Holger Lembke
@holgerlembke
Moin moin!
I try to get LiquidCrystal_I2C to run with es8266. i2cscan shows the pcf8574, but it does not work at all... any hints? any working github repo? thanks!
Holger Lembke
@holgerlembke
ok, self answering service: https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library seems to work.
an-erd
@an-erd
I need a way to get multiple WiFi networks running, but to differentiate between private network (at home to use the own MQTT broker 192.168.1.1) or public network (w/o MQTT home network). There is another hotspot pretty close and when I'm at home I don't want to connect to this one. WiFiMulti works fine, but does not have the feature of using different profiles "private" and "public". Before I start working on an extension to WiFiMulti I want to see whether there are appropriate solutions around. Do you know of such a functionality?
brutzler
@brutzler
Hy guys,
just a little question:
I am using a Wemos D1 mini board. Here I need to comunicate serial with an external unit (IR-read/write-head)
Is it uncritical to use the normal TXD0/RXD0? Or should I use the RXD2/TXD2 (using serial swap) to avoid problems during download?
Bert Melis
@bertmelis
I advise you to swap.