Advertisement
Krzyspx

brama4transmit

Dec 5th, 2016
3,904
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.74 KB | None | 0 0
  1. #include <Arduino.h>
  2. // matryca programów
  3. void Program_vPin0(String strvPin);
  4. void Program_vPin10(String strvPin);
  5. void Program_vPin11(String strvPin);
  6. void Program_vPin12(String strvPin);
  7. void Program_vPin13(String strvPin);
  8. //void Program_vPin14(String strvPin);
  9. void Program_vPin15(String strvPin);
  10. void Program_vPin16(String strvPin);
  11. //void Program_vPin17(String strvPin);
  12. void Program_vPin18(String strvPin);
  13. void Program_vPin19(String strvPin);
  14. void Program_vPin29(String strvPin);
  15. void Program_vPin34(String strvPin);
  16.  
  17. // equivalent BLYNK_WRITE(VPin)   vPin from APP to NANO  
  18.  
  19. void Blynkwrite(String str2) {
  20.  
  21.   String istr = str2.substring(1, str2.indexOf(':')); // nr vPin
  22.   byte pin2 = istr.toInt();
  23.   String  strdata2 = str2.substring(str2.indexOf(':') + 1); // if nr vPin typ int
  24.   int  data2 = strdata2.toInt();
  25.  
  26.   if (str2.charAt(0) == 'V') {
  27.  
  28.     switch (pin2 + 1) { // Switch to progrma for recived vPin
  29.       case 1: Program_vPin0(strdata2);  break;
  30.      
  31.   //    case 10: Program_vPin9(strdata2);  break;
  32.       case 11: Program_vPin10(strdata2);  break;
  33.       case 12: Program_vPin11(strdata2);  break;
  34.       case 13: Program_vPin12(strdata2);  break;
  35.       case 14: Program_vPin13(strdata2);  break;
  36.    //   case 15: Program_vPin14(strdata2);  break;
  37.       case 16: Program_vPin15(strdata2);  break;
  38.       case 17: Program_vPin16(strdata2);  break;
  39.    //   case 18: Program_vPin17(strdata2);  break;
  40.        case 19: Program_vPin18(strdata2);  break;
  41.       case 20: Program_vPin19(strdata2);  break;  
  42.    
  43.       // etc....
  44.       case 30: Program_vPin29(strdata2);  break;
  45.             case 35: Program_vPin34(strdata2);  break;
  46.       default: ;
  47.     }
  48.   }
  49. }
  50.  
  51. // equivalent   Blynk.virtualWrite(VPin, Data);
  52.  
  53. void sendstrtoserial (String toserial) {
  54.   Serial.println(toserial);
  55. }
  56. void BlynkvirtualWrite(char Ch, byte vPin, String str) { // send to APP
  57.   String  str1 = Ch + String(vPin) + ':' + str; // string to send
  58.   sendstrtoserial(str1);
  59. }
  60. void BlynkvirtualWrite_str (byte vPin1, String str1) { // send str to APP
  61.   BlynkvirtualWrite('S', vPin1, str1);
  62. }
  63. void BlynkvirtualWrite_int (byte vPin2, int z)  { // send int to APP
  64.   BlynkvirtualWrite('I', vPin2, String(z));
  65. }
  66. void BlynkvirtualWrite_led(byte vPin3, byte Value) { // send LEDs data to APP
  67. BlynkvirtualWrite('L', vPin3, String(Value));
  68. }
  69. void BlynkvirtualWrite_col(byte vPin4, String col) { // send color data to APP
  70. BlynkvirtualWrite('C', vPin4, col);
  71. }
  72. void BlynkvirtualWrite_On(byte vPin5, String ON) { // send onLabels data to APP
  73. BlynkvirtualWrite('N', vPin5, ON);
  74. }
  75. void BlynkvirtualWrite_Off(byte vPin6, String OFF) { // send offLabel data to APP
  76.  BlynkvirtualWrite('F', vPin6, OFF);
  77. }
  78. void BlynkvirtualWrite_order(byte vPin7, String str7) { // send order to esp
  79.  BlynkvirtualWrite('O', vPin7, str7);
  80. }
  81.  
  82. // ....................................... recive string from serial
  83.  
  84. bool  stringComplete = false;
  85. String inputString = "";
  86. byte licznikodbioru = 0;
  87. int startrecive = 0;
  88.  
  89. void recivestrfromserial () {
  90.   if (stringComplete) {
  91.       if(termesp){
  92.     Serial.println("od  " + String(inputString)); //test
  93.   }
  94.     Blynkwrite(inputString);
  95.     inputString = "";
  96.     stringComplete = false;
  97.     licznikodbioru = 0;
  98.     startrecive = 0;
  99.   }
  100. }
  101.  
  102. void serialEvent() { //odbiór string z Serial
  103.   if (Serial.available()) {
  104.     licznikodbioru++;
  105.     char inChar = (char)Serial.read();
  106.     if (startrecive == 0) {
  107.       if ((inChar == 'V'))  startrecive = 1;
  108.     }
  109.     if (startrecive == 1) {
  110.       if (inChar == '\r')  {
  111.         stringComplete = true;
  112.         inChar = '\0';
  113.         inputString += inChar;
  114.         startrecive = 0;
  115.       } else  {inputString += inChar;}
  116.     }
  117.     if (licznikodbioru > 60) {inputString = "";}
  118.   }
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement