Updated EPS code with flowchart v2.3 (CDMS and HW faults)

Dependencies:   FreescaleIAP mbed-rtos mbed

Fork of QM_BAE_review_1_EPS_faults by Mohamed Azad

Committer:
azaddevarm
Date:
Thu Jun 23 12:14:28 2016 +0000
Revision:
17:bb0d64656ba1
Parent:
12:af1d7e18b868
Updated EPS code with flowchart v2.3

Who changed what in which revision?

UserRevisionLine numberNew 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