Joe Shotton / ll16j23s_test_docs

Files at this revision

API Documentation at this revision

Comitter:
eencae
Date:
Tue Feb 07 10:53:46 2017 +0000
Parent:
7:019671f7bd83
Child:
9:893189072e89
Commit message:
Added documentation.

Changed in this revision

Gamepad.cpp Show annotated file Show diff for this revision Revisions of this file
Gamepad.h Show annotated file Show diff for this revision Revisions of this file
--- a/Gamepad.cpp	Mon Feb 06 20:31:45 2017 +0000
+++ b/Gamepad.cpp	Tue Feb 07 10:53:46 2017 +0000
@@ -1,3 +1,12 @@
+/**
+@file Gamepad.cpp
+
+@brief member function implementations
+
+@author Dr Craig A. Evans
+
+*/
+
 #include "Gamepad.h"
 
 //////////// constructor/destructor ////////////
--- a/Gamepad.h	Mon Feb 06 20:31:45 2017 +0000
+++ b/Gamepad.h	Tue Feb 07 10:53:46 2017 +0000
@@ -1,3 +1,14 @@
+/**
+@file Gamepad.h
+
+@brief Library for interfacing with ELEC2645 Gamepad PCB
+@brief University of Leeds
+
+@author Dr Craig A. Evans
+@date Febraury 2017
+
+*/
+
 #ifndef GAMEPAD_H
 #define GAMEPAD_H
 
@@ -33,32 +44,116 @@
 
 public:
 
+    /** Constructor
+    */
     Gamepad();
+
+    /** Destructor
+    */
     ~Gamepad();
 
+    /** Initialise all peripherals and configure interrupts
+    */
     void init();
+
+    /** Turn all LEDs on
+    */
     void leds_on();
+
+    /** Turn all LEDs off
+    */
     void leds_off();
+
+    /** Fade all to set duty-cycle
+    @param value in range 0.0 to 1.0
+    */
     void fade_leds(float val);
 
+    /** Read potentiometer
+    @returns potentiometer value in range 0.0 to 1.0
+    */
     float read_pot();
+
+    /** Play tone on piezo
+    @param frequency in Hz
+    @param duration of tone in seconds
+    */
     void tone(float frequency, float duration);
 
+    /** Check if A button pressed
+    @returns true if yes, false if no
+    */
     bool a_pressed();
+
+    /** Check if B button pressed
+    @returns true if yes, false if no
+    */
     bool b_pressed();
+
+    /** Check if X button pressed
+    @returns true if yes, false if no
+    */
     bool x_pressed();
+
+    /** Check if Y button pressed
+    @returns true if yes, false if no
+    */
     bool y_pressed();
+
+    /** Check if L button pressed
+    @returns true if yes, false if no
+    */
     bool l_pressed();
+
+    /** Check if R button pressed
+    @returns true if yes, false if no
+    */
     bool r_pressed();
+
+    /** Check if Back button pressed
+    @returns true if yes, false if no
+    */
     bool back_pressed();
+
+    /** Check if Start button pressed
+    @returns true if yes, false if no
+    */
     bool start_pressed();
+
+    /** Check if Joystick button pressed
+    @returns true if yes, false if no
+    */
     bool joystick_pressed();
+
+    /** Get magnitude of joystick movement
+    @returns value in range 0.0 to 1.0
+    */
+
+    float get_mag();
     
-    float get_mag();
+    /** Get angle of joystick movement
+    @returns value in range 0.0 to 359.9. 0.0 corresponds to N, 180.0 to S. -1.0 is central
+    */
     float get_angle();
+    
+    /** Gets joystick direction
+    @returns an enum: CENTRE, N, NE, E, SE, S, SW, W, NW,
+    */
     Direction get_direction();    // N,NE,E,SE etc.
+    
+    /** Gets raw cartesian co-ordinates of joystick
+    @returns a struct with x,y members, each in the range 0.0 to 1.0
+    */
     Vector2D get_coord();         // cartesian co-ordinates x,y
+    
+    /** Gets cartesian coordinates mapped to circular grid
+     @returns a struct with x,y members, each in the range 0.0 to 1.0
+    */
     Vector2D get_mapped_coord();  // x,y mapped to circle
+    
+    /** Gets polar coordinates of the joystick
+    @returns a struct contains mag and angle
+    */
     Polar get_polar();            // mag and angle in struct form
 
 private:
@@ -100,10 +195,10 @@
     void back_isr();
     void start_isr();
     void joy_isr();
-    
+
     bool a_flag,b_flag,x_flag,y_flag,l_flag,r_flag,back_flag,start_flag,joy_flag;
-    
-      // centred x,y values    
+
+    // centred x,y values
     float _x0;
     float _y0;
 };