전혀 몰랐던 사실을 아는 기분이란 ? 킇ㅋㅋ
나는 Retransmission을 따로 설정하는지 모르고 Protocol을 내가 만들어 사용하려 하였다.
그러나 !!! 간단한 설정만으로 Retransmission기능을 사용할 수 있다는것을 알게 되었따. !
위 그림을 보면 A가 패킷을 보내고 B는 받게 된다. 만약 그림과 같이 Ack가 깨지가 된다면, A는 다시 전송한다. Ack 가 제대로 올때 까지.
TinyOs에서 설정해야 하는 내용은 무엇이 있을까 ?? 알아 보자
Tos/폴더에서 (기본설정)
platform/cricket/CC1000RadioIntM.nc: bAckEnable = FALSE;
system/AMPromiscuous.nc: crc_check = TRUE;
lib/Queue/QueuedSendM.nc: retransmit = FALSE;
Tos/폴더에서 (변경 후 )
platform/cricket/CC1000RadioIntM.nc: bAckEnable = TRUE;
system/AMPromiscuous.nc: crc_check = TRUE;
lib/Queue/QueuedSendM.nc: retransmit = TRUE;
그리고 Configuration 파일과 Module파일의 MacControl사용을 명시하여 설정한다.
implementation {
components CC1000RadioIntM as Radio,
CricketSensorM.MacControl -> Radio.MacControl;
}
uses {
interface MacControl;
}
command result_t StdControl.start() {
call MacControl.enableAck();
}
Cricket_Quick_Start_Guide.pdf