Commit Graph

206 Commits

Author SHA1 Message Date
Scott Allen 449532f1e9 Add alternative boot logo functions
New functions bootLogoCompressed(), bootLogoSpritesSelfMasked() and
bootLogoSpritesOverwrite() can be used in place of bootLogo() to
reduce code size in cases where their drawing functions are shared
with the same functions used by the sketch.

New function bootLogoShell() added to provide common code for the
above functions.

Also, the Sprites class functions, and functions used for drawing the
logos, were made static.
2017-04-25 15:36:42 -04:00
Scott Allen 79f24c47cc Adjust location of some braces for consistency
This is just a source formatting change.
2017-04-25 15:36:42 -04:00
Scott Allen cfb5e89d5c Simplify initRandomSeed() to reduce code size
Use only an ADC reading from an unconnected pin shifted left 16 bits
then added to micros().
2017-04-25 15:36:42 -04:00
Scott Allen 3572a013e1 Make showing the unit name with the logo optional
- Added a flag in system EEPROM to indicate if the unit name
  should be displayed at the end of the boot logo sequence.
  Function bootLogoExtra() displays the unit name only if the
  flag is set.

- Added functions writeShowUnitNameFlag() and readShowUnitNameFlag()
  to write and read the "Show Unit Name" flag in EEPROM.

- Enhanced the SetNameAndID example sketch to allow setting the
  "Show Unit Name" flag in EEPROM.
2017-04-25 15:36:42 -04:00
Scott Allen 14d5877dae Add bootLogoText() function
Displays the boot logo using text instead of a bitmap,
as an option to reduce code size.
2017-04-25 15:36:42 -04:00
Scott Allen f294a045e0 Fix flashlight() and safeMode() for boot problem
- Timer 0 is disabled in flashlight() and safeMode() in case its
  variables overlap the bootloader "magic key" location.
- Flashlight mode never exits if invoked.
- Made safeMode() public for use as a smaller code size alternative
  to flashlight().
2017-04-25 15:36:42 -04:00
Scott Allen 1e7f251ce0 Direct control of ports and pins
This eliminates calls to pinMode(), digitalWrite(), functions to
initialize hardware, etc.

New 2 parameter version of digitalWriteRGB() added, which sets an
individual RGB LED on or off digitally.

New function SPItransfer() added to replace Arduino SPI.transfer().
2017-04-25 15:36:42 -04:00
Scott Allen 4ff6973a4b Change version to 3.1.1 2017-03-22 18:16:10 -04:00
Scott Allen cf648850c4 Merge branch 'master' of https://github.com/MLXXXp/Arduboy2 2017-03-22 18:04:31 -04:00
Scott Allen db50dfce87 Merge pull request #1 from yyyc514/master
Fix internal drawBitmap call use correct type for height and width
2017-03-22 17:48:24 -04:00
Josh Goebel b560ff9f60 fix internal drawBitmap call to use correct types 2017-03-22 17:43:56 -04:00
Scott Allen 2851dcf4cc Fix Sprites class data array documentation
A separate mask array does not include width and height values at
the beginning.
2017-03-13 18:00:40 -04:00
Scott Allen f07f2267b2 Add a link to the repository in README.md 2017-03-13 17:22:12 -04:00
Scott Allen 2760d87194 Change version to 3.1.0 2017-02-07 10:03:48 -05:00
Scott Allen b4707dc546 Fix comment in PlayTune sketch: Devkit -> DevKit 2017-02-07 09:57:32 -05:00
Scott Allen 2cbe4afa08 Rearrange and update README.md 2017-02-06 18:09:50 -05:00
Scott Allen 6c297fab1e Add nextFrameDEV() function for checking CPU load 2017-02-06 18:09:50 -05:00
Scott Allen de17257029 Add boot logo bypass feature
Pressing the RIGHT button while the boot logo is scrolling down will
abort the sequence, to start running the actual sketch faster.
2017-02-06 18:09:50 -05:00
Scott Allen 2fede9cb86 Add read/write EEPROM unit name and ID functions
Also:
- Changes to show the unit name on the boot logo screen
- Added new example sketch SetNameAndID to allow setting the name and ID
- Updated the LICENSE.txt file and made changes to include it in the
  Doxygen generated documentation
