newheiko / wifred Goto Github PK
View Code? Open in Web Editor NEWwiThrottle-compatible hardware controller
License: GNU General Public License v3.0
wiThrottle-compatible hardware controller
License: GNU General Public License v3.0
wiThrottle should support DCC decoders with 28 speed steps.
There should be a selection after the DCC address with at least the options "128", "28" speed steps.
May be this could extended to all options available on a Loconet command station (14, 128 DAC, 28 DAC, SX, ...).
I assume that this requires an extension of the wiThrottle protocol, selection of speed steps in the wiThrottle server is much to complicated for the average user.
There are many (older) decoders (like Lenz LE103, LE040) that does not work with 128 speed steps but are still used. Also there are some decoders that support speed table only when used with 28 speed steps.
wiFred registers in DNS (by DHCP) with somethings like "esp32s2-3D733E".
Instead the throttle name as entered should be used.
This would help calling the configuration page on systems without mDNS (e.g. Win7).
To test a Fritzbox (like 7590) can be used. The device shows as name "esp32s2-3D461A". Also
"nslookup esp32s2-3D461A" or "nslookup esp32s2-3D461A.fitz.box". But
"nslookup <throttle name>" should work.
On other APs without a DNS (like WRT54GL) this will not work.
I assume calling a setHostname() should help,
Firmware revision used: 2022-10-16-71ca8c3-master
AFAIK older versions of firmware showed the correct throttle name.
The configuration pages should be vaild HTML.
HTML 5 or xhtml should be used.
Use:
wiFred doesnot connect to a WLAN with hidden SSID.
Switching SSID to hidden is essiantial on exhibitions and meetings when to expect many mobile phones that are trying to connect to every WLAN they see.
I have tested with FW 2022-10-16 and Fritzbox 7590 and FRITZ!OS 07.29.
5mm diameter drilling inserts
...possibly also reorder description in the process
Any WiThrottle device should work, but since we don't broadcast our info to WiThrottle and expect WiThrottle to ask and get back our ID string, some throttles may need to account for that. Creating a DCC++EX Command Station from an Uno or Mega is easier than building a throttle, so I was hoping someone already tested or could make a CS with an Arduino and Motor Shield they may have already. It can be tested with just an Arduino, a WiFi shield or ESP-01S and a computer connected as a serial monitor since we can turn on wifi and Withrottle diagnostics and watch if commands are being sent back and forth. That way you don't have to have a motor shield and actually use it as a CS connected to a track.
Would it be possible to implement support for a rotary encoder instead of a potentiometer?
The button could be used for fast switching to speedstep 0.
The eps32-s2 modules are in the meantime NRND. So long term procurement could become difficult.
Maybe it's worth to do an upgrade to esp32-s3 modules, when the next PCB redesinge is necessary.
This would also enable to implement Bluetooth communication as alternative option in the future.
It seems not very practical to have to use computer with JMRI for connection to the Train command station. There might be several ways how to use the wiFRED operating on WiThrottle protocol, either using the Digitrax LNWI unit to connect it to the LocoNet used to standard FREDs, or to use some command station equipped with the wifi and WiThrottle protocol, such as YaMoRC YC7100 or YC7100, TCS-2. Probably as well the ESU Smart Control.
It is only necessary that it would exist a way of easy wifi connection to the LNWI or command stations mentioned above.
In locoHandling.ccp
client.print(String("MT-") + locoThrottleID[currentLoco] + "<;>r\n");
Mark the color of the LED directly on the PCB for easier assembly.
Better footprint documentation to see the orientation of the LED in the silkscreen.
Requested by Fremo Forum member
(press key at startup?)
Requested by FREMO forum member.
(press key at startup?)
Requested by Fremo Forum member.
use <input type="number" id="loco.address_1" name="loco.address" min="-1" max="10239"> for loco.address
use <label for="loco.address_1">DCC address: (-1 to disable)</label >
https://wiki.selfhtml.org/wiki/HTML/Tutorials/Formulare/input/number
Possibly include link back to config page
void restartESP()
{
String resp = String("\r\n")
+ "<title>WiFred Reboot</title>"
+ "Rebooting wiFred...";
server.send(200, "text/html", resp);
ESP.restart();
}
The drilljig is missing from the 0.6 releases of the gerber-files.
...to work properly with some funny sound decoder state machines that run shutdown sequence on ESTOP.
Using f
force function to refresh all functions on (re)connect, makes the conversation much more verbose than necessary.
Any good reason at all to use force..?
Selection of long or short address should be removed in configuration panel.
On Loconet only short adresses are used for range 1..127. Long adresses are not supported in this range.
The option is confusing and can be done automatically from address (if (a<128) "short" else "long")
One asciidoc file per section?
Label the color of red und yellow switch on the silkscreen.
The direction toggle switch has a washer with a bent over edge. This can be used to fix the switch inside the PCB so it can not twist.
Therefore a new hole is needed next to the existing hole for the switch.
Right now, the wiFred just ignores them.
It should notify the user of the request and block the throttle until the user deactivates that loco again.
Maybe it should also notify the server that it takes back the loco request? TBD.
Requested by Fremo Forum member
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.