Rolling buffer mechanism for Tx mode of ADF7023..Without any comments

Dependencies:   mbed

Committer:
dheerajmpai23
Date:
Thu Jul 09 05:20:28 2015 +0000
Revision:
0:d53780574d21
Child:
1:45b03e6a9c06
ADF7023 Rolling Buffer Code without any comments

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dheerajmpai23 0:d53780574d21 1 #include "mbed.h"
dheerajmpai23 0:d53780574d21 2 #include <iostream>
dheerajmpai23 0:d53780574d21 3 #include <stdio.h>
dheerajmpai23 0:d53780574d21 4 using namespace std;
dheerajmpai23 0:d53780574d21 5 #include <bitset>
dheerajmpai23 0:d53780574d21 6 #define ENDL "\r" << endl;
dheerajmpai23 0:d53780574d21 7 #define START_ADDRESS 0x020;
dheerajmpai23 0:d53780574d21 8 #define PI 3.14
dheerajmpai23 0:d53780574d21 9 SPI adf(PTA16, PTA17, PTA15);
dheerajmpai23 0:d53780574d21 10 //MOSI, MISO, CLOCK
dheerajmpai23 0:d53780574d21 11 DigitalOut CS(D10);
dheerajmpai23 0:d53780574d21 12 //DigitalOut CS(PTD4);//D10==PTD4
dheerajmpai23 0:d53780574d21 13 Serial PC(USBTX, USBRX);
dheerajmpai23 0:d53780574d21 14 DigitalOut ledr(LED1);
dheerajmpai23 0:d53780574d21 15 DigitalOut led2(LED2);
dheerajmpai23 0:d53780574d21 16 InterruptIn IRQ(D8);
dheerajmpai23 0:d53780574d21 17 //InterruptIn IRQ(PTA13);//D8==PTA13
dheerajmpai23 0:d53780574d21 18 Ticker ticker;
dheerajmpai23 0:d53780574d21 19 //Timer t;
dheerajmpai23 0:d53780574d21 20 //Timer stop;
dheerajmpai23 0:d53780574d21 21 int x=IRQ;
dheerajmpai23 0:d53780574d21 22 int src=0;
dheerajmpai23 0:d53780574d21 23 int irqsrc = 0;
dheerajmpai23 0:d53780574d21 24 int j = 0;
dheerajmpai23 0:d53780574d21 25 int k = 0;
dheerajmpai23 0:d53780574d21 26 int irq1=0;
dheerajmpai23 0:d53780574d21 27 int r = 0;
dheerajmpai23 0:d53780574d21 28 unsigned char data[]={0x65,0xD3,0x06,0x08,0xBB,0xE7,0xCD,0x16,0x65,0xD3,0x06,0x08,0xBB,0xE7,0xCD,0x16,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x20,0xE5,0xEE,0x00,0x10,0x83,0x11,0x24,0x67,0xCE,0x05,0x50,0x01,0x45,0x9D,0x46,0x0D,0x6B,0xC1,0xF2,0xF3,0xE8,0xFE,0x52,0x0A,0x27,0x90,0x0A,0x3F,0x15,0xD1,0x68,0xD0,0x48,0x75,0x06,0x04,0xB7,0xE6,0xA0,0x82,0xF2,0x50,0x20,0x75,0x09,0x65,0x68,0x1A,0x9A,0xDD,0x1C,0x3F,0xC6,0xF5,0xD8,0xBD,0x96,0xB1,0xA0,0x92,0x29,0x44,0x78,0x60,0x0C,0x5D,0xCE,0xED,0x7A,0x85,0xF0,0x70,0x1C,0x7F,0x52,0x7B,0x14,0x43,0x4C,0x76,0xDD,0x41,0x86,0x59,0x6D,0x18,0x7C,0x63,0xF3,0x9F,0x74,0xB8,0x00,0x77,0xC0,0x18,0xDD,0xCE,0xA2,0xD1,0x2A,0xF3,0xFE,0x22,0xB5,0x0E,0x42,0xAF,0xB7,0x89,0x38,0x15,0xB0,0xCD,0xD6,0x27,0xEB,0x3F,0x5C,0x05,0xF7,0x26,0x5A,0x6A,0x4B,0x08,0x9E,0xAA,0x74,0xFF,0x30,0x0A,0x0A,0xBD,0x72,0xA2,0x44,0x20,0xC6,0x92,0x59,0xF3,0x80,0x55,0x00,0x51,0x64,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x20,0xE5,0xEE,0x00,0xD4,0x63,0x5A,0xF0,0x1F,0x1C,0xFA,0x3C,0xE5,0x22,0x89,0xE4,0x00,0xAF,0xC5,0x74,0x16,0xB4,0x12,0x1C,0x50,0x61,0x2D,0xF8,0x6A,0x20,0xBC,0x96,0x82,0x1D,0x42,0x5A,0xD6,0x86,0xA6,0xB4,0xD1,0xCF,0xF1,0xBC,0x5D,0xAF,0x65,0xAE,0x9A,0x24,0x8A,0x52,0xC7,0x98,0x03,0x14,0xDC,0xDB,0x5E,0xA0,0x5F,0x1C,0x07,0x1E,0x75,0x3E,0xC5,0x12,0xB4,0xDD,0xB7,0x50,0x18,0x76,0x5B,0x44,0x87,0xD8,0xFC,0xE4,0xF7,0x6E,0x00,0x1E,0xFC,0x06,0x37,0x70,0xEA,0x14,0x4A,0xBE,0xBF,0xE8,0xAD,0x42,0x64,0x0B,0xED,0xE2,0x13,0x85,0x6C,0x30,0xDD,0x69,0xFA,0xCC,0xF5,0xC1,0x7D,0xC8,0x65,0xBA,0x92,0xC0,0x89,0xCA,0x9D,0x3C,0xF3,0x02,0x82,0xAE,0x57,0x08,0x91,0x08,0x0C,0x44,0x96,0x7E,0xB8,0x15,0x40,0x14,0x16,0x75,0x18,0xD4,0xAF,0x07,0xC7,0x3C,0xA3,0xF9,0x48,0xA0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x20,0xE5,0xEE,0x00,0x9E,0x40,0x2B,0xF0,0x57,0x45,0xAD,0x04,0x21,0xD4,0x18,0x48,0xDF,0x9A,0x88,0x2C,0xC9,0x40,0x87,0x52,0xA5,0x95,0xA1,0xA8,0x6B,0x74,0x73,0xFC,0x1B,0xD7,0x6B,0xDA,0xDA,0xC6,0x89,0x22,0x25,0x11,0xE6,0x00,0x31,0x77,0x36,0xD6,0x6A,0x17,0xC7,0x02,0xF1,0xFD,0x4F,0xB0,0x51,0x0D,0x37,0x6E,0xF5,0x06,0x1D,0x96,0x34,0x61,0xF6,0x3C,0xCE,0x7D,0xDB,0x80,0x01,0xDF,0x01,0x8C,0x77,0x3A,0x85,0x10,0xAB,0xCF,0xFA,0x2A,0x54,0x39,0x02,0xFA,0x5E,0x24,0xE1,0x58,0xC3,0x37,0x5A,0x7C,0xAC,0xFD,0x70,0x5C,0xDC,0x99,0x6E,0xA6,0xAC,0x22,0x72,0xA6,0x53,0xFC,0xC0,0xA0,0x2A,0xF5,0xC2,0x24,0x10,0x83,0x11,0x24,0x67,0xCE,0x05,0x50,0x01,0x45,0x9D,0x46,0x0D,0x6B,0xC1,0xF2,0xF3,0xE8,0xFE,0x52,0x0A,0x27,0x90,0x0A,0x3F,0x15,0xD1,0x68,0xD0,0x48,0x75,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x20,0xE5,0xEE,0x00,0x04,0xB7,0xE6,0xA0,0x82,0xF2,0x50,0x20,0x75,0x09,0x65,0x68,0x1A,0x9A,0xDD,0x1C,0x3F,0xC6,0xF5,0xD8,0xBD,0x96,0xB1,0xA0,0x92,0x29,0x44,0x78,0x60,0x0C,0x5D,0xCE,0xED,0x7A,0x85,0xF0,0x70,0x1C,0x7F,0x52,0x7B,0x14,0x43,0x4C,0x76,0xDD,0x41,0x86,0x59,0x6D,0x18,0x7C,0x63,0xF3,0x9F,0x74,0xB8,0x00,0x77,0xC0,0x18,0xDD,0xCE,0xA2,0xD1,0x2A,0xF3,0xFE,0x22,0xB5,0x0E,0x42,0xAF,0xB7,0x89,0x38,0x15,0xB0,0xCD,0xD6,0x27,0xEB,0x3F,0x5C,0x05,0xF7,0x26,0x5A,0x6A,0x4B,0x08,0x9E,0xAA,0x74,0xFF,0x30,0x0A,0x0A,0xBD,0x72,0xA2,0x44,0x20,0xC6,0x92,0x59,0xF3,0x80,0x55,0x00,0x51,0x64,0xD4,0x63,0x5A,0xF0,0x1F,0x1C,0xFA,0x3C,0xE5,0x22,0x89,0xE4,0x00,0xAF,0xC5,0x74,0x16,0xB4,0x12,0x1C,0x50,0x61,0x2D,0xF8,0x6A,0x20,0xBC,0x96,0x82,0x1D,0x42,0x5A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x20,0xE5,0xEE,0x00,0xD6,0x86,0xA6,0xB4,0xD1,0xCF,0xF1,0xBC,0x5D,0xAF,0x65,0xAE,0x9A,0x24,0x8A,0x52,0xC7,0x98,0x03,0x14,0xDC,0xDB,0x5E,0xA0,0x5F,0x1C,0x07,0x1E,0x75,0x3E,0xC5,0x12,0xB4,0xDD,0xB7,0x50,0x18,0x76,0x5B,0x44,0x87,0xD8,0xFC,0xE4,0xF7,0x6E,0x00,0x1E,0xFC,0x06,0x37,0x70,0xEA,0x14,0x4A,0xBE,0xBF,0xE8,0xAD,0x42,0x64,0x0B,0xED,0xE2,0x13,0x85,0x6C,0x30,0xDD,0x69,0xFA,0xCC,0xF5,0xC1,0x7D,0xC8,0x65,0xBA,0x92,0xC0,0x89,0xCA,0x9D,0x3C,0xF3,0x02,0x82,0xAE,0x57,0x08,0x91,0x08,0x0C,0x44,0x96,0x7E,0xB8,0x15,0x40,0x14,0x16,0x75,0x18,0xD4,0xAF,0x07,0xC7,0x3C,0xA3,0xF9,0x48,0xA0,0x9E,0x40,0x2B,0xF0,0x57,0x45,0xAD,0x04,0x21,0xD4,0x18,0x48,0xDF,0x9A,0x88,0x2C,0xC9,0x40,0x87,0x52,0xA5,0x95,0xA1,0xA8,0x6B,0x74,0x73,0xFC,0x1B,0xD7,0x6B,0xDA,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x97,0x4C,0x18,0x22,0xEF,0x9F,0x34,0x59,0x97,0x4C,0x18,0x22,0xEF,0x9F,0x34,0x58,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x97,0x4C,0x18,0x22,0xEF,0x9F,0x34,0x59,0x97,0x4C,0x18,0x22,0xEF,0x9F,0x34,0x58,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
dheerajmpai23 0:d53780574d21 29 int a[100];
dheerajmpai23 0:d53780574d21 30 int b[100];
dheerajmpai23 0:d53780574d21 31 int c[100];
dheerajmpai23 0:d53780574d21 32
dheerajmpai23 0:d53780574d21 33 #define SPI_NOP 0xFF
dheerajmpai23 0:d53780574d21 34 /***********************************************************************************/
dheerajmpai23 0:d53780574d21 35 void bbram_write()
dheerajmpai23 0:d53780574d21 36 {
dheerajmpai23 0:d53780574d21 37 CS=0;
dheerajmpai23 0:d53780574d21 38 adf.write(0xB0);//PHY_OFF
dheerajmpai23 0:d53780574d21 39 wait_ms(2);
dheerajmpai23 0:d53780574d21 40 CS=1;
dheerajmpai23 0:d53780574d21 41
dheerajmpai23 0:d53780574d21 42 // Write bbram
dheerajmpai23 0:d53780574d21 43 CS=0;
dheerajmpai23 0:d53780574d21 44 adf.write(0x19);
dheerajmpai23 0:d53780574d21 45 adf.write(0x00);
dheerajmpai23 0:d53780574d21 46 adf.write(0x60);
dheerajmpai23 0:d53780574d21 47 adf.write(0x00);
dheerajmpai23 0:d53780574d21 48
dheerajmpai23 0:d53780574d21 49 adf.write(0x00);
dheerajmpai23 0:d53780574d21 50 adf.write(0x00);
dheerajmpai23 0:d53780574d21 51 adf.write(0x00);
dheerajmpai23 0:d53780574d21 52 adf.write(0x00);
dheerajmpai23 0:d53780574d21 53
dheerajmpai23 0:d53780574d21 54 adf.write(0x00);
dheerajmpai23 0:d53780574d21 55 adf.write(0x33);
dheerajmpai23 0:d53780574d21 56 adf.write(0x00);
dheerajmpai23 0:d53780574d21 57 adf.write(0xF4);//Frequency Register F9 = 435.802 MHz F4 = 435.800 MHz
dheerajmpai23 0:d53780574d21 58
dheerajmpai23 0:d53780574d21 59 adf.write(0xC2);
dheerajmpai23 0:d53780574d21 60 adf.write(0x10);
dheerajmpai23 0:d53780574d21 61 adf.write(0xC0);
dheerajmpai23 0:d53780574d21 62 adf.write(0x00);
dheerajmpai23 0:d53780574d21 63
dheerajmpai23 0:d53780574d21 64 adf.write(0x30);
dheerajmpai23 0:d53780574d21 65 adf.write(0x31);
dheerajmpai23 0:d53780574d21 66 adf.write(0x07);
dheerajmpai23 0:d53780574d21 67 adf.write(0x00);
dheerajmpai23 0:d53780574d21 68
dheerajmpai23 0:d53780574d21 69 adf.write(0x01);
dheerajmpai23 0:d53780574d21 70 adf.write(0x00);
dheerajmpai23 0:d53780574d21 71 adf.write(0x7F);
dheerajmpai23 0:d53780574d21 72 adf.write(0x00);
dheerajmpai23 0:d53780574d21 73
dheerajmpai23 0:d53780574d21 74 adf.write(0x0B);
dheerajmpai23 0:d53780574d21 75 adf.write(0x37);
dheerajmpai23 0:d53780574d21 76 adf.write(0x00);
dheerajmpai23 0:d53780574d21 77 adf.write(0x00);
dheerajmpai23 0:d53780574d21 78
dheerajmpai23 0:d53780574d21 79 adf.write(0x40);
dheerajmpai23 0:d53780574d21 80 adf.write(0x0C);
dheerajmpai23 0:d53780574d21 81 adf.write(0x00);
dheerajmpai23 0:d53780574d21 82 adf.write(0x05);
dheerajmpai23 0:d53780574d21 83
dheerajmpai23 0:d53780574d21 84 adf.write(0x00);
dheerajmpai23 0:d53780574d21 85 adf.write(0x00);
dheerajmpai23 0:d53780574d21 86 adf.write(0x18);
dheerajmpai23 0:d53780574d21 87 adf.write(0x12);
dheerajmpai23 0:d53780574d21 88
dheerajmpai23 0:d53780574d21 89 adf.write(0x34);
dheerajmpai23 0:d53780574d21 90 adf.write(0x56);
dheerajmpai23 0:d53780574d21 91 adf.write(0x10);
dheerajmpai23 0:d53780574d21 92 adf.write(0x10);
dheerajmpai23 0:d53780574d21 93
dheerajmpai23 0:d53780574d21 94 adf.write(0xC4); // Different
dheerajmpai23 0:d53780574d21 95 adf.write(0x14);
dheerajmpai23 0:d53780574d21 96 adf.write(0x00);
dheerajmpai23 0:d53780574d21 97 adf.write(0x00);
dheerajmpai23 0:d53780574d21 98
dheerajmpai23 0:d53780574d21 99 adf.write(0x00);
dheerajmpai23 0:d53780574d21 100 adf.write(0x00);
dheerajmpai23 0:d53780574d21 101 adf.write(0x00);
dheerajmpai23 0:d53780574d21 102 adf.write(0x00);
dheerajmpai23 0:d53780574d21 103
dheerajmpai23 0:d53780574d21 104 adf.write(0x00);
dheerajmpai23 0:d53780574d21 105 adf.write(0x00);
dheerajmpai23 0:d53780574d21 106 adf.write(0x00);
dheerajmpai23 0:d53780574d21 107 adf.write(0x00);
dheerajmpai23 0:d53780574d21 108
dheerajmpai23 0:d53780574d21 109 adf.write(0x00);
dheerajmpai23 0:d53780574d21 110 adf.write(0x00);
dheerajmpai23 0:d53780574d21 111 adf.write(0x00);
dheerajmpai23 0:d53780574d21 112 adf.write(0x00);
dheerajmpai23 0:d53780574d21 113
dheerajmpai23 0:d53780574d21 114 adf.write(0x00);
dheerajmpai23 0:d53780574d21 115 adf.write(0x00);
dheerajmpai23 0:d53780574d21 116 adf.write(0x00);
dheerajmpai23 0:d53780574d21 117 adf.write(0x00);
dheerajmpai23 0:d53780574d21 118
dheerajmpai23 0:d53780574d21 119 adf.write(0x04);
dheerajmpai23 0:d53780574d21 120 adf.write(0x00);
dheerajmpai23 0:d53780574d21 121 adf.write(0x00);
dheerajmpai23 0:d53780574d21 122 adf.write(0x00);
dheerajmpai23 0:d53780574d21 123
dheerajmpai23 0:d53780574d21 124 adf.write(0x00);
dheerajmpai23 0:d53780574d21 125 adf.write(0x00);
dheerajmpai23 0:d53780574d21 126 CS=1;
dheerajmpai23 0:d53780574d21 127 wait(1);
dheerajmpai23 0:d53780574d21 128
dheerajmpai23 0:d53780574d21 129 }
dheerajmpai23 0:d53780574d21 130
dheerajmpai23 0:d53780574d21 131
dheerajmpai23 0:d53780574d21 132 /******************************************************************************************/
dheerajmpai23 0:d53780574d21 133
dheerajmpai23 0:d53780574d21 134 void initiate(void){
dheerajmpai23 0:d53780574d21 135
dheerajmpai23 0:d53780574d21 136 CS=0;
dheerajmpai23 0:d53780574d21 137 adf.write(0xFF);
dheerajmpai23 0:d53780574d21 138 adf.write(0xFF);
dheerajmpai23 0:d53780574d21 139 CS=1;
dheerajmpai23 0:d53780574d21 140 wait_ms(2);
dheerajmpai23 0:d53780574d21 141
dheerajmpai23 0:d53780574d21 142 CS=0;
dheerajmpai23 0:d53780574d21 143 adf.write(0x08); // TRANSMIT_DATA LENGTH
dheerajmpai23 0:d53780574d21 144 adf.write(0x14);
dheerajmpai23 0:d53780574d21 145 adf.write(0xFF);
dheerajmpai23 0:d53780574d21 146 CS=1;
dheerajmpai23 0:d53780574d21 147 wait_ms(2);
dheerajmpai23 0:d53780574d21 148 CS=0;
dheerajmpai23 0:d53780574d21 149 adf.write(0x08); // TRANSMIT_DATA LENGTH
dheerajmpai23 0:d53780574d21 150 adf.write(0x15);
dheerajmpai23 0:d53780574d21 151 adf.write(0xFF);
dheerajmpai23 0:d53780574d21 152 CS=1;
dheerajmpai23 0:d53780574d21 153 wait_ms(2);
dheerajmpai23 0:d53780574d21 154
dheerajmpai23 0:d53780574d21 155 CS=0;
dheerajmpai23 0:d53780574d21 156 adf.write(0x09);
dheerajmpai23 0:d53780574d21 157 adf.write(0x24); // TX_BASE ADDRESS 0x20(starting Tx Byte)
dheerajmpai23 0:d53780574d21 158 adf.write(0x20);
dheerajmpai23 0:d53780574d21 159 CS=1;
dheerajmpai23 0:d53780574d21 160 wait_ms(2);
dheerajmpai23 0:d53780574d21 161
dheerajmpai23 0:d53780574d21 162 CS=0;
dheerajmpai23 0:d53780574d21 163 adf.write(0x09);
dheerajmpai23 0:d53780574d21 164 adf.write(0x37);// BUFFER SIZE 0xE0=224 Bytes 0x137 is adress of buffer size
dheerajmpai23 0:d53780574d21 165 adf.write(0xE0);
dheerajmpai23 0:d53780574d21 166 CS=1;
dheerajmpai23 0:d53780574d21 167 wait_ms(2);
dheerajmpai23 0:d53780574d21 168
dheerajmpai23 0:d53780574d21 169 CS=0;
dheerajmpai23 0:d53780574d21 170 adf.write(0x09);
dheerajmpai23 0:d53780574d21 171 adf.write(0x36);//BB_Tx_Buffer Signal when Buffer is half filled
dheerajmpai23 0:d53780574d21 172 adf.write(0x70);//0x70 = 112 >> When Half buffer interrupt is given
dheerajmpai23 0:d53780574d21 173 CS=1;
dheerajmpai23 0:d53780574d21 174 wait_ms(2);
dheerajmpai23 0:d53780574d21 175
dheerajmpai23 0:d53780574d21 176
dheerajmpai23 0:d53780574d21 177 CS=0;
dheerajmpai23 0:d53780574d21 178 adf.write(0x09);
dheerajmpai23 0:d53780574d21 179 adf.write(0x39);//BB_Tx_Buffer Signal when Buffer is half filled
dheerajmpai23 0:d53780574d21 180 adf.write(0x10);//0x70 = 112 >> When Half buffer interrupt is given
dheerajmpai23 0:d53780574d21 181 CS=1;
dheerajmpai23 0:d53780574d21 182 wait_ms(2);
dheerajmpai23 0:d53780574d21 183
dheerajmpai23 0:d53780574d21 184 }
dheerajmpai23 0:d53780574d21 185
dheerajmpai23 0:d53780574d21 186
dheerajmpai23 0:d53780574d21 187
dheerajmpai23 0:d53780574d21 188 /*int irq_src(void){
dheerajmpai23 0:d53780574d21 189
dheerajmpai23 0:d53780574d21 190 adf.write(0x2B);
dheerajmpai23 0:d53780574d21 191 adf.write(0x36);
dheerajmpai23 0:d53780574d21 192 adf.write(0xFF);
dheerajmpai23 0:d53780574d21 193 irqsrc = adf.write(0xFF);
dheerajmpai23 0:d53780574d21 194
dheerajmpai23 0:d53780574d21 195 irqsrc &= 0x60;
dheerajmpai23 0:d53780574d21 196 if (irqsrc == 0x20)
dheerajmpai23 0:d53780574d21 197 return 1;//Buffer is almost full
dheerajmpai23 0:d53780574d21 198 else if (irqsrc == 0x40)
dheerajmpai23 0:d53780574d21 199 return 2;// Buffer is Full
dheerajmpai23 0:d53780574d21 200 else
dheerajmpai23 0:d53780574d21 201 return 0;
dheerajmpai23 0:d53780574d21 202 }
dheerajmpai23 0:d53780574d21 203 */
dheerajmpai23 0:d53780574d21 204 int p=112;
dheerajmpai23 0:d53780574d21 205 int count = 0;
dheerajmpai23 0:d53780574d21 206 int intcount =0;
dheerajmpai23 0:d53780574d21 207
dheerajmpai23 0:d53780574d21 208 void write_data(void){
dheerajmpai23 0:d53780574d21 209 // t.reset();
dheerajmpai23 0:d53780574d21 210 // count++;
dheerajmpai23 0:d53780574d21 211 // cout<<"3"<<ENDL;
dheerajmpai23 0:d53780574d21 212 // ledr=!ledr;
dheerajmpai23 0:d53780574d21 213 // cout<<"irq detected"<<ENDL;
dheerajmpai23 0:d53780574d21 214 // src = irq_src();
dheerajmpai23 0:d53780574d21 215 p+=112;
dheerajmpai23 0:d53780574d21 216
dheerajmpai23 0:d53780574d21 217 //CS=0;
dheerajmpai23 0:d53780574d21 218 // adf.write(0x0B);//IRQ_SOURCE_Random write //To read CMD = 2B 36 FF FF
dheerajmpai23 0:d53780574d21 219 // adf.write(0x36);//Address : 0x336
dheerajmpai23 0:d53780574d21 220 // adf.write(0xFF);//Put Low
dheerajmpai23 0:d53780574d21 221 // CS=1;
dheerajmpai23 0:d53780574d21 222 // wait_us(80);
dheerajmpai23 0:d53780574d21 223 // CS=0;
dheerajmpai23 0:d53780574d21 224 // k=0;
dheerajmpai23 0:d53780574d21 225
dheerajmpai23 0:d53780574d21 226 if(!j){
dheerajmpai23 0:d53780574d21 227 adf.write(0x18);
dheerajmpai23 0:d53780574d21 228 adf.write(0x20);
dheerajmpai23 0:d53780574d21 229 while(k<=223){
dheerajmpai23 0:d53780574d21 230
dheerajmpai23 0:d53780574d21 231 adf.write(data[k]);
dheerajmpai23 0:d53780574d21 232 k++;
dheerajmpai23 0:d53780574d21 233 }
dheerajmpai23 0:d53780574d21 234
dheerajmpai23 0:d53780574d21 235 }
dheerajmpai23 0:d53780574d21 236
dheerajmpai23 0:d53780574d21 237 else if(k<sizeof(data)){
dheerajmpai23 0:d53780574d21 238 // if(src == 1){
dheerajmpai23 0:d53780574d21 239 if(j%2){ //src== Buffer Half Full src == 1
dheerajmpai23 0:d53780574d21 240 adf.write(0x18);
dheerajmpai23 0:d53780574d21 241 adf.write(0x20);
dheerajmpai23 0:d53780574d21 242 }
dheerajmpai23 0:d53780574d21 243
dheerajmpai23 0:d53780574d21 244 // else if(src==2){
dheerajmpai23 0:d53780574d21 245 else{ //src== Buffer is Full src==2
dheerajmpai23 0:d53780574d21 246 adf.write(0x18);
dheerajmpai23 0:d53780574d21 247 adf.write(0x90);
dheerajmpai23 0:d53780574d21 248 }
dheerajmpai23 0:d53780574d21 249
dheerajmpai23 0:d53780574d21 250
dheerajmpai23 0:d53780574d21 251 while(k<p){
dheerajmpai23 0:d53780574d21 252 adf.write(data[k]);
dheerajmpai23 0:d53780574d21 253 k++;
dheerajmpai23 0:d53780574d21 254
dheerajmpai23 0:d53780574d21 255 }
dheerajmpai23 0:d53780574d21 256 // if((k)>=sizeof(data))
dheerajmpai23 0:d53780574d21 257 // {
dheerajmpai23 0:d53780574d21 258 // ticker.detach();//Stop interrupt detection
dheerajmpai23 0:d53780574d21 259 // cout<<src<<ENDL;
dheerajmpai23 0:d53780574d21 260 // }
dheerajmpai23 0:d53780574d21 261
dheerajmpai23 0:d53780574d21 262
dheerajmpai23 0:d53780574d21 263 }
dheerajmpai23 0:d53780574d21 264
dheerajmpai23 0:d53780574d21 265 else if(k>=(sizeof(data)) ){
dheerajmpai23 0:d53780574d21 266 k=0;
dheerajmpai23 0:d53780574d21 267 j=1;
dheerajmpai23 0:d53780574d21 268 p=0;
dheerajmpai23 0:d53780574d21 269 // cout<<count<<" "<<sizeof(data)/112<<ENDL;
dheerajmpai23 0:d53780574d21 270 }
dheerajmpai23 0:d53780574d21 271
dheerajmpai23 0:d53780574d21 272
dheerajmpai23 0:d53780574d21 273 CS=0;
dheerajmpai23 0:d53780574d21 274 adf.write(0x0B);//IRQ_SOURCE_Random write //To read CMD = 2B 36 FF FF
dheerajmpai23 0:d53780574d21 275 adf.write(0x36);//Address : 0x336
dheerajmpai23 0:d53780574d21 276 adf.write(0xFF);//Put Low
dheerajmpai23 0:d53780574d21 277 CS=1;
dheerajmpai23 0:d53780574d21 278 wait_us(80);
dheerajmpai23 0:d53780574d21 279 CS=0;
dheerajmpai23 0:d53780574d21 280
dheerajmpai23 0:d53780574d21 281 // a[r]=t.read_us();
dheerajmpai23 0:d53780574d21 282 j++;
dheerajmpai23 0:d53780574d21 283 // r++;
dheerajmpai23 0:d53780574d21 284 CS=1;
dheerajmpai23 0:d53780574d21 285 wait_us(1);
dheerajmpai23 0:d53780574d21 286 }
dheerajmpai23 0:d53780574d21 287
dheerajmpai23 0:d53780574d21 288 void Interrupt(){
dheerajmpai23 0:d53780574d21 289 x = IRQ;
dheerajmpai23 0:d53780574d21 290 // intcount++;
dheerajmpai23 0:d53780574d21 291 if(x)
dheerajmpai23 0:d53780574d21 292 {
dheerajmpai23 0:d53780574d21 293 write_data();
dheerajmpai23 0:d53780574d21 294 }
dheerajmpai23 0:d53780574d21 295 }
dheerajmpai23 0:d53780574d21 296
dheerajmpai23 0:d53780574d21 297
dheerajmpai23 0:d53780574d21 298
dheerajmpai23 0:d53780574d21 299
dheerajmpai23 0:d53780574d21 300 void send_data(void){
dheerajmpai23 0:d53780574d21 301
dheerajmpai23 0:d53780574d21 302 CS=0;
dheerajmpai23 0:d53780574d21 303 adf.write(0xBB);
dheerajmpai23 0:d53780574d21 304 CS=1;
dheerajmpai23 0:d53780574d21 305 wait_ms(2);
dheerajmpai23 0:d53780574d21 306
dheerajmpai23 0:d53780574d21 307 CS=0;
dheerajmpai23 0:d53780574d21 308 adf.write(0xFF);
dheerajmpai23 0:d53780574d21 309 adf.write(0xFF);
dheerajmpai23 0:d53780574d21 310 CS=1;
dheerajmpai23 0:d53780574d21 311 wait_ms(2);
dheerajmpai23 0:d53780574d21 312
dheerajmpai23 0:d53780574d21 313 write_data();
dheerajmpai23 0:d53780574d21 314
dheerajmpai23 0:d53780574d21 315 CS=0;
dheerajmpai23 0:d53780574d21 316 adf.write(0xB1);
dheerajmpai23 0:d53780574d21 317 CS=1;
dheerajmpai23 0:d53780574d21 318 wait_ms(2);
dheerajmpai23 0:d53780574d21 319
dheerajmpai23 0:d53780574d21 320 CS=0;
dheerajmpai23 0:d53780574d21 321 adf.write(0xFF);
dheerajmpai23 0:d53780574d21 322 adf.write(0xFF);
dheerajmpai23 0:d53780574d21 323 CS=1;
dheerajmpai23 0:d53780574d21 324 wait_ms(2);
dheerajmpai23 0:d53780574d21 325
dheerajmpai23 0:d53780574d21 326 CS=0;
dheerajmpai23 0:d53780574d21 327 adf.write(0xB5);
dheerajmpai23 0:d53780574d21 328 CS=1;
dheerajmpai23 0:d53780574d21 329 wait_ms(2);
dheerajmpai23 0:d53780574d21 330
dheerajmpai23 0:d53780574d21 331 CS=0;
dheerajmpai23 0:d53780574d21 332 adf.write(0xFF);
dheerajmpai23 0:d53780574d21 333 adf.write(0xFF);
dheerajmpai23 0:d53780574d21 334 CS=1;
dheerajmpai23 0:d53780574d21 335 wait_ms(2);
dheerajmpai23 0:d53780574d21 336 }
dheerajmpai23 0:d53780574d21 337
dheerajmpai23 0:d53780574d21 338
dheerajmpai23 0:d53780574d21 339 int main()
dheerajmpai23 0:d53780574d21 340 {
dheerajmpai23 0:d53780574d21 341 adf.format(8,0);
dheerajmpai23 0:d53780574d21 342 adf.frequency(1000000);
dheerajmpai23 0:d53780574d21 343 bbram_write();
dheerajmpai23 0:d53780574d21 344 initiate();
dheerajmpai23 0:d53780574d21 345 send_data();
dheerajmpai23 0:d53780574d21 346 cout<<"Work"<<ENDL;
dheerajmpai23 0:d53780574d21 347 CS=0;
dheerajmpai23 0:d53780574d21 348 adf.write(0x0B);//IRQ_SOURCE_Random write //To read CMD = 2B 36 FF FF
dheerajmpai23 0:d53780574d21 349 adf.write(0x36);//Address : 0x336
dheerajmpai23 0:d53780574d21 350 adf.write(0xFF);//Put Low Clearing the MCR Value of the Source Register
dheerajmpai23 0:d53780574d21 351 CS=1;
dheerajmpai23 0:d53780574d21 352
dheerajmpai23 0:d53780574d21 353 // ticker.attach_us(&Interrupt,2000);
dheerajmpai23 0:d53780574d21 354 while(1)
dheerajmpai23 0:d53780574d21 355 {
dheerajmpai23 0:d53780574d21 356 // ledr=!ledr;
dheerajmpai23 0:d53780574d21 357 Interrupt();
dheerajmpai23 0:d53780574d21 358 }
dheerajmpai23 0:d53780574d21 359
dheerajmpai23 0:d53780574d21 360 }