2017-02-06 18:09:50 -05:00
Scott Allen 8125862bfe Make frameCount public and document it 2017-02-06 18:09:50 -05:00
Scott Allen 3e82f484a2 Add missing "details" keyword to Doxygen comments
Also add missing angle brackets around email address in library.properties
2017-02-06 18:09:50 -05:00
Scott Allen 4607f087a2 Make display buffer array public 2017-02-06 18:09:13 -05:00
Scott Allen 388f8abb9f Add drawCompressed to keywords.txt 2016-12-13 11:54:25 -05:00
Scott Allen 7dfb4f14f7 Add sound on/off toggle function 2016-12-13 11:49:29 -05:00
Scott Allen a9271a335d Minor changes to LICENCE.txt 2016-12-13 10:01:32 -05:00
Scott Allen e00acd4d06 Add Library documentation section to README.md 2016-11-24 14:51:45 -05:00
Scott Allen e5a7dc5982 Declare friend class Arduboy2Ex
A friend class named Arduboy2Ex is declared by the Arduboy2 classes.
The intention is to allow a sketch to create an Arduboy2Ex class which would
have access to the private and protected members of the Arduboy2 classes.
It is hoped that this may eliminate the need to create an entire local copy
of the library, in order to extend the functionality, in most circumstances.
2016-11-24 14:51:45 -05:00
Scott Allen 0b0c111757 Add clear option to display() and paintScreen()
Also remove some trailing whitespace
2016-11-24 14:51:45 -05:00
Scott Allen d89a2bd590 Improve embedded Doxygen documentation 2016-11-24 14:51:22 -05:00
Scott Allen 867f2d000c Rename Arduboy... classes to Arduboy2...
Change ArduboyCore to Arduboy2Core and ArduboyAudio to Arduboy2Audio
Rename files accordingly
Change version to 3.0.0
2016-11-21 16:29:46 -05:00
Scott Allen 0cb37455c6 Add info to README.md on replacing bootNoLogo()
Also fixed some spelling errors
2016-10-20 14:43:48 -04:00
Scott Allen 40a028e5a1 Remove Sprites class constructor parameter
The Sprites class has been given direct access to the screen buffer so it
doesn't need a pointer to been given to it.

Also updated README.md and keywords.txt, and made minor indent changes in
the .h files.
2016-10-20 13:28:29 -04:00
Scott Allen 9d2559c248 Change PlayTune example score and frame rate 2016-10-19 21:23:18 -04:00
Scott Allen f763263d2b Add Team A.R.G. Arglib functionality
- Version changed to 2.1.0
- Added sprite, button and collision functions from ArduboyExtra
- Added drawCompressed() function from Arglib
- Updated LICENSE.txt
- Removed CONTRIBUTORS.md (now covered by LICENSE.txt)
2016-10-19 20:23:34 -04:00
Scott Allen f9dc4cb0e5 Fixes and cleanups of ArduBreakout example sketch
- Changed banner name from ARAKNOID to BREAKOUT.
- Set frame rate appropriately for the corrected nextFrame() function.
- Removed dead and non-functioning code.
- Cleaned up save, load and display of high scores.
- Made pausing the game work.
- Display the achieved score on the "game over" screen.

Also: Minor refactor of function nextFrame()
2016-09-17 18:54:55 -04:00
Scott Allen 88d5226042 Remove more nextFrame() info from README.md 2016-09-15 19:22:40 -04:00
Scott Allen 72ae94aca1 Update version numbers to 2.0.4 2016-09-15 19:05:51 -04:00
Scott Allen 7a1a295010 Remove nextFrame() difference from README.md 2016-09-15 18:59:13 -04:00
Scott Allen 15d1b0dab4 Revert nextFrame() back to the original version
A change made to nextFrame(), from the Arduboy library, caused it to not work
correctly. The original version works as designed.

Also:
- Changed longs to unsigned longs for better type matching.
- Removed the frameRate variable. It was being set but never used.
- Added a missing return value to the write() function.
- Changed a int8_t to uint8_t in function lcdCommandMode() to address a
  compiler warning.
- Rearranged the specification of the font[] array to address a compiler
  warning.
2016-09-15 18:12:27 -04:00
Scott Allen fd4cef7025 Fix unsigned/signed compare bug in drawFastHLine
Also change int arguments to int16_t in drawPixel for consistency
2016-09-14 17:50:05 -04:00
Scott Allen 9f9691d546 Update version to 2.0.1 2016-08-03 20:55:45 -04:00
Scott Allen ecedeac7af Fix paintScreen() for IDE 1.6.10
paintScreen() used instruction padding for a delay to allow a byte to be sent
to the display using SPI. This delay became to short with the new gcc version
in Arduino IDE 1.6.10

The function has been changed to test for the serial transfer to complete
before sending the next byte.
2016-08-03 20:49:16 -04:00
Scott Allen 2e2f43b425 Add new "includes" property to library.properties 2016-08-03 20:40:05 -04:00
Scott Allen d0c0a940f2 No need for size of sBuffer[] array in definition
The number of elements in the sBuffer[] array is already specified
in the declaration.
2016-08-03 20:16:54 -04:00
Scott Allen d91314cdaf Add files library.json and FILE_DESCRIPTIONS.md 2016-06-30 21:32:20 -04:00
Scott Allen d17075f7be Make screen buffer static & frame vars protected 2016-06-30 19:59:56 -04:00
Scott Allen 3b96b7ba24 Migrate example sketches
Renamed Tunes to PlayTune and enhanced it to better demonstrate the
ArduboyPlaytune library's capabilities.
2016-06-30 19:40:17 -04:00
Scott Allen 6c5b2cd783 Update README.md and library.properties
Also deleted file UPGRADING_12.md
2016-06-30 19:39:37 -04:00
Scott Allen 5285c9d2af Move core and audio files to the src directory
To allow ArduboyCore and ArduboyAudio to be used as public base classes.
Changed the file names to match the names of the classes they contain.
2016-06-27 18:52:10 -04:00
Scott Allen ad5da39fdc Make color parameter in draw functions optional
Color defaults to WHITE.

Also:
- Document frame functions and getPixel().
- Change screen buffer from unsigned char to uint8_t
2016-06-27 17:04:01 -04:00