-@@ -182,7 +250,11 @@
-
- enc[l] = dec[l] ^ dec[2];
-
-- ccTX();
-+ // enable TX, wait for CCA
-+ while (cc1100_readReg(CC1100_MARCSTATE) != MARCSTATE_TX) {
-+ ccStrobe(CC1100_STX);
-+ }
-+
- if (dec[2] & (1 << 4)) { // BURST-bit set?
- // According to ELV, devices get activated every 300ms, so send burst for 360ms
- for(l = 0; l < 3; l++)
-@@ -209,11 +281,12 @@
- ccStrobe( CC1100_SFTX );
- ccStrobe( CC1100_SIDLE );
- ccStrobe( CC1100_SNOP );
-- ccStrobe( CC1100_SRX );
- }
-
- if(asksin_on) {
-- ccRX();
-+ do {
-+ ccStrobe(CC1100_SRX);
-+ } while (cc1100_readReg(CC1100_MARCSTATE) != MARCSTATE_RX);
- } else {
- set_txrestore();
- }