status.cc
Go to the documentation of this file.
1 
37 #include "details/legacy/status.hh"
38 
39 namespace multisense {
40 namespace legacy {
41 
43 {
44  using namespace crl::multisense::details;
45 
46  return (status.status & wire::StatusResponse::STATUS_GENERAL_OK) == wire::StatusResponse::STATUS_GENERAL_OK;
47 }
48 
49 template <>
51 {
53  status.temperature2,
54  status.temperature3,
55  status.temperature0};
56 }
57 
58 template <>
60 {
62  status.inputCurrent,
63  status.fpgaPower};
64 }
65 
66 template <>
67 MultiSenseStatus::CameraStatus convert(const crl::multisense::details::wire::StatusResponse &status)
68 {
69  using namespace crl::multisense::details;
70 
71  return MultiSenseStatus::CameraStatus{
72  (status.status & wire::StatusResponse::STATUS_CAMERAS_OK) == wire::StatusResponse::STATUS_CAMERAS_OK,
73  (status.status & wire::StatusResponse::STATUS_PIPELINE_OK) == wire::StatusResponse::STATUS_PIPELINE_OK};
74 }
75 
77 {
78  std::array<uint8_t, 8> grandmaster_id = {0, 0, 0, 0, 0, 0, 0, 0};
79  memcpy(grandmaster_id.data(), status.gm_id, sizeof(uint8_t) * grandmaster_id.size());
80  return MultiSenseStatus::PtpStatus{status.gm_present != 0,
81  std::move(grandmaster_id),
82  std::chrono::nanoseconds{status.gm_offset},
83  std::chrono::nanoseconds{status.path_delay},
84  status.steps_removed};
85 }
86 
87 }
88 }
multisense::MultiSenseStatus::PtpStatus
Definition: LibMultiSense/include/MultiSense/MultiSenseTypes.hh:1084
crl::multisense::details::wire::PtpStatusResponse::gm_present
uint8_t gm_present
Definition: PtpStatusResponseMessage.hh:59
crl::multisense::details
Definition: Legacy/details/channel.cc:63
crl::multisense::details::wire::StatusResponse::temperature0
float temperature0
Definition: StatusResponseMessage.hh:73
crl::multisense::details::wire::PtpStatusResponse
Definition: PtpStatusResponseMessage.hh:51
multisense::MultiSenseStatus::TemperatureStatus
Definition: LibMultiSense/include/MultiSense/MultiSenseTypes.hh:1126
crl::multisense::details::wire::StatusResponse::temperature2
float temperature2
Definition: StatusResponseMessage.hh:79
crl::multisense::details::wire::StatusResponse::status
uint32_t status
Definition: StatusResponseMessage.hh:72
crl::multisense::details::wire::StatusResponse
Definition: StatusResponseMessage.hh:50
crl::multisense::details::wire::PtpStatusResponse::steps_removed
uint16_t steps_removed
Definition: PtpStatusResponseMessage.hh:70
crl::multisense::details::wire::StatusResponse::temperature3
float temperature3
Definition: StatusResponseMessage.hh:80
crl::multisense::details::wire::StatusResponse::temperature1
float temperature1
Definition: StatusResponseMessage.hh:74
crl::multisense::details::wire::PtpStatusResponse::path_delay
int64_t path_delay
Definition: PtpStatusResponseMessage.hh:65
crl::multisense::details::wire::StatusResponse::inputCurrent
float inputCurrent
Definition: StatusResponseMessage.hh:83
multisense::legacy::convert
CameraCalibration convert(const crl::multisense::details::wire::CameraCalData &cal)
Convert a wire calibration to our API calibration object.
Definition: calibration.cc:56
multisense::legacy::system_ok
bool system_ok(const crl::multisense::details::wire::StatusResponse &status)
Summarize the status info and determine fit the MultiSense system is operating properly.
Definition: status.cc:42
crl::multisense::details::wire::StatusResponse::inputVolts
float inputVolts
Definition: StatusResponseMessage.hh:82
multisense
Definition: factory.cc:39
crl::multisense::details::wire::PtpStatusResponse::gm_offset
int64_t gm_offset
Definition: PtpStatusResponseMessage.hh:60
crl::multisense::details::wire::StatusResponse::fpgaPower
float fpgaPower
Definition: StatusResponseMessage.hh:84
multisense::MultiSenseStatus::PowerStatus
Definition: LibMultiSense/include/MultiSense/MultiSenseTypes.hh:1149
status.hh
crl::multisense::details::wire::PtpStatusResponse::gm_id
uint8_t gm_id[8]
Definition: PtpStatusResponseMessage.hh:75


multisense_lib
Author(s):
autogenerated on Thu Apr 17 2025 02:49:09