Hello,
Hoping someone can help me add the stairs_wipe_basic usermod.
I am able to compile the main branch and have also successfully added the Animated_Staircase usermod.
The readme file in stairs_wipe_basic doesn’t really outline what to do. There are some instructions in the stairway-wipe-usermod-v2.h file which I thought I followed correctly but I keep getting errors.
If anyone has successfully added this usermod, could you please outline the steps?
For anyone in the future needing more detailed steps, here is what to do.
Copy the stairway-wipe-usermod-v2.h file and place it in the wled00 folder (same folder that contains the wled00.ino file).
add #include "stairway-wipe-usermod-v2.h" to the top of the usermods_list.cpp file. This goes just under the green comments. Be sure to add a blank line before and after.
add usermods.add(new StairwayWipeUsermod()); to the end of the usermods_list.cpp file. This goes before the ending } and be sure to also add a blank line between the code above and the }. Also confirm spacing is correct. If using VS the file tab will light up red and show how many errors you have. There should not be any.
Final clarification here is the entire usermods_list.cpp file for reference.
I found another post where the person copied the contents of the wled06_usermod.ino file into the usermod.cpp file. When I do this and try to compile I get two errors:
wled00/usermod.cpp: In function 'void userLoop()':
wled00/usermod.cpp:44:17: error: 'startWipe' was not declared in this scope
startWipe();
^
wled00/usermod.cpp:69:80: error: 'turnOff' was not declared in this scope
if (millis() + strip.timebase > (725 + (255 - effectSpeed)*150)) turnOff(); //wipe complete
^
to the top of the usermod.cpp file. I did this and the two errors mentioned above went away and the code compiled. But again, it doesn’t show up in my Usermods. So I’m not sure if it worked or not…
You may need to consult original author to update the usermod to be compatible with recent WLED version.
Or do it yourself by studying the code and adjusting appropriately.
Animated staircase has been recently updated and supports PIR sensors as well as ultrasonic sensors.
NOTE: I do not recommend ultrasonic sensors as the speed of sound is not adequate for good operation (detection of object more than 40cm away).
IMO no, but haven’t used any of them, animated staircase needs as many segments as there are steps for best function.
search this forum as there were a lot of words exchanged about that particular usermod
I’m here again as I found the solution and seen in many places where the people makes a mistake.
thanks to @blazoncek I have studied the code a little bit
Here you go:
1: to compile
from main repo without any changes add #include "../usermods/stairway_wipe_basic/stairway-wipe-usermod-v2.h" at the top of usermods_list.cpp and usermods.add(new StairwayWipeUsermod()); at the bottom
final file should look like this:
2: this usermode will not be listed in the usermos web interface
3: to use it you will need to send commands through api:
Example:
in my case IP address is 192.168.0.20
activate going up: http://192.168.0.20/win&U0=1
activate going down: http://192.168.0.20/win&U0=2
change wipe turn off time in seconds(15 in this case): http://192.168.0.20/win&U1=15
Everything sounds obvious but I went into this trap and hope to save others.
I will try to combine “Animated Staircase” with this one so it can run local and don’t need wifi connection with other sensors in order to work.
For me it will be a hard work as I’m a noobie and any help in this regard will be apreciatted.
If i have a solution I will post it
@DonEugraf Did it exactly the same way, but it shows me an error in the following line:
I added in void registerUsermods() the following line:
usermods.add(new StairwayWipeUsermod());
And at the top the following line: #include “stairway-wipe-usermod-v2.h”
And I of course added the stairway-wipe-usermod-v2.h under the wled00 folder.
Following Aircoookies description:
2. Register the usermod by adding #include “usermod_filename.h” in the top and registerUsermod(new MyUsermodClass()) in the bottom of usermods_list.cpp
It should be named registerUsermod instead of usermods.add, so I’m a little bit confused. Can someone please help me out?
Hey guys, i’m trying to compile this also but having the same errors! Did anyone solve it? Ill download the wemos BIN but i want to upload it to an esp32. Ill try anyway
Tried to do it via many different ways (all from the above as well) without any luck. With the latest adjustments from @DonEugraf I get the following error codes:
wled00/usermods_list.cpp: In function 'void registerUsermods()':
wled00/usermods_list.cpp:259:40: error: invalid new-expression of abstract class type 'StairwayWipeUsermod'
usermods.add(new StairwayWipeUsermod());
^
In file included from wled00/usermods_list.cpp:14:0:
wled00/../usermods/stairway_wipe_basic/stairway-wipe-usermod-v2.h:14:7: note: because the following virtual functions are pure within 'StairwayWipeUsermod':
class StairwayWipeUsermod : public Usermod {
^
In file included from wled00/wled.h:177:0,
from wled00/usermods_list.cpp:1:
wled00/fcn_declare.h:283:18: note: virtual void Usermod::setup()
virtual void setup() = 0; // pure virtual, has to be overriden
^
Retrieved `.pio/build/esp32dev/libcd3/NeoPixelBus (Deanius97 conflicted copy 2024-01-22)/internal/methods/NeoPixelAvr.c.o' from cache
Retrieved `.pio/build/esp32dev/libce0/WiFi/ETH.cpp.o' from cache
Retrieved `.pio/build/esp32dev/libce0/WiFi/WiFi.cpp.o' from cache
Retrieved `.pio/build/esp32dev/libce0/WiFi/WiFiAP.cpp.o' from cache
Retrieved `.pio/build/esp32dev/libce0/WiFi/WiFiClient.cpp.o' from cache
Retrieved `.pio/build/esp32dev/libce0/WiFi/WiFiGeneric.cpp.o' from cache
Retrieved `.pio/build/esp32dev/libce0/WiFi/WiFiMulti.cpp.o' from cache
Retrieved `.pio/build/esp32dev/libce0/WiFi/WiFiSTA.cpp.o' from cache
Retrieved `.pio/build/esp32dev/libce0/WiFi/WiFiScan.cpp.o' from cache
*** [.pio/build/esp32dev/src/usermods_list.cpp.o] Error 1
Retrieved `.pio/build/esp32dev/libce0/WiFi/WiFiServer.cpp.o' from cache
=========================================== [FAILED] Took 3.03 seconds ===========================================
Environment Status Duration
------------- -------- ------------
esp32dev FAILED 00:00:03.027
===================================== 1 failed, 0 succeeded in 00:00:03.027 =====================================