Need Help With Arduino Programming

Hey,

Frank pretty much explained how things work but I would like to add a couple of things.
Update() should be called quite often actually - it is what pushes sprites to the screen, detects button presses and just generally makes everything work. Of course, it is quite time consuming since it does a lot of things altogether. Calling it once at the end of each loop is often quite enough, although it doesn’t have to be.

I would definitely recommend looking through the source code of our games which can be found on GitHub. By looking at that you’ll get the best idea of when is the best to use which function and therefore understand the most important ones in no time. :slight_smile:

Robert

You know, I think I will eventually be able to deal with the programming, but until I get a real understanding of the MAKERphone library with all of the functions and the purpose of each, I really can’t do much. As Frank said, this is where CircuitMess effort is needed. This information needs to be “front and center” in any tutorial offered. It needs to be provided before CircuitBlocks, or Arduino IDE, and as a sticky at the beginning of the Programming Forums for brand new folks like me.

Having said that, I think with the MAKERphone.h reference that Frank gave me (should be the first thing provided in the Forum’s programming sections - would have saved me a lot of time), and Robert’s advice about studying the code from the games (should be the second thing provided in the Forum), I have a way to proceed.

Thank you for the help. Hopefully, more informed questions from me will follow.

Just reviewed some of the Ringo-Arduino examples (from robbie-8bit) on the GitHub reference provided by Robert. These are extremely helpful.

Thank You!

I agree with everything you’ve said. We’ve been creating a whole new “Creations and tutorials” part of our web which would feature a lot of tutorials, guides and much, much more, many of which have been already written for this platform.

Unfortunately, it has taken us a lot more to completely polish it and launch than expected and we don’t want to release an unfinished product. It should launch really soon and then there will be plenty of material to work with! :smiley:

Keep in touch to see when it drops. Until it drops, keep exploring and ask me anything if you need to.

Cheers,
Robert

Robert, your caring, understanding, and help is very much appreciated. Something I don’t see much of in today’s world (without a profit motive).

Looking forward to the new guides and tutorials.

1 Like

Getting the Arduino error message “Error compiling for board Ringo by CircuitMess” I have the Ringo by CircuitMess board installed as well as the Ringo library. Just trying to play with the fifth LCD example provided by robbie8-bit a couple of weeks ago.

Hey Kent,

Can you please copy the whole error? Also, is your phone plugged in, turned on and selected in the ‘Port’ section?

Robert

Robert, that is the whole error message. I am just trying to verify (compile) the example sketch, not upload it.

I can compile my Arduino sketches without having the board connected. It should be the same with the Ringo - right?

I have tried to verify the example sketch with the phone turned on. The IDE will burn the Ringo bootloader, so the phone is correctly connected to the computer, and the Arduino IDE recognizes the phone.

There should be error message below that, in the console.

For example, when I try to upload that same file to some other board, I get this.
Arduino: 1.8.10 (Windows 10), Board: “NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), 4MB (FS:1MB OTA:~1019KB), 2, v2 Lower Memory, Disabled, None, Only Sketch, 256000”

Multiple libraries were found for "SPI.h"
In file included from D:\Docs\MAKERphone Projects\Circuitmess-Ringo-Arduino-packages\Examples\LCDScreen\Fifth\Fifth.ino:5:0:

 Used: D:\Users\medve\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.3\libraries\SPI
C:\Users\medve\OneDrive\Documents\Arduino\libraries\MAKERphone\src/MAKERphone.h:25:26: fatal error: esp32-hal-bt.h: No such file or directory

Multiple libraries were found for "SdFat.h"
 #include <esp32-hal-bt.h>

 Used: D:\Users\medve\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.3\libraries\ESP8266SdFat
                          ^

Multiple libraries were found for "WiFi.h"
compilation terminated.

 Used: C:\Program
Multiple libraries were found for "MAKERphone.h"
 Used: C:\Users\medve\OneDrive\Documents\Arduino\libraries\MAKERphone
 Not used: C:\Users\medve\OneDrive\Documents\Arduino\libraries\Ringo
 Not used: C:\Users\medve\OneDrive\Documents\Arduino\libraries\Ringo_by_CircuitMess_Library
