Exemplo n.º 1
0
void LoadGACM(BowlerPacket * pack) {
	LoadCorePacket(pack);
	pack->use.head.Method = BOWLER_GET;
	pack->use.head.RPC = GetRPCValue("gacm");
	pack->use.head.DataLegnth = 4;
	SetCRC(&downstreamPacketTemp);
}
void FixPacket(BowlerPacket * Packet){
	extern MAC_ADDR MyMAC;
	uint8_t i;
	//Ensure the packet going upstream is valid
	for (i=0;i<6;i++){
		Packet->use.head.MAC.v[i]=MyMAC.v[i];
	}
	Packet->use.head.ProtocolRevision=BOWLER_VERSION;
	SetCRC(Packet);
	SetDataCRC(Packet);
}
Exemplo n.º 3
0
RVNET_DATATYPE RVnetSlaveProcess(uint8 *px_buf, RVNET_DATATYPE pkSize,
    uint8 device_address)
  {
    volatile uint8 *pxPack = px_buf;
    if (*pxPack == device_address)
      {
        if (CheckCRC(pxPack, pkSize))
          {
            pxPack++;
            switch (*pxPack)
              {
            case 0x00:
              pxPack++;
              pkSize = ReadDeviceID(pxPack);
              break;
            case 0x01:
            case 0x02:
              pxPack++;
              pkSize = ReadNBits(pxPack);
              break;
            case 0x03:
            case 0x04:
              pxPack++;
              pkSize = ReadNWords(pxPack);
              break;
            case 0x05:
              pxPack++;
              pkSize = WriteBit(pxPack);
              break;
            case 0x10:
              pxPack++;
              pkSize = WriteNWords(pxPack);
              break;
            default:
              pxPack++;
              pkSize = ErrorAddress(pxPack);
              break;

              }
          }
        else
          return 0;
      }
    else
      return 0;
    pkSize += 2; // Add heder
    SetCRC(px_buf, pkSize);
    pkSize += 2; // Add CRC
    return pkSize;
  }
Exemplo n.º 4
0
CEncoderLameDll::CEncoderLameDll()
	: CDLLEncoder()
{
	m_strEncoderPath = _T( "lame_enc.dll" );
	m_strExtension= _T( "mp3" );
	m_strEncoderID= _T( "Lame MP3 Encoder " );
	m_nEncoderID = ENCODER_INT;
	SetCRC( 206592 );
	SetMaxBitrate( 320 );
	SetMinBitrate( 32 );
	LoadSettings();

	GetDLLVersionInfo();

	m_bCanWriteTagV1 = TRUE;
	m_bCanWriteTagV2 = TRUE;
}
Exemplo n.º 5
0
void GetPPMDataToPacket(BowlerPacket * Packet){
	//println_I("Getting PPM values");
	int i;
	LoadCorePacket(Packet);
	Packet->use.head.Method=BOWLER_POST;
	Packet->use.head.RPC=GetRPCValue("strm");
	Packet->use.data[0]=23;
	Packet->use.data[1]=NUM_PPM_CHAN*2;
	for(i=0;i<NUM_PPM_CHAN;i++){
		Packet->use.data[2+i]=ppmData[i];
	}
	for(i=0;i<NUM_PPM_CHAN;i++){
		Packet->use.data[2+i+NUM_PPM_CHAN]=ppmLink[i];
	}
	Packet->use.head.DataLegnth=4+1+1+(NUM_PPM_CHAN*2);
	Packet->use.head.MessageID=0;
	SetCRC(Packet);
}
Exemplo n.º 6
0
uint8_t Bowler_Server_Local(BowlerPacket * Packet){
  
        Print_Level l = getPrintLevel();
        //setPrintLevelNoPrint();
	if (GetBowlerPacket_arch(Packet)){
		//setLed(1,1,1);
                if(Packet->use.head.RPC != _PNG){
                    println_I("Got:");printPacket(Packet,INFO_PRINT);
                }
		if ( (CheckAddress(MyMAC.v,Packet->use.head.MAC.v) == true)  || ((CheckAddress((uint8_t *)Broadcast.v,(uint8_t *)Packet->use.head.MAC.v) == true)  )) {
                        float start=getMs();
                        Process_Self_Packet(Packet);
                        if(getMs()-start>5){
                            println_E("Process too long: ");p_fl_E(getMs()-start);
                        }
			for (i=0;i<6;i++){
				Packet->use.head.MAC.v[i]=MyMAC.v[i];
			}
			SetCRC(Packet);
                        start=getMs();
			PutBowlerPacket(Packet);
                        if(getMs()-start>5){
                            println_E("Return too long: ");p_fl_E(getMs()-start);
                        }
                         if(Packet->use.head.RPC != _PNG){
                            println_I("Response:");printPacket(Packet,INFO_PRINT);
                         }
		}else{
			//println_I("Packet not addressed to me: ");printByteArray(Packet->use.head.MAC.v,6); print_I(" is not mine: ");printByteArray(MyMAC.v,6);
		}
		//setLed(0,0,1);
                setPrintLevel(l);
		return true; 
	}//Have a packet
        setPrintLevel(l);
	return false; 
}