TELECOMMAND MANAGER V1
Dependencies: mbed SLCD mbed-rtos
adf.h@13:7b27a8e9cbb4, 2015-08-03 (annotated)
- Committer:
- shreeshas95
- Date:
- Mon Aug 03 14:29:35 2015 +0000
- Revision:
- 13:7b27a8e9cbb4
- Child:
- 14:a4c259ca0325
sukhseep before editing 3/8/15
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
shreeshas95 | 13:7b27a8e9cbb4 | 1 | SPI spi(PTA16, PTA17, PTA15); //MOSI, MISO, CLOCK |
shreeshas95 | 13:7b27a8e9cbb4 | 2 | DigitalOut cs_adf(D10); |
shreeshas95 | 13:7b27a8e9cbb4 | 3 | DigitalOut led2(LED_RED); |
shreeshas95 | 13:7b27a8e9cbb4 | 4 | InterruptIn IRQ(D8); |
shreeshas95 | 13:7b27a8e9cbb4 | 5 | Ticker ticker; |
shreeshas95 | 13:7b27a8e9cbb4 | 6 | unsigned char buffer_half=1; |
shreeshas95 | 13:7b27a8e9cbb4 | 7 | unsigned char buffer_counter = 0; |
shreeshas95 | 13:7b27a8e9cbb4 | 8 | bool transmission_done = false; |
shreeshas95 | 13:7b27a8e9cbb4 | 9 | bool sent_tmfrom_SDcard; |
shreeshas95 | 13:7b27a8e9cbb4 | 10 | unsigned char bbram_buffer[66]={0x19,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x00,0xF4,0xc2,0x10,0xC0,0x00,0x30,0x31,0x07,0x00,0x01,0x00,0x7F,0x00,0x0B,0x37,0x00,0x00,0x40,0x0C,0x00,0x05,0x00,0x00,0x18,0x12,0x34,0x56,0x10,0x10,0xC4,0x14,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00}; |
shreeshas95 | 13:7b27a8e9cbb4 | 11 | void bbram_write(){ |
shreeshas95 | 13:7b27a8e9cbb4 | 12 | SPI_mutex.lock(); |
shreeshas95 | 13:7b27a8e9cbb4 | 13 | cs_adf=0; |
shreeshas95 | 13:7b27a8e9cbb4 | 14 | spi.write(0xB0);//PHY_OFF |
shreeshas95 | 13:7b27a8e9cbb4 | 15 | wait_us(300); |
shreeshas95 | 13:7b27a8e9cbb4 | 16 | cs_adf=1; |
shreeshas95 | 13:7b27a8e9cbb4 | 17 | SPI_mutex.unlock(); |
shreeshas95 | 13:7b27a8e9cbb4 | 18 | |
shreeshas95 | 13:7b27a8e9cbb4 | 19 | SPI_mutex.lock(); |
shreeshas95 | 13:7b27a8e9cbb4 | 20 | // Write bbram |
shreeshas95 | 13:7b27a8e9cbb4 | 21 | cs_adf=0; |
shreeshas95 | 13:7b27a8e9cbb4 | 22 | for(int i=0;i<66;i++){ |
shreeshas95 | 13:7b27a8e9cbb4 | 23 | spi.write(bbram_buffer[i]); |
shreeshas95 | 13:7b27a8e9cbb4 | 24 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 25 | cs_adf=1; |
shreeshas95 | 13:7b27a8e9cbb4 | 26 | SPI_mutex.unlock(); |
shreeshas95 | 13:7b27a8e9cbb4 | 27 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 28 | |
shreeshas95 | 13:7b27a8e9cbb4 | 29 | |
shreeshas95 | 13:7b27a8e9cbb4 | 30 | /******************************************************************************************/ |
shreeshas95 | 13:7b27a8e9cbb4 | 31 | |
shreeshas95 | 13:7b27a8e9cbb4 | 32 | void initiate(void){ |
shreeshas95 | 13:7b27a8e9cbb4 | 33 | SPI_mutex.lock(); |
shreeshas95 | 13:7b27a8e9cbb4 | 34 | cs_adf=0; |
shreeshas95 | 13:7b27a8e9cbb4 | 35 | spi.write(0xFF); |
shreeshas95 | 13:7b27a8e9cbb4 | 36 | spi.write(0xFF); |
shreeshas95 | 13:7b27a8e9cbb4 | 37 | cs_adf=1; |
shreeshas95 | 13:7b27a8e9cbb4 | 38 | // wait_ms(2); |
shreeshas95 | 13:7b27a8e9cbb4 | 39 | |
shreeshas95 | 13:7b27a8e9cbb4 | 40 | cs_adf=0; |
shreeshas95 | 13:7b27a8e9cbb4 | 41 | spi.write(0x08); // TRANSMIT_DATA LENGTH |
shreeshas95 | 13:7b27a8e9cbb4 | 42 | spi.write(0x14); |
shreeshas95 | 13:7b27a8e9cbb4 | 43 | spi.write(0xFF); |
shreeshas95 | 13:7b27a8e9cbb4 | 44 | cs_adf=1; |
shreeshas95 | 13:7b27a8e9cbb4 | 45 | // wait_ms(2); |
shreeshas95 | 13:7b27a8e9cbb4 | 46 | cs_adf=0; |
shreeshas95 | 13:7b27a8e9cbb4 | 47 | spi.write(0x08); // TRANSMIT_DATA LENGTH |
shreeshas95 | 13:7b27a8e9cbb4 | 48 | spi.write(0x15); |
shreeshas95 | 13:7b27a8e9cbb4 | 49 | spi.write(0xFF); |
shreeshas95 | 13:7b27a8e9cbb4 | 50 | cs_adf=1; |
shreeshas95 | 13:7b27a8e9cbb4 | 51 | // wait_ms(2); |
shreeshas95 | 13:7b27a8e9cbb4 | 52 | |
shreeshas95 | 13:7b27a8e9cbb4 | 53 | cs_adf=0; |
shreeshas95 | 13:7b27a8e9cbb4 | 54 | spi.write(0x09); |
shreeshas95 | 13:7b27a8e9cbb4 | 55 | spi.write(0x24); // TX_BASE ADDRESS 0x20(starting Tx Byte) |
shreeshas95 | 13:7b27a8e9cbb4 | 56 | spi.write(0x20); |
shreeshas95 | 13:7b27a8e9cbb4 | 57 | cs_adf=1; |
shreeshas95 | 13:7b27a8e9cbb4 | 58 | // wait_ms(2); |
shreeshas95 | 13:7b27a8e9cbb4 | 59 | |
shreeshas95 | 13:7b27a8e9cbb4 | 60 | cs_adf=0; |
shreeshas95 | 13:7b27a8e9cbb4 | 61 | spi.write(0x09); |
shreeshas95 | 13:7b27a8e9cbb4 | 62 | spi.write(0x37);// BUFFER SIZE 0xE0=224 Bytes 0x137 is adress of buffer size |
shreeshas95 | 13:7b27a8e9cbb4 | 63 | spi.write(0xE0); |
shreeshas95 | 13:7b27a8e9cbb4 | 64 | cs_adf=1; |
shreeshas95 | 13:7b27a8e9cbb4 | 65 | // wait_ms(2); |
shreeshas95 | 13:7b27a8e9cbb4 | 66 | |
shreeshas95 | 13:7b27a8e9cbb4 | 67 | cs_adf=0; |
shreeshas95 | 13:7b27a8e9cbb4 | 68 | spi.write(0x09); |
shreeshas95 | 13:7b27a8e9cbb4 | 69 | spi.write(0x36);//BB_Tx_Buffer Signal when Buffer is half filled |
shreeshas95 | 13:7b27a8e9cbb4 | 70 | spi.write(0x70);//0x70 = 112 >> When Half buffer interrupt is given |
shreeshas95 | 13:7b27a8e9cbb4 | 71 | cs_adf=1; |
shreeshas95 | 13:7b27a8e9cbb4 | 72 | // wait_ms(2); |
shreeshas95 | 13:7b27a8e9cbb4 | 73 | |
shreeshas95 | 13:7b27a8e9cbb4 | 74 | |
shreeshas95 | 13:7b27a8e9cbb4 | 75 | cs_adf=0; |
shreeshas95 | 13:7b27a8e9cbb4 | 76 | spi.write(0x09); |
shreeshas95 | 13:7b27a8e9cbb4 | 77 | spi.write(0x39);//BB_Tx_Buffer Signal when Buffer is half filled |
shreeshas95 | 13:7b27a8e9cbb4 | 78 | spi.write(0x10);//0x70 = 112 >> When Half buffer interrupt is given |
shreeshas95 | 13:7b27a8e9cbb4 | 79 | cs_adf=1; |
shreeshas95 | 13:7b27a8e9cbb4 | 80 | // wait_ms(2); |
shreeshas95 | 13:7b27a8e9cbb4 | 81 | SPI_mutex.unlock(); |
shreeshas95 | 13:7b27a8e9cbb4 | 82 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 83 | |
shreeshas95 | 13:7b27a8e9cbb4 | 84 | |
shreeshas95 | 13:7b27a8e9cbb4 | 85 | |
shreeshas95 | 13:7b27a8e9cbb4 | 86 | void write_data(void){ |
shreeshas95 | 13:7b27a8e9cbb4 | 87 | |
shreeshas95 | 13:7b27a8e9cbb4 | 88 | cs_adf=0; |
shreeshas95 | 13:7b27a8e9cbb4 | 89 | spi.write(0x0B);//IRQ_SOURCE_Random write //To read CMD = 2B 36 FF FF |
shreeshas95 | 13:7b27a8e9cbb4 | 90 | spi.write(0x36);//Address : 0x336 |
shreeshas95 | 13:7b27a8e9cbb4 | 91 | spi.write(0xFF);//Put Low |
shreeshas95 | 13:7b27a8e9cbb4 | 92 | cs_adf=1; |
shreeshas95 | 13:7b27a8e9cbb4 | 93 | |
shreeshas95 | 13:7b27a8e9cbb4 | 94 | cs_adf=0; |
shreeshas95 | 13:7b27a8e9cbb4 | 95 | static bool first_2_time = true; |
shreeshas95 | 13:7b27a8e9cbb4 | 96 | buffer_counter=0; |
shreeshas95 | 13:7b27a8e9cbb4 | 97 | |
shreeshas95 | 13:7b27a8e9cbb4 | 98 | if(first_2_time==false && last_buffer==false){ |
shreeshas95 | 13:7b27a8e9cbb4 | 99 | |
shreeshas95 | 13:7b27a8e9cbb4 | 100 | spi.write(0x18); |
shreeshas95 | 13:7b27a8e9cbb4 | 101 | if(buffer_half==1){ |
shreeshas95 | 13:7b27a8e9cbb4 | 102 | spi.write(0x20); |
shreeshas95 | 13:7b27a8e9cbb4 | 103 | buffer_half = 2; |
shreeshas95 | 13:7b27a8e9cbb4 | 104 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 105 | else if(buffer_half==2){ |
shreeshas95 | 13:7b27a8e9cbb4 | 106 | spi.write(0x90); |
shreeshas95 | 13:7b27a8e9cbb4 | 107 | buffer_half = 1; |
shreeshas95 | 13:7b27a8e9cbb4 | 108 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 109 | |
shreeshas95 | 13:7b27a8e9cbb4 | 110 | buffer_counter = 0; |
shreeshas95 | 13:7b27a8e9cbb4 | 111 | while(buffer_counter<112){ |
shreeshas95 | 13:7b27a8e9cbb4 | 112 | spi.write(buffer_112[buffer_counter]); |
shreeshas95 | 13:7b27a8e9cbb4 | 113 | buffer_counter++; |
shreeshas95 | 13:7b27a8e9cbb4 | 114 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 115 | |
shreeshas95 | 13:7b27a8e9cbb4 | 116 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 117 | |
shreeshas95 | 13:7b27a8e9cbb4 | 118 | if(first_2_time == true && last_buffer==false){ |
shreeshas95 | 13:7b27a8e9cbb4 | 119 | |
shreeshas95 | 13:7b27a8e9cbb4 | 120 | spi.write(0x18); |
shreeshas95 | 13:7b27a8e9cbb4 | 121 | if(buffer_half==1){ |
shreeshas95 | 13:7b27a8e9cbb4 | 122 | spi.write(0x20); |
shreeshas95 | 13:7b27a8e9cbb4 | 123 | buffer_half=2; |
shreeshas95 | 13:7b27a8e9cbb4 | 124 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 125 | else{ |
shreeshas95 | 13:7b27a8e9cbb4 | 126 | spi.write(0x90); |
shreeshas95 | 13:7b27a8e9cbb4 | 127 | buffer_half=1; |
shreeshas95 | 13:7b27a8e9cbb4 | 128 | first_2_time = false; |
shreeshas95 | 13:7b27a8e9cbb4 | 129 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 130 | |
shreeshas95 | 13:7b27a8e9cbb4 | 131 | while(buffer_counter<112){ |
shreeshas95 | 13:7b27a8e9cbb4 | 132 | spi.write(buffer_112[buffer_counter]); |
shreeshas95 | 13:7b27a8e9cbb4 | 133 | buffer_counter++; |
shreeshas95 | 13:7b27a8e9cbb4 | 134 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 135 | |
shreeshas95 | 13:7b27a8e9cbb4 | 136 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 137 | |
shreeshas95 | 13:7b27a8e9cbb4 | 138 | if(last_buffer){ |
shreeshas95 | 13:7b27a8e9cbb4 | 139 | cs_adf=0; |
shreeshas95 | 13:7b27a8e9cbb4 | 140 | spi.write(0x18); |
shreeshas95 | 13:7b27a8e9cbb4 | 141 | spi.write(0x20); |
shreeshas95 | 13:7b27a8e9cbb4 | 142 | |
shreeshas95 | 13:7b27a8e9cbb4 | 143 | while(buffer_counter<112){ |
shreeshas95 | 13:7b27a8e9cbb4 | 144 | spi.write(buffer_112[buffer_counter]); |
shreeshas95 | 13:7b27a8e9cbb4 | 145 | buffer_counter++; |
shreeshas95 | 13:7b27a8e9cbb4 | 146 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 147 | cs_adf=1; |
shreeshas95 | 13:7b27a8e9cbb4 | 148 | |
shreeshas95 | 13:7b27a8e9cbb4 | 149 | ticker.detach(); |
shreeshas95 | 13:7b27a8e9cbb4 | 150 | cs_adf=0; |
shreeshas95 | 13:7b27a8e9cbb4 | 151 | spi.write(0xB1); |
shreeshas95 | 13:7b27a8e9cbb4 | 152 | cs_adf=1; |
shreeshas95 | 13:7b27a8e9cbb4 | 153 | transmission_done=true; |
shreeshas95 | 13:7b27a8e9cbb4 | 154 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 155 | |
shreeshas95 | 13:7b27a8e9cbb4 | 156 | cs_adf=1; |
shreeshas95 | 13:7b27a8e9cbb4 | 157 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 158 | |
shreeshas95 | 13:7b27a8e9cbb4 | 159 | |
shreeshas95 | 13:7b27a8e9cbb4 | 160 | void check(){ |
shreeshas95 | 13:7b27a8e9cbb4 | 161 | |
shreeshas95 | 13:7b27a8e9cbb4 | 162 | if(IRQ){ |
shreeshas95 | 13:7b27a8e9cbb4 | 163 | VAR_SPACE::mng_tmtc_thread->signal_set(0x02); |
shreeshas95 | 13:7b27a8e9cbb4 | 164 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 165 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 166 | |
shreeshas95 | 13:7b27a8e9cbb4 | 167 | |
shreeshas95 | 13:7b27a8e9cbb4 | 168 | void send_data(void){ |
shreeshas95 | 13:7b27a8e9cbb4 | 169 | SPI_mutex.lock(); |
shreeshas95 | 13:7b27a8e9cbb4 | 170 | cs_adf=0; |
shreeshas95 | 13:7b27a8e9cbb4 | 171 | spi.write(0xBB); |
shreeshas95 | 13:7b27a8e9cbb4 | 172 | cs_adf=1; |
shreeshas95 | 13:7b27a8e9cbb4 | 173 | // wait_us(300); |
shreeshas95 | 13:7b27a8e9cbb4 | 174 | |
shreeshas95 | 13:7b27a8e9cbb4 | 175 | cs_adf=0; |
shreeshas95 | 13:7b27a8e9cbb4 | 176 | spi.write(0xFF); |
shreeshas95 | 13:7b27a8e9cbb4 | 177 | spi.write(0xFF); |
shreeshas95 | 13:7b27a8e9cbb4 | 178 | cs_adf=1; |
shreeshas95 | 13:7b27a8e9cbb4 | 179 | SPI_mutex.unlock(); |
shreeshas95 | 13:7b27a8e9cbb4 | 180 | // wait_ms(2); |
shreeshas95 | 13:7b27a8e9cbb4 | 181 | if(sent_tmfrom_SDcard){ |
shreeshas95 | 13:7b27a8e9cbb4 | 182 | send_tm_from_SD_card(); |
shreeshas95 | 13:7b27a8e9cbb4 | 183 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 184 | else{ |
shreeshas95 | 13:7b27a8e9cbb4 | 185 | snd_tm.transmit_data(buffer_112,&last_buffer); |
shreeshas95 | 13:7b27a8e9cbb4 | 186 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 187 | SPI_mutex.lock(); |
shreeshas95 | 13:7b27a8e9cbb4 | 188 | write_data(); |
shreeshas95 | 13:7b27a8e9cbb4 | 189 | SPI_mutex.unlock(); |
shreeshas95 | 13:7b27a8e9cbb4 | 190 | if(sent_tmfrom_SDcard) |
shreeshas95 | 13:7b27a8e9cbb4 | 191 | { |
shreeshas95 | 13:7b27a8e9cbb4 | 192 | send_tm_from_SD_card(); |
shreeshas95 | 13:7b27a8e9cbb4 | 193 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 194 | else |
shreeshas95 | 13:7b27a8e9cbb4 | 195 | { |
shreeshas95 | 13:7b27a8e9cbb4 | 196 | snd_tm.transmit_data(buffer_112,&last_buffer); |
shreeshas95 | 13:7b27a8e9cbb4 | 197 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 198 | SPI_mutex.lock(); |
shreeshas95 | 13:7b27a8e9cbb4 | 199 | write_data(); |
shreeshas95 | 13:7b27a8e9cbb4 | 200 | SPI_mutex.unlock(); |
shreeshas95 | 13:7b27a8e9cbb4 | 201 | if(sent_tmfrom_SDcard) |
shreeshas95 | 13:7b27a8e9cbb4 | 202 | { |
shreeshas95 | 13:7b27a8e9cbb4 | 203 | send_tm_from_SD_card(); |
shreeshas95 | 13:7b27a8e9cbb4 | 204 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 205 | else |
shreeshas95 | 13:7b27a8e9cbb4 | 206 | { |
shreeshas95 | 13:7b27a8e9cbb4 | 207 | snd_tm.transmit_data(buffer_112,&last_buffer); |
shreeshas95 | 13:7b27a8e9cbb4 | 208 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 209 | SPI_mutex.lock(); |
shreeshas95 | 13:7b27a8e9cbb4 | 210 | cs_adf=0; |
shreeshas95 | 13:7b27a8e9cbb4 | 211 | spi.write(0xB1); |
shreeshas95 | 13:7b27a8e9cbb4 | 212 | cs_adf=1; |
shreeshas95 | 13:7b27a8e9cbb4 | 213 | SPI_mutex.unlock(); |
shreeshas95 | 13:7b27a8e9cbb4 | 214 | wait_us(300); |
shreeshas95 | 13:7b27a8e9cbb4 | 215 | SPI_mutex.lock(); |
shreeshas95 | 13:7b27a8e9cbb4 | 216 | cs_adf=0; |
shreeshas95 | 13:7b27a8e9cbb4 | 217 | spi.write(0xFF); |
shreeshas95 | 13:7b27a8e9cbb4 | 218 | spi.write(0xFF); |
shreeshas95 | 13:7b27a8e9cbb4 | 219 | cs_adf=1; |
shreeshas95 | 13:7b27a8e9cbb4 | 220 | |
shreeshas95 | 13:7b27a8e9cbb4 | 221 | // wait_ms(2); |
shreeshas95 | 13:7b27a8e9cbb4 | 222 | |
shreeshas95 | 13:7b27a8e9cbb4 | 223 | cs_adf=0; |
shreeshas95 | 13:7b27a8e9cbb4 | 224 | spi.write(0xB5); |
shreeshas95 | 13:7b27a8e9cbb4 | 225 | cs_adf=1; |
shreeshas95 | 13:7b27a8e9cbb4 | 226 | // cout<<"B5 given"<<ENDL; |
shreeshas95 | 13:7b27a8e9cbb4 | 227 | SPI_mutex.unlock(); |
shreeshas95 | 13:7b27a8e9cbb4 | 228 | wait_us(300); |
shreeshas95 | 13:7b27a8e9cbb4 | 229 | // int b5=t.read_us(); |
shreeshas95 | 13:7b27a8e9cbb4 | 230 | SPI_mutex.lock(); |
shreeshas95 | 13:7b27a8e9cbb4 | 231 | cs_adf=0; |
shreeshas95 | 13:7b27a8e9cbb4 | 232 | spi.write(0xFF); |
shreeshas95 | 13:7b27a8e9cbb4 | 233 | spi.write(0xFF); |
shreeshas95 | 13:7b27a8e9cbb4 | 234 | cs_adf=1; |
shreeshas95 | 13:7b27a8e9cbb4 | 235 | SPI_mutex.unlock(); |
shreeshas95 | 13:7b27a8e9cbb4 | 236 | // wait_ms(2); |
shreeshas95 | 13:7b27a8e9cbb4 | 237 | ticker.attach_us(&check,32000); |
shreeshas95 | 13:7b27a8e9cbb4 | 238 | |
shreeshas95 | 13:7b27a8e9cbb4 | 239 | while(!transmission_done){ |
shreeshas95 | 13:7b27a8e9cbb4 | 240 | led2=!led2; |
shreeshas95 | 13:7b27a8e9cbb4 | 241 | Thread::signal_wait(0x2); |
shreeshas95 | 13:7b27a8e9cbb4 | 242 | |
shreeshas95 | 13:7b27a8e9cbb4 | 243 | SPI_mutex.lock(); |
shreeshas95 | 13:7b27a8e9cbb4 | 244 | write_data(); |
shreeshas95 | 13:7b27a8e9cbb4 | 245 | SPI_mutex.unlock(); |
shreeshas95 | 13:7b27a8e9cbb4 | 246 | if(sent_tmfrom_SDcard){ |
shreeshas95 | 13:7b27a8e9cbb4 | 247 | send_tm_from_SD_card(); |
shreeshas95 | 13:7b27a8e9cbb4 | 248 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 249 | else{ |
shreeshas95 | 13:7b27a8e9cbb4 | 250 | snd_tm.transmit_data(buffer_112,&last_buffer); |
shreeshas95 | 13:7b27a8e9cbb4 | 251 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 252 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 253 | |
shreeshas95 | 13:7b27a8e9cbb4 | 254 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 255 | |
shreeshas95 | 13:7b27a8e9cbb4 | 256 | |
shreeshas95 | 13:7b27a8e9cbb4 | 257 | |
shreeshas95 | 13:7b27a8e9cbb4 | 258 | void inline spi_SND_SDCard(uint64_t x,uint64_t y ){ |
shreeshas95 | 13:7b27a8e9cbb4 | 259 | start_block_num = x; |
shreeshas95 | 13:7b27a8e9cbb4 | 260 | end_block_num = y; |
shreeshas95 | 13:7b27a8e9cbb4 | 261 | sent_tmfrom_SDcard = true; |
shreeshas95 | 13:7b27a8e9cbb4 | 262 | spi.format(8,0); |
shreeshas95 | 13:7b27a8e9cbb4 | 263 | spi.frequency(1000000); |
shreeshas95 | 13:7b27a8e9cbb4 | 264 | |
shreeshas95 | 13:7b27a8e9cbb4 | 265 | bbram_write(); |
shreeshas95 | 13:7b27a8e9cbb4 | 266 | initiate(); |
shreeshas95 | 13:7b27a8e9cbb4 | 267 | send_data(); |
shreeshas95 | 13:7b27a8e9cbb4 | 268 | |
shreeshas95 | 13:7b27a8e9cbb4 | 269 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 270 | |
shreeshas95 | 13:7b27a8e9cbb4 | 271 | void read_TC(TC_list* TC_ptr){ |
shreeshas95 | 13:7b27a8e9cbb4 | 272 | unsigned char service_subtype = 0; |
shreeshas95 | 13:7b27a8e9cbb4 | 273 | uint64_t starting_add = 0, ending_add = 0; |
shreeshas95 | 13:7b27a8e9cbb4 | 274 | service_subtype = (TC_ptr->TC_string[2])&0x0f; |
shreeshas95 | 13:7b27a8e9cbb4 | 275 | starting_add = (TC_ptr->TC_string[5]) + ( (TC_ptr->TC_string[4])<<8 ) + ( (TC_ptr->TC_string[3]) <<16); |
shreeshas95 | 13:7b27a8e9cbb4 | 276 | ending_add = (TC_ptr->TC_string[8]) + ( (TC_ptr->TC_string[7])<<8 ) + ( (TC_ptr->TC_string[6]) <<16); |
shreeshas95 | 13:7b27a8e9cbb4 | 277 | spi_SND_SDCard(starting_add , ending_add); |
shreeshas95 | 13:7b27a8e9cbb4 | 278 | } |
shreeshas95 | 13:7b27a8e9cbb4 | 279 | |
shreeshas95 | 13:7b27a8e9cbb4 | 280 | |
shreeshas95 | 13:7b27a8e9cbb4 | 281 | void adf_not_SDcard(){ |
shreeshas95 | 13:7b27a8e9cbb4 | 282 | spi.format(8,0); |
shreeshas95 | 13:7b27a8e9cbb4 | 283 | spi.frequency(1000000); |
shreeshas95 | 13:7b27a8e9cbb4 | 284 | sent_tmfrom_SDcard = false; |
shreeshas95 | 13:7b27a8e9cbb4 | 285 | |
shreeshas95 | 13:7b27a8e9cbb4 | 286 | bbram_write(); |
shreeshas95 | 13:7b27a8e9cbb4 | 287 | initiate(); |
shreeshas95 | 13:7b27a8e9cbb4 | 288 | send_data(); |
shreeshas95 | 13:7b27a8e9cbb4 | 289 | |
shreeshas95 | 13:7b27a8e9cbb4 | 290 | } |