MCPcopy Create free account
hub / github.com/Hamlib/Hamlib / rig_set_cache_freq

Function rig_set_cache_freq

src/cache.c:160–288  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

158}
159
160int rig_set_cache_freq(RIG *rig, vfo_t vfo, freq_t freq)
161{
162 int flag = HAMLIB_ELAPSED_SET;
163 struct rig_cache *cachep = CACHE(rig);
164 struct rig_state *rs = STATE(rig);
165
166 if (rig_need_debug(RIG_DEBUG_CACHE))
167 {
168 rig_cache_show(rig, __func__, __LINE__);
169 }
170
171 rig_debug(RIG_DEBUG_CACHE, "%s(%d): vfo=%s, current_vfo=%s\n", __func__,
172 __LINE__,
173 rig_strvfo(vfo), rig_strvfo(rs->current_vfo));
174
175 if (vfo == RIG_VFO_CURR)
176 {
177 // if CURR then update this before we figure out the real VFO
178 vfo = rs->current_vfo;
179 }
180
181 // if freq == 0 then we are asking to invalidate the cache
182 if (freq == 0) { flag = HAMLIB_ELAPSED_INVALIDATE; }
183
184 // pick a sane default
185 if (vfo == RIG_VFO_NONE || vfo == RIG_VFO_CURR) { vfo = RIG_VFO_A; }
186
187 if (vfo == RIG_VFO_SUB && cachep->satmode) { vfo = RIG_VFO_SUB_A; };
188
189 if (rig_need_debug(RIG_DEBUG_CACHE))
190 {
191 rig_debug(RIG_DEBUG_CACHE, "%s(%d): set vfo=%s to freq=%.0f\n", __func__,
192 __LINE__,
193 rig_strvfo(vfo), freq);
194 }
195
196 if (vfo == rs->current_vfo)
197 {
198 cachep->freqCurr = freq;
199 elapsed_ms(&cachep->time_freqCurr, flag);
200 }
201
202 switch (vfo)
203 {
204 case RIG_VFO_ALL: // we'll use NONE to reset all VFO caches
205 elapsed_ms(&cachep->time_freqMainA, HAMLIB_ELAPSED_INVALIDATE);
206 elapsed_ms(&cachep->time_freqMainB, HAMLIB_ELAPSED_INVALIDATE);
207 elapsed_ms(&cachep->time_freqMainC, HAMLIB_ELAPSED_INVALIDATE);
208 elapsed_ms(&cachep->time_freqSubA, HAMLIB_ELAPSED_INVALIDATE);
209 elapsed_ms(&cachep->time_freqSubB, HAMLIB_ELAPSED_INVALIDATE);
210 elapsed_ms(&cachep->time_freqSubC, HAMLIB_ELAPSED_INVALIDATE);
211 elapsed_ms(&cachep->time_freqMem, HAMLIB_ELAPSED_INVALIDATE);
212 elapsed_ms(&cachep->time_vfo, HAMLIB_ELAPSED_INVALIDATE);
213 elapsed_ms(&cachep->time_modeMainA, HAMLIB_ELAPSED_INVALIDATE);
214 elapsed_ms(&cachep->time_modeMainB, HAMLIB_ELAPSED_INVALIDATE);
215 elapsed_ms(&cachep->time_modeMainC, HAMLIB_ELAPSED_INVALIDATE);
216 elapsed_ms(&cachep->time_modeSubA, HAMLIB_ELAPSED_INVALIDATE);
217 elapsed_ms(&cachep->time_modeSubB, HAMLIB_ELAPSED_INVALIDATE);

Callers 14

smartsdr_set_freqFunction · 0.85
smartsdr_parse_SFunction · 0.85
ft736_set_freqFunction · 0.85
ftx1_set_split_freqFunction · 0.85
kenwood_transactionFunction · 0.85
rig_fire_freq_eventFunction · 0.85
twiddlingFunction · 0.85
rig_set_freqFunction · 0.85
rig_get_freqFunction · 0.85
rig_set_vfoFunction · 0.85
rig_set_split_freqFunction · 0.85
rig_get_split_freqFunction · 0.85

Calls 5

rig_need_debugFunction · 0.85
rig_cache_showFunction · 0.85
rig_debugFunction · 0.85
rig_strvfoFunction · 0.85
elapsed_msFunction · 0.85

Tested by

no test coverage detected