ifm3d
o3c.h
1 /*
2  * Copyright 2025-present ifm electronic, gmbh
3  * SPDX-License-Identifier: Apache-2.0
4  */
5 
6 #ifndef IFM3D_DEVICE_O3C_H
7 #define IFM3D_DEVICE_O3C_H
8 
9 #include <ifm3d/device/device.h>
10 #include <ifm3d/device/o3r.h>
11 #include <ifm3d/device/pcic_command.h>
12 #include <sstream>
13 
14 namespace ifm3d
15 {
16  static const int NET_WAIT_O3C_SET =
17  std::getenv("IFM3D_NET_WAIT_O3C_SET") == nullptr ?
18  15000 :
19  std::stoi(std::getenv("IFM3D_NET_WAIT_O3C_SET"));
20 
25  class IFM3D_EXPORT O3C : public O3R
26  {
27  public:
28  using Ptr = std::shared_ptr<O3C>;
29  O3C(const std::string& ip = ifm3d::DEFAULT_IP,
30  std::uint16_t xmlrpc_port = ifm3d::DEFAULT_XMLRPC_PORT);
31 
32  ~O3C() override;
33  O3C(O3C&&) = delete;
34  O3C& operator=(O3C&&) = delete;
35  O3C(O3C&) = delete;
36  O3C& operator=(O3C&) = delete;
37 
38  DeviceFamily WhoAmI() override;
39  ifm3d::Device::SWUVersion SwUpdateVersion() override;
40 
43  };
44 }
45 
46 #endif // IFM3D_DEVICE_O3C_H
Device specialization for O3C.
Definition: o3c.h:26
ifm3d::Device::SWUVersion SwUpdateVersion() override
Checks the swupdater version supported by device.
DeviceFamily WhoAmI() override
This function can be used to retrieve the family of the connected device.
Device specialization for O3R.
Definition: o3r.h:43