sample test program with Mx64

Dependencies:   C12832_lcd MX64 SerialHalfDuplex mbed

main.cpp

Committer:
ppr2013G2
Date:
2014-06-20
Revision:
0:782e99c3f9fd
Child:
1:d0d0678ac9da

File content as of revision 0:782e99c3f9fd:

#include "mbed.h"
#include "MX64.h"
#include "C12832_lcd.h"

AnalogIn pot1(p19);
C12832_LCD lcd;

/*******************************/
/********mapping function*******/
/*convert old range to new range*/
/*******************************/
double  map(double val, double b_min, double b_max, double a_min, double a_max)
{
    return (val - b_max) * (a_min - a_max) / (b_min - b_max) + a_max;
}

int main()
{
    MX64 mymx64 (p9, p10, 22); //for LPC1768
    int deg;
    while (1) {
        lcd.cls();//clear screen
        lcd.locate(40,3);//set locate
        lcd.printf("!Hello Mx64!");
        lcd.line(0, 13, 128, 13, 1);//draw a line
        deg=(int)map(pot1*100.0, 0.0, 100.0, 0.0, 360.0 );//convert range
        lcd.locate(0,15);//set locate
        lcd.printf("Pos:%g,Temp:%g,Volt%g",mymx64.GetPosition(),mymx64.GetTemp(),mymx64.GetVolts());
        mymx64.SetGoal(deg);    // set mx64 go to deg
        wait(0.1);
    }
}