Advertisement
wheelsmanx

ArduinoToC++ Arduino.h

May 29th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. #pragma once
  2. #include "SerialClass.h" // Library described above
  3. #include "MyLib.h"
  4.  
  5.  
  6. Serial* CreatePort() {
  7. // select your port here
  8. Serial* Port = new Serial("\\\\.\\COM10");
  9. if (Port->IsConnected()) {
  10. std::cout << "Port is connected" << std::endl;
  11. }
  12. Sleep(500);
  13. return Port;
  14. }
  15.  
  16. int ClosePort(Serial* serialPort) {
  17. delete serialPort;
  18. return 0;
  19. }
  20. std::string Rem_Spec_Char(std::string input) {
  21. std::string returnObject = "";
  22. for (int i = 0; i < input.length(); i++) {
  23. if (input[i] != '\r' && input[i] != '\n') {
  24. returnObject = returnObject +input[i];
  25. }
  26. }
  27. return returnObject;
  28. }
  29.  
  30. std::vector <std::string> ArduinoFunction(Serial* serialPort, const char *data) {
  31. char incomingData[256] = "";
  32. std::string endData = "x203Done";
  33. std::string temp = "";
  34. std::string returnObject;
  35. std::vector <std::string> finalReturnObject;
  36. int dataLength = 255;
  37. int newdatalength = 1;
  38. int readResult = 0;
  39. if (serialPort->IsConnected())
  40. {
  41. const char *buffer = data;
  42. if (serialPort->WriteData(buffer, newdatalength)) {
  43. while (serialPort->IsConnected()) {
  44. readResult = serialPort->ReadData(incomingData, dataLength);
  45. incomingData[readResult] = 0;
  46. std::size_t found = temp.find(endData);
  47. temp = incomingData;
  48. if (found != std::string::npos) {
  49. returnObject = returnObject + incomingData;
  50. break;
  51. }
  52. else {
  53. if (incomingData != '\0' && *incomingData != '\n' && *incomingData != '\r' && *incomingData != ' ' && incomingData != "\r\n") {
  54. returnObject = returnObject + incomingData;
  55. }
  56. }
  57. Sleep(150);
  58. }
  59. }
  60. Sleep(100);
  61. }
  62. finalReturnObject = cstringsplit(returnObject, "\r\n");
  63. return finalReturnObject;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement