Compare commits

..

No commits in common. 'main' and 'v1.3.1' have entirely different histories.
main ... v1.3.1

  1. 2
      README.md
  2. 469
      api/Cloud API Demo.postman_collection.json
  3. 48
      cloud-sdk/README.md
  4. BIN
      cloud-sdk/image/1.png
  5. BIN
      cloud-sdk/image/2.png
  6. BIN
      cloud-sdk/image/3.png
  7. BIN
      cloud-sdk/image/4.png
  8. BIN
      cloud-sdk/image/5.png
  9. BIN
      cloud-sdk/image/6.png
  10. BIN
      cloud-sdk/image/7.png
  11. 32
      cloud-sdk/pom.xml
  12. 26
      cloud-sdk/src/main/java/com/dji/sdk/annotations/CloudSDKVersion.java
  13. 178
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/airsense/AirsenseWarning.java
  14. 39
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/airsense/AltitudeTypeEnum.java
  15. 41
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/airsense/VertTrendEnum.java
  16. 45
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/airsense/WarningLevelEnum.java
  17. 36
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/airsense/api/AbstractAirsenseService.java
  18. 34
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/config/ConfigScopeEnum.java
  19. 34
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/config/ConfigTypeEnum.java
  20. 73
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/config/ProductConfigResponse.java
  21. 42
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/config/RequestsConfigRequest.java
  22. 30
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/config/api/AbstractConfigService.java
  23. 99
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraAimRequest.java
  24. 68
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraExposureModeSetRequest.java
  25. 68
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraExposureSetRequest.java
  26. 66
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraFocalLengthSetRequest.java
  27. 68
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraFocusModeSetRequest.java
  28. 68
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraFocusValueSetRequest.java
  29. 98
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraLookAtRequest.java
  30. 50
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraModeSwitchRequest.java
  31. 36
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraPhotoStopRequest.java
  32. 56
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraPhotoTakeProgress.java
  33. 36
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraPhotoTakeRequest.java
  34. 93
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraPointFocusActionRequest.java
  35. 36
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraRecordingStartRequest.java
  36. 36
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraRecordingStopRequest.java
  37. 58
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraScreenSplitRequest.java
  38. 38
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraTypeEnum.java
  39. 37
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CommanderFlightModeEnum.java
  40. 36
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CommanderModeLostActionEnum.java
  41. 91
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/ControlErrorCodeEnum.java
  42. 90
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/ControlMethodEnum.java
  43. 44
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/DelayInfoPush.java
  44. 75
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/DrcModeEnterRequest.java
  45. 102
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/DrcModeMqttBroker.java
  46. 52
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/DrcStatusErrorEnum.java
  47. 44
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/DrcStatusNotify.java
  48. 121
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/DroneControlRequest.java
  49. 31
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/DroneControlResponse.java
  50. 36
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/ExposureCameraTypeEnum.java
  51. 44
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/ExposureModeEnum.java
  52. 107
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/ExposureValueEnum.java
  53. 68
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/FlyToPointProgress.java
  54. 70
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/FlyToPointRequest.java
  55. 59
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/FlyToPointUpdateRequest.java
  56. 47
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/FlyToStatusEnum.java
  57. 40
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/FocusModeEnum.java
  58. 40
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/GimbalResetModeEnum.java
  59. 49
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/GimbalResetRequest.java
  60. 50
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/HeartBeatRequest.java
  61. 248
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/HsiInfoPush.java
  62. 116
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/IrMeteringAreaSetRequest.java
  63. 55
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/IrMeteringModeSetRequest.java
  64. 80
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/IrMeteringPointSetRequest.java
  65. 30
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/JoystickInvalidNotify.java
  66. 49
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/JoystickInvalidReasonEnum.java
  67. 42
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/LensStorageSettingsEnum.java
  68. 35
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/LiveviewDelay.java
  69. 41
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/MeteringModeEnum.java
  70. 138
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/OsdInfoPush.java
  71. 36
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/PayloadAuthorityGrabRequest.java
  72. 78
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/PayloadControlMethodEnum.java
  73. 61
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/PhotoStorageSetRequest.java
  74. 42
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/PhotoTakeProgressData.java
  75. 32
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/PhotoTakeProgressExt.java
  76. 43
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/PhotoTakeProgressStepEnum.java
  77. 35
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/PoiCircleSpeedSetRequest.java
  78. 69
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/PoiModeEnterRequest.java
  79. 80
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/PoiStatusNotify.java
  80. 53
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/PoiStatusReasonEnum.java
  81. 71
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/Point.java
  82. 51
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/TakeoffStatusEnum.java
  83. 135
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/TakeoffToPointProgress.java
  84. 235
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/TakeoffToPointRequest.java
  85. 61
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/VideoStorageSetRequest.java
  86. 36
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/ZoomCameraTypeEnum.java
  87. 665
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/api/AbstractControlService.java
  88. 40
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/debug/AirConditionerModeSwitchActionEnum.java
  89. 35
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/debug/AirConditionerModeSwitchRequest.java
  90. 36
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/debug/AlarmStateSwitchRequest.java
  91. 36
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/debug/BatteryMaintenanceSwitchRequest.java
  92. 36
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/debug/BatteryStoreModeSwitchRequest.java
  93. 168
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/debug/DebugErrorCodeEnum.java
  94. 84
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/debug/DebugMethodEnum.java
  95. 38
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/debug/DongleDeviceTypeEnum.java
  96. 54
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/debug/EsimActivateRequest.java
  97. 71
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/debug/EsimOperatorSwitchRequest.java
  98. 42
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/debug/RemoteDebugProgress.java
  99. 78
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/debug/RemoteDebugProgressData.java
  100. 30
      cloud-sdk/src/main/java/com/dji/sdk/cloudapi/debug/RemoteDebugResponse.java
  101. Some files were not shown because too many files have changed in this diff Show More

2
README.md

@ -14,7 +14,7 @@ For more documentation, please visit the [DJI Developer Documentation](https://d @@ -14,7 +14,7 @@ For more documentation, please visit the [DJI Developer Documentation](https://d
## Latest Release
Cloud API 1.10.0 was released on 7 Apr 2024. For more information, please visit the [Release Note](https://developer.dji.com/doc/cloud-api-tutorial/cn/).
Cloud API 1.1.0 was released on 22 July 2022. For more information, please visit the [Release Note](https://developer.dji.com/doc/cloud-api-tutorial/cn/).
## License

469
api/Cloud API Demo.postman_collection.json

@ -887,7 +887,7 @@ @@ -887,7 +887,7 @@
"apikey": [
{
"key": "value",
"value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ3b3Jrc3BhY2VfaWQiOiJlM2RlYTBmNS0zN2YyLTRkNzktYWU1OC00OTBhZjMyMjgwNjkiLCJzdWIiOiJDbG91ZEFwaVNhbXBsZSIsInVzZXJfdHlwZSI6IjEiLCJuYmYiOjE2ODIyMzI5MDYsImxvZyI6IkxvZ2dlcltjb20uZGppLnNhbXBsZS5jb21tb24ubW9kZWwuQ3VzdG9tQ2xhaW1dIiwiaXNzIjoiREpJIiwiaWQiOiJhMTU1OWU3Yy04ZGQ4LTQ3ODAtYjk1Mi0xMDBjYzQ3OTdkYTIiLCJleHAiOjE3Njg2MzI5MDYsImlhdCI6MTY4MjIzMjkwNiwidXNlcm5hbWUiOiJhZG1pblBDIn0.ilO-3PcvWAX9r8z3AR4VAw3kVhavYjiTx_187ACBc1M",
"value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ3b3Jrc3BhY2VfaWQiOiJlM2RlYTBmNS0zN2YyLTRkNzktYWU1OC00OTBhZjMyMjgwNjkiLCJzdWIiOiJDbG91ZEFwaVNhbXBsZSIsInVzZXJfdHlwZSI6IjEiLCJuYmYiOjE2NzAzMTU2MDEsImxvZyI6IkxvZ2dlcltjb20uZGppLnNhbXBsZS5jb21tb24ubW9kZWwuQ3VzdG9tQ2xhaW1dIiwiaXNzIjoiREpJIiwiaWQiOiJhMTU1OWU3Yy04ZGQ4LTQ3ODAtYjk1Mi0xMDBjYzQ3OTdkYTIiLCJleHAiOjE2NzA0MDIwMDEsImlhdCI6MTY3MDMxNTYwMSwidXNlcm5hbWUiOiJhZG1pblBDIn0.yh8SkHZVsoIXo_vtlTGNB-ZX92XayalGe_q7mNRVcdI",
"type": "string"
},
{
@ -1050,150 +1050,6 @@ @@ -1050,150 +1050,6 @@
}
},
"response": []
},
{
"name": "Get Flight Areas",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{base_url}}{{map_version}}/workspaces/{{workspace_id}}/flight-areas",
"host": [
"{{base_url}}{{map_version}}"
],
"path": [
"workspaces",
"{{workspace_id}}",
"flight-areas"
]
}
},
"response": []
},
{
"name": "Add Flight Area",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"name\": \"123\",\r\n \"type\": \"dfence\",\r\n \"content\": {\r\n \"properties\": {\r\n \"clampToGround\": true,\r\n \"color\": \"#FF0000\"\r\n },\r\n \"geometry\": {\r\n \"type\": \"Circle\",\r\n \"coordinates\": [\r\n 25.41512807678825,\r\n 4.642350757553345\r\n ],\r\n \"radius\": 12.2\r\n }\r\n }\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}{{map_version}}/workspaces/{{workspace_id}}/flight-area",
"host": [
"{{base_url}}{{map_version}}"
],
"path": [
"workspaces",
"{{workspace_id}}",
"flight-area"
]
}
},
"response": []
},
{
"name": "Update Flight Area",
"request": {
"method": "PUT",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"name\": \"123\",\r\n \"status\": false,\r\n \"content\": {\r\n \"properties\": {\r\n \"clampToGround\": true,\r\n \"color\": \"#FF0000\"\r\n },\r\n \"geometry\": {\r\n \"type\": \"Circle\",\r\n \"coordinates\": [\r\n 25.41512807678825,\r\n 4.642350757553345\r\n ],\r\n \"radius\": 12.2\r\n }\r\n }\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}{{map_version}}/workspaces/{{workspace_id}}/flight-area/{{area_id}}",
"host": [
"{{base_url}}{{map_version}}"
],
"path": [
"workspaces",
"{{workspace_id}}",
"flight-area",
"{{area_id}}"
]
}
},
"response": []
},
{
"name": "Delete Flight Area",
"request": {
"method": "DELETE",
"header": [],
"url": {
"raw": "{{base_url}}{{map_version}}/workspaces/{{workspace_id}}/flight-area/{{area_id}}",
"host": [
"{{base_url}}{{map_version}}"
],
"path": [
"workspaces",
"{{workspace_id}}",
"flight-area",
"{{area_id}}"
]
}
},
"response": []
},
{
"name": "Sync Device Flight Area",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"device_sn\": [\"123\"]\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}{{map_version}}/workspaces/{{workspace_id}}/flight-area/sync",
"host": [
"{{base_url}}{{map_version}}"
],
"path": [
"workspaces",
"{{workspace_id}}",
"flight-area",
"sync"
]
}
},
"response": []
},
{
"name": "Device Flight Area Status",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "{{base_url}}{{map_version}}/workspaces/{{workspace_id}}/device-status",
"host": [
"{{base_url}}{{map_version}}"
],
"path": [
"workspaces",
"{{workspace_id}}",
"device-status"
]
}
},
"response": []
}
],
"auth": {
@ -1555,7 +1411,7 @@ @@ -1555,7 +1411,7 @@
"method": "DELETE",
"header": [],
"url": {
"raw": "{{base_url}}{{wayline_version}}/workspaces/{{workspace_id}}/favorites?id=uuid,uuid1",
"raw": "{{base_url}}{{wayline_version}}/workspaces/{{workspace_id}}/favorites?ids=uuid,uuid1",
"host": [
"{{base_url}}{{wayline_version}}"
],
@ -1566,7 +1422,7 @@ @@ -1566,7 +1422,7 @@
],
"query": [
{
"key": "id",
"key": "ids",
"value": "uuid,uuid1"
}
]
@ -1580,7 +1436,7 @@ @@ -1580,7 +1436,7 @@
"method": "POST",
"header": [],
"url": {
"raw": "{{base_url}}{{wayline_version}}/workspaces/{{workspace_id}}/favorites?id=uuid,uuid1",
"raw": "{{base_url}}{{wayline_version}}/workspaces/{{workspace_id}}/favorites?ids=uuid,uuid1",
"host": [
"{{base_url}}{{wayline_version}}"
],
@ -1591,7 +1447,7 @@ @@ -1591,7 +1447,7 @@
],
"query": [
{
"key": "id",
"key": "ids",
"value": "uuid,uuid1"
}
]
@ -1681,7 +1537,7 @@ @@ -1681,7 +1537,7 @@
"apikey": [
{
"key": "value",
"value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ3b3Jrc3BhY2VfaWQiOiJlM2RlYTBmNS0zN2YyLTRkNzktYWU1OC00OTBhZjMyMjgwNjkiLCJzdWIiOiJDbG91ZEFwaVNhbXBsZSIsInVzZXJfdHlwZSI6IjEiLCJuYmYiOjE2ODAyNjAxNTYsImxvZyI6IkxvZ2dlcltjb20uZGppLnNhbXBsZS5jb21tb24ubW9kZWwuQ3VzdG9tQ2xhaW1dIiwiaXNzIjoiREpJIiwiaWQiOiJhMTU1OWU3Yy04ZGQ4LTQ3ODAtYjk1Mi0xMDBjYzQ3OTdkYTIiLCJleHAiOjE3NjY2NjAxNTYsImlhdCI6MTY4MDI2MDE1NiwidXNlcm5hbWUiOiJhZG1pblBDIn0._QhvfhBxxfQN7xpFqZma1rCYbBtouo2pErtm8737L_8",
"value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ3b3Jrc3BhY2VfaWQiOiJlM2RlYTBmNS0zN2YyLTRkNzktYWU1OC00OTBhZjMyMjgwNjkiLCJzdWIiOiJDbG91ZEFwaVNhbXBsZSIsInVzZXJfdHlwZSI6IjEiLCJuYmYiOjE2Njg2NTk4MjYsImxvZyI6IkxvZ2dlcltjb20uZGppLnNhbXBsZS5jb21tb24ubW9kZWwuQ3VzdG9tQ2xhaW1dIiwiaXNzIjoiREpJIiwiaWQiOiJhMTU1OWU3Yy04ZGQ4LTQ3ODAtYjk1Mi0xMDBjYzQ3OTdkYTIiLCJleHAiOjE2Njg3NDYyMjYsImlhdCI6MTY2ODY1OTgyNiwidXNlcm5hbWUiOiJhZG1pblBDIn0.ykCpfJcReeb3etUzmNMQk1n0vaoDT6dl47J_aHRoTbU",
"type": "string"
},
{
@ -1722,7 +1578,7 @@ @@ -1722,7 +1578,7 @@
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"name\": \"\",\r\n \"file_id\": \"\",\r\n \"dock_sn\": \"\",\r\n \"wayline_type\": 0,\r\n \"task_type\": 0,\r\n \"task_days\": [1676029468],\r\n \"task_periods\": [[1676029468]],\r\n \"rth_altitude\": 20,\r\n \"out_of_control_action\": 1\r\n}",
"raw": "{\r\n \"name\": \"\",\r\n \"file_id\": \"\",\r\n \"dock_sn\": \"\",\r\n \"wayline_type\": 0,\r\n \"task_type\": 0,\r\n \"execute_time\": 123456789123,\r\n \"rth_altitude\": 20,\r\n \"out_of_control_action\": 1\r\n}",
"options": {
"raw": {
"language": "json"
@ -1823,64 +1679,6 @@ @@ -1823,64 +1679,6 @@
}
},
"response": []
},
{
"name": "Pause Job",
"request": {
"method": "PUT",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"status\": 0\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}{{wayline_version}}/workspaces/{{workspace_id}}/jobs/{{job_id}}",
"host": [
"{{base_url}}{{wayline_version}}"
],
"path": [
"workspaces",
"{{workspace_id}}",
"jobs",
"{{job_id}}"
]
}
},
"response": []
},
{
"name": "Resume Job",
"request": {
"method": "PUT",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"status\": 1\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}{{wayline_version}}/workspaces/{{workspace_id}}/jobs/{{job_id}}",
"host": [
"{{base_url}}{{wayline_version}}"
],
"path": [
"workspaces",
"{{workspace_id}}",
"jobs",
"{{job_id}}"
]
}
},
"response": []
}
],
"auth": {
@ -1888,7 +1686,7 @@ @@ -1888,7 +1686,7 @@
"apikey": [
{
"key": "value",
"value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ3b3Jrc3BhY2VfaWQiOiJlM2RlYTBmNS0zN2YyLTRkNzktYWU1OC00OTBhZjMyMjgwNjkiLCJzdWIiOiJDbG91ZEFwaVNhbXBsZSIsInVzZXJfdHlwZSI6IjEiLCJuYmYiOjE2Nzg4NjM0NzMsImxvZyI6IkxvZ2dlcltjb20uZGppLnNhbXBsZS5jb21tb24ubW9kZWwuQ3VzdG9tQ2xhaW1dIiwiaXNzIjoiREpJIiwiaWQiOiJhMTU1OWU3Yy04ZGQ4LTQ3ODAtYjk1Mi0xMDBjYzQ3OTdkYTIiLCJleHAiOjE3NjUyNjM0NzMsImlhdCI6MTY3ODg2MzQ3MywidXNlcm5hbWUiOiJhZG1pblBDIn0.r3ODgJtAHxrBCzDnCwTDCdUq8hLyfIUiDYzasYAIUII",
"value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ3b3Jrc3BhY2VfaWQiOiJlM2RlYTBmNS0zN2YyLTRkNzktYWU1OC00OTBhZjMyMjgwNjkiLCJzdWIiOiJDbG91ZEFwaVNhbXBsZSIsInVzZXJfdHlwZSI6IjEiLCJuYmYiOjE2Njg2NTk4MjYsImxvZyI6IkxvZ2dlcltjb20uZGppLnNhbXBsZS5jb21tb24ubW9kZWwuQ3VzdG9tQ2xhaW1dIiwiaXNzIjoiREpJIiwiaWQiOiJhMTU1OWU3Yy04ZGQ4LTQ3ODAtYjk1Mi0xMDBjYzQ3OTdkYTIiLCJleHAiOjE2Njg3NDYyMjYsImlhdCI6MTY2ODY1OTgyNiwidXNlcm5hbWUiOiJhZG1pblBDIn0.ykCpfJcReeb3etUzmNMQk1n0vaoDT6dl47J_aHRoTbU",
"type": "string"
},
{
@ -1929,7 +1727,7 @@ @@ -1929,7 +1727,7 @@
"header": [],
"body": {
"mode": "raw",
"raw": "",
"raw": "{\r\n \"action\": 0\r\n}",
"options": {
"raw": {
"language": "json"
@ -1937,7 +1735,7 @@ @@ -1937,7 +1735,7 @@
}
},
"url": {
"raw": "{{base_url}}{{control_version}}/devices/{{device_sn}}/jobs/return_home",
"raw": "{{base_url}}{{control_version}}/devices/{{device_sn}}/jobs/alarm_state_switch",
"host": [
"{{base_url}}{{control_version}}"
],
@ -1945,250 +1743,7 @@ @@ -1945,250 +1743,7 @@
"devices",
"{{device_sn}}",
"jobs",
"return_home"
]
}
},
"response": []
},
{
"name": "Web Drc Connect",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"client_id\": \"xxx\",\r\n \"expire_sec\": 1800\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}{{control_version}}/workspaces/{{workspace_id}}/drc/connect",
"host": [
"{{base_url}}{{control_version}}"
],
"path": [
"workspaces",
"{{workspace_id}}",
"drc",
"connect"
]
}
},
"response": []
},
{
"name": "Enter Drc Mode",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"client_id\": \"\",\r\n \"dock_sn\": \"\"\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}{{control_version}}/workspaces/{{workspace_id}}/drc/enter",
"host": [
"{{base_url}}{{control_version}}"
],
"path": [
"workspaces",
"{{workspace_id}}",
"drc",
"enter"
]
}
},
"response": []
},
{
"name": "Drc Mode Exit",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"client_id\": \"\",\r\n \"dock_sn\": \"\"\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}{{control_version}}/workspaces/{{workspace_id}}/drc/exit",
"host": [
"{{base_url}}{{control_version}}"
],
"path": [
"workspaces",
"{{workspace_id}}",
"drc",
"exit"
]
}
},
"response": []
},
{
"name": "Fly to Point",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"max_speed\": 15,\r\n \"points\":[\r\n {\r\n \"latitude\": 22.5818,\r\n \"longitude\": 113.9394,\r\n \"height\": 20\r\n }\r\n ]\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}{{control_version}}/devices/{{device_sn}}/jobs/fly-to-point",
"host": [
"{{base_url}}{{control_version}}"
],
"path": [
"devices",
"{{device_sn}}",
"jobs",
"fly-to-point"
]
}
},
"response": []
},
{
"name": "Stop Flying to Point",
"request": {
"method": "DELETE",
"header": [],
"url": {
"raw": "{{base_url}}{{control_version}}/devices/{{device_sn}}/jobs/fly-to-point",
"host": [
"{{base_url}}{{control_version}}"
],
"path": [
"devices",
"{{device_sn}}",
"jobs",
"fly-to-point"
]
}
},
"response": []
},
{
"name": "Take off to Point",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"target_latitude\": 22.579,\r\n \"target_longitude\": 113.9392,\r\n \"target_height\": 20,\r\n \"security_takeoff_height\": 20,\r\n \"rth_altitude\": 20,\r\n \"rc_lost_action\": 0,\r\n \"exit_wayline_when_rc_lost\": 0,\r\n \"max_speed\": 12\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}{{control_version}}/devices/{{device_sn}}/jobs/takeoff-to-point",
"host": [
"{{base_url}}{{control_version}}"
],
"path": [
"devices",
"{{device_sn}}",
"jobs",
"takeoff-to-point"
]
}
},
"response": []
},
{
"name": "Payload Commands",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"cmd\":\"camera_mode_switch\",\r\n \"data\":{\r\n \"payload_index\":\"53-0-0\",\r\n \"camera_mode\": 1\r\n }\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}{{control_version}}/devices/{{device_sn}}/payload/commands",
"host": [
"{{base_url}}{{control_version}}"
],
"path": [
"devices",
"{{device_sn}}",
"payload",
"commands"
]
}
},
"response": []
},
{
"name": "Flight Authority Grab",
"request": {
"method": "POST",
"header": [],
"url": {
"raw": "{{base_url}}{{control_version}}/devices/{{device_sn}}/authority/flight",
"host": [
"{{base_url}}{{control_version}}"
],
"path": [
"devices",
"{{device_sn}}",
"authority",
"flight"
]
}
},
"response": []
},
{
"name": "Payload Authority Grab",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"payload_index\":\"53-0-0\"\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{base_url}}{{control_version}}/devices/{{device_sn}}/authority/payload",
"host": [
"{{base_url}}{{control_version}}"
],
"path": [
"devices",
"{{device_sn}}",
"authority",
"payload"
"alarm_state_switch"
]
}
},
@ -2200,7 +1755,7 @@ @@ -2200,7 +1755,7 @@
"apikey": [
{
"key": "value",
"value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ3b3Jrc3BhY2VfaWQiOiJlM2RlYTBmNS0zN2YyLTRkNzktYWU1OC00OTBhZjMyMjgwNjkiLCJzdWIiOiJDbG91ZEFwaVNhbXBsZSIsInVzZXJfdHlwZSI6IjEiLCJuYmYiOjE2ODIyMzI5MDYsImxvZyI6IkxvZ2dlcltjb20uZGppLnNhbXBsZS5jb21tb24ubW9kZWwuQ3VzdG9tQ2xhaW1dIiwiaXNzIjoiREpJIiwiaWQiOiJhMTU1OWU3Yy04ZGQ4LTQ3ODAtYjk1Mi0xMDBjYzQ3OTdkYTIiLCJleHAiOjE3Njg2MzI5MDYsImlhdCI6MTY4MjIzMjkwNiwidXNlcm5hbWUiOiJhZG1pblBDIn0.ilO-3PcvWAX9r8z3AR4VAw3kVhavYjiTx_187ACBc1M",
"value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ3b3Jrc3BhY2VfaWQiOiJlM2RlYTBmNS0zN2YyLTRkNzktYWU1OC00OTBhZjMyMjgwNjkiLCJzdWIiOiJDbG91ZEFwaVNhbXBsZSIsInVzZXJfdHlwZSI6IjEiLCJuYmYiOjE2Njk2MzMzMzQsImxvZyI6IkxvZ2dlcltjb20uZGppLnNhbXBsZS5jb21tb24ubW9kZWwuQ3VzdG9tQ2xhaW1dIiwiaXNzIjoiREpJIiwiaWQiOiJhMTU1OWU3Yy04ZGQ4LTQ3ODAtYjk1Mi0xMDBjYzQ3OTdkYTIiLCJleHAiOjE2Njk3MTk3MzQsImlhdCI6MTY2OTYzMzMzNCwidXNlcm5hbWUiOiJhZG1pblBDIn0.OoIfdpyI5eL6bFm8akq8_stzClQU41YpIJkx6_kxVHU",
"type": "string"
},
{

48
cloud-sdk/README.md

@ -1,48 +0,0 @@ @@ -1,48 +0,0 @@
# 如何接入CloudSDK
### 1. 在组件扫描中增加包名:com.dji.sdk
### [2. 连接MQTT](#如何连接MQTT)
### [3. 实现SDK 的方法](#如何实现SDK的方法)
### [4. 调用SDK 的方法](#如何调用SDK的方法)
## 如何连接MQTT
- 在spring容器中注入MqttConnectOptions和MqttPahoClientFactory;
![1](./image/6.png)
- 在application.yml中配置cloud-sdk.mqtt.inbound-topic,未配置则不进行初始化订阅。
## 如何实现SDK的方法
- 定义一个类,继承com.dji.sdk.cloudapi.*.api包中的抽象类;
- 重写具体的方法以实现功能;
- 将定义的类放入spring容器中,由spring管理bean的生命周期。
### 【设备上线】示例:
- 定义一个类:SDKDeviceService 继承AbstractDeviceService;
![1](./image/1.png)
- 重写方法updateTopoOnline,实现设备上线功能。
![1](./image/2.png)
## 如何调用SDK的方法
- 定义一个类,继承com.dji.sdk.cloudapi.*.api包中的抽象类;
- 在需要调用的类中注入该类;
- 调用具体的方法。
### 【航线预下发命令】示例:
- 定义一个类:SDKWaylineService 继承 AbstractWaylineService;
![1](./image/3.png)
- 在WaylineJobServiceImpl中注入该类;
![1](./image/4.png)
- 调用下发命令的方法:
![1](./image/5.png)
## 如何实现CloudAPI 定义的http 接口
- 定义一个类,实现com.dji.sdk.cloudapi.*.api包中的http接口类;
- 重写具体的方法以实现接口,无需定义请求地址和方法等数据。
![1](./image/7.png)
## 如何查看CloudAPI 定义的所有http 接口
- 启动程序
- 浏览器打开:http://localhost:6789/swagger-ui/index.html
## 如何接入WebSocket
- CloudSDK 已经定义了WebSocket服务,但是没有实现WebSocket管理。默认地址为:http://localhost:6789/api/v1/ws
- 自定义接入参考:com.dji.sample.component.websocket.config

BIN
cloud-sdk/image/1.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

BIN
cloud-sdk/image/2.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 144 KiB

BIN
cloud-sdk/image/3.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

BIN
cloud-sdk/image/4.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 195 KiB

BIN
cloud-sdk/image/5.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

BIN
cloud-sdk/image/6.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 223 KiB

BIN
cloud-sdk/image/7.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 181 KiB

32
cloud-sdk/pom.xml

@ -1,32 +0,0 @@ @@ -1,32 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>cloud-api-sample</artifactId>
<groupId>com.dji</groupId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>cloud-sdk</artifactId>
<version>${cloud-sdk.revision}</version>
<dependencies>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.7.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
</dependencies>
</project>

26
cloud-sdk/src/main/java/com/dji/sdk/annotations/CloudSDKVersion.java

@ -1,26 +0,0 @@ @@ -1,26 +0,0 @@
package com.dji.sdk.annotations;
import com.dji.sdk.config.version.CloudSDKVersionEnum;
import com.dji.sdk.config.version.GatewayTypeEnum;
import java.lang.annotation.*;
/**
* @author sean
* @version 1.7
* @date 2023/5/22
*/
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.METHOD})
public @interface CloudSDKVersion {
CloudSDKVersionEnum since() default CloudSDKVersionEnum.V0_0_1;
CloudSDKVersionEnum deprecated() default CloudSDKVersionEnum.V99;
GatewayTypeEnum[] include() default {};
GatewayTypeEnum[] exclude() default {};
}

