Arduboy2 - The now recommended alternative to the Arduboy Library

(Scott) #113

I’ve added @Mr.Blinky to the release notes on GitHub and in the post above. I’m sorry I can’t add him to the commit log because I don’t like to “rewrite history” after publicly and officially releasing.

(Pharap) #114

The post above was all I was expecting.

(Alex) #115

Whoa! My game went from this 10489 to 10368 bytes from recompile! thanks!

(Josh Goebel) #116

Great and detailed release notes!


Awesome to see a major update on the the Arduboy2 library @MLXXXp and thanks for the credits. Pleased that I could contribute. Looks like I have some work to do for the homemade version now :slight_smile:

(Scott) #118

Another appology: I realised I forgot to credit @Dreamer3 for the concept of how to remove the USB code. This has been corrected in the release notes (but unfortunately, again, I can’t add it to the git logs).

(Thomas) #119

I recompiled RogueBoy and gained over 1k bytes, Great work!

(Simon) #120

Yes great work @MLXXXp - now I can remove the setRGBled() code that you lent me with the real version!

(Michael Gollnick) #121

Super! Great work! I regained 106bytes in my project. :star_struck:

(Scott) #122

7 posts were split to a new topic: Sim-AVR problems with the new Arduboy2 V5

(Nicole Birgel) #123

Does this have any impact on existing software titles?

(Simon) #124

I don’t think so … the changes to existing functionality is just performance enhancements / code size reductions.

(Pharap) #126

The major version was increased so there should be at least one thing that breaks backwards compatibility.

That said, I can’t find it.
As far as I can tell all the changes are either bugfixes, new features or optimisations

The impact will be smaller/faster code.
(Assuming the games are recompiled with the new library.)

(Scott) #127

There isn’t really. However, the boot logo has been sped up, so sketches won’t behave exactly as before :slight_smile:

Also, the refactoring of setRGBled() broke Circuit Dude by @crait, although this actually just caused an already exiting problem in the sketch to manifest itself in a different, more severe, way.

The main reason I bumped the major version number, though not strictly adhering to guidelines, is due the the large number of changes. Plus, it’s easier to remember and state things like:
If you want users to be able to use the system EEPROM flag to suppress the boot logo, you must compile with version 5 or higher.
Rather than remembering and stating: between 4.1.0 and 4.2.0

Circuit Dude [2.1] - Awesome Puzzle Game With 50 Levels!
(Pharap) #128

You could argue that’s a bugfix. :P

For people used to using semver it’s not that hard,
but I guess since we get a lot of beginners here that makes sense.

(Scott) #129

A post was merged into an existing topic: Circuit Dude [2.1] - Awesome Puzzle Game With 50 Levels!

(Holmes) #133

Is this still an issue? Part of not going back to fix up Circuit Dude was the sound/LED conflict. Is there a suggested way to fix this on my end? I wouldn’t mind updating Circuit Dude to fix it and also touch up the graphics to include his new look.

(Scott) #134

(Scott) #136

Arduboy2 library version 5.1.0 has been released and is available through the Arduino Library Manager.

There is only one significant change for this release:
A flag has been added to system EEPROM that will allow the RGB LED to remain off while the boot logo is being displayed. This flag can be set by uploading the SetSystemEEPROM example sketch.
File > Examples > Arduboy2 > SetSystemEEPROM

Functions writeShowBootLogoLEDsFlag() and readShowBootLogoLEDsFlag() have been added to the library, to allow manipulating the new flag.

For all sketches using the Arduboy2 library that include the boot logo, users can now customize each individual Arduboy so that it will do one of the following:

  • Perform all features of the boot logo sequence:

    • The logo scrolls down.
    • The RGB LED flashes red, green, blue.
    • If set, a custom Unit Name is displayed at the bottom of the screen after the logo stops scrolling.

    This is the default setting.

  • Display the logo and Unit Name but don’t flash the LEDs. The LEDs remain off.

  • Display the logo and LEDs but don’t show the Unit Name.

  • Display the logo only, not the Unit Name or LEDs.

  • Don’t display the boot logo sequence at all. Go straight to the sketch when the Arduboy is powered up or reset.

Note that for sketches that leave out the text functions of the library by using the Arduboy2Base class instead of the Arduboy2 class, the Unit Name won’t be displayed regardless of the “show Unit Name” EEPROM flag setting.

Note also that even if the logo is left enabled, it can be bypassed or aborted by pressing the RIGHT button when powering up or while the logo is scrolling down.

P.S. The Unit Name (up to 6 characters) can be set using the aforementioned SetSystemEEPROM example sketch.

Discussion And Survey - Boot Vs Begin
(Scott) #137

Arduboy2 library version 5.2.0 has been released and is available through the Arduino Library Manager.

Release change notes:

  • Added function generateRandomSeed(), which will return a random value suitable for seeding random number generators. (This new function is now used by the initRandomSeed() function.) Thanks @Pharap

  • Function drawPixel() has been rewritten to address an issue with the compiler introduced in Arduino V1.8.6. It has also been made static. Plus, it saves a few bytes of program memory. Thanks @Mr.Blinky

  • Constructors were added to the Point and Rect objects used for collision detection features. The collide() functions were made static. Thanks @Pharap

  • Minor cleanup of #include statements. Thanks @Pharap