DRV8830/TI Motor Driver sample program.\\ This program can control two motors.

Dependencies:   DRV8830 mbed

Revision:
4:58734155cd29
Parent:
3:db817fb05ba7
--- a/mon.cpp	Sat Jul 12 11:55:37 2014 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,233 +0,0 @@
-/*
- * mbed Application program
- *
- *  Copyright (c) 2010-2014 Kenji Arai / JH1PJL
- *  http://www.page.sannet.ne.jp/kenjia/index.html
- *  http://mbed.org/users/kenjiArai/
- *      Created:  May  	    15th, 2010
- *		Spareted: June		25th, 2014		mon() & mon_hw()
- *		Ported:   July		12th, 2014		from L152RE
- *      Revised:  July      12th, 2014
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
- * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
- * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- * DAMAGES OR OTHER  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-//  Include ---------------------------------------------------------------------------------------
-#include "mbed.h"
-
-//  Object ----------------------------------------------------------------------------------------
-Serial pc(SERIAL_TX, SERIAL_RX);
-
-//  Definition ------------------------------------------------------------------------------------
-#define BAUD(x)         		pc.baud(x)
-#define GETC(x)         		pc.getc(x)
-#define PUTC(x)					pc.putc(x)
-#define PRINTF(...)     		pc.printf(__VA_ARGS__)
-#define READABLE(x)     		pc.readable(x)
-
-//  RAM -------------------------------------------------------------------------------------------
-char linebuf[64];
-int buf_size = sizeof(linebuf);
-
-//  ROM / Constant data ---------------------------------------------------------------------------
-static char *const mon_msg = "Monitor for mbed system, created on "__DATE__"";
-
-//  Function prototypes ---------------------------------------------------------------------------
-extern void mon_hw(void);
-extern int read_sw (void);
-extern void baro_read (void);
-
-//-------------------------------------------------------------------------------------------------
-//  Control Program
-//-------------------------------------------------------------------------------------------------
-//  Put \r\n
-void put_rn ( void ){	PUTC('\r');		PUTC('\n');}
-
-//  Put \r
-void put_r ( void ){	PUTC('\r');}
-
-// Put ", "
-void put_lin ( void ){	PRINTF(", ");}
-
-// Put space n
-void put_spc( uint8_t n){	for(;n > 0; n--){ PUTC(' '); }}
-
-//  Change string -> integer
-int xatoi (char **str, unsigned long *res){
-unsigned long val;
-unsigned char c, radix, s = 0;
-
-    while ((c = **str) == ' ') (*str)++;
-    if (c == '-') {
-        s = 1;
-        c = *(++(*str));
-    }
-    if (c == '0') {
-        c = *(++(*str));
-        if (c <= ' ') {	*res = 0;	return 1; }
-        if (c == 'x') {
-            radix = 16;
-            c = *(++(*str));
-        } else {
-            if (c == 'b') {
-                radix = 2;
-                c = *(++(*str));
-            } else {
-                if ((c >= '0')&&(c <= '9')){	radix = 8;
-                }	else {   return 0;}
-            }
-        }
-    } else {
-        if ((c < '1')||(c > '9')){	return 0;}
-        radix = 10;
-    }
-    val = 0;
-    while (c > ' ') {
-        if (c >= 'a') c -= 0x20;
-        c -= '0';
-        if (c >= 17) {
-            c -= 7;
-            if (c <= 9) return 0;
-        }
-        if (c >= radix) return 0;
-        val = val * radix + c;
-        c = *(++(*str));
-    }
-    if (s) val = -val;
-    *res = val;
-    return 1;
-}
-
-//-------------------------------------------------------------------------------------------------
-//	Monitor
-//-------------------------------------------------------------------------------------------------
-//  Help Massage
-void msg_hlp (void){
-    PRINTF(mon_msg);						put_rn();
-    PRINTF("s - Show USER Button");			put_rn();
-    PRINTF("t - Check and set RTC");		put_rn();
-    PRINTF("x - Goto HW monitor");			put_rn();
-    PRINTF("q - Return to main");			put_rn();
-}
-
-//  Get key input data
-void get_line (char *buff, int len){
-char c;
-int idx = 0;
-
-    for (;;) {
-        c = GETC();
-        //    Added by Kenji Arai / JH1PJL   May 9th, 2010
-        if (c == '\r') {
-            buff[idx++] = c;
-            break;
-        }
-        if ((c == '\b') && idx) {
-            idx--;
-            PUTC(c);
-            PUTC(' ');
-            PUTC(c);
-        }
-        if (((uint8_t)c >= ' ') && (idx < len - 1)) {
-            buff[idx++] = c;
-            PUTC(c);
-        }
-    }
-    buff[idx] = 0;
-    PUTC('\n');
-}
-
-// RTC related subroutines
-void chk_and_set_time(char *ptr){
-unsigned long p1;
-struct tm t;
-time_t seconds;
-char buf[40];
-
-	if (xatoi(&ptr, &p1)){
-		t.tm_year		= (uint8_t)p1 + 100;
-		PRINTF("Year:%d ",p1);
-		xatoi( &ptr, &p1 );
-		t.tm_mon		= (uint8_t)p1 - 1;
-		PRINTF("Month:%d ",p1);
-		xatoi( &ptr, &p1 );
-		t.tm_mday		= (uint8_t)p1;
-		PRINTF("Day:%d ",p1);
-		xatoi( &ptr, &p1 );
-		t.tm_hour		= (uint8_t)p1;
-		PRINTF("Hour:%d ",p1);
-		xatoi( &ptr, &p1 );
-		t.tm_min    	= (uint8_t)p1;
-		PRINTF("Min:%d ",p1);
-		xatoi( &ptr, &p1 );
-		t.tm_sec 		= (uint8_t)p1;
-		PRINTF("Sec: %d \r\n",p1);
-		seconds = mktime(&t);
-		set_time(seconds);
-	}
-	seconds = time(NULL);
-    strftime(buf, 40, "%B %d,'%y, %H:%M:%S", localtime(&seconds));
-    PRINTF("Date: %s\r\n", buf);
-}
-
-// ---------- Program starts here! ---------------------------------------------------------------
-int mon(void) {
-char *ptr;
-
-    BAUD(9600);
-    put_rn();
-    put_rn();
-    PRINTF("%s [Help:'?' key]", mon_msg);
-    put_rn();
-    for (;;) {
-        put_r();
-        PUTC('>');
-        ptr = linebuf;
-        get_line(ptr, sizeof(linebuf));
-        switch (*ptr++) {
-    //---------------------------------------------------------------------------------
-    //  Show switch status
-    //---------------------------------------------------------------------------------
-        case 's' :
-        	put_r();
-		    PRINTF("USER_Button = ");
-		    if (read_sw() == 1) {	PRINTF("ON");
-		    } else {				PRINTF("OFF");
-		    }
-		    put_rn();          
-            break;
-    //---------------------------------------------------------------------------------
-    //  check and set RTC
-    //---------------------------------------------------------------------------------
-        case 't' :
-        	put_r(); 
-            chk_and_set_time(ptr);               
-            break;
-    //---------------------------------------------------------------------------------
-    //  help
-    //---------------------------------------------------------------------------------
-        case '?' :
-        	put_r(); 
-            msg_hlp();                 
-            break;
-    //---------------------------------------------------------------------------------
-    //  Go to special command
-    //---------------------------------------------------------------------------------
-        case 'x' : 
-            mon_hw();
-            PRINTF("->Came back monitor\r\n");            
-            break;
-    //---------------------------------------------------------------------------------
-    //  Go back to main()
-    //---------------------------------------------------------------------------------
-        case 'q' :        // Quit
-            PRINTF("\rReturn to main\r\n");
-            PRINTF("cannot control anymore from here\r\n");
-            return 0;
-        }
-    }
-}