9 #include "CommandEcho.h" 10 #include "AnitaPacketUtil.h" 36 memcpy(
cmd,echoPtr->
cmd,
sizeof(UChar_t)*MAX_CMD_LENGTH);
37 if(echoPtr->gHdr.code & CMD_FROM_PAYLOAD) {
46 const char * CommandEcho::getCommandAsString()
49 case CMD_TAIL_VAR_LOG_MESSAGES:
50 return "tail /var/log/messages";
51 case CMD_TAIL_VAR_LOG_ANITA:
52 return "tail /var/log/anita.log";
53 case LOG_REQUEST_COMMAND:
54 return "log request ";
55 case JOURNALCTL_REQUEST_COMMAND:
56 return "journalctl request";
57 case CMD_START_NEW_RUN:
58 return "Start New Run";
59 case CMD_SHUTDOWN_HALT:
60 return "shutdown -h now (i.e halt the CPU)";
66 return "Kill process with mask";
67 case CMD_REALLY_KILL_PROGS:
68 return "Kill -9 process with mask";
69 case CMD_RESPAWN_PROGS:
70 return "Respawn process with mask";
72 return "Start process with mask";
75 case CMD_DISABLE_DISK:
76 return "Disable disk";
77 case CMD_MOUNT_NEXT_USB:
78 return "Mount next usb drive";
81 case CMD_EVENT_DISKTYPE:
82 return "Change Event Disk Mask";
84 return "Change Hk Disk Mask";
85 case ARCHIVE_STORAGE_TYPE:
86 return "Change File Format On Disk";
87 case ARCHIVE_PRI_DISK:
88 return "Change Disk Mask for Priority";
89 case ARCHIVE_PPS_PRIORITIES:
90 return "Set Priority for PPS/Software triggers";
91 case ARCHIVE_PPS_DECIMATE:
92 return "Set Decimation for PPS/Software triggers";
93 case ARCHIVE_PRI_ENC_TYPE:
94 return "Change Disk Encoding Type for Priority";
95 case ARCHIVE_DECIMATE_PRI:
96 return "Change Decimation Fraction for Priority";
97 case ARCHIVE_GLOBAL_DECIMATE:
98 return "Change Global Decimation Fraction for Priority";
100 return "Change Telem Waveform Format";
101 case TELEM_PRI_ENC_TYPE:
102 return "Change Telem Encoding Type for Priority";
104 case CMD_TURN_AMPLITES_ON:
105 return "Turn Amplites On";
106 case CMD_TURN_AMPLITES_OFF:
107 return "Turn Amplites Off";
108 case CMD_TURN_BZ_AMPAS_ON:
109 return "Turn BZ AMPAS On";
110 case CMD_TURN_BZ_AMPAS_OFF:
111 return "Turn BZ AMPAS Off";
112 case CMD_TURN_NTU_AMPAS_ON:
113 return "Turn NTU AMPAS On";
114 case CMD_TURN_NTU_AMPAS_OFF:
115 return "Turn NTU AMPAS Off";
116 case CMD_TURN_SHORT_BOARDS_ON:
117 return "Turn Short Boards On";
118 case CMD_TURN_SHORT_BOARDS_OFF:
119 return "Turn Short Boards Off";
120 case CMD_TURN_NTU_SSD_5V_ON:
121 return "Turn NTU SSD 5V On";
122 case CMD_TURN_NTU_SSD_5V_OFF:
123 return "Turn NTU SSD 5V Off";
124 case CMD_TURN_NTU_SSD_12V_ON:
125 return "Turn NTU SSD 12V On";
126 case CMD_TURN_NTU_SSD_12V_OFF:
127 return "Turn NTU SSD 12V Off";
128 case CMD_TURN_ALL_ON:
129 return "Turn All On";
130 case CMD_TURN_ALL_OFF:
131 return "Turn All Off";
132 case SET_CALIB_WRITE_PERIOD:
133 return "Set Calibd Write Period";
134 case SET_ADU5_PAT_PERIOD:
135 return "Set ADU5 Attitude Readout Period";
136 case SET_ADU5_SAT_PERIOD:
137 return "Set ADU5 Satellite Info Readout Period";
138 case SET_G12_PPS_PERIOD:
139 return "Set G12 PPS Period";
140 case SET_G12_PPS_OFFSET:
141 return "Set G12 PPS Offset";
142 case SET_ADU5_CALIBRATION_12:
143 return "Set ADU5 Calibration Vector 1->2";
144 case SET_ADU5_CALIBRATION_13:
145 return "Set ADU5 Calibration Vector 1->3";
146 case SET_ADU5_CALIBRATION_14:
147 return "Set ADU5 Calibration Vector 1->4";
148 case SET_ADU5_VTG_PERIOD:
149 return "Set ADU5 Velocity Readout Period";
150 case SET_G12_POS_PERIOD:
151 return "Set G12 Position Readout Period";
153 return "Set Acromag Housekeeping Readout Period";
154 case SET_HK_CAL_PERIOD:
155 return "Set Acromag Calibration Period";
157 return "Clean Packet Dirs";
159 return "Send Config File Over Telemetry";
161 return "Switch to Default Config";
163 return "Switch to Alternate Config File ";
165 return "Switch to Last Config File";
166 case ACQD_ADU5_TRIG_FLAG:
167 return "Set ADU5 PPS Trigger Flag";
168 case ACQD_G12_TRIG_FLAG:
169 return "Set G12 PPS Trigger Flag";
170 case ACQD_SOFT_TRIG_FLAG:
171 return "Set Software Trigger Flag";
172 case ACQD_SOFT_TRIG_PERIOD:
173 return "Set Software Trigger Period";
174 case ACQD_PEDESTAL_RUN:
175 return "Start Pedestal Run";
176 case ACQD_THRESHOLD_SCAN:
177 return "Start Threshold Scan";
178 case ACQD_REPROGRAM_TURF:
179 return "Enable TURF Reprogramming";
180 case ACQD_SURFHK_TELEM_EVERY:
181 return "Set SurfHK Telemetry Duty Factor";
182 case ACQD_TURFHK_TELEM_EVERY:
183 return "Set Turf Rate Telemetry Duty Factor";
184 case ACQD_NUM_EVENTS_PEDESTAL:
185 return "Set Number of Pedestal Events";
186 case ACQD_THRESH_SCAN_STEP_SIZE:
187 return "Set Threshold Scan Step Size";
188 case ACQD_THRESH_SCAN_POINTS_PER_STEP:
189 return "Set Threshold Scan Points Per Step";
190 case GPSD_EXTRA_COMMAND:
191 return "Extra GPSd command";
192 case SET_HK_TELEM_EVERY:
193 return "Set Hk. Telem Every";
194 case SIPD_CONTROL_COMMAND:
195 return "SIPd Control command";
196 case LOSD_CONTROL_COMMAND:
197 return "LOSd Control command";
199 return "Clear Ramdisk";
201 return "Save config";
202 case MONITORD_RAMDISK_KILL_ACQD:
203 return "Ramdisk space when we stop Acqd";
204 case MONITORD_RAMDISK_DUMP_DATA:
205 return "Ramdisk space when we clear the ramdisk";
206 case MONITORD_MAX_ACQD_WAIT:
207 return "Max time to wait before restarting Acqd";
208 case MONITORD_PERIOD:
209 return "Time between CPU Monitor packets";
210 case MONITORD_USB_THRESH:
211 return "Threshold to switch USBs";
214 case MONITORD_MAX_QUEUE:
215 return "Maximum inks before deleting in telem queues";
216 case MONITORD_INODES_KILL_ACQD:
217 return "Ramdisk inodes remaining before stopping Acqd";
218 case MONITORD_INODES_DUMP_DATA:
219 return "Ramdisk inodes remaining before clearing";
220 case ACQD_EXTRA_COMMAND:
221 return "Extra Acqd Commands";
222 case ACQD_RATE_COMMAND:
223 return "Acqd Rate Control Command";
224 case EVENTD_MATCH_GPS:
225 return "Eventd Match GPS";
226 case GPS_PHI_MASK_COMMAND:
227 return "GPSd Phi Mask Command";
228 case PRIORITIZERD_COMMAND:
229 return "Prioritizer Tweaking command";
230 case PLAYBACKD_COMMAND:
231 return "Playback Command";
233 return "Unknown Command";
Some command related thingummies.
unsigned short goodFlag
0 is bad, 1 is good
UChar_t cmd[20]
List of command bytes.
~CommandEcho()
Destructor.
UShort_t numCmdBytes
Number of command bytes.
CommandEcho()
Defualt constructor.
CommandEcho – The command echo data.
UShort_t goodFlag
Command flag value (was the command successful?)
Int_t fromPayload
Was the command auto-generated or sent from the ground?
Command Echo – Telemetered.
UInt_t payloadTime
unixTime
unsigned char cmd[20]
the cmd bytes
unsigned short numCmdBytes
number of cmd bytes (upto 10)
Int_t run
Assigned offline.
int simplePacketCheck(GenericHeader_t *gHdr, PacketCode_t code)
simplePacketCheck – utility function