TwiceAsNice
2019-02-18
|
The core of the Xinetics Deformable Mirror Device. More...
#include <XineticsCoreDevice.h>
Public Member Functions | |
XineticsCoreDevice (const Nice::JointPtr &_config) | |
virtual | ~XineticsCoreDevice () |
virtual void | open () |
open device More... | |
virtual void | close () |
close device More... | |
virtual void | version () |
version More... | |
virtual void | init (Basda::DeviceAsync &=s_async) |
init the device More... | |
virtual void | deinit (Basda::DeviceAsync &=s_async) |
deinit the device More... | |
virtual bool | setActuators (Nice::SeqInt &_actuatorCmd) |
Calculate voltages (applying corrections like nonliearities) and send the to the refl memory. If the voltages exceed thresholds set by the configuration, the frame is skipped. More... | |
virtual void | getActCommands (Nice::SeqInt &_command) const |
Convert the most recently calculated voltages back to their integer values. This is basically the inverse of calcActVoltages() and assumes that m_skipFrame=false, which means it supposes that the most recently calculated voltages have not been rejected by the various threshold checks. More... | |
virtual Nice::SeqInt | getExceededNeighborActThreshold () |
virtual Nice::SeqInt | getExceededActLimits () |
virtual void | resetActuators () |
Sets all actuators to actuator command zero. More... | |
virtual void | resetActuators (const Nice::SeqFloat &_currentPos) |
virtual void | handleXineticsEvents (uint32_t _timeout)=0 |
virtual dspState_t | getDSPState () |
virtual bool | getDSPError () |
virtual Nice::SeqI16 | getFlatPatters () |
XineticsCoreDevice (const Nice::JointPtr &_config) | |
virtual | ~XineticsCoreDevice () |
virtual void | open () |
open device More... | |
virtual void | close () |
close device More... | |
virtual void | version () |
version More... | |
virtual void | init (Basda::DeviceAsync &=s_async) |
init the device More... | |
virtual void | deinit (Basda::DeviceAsync &=s_async) |
deinit the device More... | |
virtual bool | setActuators (Nice::SeqInt &_actuatorCmd) |
virtual void | getActCommands (Nice::SeqInt &_command) const |
virtual Nice::SeqInt | getExceededNeighborActThreshold () |
virtual Nice::SeqInt | getExceededActLimits () |
virtual void | resetActuators () |
Sets all actuators to actuator command zero. More... | |
virtual void | resetActuators (const Nice::SeqFloat &_currentPos) |
virtual void | handleXineticsEvents (uint32_t _timeout)=0 |
virtual dspState_t | getDSPState () |
virtual bool | getDSPError () |
virtual Nice::SeqI16 | getFlatPatters () |
XineticsCoreDevice (const Nice::JointPtr &_config) | |
virtual | ~XineticsCoreDevice () |
virtual void | open () |
open device More... | |
virtual void | close () |
close device More... | |
virtual void | version () |
version More... | |
virtual void | init (Basda::DeviceAsync &=s_async) |
init the device More... | |
virtual void | deinit (Basda::DeviceAsync &=s_async) |
deinit the device More... | |
virtual bool | setActuators (Nice::SeqInt &_actuatorCmd) |
virtual void | getActCommands (Nice::SeqInt &_command) const |
virtual Nice::SeqInt | getExceededNeighborActThreshold () |
virtual Nice::SeqInt | getExceededActLimits () |
virtual void | resetActuators () |
Sets all actuators to actuator command zero. More... | |
virtual void | resetActuators (const Nice::SeqFloat &_currentPos) |
virtual void | handleXineticsEvents (uint32_t _timeout)=0 |
virtual dspState_t | getDSPState () |
virtual bool | getDSPError () |
virtual Nice::SeqI16 | getFlatPatters () |
![]() | |
Device (const Nice::JointPtr &_config) | |
constructor. This is an elementary (lazy) action which stores the name and gets configuration. More... | |
virtual | ~Device () |
destructor Does nothing More... | |
virtual void | setConfig (const Nice::JointPtr &_config) |
init with config tree ptr More... | |
Nice::JointPtr & | config () |
retrieve the property tree More... | |
std::string & | name () |
retrieve the name set at ctor time. More... | |
virtual void | reset (DeviceAsync &=s_async)=0 |
reset the device More... | |
virtual void | activate (DeviceAsync &=s_async)=0 |
activate the device More... | |
virtual void | deactivate (DeviceAsync &=s_async)=0 |
deactivate the device More... | |
Device (const Nice::JointPtr &_config) | |
constructor. This is an elementary (lazy) action which stores the name and gets configuration. More... | |
virtual | ~Device () |
destructor Does nothing More... | |
virtual void | setConfig (const Nice::JointPtr &_config) |
init with config tree ptr More... | |
Nice::JointPtr & | config () |
retrieve the property tree More... | |
std::string & | name () |
retrieve the name set at ctor time. More... | |
virtual void | reset (DeviceAsync &=s_async)=0 |
reset the device More... | |
virtual void | activate (DeviceAsync &=s_async)=0 |
activate the device More... | |
virtual void | deactivate (DeviceAsync &=s_async)=0 |
deactivate the device More... | |
Protected Member Functions | |
void | calcActVoltages (const Nice::SeqInt &_command) |
Calculate actuator voltages plus sanity check. More... | |
virtual void | applyActVoltages ()=0 |
Send calculated DAC values to the Xinetics Electronics. More... | |
void | addProperties () |
void | updateProperties () |
void | calcActVoltages (const Nice::SeqInt &_command) |
Calculate actuator voltages plus sanity check. More... | |
virtual void | applyActVoltages ()=0 |
Send calculated DAC values to the Xinetics Electronics. More... | |
void | addProperties () |
void | updateProperties () |
void | calcActVoltages (const Nice::SeqInt &_command) |
Calculate actuator voltages plus sanity check. More... | |
virtual void | applyActVoltages ()=0 |
Send calculated DAC values to the Xinetics Electronics. More... | |
void | addProperties () |
void | updateProperties () |
Protected Attributes | |
Laos::FitsVector< Nice::I16 > | m_actFlatPattern |
Laos::FitsVector< double > | m_actSensitivityPattern |
Laos::FitsVector< double > | m_actNonlinearityPattern |
double | m_actCommonSensitivity |
bool | m_correctFlatness |
bool | m_correctSensitivity |
bool | m_correctNonlinearity |
Nice::SeqInt | m_exceededNeighborActThreshold |
Nice::SeqInt | m_exceededActLimits |
Laos::FitsVector< Nice::I16 > | m_NeighborMap |
unsigned int | m_NeighborActThreshold |
long | m_temporalDistanceThreshold |
unsigned short | m_actVoltageArray [actVoltageArraySize] |
unsigned short * | m_actVoltagePtr [numberOfXineticsActuators] |
long | m_integratedActVoltage |
long | m_frameCounter |
long | m_skippedFrameCounter |
bool | m_skipFrame |
bool | m_isFlat |
std::string | m_deviceFile |
Laos::dspState_t | m_dspState |
std::map< dspState_t, std::string > | m_dspStatename |
bool | m_dspError |
bool | m_fiberLink |
![]() | |
Nice::JointPtr | m_config |
Nice::JointPtr | m_cfg |
Nice::JointPtr | m_var |
std::string | m_name |
Additional Inherited Members | |
![]() | |
static DeviceAsyncImpl | s_async |
The core of the Xinetics Deformable Mirror Device.
Its main purposes
CFG.ACT.FLATPATTERN:String | Fits file with actator flat pattern |
CFG.ACT.SENSITIVITYPATTERN:String | Fits file with normalized actator sensitivity pattern (will be multiplied with COMMONSENSITIVITY) |
CFG.ACT.NONLINEARITYPATTERN:String | Fits file with actator nonlinearity pattern |
CFG.ACT.COMMONSENSITIVITY:Double | Mean Sensitivity of Actuators. May in the future be a function of temperature |
CFG.ACT.NEIGHBORMAP:String | Fits file containing for each Actuator the number of each neighboring actuator to the right and down |
CFG.ACT.NEIGHBOR_THRES:U16 | Maximum difference between neighbors (Actuator command, not DAC values!) |
CFG.ACT.TEMPORALDISTANCE_THRES:U32 | Maximum change in the integrated Actuator command values (Piston) between two frames. |
CFG.RFM.DEVFILE:String | RFM Device File |
Laos::XineticsCoreDevice::XineticsCoreDevice | ( | const Nice::JointPtr & | _config | ) |
|
virtual |
Laos::XineticsCoreDevice::XineticsCoreDevice | ( | const Nice::JointPtr & | _config | ) |
|
virtual |
Laos::XineticsCoreDevice::XineticsCoreDevice | ( | const Nice::JointPtr & | _config | ) |
|
virtual |
|
protected |
|
protected |
|
protected |
|
protectedpure virtual |
Send calculated DAC values to the Xinetics Electronics.
Implemented in Laos::XineticsDevice, Laos::XineticsDummyDevice, Laos::XineticsDummyDevice, and Laos::XineticsDummyDevice.
|
protectedpure virtual |
Send calculated DAC values to the Xinetics Electronics.
Implemented in Laos::XineticsDevice, Laos::XineticsDummyDevice, Laos::XineticsDummyDevice, and Laos::XineticsDummyDevice.
|
protectedpure virtual |
Send calculated DAC values to the Xinetics Electronics.
Implemented in Laos::XineticsDevice, Laos::XineticsDummyDevice, Laos::XineticsDummyDevice, and Laos::XineticsDummyDevice.
|
protected |
Calculate actuator voltages plus sanity check.
_command | vector of actuator commands. |
|
protected |
Calculate actuator voltages plus sanity check.
_command | vector of actuator commands. |
|
protected |
Calculate actuator voltages plus sanity check.
_command | vector of actuator commands. |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
deinit the device
Implements Basda::Device.
|
virtual |
deinit the device
Implements Basda::Device.
|
virtual |
deinit the device
Implements Basda::Device.
|
virtual |
|
virtual |
|
virtual |
Convert the most recently calculated voltages back to their integer values. This is basically the inverse of calcActVoltages() and assumes that m_skipFrame=false, which means it supposes that the most recently calculated voltages have not been rejected by the various threshold checks.
[out] | _command | On output the values equivalent to the parameter vector of the most recent applyActVoltages(). |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
pure virtual |
Implemented in Laos::XineticsDevice, Laos::XineticsDummyDevice, Laos::XineticsDummyDevice, and Laos::XineticsDummyDevice.
|
pure virtual |
Implemented in Laos::XineticsDevice, Laos::XineticsDummyDevice, Laos::XineticsDummyDevice, and Laos::XineticsDummyDevice.
|
pure virtual |
Implemented in Laos::XineticsDevice, Laos::XineticsDummyDevice, Laos::XineticsDummyDevice, and Laos::XineticsDummyDevice.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Sets all actuators to actuator command zero.
|
virtual |
Sets all actuators to actuator command zero.
|
virtual |
Sets all actuators to actuator command zero.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Calculate voltages (applying corrections like nonliearities) and send the to the refl memory. If the voltages exceed thresholds set by the configuration, the frame is skipped.
_actuatorCmd | The vector of the (linear) commands. |
|
virtual |
|
virtual |
|
protected |
|
protected |
|
protected |
|
virtual |
version
Implements Basda::Device.
|
virtual |
version
Implements Basda::Device.
|
virtual |
version
Implements Basda::Device.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |