Ejemplo n.º 1
0
GByte *GetKey(void)
{
	wxGISAppConfig oConfig = GetConfig();
	if(!oConfig.IsOk())
		return NULL;
    //try get key data from config
	wxString sKey = oConfig.Read(enumGISHKCU, wxString(wxT("wxGISCommon/crypt/key")), wxString(ERR));
	if(sKey.CmpNoCase(wxString(ERR)) == 0)
	{
		if(!CreateRandomData())//create random key data
            return NULL;
		//second try get key data from config
		sKey = oConfig.Read(enumGISHKCU, wxString(wxT("wxGISCommon/crypt/key")), wxString(ERR));
		if(sKey.CmpNoCase(wxString(ERR)) == 0)
			return NULL;
	}

	int nKeyBytes;
	GByte *pabyKey = CPLHexToBinary( sKey.mb_str(wxConvUTF8), &nKeyBytes );
    return pabyKey;
}
void RFFESimulationDataGenerator::CreateRffeTransaction() {
  U8 cmd;
  U8 sa_addrs[] = {0x5};

  for (U32 adr = 0; adr < sizeof(sa_addrs) / sizeof(sa_addrs[0]); adr++) {
    for (U32 i = 0; i < 256; i += 1) {
      CreateSSC();
      CreateSlaveAddress(sa_addrs[adr]);
      cmd = i & 0xff;
      CreateByteFrame(cmd);

      switch (RFFEUtil::decodeRFFECmdFrame(cmd)) {
        case RFFEAnalyzerResults::RffeTypeExtWrite:
          CreateByteFrame(CreateRandomData());
          for (U32 i = 0; i <= RFFEUtil::byteCount(cmd); i += 1) {
            CreateByteFrame(CreateRandomData());
          }
          CreateBusPark();
          break;
        case RFFEAnalyzerResults::RffeTypeReserved:
          CreateBusPark();
          break;

        case RFFEAnalyzerResults::RffeTypeMasterRead:
          CreateByteFrame(CreateRandomData());
          CreateBusPark();
          for (U32 i = 0; i <= RFFEUtil::byteCount(cmd); i += 1) {
            CreateByteFrame(CreateRandomData());
          }
          CreateBusPark();
          break;
        case RFFEAnalyzerResults::RffeTypeMasterWrite:
          CreateByteFrame(CreateRandomData());
          for (U32 i = 0; i <= RFFEUtil::byteCount(cmd); i += 1) {
            CreateByteFrame(CreateRandomData());
          }
          CreateBusPark();
          break;
        case RFFEAnalyzerResults::RffeTypeMasterHandoff:
          CreateBusPark();
          for (U32 i = 0; i <= RFFEUtil::byteCount(cmd); i += 1) {
            CreateByteFrame((CreateRandomData() & 0x18) | 0x80); // Mask Out bits that are always zero and always set the ACK bit
          }
          CreateBusPark();
          break;
        case RFFEAnalyzerResults::RffeTypeInterrupt:
          CreateBusPark();
          CreateBits(2, 0x3); // Always indicate interrupts
          CreateBusPark();
          for (U32 i = 0; i < 16; i += 1) {
            CreateBits(2, CreateRandomData() & 0x2); // Interrupts are 1 bit of interrupt followed by a 0/BP
          }
          break;
        case RFFEAnalyzerResults::RffeTypeExtRead:
          CreateByteFrame(CreateRandomData());
          CreateBusPark();
          for (U32 i = 0; i <= RFFEUtil::byteCount(cmd); i += 1) {
            CreateByteFrame(CreateRandomData());
          }
          CreateBusPark();
          break;
        case RFFEAnalyzerResults::RffeTypeExtLongWrite:
          CreateByteFrame(CreateRandomData());
          CreateByteFrame(CreateRandomData());
          for (U32 i = 0; i <= RFFEUtil::byteCount(cmd); i += 1) {
            CreateByteFrame(CreateRandomData());
          }
          CreateBusPark();
          break;
        case RFFEAnalyzerResults::RffeTypeExtLongRead:
          CreateByteFrame(CreateRandomData());
          CreateByteFrame(CreateRandomData());
          CreateBusPark();
          for (U32 i = 0; i <= RFFEUtil::byteCount(cmd); i += 1) {
            CreateByteFrame(CreateRandomData());
          }
          CreateBusPark();
          break;
        case RFFEAnalyzerResults::RffeTypeNormalWrite:
          CreateByteFrame(CreateRandomData());
          CreateBusPark();
          break;
        case RFFEAnalyzerResults::RffeTypeNormalRead:
          CreateBusPark();
          CreateByteFrame(CreateRandomData());
          CreateBusPark();
          break;
        case RFFEAnalyzerResults::RffeTypeWrite0:
          CreateBusPark();
          break;
      }
    }
  }
}