Index: trunk/BNC/src/bncantex.cpp
===================================================================
--- trunk/BNC/src/bncantex.cpp	(revision 11079)
+++ trunk/BNC/src/bncantex.cpp	(revision 11102)
@@ -523,4 +523,12 @@
 // simple sz×xSun formula.
 ////////////////////////////////////////////////////////////////////////////
+// GPS block types with a yaw model in gpsYawAngle() (ANTEX "BLOCK ..." names);
+// other blocks (e.g. a future IIIF) use the nominal Sun-pointing yaw
+////////////////////////////////////////////////////////////////////////////
+bool bncAntex::gpsYawModelKnown(const QString& blockType) {
+  return blockType == "IIA" || blockType.startsWith("IIR") ||
+         blockType == "IIF" || blockType == "IIIA";
+}
+
 double bncAntex::gpsYawAngle(const QString& prn, const QString& blockType,
                               double Mjd,
@@ -531,10 +539,9 @@
   // Max yaw rate [rad/s] by GPS block type
   double psiDotMax;
-  if      (blockType == "IIA")   psiDotMax = 0.12 * M_PI / 180.0;
-  else if (blockType == "IIR")   psiDotMax = 0.20 * M_PI / 180.0;
-  else if (blockType == "IIR-M") psiDotMax = 0.20 * M_PI / 180.0;
-  else if (blockType == "IIF")   psiDotMax = 0.11 * M_PI / 180.0;
-  else if (blockType == "IIIA")  psiDotMax = 0.15 * M_PI / 180.0;
-  else return 0.0; // unknown block: caller uses simple Sun-pointing
+  if      (blockType == "IIA")         psiDotMax = 0.12 * M_PI / 180.0;
+  else if (blockType.startsWith("IIR")) psiDotMax = 0.20 * M_PI / 180.0; // IIR-A, IIR-B, IIR-M
+  else if (blockType == "IIF")         psiDotMax = 0.11 * M_PI / 180.0;
+  else if (blockType == "IIIA")        psiDotMax = 0.15 * M_PI / 180.0;
+  else return 0.0; // unknown block: not called, see gpsYawModelKnown()
 
   const double MAX_CALL_GAP = 1800.0 / 86400.0; // 30 min in days
@@ -844,5 +851,5 @@
       }
       else if (mode == ATT_COMPUTED && prn[0] == 'G' && vSat.size() == 3
-               && !map->blockType.isEmpty()) {
+               && gpsYawModelKnown(map->blockType)) {
         psiEff = gpsYawAngle(yawKey, map->blockType, Mjd, xSat, vSat, xSun);
         useVelocityFrame = true;
