It is very difficult to debug code on an Arduino Mega with the IDE tools because most chips do not allow direct debugging. This project quickly became quite complex; so much so that it was almost impossible to track the values stored in the internal structures, which are the soul of the system. I needed a powerful and simple tool with which to do the necessary checks. That’s why I created the debug console. It was a console-like interface through the serial port with which I could track and make the changes I needed. With the console it is possible to consult the value of a position in memory, modify it, read the values of the registers in real time, reset the configurations, erase the entire EEPROM…
The console has always been evolving. As a new tool was needed, it was added making it more and more powerful. Although the user has gained a lot of power from the web interface, there are still certain functions that were limited or impossible outright, so I thought that if I adapted the same console code by changing the serial port to the strings that travel over HTTP, I could provide access to all the tools in a much simpler way.
The truth is that it is much easier for me to add a new command to the console than to develop the corresponding graphical interface. As I’m completing the final stages of development I’ve come up with a dozen new features that will greatly enrich the interactive experience. Of all of them I know that there is a part that will surely be of little use and another that will end up becoming a set of powerful tools. Now that I have the console on the web, I have my hands free to add this functionality, which will also be available to intermediate and advanced users.
Here is the list of commands supported by the console in this version:
Settings (set x v): =================== ip x.x.x.x Local Ip mask x.x.x.x Mask gateway x.x.x.x Gateway Commands: ========= show [x] Info. about slot x (or all devices if no x) show pre System info dump x Memory dump for device slot x edump x EEPROM dump (64bytes) from address x sockets Socket info reset Reset EEPROM to defaults format Has total empty on EEPROM poke x,y Store value y on EEPROM address x peek x Show current EEPROM address x value ping Resets autoLocal timer help Shows this list