I know what I did wrong here. I did a git clone
in ā¦/lib/MAKERphone, which put the files into CircuitMess-Ringo, whereas they should have gone directly into MAKERphone. Oops.
Looks like you found the answer to your question, Russ.
So now that itās working⦠whatās the secret command line to do a build?
In an attempt to answer my own question, I tired (from the top level Firmware directory):
C:\Users\Frank\.platformio\penv\Scripts\platformio.exe run --target clean
C:\Users\Frank\.platformio\penv\Scripts\platformio.exe run
But the generated firmware.bin file was different (and of a slightly different size) from the one which is generated by building from the VS Code GUI (Terminal/Run Taskā¦/PlatformIO: Build Firmware). I didnāt try to run it on the phone.
So I seem to have failed to find a command line that exactly duplicates what the GUI does. Enlighten me Russ
Yes @RussNelson, weāre all eager to know!
Thank you guys for being such a big part of the community!
Yes, itās just following the combination of the āReflash factory firmwareā instructions and Frankās instructions then running platformio run. That builds the .bin file, then you program it into the phone using the esptool.py command.
I havenāt looked into why the executable is yet a third size: 1547424
Because i want to change some thinks in firmware is there any guide with steps how to compile it ? I have downloaded the vs code but i am confused how to do it.
Absolutely everything that is necessary to know can be found in this topic (in which you are asking this question) and this topic: Ringo Reflash factory firmware. In particular, see the first 11 steps of the post I made above (in which there are 12 numbered paragraphs); and of course the various mis-steps/gotchas in the posts leading up to that post. Read it all very carefully and youāll be able to build and flash a custom firmware.bin from the two repositories you download from the github website (CircuitMess Ringo firmware and CircuitMess Ringo). Of course the firmware is up to v1.0.5 now as opposed to 1.0.1 when all of the above posts were written, but just grab the latest tag from each.
Thereā¦fixed that for you.
Yeah, fumbly fingers in the morning! Fixed now.
I have just compiled ( error , warning free ) firmware.bin
The file size is 1.46 exactly the same as the firmware in the [CircuitMess-Ringo-firmware]
Thank you for your time and for your help.
Now i am waiting info about the module
Unfortunately, I think youāre going to be a little disappointed about that one unless Robert comes up with some miracle that was not possible a year ago. Stay tuned, Iām sure heāll get back to you.
I have noticed a strange thing.
I have changed the word āHoldā from the " Hold ā#ā to unlock " to capital letters so i can test the compiling and upload feature of the vscode.
The phone is working perfect. . But the problem is when i have tried to run a game after the LOADING NOW prompt the phone resets and halt at the spash screen.
with the Loading⦠message.
I must re-flash the phone to work again. except the game loading, the phone is working ok and i can access sd card. for example load pictures etc. i have problem only for the apps ( games ). Is something that i must change during the compiling ?
Also i have noticed that after the re-flash the phone does not start from the setup wizard but from sim pin security prompt.
To understand. What is the procedure that phone do when i select a game?
First is loading it.
Then it exits the phone app and reboots to run the game ?
Thank you.
It looks like you might be experiencing the same teething issues I ran into when I first started writing my first Ringo app.
The Ringo uses a two partition setup: one is the running partition (call it A
for this example) and the other is non-running (B
for this example). When Ringo downloads a firmware update or, indeed, loads an app or game from the SD card, it flashes the .bin to the non-running B
partition, changes the EEPROM flags to specify which partition (B
) is used on next boot, then initiates a reboot to load up the partition B
you just flashed. The formerly running partition A
still houses the Ringo Loader when youāve loaded up a game or app into B
. You call out to mp.loader() manually or via homePopup() screen to return to Ringo Loader, which effectively just switches the EEPROM flags to specify the A
partition as next boot and reboots (after properly shutting down the SIM module). You CANNOT flash the running partition, hence the two identically sized partitions. Itās actually a really clever use of the two-partition setup the way Ringo launches apps from the SD card and then returns to the Ringo launcher
Hereās some minimum things you should be including in your apps to ensure they operate properly with the Ringo:
#include <MAKERphone.h>
MAKERphone mp;
void setup() {
Serial.begin(115200);
mp.begin(1); // This inits all the necessary Ringo stuff
mp.homePopupEnable(1); // Enable homePopup(), the screen that comes up when
// you press BTN_HOME, so you can change settings and
// return to Ringo loader with ease.
mp.inCall = 0; // This will enable the device/display sleep timeout
// Setting to 1 disables sleep timeout
}
Hi Petros,
Do not use the upload feature of vscode. I was never able to get it to work properly and I donāt think it understands the Ringoās partitioning. Instead follow steps 8 through 10 I outlined above to use vscode to build firmware.bin, then copy that file to another directory that contains the standard Ringo boot_app0.bin, bootloader_dio_80m.bin, and partitions.bin files and to do the actual flash by running esptool.py yourself. I think that should solve all your problems.
See Ringo Reflash factory firmware for more detailed instructions on doing the manual re-flash.
Thank you for your answer.
I have made the flash folder with all the files that i need as you told me.
I have installed the python ide but i canāt install the esptool.py.
I have read the Ringo Reflash factory firmware but i am still confused how to install the esptool.py
Can you help me with that ?
From a DOS box run as administrator,
pip install esptool