   // doing so may reuse IVs and destroy the cipher security.
   const bool success = (0 != bodylen) && PrimaryRadio.sendRaw(buf+1, bodylen-1);
 #if 1 && defined(DEBUG)
-  if(!success) { OTV0P2BASE::serialPrintlnAndFlush("!TX"); }
-  else { OTV0P2BASE::serialPrintlnAndFlush("TX alert"); }
+  if(!success) { OTV0P2BASE::serialPrintlnAndFlush(F("!TX")); }
+  else { OTV0P2BASE::serialPrintlnAndFlush(F("TX alert")); }
 #endif
   if(success) { return(true); } // Done!
 #endif // ENABLE_OTSECUREFRAME_ENCODING_SUPPORT

#else
  uint8_t key[16];
  if(!OTV0P2BASE::getPrimaryBuilding16ByteSecretKey(key))
    { OTV0P2BASE::serialPrintlnAndFlush("!TX key"); return(false); } // FAIL
  const OTRadioLink::SimpleSecureFrame32or0BodyTXBase::fixed32BTextSize12BNonce16BTagSimpleEnc_ptr_t e = OTAESGCM::fixed32BTextSize12BNonce16BTagSimpleEnc_DEFAULT_STATELESS;
  uint8_t buf[OTRadioLink::SimpleSecureFrame32or0BodyTXBase::generateSecureBeaconMaxBufSize];
  const uint8_t bodylen = secureTXState.generateSecureBeaconRawForTX(buf, sizeof(buf), lenTXID, e, NULL, key); // 2 byte ID.

          // Secure: wrap frame in encrypted layer...
          uint8_t key[16];
          if(!OTV0P2BASE::getPrimaryBuilding16ByteSecretKey(key))
            { OTV0P2BASE::serialPrintlnAndFlush(F("!TX key")); return(false); } // FAIL
          const OTRadioLink::SimpleSecureFrame32or0BodyTXBase::fixed32BTextSize12BNonce16BTagSimpleEnc_ptr_t e = OTAESGCM::fixed32BTextSize12BNonce16BTagSimpleEnc_DEFAULT_STATELESS;
          uint8_t buf[OTRadioLink::SecurableFrameHeader::maxSmallFrameSize];