178
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/airsense/AirsenseWarning.java

@ -1,178 +0,0 @@ @@ -1,178 +0,0 @@
package com.dji.sdk.cloudapi.airsense;
/**
* @author sean
* @version 1.7
* @date 2023/10/16
*/
public class AirsenseWarning {
/**
* ICAO civil aviation aircraft address
*/
private String icao;
/**
* The higher the danger level, the more dangerous it is.
* For levels greater than or equal to 3, it is recommended for aircraft to take evasive action.
*/
private WarningLevelEnum warningLevel;
/**
* The latitude of aircraft location is angular values.
* Negative values for south latitude and positive values for north latitude.
* It is accurate to six decimal places.
*/
private Float latitude;
/**
* The longitude of aircraft location is angular values.
* Negative values for west longitude and positive values for east longitude.
* It is accurate to six decimal places.
*/
private Float longitude;
/**
* Absolute height of flight.
* Unit: meter
*/
private Integer altitude;
/**
* Absolute height type
*/
private AltitudeTypeEnum altitudeType;
/**
* The angle of heading is angular values.
* 0 is north. 90 is east.
* It is accurate to one decimal places.
*/
private Float heading;
/**
* Relative height of flight to aircraft.
* Unit: meter
*/
private Integer relativeAltitude;
/**
* Relative height change trend
*/
private VertTrendEnum vertTrend;
/**
* Horizontal distance to aircraft.
* Unit: meter
*/
private Integer distance;
public AirsenseWarning() {
}
@Override
public String toString() {
return "AirsenseWarning{" +
"icao='" + icao + '\'' +
", warningLevel=" + warningLevel +
", latitude=" + latitude +
", longitude=" + longitude +
", altitude=" + altitude +
", altitudeType=" + altitudeType +
", heading=" + heading +
", relativeAltitude=" + relativeAltitude +
", vertTrend=" + vertTrend +
", distance=" + distance +
'}';
}
public String getIcao() {
return icao;
}
public AirsenseWarning setIcao(String icao) {
this.icao = icao;
return this;
}
public WarningLevelEnum getWarningLevel() {
return warningLevel;
}
public AirsenseWarning setWarningLevel(WarningLevelEnum warningLevel) {
this.warningLevel = warningLevel;
return this;
}
public Float getLatitude() {
return latitude;
}
public AirsenseWarning setLatitude(Float latitude) {
this.latitude = latitude;
return this;
}
public Float getLongitude() {
return longitude;
}
public AirsenseWarning setLongitude(Float longitude) {
this.longitude = longitude;
return this;
}
public Integer getAltitude() {
return altitude;
}
public AirsenseWarning setAltitude(Integer altitude) {
this.altitude = altitude;
return this;
}
public AltitudeTypeEnum getAltitudeType() {
return altitudeType;
}
public AirsenseWarning setAltitudeType(AltitudeTypeEnum altitudeType) {
this.altitudeType = altitudeType;
return this;
}
public Float getHeading() {
return heading;
}
public AirsenseWarning setHeading(Float heading) {
this.heading = heading;
return this;
}
public Integer getRelativeAltitude() {
return relativeAltitude;
}
public AirsenseWarning setRelativeAltitude(Integer relativeAltitude) {
this.relativeAltitude = relativeAltitude;
return this;
}
public VertTrendEnum getVertTrend() {
return vertTrend;
}
public AirsenseWarning setVertTrend(VertTrendEnum vertTrend) {
this.vertTrend = vertTrend;
return this;
}
public Integer getDistance() {
return distance;
}
public AirsenseWarning setDistance(Integer distance) {
this.distance = distance;
return this;
}
}

39
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/airsense/AltitudeTypeEnum.java

@ -1,39 +0,0 @@ @@ -1,39 +0,0 @@
package com.dji.sdk.cloudapi.airsense;
import com.dji.sdk.exception.CloudSDKException;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
/**
* @author sean
* @version 1.7
* @date 2023/10/16
*/
public enum AltitudeTypeEnum {
ELLIPSOID_HEIGHT(0),
ABOVE_SEA_LEVEL(1),
;
private final int type;
AltitudeTypeEnum(int type) {
this.type = type;
}
@JsonValue
public int getType() {
return type;
}
@JsonCreator
public static AltitudeTypeEnum find(int type) {
return Arrays.stream(values()).filter(typeEnum -> typeEnum.type == type).findAny()
.orElseThrow(() -> new CloudSDKException(AltitudeTypeEnum.class, type));
}
}

41
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/airsense/VertTrendEnum.java

@ -1,41 +0,0 @@ @@ -1,41 +0,0 @@
package com.dji.sdk.cloudapi.airsense;
import com.dji.sdk.exception.CloudSDKException;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
/**
* @author sean
* @version 1.7
* @date 2023/10/16
*/
public enum VertTrendEnum {
RELATIVE_HEIGHT_UNCHANGED(0),
RELATIVE_HEIGHT_INCREASE(1),
RELATIVE_HEIGHT_DECREASE(2),
;
private final int trend;
VertTrendEnum(int trend) {
this.trend = trend;
}
@JsonValue
public int getTrend() {
return trend;
}
@JsonCreator
public static VertTrendEnum find(int trend) {
return Arrays.stream(values()).filter(trendEnum -> trendEnum.trend == trend).findAny()
.orElseThrow(() -> new CloudSDKException(VertTrendEnum.class, trend));
}
}

45
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/airsense/WarningLevelEnum.java

@ -1,45 +0,0 @@ @@ -1,45 +0,0 @@
package com.dji.sdk.cloudapi.airsense;
import com.dji.sdk.exception.CloudSDKException;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
/**
* @author sean
* @version 1.7
* @date 2023/10/16
*/
public enum WarningLevelEnum {
ZERO(0),
ONE(1),
TWO(2),
THREE(3),
FOUR(4),
;
private final int level;
WarningLevelEnum(int level) {
this.level = level;
}
@JsonValue
public int getLevel() {
return level;
}
@JsonCreator
public static WarningLevelEnum find(int level) {
return Arrays.stream(values()).filter(levelEnum -> levelEnum.level == level).findAny()
.orElseThrow(() -> new CloudSDKException(WarningLevelEnum.class, level));
}
}

36
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/airsense/api/AbstractAirsenseService.java

@ -1,36 +0,0 @@ @@ -1,36 +0,0 @@
package com.dji.sdk.cloudapi.airsense.api;
import com.dji.sdk.annotations.CloudSDKVersion;
import com.dji.sdk.cloudapi.airsense.AirsenseWarning;
import com.dji.sdk.config.version.CloudSDKVersionEnum;
import com.dji.sdk.mqtt.ChannelName;
import com.dji.sdk.mqtt.MqttReply;
import com.dji.sdk.mqtt.events.TopicEventsRequest;
import com.dji.sdk.mqtt.events.TopicEventsResponse;
import org.springframework.integration.annotation.ServiceActivator;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageHeaders;
import java.util.List;
/**
* @author sean
* @version 1.7
* @date 2023/10/16
*/
public abstract class AbstractAirsenseService {
/**
* cloud-custom data transmit from psdk
* @param request data
* @param headers The headers for a {@link Message}.
* @return events_reply
*/
@ServiceActivator(inputChannel = ChannelName.INBOUND_EVENTS_AIRSENSE_WARNING, outputChannel = ChannelName.OUTBOUND_EVENTS)
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_0)
public TopicEventsResponse<MqttReply> airsenseWarning(TopicEventsRequest<List<AirsenseWarning>> request, MessageHeaders headers) {
throw new UnsupportedOperationException("airsenseWarning not implemented");
}
}

34
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/config/ConfigScopeEnum.java

@ -1,34 +0,0 @@ @@ -1,34 +0,0 @@
package com.dji.sdk.cloudapi.config;
import com.dji.sdk.exception.CloudSDKException;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
/**
* @author sean
* @version 1.3
* @date 2022/11/10
*/
public enum ConfigScopeEnum {
PRODUCT("product");
private final String scope;
ConfigScopeEnum(String scope) {
this.scope = scope;
}
@JsonValue
public String getScope() {
return scope;
}
@JsonCreator
public static ConfigScopeEnum find(String scope) {
return Arrays.stream(values()).filter(scopeEnum -> scopeEnum.scope.equals(scope)).findAny()
.orElseThrow(() -> new CloudSDKException(ConfigScopeEnum.class, scope));
}
}

34
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/config/ConfigTypeEnum.java

@ -1,34 +0,0 @@ @@ -1,34 +0,0 @@
package com.dji.sdk.cloudapi.config;
import com.dji.sdk.exception.CloudSDKException;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
/**
* @author sean
* @version 1.3
* @date 2022/11/10
*/
public enum ConfigTypeEnum {
JSON("json");
private final String type;
ConfigTypeEnum(String type) {
this.type = type;
}
@JsonValue
public String getType() {
return type;
}
@JsonCreator
public static ConfigTypeEnum find(String type) {
return Arrays.stream(values()).filter(typeEnum -> typeEnum.type.equals(type)).findAny()
.orElseThrow(() -> new CloudSDKException(ConfigTypeEnum.class, type));
}
}

73
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/config/ProductConfigResponse.java

@ -1,73 +0,0 @@ @@ -1,73 +0,0 @@
package com.dji.sdk.cloudapi.config;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.3
* @date 2022/11/10
*/
public class ProductConfigResponse extends BaseModel {
private String ntpServerHost;
@NotNull
private String appId;
@NotNull
private String appKey;
@NotNull
private String appLicense;
public ProductConfigResponse() {
}
@Override
public String toString() {
return "ProductConfigResponse{" +
"ntpServerHost='" + ntpServerHost + '\'' +
", appId='" + appId + '\'' +
", appKey='" + appKey + '\'' +
", appLicense='" + appLicense + '\'' +
'}';
}
public String getNtpServerHost() {
return ntpServerHost;
}
public ProductConfigResponse setNtpServerHost(String ntpServerHost) {
this.ntpServerHost = ntpServerHost;
return this;
}
public String getAppId() {
return appId;
}
public ProductConfigResponse setAppId(String appId) {
this.appId = appId;
return this;
}
public String getAppKey() {
return appKey;
}
public ProductConfigResponse setAppKey(String appKey) {
this.appKey = appKey;
return this;
}
public String getAppLicense() {
return appLicense;
}
public ProductConfigResponse setAppLicense(String appLicense) {
this.appLicense = appLicense;
return this;
}
}

42
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/config/RequestsConfigRequest.java

@ -1,42 +0,0 @@ @@ -1,42 +0,0 @@
package com.dji.sdk.cloudapi.config;
/**
* @author sean
* @version 1.3
* @date 2022/11/10
*/
public class RequestsConfigRequest {
private ConfigTypeEnum configType;
private ConfigScopeEnum configScope;
public RequestsConfigRequest() {
}
@Override
public String toString() {
return "RequestsConfigRequest{" +
"configType=" + configType +
", configScope=" + configScope +
'}';
}
public ConfigTypeEnum getConfigType() {
return configType;
}
public RequestsConfigRequest setConfigType(ConfigTypeEnum configType) {
this.configType = configType;
return this;
}
public ConfigScopeEnum getConfigScope() {
return configScope;
}
public RequestsConfigRequest setConfigScope(ConfigScopeEnum configScope) {
this.configScope = configScope;
return this;
}
}

30
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/config/api/AbstractConfigService.java

@ -1,30 +0,0 @@ @@ -1,30 +0,0 @@
package com.dji.sdk.cloudapi.config.api;
import com.dji.sdk.cloudapi.config.ProductConfigResponse;
import com.dji.sdk.cloudapi.config.RequestsConfigRequest;
import com.dji.sdk.mqtt.ChannelName;
import com.dji.sdk.mqtt.requests.TopicRequestsRequest;
import com.dji.sdk.mqtt.requests.TopicRequestsResponse;
import org.springframework.integration.annotation.ServiceActivator;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageHeaders;
/**
* @author sean
* @version 1.7
* @date 2023/6/29
*/
public abstract class AbstractConfigService {
/**
* Inform of file uploading progress
* @param request data
* @param headers The headers for a {@link Message}.
* @return requests_reply
*/
@ServiceActivator(inputChannel = ChannelName.INBOUND_REQUESTS_CONFIG, outputChannel = ChannelName.OUTBOUND_REQUESTS)
public TopicRequestsResponse<ProductConfigResponse> requestsConfig(TopicRequestsRequest<RequestsConfigRequest> request, MessageHeaders headers) {
throw new UnsupportedOperationException("requestsConfig not implemented");
}
}

99
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraAimRequest.java

@ -1,99 +0,0 @@ @@ -1,99 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.device.PayloadIndex;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.4
* @date 2023/3/1
*/
public class CameraAimRequest extends BaseModel {
@NotNull
private PayloadIndex payloadIndex;
@NotNull
private CameraTypeEnum cameraType;
/**
* true: Lock the gimbal, the gimbal and the drone rotate together.
* false: Only the gimbal rotates, but the drone does not.
*/
@NotNull
private Boolean locked;
/**
* upper left corner as center point
*/
@Min(0)
@Max(1)
private Float x;
@Min(0)
@Max(1)
private Float y;
public CameraAimRequest() {
}
@Override
public String toString() {
return "CameraAimRequest{" +
"payloadIndex=" + payloadIndex +
", cameraType=" + cameraType +
", locked=" + locked +
", x=" + x +
", y=" + y +
'}';
}
public PayloadIndex getPayloadIndex() {
return payloadIndex;
}
public CameraAimRequest setPayloadIndex(PayloadIndex payloadIndex) {
this.payloadIndex = payloadIndex;
return this;
}
public CameraTypeEnum getCameraType() {
return cameraType;
}
public CameraAimRequest setCameraType(CameraTypeEnum cameraType) {
this.cameraType = cameraType;
return this;
}
public Boolean getLocked() {
return locked;
}
public CameraAimRequest setLocked(Boolean locked) {
this.locked = locked;
return this;
}
public Float getX() {
return x;
}
public CameraAimRequest setX(Float x) {
this.x = x;
return this;
}
public Float getY() {
return y;
}
public CameraAimRequest setY(Float y) {
this.y = y;
return this;
}
}

68
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraExposureModeSetRequest.java

@ -1,68 +0,0 @@ @@ -1,68 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.device.PayloadIndex;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.9
* @date 2023/12/12
*/
public class CameraExposureModeSetRequest extends BaseModel {
/**
* Camera enumeration.
* It is unofficial device_mode_key.
* The format is *{type-subtype-gimbalindex}*.
* Please read [Product Supported](https://developer.dji.com/doc/cloud-api-tutorial/en/overview/product-support.html)
*/
@NotNull
private PayloadIndex payloadIndex;
@NotNull
private ExposureCameraTypeEnum cameraType;
@NotNull
private ExposureModeEnum exposureMode;
public CameraExposureModeSetRequest() {
}
@Override
public String toString() {
return "CameraExposureModeSetRequest{" +
"payloadIndex=" + payloadIndex +
", cameraType=" + cameraType +
", exposureMode=" + exposureMode +
'}';
}
public PayloadIndex getPayloadIndex() {
return payloadIndex;
}
public CameraExposureModeSetRequest setPayloadIndex(PayloadIndex payloadIndex) {
this.payloadIndex = payloadIndex;
return this;
}
public ExposureCameraTypeEnum getCameraType() {
return cameraType;
}
public CameraExposureModeSetRequest setCameraType(ExposureCameraTypeEnum cameraType) {
this.cameraType = cameraType;
return this;
}
public ExposureModeEnum getExposureMode() {
return exposureMode;
}
public CameraExposureModeSetRequest setExposureMode(ExposureModeEnum exposureMode) {
this.exposureMode = exposureMode;
return this;
}
}

68
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraExposureSetRequest.java

@ -1,68 +0,0 @@ @@ -1,68 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.device.PayloadIndex;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.9
* @date 2023/12/12
*/
public class CameraExposureSetRequest extends BaseModel {
/**
* Camera enumeration.
* It is unofficial device_mode_key.
* The format is *{type-subtype-gimbalindex}*.
* Please read [Product Supported](https://developer.dji.com/doc/cloud-api-tutorial/en/overview/product-support.html)
*/
@NotNull
private PayloadIndex payloadIndex;
@NotNull
private ExposureCameraTypeEnum cameraType;
@NotNull
private ExposureValueEnum exposureValue;
public CameraExposureSetRequest() {
}
@Override
public String toString() {
return "CameraExposureSetRequest{" +
"payloadIndex=" + payloadIndex +
", cameraType=" + cameraType +
", exposureValue=" + exposureValue +
'}';
}
public PayloadIndex getPayloadIndex() {
return payloadIndex;
}
public CameraExposureSetRequest setPayloadIndex(PayloadIndex payloadIndex) {
this.payloadIndex = payloadIndex;
return this;
}
public ExposureCameraTypeEnum getCameraType() {
return cameraType;
}
public CameraExposureSetRequest setCameraType(ExposureCameraTypeEnum cameraType) {
this.cameraType = cameraType;
return this;
}
public ExposureValueEnum getExposureValue() {
return exposureValue;
}
public CameraExposureSetRequest setExposureValue(ExposureValueEnum exposureValue) {
this.exposureValue = exposureValue;
return this;
}
}

66
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraFocalLengthSetRequest.java

@ -1,66 +0,0 @@ @@ -1,66 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.device.PayloadIndex;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.4
* @date 2023/3/1
*/
public class CameraFocalLengthSetRequest extends BaseModel {
@NotNull
private PayloadIndex payloadIndex;
@NotNull
private ZoomCameraTypeEnum cameraType;
@Min(2)
@Max(200)
@NotNull
private Float zoomFactor;
public CameraFocalLengthSetRequest() {
}
@Override
public String toString() {
return "CameraFocalLengthSetRequest{" +
"payloadIndex=" + payloadIndex +
", cameraType=" + cameraType +
", zoomFactor=" + zoomFactor +
'}';
}
public PayloadIndex getPayloadIndex() {
return payloadIndex;
}
public CameraFocalLengthSetRequest setPayloadIndex(PayloadIndex payloadIndex) {
this.payloadIndex = payloadIndex;
return this;
}
public ZoomCameraTypeEnum getCameraType() {
return cameraType;
}
public CameraFocalLengthSetRequest setCameraType(ZoomCameraTypeEnum cameraType) {
this.cameraType = cameraType;
return this;
}
public Float getZoomFactor() {
return zoomFactor;
}
public CameraFocalLengthSetRequest setZoomFactor(Float zoomFactor) {
this.zoomFactor = zoomFactor;
return this;
}
}

68
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraFocusModeSetRequest.java

@ -1,68 +0,0 @@ @@ -1,68 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.device.PayloadIndex;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.9
* @date 2023/12/12
*/
public class CameraFocusModeSetRequest extends BaseModel {
/**
* Camera enumeration.
* It is unofficial device_mode_key.
* The format is *{type-subtype-gimbalindex}*.
* Please read [Product Supported](https://developer.dji.com/doc/cloud-api-tutorial/en/overview/product-support.html)
*/
@NotNull
private PayloadIndex payloadIndex;
@NotNull
private ExposureCameraTypeEnum cameraType;
@NotNull
private FocusModeEnum focusMode;
public CameraFocusModeSetRequest() {
}
@Override
public String toString() {
return "CameraFocusModeSetRequest{" +
"payloadIndex=" + payloadIndex +
", cameraType=" + cameraType +
", focusMode=" + focusMode +
'}';
}
public PayloadIndex getPayloadIndex() {
return payloadIndex;
}
public CameraFocusModeSetRequest setPayloadIndex(PayloadIndex payloadIndex) {
this.payloadIndex = payloadIndex;
return this;
}
public ExposureCameraTypeEnum getCameraType() {
return cameraType;
}
public CameraFocusModeSetRequest setCameraType(ExposureCameraTypeEnum cameraType) {
this.cameraType = cameraType;
return this;
}
public FocusModeEnum getFocusMode() {
return focusMode;
}
public CameraFocusModeSetRequest setFocusMode(FocusModeEnum focusMode) {
this.focusMode = focusMode;
return this;
}
}

68
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraFocusValueSetRequest.java

@ -1,68 +0,0 @@ @@ -1,68 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.device.PayloadIndex;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.9
* @date 2023/12/12
*/
public class CameraFocusValueSetRequest extends BaseModel {
/**
* Camera enumeration.
* It is unofficial device_mode_key.
* The format is *{type-subtype-gimbalindex}*.
* Please read [Product Supported](https://developer.dji.com/doc/cloud-api-tutorial/en/overview/product-support.html)
*/
@NotNull
private PayloadIndex payloadIndex;
@NotNull
private ExposureCameraTypeEnum cameraType;
@NotNull
private Integer focusValue;
public CameraFocusValueSetRequest() {
}
@Override
public String toString() {
return "CameraFocusValueSetRequest{" +
"payloadIndex=" + payloadIndex +
", cameraType=" + cameraType +
", focusValue=" + focusValue +
'}';
}
public PayloadIndex getPayloadIndex() {
return payloadIndex;
}
public CameraFocusValueSetRequest setPayloadIndex(PayloadIndex payloadIndex) {
this.payloadIndex = payloadIndex;
return this;
}
public ExposureCameraTypeEnum getCameraType() {
return cameraType;
}
public CameraFocusValueSetRequest setCameraType(ExposureCameraTypeEnum cameraType) {
this.cameraType = cameraType;
return this;
}
public Integer getFocusValue() {
return focusValue;
}
public CameraFocusValueSetRequest setFocusValue(Integer focusValue) {
this.focusValue = focusValue;
return this;
}
}

98
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraLookAtRequest.java

@ -1,98 +0,0 @@ @@ -1,98 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.device.PayloadIndex;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.7
* @date 2023/10/12
*/
public class CameraLookAtRequest extends BaseModel {
/**
* Camera enumeration.
* It is unofficial device_mode_key.
* The format is *{type-subtype-gimbalindex}*.
* Please read [Product Supported](https://developer.dji.com/doc/cloud-api-tutorial/en/overview/product-support.html)
*/
@NotNull
private PayloadIndex payloadIndex;
/**
* Whether the relative location of drone head and gimbal is locked
*/
@NotNull
private Boolean locked;
/**
* The latitude of target point is angular values.
* Negative values for south latitude and positive values for north latitude.
* It is accurate to six decimal places.
*/
@Min(-90)
@Max(90)
@NotNull
private Float latitude;
/**
* The latitude of target point is angular values.
* Negative values for west longitude and positive values for east longitude.
* It is accurate to six decimal places.
*/
@NotNull
@Min(-180)
@Max(180)
private Float longitude;
/**
* Ellipsoid height
*/
@NotNull
@Min(2)
@Max(10000)
private Float height;
public CameraLookAtRequest() {
}
@Override
public String toString() {
return "CameraLookAtRequest{" +
"payloadIndex=" + payloadIndex +
", locked=" + locked +
", latitude=" + latitude +
", longitude=" + longitude +
", height=" + height +
'}';
}
public CameraLookAtRequest setPayloadIndex(PayloadIndex payloadIndex) {
this.payloadIndex = payloadIndex;
return this;
}
public CameraLookAtRequest setLocked(Boolean locked) {
this.locked = locked;
return this;
}
public CameraLookAtRequest setLatitude(Float latitude) {
this.latitude = latitude;
return this;
}
public CameraLookAtRequest setLongitude(Float longitude) {
this.longitude = longitude;
return this;
}
public CameraLookAtRequest setHeight(Float height) {
this.height = height;
return this;
}
}

50
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraModeSwitchRequest.java

@ -1,50 +0,0 @@ @@ -1,50 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.device.CameraModeEnum;
import com.dji.sdk.cloudapi.device.PayloadIndex;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.4
* @date 2023/3/1
*/
public class CameraModeSwitchRequest extends BaseModel {
@NotNull
private PayloadIndex payloadIndex;
@NotNull
private CameraModeEnum cameraMode;
public CameraModeSwitchRequest() {
}
@Override
public String toString() {
return "CameraModeSwitchRequest{" +
"payloadIndex=" + payloadIndex +
", cameraMode=" + cameraMode +
'}';
}
public PayloadIndex getPayloadIndex() {
return payloadIndex;
}
public CameraModeSwitchRequest setPayloadIndex(PayloadIndex payloadIndex) {
this.payloadIndex = payloadIndex;
return this;
}
public CameraModeEnum getCameraMode() {
return cameraMode;
}
public CameraModeSwitchRequest setCameraMode(CameraModeEnum cameraMode) {
this.cameraMode = cameraMode;
return this;
}
}

36
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraPhotoStopRequest.java

@ -1,36 +0,0 @@ @@ -1,36 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.device.PayloadIndex;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.9
* @date 2023/12/12
*/
public class CameraPhotoStopRequest extends BaseModel {
@NotNull
private PayloadIndex payloadIndex;
public CameraPhotoStopRequest() {
}
@Override
public String toString() {
return "CameraPhotoStopRequest{" +
"payloadIndex=" + payloadIndex +
'}';
}
public PayloadIndex getPayloadIndex() {
return payloadIndex;
}
public CameraPhotoStopRequest setPayloadIndex(PayloadIndex payloadIndex) {
this.payloadIndex = payloadIndex;
return this;
}
}

56
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraPhotoTakeProgress.java

@ -1,56 +0,0 @@ @@ -1,56 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.wayline.FlighttaskStatusEnum;
/**
* @author sean
* @version 1.9
* @date 2023/12/12
*/
public class CameraPhotoTakeProgress {
private PhotoTakeProgressExt ext;
private PhotoTakeProgressData progress;
private FlighttaskStatusEnum status;
public CameraPhotoTakeProgress() {
}
@Override
public String toString() {
return "CameraPhotoTakeProgress{" +
"ext=" + ext +
", progress=" + progress +
", status=" + status +
'}';
}
public PhotoTakeProgressExt getExt() {
return ext;
}
public CameraPhotoTakeProgress setExt(PhotoTakeProgressExt ext) {
this.ext = ext;
return this;
}
public PhotoTakeProgressData getProgress() {
return progress;
}
public CameraPhotoTakeProgress setProgress(PhotoTakeProgressData progress) {
this.progress = progress;
return this;
}
public FlighttaskStatusEnum getStatus() {
return status;
}
public CameraPhotoTakeProgress setStatus(FlighttaskStatusEnum status) {
this.status = status;
return this;
}
}

36
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraPhotoTakeRequest.java

@ -1,36 +0,0 @@ @@ -1,36 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.device.PayloadIndex;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.4
* @date 2023/3/1
*/
public class CameraPhotoTakeRequest extends BaseModel {
@NotNull
private PayloadIndex payloadIndex;
public CameraPhotoTakeRequest() {
}
@Override
public String toString() {
return "CameraPhotoTakeRequest{" +
"payloadIndex=" + payloadIndex +
'}';
}
public PayloadIndex getPayloadIndex() {
return payloadIndex;
}
public CameraPhotoTakeRequest setPayloadIndex(PayloadIndex payloadIndex) {
this.payloadIndex = payloadIndex;
return this;
}
}

93
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraPointFocusActionRequest.java

@ -1,93 +0,0 @@ @@ -1,93 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.device.PayloadIndex;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.9
* @date 2023/12/12
*/
public class CameraPointFocusActionRequest extends BaseModel {
/**
* Camera enumeration.
* It is unofficial device_mode_key.
* The format is *{type-subtype-gimbalindex}*.
* Please read [Product Supported](https://developer.dji.com/doc/cloud-api-tutorial/en/overview/product-support.html)
*/
@NotNull
private PayloadIndex payloadIndex;
@NotNull
private ExposureCameraTypeEnum cameraType;
/**
* The coordinate x of the temperature measurement point is the upper left corner of the lens as the coordinate center point, and the horizontal direction is x.
*/
@NotNull
@Min(0)
@Max(1)
private Float x;
/**
* The coordinate y of the temperature measurement point is the upper left corner of the lens as the coordinate center point, and the vertical direction is y.
*/
@NotNull
@Min(0)
@Max(1)
private Float y;
public CameraPointFocusActionRequest() {
}
@Override
public String toString() {
return "CameraPointFocusActionRequest{" +
"payloadIndex=" + payloadIndex +
", cameraType=" + cameraType +
", x=" + x +
", y=" + y +
'}';
}
public PayloadIndex getPayloadIndex() {
return payloadIndex;
}
public CameraPointFocusActionRequest setPayloadIndex(PayloadIndex payloadIndex) {
this.payloadIndex = payloadIndex;
return this;
}
public ExposureCameraTypeEnum getCameraType() {
return cameraType;
}
public CameraPointFocusActionRequest setCameraType(ExposureCameraTypeEnum cameraType) {
this.cameraType = cameraType;
return this;
}
public Float getX() {
return x;
}
public CameraPointFocusActionRequest setX(Float x) {
this.x = x;
return this;
}
public Float getY() {
return y;
}
public CameraPointFocusActionRequest setY(Float y) {
this.y = y;
return this;
}
}

36
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraRecordingStartRequest.java

@ -1,36 +0,0 @@ @@ -1,36 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.device.PayloadIndex;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.4
* @date 2023/3/1
*/
public class CameraRecordingStartRequest extends BaseModel {
@NotNull
private PayloadIndex payloadIndex;
public CameraRecordingStartRequest() {
}
@Override
public String toString() {
return "CameraRecordingStartRequest{" +
"payloadIndex=" + payloadIndex +
'}';
}
public PayloadIndex getPayloadIndex() {
return payloadIndex;
}
public CameraRecordingStartRequest setPayloadIndex(PayloadIndex payloadIndex) {
this.payloadIndex = payloadIndex;
return this;
}
}

36
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraRecordingStopRequest.java

@ -1,36 +0,0 @@ @@ -1,36 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.device.PayloadIndex;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.4
* @date 2023/3/1
*/
public class CameraRecordingStopRequest extends BaseModel {
@NotNull
private PayloadIndex payloadIndex;
public CameraRecordingStopRequest() {
}
@Override
public String toString() {
return "CameraRecordingStopRequest{" +
"payloadIndex=" + payloadIndex +
'}';
}
public PayloadIndex getPayloadIndex() {
return payloadIndex;
}
public CameraRecordingStopRequest setPayloadIndex(PayloadIndex payloadIndex) {
this.payloadIndex = payloadIndex;
return this;
}
}

58
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraScreenSplitRequest.java

@ -1,58 +0,0 @@ @@ -1,58 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.device.PayloadIndex;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.7
* @date 2023/10/12
*/
public class CameraScreenSplitRequest extends BaseModel {
/**
* Camera enumeration.
* It is unofficial device_mode_key.
* The format is *{type-subtype-gimbalindex}*.
* Please read [Product Supported](https://developer.dji.com/doc/cloud-api-tutorial/en/overview/product-support.html)
*/
@NotNull
private PayloadIndex payloadIndex;
/**
* Whether enable the screen split
*/
@NotNull
private Boolean enable;
public CameraScreenSplitRequest() {
}
@Override
public String toString() {
return "CameraScreenSplitRequest{" +
"payloadIndex=" + payloadIndex +
", enable=" + enable +
'}';
}
public PayloadIndex getPayloadIndex() {
return payloadIndex;
}
public CameraScreenSplitRequest setPayloadIndex(PayloadIndex payloadIndex) {
this.payloadIndex = payloadIndex;
return this;
}
public Boolean getEnable() {
return enable;
}
public CameraScreenSplitRequest setEnable(Boolean enable) {
this.enable = enable;
return this;
}
}

38
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CameraTypeEnum.java

@ -1,38 +0,0 @@ @@ -1,38 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.exception.CloudSDKException;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
/**
* @author sean
* @version 1.4
* @date 2023/3/3
*/
public enum CameraTypeEnum {
ZOOM("zoom"),
WIDE("wide"),
IR("ir");
private final String type;
CameraTypeEnum(String type) {
this.type = type;
}
@JsonValue
public String getType() {
return type;
}
@JsonCreator
public static CameraTypeEnum find(String type) {
return Arrays.stream(values()).filter(typeEnum -> typeEnum.type.equals(type)).findAny()
.orElseThrow(() -> new CloudSDKException(CameraTypeEnum.class, type));
}
}

37
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CommanderFlightModeEnum.java

@ -1,37 +0,0 @@ @@ -1,37 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.exception.CloudSDKException;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
/**
* @author sean
* @version 1.7
* @date 2023/8/7
*/
public enum CommanderFlightModeEnum {
SMART_HEIGHT(0),
SETTING_HEIGHT(1);
private final int mode;
CommanderFlightModeEnum(int mode) {
this.mode = mode;
}
@JsonValue
public int getMode() {
return mode;
}
@JsonCreator
public static CommanderFlightModeEnum find(int mode) {
return Arrays.stream(values()).filter(modeEnum -> modeEnum.mode == mode).findAny()
.orElseThrow(() -> new CloudSDKException(CommanderFlightModeEnum.class, mode));
}
}

36
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/CommanderModeLostActionEnum.java

@ -1,36 +0,0 @@ @@ -1,36 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.exception.CloudSDKException;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
/**
* @author sean
* @version 1.7
* @date 2023/6/6
*/
public enum CommanderModeLostActionEnum {
CONTINUE(0),
EXECUTE_RC_LOST_ACTION(1);
private final int action;
CommanderModeLostActionEnum(int action) {
this.action = action;
}
@JsonValue
public int getAction() {
return action;
}
@JsonCreator
public static CommanderModeLostActionEnum find(int action) {
return Arrays.stream(values()).filter(actionEnum -> actionEnum.action == action).findAny()
.orElseThrow(() -> new CloudSDKException(CommanderModeLostActionEnum.class, action));
}
}

91
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/ControlErrorCodeEnum.java

@ -1,91 +0,0 @@ @@ -1,91 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.common.IErrorInfo;
import com.dji.sdk.mqtt.events.IEventsErrorCode;
import com.dji.sdk.mqtt.services.IServicesErrorCode;
import java.util.Arrays;
/**
* @author sean.zhou
* @version 0.1
* @date 2021/11/25
*/
public enum ControlErrorCodeEnum implements IServicesErrorCode, IEventsErrorCode, IErrorInfo {
SETTING_RTH_FAILED(327000, "Height of return to home setting failed."),
SETTING_LOST_ACTION_FAILED(327001, "Signal lost action setting failed."),
OBTAIN_CONTROL_FAILED(327002, "Failed to obtain control."),
DEVICE_OFFLINE(327003, "Failed to obtain control. Device offline."),
DRAG_LIVESTREAM_VIEW_FAILED(327004, "Failed to drag livestream view."),
AIM_FAILED(327005, "Failed to double tab to be AIM."),
TAKE_PHOTO_FAILED(327006, "Failed to take photo."),
START_RECORDING_FAILED(327007, "Failed to start recording."),
STOP_RECORDING_FAILED(327008, "Failed to stop recording."),
SWITCH_CAMERA_MODE_FAILED(327009, "Failed to switch camera modes."),
ZOOM_CAMERA_ZOOM_FAILED(327010, "Failed to zoom in/out with zoom camera."),
IR_CAMERA_ZOOM_FAILED(327011, "Failed to zoom in/out with IR camera."),
DEVICE_LOCK(327012, "Failed to obtain control. Device is locked."),
SETTING_WAYLINE_LOST_ACTION_FAILED(327013, "Wayline signal lost action setting failed."),
GIMBAL_REACH_LIMIT(327014, "Gimbal reached movement limit."),
WRONG_LENS_TYPE(327015, "Invalid camera lens type."),
DRC_ABNORMAL(514300, "DRC abnormal."),
DRC_HEARTBEAT_TIMED_OUT(514301, "DRC heartbeat timed out."),
DRC_CERTIFICATE_ABNORMAL(514302, "DRC certificate is abnormal."),
DRC_LINK_LOST(514303, "DRC link is lost."),
DRC_LINK_REFUSED(514304, "DRC link is refused."),
UNKNOWN(-1, "UNKNOWN"),
;
private final String msg;
private final int code;
ControlErrorCodeEnum(int code, String msg) {
this.code = code;
this.msg = msg;
}
@Override
public String getMessage() {
return this.msg;
}
@Override
public Integer getCode() {
return this.code;
}
/**
* @param code error code
* @return enumeration object
*/
public static ControlErrorCodeEnum find(int code) {
return Arrays.stream(values()).filter(codeEnum -> codeEnum.code == code).findAny().orElse(UNKNOWN);
}
}

90
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/ControlMethodEnum.java

@ -1,90 +0,0 @@ @@ -1,90 +0,0 @@
package com.dji.sdk.cloudapi.control;
/**
* @author sean
* @version 1.4
* @date 2023/3/2
*/
public enum ControlMethodEnum {
FLIGHT_AUTHORITY_GRAB("flight_authority_grab"),
PAYLOAD_AUTHORITY_GRAB("payload_authority_grab"),
DRC_MODE_ENTER("drc_mode_enter"),
DRC_MODE_EXIT("drc_mode_exit"),
FLY_TO_POINT("fly_to_point"),
FLY_TO_POINT_STOP("fly_to_point_stop"),
FLY_TO_POINT_UPDATE("fly_to_point_update"),
TAKEOFF_TO_POINT("takeoff_to_point"),
CAMERA_MODE_SWITCH("camera_mode_switch"),
CAMERA_PHOTO_TAKE("camera_photo_take"),
CAMERA_PHOTO_STOP("camera_photo_stop"),
CAMERA_RECORDING_START("camera_recording_start"),
CAMERA_RECORDING_STOP("camera_recording_stop"),
CAMERA_AIM("camera_aim"),
CAMERA_FOCAL_LENGTH_SET("camera_focal_length_set"),
GIMBAL_RESET("gimbal_reset"),
CAMERA_LOOK_AT("camera_look_at"),
CAMERA_SCREEN_SPLIT("camera_screen_split"),
PHOTO_STORAGE_SET("photo_storage_set"),
VIDEO_STORAGE_SET("video_storage_set"),
CAMERA_EXPOSURE_SET("camera_exposure_set"),
CAMERA_EXPOSURE_MODE_SET("camera_exposure_mode_set"),
CAMERA_FOCUS_MODE_SET("camera_focus_mode_set"),
CAMERA_FOCUS_VALUE_SET("camera_focus_value_set"),
IR_METERING_MODE_SET("ir_metering_mode_set"),
IR_METERING_POINT_SET("ir_metering_point_set"),
IR_METERING_AREA_SET("ir_metering_area_set"),
CAMERA_POINT_FOCUS_ACTION("camera_point_focus_action"),
DRONE_CONTROL("drone_control"),
DRONE_EMERGENCY_STOP("drone_emergency_stop"),
HEART_BEAT("heart_beat"),
POI_MODE_ENTER("poi_mode_enter"),
POI_MODE_EXIT("poi_mode_exit"),
POI_CIRCLE_SPEED_SET("poi_circle_speed_set"),
;
private final String method;
ControlMethodEnum(String method) {
this.method = method;
}
public String getMethod() {
return method;
}
}

44
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/DelayInfoPush.java

@ -1,44 +0,0 @@ @@ -1,44 +0,0 @@
package com.dji.sdk.cloudapi.control;
import java.util.List;
/**
* @author sean
* @version 1.7
* @date 2023/6/29
*/
public class DelayInfoPush {
private Integer sdrCmdDelay;
private List<LiveviewDelay> liveviewDelayList;
public DelayInfoPush() {
}
@Override
public String toString() {
return "DelayInfoPush{" +
"sdrCmdDelay=" + sdrCmdDelay +
", liveviewDelayList=" + liveviewDelayList +
'}';
}
public Integer getSdrCmdDelay() {
return sdrCmdDelay;
}
public DelayInfoPush setSdrCmdDelay(Integer sdrCmdDelay) {
this.sdrCmdDelay = sdrCmdDelay;
return this;
}
public List<LiveviewDelay> getLiveviewDelayList() {
return liveviewDelayList;
}
public DelayInfoPush setLiveviewDelayList(List<LiveviewDelay> liveviewDelayList) {
this.liveviewDelayList = liveviewDelayList;
return this;
}
}

75
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/DrcModeEnterRequest.java

@ -1,75 +0,0 @@ @@ -1,75 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.common.BaseModel;
import javax.validation.Valid;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.3
* @date 2023/1/12
*/
public class DrcModeEnterRequest extends BaseModel {
@NotNull
@Valid
private DrcModeMqttBroker mqttBroker;
/**
* range: 1 - 30
*/
@Min(1)
@Max(30)
@NotNull
private Integer osdFrequency;
/**
* range: 1 - 30
*/
@Min(1)
@Max(30)
@NotNull
private Integer hsiFrequency;
public DrcModeEnterRequest() {
}
@Override
public String toString() {
return "DrcModeEnterRequest{" +
"mqttBroker=" + mqttBroker +
", osdFrequency=" + osdFrequency +
", hsiFrequency=" + hsiFrequency +
'}';
}
public DrcModeMqttBroker getMqttBroker() {
return mqttBroker;
}
public DrcModeEnterRequest setMqttBroker(DrcModeMqttBroker mqttBroker) {
this.mqttBroker = mqttBroker;
return this;
}
public Integer getOsdFrequency() {
return osdFrequency;
}
public DrcModeEnterRequest setOsdFrequency(Integer osdFrequency) {
this.osdFrequency = osdFrequency;
return this;
}
public Integer getHsiFrequency() {
return hsiFrequency;
}
public DrcModeEnterRequest setHsiFrequency(Integer hsiFrequency) {
this.hsiFrequency = hsiFrequency;
return this;
}
}

102
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/DrcModeMqttBroker.java

@ -1,102 +0,0 @@ @@ -1,102 +0,0 @@
package com.dji.sdk.cloudapi.control;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.3
* @date 2023/1/11
*/
public class DrcModeMqttBroker {
@NotNull
private String address;
@NotNull
private String username;
@NotNull
private String password;
@NotNull
private String clientId;
@NotNull
@Min(1234567890)
@Max(9999999999L)
private Long expireTime;
@NotNull
private Boolean enableTls;
public DrcModeMqttBroker() {
}
@Override
public String toString() {
return "DrcModeMqttBroker{" +
"address='" + address + '\'' +
", username='" + username + '\'' +
", password='" + password + '\'' +
", clientId='" + clientId + '\'' +
", expireTime=" + expireTime +
", enableTls=" + enableTls +
'}';
}
public String getAddress() {
return address;
}
public DrcModeMqttBroker setAddress(String address) {
this.address = address;
return this;
}
public String getUsername() {
return username;
}
public DrcModeMqttBroker setUsername(String username) {
this.username = username;
return this;
}
public String getPassword() {
return password;
}
public DrcModeMqttBroker setPassword(String password) {
this.password = password;
return this;
}
public String getClientId() {
return clientId;
}
public DrcModeMqttBroker setClientId(String clientId) {
this.clientId = clientId;
return this;
}
public Long getExpireTime() {
return expireTime;
}
public DrcModeMqttBroker setExpireTime(Long expireTime) {
this.expireTime = expireTime;
return this;
}
public Boolean getEnableTls() {
return enableTls;
}
public DrcModeMqttBroker setEnableTls(Boolean enableTls) {
this.enableTls = enableTls;
return this;
}
}

52
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/DrcStatusErrorEnum.java

@ -1,52 +0,0 @@ @@ -1,52 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.common.IErrorInfo;
import com.dji.sdk.exception.CloudSDKException;
import com.fasterxml.jackson.annotation.JsonCreator;
import java.util.Arrays;
/**
* @author sean
* @version 1.4
* @date 2023/3/17
*/
public enum DrcStatusErrorEnum implements IErrorInfo {
SUCCESS(0, "success"),
MQTT_ERR(514300, "The mqtt connection error."),
HEARTBEAT_TIMEOUT(514301, "The heartbeat times out and the dock disconnects."),
MQTT_CERTIFICATE_ERR(514302, "The mqtt certificate is abnormal and the connection fails."),
MQTT_LOST(514303, "The dock network is abnormal and the mqtt connection is lost."),
MQTT_REFUSE(514304, "The dock connection to mqtt server was refused.");
private final String msg;
private final int code;
DrcStatusErrorEnum(int code, String msg) {
this.code = code;
this.msg = msg;
}
@Override
public String getMessage() {
return msg;
}
@Override
public Integer getCode() {
return code;
}
@JsonCreator(mode = JsonCreator.Mode.DELEGATING)
public static DrcStatusErrorEnum find(int code) {
return Arrays.stream(values()).filter(error -> error.code == code).findAny()
.orElseThrow(() -> new CloudSDKException(DrcStatusErrorEnum.class, code));
}
}

44
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/DrcStatusNotify.java

@ -1,44 +0,0 @@ @@ -1,44 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.device.DrcStateEnum;
/**
* @author sean
* @version 1.4
* @date 2023/3/17
*/
public class DrcStatusNotify {
private DrcStatusErrorEnum result;
private DrcStateEnum drcState;
public DrcStatusNotify() {
}
@Override
public String toString() {
return "DrcStatusNotify{" +
"result=" + result +
", drcState=" + drcState +
'}';
}
public DrcStatusErrorEnum getResult() {
return result;
}
public DrcStatusNotify setResult(DrcStatusErrorEnum result) {
this.result = result;
return this;
}
public DrcStateEnum getDrcState() {
return drcState;
}
public DrcStatusNotify setDrcState(DrcStateEnum drcState) {
this.drcState = drcState;
return this;
}
}

121
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/DroneControlRequest.java

@ -1,121 +0,0 @@ @@ -1,121 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.7
* @date 2023/6/29
*/
public class DroneControlRequest extends BaseModel {
@NotNull
private Long seq;
@Min(-17)
@Max(17)
private Float x;
@Min(-17)
@Max(17)
private Float y;
@Min(-4)
@Max(5)
private Float h;
@Min(-90)
@Max(90)
private Float w;
@Min(2)
@Max(10)
private Integer freq;
@Min(100)
@Max(1000)
private Integer delayTime;
public DroneControlRequest() {
}
@Override
public String toString() {
return "DroneControlRequest{" +
"seq=" + seq +
", x=" + x +
", y=" + y +
", h=" + h +
", w=" + w +
", freq=" + freq +
", delayTime=" + delayTime +
'}';
}
public Long getSeq() {
return seq;
}
public DroneControlRequest setSeq(Long seq) {
this.seq = seq;
return this;
}
public Float getX() {
return x;
}
public DroneControlRequest setX(Float x) {
this.x = x;
return this;
}
public Float getY() {
return y;
}
public DroneControlRequest setY(Float y) {
this.y = y;
return this;
}
public Float getH() {
return h;
}
public DroneControlRequest setH(Float h) {
this.h = h;
return this;
}
public Float getW() {
return w;
}
public DroneControlRequest setW(Float w) {
this.w = w;
return this;
}
public Integer getFreq() {
return freq;
}
public DroneControlRequest setFreq(Integer freq) {
this.freq = freq;
return this;
}
public Integer getDelayTime() {
return delayTime;
}
public DroneControlRequest setDelayTime(Integer delayTime) {
this.delayTime = delayTime;
return this;
}
}

31
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/DroneControlResponse.java

@ -1,31 +0,0 @@ @@ -1,31 +0,0 @@
package com.dji.sdk.cloudapi.control;
/**
* @author sean
* @version 1.7
* @date 2023/6/29
*/
public class DroneControlResponse {
private Long seq;
public DroneControlResponse() {
}
@Override
public String toString() {
return "DroneControlResponse{" +
"seq=" + seq +
'}';
}
public Long getSeq() {
return seq;
}
public DroneControlResponse setSeq(Long seq) {
this.seq = seq;
return this;
}
}

36
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/ExposureCameraTypeEnum.java

@ -1,36 +0,0 @@ @@ -1,36 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.exception.CloudSDKException;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
/**
* @author sean
* @version 1.9
* @date 2023/12/12
*/
public enum ExposureCameraTypeEnum {
ZOOM("zoom"),
WIDE("wide");
private final String type;
ExposureCameraTypeEnum(String type) {
this.type = type;
}
@JsonValue
public String getType() {
return type;
}
@JsonCreator
public static ExposureCameraTypeEnum find(String type) {
return Arrays.stream(values()).filter(typeEnum -> typeEnum.type.equals(type)).findAny()
.orElseThrow(() -> new CloudSDKException(ExposureCameraTypeEnum.class, type));
}
}

44
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/ExposureModeEnum.java

@ -1,44 +0,0 @@ @@ -1,44 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.exception.CloudSDKException;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
/**
* @author sean
* @version 1.9
* @date 2023/12/12
*/
public enum ExposureModeEnum {
AUTO(1),
SHUTTER_PRIORITY(2),
APERTURE_PRIORITY(3),
MANUAL(4),
;
private final int mode;
ExposureModeEnum(int mode) {
this.mode = mode;
}
@JsonValue
public int getMode() {
return mode;
}
@JsonCreator
public static ExposureModeEnum find(int mode) {
return Arrays.stream(values()).filter(modeEnum -> modeEnum.mode == mode).findAny()
.orElseThrow(() -> new CloudSDKException(ExposureModeEnum.class, mode));
}
}

107
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/ExposureValueEnum.java

@ -1,107 +0,0 @@ @@ -1,107 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.exception.CloudSDKException;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
/**
* @author sean
* @version 1.9
* @date 2023/12/12
*/
public enum ExposureValueEnum {
MINUS_5_DOT_0(1, "-5.0EV"),
MINUS_4_DOT_7(2, "-4.7EV"),
MINUS_4_DOT_3(3, "-4.3EV"),
MINUS_4_DOT_0(4, "-4.0EV"),
MINUS_3_DOT_7(5, "-3.7EV"),
MINUS_3_DOT_3(6, "-3.3EV"),
MINUS_3_DOT_0(7, "-3.0EV"),
MINUS_2_DOT_7(8, "-2.7EV"),
MINUS_2_DOT_3(9, "-2.3EV"),
MINUS_2_DOT_0(10, "-2.0EV"),
MINUS_1_DOT_7(11, "-1.7EV"),
MINUS_1_DOT_3(12, "-1.3EV"),
MINUS_1_DOT_0(13, "-1.0EV"),
MINUS_0_DOT_7(14, "-0.7EV"),
MINUS_0_DOT_3(15, "-0.3EV"),
_0(16, "0EV"),
_0_DOT_3(17, "0.3EV"),
_0_DOT_7(18, "0.7EV"),
_1_DOT_0(19, "1.0EV"),
_1_DOT_3(20, "1.3EV"),
_1_DOT_7(21, "1.7EV"),
_2_DOT_0(22, "2.0EV"),
_2_DOT_3(23, "2.3EV"),
_2_DOT_7(24, "2.7EV"),
_3_DOT_0(25, "3.0EV"),
_3_DOT_3(26, "3.3EV"),
_3_DOT_7(27, "3.7EV"),
_4_DOT_0(28, "4.0EV"),
_4_DOT_3(29, "4.3EV"),
_4_DOT_7(30, "4.7EV"),
_5_DOT_0(31, "5.0EV"),
FIXED(255, "FIXED"),
;
private final int value;
private final String desc;
ExposureValueEnum(int value, String desc) {
this.value = value;
this.desc = desc;
}
@JsonValue
public int getValue() {
return value;
}
public String getDesc() {
return desc;
}
@JsonCreator
public static ExposureValueEnum find(int value) {
return Arrays.stream(values()).filter(valueEnum -> valueEnum.value == value).findAny()
.orElseThrow(() -> new CloudSDKException(ExposureValueEnum.class, value));
}
}

68
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/FlyToPointProgress.java

@ -1,68 +0,0 @@ @@ -1,68 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.wayline.WaylineErrorCodeEnum;
/**
* @author sean
* @version 1.4
* @date 2023/3/14
*/
public class FlyToPointProgress {
private WaylineErrorCodeEnum result;
private FlyToStatusEnum status;
private String flyToId;
private Integer wayPointIndex;
public FlyToPointProgress() {
}
@Override
public String toString() {
return "FlyToPointProgress{" +
"result=" + result +
", status=" + status +
", flyToId='" + flyToId + '\'' +
", wayPointIndex=" + wayPointIndex +
'}';
}
public WaylineErrorCodeEnum getResult() {
return result;
}
public FlyToPointProgress setResult(WaylineErrorCodeEnum result) {
this.result = result;
return this;
}
public FlyToStatusEnum getStatus() {
return status;
}
public FlyToPointProgress setStatus(FlyToStatusEnum status) {
this.status = status;
return this;
}
public String getFlyToId() {
return flyToId;
}
public FlyToPointProgress setFlyToId(String flyToId) {
this.flyToId = flyToId;
return this;
}
public Integer getWayPointIndex() {
return wayPointIndex;
}
public FlyToPointProgress setWayPointIndex(Integer wayPointIndex) {
this.wayPointIndex = wayPointIndex;
return this;
}
}

70
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/FlyToPointRequest.java

@ -1,70 +0,0 @@ @@ -1,70 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.common.BaseModel;
import javax.validation.Valid;
import javax.validation.constraints.*;
import java.util.List;
/**
* @author sean
* @version 1.3
* @date 2023/2/14
*/
public class FlyToPointRequest extends BaseModel {
@Pattern(regexp = "^[^<>:\"/|?*._\\\\]+$")
@NotNull
private String flyToId;
@Min(1)
@Max(15)
@NotNull
private Integer maxSpeed;
/**
* The M30 series only support one point.
*/
@Size(min = 1)
@NotNull
private List<@Valid Point> points;
public FlyToPointRequest() {
}
@Override
public String toString() {
return "FlyToPointRequest{" +
"flyToId='" + flyToId + '\'' +
", maxSpeed=" + maxSpeed +
", points=" + points +
'}';
}
public String getFlyToId() {
return flyToId;
}
public FlyToPointRequest setFlyToId(String flyToId) {
this.flyToId = flyToId;
return this;
}
public Integer getMaxSpeed() {
return maxSpeed;
}
public FlyToPointRequest setMaxSpeed(Integer maxSpeed) {
this.maxSpeed = maxSpeed;
return this;
}
public List<Point> getPoints() {
return points;
}
public FlyToPointRequest setPoints(List<Point> points) {
this.points = points;
return this;
}
}

59
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/FlyToPointUpdateRequest.java

@ -1,59 +0,0 @@ @@ -1,59 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.common.BaseModel;
import javax.validation.Valid;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;
/**
* @author sean
* @version 1.9
* @date 2023/12/12
*/
public class FlyToPointUpdateRequest extends BaseModel {
@Min(1)
@Max(15)
@NotNull
private Integer maxSpeed;
/**
* The M30 series only support one point.
*/
@Size(min = 1, max = 1)
@NotNull
private List<@Valid Point> points;
public FlyToPointUpdateRequest() {
}
@Override
public String toString() {
return "FlyToPointUpdateRequest{" +
"maxSpeed=" + maxSpeed +
", points=" + points +
'}';
}
public Integer getMaxSpeed() {
return maxSpeed;
}
public FlyToPointUpdateRequest setMaxSpeed(Integer maxSpeed) {
this.maxSpeed = maxSpeed;
return this;
}
public List<Point> getPoints() {
return points;
}
public FlyToPointUpdateRequest setPoints(List<Point> points) {
this.points = points;
return this;
}
}

47
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/FlyToStatusEnum.java

@ -1,47 +0,0 @@ @@ -1,47 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.exception.CloudSDKException;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
/**
* @author sean
* @version 1.4
* @date 2023/3/14
*/
public enum FlyToStatusEnum {
WAYLINE_PROGRESS("wayline_progress", "The FlyTo job is in progress."),
WAYLINE_FAILED("wayline_failed", "The FlyTo job execution failed."),
WAYLINE_OK("wayline_ok", "The FlyTo job executed successfully."),
WAYLINE_CANCEL("wayline_cancel", "The FlyTo job is closed.");
private final String status;
private final String message;
FlyToStatusEnum(String status, String message) {
this.status = status;
this.message = message;
}
public String getMessage() {
return message;
}
@JsonValue
public String getStatus() {
return status;
}
@JsonCreator(mode = JsonCreator.Mode.DELEGATING)
public static FlyToStatusEnum find(String status) {
return Arrays.stream(values()).filter(statusEnum -> statusEnum.status.equals(status)).findAny()
.orElseThrow(() -> new CloudSDKException(FlyToStatusEnum.class, status));
}
}

40
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/FocusModeEnum.java

@ -1,40 +0,0 @@ @@ -1,40 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.exception.CloudSDKException;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
/**
* @author sean
* @version 1.9
* @date 2023/12/12
*/
public enum FocusModeEnum {
MF(0),
AFS(1),
AFC(2),
;
private final int mode;
FocusModeEnum(int mode) {
this.mode = mode;
}
@JsonValue
public int getMode() {
return mode;
}
@JsonCreator
public static FocusModeEnum find(int mode) {
return Arrays.stream(values()).filter(modeEnum -> modeEnum.mode == mode).findAny()
.orElseThrow(() -> new CloudSDKException(FocusModeEnum.class, mode));
}
}

40
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/GimbalResetModeEnum.java

@ -1,40 +0,0 @@ @@ -1,40 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.exception.CloudSDKException;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
/**
* @author sean
* @version 1.4
* @date 2023/3/13
*/
public enum GimbalResetModeEnum {
RECENTER(0),
DOWN(1),
RECENTER_PAN(2),
PITCH_DOWN(3);
private final int mode;
GimbalResetModeEnum(int mode) {
this.mode = mode;
}
@JsonValue
public int getMode() {
return mode;
}
@JsonCreator
public static GimbalResetModeEnum find(int mode) {
return Arrays.stream(values()).filter(resetModeEnum -> resetModeEnum.ordinal() == mode).findAny()
.orElseThrow(() -> new CloudSDKException(GimbalResetModeEnum.class, mode));
}
}

49
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/GimbalResetRequest.java

@ -1,49 +0,0 @@ @@ -1,49 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.device.PayloadIndex;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.4
* @date 2023/3/1
*/
public class GimbalResetRequest extends BaseModel {
@NotNull
private PayloadIndex payloadIndex;
@NotNull
private GimbalResetModeEnum resetMode;
public GimbalResetRequest() {
}
@Override
public String toString() {
return "GimbalResetRequest{" +
"payloadIndex=" + payloadIndex +
", resetMode=" + resetMode +
'}';
}
public PayloadIndex getPayloadIndex() {
return payloadIndex;
}
public GimbalResetRequest setPayloadIndex(PayloadIndex payloadIndex) {
this.payloadIndex = payloadIndex;
return this;
}
public GimbalResetModeEnum getResetMode() {
return resetMode;
}
public GimbalResetRequest setResetMode(GimbalResetModeEnum resetMode) {
this.resetMode = resetMode;
return this;
}
}

50
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/HeartBeatRequest.java

@ -1,50 +0,0 @@ @@ -1,50 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.7
* @date 2023/6/29
*/
public class HeartBeatRequest extends BaseModel {
@NotNull
private Long seq;
@NotNull
@Min(123456789012L)
private Long timestamp;
public HeartBeatRequest() {
}
@Override
public String toString() {
return "HeartBeatRequest{" +
"seq=" + seq +
", timestamp=" + timestamp +
'}';
}
public Long getSeq() {
return seq;
}
public HeartBeatRequest setSeq(Long seq) {
this.seq = seq;
return this;
}
public Long getTimestamp() {
return timestamp;
}
public HeartBeatRequest setTimestamp(Long timestamp) {
this.timestamp = timestamp;
return this;
}
}

248
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/HsiInfoPush.java

@ -1,248 +0,0 @@ @@ -1,248 +0,0 @@
package com.dji.sdk.cloudapi.control;
import java.util.List;
/**
* @author sean
* @version 1.7
* @date 2023/6/29
*/
public class HsiInfoPush {
private Integer upDistance;
private Integer downDistance;
private List<Integer> aroundDistance;
private Boolean upEnable;
private Boolean upWork;
private Boolean downEnable;
private Boolean downWork;
private Boolean leftEnable;
private Boolean leftWork;
private Boolean rightEnable;
private Boolean rightWork;
private Boolean frontEnable;
private Boolean frontWork;
private Boolean backEnable;
private Boolean backWork;
private Boolean verticalEnable;
private Boolean verticalWork;
private Boolean horizontalEnable;
private Boolean horizontalWork;
public HsiInfoPush() {
}
@Override
public String toString() {
return "HsiInfoPush{" +
"upDistance=" + upDistance +
", downDistance=" + downDistance +
", aroundDistance=" + aroundDistance +
", upEnable=" + upEnable +
", upWork=" + upWork +
", downEnable=" + downEnable +
", downWork=" + downWork +
", leftEnable=" + leftEnable +
", leftWork=" + leftWork +
", rightEnable=" + rightEnable +
", rightWork=" + rightWork +
", frontEnable=" + frontEnable +
", frontWork=" + frontWork +
", backEnable=" + backEnable +
", backWork=" + backWork +
", verticalEnable=" + verticalEnable +
", verticalWork=" + verticalWork +
", horizontalEnable=" + horizontalEnable +
", horizontalWork=" + horizontalWork +
'}';
}
public Integer getUpDistance() {
return upDistance;
}
public HsiInfoPush setUpDistance(Integer upDistance) {
this.upDistance = upDistance;
return this;
}
public Integer getDownDistance() {
return downDistance;
}
public HsiInfoPush setDownDistance(Integer downDistance) {
this.downDistance = downDistance;
return this;
}
public List<Integer> getAroundDistance() {
return aroundDistance;
}
public HsiInfoPush setAroundDistance(List<Integer> aroundDistance) {
this.aroundDistance = aroundDistance;
return this;
}
public Boolean getUpEnable() {
return upEnable;
}
public HsiInfoPush setUpEnable(Boolean upEnable) {
this.upEnable = upEnable;
return this;
}
public Boolean getUpWork() {
return upWork;
}
public HsiInfoPush setUpWork(Boolean upWork) {
this.upWork = upWork;
return this;
}
public Boolean getDownEnable() {
return downEnable;
}
public HsiInfoPush setDownEnable(Boolean downEnable) {
this.downEnable = downEnable;
return this;
}
public Boolean getDownWork() {
return downWork;
}
public HsiInfoPush setDownWork(Boolean downWork) {
this.downWork = downWork;
return this;
}
public Boolean getLeftEnable() {
return leftEnable;
}
public HsiInfoPush setLeftEnable(Boolean leftEnable) {
this.leftEnable = leftEnable;
return this;
}
public Boolean getLeftWork() {
return leftWork;
}
public HsiInfoPush setLeftWork(Boolean leftWork) {
this.leftWork = leftWork;
return this;
}
public Boolean getRightEnable() {
return rightEnable;
}
public HsiInfoPush setRightEnable(Boolean rightEnable) {
this.rightEnable = rightEnable;
return this;
}
public Boolean getRightWork() {
return rightWork;
}
public HsiInfoPush setRightWork(Boolean rightWork) {
this.rightWork = rightWork;
return this;
}
public Boolean getFrontEnable() {
return frontEnable;
}
public HsiInfoPush setFrontEnable(Boolean frontEnable) {
this.frontEnable = frontEnable;
return this;
}
public Boolean getFrontWork() {
return frontWork;
}
public HsiInfoPush setFrontWork(Boolean frontWork) {
this.frontWork = frontWork;
return this;
}
public Boolean getBackEnable() {
return backEnable;
}
public HsiInfoPush setBackEnable(Boolean backEnable) {
this.backEnable = backEnable;
return this;
}
public Boolean getBackWork() {
return backWork;
}
public HsiInfoPush setBackWork(Boolean backWork) {
this.backWork = backWork;
return this;
}
public Boolean getVerticalEnable() {
return verticalEnable;
}
public HsiInfoPush setVerticalEnable(Boolean verticalEnable) {
this.verticalEnable = verticalEnable;
return this;
}
public Boolean getVerticalWork() {
return verticalWork;
}
public HsiInfoPush setVerticalWork(Boolean verticalWork) {
this.verticalWork = verticalWork;
return this;
}
public Boolean getHorizontalEnable() {
return horizontalEnable;
}
public HsiInfoPush setHorizontalEnable(Boolean horizontalEnable) {
this.horizontalEnable = horizontalEnable;
return this;
}
public Boolean getHorizontalWork() {
return horizontalWork;
}
public HsiInfoPush setHorizontalWork(Boolean horizontalWork) {
this.horizontalWork = horizontalWork;
return this;
}
}

116
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/IrMeteringAreaSetRequest.java

@ -1,116 +0,0 @@ @@ -1,116 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.device.PayloadIndex;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.9
* @date 2023/12/12
*/
public class IrMeteringAreaSetRequest extends BaseModel {
/**
* Camera enumeration.
* It is unofficial device_mode_key.
* The format is *{type-subtype-gimbalindex}*.
* Please read [Product Supported](https://developer.dji.com/doc/cloud-api-tutorial/en/overview/product-support.html)
*/
@NotNull
private PayloadIndex payloadIndex;
/**
* The coordinate x of the temperature measurement point is the upper left corner of the lens as the coordinate center point, and the horizontal direction is x.
*/
@NotNull
@Min(0)
@Max(1)
private Float x;
/**
* The coordinate y of the temperature measurement point is the upper left corner of the lens as the coordinate center point, and the vertical direction is y.
*/
@NotNull
@Min(0)
@Max(1)
private Float y;
/**
* Temperature measurement area width
*/
@NotNull
@Min(0)
@Max(1)
private Float width;
/**
* Temperature measurement area height
*/
@NotNull
@Min(0)
@Max(1)
private Float height;
public IrMeteringAreaSetRequest() {
}
@Override
public String toString() {
return "IrMeteringAreaSetRequest{" +
"payloadIndex=" + payloadIndex +
", x=" + x +
", y=" + y +
", width=" + width +
", height=" + height +
'}';
}
public PayloadIndex getPayloadIndex() {
return payloadIndex;
}
public IrMeteringAreaSetRequest setPayloadIndex(PayloadIndex payloadIndex) {
this.payloadIndex = payloadIndex;
return this;
}
public Float getX() {
return x;
}
public IrMeteringAreaSetRequest setX(Float x) {
this.x = x;
return this;
}
public Float getY() {
return y;
}
public IrMeteringAreaSetRequest setY(Float y) {
this.y = y;
return this;
}
public Float getWidth() {
return width;
}
public IrMeteringAreaSetRequest setWidth(Float width) {
this.width = width;
return this;
}
public Float getHeight() {
return height;
}
public IrMeteringAreaSetRequest setHeight(Float height) {
this.height = height;
return this;
}
}

55
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/IrMeteringModeSetRequest.java

@ -1,55 +0,0 @@ @@ -1,55 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.device.PayloadIndex;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.9
* @date 2023/12/12
*/
public class IrMeteringModeSetRequest extends BaseModel {
/**
* Camera enumeration.
* It is unofficial device_mode_key.
* The format is *{type-subtype-gimbalindex}*.
* Please read [Product Supported](https://developer.dji.com/doc/cloud-api-tutorial/en/overview/product-support.html)
*/
@NotNull
private PayloadIndex payloadIndex;
@NotNull
private MeteringModeEnum mode;
public IrMeteringModeSetRequest() {
}
@Override
public String toString() {
return "IrMeteringModeSetRequest{" +
"payloadIndex=" + payloadIndex +
", mode=" + mode +
'}';
}
public PayloadIndex getPayloadIndex() {
return payloadIndex;
}
public IrMeteringModeSetRequest setPayloadIndex(PayloadIndex payloadIndex) {
this.payloadIndex = payloadIndex;
return this;
}
public MeteringModeEnum getMode() {
return mode;
}
public IrMeteringModeSetRequest setMode(MeteringModeEnum mode) {
this.mode = mode;
return this;
}
}

80
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/IrMeteringPointSetRequest.java

@ -1,80 +0,0 @@ @@ -1,80 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.device.PayloadIndex;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.9
* @date 2023/12/12
*/
public class IrMeteringPointSetRequest extends BaseModel {
/**
* Camera enumeration.
* It is unofficial device_mode_key.
* The format is *{type-subtype-gimbalindex}*.
* Please read [Product Supported](https://developer.dji.com/doc/cloud-api-tutorial/en/overview/product-support.html)
*/
@NotNull
private PayloadIndex payloadIndex;
/**
* The coordinate x of the temperature measurement point is the upper left corner of the lens as the coordinate center point, and the horizontal direction is x.
*/
@NotNull
@Min(0)
@Max(1)
private Float x;
/**
* The coordinate y of the temperature measurement point is the upper left corner of the lens as the coordinate center point, and the vertical direction is y.
*/
@NotNull
@Min(0)
@Max(1)
private Float y;
public IrMeteringPointSetRequest() {
}
@Override
public String toString() {
return "IrMeteringPointSetRequest{" +
"payloadIndex=" + payloadIndex +
", x=" + x +
", y=" + y +
'}';
}
public PayloadIndex getPayloadIndex() {
return payloadIndex;
}
public IrMeteringPointSetRequest setPayloadIndex(PayloadIndex payloadIndex) {
this.payloadIndex = payloadIndex;
return this;
}
public Float getX() {
return x;
}
public IrMeteringPointSetRequest setX(Float x) {
this.x = x;
return this;
}
public Float getY() {
return y;
}
public IrMeteringPointSetRequest setY(Float y) {
this.y = y;
return this;
}
}

30
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/JoystickInvalidNotify.java

@ -1,30 +0,0 @@ @@ -1,30 +0,0 @@
package com.dji.sdk.cloudapi.control;
/**
* @author sean
* @version 1.4
* @date 2023/3/14
*/
public class JoystickInvalidNotify {
private JoystickInvalidReasonEnum reason;
public JoystickInvalidNotify() {
}
@Override
public String toString() {
return "JoystickInvalidNotify{" +
"reason=" + reason +
'}';
}
public JoystickInvalidReasonEnum getReason() {
return reason;
}
public JoystickInvalidNotify setReason(JoystickInvalidReasonEnum reason) {
this.reason = reason;
return this;
}
}

49
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/JoystickInvalidReasonEnum.java

@ -1,49 +0,0 @@ @@ -1,49 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.exception.CloudSDKException;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
/**
* @author sean
* @version 1.4
* @date 2023/3/14
*/
public enum JoystickInvalidReasonEnum {
RC_LOST(0, "The remote controller is lost."),
BATTERY_LOW_GO_HOME(1, "Due to low battery, the drone automatically returned home."),
BATTERY_SUPER_LOW_LANDING(2, "Due to the serious low battery, the drone landed automatically."),
NEAR_BOUNDARY(3, "The drone is near a not-fly zone."),
RC_AUTHORITY(4, "The remote controller grabs control authority.");
private final int reason;
private final String message;
JoystickInvalidReasonEnum(int reason, String message) {
this.reason = reason;
this.message = message;
}
@JsonValue
public int getVal() {
return reason;
}
public String getMessage() {
return message;
}
@JsonCreator(mode = JsonCreator.Mode.DELEGATING)
public static JoystickInvalidReasonEnum find(int reason) {
return Arrays.stream(values()).filter(reasonEnum -> reasonEnum.reason == reason).findAny()
.orElseThrow(() -> new CloudSDKException(JoystickInvalidReasonEnum.class, reason));
}
}

42
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/LensStorageSettingsEnum.java

@ -1,42 +0,0 @@ @@ -1,42 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.exception.CloudSDKException;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
/**
* @author sean
* @version 1.7
* @date 2023/10/12
*/
public enum LensStorageSettingsEnum {
CURRENT("current"),
ZOOM("zoom"),
WIDE("wide"),
VISION("vision"),
INFRARED("ir");
private final String lens;
LensStorageSettingsEnum(String lens) {
this.lens = lens;
}
@JsonValue
public String getLens() {
return lens;
}
@JsonCreator
public static LensStorageSettingsEnum find(String lens) {
return Arrays.stream(values()).filter(lensEnum -> lensEnum.lens.equals(lens)).findAny()
.orElseThrow(() -> new CloudSDKException(LensStorageSettingsEnum.class, lens));
}
}

35
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/LiveviewDelay.java

@ -1,35 +0,0 @@ @@ -1,35 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.device.VideoId;
/**
* @author sean
* @version 1.7
* @date 2023/6/29
*/
public class LiveviewDelay {
private Integer liveviewDelayTime;
private VideoId videoId;
public LiveviewDelay() {
}
@Override
public String toString() {
return "LiveviewDelay{" +
"liveviewDelayTime=" + liveviewDelayTime +
", videoId=" + videoId +
'}';
}
public Integer getLiveviewDelayTime() {
return liveviewDelayTime;
}
public LiveviewDelay setLiveviewDelayTime(Integer liveviewDelayTime) {
this.liveviewDelayTime = liveviewDelayTime;
return this;
}
}

41
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/MeteringModeEnum.java

@ -1,41 +0,0 @@ @@ -1,41 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.exception.CloudSDKException;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
/**
* @author sean
* @version 1.9
* @date 2023/12/12
*/
public enum MeteringModeEnum {
DISABLE(0),
SPOT(1),
AREA(2),
;
private final int mode;
MeteringModeEnum(int mode) {
this.mode = mode;
}
@JsonValue
public int getMode() {
return mode;
}
@JsonCreator
public static MeteringModeEnum find(int mode) {
return Arrays.stream(values()).filter(modeEnum -> modeEnum.mode == mode).findAny()
.orElseThrow(() -> new CloudSDKException(MeteringModeEnum.class, mode));
}
}

138
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/OsdInfoPush.java

@ -1,138 +0,0 @@ @@ -1,138 +0,0 @@
package com.dji.sdk.cloudapi.control;
/**
* @author sean
* @version 1.7
* @date 2023/6/29
*/
public class OsdInfoPush {
private Float attitudeHead;
private Float latitude;
private Float longitude;
private Float height;
private Float speedX;
private Float speedY;
private Float speedZ;
private Float gimbalPitch;
private Float gimbalRoll;
private Float gimbalYaw;
public OsdInfoPush() {
}
@Override
public String toString() {
return "OsdInfoPush{" +
"attitudeHead=" + attitudeHead +
", latitude=" + latitude +
", longitude=" + longitude +
", height=" + height +
", speedX=" + speedX +
", speedY=" + speedY +
", speedZ=" + speedZ +
", gimbalPitch=" + gimbalPitch +
", gimbalRoll=" + gimbalRoll +
", gimbalYaw=" + gimbalYaw +
'}';
}
public Float getAttitudeHead() {
return attitudeHead;
}
public OsdInfoPush setAttitudeHead(Float attitudeHead) {
this.attitudeHead = attitudeHead;
return this;
}
public Float getLatitude() {
return latitude;
}
public OsdInfoPush setLatitude(Float latitude) {
this.latitude = latitude;
return this;
}
public Float getLongitude() {
return longitude;
}
public OsdInfoPush setLongitude(Float longitude) {
this.longitude = longitude;
return this;
}
public Float getHeight() {
return height;
}
public OsdInfoPush setHeight(Float height) {
this.height = height;
return this;
}
public Float getSpeedX() {
return speedX;
}
public OsdInfoPush setSpeedX(Float speedX) {
this.speedX = speedX;
return this;
}
public Float getSpeedY() {
return speedY;
}
public OsdInfoPush setSpeedY(Float speedY) {
this.speedY = speedY;
return this;
}
public Float getSpeedZ() {
return speedZ;
}
public OsdInfoPush setSpeedZ(Float speedZ) {
this.speedZ = speedZ;
return this;
}
public Float getGimbalPitch() {
return gimbalPitch;
}
public OsdInfoPush setGimbalPitch(Float gimbalPitch) {
this.gimbalPitch = gimbalPitch;
return this;
}
public Float getGimbalRoll() {
return gimbalRoll;
}
public OsdInfoPush setGimbalRoll(Float gimbalRoll) {
this.gimbalRoll = gimbalRoll;
return this;
}
public Float getGimbalYaw() {
return gimbalYaw;
}
public OsdInfoPush setGimbalYaw(Float gimbalYaw) {
this.gimbalYaw = gimbalYaw;
return this;
}
}

36
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/PayloadAuthorityGrabRequest.java

@ -1,36 +0,0 @@ @@ -1,36 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.device.PayloadIndex;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.7
* @date 2023/6/29
*/
public class PayloadAuthorityGrabRequest extends BaseModel {
@NotNull
private PayloadIndex payloadIndex;
public PayloadAuthorityGrabRequest() {
}
@Override
public String toString() {
return "PayloadAuthorityGrabRequest{" +
"payloadIndex=" + payloadIndex +
'}';
}
public PayloadIndex getPayloadIndex() {
return payloadIndex;
}
public PayloadAuthorityGrabRequest setPayloadIndex(PayloadIndex payloadIndex) {
this.payloadIndex = payloadIndex;
return this;
}
}

78
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/PayloadControlMethodEnum.java

@ -1,78 +0,0 @@ @@ -1,78 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.common.BaseModel;
import com.dji.sdk.exception.CloudSDKException;
import java.util.Arrays;
/**
* @author sean
* @version 1.4
* @date 2023/3/2
*/
public enum PayloadControlMethodEnum {
CAMERA_MODE_SWITCH(ControlMethodEnum.CAMERA_MODE_SWITCH, CameraModeSwitchRequest.class),
CAMERA_PHOTO_TAKE(ControlMethodEnum.CAMERA_PHOTO_TAKE, CameraPhotoTakeRequest.class),
CAMERA_PHOTO_STOP(ControlMethodEnum.CAMERA_PHOTO_STOP, CameraPhotoStopRequest.class),
CAMERA_RECORDING_START(ControlMethodEnum.CAMERA_RECORDING_START, CameraRecordingStartRequest.class),
CAMERA_RECORDING_STOP(ControlMethodEnum.CAMERA_RECORDING_STOP, CameraRecordingStopRequest.class),
CAMERA_AIM(ControlMethodEnum.CAMERA_AIM, CameraAimRequest.class),
CAMERA_FOCAL_LENGTH_SET(ControlMethodEnum.CAMERA_FOCAL_LENGTH_SET, CameraFocalLengthSetRequest.class),
GIMBAL_RESET(ControlMethodEnum.GIMBAL_RESET, GimbalResetRequest.class),
CAMERA_LOOK_AT(ControlMethodEnum.CAMERA_LOOK_AT, CameraLookAtRequest.class),
CAMERA_SCREEN_SPLIT(ControlMethodEnum.CAMERA_SCREEN_SPLIT, CameraScreenSplitRequest.class),
PHOTO_STORAGE_SET(ControlMethodEnum.PHOTO_STORAGE_SET, PhotoStorageSetRequest.class),
VIDEO_STORAGE_SET(ControlMethodEnum.VIDEO_STORAGE_SET, VideoStorageSetRequest.class),
CAMERA_EXPOSURE_SET(ControlMethodEnum.CAMERA_EXPOSURE_SET, CameraExposureSetRequest.class),
CAMERA_EXPOSURE_MODE_SET(ControlMethodEnum.CAMERA_EXPOSURE_MODE_SET, CameraExposureModeSetRequest.class),
CAMERA_FOCUS_MODE_SET(ControlMethodEnum.CAMERA_FOCUS_MODE_SET, CameraFocusModeSetRequest.class),
CAMERA_FOCUS_VALUE_SET(ControlMethodEnum.CAMERA_FOCUS_VALUE_SET, CameraFocusValueSetRequest.class),
IR_METERING_MODE_SET(ControlMethodEnum.IR_METERING_MODE_SET, IrMeteringModeSetRequest.class),
IR_METERING_POINT_SET(ControlMethodEnum.IR_METERING_POINT_SET, IrMeteringPointSetRequest.class),
IR_METERING_AREA_SET(ControlMethodEnum.IR_METERING_AREA_SET, IrMeteringAreaSetRequest.class),
CAMERA_POINT_FOCUS_ACTION(ControlMethodEnum.CAMERA_POINT_FOCUS_ACTION, CameraPointFocusActionRequest.class),
;
private final ControlMethodEnum payloadMethod;
private final Class<? extends BaseModel> clazz;
PayloadControlMethodEnum(ControlMethodEnum payloadMethod, Class<? extends BaseModel> clazz) {
this.payloadMethod = payloadMethod;
this.clazz = clazz;
}
public ControlMethodEnum getPayloadMethod() {
return payloadMethod;
}
public Class<? extends BaseModel> getClazz() {
return clazz;
}
public static PayloadControlMethodEnum find(String method) {
return Arrays.stream(values()).filter(methodEnum -> methodEnum.payloadMethod.getMethod().equals(method)).findAny()
.orElseThrow(() -> new CloudSDKException(PayloadControlMethodEnum.class, method));
}
}

61
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/PhotoStorageSetRequest.java

@ -1,61 +0,0 @@ @@ -1,61 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.device.PayloadIndex;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;
/**
* @author sean
* @version 1.7
* @date 2023/10/12
*/
public class PhotoStorageSetRequest extends BaseModel {
/**
* Camera enumeration.
* It is unofficial device_mode_key.
* The format is *{type-subtype-gimbalindex}*.
* Please read [Product Supported](https://developer.dji.com/doc/cloud-api-tutorial/en/overview/product-support.html)
*/
@NotNull
private PayloadIndex payloadIndex;
/**
* Photo storage type. Multi-selection.
*/
@NotNull
@Size(min = 1)
private List<LensStorageSettingsEnum> photoStorageSettings;
public PhotoStorageSetRequest() {
}
@Override
public String toString() {
return "PhotoStorageSetRequest{" +
"payloadIndex=" + payloadIndex +
", photoStorageSettings=" + photoStorageSettings +
'}';
}
public PayloadIndex getPayloadIndex() {
return payloadIndex;
}
public PhotoStorageSetRequest setPayloadIndex(PayloadIndex payloadIndex) {
this.payloadIndex = payloadIndex;
return this;
}
public List<LensStorageSettingsEnum> getPhotoStorageSettings() {
return photoStorageSettings;
}
public PhotoStorageSetRequest setPhotoStorageSettings(List<LensStorageSettingsEnum> photoStorageSettings) {
this.photoStorageSettings = photoStorageSettings;
return this;
}
}

42
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/PhotoTakeProgressData.java

@ -1,42 +0,0 @@ @@ -1,42 +0,0 @@
package com.dji.sdk.cloudapi.control;
/**
* @author sean
* @version 1.9
* @date 2023/12/12
*/
public class PhotoTakeProgressData {
private PhotoTakeProgressStepEnum currentStep;
private Integer percent;
public PhotoTakeProgressData() {
}
@Override
public String toString() {
return "PhotoTakeProgressData{" +
"currentStep=" + currentStep +
", percent=" + percent +
'}';
}
public PhotoTakeProgressStepEnum getCurrentStep() {
return currentStep;
}
public PhotoTakeProgressData setCurrentStep(PhotoTakeProgressStepEnum currentStep) {
this.currentStep = currentStep;
return this;
}
public Integer getPercent() {
return percent;
}
public PhotoTakeProgressData setPercent(Integer percent) {
this.percent = percent;
return this;
}
}

32
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/PhotoTakeProgressExt.java

@ -1,32 +0,0 @@ @@ -1,32 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.device.CameraModeEnum;
/**
* @author sean
* @version 1.9
* @date 2023/12/12
*/
public class PhotoTakeProgressExt {
private CameraModeEnum cameraMode;
public PhotoTakeProgressExt() {
}
@Override
public String toString() {
return "PhotoTakeProgressExt{" +
"cameraMode=" + cameraMode +
'}';
}
public CameraModeEnum getCameraMode() {
return cameraMode;
}
public PhotoTakeProgressExt setCameraMode(CameraModeEnum cameraMode) {
this.cameraMode = cameraMode;
return this;
}
}

43
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/PhotoTakeProgressStepEnum.java

@ -1,43 +0,0 @@ @@ -1,43 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.exception.CloudSDKException;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
/**
* @author sean
* @version 1.9
* @date 2023/12/12
*/
public enum PhotoTakeProgressStepEnum {
NORMAL(0),
PANORAMA_NOT_STARTED_OR_ENDED(3000),
PANORAMA_TAKING(3002),
PANORAMA_COMPOSITING(3005),
;
private final int step;
PhotoTakeProgressStepEnum(int step) {
this.step = step;
}
@JsonValue
public int getStep() {
return step;
}
@JsonCreator
public static PhotoTakeProgressStepEnum find(int step) {
return Arrays.stream(values()).filter(stepEnum -> stepEnum.step == step).findAny()
.orElseThrow(() -> new CloudSDKException(PhotoTakeProgressStepEnum.class, step));
}
}

35
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/PoiCircleSpeedSetRequest.java

@ -1,35 +0,0 @@ @@ -1,35 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.9
* @date 2023/12/12
*/
public class PoiCircleSpeedSetRequest extends BaseModel {
@NotNull
private Float circleSpeed;
public PoiCircleSpeedSetRequest() {
}
@Override
public String toString() {
return "PoiCircleSpeedSetRequest{" +
"circleSpeed=" + circleSpeed +
'}';
}
public Float getCircleSpeed() {
return circleSpeed;
}
public PoiCircleSpeedSetRequest setCircleSpeed(Float circleSpeed) {
this.circleSpeed = circleSpeed;
return this;
}
}

69
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/PoiModeEnterRequest.java

@ -1,69 +0,0 @@ @@ -1,69 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.9
* @date 2023/12/12
*/
public class PoiModeEnterRequest extends BaseModel {
@Min(-90)
@Max(90)
@NotNull
private Float latitude;
@NotNull
@Min(-180)
@Max(180)
private Float longitude;
@NotNull
@Min(2)
@Max(10000)
private Float height;
public PoiModeEnterRequest() {
}
@Override
public String toString() {
return "PoiModeEnterRequest{" +
"latitude=" + latitude +
", longitude=" + longitude +
", height=" + height +
'}';
}
public Float getLatitude() {
return latitude;
}
public PoiModeEnterRequest setLatitude(Float latitude) {
this.latitude = latitude;
return this;
}
public Float getLongitude() {
return longitude;
}
public PoiModeEnterRequest setLongitude(Float longitude) {
this.longitude = longitude;
return this;
}
public Float getHeight() {
return height;
}
public PoiModeEnterRequest setHeight(Float height) {
this.height = height;
return this;
}
}

80
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/PoiStatusNotify.java

@ -1,80 +0,0 @@ @@ -1,80 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.wayline.FlighttaskStatusEnum;
/**
* @author sean
* @version 1.9
* @date 2023/12/12
*/
public class PoiStatusNotify {
private FlighttaskStatusEnum status;
private PoiStatusReasonEnum reason;
private Float circleRadius;
private Float circleSpeed;
private Float maxCircleSpeed;
public PoiStatusNotify() {
}
@Override
public String toString() {
return "PoiStatusNotify{" +
"status=" + status +
", reason=" + reason +
", circleRadius=" + circleRadius +
", circleSpeed=" + circleSpeed +
", maxCircleSpeed=" + maxCircleSpeed +
'}';
}
public FlighttaskStatusEnum getStatus() {
return status;
}
public PoiStatusNotify setStatus(FlighttaskStatusEnum status) {
this.status = status;
return this;
}
public PoiStatusReasonEnum getReason() {
return reason;
}
public PoiStatusNotify setReason(PoiStatusReasonEnum reason) {
this.reason = reason;
return this;
}
public Float getCircleRadius() {
return circleRadius;
}
public PoiStatusNotify setCircleRadius(Float circleRadius) {
this.circleRadius = circleRadius;
return this;
}
public Float getCircleSpeed() {
return circleSpeed;
}
public PoiStatusNotify setCircleSpeed(Float circleSpeed) {
this.circleSpeed = circleSpeed;
return this;
}
public Float getMaxCircleSpeed() {
return maxCircleSpeed;
}
public PoiStatusNotify setMaxCircleSpeed(Float maxCircleSpeed) {
this.maxCircleSpeed = maxCircleSpeed;
return this;
}
}

53
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/PoiStatusReasonEnum.java

@ -1,53 +0,0 @@ @@ -1,53 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.exception.CloudSDKException;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
/**
* @author sean
* @version 1.9
* @date 2023/12/12
*/
public enum PoiStatusReasonEnum {
NORMAL(0),
UNADAPTED_PAYLOAD(1),
CAMERA_MODE_NOT_SUPPORTED(2),
ILLEGAL_CMD(3),
POSITIONING_FAILED(4),
ON_THE_GROUND(5),
DRONE_MODE_ERROR(6),
NOT_AVAILABLE_MODE(7),
RC_DISCONNECTED(8),
;
private final int reason;
PoiStatusReasonEnum(int reason) {
this.reason = reason;
}
@JsonValue
public int getReason() {
return reason;
}
@JsonCreator
public static PoiStatusReasonEnum find(int reason) {
return Arrays.stream(values()).filter(reasonEnum -> reasonEnum.reason == reason).findAny()
.orElseThrow(() -> new CloudSDKException(PoiStatusReasonEnum.class, reason));
}
}

71
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/Point.java

@ -1,71 +0,0 @@ @@ -1,71 +0,0 @@
package com.dji.sdk.cloudapi.control;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.3
* @date 2023/2/14
*/
public class Point {
@Min(-90)
@Max(90)
@NotNull
private Float latitude;
@NotNull
@Min(-180)
@Max(180)
private Float longitude;
/**
* WGS84
* The M30 series are ellipsoidal heights.
*/
@NotNull
@Min(2)
@Max(10000)
private Float height;
public Point() {
}
@Override
public String toString() {
return "Point{" +
"latitude=" + latitude +
", longitude=" + longitude +
", height=" + height +
'}';
}
public Float getLatitude() {
return latitude;
}
public Point setLatitude(Float latitude) {
this.latitude = latitude;
return this;
}
public Float getLongitude() {
return longitude;
}
public Point setLongitude(Float longitude) {
this.longitude = longitude;
return this;
}
public Float getHeight() {
return height;
}
public Point setHeight(Float height) {
this.height = height;
return this;
}
}

51
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/TakeoffStatusEnum.java

@ -1,51 +0,0 @@ @@ -1,51 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.exception.CloudSDKException;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
/**
* @author sean
* @version 1.4
* @date 2023/3/17
*/
public enum TakeoffStatusEnum {
TASK_READY("task_ready", "The drone is preparing to take off."),
WAYLINE_PROGRESS("wayline_progress", "The drone is taking off."),
WAYLINE_FAILED("wayline_failed", "The drone failed to take off."),
WAYLINE_OK("wayline_ok", "The drone took off successfully."),
WAYLINE_CANCEL("wayline_cancel", "The drone takeoff job has been cancelled."),
TASK_FINISH("task_finish", "The drone takeoff job is completed.");
private final String status;
private final String message;
TakeoffStatusEnum(String status, String message) {
this.status = status;
this.message = message;
}
@JsonValue
public String getStatus() {
return status;
}
public String getMessage() {
return message;
}
@JsonCreator(mode = JsonCreator.Mode.DELEGATING)
public static TakeoffStatusEnum find(String status) {
return Arrays.stream(values()).filter(statusEnum -> statusEnum.status.equals(status)).findAny()
.orElseThrow(() -> new CloudSDKException(TakeoffStatusEnum.class, status));
}
}

135
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/TakeoffToPointProgress.java

@ -1,135 +0,0 @@ @@ -1,135 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.annotations.CloudSDKVersion;
import com.dji.sdk.cloudapi.wayline.WaylineErrorCodeEnum;
import com.dji.sdk.config.version.CloudSDKVersionEnum;
import java.util.List;
/**
* @author sean
* @version 1.4
* @date 2023/3/14
*/
public class TakeoffToPointProgress {
private WaylineErrorCodeEnum result;
private TakeoffStatusEnum status;
private String flightId;
private String trackId;
private Integer wayPointIndex;
/**
* Remaining mission distance
* unit: m
*/
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_0)
private Float remainingDistance;
/**
* Remaining mission time
* unit: s
*/
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_0)
private Integer remainingTime;
/**
* Planned trajectory point list
*/
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_0)
private List<Point> plannedPathPoints;
public TakeoffToPointProgress() {
}
@Override
public String toString() {
return "TakeoffToPointProgress{" +
"result=" + result +
", status=" + status +
", flightId='" + flightId + '\'' +
", trackId='" + trackId + '\'' +
", wayPointIndex=" + wayPointIndex +
", remainingDistance=" + remainingDistance +
", remainingTime=" + remainingTime +
", plannedPathPoints=" + plannedPathPoints +
'}';
}
public WaylineErrorCodeEnum getResult() {
return result;
}
public TakeoffToPointProgress setResult(WaylineErrorCodeEnum result) {
this.result = result;
return this;
}
public TakeoffStatusEnum getStatus() {
return status;
}
public TakeoffToPointProgress setStatus(TakeoffStatusEnum status) {
this.status = status;
return this;
}
public String getFlightId() {
return flightId;
}
public TakeoffToPointProgress setFlightId(String flightId) {
this.flightId = flightId;
return this;
}
public String getTrackId() {
return trackId;
}
public TakeoffToPointProgress setTrackId(String trackId) {
this.trackId = trackId;
return this;
}
public Integer getWayPointIndex() {
return wayPointIndex;
}
public TakeoffToPointProgress setWayPointIndex(Integer wayPointIndex) {
this.wayPointIndex = wayPointIndex;
return this;
}
public Float getRemainingDistance() {
return remainingDistance;
}
public TakeoffToPointProgress setRemainingDistance(Float remainingDistance) {
this.remainingDistance = remainingDistance;
return this;
}
public Integer getRemainingTime() {
return remainingTime;
}
public TakeoffToPointProgress setRemainingTime(Integer remainingTime) {
this.remainingTime = remainingTime;
return this;
}
public List<Point> getPlannedPathPoints() {
return plannedPathPoints;
}
public TakeoffToPointProgress setPlannedPathPoints(List<Point> plannedPathPoints) {
this.plannedPathPoints = plannedPathPoints;
return this;
}
}

235
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/TakeoffToPointRequest.java

@ -1,235 +0,0 @@ @@ -1,235 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.annotations.CloudSDKVersion;
import com.dji.sdk.cloudapi.device.ExitWaylineWhenRcLostEnum;
import com.dji.sdk.cloudapi.device.RcLostActionEnum;
import com.dji.sdk.cloudapi.wayline.RthModeEnum;
import com.dji.sdk.cloudapi.wayline.SimulateMission;
import com.dji.sdk.common.BaseModel;
import com.dji.sdk.config.version.CloudSDKVersionEnum;
import javax.validation.Valid;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
/**
* @author sean
* @version 1.4
* @date 2023/3/1
*/
public class TakeoffToPointRequest extends BaseModel {
@Pattern(regexp = "^[^<>:\"/|?*._\\\\]+$")
@NotNull
private String flightId;
@Min(-180)
@Max(180)
@NotNull
private Float targetLongitude;
@Min(-90)
@Max(90)
@NotNull
private Float targetLatitude;
@Min(2)
@Max(10000)
@NotNull
private Float targetHeight;
@Min(20)
@Max(1500)
@NotNull
private Float securityTakeoffHeight;
@Min(2)
@Max(1500)
@NotNull
private Float rthAltitude;
@NotNull
private RcLostActionEnum rcLostAction;
@NotNull
@CloudSDKVersion(deprecated = CloudSDKVersionEnum.V1_0_0)
private ExitWaylineWhenRcLostEnum exitWaylineWhenRcLost;
@Min(1)
@Max(15)
@NotNull
private Integer maxSpeed;
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_0)
@NotNull
private RthModeEnum rthMode;
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_0)
@NotNull
private CommanderModeLostActionEnum commanderModeLostAction;
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_0)
@NotNull
private CommanderFlightModeEnum commanderFlightMode;
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_0)
@NotNull
@Min(2)
@Max(3000)
private Float commanderFlightHeight;
@Valid
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_0)
private SimulateMission simulateMission;
public TakeoffToPointRequest() {
}
@Override
public String toString() {
return "TakeoffToPointRequest{" +
"flightId='" + flightId + '\'' +
", targetLongitude=" + targetLongitude +
", targetLatitude=" + targetLatitude +
", targetHeight=" + targetHeight +
", securityTakeoffHeight=" + securityTakeoffHeight +
", rthAltitude=" + rthAltitude +
", rcLostAction=" + rcLostAction +
", exitWaylineWhenRcLost=" + exitWaylineWhenRcLost +
", maxSpeed=" + maxSpeed +
", rthMode=" + rthMode +
", commanderModeLostAction=" + commanderModeLostAction +
", commanderFlightMode=" + commanderFlightMode +
", commanderFlightHeight=" + commanderFlightHeight +
", simulateMission=" + simulateMission +
'}';
}
public String getFlightId() {
return flightId;
}
public TakeoffToPointRequest setFlightId(String flightId) {
this.flightId = flightId;
return this;
}
public Float getTargetLongitude() {
return targetLongitude;
}
public TakeoffToPointRequest setTargetLongitude(Float targetLongitude) {
this.targetLongitude = targetLongitude;
return this;
}
public Float getTargetLatitude() {
return targetLatitude;
}
public TakeoffToPointRequest setTargetLatitude(Float targetLatitude) {
this.targetLatitude = targetLatitude;
return this;
}
public Float getTargetHeight() {
return targetHeight;
}
public TakeoffToPointRequest setTargetHeight(Float targetHeight) {
this.targetHeight = targetHeight;
return this;
}
public Float getSecurityTakeoffHeight() {
return securityTakeoffHeight;
}
public TakeoffToPointRequest setSecurityTakeoffHeight(Float securityTakeoffHeight) {
this.securityTakeoffHeight = securityTakeoffHeight;
return this;
}
public Float getRthAltitude() {
return rthAltitude;
}
public TakeoffToPointRequest setRthAltitude(Float rthAltitude) {
this.rthAltitude = rthAltitude;
return this;
}
public RcLostActionEnum getRcLostAction() {
return rcLostAction;
}
public TakeoffToPointRequest setRcLostAction(RcLostActionEnum rcLostAction) {
this.rcLostAction = rcLostAction;
return this;
}
public ExitWaylineWhenRcLostEnum getExitWaylineWhenRcLost() {
return exitWaylineWhenRcLost;
}
public TakeoffToPointRequest setExitWaylineWhenRcLost(ExitWaylineWhenRcLostEnum exitWaylineWhenRcLost) {
this.exitWaylineWhenRcLost = exitWaylineWhenRcLost;
return this;
}
public Integer getMaxSpeed() {
return maxSpeed;
}
public RthModeEnum getRthMode() {
return rthMode;
}
public TakeoffToPointRequest setRthMode(RthModeEnum rthMode) {
this.rthMode = rthMode;
return this;
}
public CommanderModeLostActionEnum getCommanderModeLostAction() {
return commanderModeLostAction;
}
public TakeoffToPointRequest setCommanderModeLostAction(CommanderModeLostActionEnum commanderModeLostAction) {
this.commanderModeLostAction = commanderModeLostAction;
return this;
}
public CommanderFlightModeEnum getCommanderFlightMode() {
return commanderFlightMode;
}
public TakeoffToPointRequest setCommanderFlightMode(CommanderFlightModeEnum commanderFlightMode) {
this.commanderFlightMode = commanderFlightMode;
return this;
}
public Float getCommanderFlightHeight() {
return commanderFlightHeight;
}
public TakeoffToPointRequest setCommanderFlightHeight(Float commanderFlightHeight) {
this.commanderFlightHeight = commanderFlightHeight;
return this;
}
public TakeoffToPointRequest setMaxSpeed(Integer maxSpeed) {
this.maxSpeed = maxSpeed;
return this;
}
public SimulateMission getSimulateMission() {
return simulateMission;
}
public TakeoffToPointRequest setSimulateMission(SimulateMission simulateMission) {
this.simulateMission = simulateMission;
return this;
}
}

61
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/VideoStorageSetRequest.java

@ -1,61 +0,0 @@ @@ -1,61 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.cloudapi.device.PayloadIndex;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;
/**
* @author sean
* @version 1.7
* @date 2023/10/12
*/
public class VideoStorageSetRequest extends BaseModel {
/**
* Camera enumeration.
* It is unofficial device_mode_key.
* The format is *{type-subtype-gimbalindex}*.
* Please read [Product Supported](https://developer.dji.com/doc/cloud-api-tutorial/en/overview/product-support.html)
*/
@NotNull
private PayloadIndex payloadIndex;
/**
* Video storage type. Multi-selection.
*/
@NotNull
@Size(min = 1)
private List<LensStorageSettingsEnum> videoStorageSettings;
public VideoStorageSetRequest() {
}
@Override
public String toString() {
return "VideoStorageSetRequest{" +
"payloadIndex=" + payloadIndex +
", videoStorageSettings=" + videoStorageSettings +
'}';
}
public PayloadIndex getPayloadIndex() {
return payloadIndex;
}
public VideoStorageSetRequest setPayloadIndex(PayloadIndex payloadIndex) {
this.payloadIndex = payloadIndex;
return this;
}
public List<LensStorageSettingsEnum> getVideoStorageSettings() {
return videoStorageSettings;
}
public VideoStorageSetRequest setVideoStorageSettings(List<LensStorageSettingsEnum> videoStorageSettings) {
this.videoStorageSettings = videoStorageSettings;
return this;
}
}

36
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/ZoomCameraTypeEnum.java

@ -1,36 +0,0 @@ @@ -1,36 +0,0 @@
package com.dji.sdk.cloudapi.control;
import com.dji.sdk.exception.CloudSDKException;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
/**
* @author sean
* @version 1.4
* @date 2023/3/3
*/
public enum ZoomCameraTypeEnum {
ZOOM("zoom"),
IR("ir");
private final String type;
ZoomCameraTypeEnum(String type) {
this.type = type;
}
@JsonValue
public String getType() {
return type;
}
@JsonCreator
public static ZoomCameraTypeEnum find(String type) {
return Arrays.stream(values()).filter(typeEnum -> typeEnum.type.equals(type)).findAny()
.orElseThrow(() -> new CloudSDKException(ZoomCameraTypeEnum.class, type));
}
}

665
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/control/api/AbstractControlService.java

@ -1,665 +0,0 @@ @@ -1,665 +0,0 @@
package com.dji.sdk.cloudapi.control.api;
import com.dji.sdk.annotations.CloudSDKVersion;
import com.dji.sdk.cloudapi.control.*;
import com.dji.sdk.common.BaseModel;
import com.dji.sdk.common.Common;
import com.dji.sdk.common.SpringBeanUtils;
import com.dji.sdk.config.version.CloudSDKVersionEnum;
import com.dji.sdk.config.version.GatewayManager;
import com.dji.sdk.config.version.GatewayTypeEnum;
import com.dji.sdk.exception.CloudSDKException;
import com.dji.sdk.mqtt.ChannelName;
import com.dji.sdk.mqtt.MqttReply;
import com.dji.sdk.mqtt.drc.DrcDownPublish;
import com.dji.sdk.mqtt.drc.DrcUpData;
import com.dji.sdk.mqtt.drc.TopicDrcRequest;
import com.dji.sdk.mqtt.events.EventsDataRequest;
import com.dji.sdk.mqtt.events.TopicEventsRequest;
import com.dji.sdk.mqtt.events.TopicEventsResponse;
import com.dji.sdk.mqtt.services.ServicesPublish;
import com.dji.sdk.mqtt.services.ServicesReplyData;
import com.dji.sdk.mqtt.services.TopicServicesResponse;
import org.springframework.integration.annotation.ServiceActivator;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageHeaders;
import javax.annotation.Resource;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
/**
* @author sean
* @version 1.7
* @date 2023/6/29
*/
public abstract class AbstractControlService {
@Resource
private ServicesPublish servicesPublish;
@Resource
private DrcDownPublish drcDownPublish;
/**
* Event notification of flyto result
* @param request data
* @param headers The headers for a {@link Message}.
* @return events_reply
*/
@ServiceActivator(inputChannel = ChannelName.INBOUND_EVENTS_FLY_TO_POINT_PROGRESS, outputChannel = ChannelName.OUTBOUND_EVENTS)
public TopicEventsResponse<MqttReply> flyToPointProgress(TopicEventsRequest<FlyToPointProgress> request, MessageHeaders headers) {
throw new UnsupportedOperationException("flyToPointProgress not implemented");
}
/**
* Event notification of one-key taking off result
* @param request data
* @param headers The headers for a {@link Message}.
* @return events_reply
*/
@ServiceActivator(inputChannel = ChannelName.INBOUND_EVENTS_TAKEOFF_TO_POINT_PROGRESS, outputChannel = ChannelName.OUTBOUND_EVENTS)
public TopicEventsResponse<MqttReply> takeoffToPointProgress(TopicEventsRequest<TakeoffToPointProgress> request, MessageHeaders headers) {
throw new UnsupportedOperationException("takeoffToPointProgress not implemented");
}
/**
* Notification of DRC link state
* @param request data
* @param headers The headers for a {@link Message}.
* @return events_reply
*/
@ServiceActivator(inputChannel = ChannelName.INBOUND_EVENTS_DRC_STATUS_NOTIFY, outputChannel = ChannelName.OUTBOUND_EVENTS)
public TopicEventsResponse<MqttReply> drcStatusNotify(TopicEventsRequest<DrcStatusNotify> request, MessageHeaders headers) {
throw new UnsupportedOperationException("drcStatusNotify not implemented");
}
/**
* Reason notification of invalid Joystick control
* @param request data
* @param headers The headers for a {@link Message}.
* @return events_reply
*/
@ServiceActivator(inputChannel = ChannelName.INBOUND_EVENTS_JOYSTICK_INVALID_NOTIFY, outputChannel = ChannelName.OUTBOUND_EVENTS)
public TopicEventsResponse<MqttReply> joystickInvalidNotify(TopicEventsRequest<JoystickInvalidNotify> request, MessageHeaders headers) {
throw new UnsupportedOperationException("joystickInvalidNotify not implemented");
}
/**
* Flight control authority grabbing
* @param gateway
* @return services_reply
*/
@CloudSDKVersion(exclude = GatewayTypeEnum.RC)
public TopicServicesResponse<ServicesReplyData> flightAuthorityGrab(GatewayManager gateway) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.FLIGHT_AUTHORITY_GRAB.getMethod());
}
/**
* Payload control authority grabbing
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(exclude = GatewayTypeEnum.RC)
public TopicServicesResponse<ServicesReplyData> payloadAuthorityGrab(GatewayManager gateway, PayloadAuthorityGrabRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.PAYLOAD_AUTHORITY_GRAB.getMethod(),
request);
}
/**
* Enter the live flight controls mode
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(exclude = GatewayTypeEnum.RC)
public TopicServicesResponse<ServicesReplyData> drcModeEnter(GatewayManager gateway, DrcModeEnterRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.DRC_MODE_ENTER.getMethod(),
request);
}
/**
* Exit the live flight controls mode
* @param gateway
* @return services_reply
*/
@CloudSDKVersion(exclude = GatewayTypeEnum.RC)
public TopicServicesResponse<ServicesReplyData> drcModeExit(GatewayManager gateway) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.DRC_MODE_EXIT.getMethod());
}
/**
* One-key taking off
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(exclude = GatewayTypeEnum.RC)
public TopicServicesResponse<ServicesReplyData> takeoffToPoint(GatewayManager gateway, TakeoffToPointRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.TAKEOFF_TO_POINT.getMethod(),
request);
}
/**
* flyto target point
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(exclude = GatewayTypeEnum.RC)
public TopicServicesResponse<ServicesReplyData> flyToPoint(GatewayManager gateway, FlyToPointRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.FLY_TO_POINT.getMethod(),
request);
}
/**
* Quickly update target points
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_2, exclude = GatewayTypeEnum.RC, include = GatewayTypeEnum.DOCK)
public TopicServicesResponse<ServicesReplyData> flyToPointUpdate(GatewayManager gateway, FlyToPointUpdateRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.FLY_TO_POINT_UPDATE.getMethod(),
request);
}
/**
* End the task of flying to target point
* @param gateway
* @return services_reply
*/
@CloudSDKVersion(exclude = GatewayTypeEnum.RC)
public TopicServicesResponse<ServicesReplyData> flyToPointStop(GatewayManager gateway) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.FLY_TO_POINT_STOP.getMethod());
}
/**
* Payload control - switch the camera mode
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(exclude = GatewayTypeEnum.RC)
public TopicServicesResponse<ServicesReplyData> cameraModeSwitch(GatewayManager gateway, CameraModeSwitchRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.CAMERA_MODE_SWITCH.getMethod(),
request);
}
/**
* Payload control - take single photo
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(exclude = GatewayTypeEnum.RC)
public TopicServicesResponse<ServicesReplyData> cameraPhotoTake(GatewayManager gateway, CameraPhotoTakeRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.CAMERA_PHOTO_TAKE.getMethod(),
request);
}
/**
* Payload control - stop taking photo
* Currently only panoramic photo mode is supported.
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_2, exclude = GatewayTypeEnum.RC, include = GatewayTypeEnum.DOCK)
public TopicServicesResponse<ServicesReplyData> cameraPhotoStop(GatewayManager gateway, CameraPhotoStopRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.CAMERA_PHOTO_STOP.getMethod(),
request);
}
/**
* Event notification of camera photo progress information
* Currently only panoramic photo mode is supported.
* @param request data
* @param headers The headers for a {@link Message}.
* @return events_reply
*/
@ServiceActivator(inputChannel = ChannelName.INBOUND_EVENTS_CAMERA_PHOTO_TAKE_PROGRESS, outputChannel = ChannelName.OUTBOUND_EVENTS)
public TopicEventsResponse<MqttReply> cameraPhotoTakeProgress(TopicEventsRequest<EventsDataRequest<CameraPhotoTakeProgress>> request, MessageHeaders headers) {
throw new UnsupportedOperationException("cameraPhotoTakeProgress not implemented");
}
/**
* Payload control - start recording
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(exclude = GatewayTypeEnum.RC)
public TopicServicesResponse<ServicesReplyData> cameraRecordingStart(GatewayManager gateway, CameraRecordingStartRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.CAMERA_RECORDING_START.getMethod(),
request);
}
/**
* Payload control - stop recording
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(exclude = GatewayTypeEnum.RC)
public TopicServicesResponse<ServicesReplyData> cameraRecordingStop(GatewayManager gateway, CameraRecordingStopRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.CAMERA_RECORDING_STOP.getMethod(),
request);
}
/**
* Payload control - double tab to become AIM
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(exclude = GatewayTypeEnum.RC)
public TopicServicesResponse<ServicesReplyData> cameraAim(GatewayManager gateway, CameraAimRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.CAMERA_AIM.getMethod(),
request);
}
/**
* Payload control - zoom
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(exclude = GatewayTypeEnum.RC)
public TopicServicesResponse<ServicesReplyData> cameraFocalLengthSet(GatewayManager gateway, CameraFocalLengthSetRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.CAMERA_FOCAL_LENGTH_SET.getMethod(),
request);
}
/**
* Payload control - reset the gimbal
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(exclude = GatewayTypeEnum.RC)
public TopicServicesResponse<ServicesReplyData> gimbalReset(GatewayManager gateway, GimbalResetRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.GIMBAL_RESET.getMethod(),
request);
}
/**
* The `lookat` function refers to the aircraft turning itself from its current heading to point at a specified location of actual latitude, longitude, and altitude.
* For M30/M30T models, it is recommended to use a method that locks the gimbal when using the `lookat` function.
* When the gimbal reaches its limits, the `lookat` function may behave abnormally.
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_0, exclude = GatewayTypeEnum.RC)
public TopicServicesResponse<ServicesReplyData> cameraLookAt(GatewayManager gateway, CameraLookAtRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.CAMERA_LOOK_AT.getMethod(),
request);
}
/**
* Payload control - screen split
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_0, exclude = GatewayTypeEnum.RC)
public TopicServicesResponse<ServicesReplyData> cameraScreenSplit(GatewayManager gateway, CameraScreenSplitRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.CAMERA_SCREEN_SPLIT.getMethod(),
request);
}
/**
* Payload control - photo storage setting
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_0, exclude = GatewayTypeEnum.RC)
public TopicServicesResponse<ServicesReplyData> photoStorageSet(GatewayManager gateway, PhotoStorageSetRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.PHOTO_STORAGE_SET.getMethod(),
request);
}
/**
* Payload control - video storage setting
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_0, exclude = GatewayTypeEnum.RC)
public TopicServicesResponse<ServicesReplyData> videoStorageSet(GatewayManager gateway, VideoStorageSetRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.VIDEO_STORAGE_SET.getMethod(),
request);
}
/**
* Payload control - camera exposure setting
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_2, include = GatewayTypeEnum.DOCK)
public TopicServicesResponse<ServicesReplyData> cameraExposureSet(GatewayManager gateway, CameraExposureSetRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.CAMERA_EXPOSURE_SET.getMethod(),
request);
}
/**
* Payload control - camera exposure mode setting
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_2, include = GatewayTypeEnum.DOCK)
public TopicServicesResponse<ServicesReplyData> cameraExposureModeSet(GatewayManager gateway, CameraExposureModeSetRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.CAMERA_EXPOSURE_MODE_SET.getMethod(),
request);
}
/**
* Payload control - camera focus mode setting
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_2, include = GatewayTypeEnum.DOCK)
public TopicServicesResponse<ServicesReplyData> cameraFocusModeSet(GatewayManager gateway, CameraFocusModeSetRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.CAMERA_FOCUS_MODE_SET.getMethod(),
request);
}
/**
* Payload control - camera focus value setting
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_2, include = GatewayTypeEnum.DOCK)
public TopicServicesResponse<ServicesReplyData> cameraFocusValueSet(GatewayManager gateway, CameraFocusValueSetRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.CAMERA_FOCUS_VALUE_SET.getMethod(),
request);
}
/**
* Payload control - ir metering mode setting
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_2, include = GatewayTypeEnum.DOCK)
public TopicServicesResponse<ServicesReplyData> irMeteringModeSet(GatewayManager gateway, IrMeteringModeSetRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.IR_METERING_MODE_SET.getMethod(),
request);
}
/**
* Payload control - ir metering point setting
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_2, include = GatewayTypeEnum.DOCK)
public TopicServicesResponse<ServicesReplyData> irMeteringPointSet(GatewayManager gateway, IrMeteringPointSetRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.IR_METERING_POINT_SET.getMethod(),
request);
}
/**
* Payload control - ir metering area setting
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_2, include = GatewayTypeEnum.DOCK)
public TopicServicesResponse<ServicesReplyData> irMeteringAreaSet(GatewayManager gateway, IrMeteringAreaSetRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.IR_METERING_AREA_SET.getMethod(),
request);
}
/**
* Payload control - camera point focus
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_2, include = GatewayTypeEnum.DOCK)
public TopicServicesResponse<ServicesReplyData> cameraPointFocusAction(GatewayManager gateway, CameraPointFocusActionRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.CAMERA_POINT_FOCUS_ACTION.getMethod(),
request);
}
/**
* Payload control
* @param gateway
* @param request data
* @return services_reply
*/
public TopicServicesResponse<ServicesReplyData> payloadControl(GatewayManager gateway, PayloadControlMethodEnum methodEnum, BaseModel request) {
try {
AbstractControlService abstractControlService = SpringBeanUtils.getBean(this.getClass());
Method method = abstractControlService.getClass().getDeclaredMethod(
Common.convertSnake(methodEnum.getPayloadMethod().getMethod()),GatewayManager.class, methodEnum.getClazz());
return (TopicServicesResponse<ServicesReplyData>) method.invoke(abstractControlService, gateway, request);
} catch (NoSuchMethodException | IllegalAccessException e) {
throw new CloudSDKException(e);
} catch (InvocationTargetException e) {
throw new CloudSDKException(e.getTargetException());
}
}
/**
* Event notification of poi surround information
* @param request data
* @param headers The headers for a {@link Message}.
* @return events_reply
*/
@ServiceActivator(inputChannel = ChannelName.INBOUND_EVENTS_POI_STATUS_NOTIFY, outputChannel = ChannelName.OUTBOUND_EVENTS)
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_2, include = GatewayTypeEnum.DOCK)
public TopicEventsResponse<MqttReply> poiStatusNotify(TopicEventsRequest<PoiStatusNotify> request, MessageHeaders headers) {
throw new UnsupportedOperationException("poiStatusNotify not implemented");
}
/**
* Enter the poi surround mode
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_2, exclude = GatewayTypeEnum.RC, include = GatewayTypeEnum.DOCK)
public TopicServicesResponse<ServicesReplyData> poiModeEnter(GatewayManager gateway, PoiModeEnterRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.POI_MODE_ENTER.getMethod(),
request);
}
/**
* Exit the poi surround mode
* @param gateway
* @return services_reply
*/
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_2, exclude = GatewayTypeEnum.RC, include = GatewayTypeEnum.DOCK)
public TopicServicesResponse<ServicesReplyData> poiModeExit(GatewayManager gateway) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.POI_MODE_EXIT.getMethod());
}
/**
* poi speed setting
* @param gateway
* @param request data
* @return services_reply
*/
@CloudSDKVersion(since = CloudSDKVersionEnum.V1_0_2, exclude = GatewayTypeEnum.RC, include = GatewayTypeEnum.DOCK)
public TopicServicesResponse<ServicesReplyData> poiCircleSpeedSet(GatewayManager gateway, PoiCircleSpeedSetRequest request) {
return servicesPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.POI_CIRCLE_SPEED_SET.getMethod(),
request);
}
/**
* DRC-flight control
* @param gateway
* @param request data
*/
@CloudSDKVersion(exclude = GatewayTypeEnum.RC)
protected void droneControlDown(GatewayManager gateway, DroneControlRequest request) {
drcDownPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.DRONE_CONTROL.getMethod(),
request);
}
/**
* Drc up notification of drone control result
* @param request data
* @param headers The headers for a {@link Message}.
* @return events_reply
*/
@ServiceActivator(inputChannel = ChannelName.INBOUND_DRC_UP_DRONE_CONTROL)
public void droneControlUp(TopicDrcRequest<DrcUpData<DroneControlResponse>> request, MessageHeaders headers) {
throw new UnsupportedOperationException("droneControlUp not implemented");
}
/**
* DRC-drone emergency stop
* @param gateway
*/
@CloudSDKVersion(exclude = GatewayTypeEnum.RC)
public void droneEmergencyStopDown(GatewayManager gateway) {
drcDownPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.DRONE_EMERGENCY_STOP.getMethod());
}
/**
* Drc up notification of drone emergency stop result
* @param request data
* @param headers The headers for a {@link Message}.
* @return events_reply
*/
@ServiceActivator(inputChannel = ChannelName.INBOUND_DRC_UP_DRONE_EMERGENCY_STOP)
public void droneEmergencyStopUp(TopicDrcRequest<DrcUpData> request, MessageHeaders headers) {
throw new UnsupportedOperationException("droneEmergencyStopUp not implemented");
}
/**
* DRC-heart beat
* @param gateway
* @param request data
*/
@CloudSDKVersion(exclude = GatewayTypeEnum.RC)
public void heartBeatDown(GatewayManager gateway, HeartBeatRequest request) {
drcDownPublish.publish(
gateway.getGatewaySn(),
ControlMethodEnum.HEART_BEAT.getMethod(),
request);
}
/**
* Drc up notification of heart beat result
* @param request data
* @param headers The headers for a {@link Message}.
* @return events_reply
*/
@ServiceActivator(inputChannel = ChannelName.INBOUND_DRC_UP_HEART_BEAT)
public void heartBeatUp(TopicDrcRequest<HeartBeatRequest> request, MessageHeaders headers) {
throw new UnsupportedOperationException("heartBeatUp not implemented");
}
/**
* DRC-obstacle avoidance information pushing
* @param request data
* @param headers The headers for a {@link Message}.
* @return events_reply
*/
@ServiceActivator(inputChannel = ChannelName.INBOUND_DRC_UP_HSI_INFO_PUSH)
public void hsiInfoPush(TopicDrcRequest<HsiInfoPush> request, MessageHeaders headers) {
throw new UnsupportedOperationException("hsiInfoPush not implemented");
}
/**
* DRC-delay information pushing of image transmission link
* @param request data
* @param headers The headers for a {@link Message}.
* @return events_reply
*/
@ServiceActivator(inputChannel = ChannelName.INBOUND_DRC_UP_DELAY_INFO_PUSH)
public void delayInfoPush(TopicDrcRequest<DelayInfoPush> request, MessageHeaders headers) {
throw new UnsupportedOperationException("delayInfoPush not implemented");
}
/**
* DRC-high frequency osd information pushing
* @param request data
* @param headers The headers for a {@link Message}.
* @return events_reply
*/
@ServiceActivator(inputChannel = ChannelName.INBOUND_DRC_UP_OSD_INFO_PUSH)
public void osdInfoPush(TopicDrcRequest<OsdInfoPush> request, MessageHeaders headers) {
throw new UnsupportedOperationException("osdInfoPush not implemented");
}
}

