Getting ready to build up the final Web enabled thermostat. For this version in order to fit inside the housing the ESP8266 has to be soldered into the PCB. That means I wanted to update the firmware and check its operation before soldering it in.
Leonardo from Universidade Regional de Blumenau in Brazil sent me some updates to his Ladder logic to BASIC translator. It now will launch a program on any of our boards running BASIC. And he has added a manual.
Over the years feedback from our users has suggested improvements and new features. Recently to enable the auto-include feature for both Arduino and existing boards running BASIC, we generate an _includeALL.bas file that contains the user BASIC program as well as the needed register definition file. But this made error reporting a bit misleading for errors like missing ENDIF. One of our users pointed this out, so we took a look at improvements.
One of our users was asking about the possibility of a 64 bit TIMER and 64 bit integer arithmetic. The need was to time both millisecond and long time - minutes or even hours. The 32 bit TIMER rolls over every 70 minutes or so. The ARM is a 32 processor, so that dictates the 32 bit math. But in BASIC with a little help from assembly can handle 64 bit math.
The Brazilian students are at it again. First Blockly to BASIC, and now Ladder Logic to BASIC. Ladder Logic which is still used in control systems, is probably among the first graphical languages. Thanks to Leonardo, one of Miguel's students at Universidade Regional de Blumenau.
Pictured here is a binary counter in LadderLogic.