]> git.zerfleddert.de Git - fhem-stuff/blob - culfw/culfw-cc1100-fix.diff
b67b06596beff9353e40409bb89b40ed0003c3dc
[fhem-stuff] / culfw / culfw-cc1100-fix.diff
1 Index: clib/cc1100.c
2 ===================================================================
3 --- clib/cc1100.c (revision 373)
4 +++ clib/cc1100.c (working copy)
5 @@ -266,26 +266,25 @@
6 void
7 ccTX(void)
8 {
9 - uint8_t cnt = 0xff;
10 EIMSK &= ~_BV(CC1100_INT);
11
12 // Going from RX to TX does not work if there was a reception less than 0.5
13 - // sec ago. Due to CCA? Using IDLE helps to shorten this period(?)
14 - ccStrobe(CC1100_SIDLE);
15 - while(cnt-- && (ccStrobe( CC1100_STX ) & 0x70) != 2)
16 - my_delay_us(10);
17 + // sec ago. Due to CCA? Wait for chip to enter TX state.
18 +
19 + while (cc1100_readReg(CC1100_MARCSTATE) != MARCSTATE_TX) {
20 + ccStrobe(CC1100_STX);
21 + }
22 }
23
24 //--------------------------------------------------------------------
25 void
26 ccRX(void)
27 {
28 - uint8_t cnt = 0xff;
29 + while (cc1100_readReg(CC1100_MARCSTATE) != MARCSTATE_RX) {
30 + ccStrobe(CC1100_SRX);
31 + }
32
33 - while(cnt-- && (ccStrobe( CC1100_SRX ) & 0x70) != 1)
34 - my_delay_us(10);
35 EIMSK |= _BV(CC1100_INT);
36 -
37 }
38
39
Impressum, Datenschutz