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); }
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; }
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; }
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); }
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; }