전혀 몰랐던 사실을 아는 기분이란 ? 킇ㅋㅋ
나는 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();
}
저작자 표시 비영리 동일 조건 변경 허락
Posted by Lws