Last Week I wrote to and read from the SPI RAM but only verified it with a logic analyzer. I read from the registers and sent them out on the serial line. Like before, I did a hello world test and actually expected to see hello world after the menu. It didn’t work, I forgot to take care of several things in the software. I adjusted the software a little at a time testing with each change until it started working.
Once I saw “Hello World” in my serial console, I decided to start testing the Sigma_Delta output. I want to know if it causes system crashes without the voltage boost circuit having any connection to power. Without R5 or L2 installed, the boost circuit really can’t have much affect on the system. Q5 also isn’t installed so the Sigma Delta output on GPIO4 is driving to high impedance.
I changed the firmware so that GPIO4 is the Sigma Delta output. Then I un-commented out the line in user_init() that configures and enables the Sigma Delta output. Before, I had a very limited range of prescaler I could use for the Sigma Delta signal. I can set the sigma delta prescaler from 0 to 100. I was expecting to get full range which would be 0 to 255. So I went back into the software and looked to see if I made a math error. The math is simple and it looks right so I decided to look at the Sigma Delta register definition. The register definition matches the way the code is written. I checked Kolban’s ESP8266 book, it didn’t have anything useful about the Sigma Delta. I looked for it in Espressif’s SDK programming guide and found nothing. Next I searched using Google. This turned up the page I had originally found on Espressif’s bbs. It describes the prescaler being a value of 0 to 255. So I still don’t know why going bigger than 99 causes the system to crash. It is not clear what is causing this rebooting.
I will look at the Sigma Delta software more next week. I have uploaded the current status of the code to GitHub.
I would love to hear from you readers. The only comments I get are spam!