X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=target%2Fradio%2Fradio.c;h=90bc47f31f649e7c4674bbe9586b9e2990e0137c;hp=9f10fccdd61bfcabc043a896429ee2943cac2d40;hb=7b3fdf5b42c9be9bebc1ceb7a52ff0f5a2a28fcd;hpb=4726317de811c20e8d6754762437b5c9cbb3a48c diff --git a/target/radio/radio.c b/target/radio/radio.c index 9f10fccd..90bc47f3 100644 --- a/target/radio/radio.c +++ b/target/radio/radio.c @@ -46,6 +46,11 @@ sfr at 0xE1 RFST; sfr at 0x88 TCON; +sfr at 0xbe SLEEP; + +# define SLEEP_USB_EN (1 << 7) +# define SLEEP_XOSC_STB (1 << 6) + sbit at 0x89 RFTXRXIF; #define TCON_RFTXRXIF (1 << 1) @@ -416,15 +421,29 @@ low() { #define PACKET_LEN 128 +/* This are from the table for 433MHz */ + +#define RF_POWER_M30_DBM 0x12 +#define RF_POWER_M20_DBM 0x0e +#define RF_POWER_M15_DBM 0x1d +#define RF_POWER_M10_DBM 0x34 +#define RF_POWER_M5_DBM 0x2c +#define RF_POWER_0_DBM 0x60 +#define RF_POWER_5_DBM 0x84 +#define RF_POWER_7_DBM 0xc8 +#define RF_POWER_10_DBM 0xc0 + +#define RF_POWER RF_POWER_0_DBM + static __code uint8_t radio_setup[] = { - RF_PA_TABLE7_OFF, 0x60, - RF_PA_TABLE6_OFF, 0x60, - RF_PA_TABLE5_OFF, 0x60, - RF_PA_TABLE4_OFF, 0x60, - RF_PA_TABLE3_OFF, 0x60, - RF_PA_TABLE2_OFF, 0x60, - RF_PA_TABLE1_OFF, 0x60, - RF_PA_TABLE0_OFF, 0x60, + RF_PA_TABLE7_OFF, RF_POWER, + RF_PA_TABLE6_OFF, RF_POWER, + RF_PA_TABLE5_OFF, RF_POWER, + RF_PA_TABLE4_OFF, RF_POWER, + RF_PA_TABLE3_OFF, RF_POWER, + RF_PA_TABLE2_OFF, RF_POWER, + RF_PA_TABLE1_OFF, RF_POWER, + RF_PA_TABLE0_OFF, RF_POWER, RF_FREQ2_OFF, FREQ_CONTROL >> 16, RF_FREQ1_OFF, FREQ_CONTROL >> 8, @@ -504,6 +523,8 @@ radio_init() { main () { CLKCON = 0; + while (!(SLEEP & SLEEP_XOSC_STB)) + ; /* Set P2_0 to output */ radio_init (); delay(100);