James Cummins / Mbed 2 deprecated el17jnc

Dependencies:   mbed

Revision:
38:a85bc227b907
Parent:
37:de1f584bce71
--- a/Options_Engine/OptionsEngine.h	Mon May 06 21:44:49 2019 +0000
+++ b/Options_Engine/OptionsEngine.h	Thu May 09 01:09:18 2019 +0000
@@ -21,6 +21,46 @@
     Option next_state[3];   /**< Array of enums for possible next option */
     };
 
+/** Options Engine Class
+@brief Library to power the options menu
+@brief Features methods 
+
+@author James Cummins
+
+@code
+
+#include "mbed.h"
+#include "OptionsEngine.h"
+
+//Create an engine object for the Options Menu
+OptionsEngine opt;
+Gamepad gamepad;
+N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
+Ball ball;
+
+int main(){
+    //Enum for the user's option choice initialised to first menu item (brightness)
+    Option choice = BRIGHTNESS;
+    while(!(gamepad.check_event(gamepad.A_PRESSED))){
+    //display options renders the options menu
+    //option selection renders the arrows which point to the current selection
+        lcd.clear();
+        opt.display_options(lcd);
+        choice = opt.option_selection(gamepad, lcd);
+        lcd.refresh();
+    //longer wait time than normal game fps to compensate for button bounce
+        wait(0.2);
+    }
+    //each menu option called by its respective enum
+    if(choice == BRIGHTNESS){ opt.change_brightness(gamepad, lcd); }
+    if(choice == BALL_SPEED){ opt.change_ball_speed(gamepad, lcd, ball); }
+    if(choice == HIGH_SCORES){ opt.view_high_scores(gamepad, lcd); }
+}
+
+@endcode
+
+*/
+
 class OptionsEngine {
 
 public: