1 #ifndef BIASTUNEDGUNN_H
2 #define BIASTUNEDGUNN_H
5 #include "carma/antenna/sza/antenna/canbus/Oscillator.h"
7 #define ZABER_MAX_DEV 255
22 class BiasTunedGunn :
public Oscillator {
34 ALL = TUNER | BACKSHORT | ATTEN
52 std::map<carma::canbus::msgType, std::string>
53 getHalfSecMonitors()
const;
58 void processBlankingFrameMonitor1(std::vector<carma::canbus::byteType>& data,
bool isSim);
63 void processBlankingFrameMonitor2(std::vector<carma::canbus::byteType>& data,
bool isSim);
68 void processBlankingFrameMonitor3(std::vector<carma::canbus::byteType>& data,
bool isSim);
73 void processBlankingFrameMonitor4(std::vector<carma::canbus::byteType>& data,
bool isSim);
78 void processBlankingFrameMonitor5(std::vector<carma::canbus::byteType>& data,
bool isSim);
83 void processBlankingFrameMonitor6(std::vector<carma::canbus::byteType>& data,
bool isSim);
88 void processBlankingFrameMonitor7(std::vector<carma::canbus::byteType>& data,
bool isSim);
93 void processBlankingFrameMonitor8(std::vector<carma::canbus::byteType>& data,
bool isSim);
98 void processBlankingFrameMonitor9(std::vector<carma::canbus::byteType>& data,
bool isSim);
109 HOSTCMD_SET_LO_FREQ = 0x040,
110 HOSTCMD_SET_GUNN_VOLTAGE = 0x080,
111 HOSTCMD_SET_LOOP_GAIN = 0x081,
113 HOSTCMD_SET_GUNN_STATE = 0x082,
114 HOSTCMD_SET_SWEEP_STATE = 0x083,
115 HOSTCMD_SET_IFMON_STATE = 0x084,
117 HOSTCMD_SET_TUNER_POS = 0x085,
118 HOSTCMD_SET_BACKSHORT_POS= 0x086,
119 HOSTCMD_SET_ATTEN_POS = 0x087,
121 HOSTCMD_JOG_TUNER = 0x088,
122 HOSTCMD_JOG_BACKSHORT = 0x089,
123 HOSTCMD_JOG_ATTEN = 0x08A,
125 HOSTCMD_TOGGLE_AUTO_RELOCK=0x08B,
126 HOSTCMD_HOME_ACTUATORS = 0x08C,
132 std::vector<carma::canbus::Message>
133 setLoFrequency(
unsigned short frequency,
bool send=
true);
138 std::vector<carma::canbus::Message>
139 setVoltage(
unsigned short voltage,
bool send=
true);
144 std::vector<carma::canbus::Message>
145 setLoopGainResistance(
unsigned short gain,
bool send=
true);
150 std::vector<carma::canbus::Message>
151 setDeviceState(
unsigned device,
bool state,
bool send=
true);
156 std::vector<carma::canbus::Message>
157 setDevicePosition(
unsigned device,
unsigned int position,
bool send=
true);
162 std::vector<carma::canbus::Message>
163 jogDevicePosition(
unsigned device,
int step,
bool send=
true);
168 std::vector<carma::canbus::Message>
169 enableAutoRelock(
bool enable,
bool send=
true);
174 std::vector<carma::canbus::Message>
175 homeDevice(
unsigned int mask,
bool send=
true);
180 enum engineeringCommands
182 ENGCMD_SET_GUNN_FREQ = 0x300,
183 ENGCMD_DL_GUNN_ID = 0x301,
184 ENGCMD_DL_TUNING_TABLE = 0x302,
185 ENGCMD_DL_TO_OWIRE = 0x303,
187 ENGCMD_CONTROL_ZABER = 0x305,
188 ENGCMD_ZABER_REQUEST = 0x306,
194 std::vector<carma::canbus::Message>
195 setFrequency(
unsigned short frequency,
bool send=
true);
200 std::vector<carma::canbus::Message>
201 downloadId(
unsigned short gunnId,
unsigned char calMonth,
unsigned char calDay,
202 unsigned char calYear,
203 unsigned short calVoltage,
unsigned char nRow,
bool send=
true);
208 std::vector<carma::canbus::Message>
209 downloadTuningTableEntry(
unsigned int freq,
210 unsigned int tunerPos,
211 unsigned int backshortPos,
212 unsigned int attenPos,
217 std::vector<carma::canbus::Message>
218 downloadTuningTableToOneWire(
bool send=
true);
223 std::vector<carma::canbus::Message>
224 controlZaber(
unsigned short deviceNo,
225 unsigned char zaberCmdCode,
226 std::vector<unsigned char>& zaberData,
232 std::vector<carma::canbus::Message>
233 requestZaberPackets(
bool request,
bool send=
true);
238 virtual std::map<carma::canbus::msgType, std::string>
239 getSpecificControls()
const;
245 std::string controlPrefix();
250 void checkHwLockStatus();
252 void setRxId(sza::util::Rx::Id rxId);
256 unsigned char hwLockStatus_;
264 #endif // End #ifndef
Started: Fri Nov 21 15:46:44 UTC 2003.
unsigned short nodeType
Carma Node Type id type.
An instance of this class is created by AntennaMaster and passed to the constructors of other tasks...