I2C BAE standalone hardware testing
Dependencies: FreescaleIAP mbed-rtos mbed
Fork of ACS_Flowchart_BAE_1 by
BCN.h@12:af1d7e18b868, 2016-04-13 (annotated)
- Committer:
- Bragadeesh153
- Date:
- Wed Apr 13 18:34:28 2016 +0000
- Revision:
- 12:af1d7e18b868
- Parent:
- 0:7b4c00e3912f
Working
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sakthipriya | 0:7b4c00e3912f | 1 | #include "mbed.h" |
sakthipriya | 0:7b4c00e3912f | 2 | |
sakthipriya | 0:7b4c00e3912f | 3 | //STATES |
sakthipriya | 0:7b4c00e3912f | 4 | #define BCN_RF_SILENCE 0 |
sakthipriya | 0:7b4c00e3912f | 5 | #define BCN_TX_DISABLED 1 |
sakthipriya | 0:7b4c00e3912f | 6 | #define BCN_TX_STANDBY 2 |
sakthipriya | 0:7b4c00e3912f | 7 | #define BCN_TX_FAILURE 3 |
sakthipriya | 0:7b4c00e3912f | 8 | #define BCN_TX_SUCCESS 4 |
sakthipriya | 0:7b4c00e3912f | 9 | |
sakthipriya | 0:7b4c00e3912f | 10 | //Size of tx data |
sakthipriya | 0:7b4c00e3912f | 11 | #define SHORT_TX_DATA 60 //in bytes |
Bragadeesh153 | 12:af1d7e18b868 | 12 | #define LONG_TX_DATA 125 //in bytes |
sakthipriya | 0:7b4c00e3912f | 13 | |
Bragadeesh153 | 12:af1d7e18b868 | 14 | //#define RF_SILENCE_TIME 35*60 |
Bragadeesh153 | 12:af1d7e18b868 | 15 | #define RF_SILENCE_TIME 5 //changed for testing |
sakthipriya | 0:7b4c00e3912f | 16 | |
sakthipriya | 0:7b4c00e3912f | 17 | //FUNCTION PROTOTYPING |
Bragadeesh153 | 12:af1d7e18b868 | 18 | void FCTN_BCN_INIT(); |
Bragadeesh153 | 12:af1d7e18b868 | 19 | void FCTN_BCN_FEN(); |
Bragadeesh153 | 12:af1d7e18b868 | 20 | void FCTN_BCN_TX_MAIN(); |
sakthipriya | 0:7b4c00e3912f | 21 | void Set_BCN_TX_STATUS(uint8_t); |
sakthipriya | 0:7b4c00e3912f | 22 | uint8_t check_Temperature(); |
sakthipriya | 0:7b4c00e3912f | 23 | void SHORT_BCN_TX(); |
sakthipriya | 0:7b4c00e3912f | 24 | void LONG_BCN_TX(); |
sakthipriya | 0:7b4c00e3912f | 25 | void Init_BEACON_HW(); |
sakthipriya | 0:7b4c00e3912f | 26 | void writereg(uint8_t,uint8_t); |
sakthipriya | 0:7b4c00e3912f | 27 | uint8_t readreg(uint8_t); |
sakthipriya | 0:7b4c00e3912f | 28 | void clearTxBuf(); |
Bragadeesh153 | 12:af1d7e18b868 | 29 | uint8_t setFrequency(double); |
sakthipriya | 0:7b4c00e3912f | 30 | bool Check_ACK_RECEIVED(); |
Bragadeesh153 | 12:af1d7e18b868 | 31 | void reset_rfm(); |
sakthipriya | 0:7b4c00e3912f | 32 | |
sakthipriya | 0:7b4c00e3912f | 33 | #define RF22_MAX_MESSAGE_LEN 255 |
sakthipriya | 0:7b4c00e3912f | 34 | |
sakthipriya | 0:7b4c00e3912f | 35 | //These values we set for FIFO thresholds |
sakthipriya | 0:7b4c00e3912f | 36 | #define RF22_TXFFAEM_THRESHOLD 40 |
sakthipriya | 0:7b4c00e3912f | 37 | |
sakthipriya | 0:7b4c00e3912f | 38 | //Registers |
sakthipriya | 0:7b4c00e3912f | 39 | #define RF22_REG_00_DEVICE_TYPE 0x00 |
sakthipriya | 0:7b4c00e3912f | 40 | #define RF22_REG_02_DEVICE_STATUS 0x02 |
sakthipriya | 0:7b4c00e3912f | 41 | #define RF22_REG_03_INTERRUPT_STATUS1 0x03 |
sakthipriya | 0:7b4c00e3912f | 42 | #define RF22_REG_04_INTERRUPT_STATUS2 0x04 |
sakthipriya | 0:7b4c00e3912f | 43 | #define RF22_REG_07_OPERATING_MODE1 0x07 |
sakthipriya | 0:7b4c00e3912f | 44 | #define RF22_REG_08_OPERATING_MODE2 0x08 |
sakthipriya | 0:7b4c00e3912f | 45 | #define RF22_REG_09_OSCILLATOR_LOAD_CAPACITANCE 0x09 |
sakthipriya | 0:7b4c00e3912f | 46 | #define RF22_REG_0B_GPIO_CONFIGURATION0 0x0b |
sakthipriya | 0:7b4c00e3912f | 47 | #define RF22_REG_0C_GPIO_CONFIGURATION1 0x0c |
sakthipriya | 0:7b4c00e3912f | 48 | #define RF22_REG_0D_GPIO_CONFIGURATION2 0x0d |
sakthipriya | 0:7b4c00e3912f | 49 | #define RF22_REG_0F_ADC_CONFIGURATION 0x0f |
sakthipriya | 0:7b4c00e3912f | 50 | #define RF22_REG_11_ADC_Value 0x11 |
sakthipriya | 0:7b4c00e3912f | 51 | #define RF22_REG_12_Temperature_Sensor_Calibration 0x12 |
sakthipriya | 0:7b4c00e3912f | 52 | #define RF22_REG_1C_IF_FILTER_BANDWIDTH 0x1c |
sakthipriya | 0:7b4c00e3912f | 53 | #define RF22_REG_1F_CLOCK_RECOVERY_GEARSHIFT_OVERRIDE 0x1f |
sakthipriya | 0:7b4c00e3912f | 54 | #define RF22_REG_20_CLOCK_RECOVERY_OVERSAMPLING_RATE 0x20 |
sakthipriya | 0:7b4c00e3912f | 55 | #define RF22_REG_21_CLOCK_RECOVERY_OFFSET2 0x21 |
sakthipriya | 0:7b4c00e3912f | 56 | #define RF22_REG_22_CLOCK_RECOVERY_OFFSET1 0x22 |
sakthipriya | 0:7b4c00e3912f | 57 | #define RF22_REG_23_CLOCK_RECOVERY_OFFSET0 0x23 |
sakthipriya | 0:7b4c00e3912f | 58 | #define RF22_REG_24_CLOCK_RECOVERY_TIMING_LOOP_GAIN1 0x24 |
sakthipriya | 0:7b4c00e3912f | 59 | #define RF22_REG_25_CLOCK_RECOVERY_TIMING_LOOP_GAIN0 0x25 |
sakthipriya | 0:7b4c00e3912f | 60 | #define RF22_REG_26_RSSI 0x26 |
sakthipriya | 0:7b4c00e3912f | 61 | #define RF22_REG_27_RSSI_THRESHOLD 0x27 |
sakthipriya | 0:7b4c00e3912f | 62 | #define RF22_REG_28_ANTENNA_DIVERSITY1 0x28 |
sakthipriya | 0:7b4c00e3912f | 63 | #define RF22_REG_29_ANTENNA_DIVERSITY2 0x29 |
sakthipriya | 0:7b4c00e3912f | 64 | #define RF22_REG_2A_AFC_LIMITER 0x2a |
sakthipriya | 0:7b4c00e3912f | 65 | #define RF22_REG_2B_AFC_CORRECTION_READ 0x2b |
sakthipriya | 0:7b4c00e3912f | 66 | #define RF22_REG_2C_OOK_COUNTER_VALUE_1 0x2c |
sakthipriya | 0:7b4c00e3912f | 67 | #define RF22_REG_2D_OOK_COUNTER_VALUE_2 0x2d |
sakthipriya | 0:7b4c00e3912f | 68 | #define RF22_REG_2E_SLICER_PEAK_HOLD 0x2e |
sakthipriya | 0:7b4c00e3912f | 69 | #define RF22_REG_30_DATA_ACCESS_CONTROL 0x30 |
sakthipriya | 0:7b4c00e3912f | 70 | #define RF22_REG_31_EZMAC_STATUS 0x31 |
sakthipriya | 0:7b4c00e3912f | 71 | #define RF22_REG_32_HEADER_CONTROL1 0x32 |
sakthipriya | 0:7b4c00e3912f | 72 | #define RF22_REG_33_HEADER_CONTROL2 0x33 |
sakthipriya | 0:7b4c00e3912f | 73 | #define RF22_REG_34_PREAMBLE_LENGTH 0x34 |
sakthipriya | 0:7b4c00e3912f | 74 | #define RF22_REG_35_PREAMBLE_DETECTION_CONTROL1 0x35 |
sakthipriya | 0:7b4c00e3912f | 75 | #define RF22_REG_36_SYNC_WORD3 0x36 |
sakthipriya | 0:7b4c00e3912f | 76 | #define RF22_REG_37_SYNC_WORD2 0x37 |
sakthipriya | 0:7b4c00e3912f | 77 | #define RF22_REG_38_SYNC_WORD1 0x38 |
sakthipriya | 0:7b4c00e3912f | 78 | #define RF22_REG_39_SYNC_WORD0 0x39 |
sakthipriya | 0:7b4c00e3912f | 79 | #define RF22_REG_3A_TRANSMIT_HEADER3 0x3a |
sakthipriya | 0:7b4c00e3912f | 80 | #define RF22_REG_3B_TRANSMIT_HEADER2 0x3b |
sakthipriya | 0:7b4c00e3912f | 81 | #define RF22_REG_3C_TRANSMIT_HEADER1 0x3c |
sakthipriya | 0:7b4c00e3912f | 82 | #define RF22_REG_3D_TRANSMIT_HEADER0 0x3d |
sakthipriya | 0:7b4c00e3912f | 83 | #define RF22_REG_3E_PACKET_LENGTH 0x3e |
sakthipriya | 0:7b4c00e3912f | 84 | #define RF22_REG_3F_CHECK_HEADER3 0x3f |
sakthipriya | 0:7b4c00e3912f | 85 | #define RF22_REG_40_CHECK_HEADER2 0x40 |
sakthipriya | 0:7b4c00e3912f | 86 | #define RF22_REG_41_CHECK_HEADER1 0x41 |
sakthipriya | 0:7b4c00e3912f | 87 | #define RF22_REG_42_CHECK_HEADER0 0x42 |
sakthipriya | 0:7b4c00e3912f | 88 | #define RF22_REG_43_HEADER_ENABLE3 0x43 |
sakthipriya | 0:7b4c00e3912f | 89 | #define RF22_REG_44_HEADER_ENABLE2 0x44 |
sakthipriya | 0:7b4c00e3912f | 90 | #define RF22_REG_45_HEADER_ENABLE1 0x45 |
sakthipriya | 0:7b4c00e3912f | 91 | #define RF22_REG_46_HEADER_ENABLE0 0x46 |
sakthipriya | 0:7b4c00e3912f | 92 | #define RF22_REG_47_RECEIVED_HEADER3 0x47 |
sakthipriya | 0:7b4c00e3912f | 93 | #define RF22_REG_48_RECEIVED_HEADER2 0x48 |
sakthipriya | 0:7b4c00e3912f | 94 | #define RF22_REG_49_RECEIVED_HEADER1 0x49 |
sakthipriya | 0:7b4c00e3912f | 95 | #define RF22_REG_4A_RECEIVED_HEADER0 0x4a |
sakthipriya | 0:7b4c00e3912f | 96 | #define RF22_REG_4B_RECEIVED_PACKET_LENGTH 0x4b |
sakthipriya | 0:7b4c00e3912f | 97 | #define RF22_REG_58 0x58 |
sakthipriya | 0:7b4c00e3912f | 98 | #define RF22_REG_60_CHANNEL_FILTER_COEFFICIENT_ADDRESS 0x60 |
sakthipriya | 0:7b4c00e3912f | 99 | #define RF22_REG_61_CHANNEL_FILTER_COEFFICIENT_VALUE 0x61 |
sakthipriya | 0:7b4c00e3912f | 100 | #define RF22_REG_62_CRYSTAL_OSCILLATOR_POR_CONTROL 0x62 |
sakthipriya | 0:7b4c00e3912f | 101 | #define RF22_REG_63_RC_OSCILLATOR_COARSE_CALIBRATION 0x63 |
sakthipriya | 0:7b4c00e3912f | 102 | #define RF22_REG_64_RC_OSCILLATOR_FINE_CALIBRATION 0x64 |
sakthipriya | 0:7b4c00e3912f | 103 | #define RF22_REG_65_LDO_CONTROL_OVERRIDE 0x65 |
sakthipriya | 0:7b4c00e3912f | 104 | #define RF22_REG_66_LDO_LEVEL_SETTINGS 0x66 |
sakthipriya | 0:7b4c00e3912f | 105 | #define RF22_REG_67_DELTA_SIGMA_ADC_TUNING1 0x67 |
sakthipriya | 0:7b4c00e3912f | 106 | #define RF22_REG_68_DELTA_SIGMA_ADC_TUNING2 0x68 |
sakthipriya | 0:7b4c00e3912f | 107 | #define RF22_REG_69_AGC_OVERRIDE1 0x69 |
sakthipriya | 0:7b4c00e3912f | 108 | #define RF22_REG_6A_AGC_OVERRIDE2 0x6a |
sakthipriya | 0:7b4c00e3912f | 109 | #define RF22_REG_6B_GFSK_FIR_FILTER_COEFFICIENT_ADDRESS 0x6b |
sakthipriya | 0:7b4c00e3912f | 110 | #define RF22_REG_6C_GFSK_FIR_FILTER_COEFFICIENT_VALUE 0x6c |
sakthipriya | 0:7b4c00e3912f | 111 | #define RF22_REG_6D_TX_POWER 0x6d |
sakthipriya | 0:7b4c00e3912f | 112 | #define RF22_REG_6E_TX_DATA_RATE 0x6e |
sakthipriya | 0:7b4c00e3912f | 113 | #define RF22_REG_6F_TX_DATA_RATE 0x6f |
sakthipriya | 0:7b4c00e3912f | 114 | #define RF22_REG_70_MODULATION_CONTROL1 0x70 |
sakthipriya | 0:7b4c00e3912f | 115 | #define RF22_REG_71_MODULATION_CONTROL2 0x71 |
sakthipriya | 0:7b4c00e3912f | 116 | #define RF22_REG_72_FREQUENCY_DEVIATION 0x72 |
sakthipriya | 0:7b4c00e3912f | 117 | #define RF22_REG_73_FREQUENCY_OFFSET1 0x73 |
sakthipriya | 0:7b4c00e3912f | 118 | #define RF22_REG_74_FREQUENCY_OFFSET2 0x74 |
sakthipriya | 0:7b4c00e3912f | 119 | #define RF22_REG_75_FREQUENCY_BAND_SELECT 0x75 |
sakthipriya | 0:7b4c00e3912f | 120 | #define RF22_REG_76_NOMINAL_CARRIER_FREQUENCY1 0x76 |
sakthipriya | 0:7b4c00e3912f | 121 | #define RF22_REG_77_NOMINAL_CARRIER_FREQUENCY0 0x77 |
sakthipriya | 0:7b4c00e3912f | 122 | #define RF22_REG_79_FREQUENCY_HOPPING_CHANNEL_SELECT 0x79 |
sakthipriya | 0:7b4c00e3912f | 123 | #define RF22_REG_7A_FREQUENCY_HOPPING_STEP_SIZE 0x7a |
sakthipriya | 0:7b4c00e3912f | 124 | #define RF22_REG_7C_TX_FIFO_CONTROL1 0x7c |
sakthipriya | 0:7b4c00e3912f | 125 | #define RF22_REG_7D_TX_FIFO_CONTROL2 0x7d |
sakthipriya | 0:7b4c00e3912f | 126 | #define RF22_REG_7E_RX_FIFO_CONTROL 0x7e |
sakthipriya | 0:7b4c00e3912f | 127 | #define RF22_REG_7F_FIFO_ACCESS 0x7f |