CARMA C++
|
10m & 6m SIS Receiver Control CAN module device class. More...
#include <carma/antenna/common/SisReceiver.h>
Classes | |
struct | IVCurve |
An IV curve. More... | |
struct | IVPoint |
A point on the IV curve. More... | |
Public Types | |
enum | CurrentModeType { STORED = 0x00, MESSAGE = 0x01, IV_CURVE = 0x02 } |
Current Mode Enumerator. More... | |
enum | IjLoopModeType { IJ_CLOSED = 0x00, IJ_FINITE = 0x01 } |
Ij Loop Mode Enumerator. More... | |
typedef ::std::vector< IVPoint > | IVDataVec |
enum | VjLoopModeType { VJ_CLOSED = 0x00, VJ_OPEN = 0x01, VJ_FINITE = 0x02 } |
Loop Mode Enumerator. More... | |
Public Member Functions | |
void | doIVCurve (float startInMilliVolts, float stopInMilliVolts, float stepInMilliVolts, int timeDeltaMilliSeconds, int seqNo, bool doPower) |
Do IV-Curve Measures and reports the junction IV-curve. More... | |
carma::canbus::MsgBriefMap | getHalfSecMonitors () const |
Retrieve brief description of this devices half second monitor points. More... | |
IVCurve | getIVCurve () |
Retrieve IV Curve. More... | |
carma::canbus::MsgBriefMap | getSlowMonitors () const |
Retrieve brief description of this devices slow (5 second) monitor points. More... | |
void | getVgap (CurrentModeType mode, float Igap) const |
Get Vgap Measures the junction gap voltage, which is reported in the blanking frames. More... | |
void | processMsg (carma::canbus::msgType mid, carma::canbus::DataVector &data, bool sim) |
Process a CAN message from the SisReceiver module. More... | |
void | setId (short stageNo, float IdInMilliAmps) const |
Set Id. More... | |
void | setIgap (float Igap) const |
Set Igap Sets the value of current to be used as the default for Igap measurements. More... | |
void | setIj (float IjInMicroAmps) const |
Set Ij Sets the SIS junction current. More... | |
void | setIjLoopMode (IjLoopModeType mode) const |
Set Ij Loop Mode Determines whether the current in the mixer is controlled continuously or periodically adjusted. More... | |
void | setLoAttenuation (float loAttenPercent) const |
Set LO attenuation Sets the LO attenuation. More... | |
void | setVd (short stageNo, float VdInVolts) const |
Set Vd. More... | |
void | setVg (short stageNo, float Vg) const |
Set Vg. More... | |
void | setVj (float VjInMilliVolts) const |
Set Vj. More... | |
void | setVjLoopMode (VjLoopModeType mode) const |
Set Vj Loop Mode Determines whether the voltage on the mixer is controlled open or or closed (software) loop. More... | |
carma::canbus::Message | simulateMsg (carma::canbus::msgType mid) |
Simulate a CAN message for the given message id. More... | |
SisReceiver (carma::canbus::nodeType node, carma::canbus::CanOutput &io, carma::monitor::AntennaCommon &antCommon, carma::monitor::StateMonitorPointEnum &state, carma::monitor::SisReceiver &sis, carma::monitor::Xac &xac, carma::antenna::common::AntennaIF &antIF) | |
Constructor. More... | |
void | tuneMixer (float frequencyInGhz) const |
Tune mixer. More... | |
void | updateFrameData () |
Update Frame Data. More... | |
virtual | ~SisReceiver () |
Destructor. More... | |
![]() | |
bool | isOnline () |
Is Device ONLINE? More... | |
void | reset () |
Reset the can module via CORBA using Device::softReset() method. More... | |
virtual void | setState (deviceStateType state) |
Set the state of the device. More... | |
void | startChannelOneFastSampling (unsigned short fastItem) |
Start fast sampling on channel one with the requested data item. More... | |
void | startChannelTwoFastSampling (unsigned short fastItem) |
Start fast sampling on channel two with the requested data item. More... | |
void | stopChannelOneFastSampling () |
Stop fast sampling on channel one. More... | |
void | stopChannelTwoFastSampling () |
Stop fast sampling on channel two. More... | |
XacDevice (carma::canbus::apiType api, carma::canbus::nodeType node, carma::canbus::CanOutput &canOutput) | |
Constructor. More... | |
virtual | ~XacDevice () |
Destructor. More... | |
![]() | |
carma::canbus::Message | createDummyMsg () const |
Create a dummy CAN message. More... | |
carma::canbus::Message | createMsgToAllNodes (msgType messageId) const |
Create a CAN message addressed to all nodes of this type. More... | |
carma::canbus::Message | createMsgToHost (msgType messageId) const |
Create a CAN message addressed from this Device to the host. More... | |
carma::canbus::Message | createMsgToNode (msgType messageId) const |
Create a CAN message addressed to this device from the host. More... | |
Device (apiType api, nodeType node, CanOutput &io) | |
Device constructor. More... | |
apiType | getApi () const |
Return api code of device. More... | |
char | getApiVersion () const |
Get API Version of this Device. More... | |
boardType | getBoardType () const |
Return board type id of device. More... | |
busIdType | getBusId () const |
Return bus Id that node resides on. More... | |
virtual MsgIdInfoMap | getControls () const |
Return a map of devices controls. More... | |
keyType | getKey () const |
Create a key unique to this api and node. More... | |
double | getLastRxTime () const |
Get Last RX Time for device. More... | |
unsigned int | getNlatePackets () const |
Get number of late packets. More... | |
nodeType | getNode () const |
Return node location code of device. More... | |
serialNumberType | getSerialNumber () const |
Return serial number of device. More... | |
deviceStateType | getState () const |
Status access routine. More... | |
virtual void | processMsg (msgType messageId, std::vector< byteType > &data, bool sim)=0 |
Process a CAN message. More... | |
void | reset () |
Perform a software reset of module. More... | |
void | setBoardType (boardType bt) |
Set board type of device. More... | |
void | setBusId (busIdType busId) |
Set busId of device. More... | |
virtual void | setLastRxTime (double rxMjd) |
Set latest rx time. More... | |
void | setSerialNumber (serialNumberType sn) |
Set serial number of device. More... | |
void | startChannelOneFastSampling (unsigned short fastItem) |
Start fast sampling the specified data item on channel 1. More... | |
void | startChannelTwoFastSampling (unsigned short fastItem) |
Start fast sampling the specified data item on channel 2. More... | |
void | stopChannelOneFastSampling () |
Stop fast sampling on channel 1 This routine will stop fast sampling on channel 1 regardless of whether this node is fast sampling the channel or not! In other words the request goes out globally. More... | |
void | stopChannelTwoFastSampling () |
Stop fast sampling on channel 2 This routine will stop fast sampling on channel 2 regardless of whether this node is fast sampling the channel or not! In other words the request goes out globally. More... | |
virtual | ~Device () |
Device destructor. More... | |
Static Public Attributes | |
static const carma::canbus::msgType | RX_1MM_LEFT_POL_NODE_ID = 3 |
static const carma::canbus::msgType | RX_1MM_RIGHT_POL_NODE_ID = 4 |
static const carma::canbus::msgType | RX_3MM_LEFT_POL_NODE_ID = 1 |
static const carma::canbus::msgType | RX_3MM_RIGHT_POL_NODE_ID = 2 |
![]() | |
static const carma::canbus::msgType | SYSTEM_MONITOR_PACKET_1 = 0x120 |
static const carma::canbus::msgType | SYSTEM_MONITOR_PACKET_2 = 0x121 |
static const carma::canbus::msgType | SYSTEM_MONITOR_PACKET_3 = 0x122 |
static const carma::canbus::msgType | SYSTEM_MONITOR_PACKET_4 = 0x123 |
static const carma::canbus::msgType | SYSTEM_MONITOR_PACKET_5 = 0x124 |
Protected Member Functions | |
virtual void | processBlankingFramePacket1 (carma::canbus::DataVector &data) |
virtual void | processBlankingFramePacket3 (carma::canbus::DataVector &data) |
virtual void | processIVCurvePoint (carma::canbus::DataVector &data) |
![]() | |
virtual void | initialize () |
Initialization hook. More... | |
void | processSystemMonitorPacket (carma::canbus::msgType mid, carma::canbus::DataVector &data, carma::monitor::Xac &xac) |
Process a system monitor packet. More... | |
void | processSystemMonitorPacket1 (carma::canbus::DataVector &data, carma::monitor::Xac &xac) |
Process System Monitor Packet 1 This routine processes standard system monitor packet 1 and places the data into the input Xac reference. More... | |
void | processSystemMonitorPacket2 (carma::canbus::DataVector &data, carma::monitor::Xac &xac) |
Process System Monitor Packet 2. More... | |
void | processSystemMonitorPacket3 (carma::canbus::DataVector &data, carma::monitor::Xac &xac) |
Process System Monitor Packet 3. More... | |
void | processSystemMonitorPacket4 (carma::canbus::DataVector &data, carma::monitor::Xac &xac) |
Process System Monitor Packet 4. More... | |
void | processSystemMonitorPacket5 (carma::canbus::DataVector &data, carma::monitor::Xac &xac) |
Process System Monitor Packet 5. More... | |
carma::canbus::Message | simSystemMonitorPacket (carma::canbus::msgType mid) |
Simulate system monitor packet. More... | |
carma::canbus::Message | simSystemMonitorPacket1 () |
Simulate System Monitor Packet 1. More... | |
carma::canbus::Message | simSystemMonitorPacket2 () |
Simulate System Monitor Packet 2. More... | |
carma::canbus::Message | simSystemMonitorPacket3 () |
Simulate System Monitor Packet 3. More... | |
carma::canbus::Message | simSystemMonitorPacket4 () |
Simulate System Monitor Packet 4. More... | |
carma::canbus::Message | simSystemMonitorPacket5 () |
Simulate System Monitor Packet 5. More... | |
![]() | |
void | incrementLatePacketCount () |
Increment the late packet count by 1. More... | |
bool | isPacketLate (double window=100.0) |
Determine if the last packet sent from this device was late. More... | |
void | resetLatePacketCount () |
Reset the late packet count to 0. More... | |
void | setApiVersion (char api) |
Set API Version. More... | |
Additional Inherited Members | |
![]() | |
static keyType | createKey (apiType api, nodeType node) |
![]() | |
static bool | isSystemMonitorPacket (carma::canbus::msgType) |
Check that input message type is a system monitor packet. More... | |
![]() | |
const apiType | api_ |
CanOutput & | io_ |
Reference to CanOutput object. More... | |
const keyType | key_ |
const nodeType | node_ |
![]() | |
static const msgType | RESET = 0x0000 |
Software reset message id. More... | |
static const msgType | START_CHANNEL_1_FAST_SAMPLING = 0x0004 |
Begin channel 1 fast sampling message id. More... | |
static const msgType | START_CHANNEL_2_FAST_SAMPLING = 0x0005 |
Begin channel 2 fast sampling message id. More... | |
static const msgType | STOP_CHANNEL_1_FAST_SAMPLING = 0x0002 |
Stop channel 1 fast sampling message id. More... | |
static const msgType | STOP_CHANNEL_2_FAST_SAMPLING = 0x0003 |
10m & 6m SIS Receiver Control CAN module device class.
Definition at line 45 of file SisReceiver.h.
Current Mode Enumerator.
Enumerator | |
---|---|
STORED |
Use value stored in module. |
MESSAGE |
Use value in this message. |
IV_CURVE |
Determine current from IV-curve measurement. |
Definition at line 196 of file SisReceiver.h.
Ij Loop Mode Enumerator.
Enumerator | |
---|---|
IJ_CLOSED |
Continuous adjustment of Ij to set value. |
IJ_FINITE |
Use a fixed number of iterations. |
Definition at line 240 of file SisReceiver.h.
Loop Mode Enumerator.
Enumerator | |
---|---|
VJ_CLOSED |
Continuous adjustment of Vj to set value. |
VJ_OPEN |
DAC is set to nominal value for mixer voltage. |
VJ_FINITE |
Use a fixed number of iterations. |
Definition at line 223 of file SisReceiver.h.
carma::antenna::common::SisReceiver::SisReceiver | ( | carma::canbus::nodeType | node, |
carma::canbus::CanOutput & | io, | ||
carma::monitor::AntennaCommon & | antCommon, | ||
carma::monitor::StateMonitorPointEnum & | state, | ||
carma::monitor::SisReceiver & | sis, | ||
carma::monitor::Xac & | xac, | ||
carma::antenna::common::AntennaIF & | antIF | ||
) |
Constructor.
node | Location id of this instance (node location code). |
io | Reference to CanOutput class. |
antCommon | Reference to antenna common monitor instance. |
state | Reference to canbus state monitor instance. |
sis | Reference to SisReceiver monitor instance. |
xac | Reference to Xac monitor instance. |
antIF | Reference to AntennaIF monitor instance. |
|
virtual |
Destructor.
void carma::antenna::common::SisReceiver::doIVCurve | ( | float | startInMilliVolts, |
float | stopInMilliVolts, | ||
float | stepInMilliVolts, | ||
int | timeDeltaMilliSeconds, | ||
int | seqNo, | ||
bool | doPower | ||
) |
Do IV-Curve Measures and reports the junction IV-curve.
The number of points that will be returned is: N=trunc((Finish - Start)/Step) + 1) The points are returned in message type 0x170. The step may be positive or negative to control the direction the curve is traced in.
start | Starting junction voltage in milliVolts. |
stop | Stopping junction voltage in milliVolts. |
step | Voltage stop size in milliVolts. |
delta | Time interval between samples in milliseconds. |
seqNo | Sequence number to set in monitor stream when complete: if 0 it is ignored otherwise antennacommon.receivers.tuneSeqNo is set upon completion. |
doPower | If true, module will also instruct the PAM module to send back total power measurements. |
|
virtual |
Retrieve brief description of this devices half second monitor points.
Implements carma::canbus::Device.
IVCurve carma::antenna::common::SisReceiver::getIVCurve | ( | ) |
Retrieve IV Curve.
Retrieve an IV Curve initiated by the doIVCurve command. Returns an empty map if either an IV curve hasn't been collected, is in progress or didn't complete properly before hand.
|
virtual |
Retrieve brief description of this devices slow (5 second) monitor points.
Reimplemented from carma::canbus::devices::XacDevice.
void carma::antenna::common::SisReceiver::getVgap | ( | CurrentModeType | mode, |
float | Igap | ||
) | const |
Get Vgap Measures the junction gap voltage, which is reported in the blanking frames.
The LO attenuation is set to maximum during the measurement. The new value is reported in the blanking frame monitor packets.
mode | What current mode to measure the gap at. |
Igap | Current to use for Vgap measurement in microAmps. |
void carma::antenna::common::SisReceiver::processMsg | ( | carma::canbus::msgType | mid, |
carma::canbus::DataVector & | data, | ||
bool | sim | ||
) |
Process a CAN message from the SisReceiver module.
This routine is responsible for processing all CAN message addressed to this device.
mid | the 10bit message id (carma::canbus::msgType). |
data | Reference to the DataVector containing raw data. |
sim | True if message is a simulated message. |
void carma::antenna::common::SisReceiver::setId | ( | short | stageNo, |
float | IdInMilliAmps | ||
) | const |
Set Id.
Sets the drain current on the specified HEMT stage.
stageNo | HEMT stage to set drain current on [1-4]. |
Id | HEMT drain current in milliAmps. |
void carma::antenna::common::SisReceiver::setIgap | ( | float | Igap | ) | const |
Set Igap Sets the value of current to be used as the default for Igap measurements.
Igap | Default current to use for Igap in microAmps. |
void carma::antenna::common::SisReceiver::setIj | ( | float | IjInMicroAmps | ) | const |
Set Ij Sets the SIS junction current.
IjInMicroAmps | Junction current in microAmps. |
void carma::antenna::common::SisReceiver::setIjLoopMode | ( | IjLoopModeType | mode | ) | const |
Set Ij Loop Mode Determines whether the current in the mixer is controlled continuously or periodically adjusted.
mode | IjLoopMode to set. |
void carma::antenna::common::SisReceiver::setLoAttenuation | ( | float | loAttenPercent | ) | const |
Set LO attenuation Sets the LO attenuation.
loAttenPercent | LO Attenuation in %. |
void carma::antenna::common::SisReceiver::setVd | ( | short | stageNo, |
float | VdInVolts | ||
) | const |
Set Vd.
Sets the drain voltage on the specified HEMT stage.
stageNo | HEMT stage to set drain voltage on [1-4]. |
VdInVolts | HEMT drain voltage in Volts. |
void carma::antenna::common::SisReceiver::setVg | ( | short | stageNo, |
float | Vg | ||
) | const |
Set Vg.
Sets the gate voltage on the specified HEMT stage.
stageNo | HEMT stage to set gate voltage on [1-4]. |
Vg | HEMT gate voltage in Volts. |
void carma::antenna::common::SisReceiver::setVj | ( | float | VjInMilliVolts | ) | const |
Set Vj.
Sets the SIS junction bias voltage.
VjInMilliVolts | Junction voltage in milliVolts. |
void carma::antenna::common::SisReceiver::setVjLoopMode | ( | VjLoopModeType | mode | ) | const |
Set Vj Loop Mode Determines whether the voltage on the mixer is controlled open or or closed (software) loop.
mode | LoopMode to set. |
|
virtual |
Simulate a CAN message for the given message id.
Id | of message to simulate. |
Implements carma::canbus::Device.
void carma::antenna::common::SisReceiver::tuneMixer | ( | float | frequencyInGhz | ) | const |
Tune mixer.
Instructs mixer to adjust the junction voltage and current to the optimum values for the specified frequency.
frequencyInGhz | LO frequency in GHz. |
|
virtual |
Update Frame Data.
Callback routine to update frame timescale, device dependent information in the monitor stream (e.g. ONLINE state).
Reimplemented from carma::canbus::Device.