Commit Graph

247 Commits

Author SHA1 Message Date
Scott Allen 107cb2befd Remove arduino-playtune lib from CONTRIBUTERS.md 2016-06-10 20:00:40 -04:00
Scott Allen 84b9fe1708 Rename file LICENSE to LICENSE.txt 2016-06-10 20:00:39 -04:00
Scott Allen 54c1fb79ba Changes to create Arduboy2 library from Arduboy
Based on Arduboy library V1.2 development as of April 2, 2016

- Class Arduboy2 replaces class Arduboy.
- Removed files ab_printer.h and ab_printer.cpp. Integrated their
  functionality into class Arduboy2 (as with Arduboy V1.1).
- Added new text functions:
  - getCursorX(), getCursorY() to get the current cursor position.
  - setTextColor(), setTextBackground() to allow inverted text
    (black on white).
  - clear() is overridden to set the cursor to 0, 0 in addition to clearing
    the screen buffer.
- New Class: Arduboy2Base which contains most of the Arduboy functions and
  is inherited by Arduboy2. It doesn't inherit Print, and doesn't include
  text display and cursor control functions. Using it instead of Arduboy2,
  in sketches that don't use text functions, frees up some code space.
- Function drawChar() is in Arduboy2 instead of Arduboy2Base.
- Made setRGBled() static. Not making it static was an oversight.

("Tunes" functions are still moved to the separate ArduboyPlaytune library,
as they were in Arduboy V1.2)
2016-06-10 20:00:39 -04:00
Scott Allen b71b2815b2 Indent some lines for consistency 2016-05-26 18:30:27 -04:00
Scott Allen ded48cef81 Fix setting CPU clock to 8MHz
A dedicated #define is used.
The PLL prescaler for USB is readjusted.
2016-05-26 18:30:27 -04:00
rogosher f6e7ee40e7 using bool type 2016-05-26 18:30:27 -04:00
rogosher ca2aeb19ec adding bool type 2016-05-26 18:30:27 -04:00
Scott Allen dd6a337242 Fix bug created when AbPrinter class was added 2016-05-26 18:30:27 -04:00
Josh Goebel 2361d0d20f audio on/off sets up pins appropriately for each mode 2016-05-26 18:30:27 -04:00
Scott Allen 305423f600 Use angle brackets for including Arduboy.h 2016-05-26 18:30:27 -04:00
Scott Allen ba367bc2c6 Remove duplicate Arduboy.h include 2016-05-26 18:30:27 -04:00
Scott Allen 44a175eae0 Change EEPROM write() to update() 2016-05-26 18:30:26 -04:00
Scott Allen 2d0a6317a3 Combine function __attribute__ statments
Also delete getInput keyword and add buttonsState keyword
2016-05-26 18:30:26 -04:00
Scott Allen 7f8897cd20 Add keywords for audio functions 2016-05-26 18:30:26 -04:00
Scott Allen daa2128252 Add a #define for the library version 2016-05-26 18:30:26 -04:00
rogosher c11a359269 Update library.properties 2016-05-26 17:19:18 -04:00
Josh Goebel 6911461635 upgrading to 1.2 doc 2016-05-26 17:19:18 -04:00
Josh Goebel 993877b641 fix frame timing
previosly timing was calculating the next frame based on now + duration
when the correct timing should have been last_frame + duration.

This would have the effect of slowing the game down the higher your CPU
usage.  A 0% CPU usage game would  play at the request frame rate,
but a 100% CPU usage game would play at only half the requested frame rate.

(RR is render time below)

Timing with the bug:
60FPs requested, 35FPs actual, 3 frames, 87ms.
|         29ms         |         29ms         |         29ms         |
| RR 12ms + 17ms sleep | RR 12ms + 17ms sleep | RR 12ms + 17ms sleep |

Timing after the fix:
60FPs, 60FPs actual, 3 frames, 51ms.
|       17ms      |       17ms      |       17ms      |
| RR 12ms + sleep | RR 12ms + sleep | RR 12ms + sleep |

After this fix you may need to change your games timing mechanics or
adjust your frame rate (to slow things back down). Your game will run
faster after this fix, even if you were using "100% CPU" before.
2016-05-26 17:19:18 -04:00
Josh Goebel c5445c7b9c fix examples with now breaking API changes 2016-05-26 17:19:18 -04:00
Josh Goebel 8eb4deed69 ardubreakout should use new separate print class 2016-05-26 17:19:18 -04:00
Josh Goebel 2223f5e835 ArduBreakout should use shared libraries for music 2016-05-26 17:19:18 -04:00
Josh Goebel c22e156f60 make sure audio is on 2016-05-26 17:19:18 -04:00
Josh Goebel 81c534ee3d rip out tunes 2016-05-26 17:19:18 -04:00
Josh Goebel 390e5919dc break out printing into separate class (-2,014 bytes)
- stated savings is for any graphics only programs
  not using the printing code at all
2016-05-26 17:19:18 -04:00
Scott Allen 5042811cec Remove logo and clean up ArduBreakout
Scroll down "Arduboy" logo was removed because the library now
provides a similar logo.

setup() and loop() moved to the beginning of the code.

Minor changes and cleanup.
2016-05-26 17:19:18 -04:00
Josh Goebel 6d13d7cb43 faster drawFastHLine from Adafruit SSD1306 lib
- +32 bytes for faster line rendering
2016-05-26 17:19:18 -04:00
Josh Goebel fe1ccc65ac explain why audio pins are not in bootPins 2016-05-26 17:19:18 -04:00
Josh Goebel f41441fe68 rename internal core boot utils for consistency 2016-05-26 17:19:18 -04:00
Josh Goebel c081d281fe reorder defines and use base 10 for clarity 2016-05-26 17:19:18 -04:00
Josh Goebel e346d587ca core.h already includes SPI 2016-05-26 17:19:18 -04:00
Josh Goebel 592d13bd93 individual pixel color is not a Core concept
- core only deals with pixel data in bytes (groups of 8 pixels)
- invert has no meaning at all to Core
2016-05-26 17:19:18 -04:00
Josh Goebel 47114cf366 remove extra ; 2016-05-26 17:19:18 -04:00
Josh Goebel a92747f38d rename bootLCD to bootOLED 2016-05-26 17:19:18 -04:00
Josh Goebel fa9d47310b move additional OLED command defines to .h 2016-05-26 17:19:18 -04:00
Josh Goebel a591ce7705 remove another unused variable 2016-05-26 17:19:18 -04:00
Josh Goebel 59c143af2f boot() should be public now 2016-05-26 17:19:17 -04:00
Josh Goebel 37cae4704b remove beginNoLogo, do not deprecate 2016-05-26 17:19:17 -04:00
Josh Goebel 3a1625a1db move tune_played default (false) to var declaration
- this way it's set even if begin() is not properly called
2016-05-26 17:19:17 -04:00
Josh Goebel 6ff1c13b22 we already have a minimal begin, it's boot() 2016-05-26 17:19:17 -04:00
Josh Goebel c25668de0e move utils back into begin() until we have more 2016-05-26 17:19:17 -04:00
Josh Goebel eb5fb39e28 minimal boot mode to save flash space 2016-05-26 17:19:17 -04:00
Josh Goebel 1e95b4edfe [spacing] remove extra spaces 2016-05-26 17:19:17 -04:00
rogosher 3ef49d186f Create README.md 2016-05-26 17:19:17 -04:00
rogosher 29221099ce Delete README.md 2016-05-26 17:19:17 -04:00
rogosher 25cafd5435 Update library.properties 2016-05-26 17:19:17 -04:00
Arduboy 982175ecac Squash commits up to Arduboy V1.1 release 2016-05-26 17:18:33 -04:00
ekem 7c4b38cb7d example game 2015-04-30 22:17:25 -07:00