ifm3d
ifm3d::O3R Class Reference

#include <ifm3d/device/o3r.h>

Inheritance diagram for ifm3d::O3R:
[legend]
Collaboration diagram for ifm3d::O3R:
[legend]

Public Types

using Ptr = std::shared_ptr< O3R >
 
- Public Types inherited from ifm3d::Device
enum  boot_mode : int { PRODUCTIVE = 0, RECOVERY = 1 }
 
enum  operating_mode : int { RUN = 0, EDIT = 1 }
 
enum  trigger_mode : int { FREE_RUN = 1, SW = 2 }
 
enum  import_flags : int { GLOBAL = 0x1, NET = 0x2, APPS = 0x10 }
 
enum  spatial_filter : int { OFF = 0x0, MEDIAN = 0x1, MEAN = 0x2, BILATERAL = 0x3 }
 
enum  temporal_filter : int { OFF = 0x0, MEAN = 0x1, ADAPTIVE_EXP = 0x2 }
 
enum  mfilt_mask_size : int { _3x3 = 0, _5x5 = 1 }
 
enum  device_family : int { UNKNOWN = 0, O3D = 1, O3X = 2, O3R = 3 }
 
enum  swu_version : int { SWU_NOT_SUPPORTED = 0, SWU_V1 = 1, SWU_V2 = 2 }
 
using Ptr = std::shared_ptr< Device >
 

Public Member Functions

 O3R (const std::string &ip=ifm3d::DEFAULT_IP, const std::uint16_t xmlrpc_port=ifm3d::DEFAULT_XMLRPC_PORT)
 
 O3R (O3R &&)=delete
 
O3Roperator= (O3R &&)=delete
 
 O3R (O3R &)=delete
 
O3Roperator= (O3R &)=delete
 
virtual void FactoryReset (bool keepNetworkSettings)
 
json GetSchema ()
 
json Get (const std::vector< std::string > &path=std::vector< std::string >())
 
json ResolveConfig (const json::json_pointer &ptr)
 
void Set (const json &j)
 
void Remove (const std::string &jsonPointer)
 
void Reset (const std::string &jsonPointer)
 
json GetInit ()
 
void SaveInit ()
 
std::string GetInitStatus ()
 
void Lock (const std::string &password)
 
void Unlock (const std::string &password)
 
std::vector< PortInfoPorts ()
 
PortInfo Port (const std::string &port)
 
json GetDiagnostic ()
 Returns the content of the diagnostic memory formatted in JSON. More...
 
json GetDiagnosticFilterSchema ()
 Returns the JSON schema for the filter expression provided to the getFiltered() method. More...
 
json GetDiagnosticFiltered (json filter)
 Returns the content of the diagnostic memory formatted in JSON and filtered according to the JSON filter expression. More...
 
void Reboot (const boot_mode &mode=ifm3d::Device::boot_mode::PRODUCTIVE) override
 
void RebootToRecovery ()
 
device_family WhoAmI () override
 
ifm3d::Device::swu_version SwUpdateVersion () override
 
json ToJSON () override
 
void FromJSON (const json &j) override
 
- Public Member Functions inherited from ifm3d::Device
 Device (const std::string &ip=ifm3d::DEFAULT_IP, const std::uint16_t xmlrpc_port=ifm3d::DEFAULT_XMLRPC_PORT)
 
virtual ~Device ()
 
 Device (Device &&)=delete
 
Deviceoperator= (Device &&)=delete
 
 Device (Device &)=delete
 
Deviceoperator= (Device &)=delete
 
virtual std::string IP ()
 
virtual std::uint16_t XMLRPCPort ()
 
virtual void ForceTrigger ()
 
virtual std::string DeviceType (bool use_cached=true)
 
virtual bool AmI (device_family family)
 
virtual std::string DeviceParameter (const std::string &key)
 
virtual std::vector< std::string > TraceLogs (int count)
 
virtual std::string ToJSONStr ()
 
virtual void FromJSONStr (const std::string &jstr)
 
bool CheckMinimumFirmwareVersion (unsigned int major, unsigned int minor, unsigned int patch)
 
ifm3d::SemVer FirmwareVersion ()
 

Additional Inherited Members

- Static Public Member Functions inherited from ifm3d::Device
static std::vector< ifm3d::IFMNetworkDeviceDeviceDiscovery ()
 This function Provides a convinent way to find all ifm devices on the network. More...
 
static Ptr MakeShared (const std::string &ip=ifm3d::DEFAULT_IP, const std::uint16_t xmlrpc_port=ifm3d::DEFAULT_XMLRPC_PORT, const std::string &password=ifm3d::DEFAULT_PASSWORD, bool throwIfUnavailable=true)
 
- Protected Member Functions inherited from ifm3d::Device
int DeviceID ()
 
bool checkDeviceID (int deviceID, int minID, int maxID)
 
std::shared_ptr< XMLRPCWrapper > XWrapper ()
 
- Protected Attributes inherited from ifm3d::Device
std::unique_ptr< Impl > pImpl
 
std::string device_type_
 

Detailed Description

Device specialization for O3R

Member Function Documentation

◆ FactoryReset()

virtual void ifm3d::O3R::FactoryReset ( bool  keepNetworkSettings)
virtual

Sets the device configuration back to the state in which it shipped from the ifm factory.

Parameters
[in]keepNetworkSettingsa bool indicating wether to keep the current network settings

◆ FromJSON()

void ifm3d::O3R::FromJSON ( const json j)
overridevirtual

Configures the device based on the parameter values of the passed in JSON. This function is the way to tune the device/application/imager/etc. parameters.

