Example #1
0
SmartBlocksBlock::SmartBlocksBlock(int bId, SmartBlocksBlockCode *(*smartBlocksBlockCodeBuildingFunction)(SmartBlocksBlock*)) : BaseSimulator::BuildingBlock(bId) {
  cout << "SmartBlocksBlock constructor" << endl;
  buildNewBlockCode = smartBlocksBlockCodeBuildingFunction;
  blockCode = (BaseSimulator::BlockCode*)buildNewBlockCode(this);
  for (int i=North; i<=West; i++) {
    tabInterfaces[i] = new P2PNetworkInterface(this);
  }
}
Example #2
0
Catoms2DBlock::Catoms2DBlock(int bId, Catoms2DBlockCode *(*catoms2DBlockCodeBuildingFunction)(Catoms2DBlock*)) : BaseSimulator::BuildingBlock(bId) {
	OUTPUT << "Catoms2DBlock constructor" << endl;
	for (int i=0; i<6; i++) {
		tabInterfaces[i] = new P2PNetworkInterface(this);
	}
	buildNewBlockCode = catoms2DBlockCodeBuildingFunction;
	blockCode = (BaseSimulator::BlockCode*)buildNewBlockCode(this);
 }
BlinkyBlocksBlock::BlinkyBlocksBlock(int bId, BlinkyBlocksBlockCode *(*blinkyBlocksBlockCodeBuildingFunction)(BlinkyBlocksBlock*)) : BaseSimulator::BuildingBlock(bId) {
	OUTPUT << "BlinkyBlocksBlock constructor" << endl;
	double dataRateMin = ((BLINKYBLOCKS_PACKET_DATASIZE*pow(10,6)*8)/(BLINKYBLOCKS_TRANSMISSION_MAX_TIME*1000));
	double dataRateMax = ((BLINKYBLOCKS_PACKET_DATASIZE*pow(10,6)*8)/(BLINKYBLOCKS_TRANSMISSION_MIN_TIME*1000));

	for (int i=0; i<6; i++) {
		tabInterfaces[i] = new P2PNetworkInterface(this);
		getP2PNetworkInterfaceList().push_back(tabInterfaces[i]);
		tabInterfaces[i]->setDataRate((dataRateMax+dataRateMin)/2);
		tabInterfaces[i]->setDataRateVariability((dataRateMax-dataRateMin)/2);
	}
	clock = new Clock(Clock::XMEGA_RTC_OSC1K_CRC, this);
	buildNewBlockCode = blinkyBlocksBlockCodeBuildingFunction;
	blockCode = (BaseSimulator::BlockCode*)buildNewBlockCode(this);
}