sdsd

Dependencies:   mbed

Fork of mbed5a_testy by Robert Labuz

Revision:
0:e69a0b7f4b41
Child:
2:0fcc9b85c8f6
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri May 05 19:54:49 2017 +0000
@@ -0,0 +1,203 @@
+#include "mbed.h"
+//#include "servo.h"
+//#include "command_decoder.h"
+#include "led.h"
+#include "serwo.h"
+#include "command_decoder.h"
+
+
+
+//#define DETECTOR_bm (PA4)
+
+
+//DigitalIn det(PA_5);
+//Ticker serwoTim;
+
+
+
+
+//************************************************************************/
+
+/******************************************************************/
+//------------------------------------
+// Hyperterminal configuration
+// 9600 bauds, 8-bit data, no parity
+//------------------------------------
+
+RawSerial pc(USBTX,USBRX,9600);
+
+DigitalOut led_green(LED1);
+DigitalOut led_red(LED2);
+
+
+
+Timeout LedTimeout;
+Ticker Sender;
+
+void LedOff()
+{
+    led_red=0;
+}
+
+int my_puts(char tab[],int size)
+{
+//retutn 0 if string is valid
+    bool StringIsValid=false;
+    for( int index=0; index<size; index++) {
+        if (tab[index]==NULL) {
+            StringIsValid = true;
+            break;
+        }
+    }
+    if(StringIsValid == false) {
+        LedTimeout.attach(&LedOff, 0.5);
+        led_red=1;
+        return(1);
+    }
+
+    for( int index=0; index<size; index++) {
+        if (tab[index]==NULL) {
+            pc.putc('\r');
+            while(!pc.writeable());
+            pc.putc('\n');
+            return(0);
+        }
+        while(!pc.writeable());
+        pc.putc(tab[index]);
+    }
+    return(0);
+}
+
+void hardbeatSend()
+{
+    static int count=0;
+    char tekst[25];
+    sprintf(tekst,"hardbeat number: %d \r\n", count );
+    //pc.printf("This program runs since %d seconds.\r\n", i);
+    my_puts(tekst,22);
+    count++;
+}
+
+char my_gets(char str[],int size)
+{
+    if (!pc.readable())return (NULL);
+    char c;
+    for(int index=0; index <size; index++) {
+        c=pc.getc();
+        pc.putc(c);
+        if ((c=='\r')||(c=='\n')) {
+            pc.putc('\r');
+            pc.putc('\n');
+            str[index]=NULL;
+            return (1);
+        }
+        str[index]=c;
+    }
+    LedTimeout.attach(&LedOff, 5);
+    led_red=1;
+    return (1);
+}
+
+
+
+
+
+
+int main (){
+
+    
+    unsigned int uiPreviusPos;
+    //ButtonInit(); 
+    //Servo_Init(500);
+    char cOdebranyString[20];
+    char init[] = "system start\r\n";
+    const char tekstSize = 20;
+    my_puts(init,tekstSize);
+    
+     Servo_Init(100);
+      //Servo_Callib();
+    
+    while(1){
+        
+
+         
+        
+        
+        
+        
+        if (my_gets(cOdebranyString,tekstSize)!=NULL) {
+        //if(eReciever_GetStatus() == READY){
+            
+            //Reciever_GetStringCopy( cOdebranyString );
+            DecodeMsg( cOdebranyString );
+            if ((ucTokenNr > 0) && (asToken[0].eType == KEYWORD)){
+                switch (asToken[0].uValue.eKeyword){
+                    case CALLIB:
+                        Servo_Callib();
+                    break;
+                    case GOTO:
+                        if (asToken[1].eType == NUMBER){
+                            Servo_GoTo(asToken[1].uValue.uiNumber);
+                            uiPreviusPos = asToken[1].uValue.uiNumber;
+                        }
+                    break;
+                    case STEP:
+                        if (asToken[1].eType == NUMBER){
+                            Servo_GoTo(uiPreviusPos + asToken[1].uValue.uiNumber);
+                            uiPreviusPos = uiPreviusPos + asToken[1].uValue.uiNumber;
+                        }
+                    break;
+                    case ID:
+                        my_puts("ID:0x1234",15);
+                    break;
+                    default:
+                    break;
+                }
+            }
+        }
+        
+    }
+}
+
+
+
+
+
+
+
+
+/*
+int main()
+{
+
+
+    bool flag=false;
+
+    const char tekstSize = 7;
+    char tekst[tekstSize];
+    //my_puts("[2J",5);//clear console
+    //pc.putc('[2J');
+    pc.putc(27);
+    char init[] = "system start\r\n";
+    my_puts(init,tekstSize);
+    Sender.attach(&hardbeatSend,1);
+
+
+
+    while(1) {
+
+
+
+        if (my_gets(tekst,tekstSize)!=NULL) {
+            
+            my_puts(tekst,tekstSize);
+            if(strcmp(tekst,"on"))flag = true;
+            if(strcmp(tekst,"off"))flag = false;
+            if(strcmp(tekst,"toggle"))flag = !flag;
+            led_green =flag;
+        }
+
+    }
+}
+*/
+