Multiple libraries were found for "SD.h"
 Used: D:\Users\medve\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.3\libraries\SD
 Not used: C:\Program
Multiple libraries were found for "SDFS.h"
 Used: D:\Users\medve\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.3\libraries\SDFS
exit status 1
Error compiling for board NodeMCU 1.0 (ESP-12E Module).

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Uploading it on ESP32 (Ringo) works fine here.
You even have “Copy error messages” button which then copies everything to your clipboard.

Also, what could resolve the problem is updating Ringo files. Ringo library should be version 1.0.2 and Ringo board file should be 1.0.5. Try doing that and then contact me back.

Robert

The Library and board files are up to date. I get the same message on other examples that I have tried. ESP32 is grayed out on my board selection panel.

Here is the complete error message. (sorry I didn’t get it before).

Arduino: 1.8.10 (Windows 10), Board: “Ringo by CircuitMess, Minimal SPIFFS (Large APPS with OTA), 80MHz, 921600, None”

panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x0 pc=0x7855fb]

goroutine 1 [running]:
github.com/arduino/arduino-cli/legacy/builder.ResolveLibrary(0x11ce45a0, 0x11e5c068, 0xc, 0x11e5c068)
/home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/resolve_library.go:64 +0x14b
github.com/arduino/arduino-cli/legacy/builder.findIncludesUntilDone(0x11ce45a0, 0x1203c4a0, 0x88ed00, 0x120440c0, 0x1203e738, 0x1204a300, 0x0)
/home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/container_find_includes.go:358 +0x3b6
github.com/arduino/arduino-cli/legacy/builder.(*ContainerFindIncludes).Run(0xdebc68, 0x11ce45a0, 0xdebc68, 0x0)
/home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/container_find_includes.go:152 +0x3e5
github.com/arduino/arduino-cli/legacy/builder.runCommands(0x11ce45a0, 0x11c65e1c, 0x20, 0x20, 0x409a01, 0x7ff, 0x0)
/home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/builder.go:210 +0xbd
github.com/arduino/arduino-cli/legacy/builder.(*Builder).Run(0x11c71f40, 0x11ce45a0, 0xdebbb4, 0x11c42c90)
/home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/builder.go:117 +0xb9c
github.com/arduino/arduino-cli/legacy/builder.RunBuilder(...)
/home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-cli/legacy/builder/builder.go:226
main.main()
/home/jenkins/workspace/arduino-builder-all-cross-cli-inception/src/github.com/arduino/arduino-builder/main.go:398 +0x6d2
C:\Program Files (x86)\Arduino\arduino-builder returned 2
Error compiling for board Ringo by CircuitMess.

This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.

Good News. I was running version 1.8.10 of the Arduino IDE. I installed the latest version 1.8.12, and all is good. The example sketch compiled and I am good to go. :smiley: :smiley: :smiley:

Great then!

Anytime you’re working on something in Arduino IDE, make sure to update everything since there are a lot of different dependencies and little things that can be changed in just a simple update.

Sometimes there is a problem because some things only work on older versions (which is completely contradictory to what I just said, but hey, it’s computer science!).

Work on that now and contact me if there are any issues! :slight_smile:

Robert

My programming education is moving along slowly, but I am enjoying it. I am working my way through a couple of ‘Programming Arduino’ books by Simon Monk that are well written, and good for beginners. I use the Arduino UNO board.

What have I learned? I really, really hate curly braces.

Along with the studies, I am working with the Ringo. I made an icon.bmp file showing my initial. I converted the fifth LCD screen example by robbie8-bit to a .bin file, and put them in a folder on the SD card.

I changed the CircuitMess initials and name on the example to my initials and name (please forgive me) so now I have a neat app on my phone with robbie’s cool graphics and my initials and name. Impressed the wife anyway.

After executing my initials app, I push the home button, and the phone re-loads the Ringo firmware.

Hopefully, someday I will be able to write an original program. Stay tuned.

Glad to hear that Kent!

Just keep learning and I’m sure you’ll be making all sorts of apps soon. :smiley:

You know what they say - happy wife, happy life! Do whatever you want with the phone as long as it helps with that! :stuck_out_tongue:

Robert