Beacon code

Dependencies:   mbed

Committer:
gkumar
Date:
Thu May 14 13:51:23 2015 +0000
Revision:
0:a3fc5d243904
Beacon

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gkumar 0:a3fc5d243904 1 #include "mbed.h"
gkumar 0:a3fc5d243904 2
gkumar 0:a3fc5d243904 3 #define TIMES 20
gkumar 0:a3fc5d243904 4 #define RX_DATA 240 //in bytes
gkumar 0:a3fc5d243904 5 #define TX_DATA 240 //in bytes
gkumar 0:a3fc5d243904 6
gkumar 0:a3fc5d243904 7 void writereg(uint8_t reg,uint8_t val);
gkumar 0:a3fc5d243904 8 uint8_t readreg(uint8_t reg);
gkumar 0:a3fc5d243904 9 void clearTxBuf();
gkumar 0:a3fc5d243904 10 void clearRxBuf();
gkumar 0:a3fc5d243904 11 int setFrequency(float,float);
gkumar 0:a3fc5d243904 12 void init();
gkumar 0:a3fc5d243904 13 void FUNC_BEA();
gkumar 0:a3fc5d243904 14
gkumar 0:a3fc5d243904 15 #define RF22_MAX_MESSAGE_LEN 255
gkumar 0:a3fc5d243904 16 // These values we set for FIFO thresholds
gkumar 0:a3fc5d243904 17 #define RF22_TXFFAEM_THRESHOLD 4
gkumar 0:a3fc5d243904 18 #define RF22_RXFFAFULL_THRESHOLD 55
gkumar 0:a3fc5d243904 19
gkumar 0:a3fc5d243904 20 // Register names
gkumar 0:a3fc5d243904 21
gkumar 0:a3fc5d243904 22 #define RF22_REG_00_DEVICE_TYPE 0x00
gkumar 0:a3fc5d243904 23 #define RF22_REG_02_DEVICE_STATUS 0x02
gkumar 0:a3fc5d243904 24 #define RF22_REG_03_INTERRUPT_STATUS1 0x03
gkumar 0:a3fc5d243904 25 #define RF22_REG_04_INTERRUPT_STATUS2 0x04
gkumar 0:a3fc5d243904 26 #define RF22_REG_07_OPERATING_MODE1 0x07
gkumar 0:a3fc5d243904 27 #define RF22_REG_08_OPERATING_MODE2 0x08
gkumar 0:a3fc5d243904 28 #define RF22_REG_09_OSCILLATOR_LOAD_CAPACITANCE 0x09
gkumar 0:a3fc5d243904 29 #define RF22_REG_0B_GPIO_CONFIGURATION0 0x0b
gkumar 0:a3fc5d243904 30 #define RF22_REG_0C_GPIO_CONFIGURATION1 0x0c
gkumar 0:a3fc5d243904 31 #define RF22_REG_0D_GPIO_CONFIGURATION2 0x0d
gkumar 0:a3fc5d243904 32 #define RF22_REG_1C_IF_FILTER_BANDWIDTH 0x1c
gkumar 0:a3fc5d243904 33 #define RF22_REG_1F_CLOCK_RECOVERY_GEARSHIFT_OVERRIDE 0x1f
gkumar 0:a3fc5d243904 34 #define RF22_REG_20_CLOCK_RECOVERY_OVERSAMPLING_RATE 0x20
gkumar 0:a3fc5d243904 35 #define RF22_REG_21_CLOCK_RECOVERY_OFFSET2 0x21
gkumar 0:a3fc5d243904 36 #define RF22_REG_22_CLOCK_RECOVERY_OFFSET1 0x22
gkumar 0:a3fc5d243904 37 #define RF22_REG_23_CLOCK_RECOVERY_OFFSET0 0x23
gkumar 0:a3fc5d243904 38 #define RF22_REG_24_CLOCK_RECOVERY_TIMING_LOOP_GAIN1 0x24
gkumar 0:a3fc5d243904 39 #define RF22_REG_25_CLOCK_RECOVERY_TIMING_LOOP_GAIN0 0x25
gkumar 0:a3fc5d243904 40 #define RF22_REG_26_RSSI 0x26
gkumar 0:a3fc5d243904 41 #define RF22_REG_27_RSSI_THRESHOLD 0x27
gkumar 0:a3fc5d243904 42 #define RF22_REG_28_ANTENNA_DIVERSITY1 0x28
gkumar 0:a3fc5d243904 43 #define RF22_REG_29_ANTENNA_DIVERSITY2 0x29
gkumar 0:a3fc5d243904 44 #define RF22_REG_2A_AFC_LIMITER 0x2a
gkumar 0:a3fc5d243904 45 #define RF22_REG_2B_AFC_CORRECTION_READ 0x2b
gkumar 0:a3fc5d243904 46 #define RF22_REG_2C_OOK_COUNTER_VALUE_1 0x2c
gkumar 0:a3fc5d243904 47 #define RF22_REG_2D_OOK_COUNTER_VALUE_2 0x2d
gkumar 0:a3fc5d243904 48 #define RF22_REG_2E_SLICER_PEAK_HOLD 0x2e
gkumar 0:a3fc5d243904 49 #define RF22_REG_30_DATA_ACCESS_CONTROL 0x30
gkumar 0:a3fc5d243904 50 #define RF22_REG_31_EZMAC_STATUS 0x31
gkumar 0:a3fc5d243904 51 #define RF22_REG_32_HEADER_CONTROL1 0x32
gkumar 0:a3fc5d243904 52 #define RF22_REG_33_HEADER_CONTROL2 0x33
gkumar 0:a3fc5d243904 53 #define RF22_REG_34_PREAMBLE_LENGTH 0x34
gkumar 0:a3fc5d243904 54 #define RF22_REG_35_PREAMBLE_DETECTION_CONTROL1 0x35
gkumar 0:a3fc5d243904 55 #define RF22_REG_36_SYNC_WORD3 0x36
gkumar 0:a3fc5d243904 56 #define RF22_REG_37_SYNC_WORD2 0x37
gkumar 0:a3fc5d243904 57 #define RF22_REG_38_SYNC_WORD1 0x38
gkumar 0:a3fc5d243904 58 #define RF22_REG_39_SYNC_WORD0 0x39
gkumar 0:a3fc5d243904 59 #define RF22_REG_3A_TRANSMIT_HEADER3 0x3a
gkumar 0:a3fc5d243904 60 #define RF22_REG_3B_TRANSMIT_HEADER2 0x3b
gkumar 0:a3fc5d243904 61 #define RF22_REG_3C_TRANSMIT_HEADER1 0x3c
gkumar 0:a3fc5d243904 62 #define RF22_REG_3D_TRANSMIT_HEADER0 0x3d
gkumar 0:a3fc5d243904 63 #define RF22_REG_3E_PACKET_LENGTH 0x3e
gkumar 0:a3fc5d243904 64 #define RF22_REG_3F_CHECK_HEADER3 0x3f
gkumar 0:a3fc5d243904 65 #define RF22_REG_40_CHECK_HEADER2 0x40
gkumar 0:a3fc5d243904 66 #define RF22_REG_41_CHECK_HEADER1 0x41
gkumar 0:a3fc5d243904 67 #define RF22_REG_42_CHECK_HEADER0 0x42
gkumar 0:a3fc5d243904 68 #define RF22_REG_43_HEADER_ENABLE3 0x43
gkumar 0:a3fc5d243904 69 #define RF22_REG_44_HEADER_ENABLE2 0x44
gkumar 0:a3fc5d243904 70 #define RF22_REG_45_HEADER_ENABLE1 0x45
gkumar 0:a3fc5d243904 71 #define RF22_REG_46_HEADER_ENABLE0 0x46
gkumar 0:a3fc5d243904 72 #define RF22_REG_47_RECEIVED_HEADER3 0x47
gkumar 0:a3fc5d243904 73 #define RF22_REG_48_RECEIVED_HEADER2 0x48
gkumar 0:a3fc5d243904 74 #define RF22_REG_49_RECEIVED_HEADER1 0x49
gkumar 0:a3fc5d243904 75 #define RF22_REG_4A_RECEIVED_HEADER0 0x4a
gkumar 0:a3fc5d243904 76 #define RF22_REG_4B_RECEIVED_PACKET_LENGTH 0x4b
gkumar 0:a3fc5d243904 77 #define RF22_REG_58 0x58
gkumar 0:a3fc5d243904 78 #define RF22_REG_60_CHANNEL_FILTER_COEFFICIENT_ADDRESS 0x60
gkumar 0:a3fc5d243904 79 #define RF22_REG_61_CHANNEL_FILTER_COEFFICIENT_VALUE 0x61
gkumar 0:a3fc5d243904 80 #define RF22_REG_62_CRYSTAL_OSCILLATOR_POR_CONTROL 0x62
gkumar 0:a3fc5d243904 81 #define RF22_REG_63_RC_OSCILLATOR_COARSE_CALIBRATION 0x63
gkumar 0:a3fc5d243904 82 #define RF22_REG_64_RC_OSCILLATOR_FINE_CALIBRATION 0x64
gkumar 0:a3fc5d243904 83 #define RF22_REG_65_LDO_CONTROL_OVERRIDE 0x65
gkumar 0:a3fc5d243904 84 #define RF22_REG_66_LDO_LEVEL_SETTINGS 0x66
gkumar 0:a3fc5d243904 85 #define RF22_REG_67_DELTA_SIGMA_ADC_TUNING1 0x67
gkumar 0:a3fc5d243904 86 #define RF22_REG_68_DELTA_SIGMA_ADC_TUNING2 0x68
gkumar 0:a3fc5d243904 87 #define RF22_REG_69_AGC_OVERRIDE1 0x69
gkumar 0:a3fc5d243904 88 #define RF22_REG_6A_AGC_OVERRIDE2 0x6a
gkumar 0:a3fc5d243904 89 #define RF22_REG_6B_GFSK_FIR_FILTER_COEFFICIENT_ADDRESS 0x6b
gkumar 0:a3fc5d243904 90 #define RF22_REG_6C_GFSK_FIR_FILTER_COEFFICIENT_VALUE 0x6c
gkumar 0:a3fc5d243904 91 #define RF22_REG_6D_TX_POWER 0x6d
gkumar 0:a3fc5d243904 92 #define RF22_REG_6E_TX_DATA_RATE1 0x6e
gkumar 0:a3fc5d243904 93 #define RF22_REG_6F_TX_DATA_RATE0 0x6f
gkumar 0:a3fc5d243904 94 #define RF22_REG_70_MODULATION_CONTROL1 0x70
gkumar 0:a3fc5d243904 95 #define RF22_REG_71_MODULATION_CONTROL2 0x71
gkumar 0:a3fc5d243904 96 #define RF22_REG_72_FREQUENCY_DEVIATION 0x72
gkumar 0:a3fc5d243904 97 #define RF22_REG_73_FREQUENCY_OFFSET1 0x73
gkumar 0:a3fc5d243904 98 #define RF22_REG_74_FREQUENCY_OFFSET2 0x74
gkumar 0:a3fc5d243904 99 #define RF22_REG_75_FREQUENCY_BAND_SELECT 0x75
gkumar 0:a3fc5d243904 100 #define RF22_REG_76_NOMINAL_CARRIER_FREQUENCY1 0x76
gkumar 0:a3fc5d243904 101 #define RF22_REG_77_NOMINAL_CARRIER_FREQUENCY0 0x77
gkumar 0:a3fc5d243904 102 #define RF22_REG_79_FREQUENCY_HOPPING_CHANNEL_SELECT 0x79
gkumar 0:a3fc5d243904 103 #define RF22_REG_7A_FREQUENCY_HOPPING_STEP_SIZE 0x7a
gkumar 0:a3fc5d243904 104 #define RF22_REG_7C_TX_FIFO_CONTROL1 0x7c
gkumar 0:a3fc5d243904 105 #define RF22_REG_7D_TX_FIFO_CONTROL2 0x7d
gkumar 0:a3fc5d243904 106 #define RF22_REG_7E_RX_FIFO_CONTROL 0x7e
gkumar 0:a3fc5d243904 107 #define RF22_REG_7F_FIFO_ACCESS 0x7f