Library for MAX14871 Shield, MAXREFDES89#

Dependencies:   MAX5387 MAX7300

Dependents:   MAXREFDES89_MAX14871_Shield_Demo MAXREFDES89_Test_Program Line_Following_Bot Line_Following_Bot_Pololu

MAXREFDES89# Component Page

Revision:
6:dc06cc75c1c8
Parent:
5:a206f6505109
Child:
7:c0bee1397f3e
--- a/max14871_shield.h	Tue Dec 22 04:24:07 2015 +0000
+++ b/max14871_shield.h	Fri May 13 00:03:32 2016 +0000
@@ -1,16 +1,5 @@
 /******************************************************************//**
 * @file max14871_shield.h
-*
-* @author Justin Jordan
-*
-* @version 0.0
-*
-* Started: 18JUL15
-*
-* Updated: 
-*
-* @brief Header file for Max14871_Shield class
-***********************************************************************
 * Copyright (C) 2015 Maxim Integrated Products, Inc., All Rights Reserved.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
@@ -51,10 +40,33 @@
 #include "max5387.h"
 
 
+/**
+* @brief MAX14871 Full-Bridge DC Motor Driver MBED Shield Library
+*
+* @details The MAXREFDES89# provides an ideal interface for anyone
+* developing with brushed DC motors. The design is an 
+* mbed®-compatible, Arduino® form factor shield for the rapid 
+* development of brushed DC motor applications. The shield contains 
+* four MAX14871 full-bridge DC motor drivers for driving up to 4 
+* motors. A MAX17501 DC-DC converter allows the system to operate 
+* from a single 7 to 36VDC power supply. Four MAX4704 4:1 
+* multiplexers permit setting the current regulation mode of the 
+* MAX14871, while two MAX5387 digital potentiometers provide the 
+* ability to set the motor current limit. A MAX7300 GPIO expander 
+* supports interfacing each motor driver circuit to the 
+* mbed-enabled microcontroller platform.
+*
+* @code
+* @endcode
+*/
 class Max14871_Shield
 {
     public:
     
+    /**
+    * @brief Motor driver channels
+    * @details Simple enumeration of channels available on the shield
+    */
     typedef enum
     {
         MD1 = 1,
@@ -64,6 +76,10 @@
     }max14871_motor_driver_t;
     
     
+    /**
+    * @brief Operating modes
+    * @details Motor operating modes offered on each channel
+    */
     typedef enum
     {
         COAST = 1,
@@ -73,6 +89,12 @@
     }max14871_operating_mode_t;
     
     
+    /**
+    * @brief Current regulation modes
+    * @details Three different current regulation modes offered with
+    * either an internal or external reference for setting the regulation limit.
+    * This is not the fault current which is fixed, see datasheet.
+    */
     typedef enum
     {
         RIPPLE_25_INTERNAL_REF = 1,
@@ -95,7 +117,8 @@
     *                                 pwm channels and I2C addressing
     *
     * On Exit:
-    *    @return none
+    *
+    * @return None
     **************************************************************/
     Max14871_Shield(I2C *i2c_bus, bool default_config);
     
@@ -113,7 +136,8 @@
     *                                 pwm channels and I2C addressing
     *
     * On Exit:
-    *    @return none
+    *
+    * @return None
     **************************************************************/
     Max14871_Shield(PinName sda, PinName scl, bool default_config);
     
@@ -126,7 +150,8 @@
     * On Entry:
     *
     * On Exit:
-    *    @return none
+    *
+    * @return None
     **************************************************************/
     ~Max14871_Shield();
     
@@ -142,7 +167,8 @@
     *    @param[in] mode - 1 of 4 operating modes of the motor driver 
     *
     * On Exit:
-    *    @return 0 on success, non-0 on failure
+    *
+    * @return 0 on success, non-0 on failure
     **************************************************************/
     int16_t set_operating_mode(max14871_motor_driver_t md, 
                                max14871_operating_mode_t mode);
@@ -160,7 +186,8 @@
     *    @param[in] vref - sets maximum motor current, Max of 2.0V
     *
     * On Exit:
-    *    @return 0 on success, non-0 on failure
+    *
+    * @return 0 on success, non-0 on failure
     **************************************************************/
     int16_t set_current_regulation_mode(max14871_motor_driver_t md, 
                                         max14871_current_regulation_mode_t mode,
@@ -180,7 +207,8 @@
     *    @param[in] ch - PWM channel using Arduino naming convention
     *
     * On Exit:
-    *    @return 0 on success, non-0 on failure
+    *
+    * @return 0 on success, non-0 on failure
     **************************************************************/
     int16_t set_pwm_channel(max14871_motor_driver_t md, PinName ch);
     
@@ -195,7 +223,8 @@
     *    @param[in] period - PWM period specified in seconds
     *
     * On Exit:
-    *    @return 0 on success, non-0 on failure
+    *
+    * @return 0 on success, non-0 on failure
     **************************************************************/
     int16_t set_pwm_period(max14871_motor_driver_t md, float period);
     
@@ -211,7 +240,8 @@
     *                            as a percentage
     *
     * On Exit:
-    *    @return 0 on success, non-0 on failure
+    *
+    * @return 0 on success, non-0 on failure
     **************************************************************/
     int16_t set_pwm_duty_cycle(max14871_motor_driver_t md, float duty_cycle);
     
@@ -225,7 +255,8 @@
     *    @param[in] md - 1 of 4 motor drivers on the shield
     *    
     * On Exit:
-    *    @return operating mode of selected motor driver
+    *
+    * @return Operating mode of selected motor driver
     **************************************************************/
     max14871_operating_mode_t get_operating_mode(max14871_motor_driver_t md);
     
@@ -239,7 +270,8 @@
     *    @param[in] md - 1 of 4 motor drivers on the shield
     *    
     * On Exit:
-    *    @return current regulation mode of selected motor driver
+    *
+    * @return Current regulation mode of selected motor driver
     **************************************************************/
     max14871_current_regulation_mode_t get_current_regulation_mode(max14871_motor_driver_t md);
     
@@ -253,7 +285,8 @@
     *    @param[in] md - 1 of 4 motor drivers on the shield
     *    
     * On Exit:
-    *    @return duty cycle of selected motor driver
+    *
+    * @return Duty cycle of selected motor driver
     **************************************************************/
     float get_pwm_duty_cycle(max14871_motor_driver_t md);
     
@@ -267,7 +300,8 @@
     *    @param[in] md - 1 of 4 motor drivers on the shield
     *    
     * On Exit:
-    *    @return pwm period of selected motor driver
+    *
+    * @return pwm period of selected motor driver
     **************************************************************/
     float get_pwm_period(max14871_motor_driver_t md);
     
@@ -281,7 +315,8 @@
     *    @param[in] md - 1 of 4 motor drivers on the shield
     *    
     * On Exit:
-    *    @return external voltage reference of selected motor driver
+    *
+    * @return External voltage reference of selected motor driver
     **************************************************************/
     float get_external_voltage_ref(max14871_motor_driver_t md);