Guest User

Untitled

a guest
Jul 16th, 2018
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. #include <iostream>
  2. #include "dji_vehicle.hpp"
  3. using namespace DJI::OSDK;
  4. using namespace DJI::OSDK::Telemetry;
  5.  
  6. int
  7. main()
  8. {
  9. uint32_t app_id = 1026762;
  10. char enc_key[] = "1b838efe0d1b733e9015c750b2250fd61eb75dcbc3b309bf16813bd57294ed36";
  11. char device_name[] = "/dev/ttyUSB0";
  12. uint32_t baud_rate = 921600;
  13. Vehicle* vehicle = new Vehicle(device_name, baud_rate, true, false);
  14.  
  15. // Check if the communication is working fine
  16. if (!vehicle->protocolLayer->getDriver()->getDeviceStatus())
  17. {
  18. std::cout << "Comms appear to be incorrectly set up. Exiting.\n";
  19. delete vehicle;
  20. return -1;
  21. }
  22.  
  23. // Activate the drone
  24. DJI::OSDK::Vehicle::ActivateData activateData;
  25. activateData.version = vehicle->getFwVersion();
  26. activateData.ID = app_id;
  27. activateData.encKey = enc_key;
  28.  
  29. ACK::ErrorCode ack = vehicle->activate(&activateData, 1);
  30.  
  31. if (ACK::getError(ack))
  32. {
  33. ACK::getErrorCodeMessage(ack, __func__);
  34. delete vehicle;
  35. return -1;
  36. }
  37.  
  38. uint8_t a = 128;
  39. vehicle->moc->sendDataToMSDK(&a, 1);
  40. ACK::ErrorCode takeoffStatus = vehicle->control->takeoff(1);
  41. if (ACK::getError(takeoffStatus) != ACK::SUCCESS)
  42. {
  43. ACK::getErrorCodeMessage(takeoffStatus, __func__);
  44. delete vehicle;
  45. return -1;
  46. }
  47.  
  48. a++;
  49. vehicle->moc->sendDataToMSDK(&a, 1);
  50.  
  51. sleep(20);
  52.  
  53. ACK::ErrorCode landStatus = vehicle->control->land(1);
  54. if (ACK::getError(landStatus) != ACK::SUCCESS)
  55. {
  56. ACK::getErrorCodeMessage(landStatus, __func__);
  57. delete vehicle;
  58. return -1;
  59. }
  60. a++;
  61. vehicle->moc->sendDataToMSDK(&a, 1);
  62.  
  63.  
  64.  
  65.  
  66. delete vehicle;
  67. return 0;
  68. }
Add Comment
Please, Sign In to add comment