@@ -198,6 +198,8 @@ class DashboardClientImpl
198198 * - 'installation_name': std::string
199199 *
200200 * \param installation_file_name The installation file name with the installation extension
201+ *
202+ * \throws an NotImplementedException when called on PolyScope X robots
201203 */
202204 virtual DashboardResponse commandLoadInstallation (const std::string& installation_file_name) = 0;
203205
@@ -226,11 +228,15 @@ class DashboardClientImpl
226228
227229 /* !
228230 * \brief Send Close popup command
231+ *
232+ * \throws an NotImplementedException when called on PolyScope X robots
229233 */
230234 virtual DashboardResponse commandClosePopup () = 0;
231235
232236 /* !
233237 * \brief Send Close safety popup command
238+ *
239+ * \throws an NotImplementedException when called on PolyScope X robots
234240 */
235241 virtual DashboardResponse commandCloseSafetyPopup () = 0;
236242
@@ -246,6 +252,8 @@ class DashboardClientImpl
246252
247253 /* !
248254 * \brief Send Shutdown command
255+ *
256+ * \throws an NotImplementedException when called on PolyScope X robots
249257 */
250258 virtual DashboardResponse commandShutdown () = 0;
251259
@@ -260,6 +268,8 @@ class DashboardClientImpl
260268 * Stores the following entries in the data field:
261269 *
262270 * - 'running': bool
271+ *
272+ * \throws an NotImplementedException when called on PolyScope X robots
263273 */
264274 virtual DashboardResponse commandRunning () = 0;
265275
@@ -269,6 +279,8 @@ class DashboardClientImpl
269279 * Stores the following entries in the data field:
270280 *
271281 * - 'saved': bool
282+ *
283+ * \throws an NotImplementedException when called on PolyScope X robots
272284 */
273285 virtual DashboardResponse commandIsProgramSaved () = 0;
274286
@@ -279,21 +291,25 @@ class DashboardClientImpl
279291 *
280292 * - 'remote_control': bool
281293 *
282- * \throws an UrException when called on CB3 robots
294+ * \throws an NotImplementedException when called on CB3 robots or PolyScope versions lower than 10.12.0
283295 */
284296 virtual DashboardResponse commandIsInRemoteControl () = 0;
285297
286298 /* !
287299 * \brief Send popup command
288300 *
289301 * \param popup_text The text to be shown in the popup
302+ *
303+ * \throws an NotImplementedException when called on PolyScope X robots
290304 */
291305 virtual DashboardResponse commandPopup (const std::string& popup_text) = 0;
292306
293307 /* !
294308 * \brief Send text to log
295309 *
296310 * \param log_text The text to be sent to the log
311+ *
312+ * \throws an NotImplementedException when called on PolyScope X robots
297313 */
298314 virtual DashboardResponse commandAddToLog (const std::string& log_text) = 0;
299315
@@ -303,6 +319,8 @@ class DashboardClientImpl
303319 * Stores the following entries in the data field:
304320 *
305321 * - 'polyscope_version': std::string
322+ *
323+ * \throws an NotImplementedException when called on PolyScope X robots
306324 */
307325 virtual DashboardResponse commandPolyscopeVersion () = 0;
308326
@@ -312,6 +330,8 @@ class DashboardClientImpl
312330 * Stores the following entries in the data field:
313331 *
314332 * - 'robot_model': std::string
333+ *
334+ * \throws an NotImplementedException when called on PolyScope X robots
315335 */
316336 virtual DashboardResponse commandGetRobotModel () = 0;
317337
@@ -321,6 +341,8 @@ class DashboardClientImpl
321341 * Stores the following entries in the data field:
322342 *
323343 * - 'serial_number': std::string
344+ *
345+ * \throws an NotImplementedException when called on PolyScope X robots
324346 */
325347 virtual DashboardResponse commandGetSerialNumber () = 0;
326348
@@ -330,6 +352,8 @@ class DashboardClientImpl
330352 * Stores the following entries in the data field:
331353 *
332354 * - 'robot_mode': std::string
355+ *
356+ * \throws an NotImplementedException when called on PolyScope X versions lower than 10.12.0
333357 */
334358 virtual DashboardResponse commandRobotMode () = 0;
335359
@@ -339,6 +363,8 @@ class DashboardClientImpl
339363 * Stores the following entries in the data field:
340364 *
341365 * - 'program_name': std::string
366+ *
367+ * \throws an NotImplementedException when called on PolyScope X versions lower than 10.12.0
342368 */
343369 virtual DashboardResponse commandGetLoadedProgram () = 0;
344370
@@ -348,6 +374,8 @@ class DashboardClientImpl
348374 * Stores the following entries in the data field:
349375 *
350376 * - 'safety_mode': std::string
377+ *
378+ * \throws an NotImplementedException when called on PolyScope X versions lower than 10.12.0
351379 */
352380 virtual DashboardResponse commandSafetyMode () = 0;
353381
@@ -357,6 +385,8 @@ class DashboardClientImpl
357385 * Stores the following entries in the data field:
358386 *
359387 * - 'safety_status': std::string
388+ *
389+ * \throws an NotImplementedException when called on Polyscope X robots
360390 */
361391 virtual DashboardResponse commandSafetyStatus () = 0;
362392
@@ -377,7 +407,7 @@ class DashboardClientImpl
377407 *
378408 * - 'operational_mode': std::string
379409 *
380- * \throws an UrException when called on CB3 robots
410+ * \throws an NotImplementedException when called on CB3 robots or a Polyscope X version lower than 10.12.0
381411 */
382412 virtual DashboardResponse commandGetOperationalMode () = 0;
383413
@@ -386,14 +416,14 @@ class DashboardClientImpl
386416 *
387417 * \param operational_mode The operational mode to set on the robot
388418 *
389- * \throws an UrException when called on CB3 robots
419+ * \throws an NotImplementedException when called on CB3 robots and Polyscope X robots
390420 */
391421 virtual DashboardResponse commandSetOperationalMode (const std::string& operational_mode) = 0;
392422
393423 /* !
394424 * \brief Send Clear operational mode command
395425 *
396- * \throws an UrException when called on CB3 robots
426+ * \throws an NotImplementedException when called on CB3 and Polyscope X robots
397427 */
398428 virtual DashboardResponse commandClearOperationalMode () = 0;
399429
@@ -402,22 +432,24 @@ class DashboardClientImpl
402432 *
403433 * \param user_role The user role to set on the robot
404434 *
405- * \throws an UrException when called on e-series robots
435+ * \throws an NotImplementedException when called on e-series robots
406436 */
407437 virtual DashboardResponse commandSetUserRole (const std::string& user_role) = 0;
408438
409439 /* !
410440 * \brief Send Get user role command (Only available for CB3)
411441 *
412442 *
413- * \throws an UrException when called on e-series robots
443+ * \throws an NotImplementedException when called on e-series robots
414444 */
415445 virtual DashboardResponse commandGetUserRole () = 0;
416446
417447 /* !
418448 * \brief Send Generate flight report command
419449 *
420450 * \param report_type The report type to set for the flight report
451+ *
452+ * \throws an NotImplementedException when called on PolyScope X robots
421453 */
422454 virtual DashboardResponse commandGenerateFlightReport (const std::string& report_type) = 0;
423455
@@ -426,22 +458,65 @@ class DashboardClientImpl
426458 *
427459 * \param dir_path The path to the directory of an already existing directory location inside the programs directory,
428460 * where the support file is saved
461+ *
462+ * \throws an NotImplementedException when called on PolyScope X robots
429463 */
430464 virtual DashboardResponse commandGenerateSupportFile (const std::string& dir_path) = 0;
431465
432466 /* !
433467 * \brief Flush the polyscope log to the log_history.txt file
468+ *
469+ * \throws an NotImplementedException when called on PolyScope X robots
434470 */
435471 virtual DashboardResponse commandSaveLog () = 0;
436472
473+ /* !
474+ * \brief Get a list of the programs available on the robot
475+ *
476+ * Stores the following entries in the data field:
477+ *
478+ * - 'programs': std::vector<urcl::ProgramInformation>
479+ *
480+ * \throws an NotImplementedException when called on versions lower than PolyScope 10.12.0
481+ */
437482 virtual DashboardResponse commandGetProgramList () = 0;
438483
484+ /* !
485+ * \brief Upload a new program to the robot. Will return an error if a program with the same name already exists
486+ *
487+ * Stores the following entries in the data field:
488+ *
489+ * - 'program_name': std::string
490+ *
491+ * \param file_path The path to the program file on the user's computer
492+ *
493+ * \throws an NotImplementedException when called on versions lower than PolyScope 10.12.0
494+ */
439495 virtual DashboardResponse commandUploadProgram (const std::string& file_path) = 0;
440496
497+ /* !
498+ * \brief Update an existing program. Will return an error if no program exists with the same name
499+ *
500+ * \param file_path The path to the program file on the user's computer
501+ *
502+ * \throws an NotImplementedException when called on versions lower than PolyScope 10.12.0
503+ */
441504 virtual DashboardResponse commandUpdateProgram (const std::string& file_path) = 0;
442505
443- virtual DashboardResponse commandDownloadProgram (const std::string& filename, const std::string& save_path) = 0;
506+ /* !
507+ * \brief Download a program from the robot
508+ *
509+ * \param program_name The name of the program that is to be downloaded
510+ *
511+ * \param save_path Filepath where the downloaded program should be saved on the user's computer
512+ *
513+ * \throws an NotImplementedException when called on versions lower than PolyScope 10.12.0
514+ */
515+ virtual DashboardResponse commandDownloadProgram (const std::string& program_name, const std::string& save_path) = 0;
444516
517+ /* !
518+ * \brief Get the PolyScope version running on the robot
519+ */
445520 const VersionInformation& getPolyscopeVersion () const
446521 {
447522 return polyscope_version_;
0 commit comments