Parameters
[in]jsonA json object encoding a camera configuration to apply to the hardware.
  • Device parameters are processed and saved persistently
Exceptions
ifm3d::Errorupon error - if this throws an exception, you are encouraged to check the log file as a best effort is made to be as descriptive as possible as to the specific error that has occured. Equivalent to Set() followed by SaveInit()

Reimplemented from ifm3d::Device.

◆ Get()

json ifm3d::O3R::Get ( const std::vector< std::string > &  path = std::vector< std::string >())

Returns the configuration formatted as JSON based on a path. If the path is empty, returns the whole configuration.

Parameters
[in]pathA List of JSON path fragments to retrieve the information for
Returns
The JSON configuration for the list of object path fragments

◆ GetDiagnostic()

json ifm3d::O3R::GetDiagnostic ( )

Returns the content of the diagnostic memory formatted in JSON.

Returns
The JSON containing all known diagnostic events

◆ GetDiagnosticFiltered()

json ifm3d::O3R::GetDiagnosticFiltered ( json  filter)

Returns the content of the diagnostic memory formatted in JSON and filtered according to the JSON filter expression.

Parameters
filterA filter expression in JSON format
Returns
json

◆ GetDiagnosticFilterSchema()

json ifm3d::O3R::GetDiagnosticFilterSchema ( )

Returns the JSON schema for the filter expression provided to the getFiltered() method.

Returns
The JSON schema

◆ GetInit()

json ifm3d::O3R::GetInit ( )

Return the initial JSON configuration.

Returns
The initial JSON configuration

◆ GetInitStatus()

std::string ifm3d::O3R::GetInitStatus ( )

Returns the init status of the device

Returns
The init status of the device

◆ GetSchema()

json ifm3d::O3R::GetSchema ( )

Return the current JSON schema configuration

Returns
The current JSON schema configuration

◆ Lock()

void ifm3d::O3R::Lock ( const std::string &  password)

Release the lock from the Device

Parameters
[in]passwordthe password used to unlock the device

◆ Port()

PortInfo ifm3d::O3R::Port ( const std::string &  port)

Returns information about a given physical port

Parameters
[in]portthe port for which to get the information
Returns
the port information

◆ Ports()

std::vector<PortInfo> ifm3d::O3R::Ports ( )

Returns a list containing information about all connected physical ports

Returns
the list of ports

◆ Reboot()

void ifm3d::O3R::Reboot ( const boot_mode mode = ifm3d::Device::boot_mode::PRODUCTIVE)
overridevirtual

Reboot the device

Parameters
[in]modeThe system mode to boot into upon restart of the device
Exceptions
ifm3d::Errorupon error

Reimplemented from ifm3d::Device.

◆ RebootToRecovery()

void ifm3d::O3R::RebootToRecovery ( )

Reboot the device into Recovery Mode

◆ Remove()

void ifm3d::O3R::Remove ( const std::string &  jsonPointer)

Removes an object from the JSON. The scope of this method is limited to the following regular expressions

  • ^\/applications\/instances\/app\d+$
  • ^\/device\/log\/components\/[a-zA-Z0-9-_]+$
Parameters
[in]jsonPointerA JSON Pointer to the object to be removed.

◆ Reset()

void ifm3d::O3R::Reset ( const std::string &  jsonPointer)

Sets the default value of an object inside the JSON. The object is addressed by a JSON Pointer. The object is resetted to the values defined in the JSON schema.

Parameters
[in]jsonPointerA JSON Pointer to the object to be set to default.

◆ ResolveConfig()

json ifm3d::O3R::ResolveConfig ( const json::json_pointer &  ptr)

Returns a part of the configuration formatted as JSON based on a JSON pointer.

Parameters
[in]ptrA JSON pointer to retrieve the information for
Returns
The partial JSON configuration for the given JSON pointer

◆ SaveInit()

void ifm3d::O3R::SaveInit ( )

Save to current temporary JSON configuration as initial JSON configuration

◆ Set()

void ifm3d::O3R::Set ( const json j)

Overwrites parts of the temporary JSON configuration which is achieved by merging the provided JSON fragment with the current temporary JSON.

Parameters
[in]jThe new temporay JSON configuration of the device.

◆ SwUpdateVersion()

ifm3d::Device::swu_version ifm3d::O3R::SwUpdateVersion ( )
overridevirtual

Checks the swupdater version supported by device

Returns
sw_version supported by device

Reimplemented from ifm3d::Device.

◆ ToJSON()

json ifm3d::O3R::ToJSON ( )
overridevirtual

Serializes the state of the device to JSON.

The JSON interface returned here is the excellent JSON for Modern C++.

This function (along with its std::string equivalent ToJSONStr()) provides the primary gateway into obtaining the current parameter settings for the device and PMD imager. Data returned from this function can be manipulated as a json object, then fed into FromJSON(...) to mutate parameter settings on the device.

Returns
A JSON object representation of the current state of the hardware.
Exceptions
ifm3d::Errorupon error Equivalent to the Get() method

Reimplemented from ifm3d::Device.

◆ Unlock()

void ifm3d::O3R::Unlock ( const std::string &  password)

Locks the device until it is unlocked. If the device is unlocked and an empty password is provided the password protection is removed.

Parameters
[in]passwordthe password used to lock the device

◆ WhoAmI()

device_family ifm3d::O3R::WhoAmI ( )
overridevirtual

This function can be used to retrieve the family of the connected device

Returns
the device family of the connected device.

Reimplemented from ifm3d::Device.


The documentation for this class was generated from the following file: