Labview

Dependencies:   C12832_lcd LCD_fonts LM75B analogintest3 MMA7660 mbed

Fork of analogintest3 by Peter Mertens

Committer:
Bramvr
Date:
Tue May 19 11:20:51 2015 +0000
Revision:
1:6c1caefc30c3
Parent:
0:e4782112c3fd
Labview

Who changed what in which revision?

UserRevisionLine numberNew contents of line
u0068206 0:e4782112c3fd 1 #include "mbed.h"
u0068206 0:e4782112c3fd 2 #include "SerialRPCInterface.h"
Bramvr 1:6c1caefc30c3 3 #include "LM75B.h"
Bramvr 1:6c1caefc30c3 4 #include "MMA7660.h"
Bramvr 1:6c1caefc30c3 5 #include <string>
Bramvr 1:6c1caefc30c3 6
Bramvr 1:6c1caefc30c3 7 #include "C12832_lcd.h"
Bramvr 1:6c1caefc30c3 8 #include "Arial_9.h"
Bramvr 1:6c1caefc30c3 9 #include "Small_7.h"
Bramvr 1:6c1caefc30c3 10 #include "graphics.h"
u0068206 0:e4782112c3fd 11 SerialRPCInterface SerialInterface(USBTX, USBRX);
u0068206 0:e4782112c3fd 12 float ai1=0;
u0068206 0:e4782112c3fd 13 float ai2=0;
u0068206 0:e4782112c3fd 14 int alarm1 = 0;
u0068206 0:e4782112c3fd 15 int alarm2 = 0;
Bramvr 1:6c1caefc30c3 16 float temp = 0;
Bramvr 1:6c1caefc30c3 17 int text;
Bramvr 1:6c1caefc30c3 18 float period;
Bramvr 1:6c1caefc30c3 19 int position;
Bramvr 1:6c1caefc30c3 20
Bramvr 1:6c1caefc30c3 21 float X = 0;
Bramvr 1:6c1caefc30c3 22 float Y = 0;
Bramvr 1:6c1caefc30c3 23 float Z = 0;
Bramvr 1:6c1caefc30c3 24
Bramvr 1:6c1caefc30c3 25 Serial pc(USBTX, USBRX);
u0068206 0:e4782112c3fd 26 RPCVariable<float> rpc_ai1(&ai1,"ai1");
u0068206 0:e4782112c3fd 27
u0068206 0:e4782112c3fd 28 RPCVariable<float> rpc_ai2(&ai2,"ai2");
u0068206 0:e4782112c3fd 29
u0068206 0:e4782112c3fd 30 RPCVariable<int> rpc_alarm1(&alarm1,"alarm1");
u0068206 0:e4782112c3fd 31 RPCVariable<int> rpc_alarm2(&alarm2,"alarm2");
Bramvr 1:6c1caefc30c3 32 RPCVariable<float> rpc_temp(&temp,"temp");
Bramvr 1:6c1caefc30c3 33 RPCVariable<int> rpc_text(&text,"text");
Bramvr 1:6c1caefc30c3 34 RPCVariable<float> rpc_period(&period,"period");
Bramvr 1:6c1caefc30c3 35 RPCVariable<int> rpc_position(&position,"position");
Bramvr 1:6c1caefc30c3 36
Bramvr 1:6c1caefc30c3 37 RPCVariable<float> rpc_X(&X,"X");
Bramvr 1:6c1caefc30c3 38 RPCVariable<float> rpc_Y(&Y,"Y");
Bramvr 1:6c1caefc30c3 39 RPCVariable<float> rpc_Z(&Z,"Z");
Bramvr 1:6c1caefc30c3 40
u0068206 0:e4782112c3fd 41 AnalogIn pot2(p19);
u0068206 0:e4782112c3fd 42 DigitalOut led(LED1);
u0068206 0:e4782112c3fd 43 AnalogIn pot1(p20);
u0068206 0:e4782112c3fd 44 DigitalOut led2(LED2);
Bramvr 1:6c1caefc30c3 45 LM75B tmp(p28,p27);
Bramvr 1:6c1caefc30c3 46 C12832_LCD lcd;
Bramvr 1:6c1caefc30c3 47 PwmOut r (p23);
Bramvr 1:6c1caefc30c3 48 PwmOut g (p24);
Bramvr 1:6c1caefc30c3 49 PwmOut b (p25);
Bramvr 1:6c1caefc30c3 50 PwmOut spkr(p26);
Bramvr 1:6c1caefc30c3 51 PwmOut servo(p21);
Bramvr 1:6c1caefc30c3 52 MMA7660 MMA(p28, p27);
u0068206 0:e4782112c3fd 53
Bramvr 1:6c1caefc30c3 54
Bramvr 1:6c1caefc30c3 55 void Welkom(void);
u0068206 0:e4782112c3fd 56
u0068206 0:e4782112c3fd 57 int main() {
Bramvr 1:6c1caefc30c3 58 //Labview
Bramvr 1:6c1caefc30c3 59 Base::add_rpc_class<AnalogIn>();
Bramvr 1:6c1caefc30c3 60 Base::add_rpc_class<AnalogOut>();
Bramvr 1:6c1caefc30c3 61 Base::add_rpc_class<DigitalIn>();
Bramvr 1:6c1caefc30c3 62 Base::add_rpc_class<DigitalOut>();
Bramvr 1:6c1caefc30c3 63 Base::add_rpc_class<DigitalInOut>();
Bramvr 1:6c1caefc30c3 64 Base::add_rpc_class<PwmOut>();
Bramvr 1:6c1caefc30c3 65 Base::add_rpc_class<Timer>();
Bramvr 1:6c1caefc30c3 66 Base::add_rpc_class<SPI>();
Bramvr 1:6c1caefc30c3 67 Base::add_rpc_class<BusOut>();
Bramvr 1:6c1caefc30c3 68 Base::add_rpc_class<BusIn>();
Bramvr 1:6c1caefc30c3 69 Base::add_rpc_class<BusInOut>();
Bramvr 1:6c1caefc30c3 70 Base::add_rpc_class<Serial>();
Bramvr 1:6c1caefc30c3 71
Bramvr 1:6c1caefc30c3 72 char buf[256], outbuf[256];
Bramvr 1:6c1caefc30c3 73
Bramvr 1:6c1caefc30c3 74
Bramvr 1:6c1caefc30c3 75 lcd.cls();
Bramvr 1:6c1caefc30c3 76 //update axis period
Bramvr 1:6c1caefc30c3 77 r.period(0.001);
Bramvr 1:6c1caefc30c3 78 Welkom();
Bramvr 1:6c1caefc30c3 79 wait(2);
Bramvr 1:6c1caefc30c3 80 lcd.cls();
Bramvr 1:6c1caefc30c3 81
u0068206 0:e4782112c3fd 82 while (1){
Bramvr 1:6c1caefc30c3 83
Bramvr 1:6c1caefc30c3 84 pc.gets(buf,256);
Bramvr 1:6c1caefc30c3 85 rpc(buf,outbuf);
Bramvr 1:6c1caefc30c3 86 pc.printf("%s\n",outbuf);
Bramvr 1:6c1caefc30c3 87
Bramvr 1:6c1caefc30c3 88 temp = tmp.read() - 2;
Bramvr 1:6c1caefc30c3 89
Bramvr 1:6c1caefc30c3 90 lcd.cls();
Bramvr 1:6c1caefc30c3 91 lcd.locate(0,15);
Bramvr 1:6c1caefc30c3 92 lcd.printf(" Nummer: %d",text);
Bramvr 1:6c1caefc30c3 93 lcd.copy_to_lcd();
Bramvr 1:6c1caefc30c3 94
Bramvr 1:6c1caefc30c3 95
Bramvr 1:6c1caefc30c3 96
u0068206 0:e4782112c3fd 97 ai1 = pot2;
u0068206 0:e4782112c3fd 98 ai2 = pot1;
u0068206 0:e4782112c3fd 99 if(pot2 > 0.3) {
u0068206 0:e4782112c3fd 100 led = 1;
u0068206 0:e4782112c3fd 101 alarm1 = led;
u0068206 0:e4782112c3fd 102 } else {
u0068206 0:e4782112c3fd 103 led = 0;
u0068206 0:e4782112c3fd 104 alarm1 = led;
u0068206 0:e4782112c3fd 105 }
u0068206 0:e4782112c3fd 106 if(pot1 > 0.7) {
u0068206 0:e4782112c3fd 107 led2 = 1;
u0068206 0:e4782112c3fd 108 alarm2 = led2;
u0068206 0:e4782112c3fd 109 } else {
u0068206 0:e4782112c3fd 110 led2 = 0;
u0068206 0:e4782112c3fd 111 alarm2 = led2;
Bramvr 1:6c1caefc30c3 112 }
Bramvr 1:6c1caefc30c3 113
Bramvr 1:6c1caefc30c3 114 X = MMA.x();
Bramvr 1:6c1caefc30c3 115 Y = MMA.y();
Bramvr 1:6c1caefc30c3 116 Z = MMA.z();
Bramvr 1:6c1caefc30c3 117 //------------------------
Bramvr 1:6c1caefc30c3 118 spkr.period(period /100000);
Bramvr 1:6c1caefc30c3 119 spkr=0.5;
Bramvr 1:6c1caefc30c3 120
Bramvr 1:6c1caefc30c3 121 servo.period_ms(20);
Bramvr 1:6c1caefc30c3 122 servo=((position) * 0.000511 + 0.026);
Bramvr 1:6c1caefc30c3 123
Bramvr 1:6c1caefc30c3 124
u0068206 0:e4782112c3fd 125 }
Bramvr 1:6c1caefc30c3 126 }
Bramvr 1:6c1caefc30c3 127
Bramvr 1:6c1caefc30c3 128 void Welkom(void)
Bramvr 1:6c1caefc30c3 129 {
Bramvr 1:6c1caefc30c3 130 int i,s;
Bramvr 1:6c1caefc30c3 131 lcd.cls();
Bramvr 1:6c1caefc30c3 132 lcd.set_font((unsigned char*) Arial_9);
Bramvr 1:6c1caefc30c3 133 s = 3;
Bramvr 1:6c1caefc30c3 134 lcd.print_bm(bitmTree,95,0); // print chistmas tree
Bramvr 1:6c1caefc30c3 135 lcd.copy_to_lcd();
Bramvr 1:6c1caefc30c3 136 lcd.setmode(XOR); // XOR - a second print will erase
Bramvr 1:6c1caefc30c3 137 for(i = -15; i < 75; ){
Bramvr 1:6c1caefc30c3 138 lcd.print_bm(bitmSan1,i,2);
Bramvr 1:6c1caefc30c3 139 wait(0.1);
Bramvr 1:6c1caefc30c3 140 lcd.copy_to_lcd(); // update lcd
Bramvr 1:6c1caefc30c3 141 lcd.print_bm(bitmSan1,i,2); // erase
Bramvr 1:6c1caefc30c3 142 i= i+s;
Bramvr 1:6c1caefc30c3 143 lcd.print_bm(bitmSan2,i,2); // print next
Bramvr 1:6c1caefc30c3 144 wait(0.1);
Bramvr 1:6c1caefc30c3 145 lcd.copy_to_lcd(); // update lcd
Bramvr 1:6c1caefc30c3 146 lcd.print_bm(bitmSan2,i,2); // erase
Bramvr 1:6c1caefc30c3 147 i= i+s;
Bramvr 1:6c1caefc30c3 148 lcd.print_bm(bitmSan3,i,2); // print next
Bramvr 1:6c1caefc30c3 149 wait(0.1);
Bramvr 1:6c1caefc30c3 150 lcd.copy_to_lcd(); // update lcd
Bramvr 1:6c1caefc30c3 151 lcd.print_bm(bitmSan3,i,2); // erase
Bramvr 1:6c1caefc30c3 152 i= i+s;
Bramvr 1:6c1caefc30c3 153 }
Bramvr 1:6c1caefc30c3 154 lcd.print_bm(bitmSan3,i,2);
Bramvr 1:6c1caefc30c3 155 lcd.set_auto_up(0);
Bramvr 1:6c1caefc30c3 156 for(i=-20; i<5; i++){ // scrolling text
Bramvr 1:6c1caefc30c3 157 lcd.locate(5,i);
Bramvr 1:6c1caefc30c3 158 lcd.printf("Welkom bij");
Bramvr 1:6c1caefc30c3 159 lcd.locate(5,i+12);
Bramvr 1:6c1caefc30c3 160 lcd.printf("Labview!!!");
Bramvr 1:6c1caefc30c3 161 lcd.copy_to_lcd();
Bramvr 1:6c1caefc30c3 162 lcd.locate(5,i);
Bramvr 1:6c1caefc30c3 163 wait(0.2);
Bramvr 1:6c1caefc30c3 164 lcd.printf("Welkom bij");
Bramvr 1:6c1caefc30c3 165 lcd.locate(5,i+12);
Bramvr 1:6c1caefc30c3 166 lcd.printf("Labview!!!");
Bramvr 1:6c1caefc30c3 167 lcd.copy_to_lcd();
Bramvr 1:6c1caefc30c3 168 i=i+1;
Bramvr 1:6c1caefc30c3 169 }
Bramvr 1:6c1caefc30c3 170 lcd.locate(5,i);
Bramvr 1:6c1caefc30c3 171 lcd.printf("Welkom bij");
Bramvr 1:6c1caefc30c3 172 lcd.locate(5,i+12);
Bramvr 1:6c1caefc30c3 173 lcd.printf("Labview!!!");
Bramvr 1:6c1caefc30c3 174 lcd.copy_to_lcd();
u0068206 0:e4782112c3fd 175 }