esp8266-cap-soil-sensor
esp8266-cap-soil-sensor copied to clipboard
ISR not in IRAM!
I hope I'm not breaking protocol here, but I'm a bit of a noob. After looking at some different projects, I thought this one looked like what I wanted, so I had 20 boards printed up at JLC PCB and am trying to get them up and running. I wasn't able to do it in PlatformIO, mostly because I couldn't get PubSubClient to work. So I brought it over to Arduino IDE. I got it to load (although I had to roll JSON back), but when I restart it, I get the following on the Serial Monitor:
........... WiFi connected IP address: 192.168.1.187 Attempting MQTT connection...Connected ISR not in IRAM!
User exception (panic/abort/assert) --------------- CUT HERE FOR EXCEPTION DECODER ---------------
Abort called
stack>>>
ctx: cont
sp: 3ffffeb0 end: 3fffffc0 offset: 0000
3ffffeb0: 00000002 3ffffee2 3ffee748 4020350c
3ffffec0: 000000fe 00000000 00000000 00000000
3ffffed0: 00000000 00000000 00000000 00ff0000
3ffffee0: 5ffffe00 5ffffe00 401002a1 00000000
3ffffef0: 00000000 00000001 0000000c 4020512e
3fffff00: 401005a5 3ffee748 00000000 40205140
3fffff10: 00000000 00000002 0000000c 40205649
3fffff20: 3ffe8978 4b045454 c45a1c01 3ffee96c
3fffff30: 3fffff74 3ffee7b8 3fffff50 402056e8
3fffff40: 40203cf8 3ffe8976 3ffee82c 402012d4
3fffff50: 40203cf8 3ffe8976 3ffee82c 40203f64
3fffff60: 3fffdad0 00000009 3ffee82c 40204048
3fffff70: 00000000 3ffee748 3ffee82c 4020779d
3fffff80: 40207d50 3ffee748 3ffee82c 3ffee96c
3fffff90: 3fffdad0 00000000 3ffee958 40202255
3fffffa0: feefeffe feefeffe feefeffe 40204c74
3fffffb0: feefeffe feefeffe 3ffe863c 40100e61
<<<stack<<<
--------------- CUT HERE FOR EXCEPTION DECODER ---------------
ets Jan 8 2013,rst cause:2, boot mode:(3,7)
load 0x4010f000, len 3460, room 16 tail 4 chksum 0xcc load 0x3fff20b8, len 40, room 4 tail 4 chksum 0xc9 csum 0xc9 v00046480 ~ld
...............................................
Any ideas how to solve this? I'd like to start using these things! Thanks, Chip
Gosh - I'm really sorry but I have not touched this project for about 5 years now. It really was, as I stated in the Readme:
"This is all still very much a work in progress. I have built a prototype board and have had it running on my desk but the results leave me rather confused :-("
As I recall there were some bugs in the PCB layout design too; it really was very much a prototype. i.e. things like the variable resistor should be replaced by a fixed one and most of the test points removed etc...
Having said all that it did "work" to a fashion on my desk in a pot but I never got any further than that, sorry.
Thanks for your quick reply. Looks like the only problem I can see now is due to the changes from json 5 to 6. Unfortunately, I'm a beginner with PlatformIO and not familiar with json. I think I was able to upgrade the first two json lines using the json upgrade guide, but can't figure out the others. I'll post the errors below. I'd greatly appreciate any help you could provide, and I'm sure others would benefit from a GitHub update.
BTW, I noticed you discussed PCB water ingress and water proofing elsewhere online. If you're interested, I'm comparing Liquid Tape, FlexSeal Clear, PlastiDip and perhaps silicone and/or urethane conformal coatings and can let you know the results.
Thanks Chip
Oh, and let me know if you want me to send you some seeds from my Cajun Belle and Fish pepper plants. The later is a very interesting African-American heirloom from the Philadelphia/Baltimore region with beautiful variegated leaves and fruit and Caribbean flavor and heat.
Errors:
src\main.cpp:140:11: error: StaticJsonBuffer is a class from ArduinoJson 5. Please see https://arduinojson.org/upgrade to learn how to upgrade your program to ArduinoJson version 6
.pio\libdeps\esp12e\PubSubClient\src\PubSubClient.cpp: In member function 'boolean PubSubClient::publish_P(const char*, const uint8_t*, unsigned int, boolean)':
.pio\libdeps\esp12e\PubSubClient\src\PubSubClient.cpp:523:16: warning: comparison of integer
expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
523 | return (rc == expectedLength);
| ~~~^~~~~~~~~~~~~~~~~
Compiling .pio\build\esp12e\lib80f\ESP8266WiFi\ESP8266WiFiSTA.cpp.o
Compiling .pio\build\esp12e\lib80f\ESP8266WiFi\ESP8266WiFiScan.cpp.o
Compiling .pio\build\esp12e\lib80f\ESP8266WiFi\WiFiClient.cpp.o
Compiling .pio\build\esp12e\lib80f\ESP8266WiFi\WiFiClientSecureBearSSL.cpp.o
src\main.cpp: In function 'void setup_wifi()':
src\main.cpp:82:31: warning: comparison of integer expressions of different signedness: 'long unsigned int' and 'long int' [-Wsign-compare]
82 | if (millis() - startMills > WIFI_TIMEOUT) {
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
src\main.cpp: In function 'void publishJSON()':
src\main.cpp:140:21: error: expected primary-expression before '<' token
140 | StaticJsonBuffer<150> jsonBuffer;
| ^
src\main.cpp:140:27: error: 'jsonBuffer' was not declared in this scope; did you mean 'JsonBuffer'?
140 | StaticJsonBuffer<150> jsonBuffer;
| ^~~~~~~~~~
| JsonBuffer
src\main.cpp:142:48: error: cannot bind non-const lvalue reference of type 'ArduinoJson::JsonArray&' {aka 'ArduinoJson6184_91::ArrayRef&'} to an rvalue of type 'ArduinoJson6184_91::ArrayRef'
142 | JsonArray& payload = root.createNestedArray("payload");
| ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
src\main.cpp:143:50: error: cannot bind non-const lvalue reference of type 'ArduinoJson::JsonObject&' {aka 'ArduinoJson6184_91::ObjectRef&'} to an rvalue of type 'ArduinoJson6184_91::ObjectRef'
143 | JsonObject& data = payload.createNestedObject();
| ~~~~~~~~~~~~~~~~~~~~~~~~~~^~
src\main.cpp:150:12: error: 'ArduinoJson::JsonObject' {aka 'class ArduinoJson6184_91::ObjectRef'} has no member named 'prettyPrintTo'
150 | root.prettyPrintTo(Serial);
| ^~~~~~~~~~~~~
src\main.cpp:154:10: error: 'ArduinoJson::JsonObject' {aka 'class ArduinoJson6184_91::ObjectRef'} has no member named 'printTo'
154 | root.printTo(buffer, sizeof(buffer));
| ^~~~~~~
src\main.cpp:155:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
155 | if (client.publish(TOPIC, buffer));
| ^~
src\main.cpp:156:7: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
156 | if (DEBUG_PRINT) {
| ^~
*** [.pio\build\esp12e\src\main.cpp.o] Error 1