40
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/debug/AirConditionerModeSwitchActionEnum.java

@ -1,40 +0,0 @@ @@ -1,40 +0,0 @@
package com.dji.sdk.cloudapi.debug;
import com.dji.sdk.exception.CloudSDKException;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
/**
* @author sean
* @version 1.3
* @date 2022/10/28
*/
public enum AirConditionerModeSwitchActionEnum {
IDLE_MODE(0),
COOLING_MODE(1),
heating_mode(2),
DEHUMIDIFICATION_MODE(3);
private final int action;
AirConditionerModeSwitchActionEnum(int action) {
this.action = action;
}
@JsonValue
public int getAction() {
return action;
}
@JsonCreator
public static AirConditionerModeSwitchActionEnum find(int action) {
return Arrays.stream(values()).filter(actionEnum -> actionEnum.action == action).findAny()
.orElseThrow(() -> new CloudSDKException(AirConditionerModeSwitchActionEnum.class, action));
}
}

35
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/debug/AirConditionerModeSwitchRequest.java

@ -1,35 +0,0 @@ @@ -1,35 +0,0 @@
package com.dji.sdk.cloudapi.debug;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.3
* @date 2022/11/25
*/
public class AirConditionerModeSwitchRequest extends BaseModel {
@NotNull
private AirConditionerModeSwitchActionEnum action;
public AirConditionerModeSwitchRequest() {
}
@Override
public String toString() {
return "AirConditionerModeSwitchRequest{" +
"action=" + action +
'}';
}
public AirConditionerModeSwitchActionEnum getAction() {
return action;
}
public AirConditionerModeSwitchRequest setAction(AirConditionerModeSwitchActionEnum action) {
this.action = action;
return this;
}
}

36
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/debug/AlarmStateSwitchRequest.java

@ -1,36 +0,0 @@ @@ -1,36 +0,0 @@
package com.dji.sdk.cloudapi.debug;
import com.dji.sdk.cloudapi.device.SwitchActionEnum;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.3
* @date 2022/11/25
*/
public class AlarmStateSwitchRequest extends BaseModel {
@NotNull
private SwitchActionEnum action;
public AlarmStateSwitchRequest() {
}
@Override
public String toString() {
return "AlarmStateSwitchRequest{" +
"action=" + action +
'}';
}
public SwitchActionEnum getAction() {
return action;
}
public AlarmStateSwitchRequest setAction(SwitchActionEnum action) {
this.action = action;
return this;
}
}

36
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/debug/BatteryMaintenanceSwitchRequest.java

@ -1,36 +0,0 @@ @@ -1,36 +0,0 @@
package com.dji.sdk.cloudapi.debug;
import com.dji.sdk.cloudapi.device.SwitchActionEnum;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.3
* @date 2022/11/25
*/
public class BatteryMaintenanceSwitchRequest extends BaseModel {
@NotNull
private SwitchActionEnum action;
public BatteryMaintenanceSwitchRequest() {
}
@Override
public String toString() {
return "BatteryMaintenanceSwitchRequest{" +
"action=" + action +
'}';
}
public SwitchActionEnum getAction() {
return action;
}
public BatteryMaintenanceSwitchRequest setAction(SwitchActionEnum action) {
this.action = action;
return this;
}
}

36
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/debug/BatteryStoreModeSwitchRequest.java

@ -1,36 +0,0 @@ @@ -1,36 +0,0 @@
package com.dji.sdk.cloudapi.debug;
import com.dji.sdk.cloudapi.device.BatteryStoreModeEnum;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.3
* @date 2022/11/25
*/
public class BatteryStoreModeSwitchRequest extends BaseModel {
@NotNull
private BatteryStoreModeEnum action;
public BatteryStoreModeSwitchRequest() {
}
@Override
public String toString() {
return "BatteryStoreModeSwitchRequest{" +
"action=" + action +
'}';
}
public BatteryStoreModeEnum getAction() {
return action;
}
public BatteryStoreModeSwitchRequest setAction(BatteryStoreModeEnum action) {
this.action = action;
return this;
}
}

168
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/debug/DebugErrorCodeEnum.java

@ -1,168 +0,0 @@ @@ -1,168 +0,0 @@
package com.dji.sdk.cloudapi.debug;
import com.dji.sdk.common.IErrorInfo;
import com.dji.sdk.mqtt.events.IEventsErrorCode;
import com.dji.sdk.mqtt.services.IServicesErrorCode;
import java.util.Arrays;
/**
* @author sean.zhou
* @version 0.1
* @date 2021/11/25
*/
public enum DebugErrorCodeEnum implements IServicesErrorCode, IEventsErrorCode, IErrorInfo {
AIRCRAFT_NO_DONGLE(326002, "The DJI Cellular module is not installed on the aircraft."),
AIRCRAFT_DONGLE_NO_SIM(326003, "There is no SIM card installed in the DJI Cellular module of the aircraft."),
AIRCRAFT_DONGLE_NEED_UPGRADE(326004, "The DJI Cellular module of the aircraft needs to be upgraded, otherwise it cannot be used."),
ESTABLISH_CONNECTION_FAILED(326005, "The 4G transmission of the aircraft fails to be enabled, and the 4G transmission cannot establish a connection. Please check the 4G signal strength, or consult the operator to check the package traffic and APN settings."),
SDR_SWITCH_FAILED(326006, "The 4G transmission switch failed, please try again later."),
WRONG_COMMAND_FORMAT(326007, "The command format is wrong."),
DOCK_NO_DONGLE(326008, "The DJI Cellular module is not installed on the dock."),
DOCK_DONGLE_NO_SIM(326009, "There is no SIM card installed in the DJI Cellular module of the dock."),
DOCK_DONGLE_NEED_UPGRADE(326010, "The DJI Cellular module of the dock needs to be upgraded, otherwise it cannot be used."),
COMMAND_NOT_SUPPORTED(514100, "Dock error. Restart dock and try again."),
PUSH_DRIVING_RODS_FAILED(514101, "Failed to push driving rods into place."),
PULL_DRIVING_RODS_FAILED(514102, "Failed to pull driving rods back."),
LOW_POWER_1(514103, "Aircraft battery level low. Unable to perform task. Wait until aircraft is charged up to 50% and try again."),
CHARGE_FAILED(514104, "Failed to charge battery."),
STOP_CHARGING_FAILED(514105, "Failed to stop charging battery."),
REBOOT_DRONE_FAILED(514106, "Failed to reboot drone."),
OPEN_DOCK_COVER_FAILED(514107, "Failed to open dock cover."),
CLOSE_DOCK_COVER_FAILED(514108, "Failed to close dock cover."),
POWER_ON_AIRCRAFT_FAILED(514109, "Failed to power on aircraft."),
POWER_OFF_AIRCRAFT_FAILED(514110, "Failed to power off aircraft."),
OPEN_SLOW_MOTION_FAILED(514111, "Propeller error in opening slow motion mode"),
CLOSE_SLOW_MOTION_FAILED(514112, "Propeller error in closing slow motion mode"),
AIRCRAFT_NOT_FOUND_1(514113, "Connection error between driving rod and aircraft. Check if aircraft is inside dock, driving rods are stuck, or charging connector is stained or damaged."),
OBTAIN_BATTERY_FAILED(514114, "Failed to obtain aircraft battery status. Restart dock and try again."),
DOCK_BUSY(514116, "Unable to perform operation. Dock is executing other command. Try again later."),
OBTAIN_DOCK_COVER_FAILED(514117, "Dock cover is open or not fully closed. Restart dock and try again"),
OBTAIN_DRIVING_RODS_FAILED(514118, "Driving rods pulled back or not pushed into place. Restart dock and try again."),
TRANSMISSION_ERROR(514120, "Dock and aircraft disconnected. Restart dock and try again or relink dock and aircraft."),
EMERGENCY_BUTTON_PRESSED_DOWN(514121, "Emergency stop button pressed down. Release button."),
OBTAIN_CHARGING_STATUS_FAILED(514122, "Failed to obtain aircraft charging status. Restart dock and try again."),
LOW_POWER_2(514123, "Aircraft battery level too low. Unable to power on aircraft."),
OBTAIN_BATTERY_STATUS_FAILED(514124, "Failed to obtain aircraft battery information."),
BATTERY_FULL(514125, "Aircraft battery level almost full. Unable to start charging. Charge battery when battery level is lower than 95%."),
HEAVY_RAINFALL(514134, "Heavy rainfall. Unable to perform task. Try again later."),
HIGH_WIND(514135, "Wind speed too high (≥12 m/s). Unable to perform task. Try again later."),
POWER_SUPPLY_ERROR(514136, "Dock power supply error. Unable to perform task. Resume power supply and try again."),
LOW_ENVIRONMENT_TEMPERATURE(514137, "Environment temperature too low (lower than -20° C). Unable to perform task. Try again later."),
BATTERY_MAINTAINING(514138, "Maintaining aircraft battery. Unable to perform task. Wait until maintenance is complete."),
MAINTAIN_BATTERY_FAILED(514139, "Failed to maintain aircraft battery. No maintenance required."),
SETTING_BATTERY_STORAGE_FAILED(514140, "Failed to set battery storage mode."),
DOCK_SYSTEM_ERROR(514141, "Dock system error. Restart dock and try again."),
AIRCRAFT_NOT_FOUND_2(514142, "Connection error between driving rod and aircraft before takeoff. Check if aircraft is inside dock, driving rods are stuck, or charging connector is stained or damaged."),
DRIVING_RODS_ERROR(514143, "Driving rods pulled back or not pushed into place. Try again later or restart dock and try again."),
DOCK_COVER_ERROR(514144, "Dock cover is open or not fully closed."),
ONSITE_DEBUGGING_MODE(514145, "Dock in onsite debugging mode. Unable to perform current operation or task."),
REMOTE_DEBUGGING_MODE(514146, "Dock in remote debugging mode. Unable to perform task."),
FIRMWARE_UPDATING(514147, "Updating device firmware. Unable to perform task."),
WORKING(514148, "Task in progress. Dock unable to enter remote debugging mode or perform task again. "),
WRONG_STATUS(514149, "The airport is not in operation mode, but an operation mode-related command has been issued."),
RESTARTING(514150, "Restarting device."),
UPDATING(514151, "Updating device firmware."),
NOT_REMOTE_DEBUGGING_MODE(514153, "Dock exited remote debugging mode. Unable to perform current operation."),
INITIALIZING(514170, "Initializing dock. Unable to perform operation. Wait until initialization completes."),
WRONG_PARAMETER(514171, "Cloud command parameter error. Dock unable to execute command."),
DISABLE_AC_FAILED(514180, "Failed to disable AC cooling or heating."),
ENABLE_AC_COOLING_FAILED(514181, "Failed to enable AC cooling."),
ENABLE_AC_HEATING_FAILED(514182, "Failed to enable AC heating."),
ENABLE_AC_DEHUMIDIFYING_FAILED(514183, "Failed to enable AC dehumidifying."),
LOW_TEMPERATURE(514184, "Ambient temperature below 0° C. Unable to enable AC cooling."),
HIGH_TEMPERATURE(514185, "Ambient temperature above 45° C. Unable to enable AC heating"),
UNKNOWN(-1, "UNKNOWN"),
;
private final String msg;
private final int code;
DebugErrorCodeEnum(int code, String msg) {
this.code = code;
this.msg = msg;
}
@Override
public String getMessage() {
return this.msg;
}
@Override
public Integer getCode() {
return this.code;
}
/**
* @param code error code
* @return enumeration object
*/
public static DebugErrorCodeEnum find(int code) {
return Arrays.stream(values()).filter(codeEnum -> codeEnum.code == code).findAny().orElse(UNKNOWN);
}
}

84
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/debug/DebugMethodEnum.java

@ -1,84 +0,0 @@ @@ -1,84 +0,0 @@
package com.dji.sdk.cloudapi.debug;
import com.dji.sdk.common.BaseModel;
import com.dji.sdk.exception.CloudSDKException;
import java.util.Arrays;
/**
* @author sean
* @version 1.3
* @date 2022/11/14
*/
public enum DebugMethodEnum {
DEBUG_MODE_OPEN("debug_mode_open", null),
DEBUG_MODE_CLOSE("debug_mode_close", null),
SUPPLEMENT_LIGHT_OPEN("supplement_light_open", null),
SUPPLEMENT_LIGHT_CLOSE("supplement_light_close", null),
DEVICE_REBOOT("device_reboot", null),
DRONE_OPEN("drone_open", null),
DRONE_CLOSE("drone_close", null),
DRONE_FORMAT("drone_format", null),
DEVICE_FORMAT("device_format", null),
COVER_OPEN("cover_open", null),
COVER_CLOSE("cover_close", null),
PUTTER_OPEN("putter_open", null),
PUTTER_CLOSE("putter_close", null),
CHARGE_OPEN("charge_open", null),
CHARGE_CLOSE("charge_close", null),
BATTERY_MAINTENANCE_SWITCH("battery_maintenance_switch", BatteryMaintenanceSwitchRequest.class),
ALARM_STATE_SWITCH("alarm_state_switch", AlarmStateSwitchRequest.class),
BATTERY_STORE_MODE_SWITCH("battery_store_mode_switch", BatteryStoreModeSwitchRequest.class),
SDR_WORKMODE_SWITCH("sdr_workmode_switch", SdrWorkmodeSwitchRequest.class),
AIR_CONDITIONER_MODE_SWITCH("air_conditioner_mode_switch", AirConditionerModeSwitchRequest.class),
ESIM_ACTIVATE("esim_activate", EsimActivateRequest.class),
SIM_SLOT_SWITCH("sim_slot_switch", SimSlotSwitchRequest.class),
ESIM_OPERATOR_SWITCH("esim_operator_switch", EsimOperatorSwitchRequest.class),
;
private final String method;
private final Class<? extends BaseModel> clazz;
DebugMethodEnum(String method, Class<? extends BaseModel> clazz) {
this.method = method;
this.clazz = clazz;
}
public String getMethod() {
return method;
}
public Class<? extends BaseModel> getClazz() {
return clazz;
}
public static DebugMethodEnum find(String method) {
return Arrays.stream(values()).filter(methodEnum -> methodEnum.method.equals(method)).findAny()
.orElseThrow(() -> new CloudSDKException(DebugMethodEnum.class, method));
}
}

38
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/debug/DongleDeviceTypeEnum.java

@ -1,38 +0,0 @@ @@ -1,38 +0,0 @@
package com.dji.sdk.cloudapi.debug;
import com.dji.sdk.exception.CloudSDKException;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;
import java.util.Arrays;
/**
* @author sean
* @version 1.7
* @date 2023/10/20
*/
public enum DongleDeviceTypeEnum {
DOCK("dock"),
DRONE("drone"),
;
private final String type;
DongleDeviceTypeEnum(String type) {
this.type = type;
}
@JsonValue
public String getType() {
return type;
}
@JsonCreator
public static DongleDeviceTypeEnum find(String type) {
return Arrays.stream(values()).filter(typeEnum -> typeEnum.type.equals(type)).findAny()
.orElseThrow(() -> new CloudSDKException(DongleDeviceTypeEnum.class, type));
}
}

54
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/debug/EsimActivateRequest.java

@ -1,54 +0,0 @@ @@ -1,54 +0,0 @@
package com.dji.sdk.cloudapi.debug;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.7
* @date 2023/10/20
*/
public class EsimActivateRequest extends BaseModel {
/**
* Identifies the dongle to be operated on.
*/
@NotNull
private String imei;
/**
* Identifies the target device to operate on.
*/
@NotNull
private DongleDeviceTypeEnum deviceType;
public EsimActivateRequest() {
}
@Override
public String toString() {
return "EsimActivateRequest{" +
"imei='" + imei + '\'' +
", deviceType=" + deviceType +
'}';
}
public String getImei() {
return imei;
}
public EsimActivateRequest setImei(String imei) {
this.imei = imei;
return this;
}
public DongleDeviceTypeEnum getDeviceType() {
return deviceType;
}
public EsimActivateRequest setDeviceType(DongleDeviceTypeEnum deviceType) {
this.deviceType = deviceType;
return this;
}
}

71
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/debug/EsimOperatorSwitchRequest.java

@ -1,71 +0,0 @@ @@ -1,71 +0,0 @@
package com.dji.sdk.cloudapi.debug;
import com.dji.sdk.cloudapi.device.TelecomOperatorEnum;
import com.dji.sdk.common.BaseModel;
import javax.validation.constraints.NotNull;
/**
* @author sean
* @version 1.7
* @date 2023/10/20
*/
public class EsimOperatorSwitchRequest extends BaseModel {
/**
* Identifies the dongle to be operated on.
*/
@NotNull
private String imei;
/**
* Identifies the target device to operate on.
*/
@NotNull
private DongleDeviceTypeEnum deviceType;
/**
* Target carrier for switching.
*/
@NotNull
private TelecomOperatorEnum telecomOperator;
public EsimOperatorSwitchRequest() {
}
@Override
public String toString() {
return "EsimOperatorSwitchRequest{" +
"imei='" + imei + '\'' +
", deviceType=" + deviceType +
", telecomOperator=" + telecomOperator +
'}';
}
public String getImei() {
return imei;
}
public EsimOperatorSwitchRequest setImei(String imei) {
this.imei = imei;
return this;
}
public DongleDeviceTypeEnum getDeviceType() {
return deviceType;
}
public EsimOperatorSwitchRequest setDeviceType(DongleDeviceTypeEnum deviceType) {
this.deviceType = deviceType;
return this;
}
public TelecomOperatorEnum getTelecomOperator() {
return telecomOperator;
}
public EsimOperatorSwitchRequest setTelecomOperator(TelecomOperatorEnum telecomOperator) {
this.telecomOperator = telecomOperator;
return this;
}
}

42
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/debug/RemoteDebugProgress.java

@ -1,42 +0,0 @@ @@ -1,42 +0,0 @@
package com.dji.sdk.cloudapi.debug;
/**
* @author sean
* @version 1.2
* @date 2022/7/29
*/
public class RemoteDebugProgress {
private RemoteDebugStatusEnum status;
private RemoteDebugProgressData progress;
public RemoteDebugProgress() {
}
@Override
public String toString() {
return "RemoteDebugProgress{" +
"status=" + status +
", progress=" + progress +
'}';
}
public RemoteDebugStatusEnum getStatus() {
return status;
}
public RemoteDebugProgress setStatus(RemoteDebugStatusEnum status) {
this.status = status;
return this;
}
public RemoteDebugProgressData getProgress() {
return progress;
}
public RemoteDebugProgress setProgress(RemoteDebugProgressData progress) {
this.progress = progress;
return this;
}
}

78
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/debug/RemoteDebugProgressData.java

@ -1,78 +0,0 @@ @@ -1,78 +0,0 @@
package com.dji.sdk.cloudapi.debug;
/**
* @author sean
* @version 1.2
* @date 2022/7/29
*/
public class RemoteDebugProgressData {
private Integer percent;
private Integer currentStep;
private Integer totalSteps;
private RemoteDebugStepKeyEnum stepKey;
private Integer stepResult;
public RemoteDebugProgressData() {
}
@Override
public String toString() {
return "RemoteDebugProgressData{" +
"percent=" + percent +
", currentStep=" + currentStep +
", totalSteps=" + totalSteps +
", stepKey='" + stepKey + '\'' +
", stepResult=" + stepResult +
'}';
}
public Integer getPercent() {
return percent;
}
public RemoteDebugProgressData setPercent(Integer percent) {
this.percent = percent;
return this;
}
public Integer getCurrentStep() {
return currentStep;
}
public RemoteDebugProgressData setCurrentStep(Integer currentStep) {
this.currentStep = currentStep;
return this;
}
public Integer getTotalSteps() {
return totalSteps;
}
public RemoteDebugProgressData setTotalSteps(Integer totalSteps) {
this.totalSteps = totalSteps;
return this;
}
public RemoteDebugStepKeyEnum getStepKey() {
return stepKey;
}
public RemoteDebugProgressData setStepKey(RemoteDebugStepKeyEnum stepKey) {
this.stepKey = stepKey;
return this;
}
public Integer getStepResult() {
return stepResult;
}
public RemoteDebugProgressData setStepResult(Integer stepResult) {
this.stepResult = stepResult;
return this;
}
}

30
cloud-sdk/src/main/java/com/dji/sdk/cloudapi/debug/RemoteDebugResponse.java

@ -1,30 +0,0 @@ @@ -1,30 +0,0 @@
package com.dji.sdk.cloudapi.debug;
/**
* @author sean
* @version 1.7
* @date 2023/6/29
*/
public class RemoteDebugResponse {
private RemoteDebugStatusEnum status;
public RemoteDebugResponse() {
}
@Override
public String toString() {
return "RemoteDebugResponse{" +
"status=" + status +
'}';
}
public RemoteDebugStatusEnum getStatus() {
return status;
}
public RemoteDebugResponse setStatus(RemoteDebugStatusEnum status) {
this.status = status;
return this;
}
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save