Commit e41d5220b5a139824483e540c0dbaf6473260c43
1 parent
6ebbf4da4d
Exists in
master
ad9915.c : nettoyage des commentaires et du superflu(initialisation a 0 etc
Showing 1 changed file with 23 additions and 266 deletions Side-by-side Diff
src/ad9915.c
| ... | ... | @@ -9,17 +9,13 @@ |
| 9 | 9 | //fonction reset |
| 10 | 10 | void sendReset(int f_dds) |
| 11 | 11 | { |
| 12 | - char reset='2'; | |
| 13 | - write(f_dds,&reset,sizeof(reset)); //reset | |
| 14 | - sleep(0.1); | |
| 12 | + write(f_dds,"2",1); | |
| 15 | 13 | } |
| 16 | 14 | |
| 17 | 15 | //fonction ioupdate |
| 18 | 16 | void sendIOUpdate(int f_dds) |
| 19 | 17 | { |
| 20 | - char update='1'; | |
| 21 | - write(f_dds,&update,sizeof(update)); //reset | |
| 22 | - sleep(0.1); | |
| 18 | + write(f_dds,"1",1); | |
| 23 | 19 | } |
| 24 | 20 | |
| 25 | 21 | //fonction write register |
| ... | ... | @@ -93,7 +89,6 @@ |
| 93 | 89 | void modulusSetup(int fd, int f_dds) |
| 94 | 90 | { |
| 95 | 91 | writeRegister(fd,0x00,0x00, 0x01, 0x01, 0x0a); //OSK enable //0x08 |
| 96 | - //writeRegister(fd,0x00,0x00, 0x01, 0x01, 0x08); //OSK enable de base | |
| 97 | 92 | sendIOUpdate (f_dds); |
| 98 | 93 | writeRegister(fd,0x01,0x00, 0x89, 0x09, 0x00); //enable program modulus and digital ramp |
| 99 | 94 | sendIOUpdate (f_dds); |
| 100 | 95 | |
| 101 | 96 | |
| 102 | 97 | |
| 103 | 98 | |
| 104 | 99 | |
| ... | ... | @@ -105,36 +100,24 @@ |
| 105 | 100 | sendIOUpdate (f_dds); |
| 106 | 101 | writeRegister(fd,0x01,0x00, 0x89, 0x09, 0x00); //enable program modulus and digital ramp |
| 107 | 102 | sendIOUpdate (f_dds); |
| 108 | - writeRegister(fd,0x04,0x19, 0x99, 0x99, 0x99); //ftw | |
| 103 | + writeRegister(fd,0x04,0x19, 0x99, 0x99, 0x99); //ftw | |
| 109 | 104 | sendIOUpdate (f_dds); |
| 110 | - writeRegister(fd,0x05,0xC0, 0x00, 0x00, 0x00); //A | |
| 105 | + writeRegister(fd,0x05,0xC0, 0x00, 0x00, 0x00); //A | |
| 111 | 106 | sendIOUpdate (f_dds); |
| 112 | - writeRegister(fd,0x06,0x00, 0x00, 0x00, 0x05); //B | |
| 107 | + writeRegister(fd,0x06,0x00, 0x00, 0x00, 0x05); //B | |
| 113 | 108 | sendIOUpdate (f_dds); |
| 114 | - //writeRegister(fd,0x0c, 0x0F, 0xFF, 0x00, 0x00); // amp (12b) ph(16) | |
| 115 | - writeRegister(fd,0x0c, (uint8_t)((ampWord>>8) & 0x0F), (uint8_t)(ampWord & 0xFF), (uint8_t)((phaseWord>>8) & 0xFF), (uint8_t)(phaseWord & 0xFF)); // amp (12b) ph(16) | |
| 109 | + writeRegister(fd,0x0c, (uint8_t)((ampWord>>8) & 0x0F), (uint8_t)(ampWord & 0xFF), (uint8_t)((phaseWord>>8) & 0xFF), (uint8_t)(phaseWord & 0xFF)); // amp (12b) ph(16) | |
| 116 | 110 | sendIOUpdate (f_dds); |
| 117 | 111 | } |
| 118 | 112 | |
| 119 | 113 | void setFreqMM(int fd, int f_dds, unsigned int ftw, unsigned int A, unsigned int B) |
| 120 | 114 | { |
| 121 | - //uint16_t phaseWord = 0x7400; | |
| 122 | - //uint16_t ampWord = (uint16_t)strtol(argv[4],NULL,0) & 0x0FFF ; //masque en 2 | |
| 123 | - //uint16_t ampWord = 0x00000FFF; | |
| 124 | - //uint32_t phaseAmpWord = phaseWord | ampWord<<16; | |
| 125 | - | |
| 126 | - //writeRegister(fd,0x00,0x00, 0x01, 0x01, 0x08); //OSK enable | |
| 127 | - //sendIOUpdate(f_dds); | |
| 128 | - //writeRegister(fd,0x01,0x00, 0x89, 0x09, 0x00); //enable program modulus and digital ramp | |
| 129 | - //sendIOUpdate(f_dds); | |
| 130 | 115 | writeRegister(fd,0x04,ftw>>24&0xFF, ftw>>16&0xFF, ftw>>8&0xFF, ftw&0xFF); //ftw |
| 131 | 116 | sendIOUpdate(f_dds); |
| 132 | 117 | writeRegister(fd,0x05,A>>24&0xFF,A>>16&0xFF, A>>8&0xFF, A&0xFF); //A |
| 133 | 118 | sendIOUpdate(f_dds); |
| 134 | 119 | writeRegister(fd,0x06,B>>24&0xFF,B>>16&0xFF, B>>8&0xFF, B&0xFF); //B |
| 135 | 120 | sendIOUpdate(f_dds); |
| 136 | - // writeRegister(fd,0x0c, phaseAmpWord>>24&0xFF, phaseAmpWord>>16&0xFF,phaseAmpWord>>8&0xFF,phaseAmpWord&0xFF); // amp (12b) ph(16) | |
| 137 | - //sendIOUpdate(f_dds); | |
| 138 | 121 | } |
| 139 | 122 | |
| 140 | 123 | void setAmpPhaseWord(int fd, int f_dds,unsigned int phaseAmpWord) |
| ... | ... | @@ -143,20 +126,6 @@ |
| 143 | 126 | sendIOUpdate(f_dds); |
| 144 | 127 | } |
| 145 | 128 | |
| 146 | -/* | |
| 147 | -void getAmpPhaseWord(int fd) | |
| 148 | -{ | |
| 149 | - // unsigned char rx[5]={0}; | |
| 150 | - unsigned char* pt; | |
| 151 | - readRegister(fd,0x0c,rx); // amp (12b) ph(16) | |
| 152 | - rx[0]=*pt; | |
| 153 | - rx[1]=*(pt+1); | |
| 154 | - rx[2]=*(pt+2); | |
| 155 | - rx[3]=*(pt+3); | |
| 156 | - rx[4]=*(pt+4); | |
| 157 | - printf("%c %c %c %c %c", rx[0], rx[1], rx[2], rx[3], rx[4]); | |
| 158 | -} | |
| 159 | -*/ | |
| 160 | 129 | void checkSize(void) |
| 161 | 130 | { |
| 162 | 131 | printf("int : %d\n",sizeof(unsigned int)); |
| 163 | 132 | |
| 164 | 133 | |
| 165 | 134 | |
| ... | ... | @@ -207,30 +176,26 @@ |
| 207 | 176 | |
| 208 | 177 | void sendCtrlUp(int fp) |
| 209 | 178 | { |
| 210 | - char DRCTLOn='0';//pente positive | |
| 211 | - write(fp,&DRCTLOn,sizeof(DRCTLOn)); // | |
| 212 | - sleep(0.1); | |
| 179 | + //pente positive | |
| 180 | + write(fp,"0",1); | |
| 213 | 181 | } |
| 214 | 182 | |
| 215 | 183 | void sendCtrlDown(int fp) |
| 216 | 184 | { |
| 217 | - char DRCTLOn='2';//pente negative | |
| 218 | - write(fp,&DRCTLOn,sizeof(DRCTLOn)); //reset | |
| 219 | - sleep(0.1); | |
| 185 | + //pente negative | |
| 186 | + write(fp,"2",1); | |
| 220 | 187 | } |
| 221 | 188 | |
| 222 | 189 | void sendHold(int fp) |
| 223 | 190 | { |
| 224 | - char DRHOLDOn ='1';//rampe bloquée | |
| 225 | - write(fp,&DRHOLDOn,sizeof(DRHOLDOn)); //reset | |
| 226 | - sleep(0.1); | |
| 191 | + //rampe bloquee | |
| 192 | + write(fp,"1",1); | |
| 227 | 193 | } |
| 228 | 194 | |
| 229 | 195 | void sendUnhold(int fp) |
| 230 | 196 | { |
| 231 | - char DRHOLDOn ='3';//rampe debloquée | |
| 232 | - write(fp,&DRHOLDOn,sizeof(DRHOLDOn)); //reset | |
| 233 | - sleep(0.1); | |
| 197 | + //rampe debloquee | |
| 198 | + write(fp,"3",1); //reset | |
| 234 | 199 | } |
| 235 | 200 | |
| 236 | 201 | |
| 237 | 202 | |
| ... | ... | @@ -254,17 +219,7 @@ |
| 254 | 219 | sendIOUpdate(f_dds); |
| 255 | 220 | readRegisterIni(fd,0x00); |
| 256 | 221 | |
| 257 | - //1- Donner une frequence f_dds de 1.1e7 Hz sachant que f_clk=1e9 Hz; | |
| 258 | - // => Le mot a donner est (p.19) : FTW=(f_dds/f_clk)*2³² | |
| 259 | - // FTW = 42949672.96 = 42 949 673. = 0x028f5c29 | |
| 260 | - // 1.1e7 =0x02d0e560 | |
| 261 | 222 | |
| 262 | -// 2d0e560 | |
| 263 | - | |
| 264 | - //Calibrate_DAC (fd,f_dds); | |
| 265 | - | |
| 266 | - | |
| 267 | - | |
| 268 | 223 | writeRegister(fd,0x0b,0x02,0xd0,0xe5,0x60);//mot de frequence |
| 269 | 224 | sendIOUpdate(f_dds); |
| 270 | 225 | writeRegister(fd,0x0c,0x0F,0xFF,0x00,0x00); //mot de amp et de phase : amp max, phase nulle |
| 271 | 226 | |
| ... | ... | @@ -276,71 +231,10 @@ |
| 276 | 231 | printf("Lecture registre de amp et phase: 0x0c\n"); |
| 277 | 232 | readRegisterIni(fd,0x0c); |
| 278 | 233 | |
| 279 | - Calibrate_DAC (fd,f_dds); | |
| 234 | + calibrateDAC (fd,f_dds); | |
| 280 | 235 | printf("\n\n ----------------------- \n\n"); |
| 281 | 236 | |
| 282 | 237 | |
| 283 | -/* | |
| 284 | - //2- Taille des dt | |
| 285 | - | |
| 286 | - writeRegister(fd,0x08,0xFF,0xFF,0xFF,0xFF); //+dt max, -dt max (+dt = -dt) | |
| 287 | - sendIOUpdate(f_dds); | |
| 288 | - | |
| 289 | - printf("Les mots de dt sont envoyes\n"); | |
| 290 | - printf("Lecture dans le registre 0x08 : taille dt\n"); | |
| 291 | - readRegisterIni (fd,0x08); | |
| 292 | - | |
| 293 | - | |
| 294 | - | |
| 295 | - | |
| 296 | - printf("\n\n ----------------------- \n\n"); | |
| 297 | - | |
| 298 | - | |
| 299 | - //3- STEP SIZE :dphi | |
| 300 | - | |
| 301 | - // en theorie dphi =2.25e-28 degrees | |
| 302 | - writeRegister(fd,0x06,0x00,0x00,0x00,0x01); | |
| 303 | - sendIOUpdate(f_dds); | |
| 304 | - | |
| 305 | - writeRegister(fd,0x07,0x00,0x00,0x00,0x01); | |
| 306 | - sendIOUpdate(f_dds); | |
| 307 | - | |
| 308 | - //printf("\n\n ----------------------- \n\n"); | |
| 309 | - printf("Les mots de dphi sont envoyes\n"); | |
| 310 | - printf("Lecture dans les registres 0x06 et 0x07 : taille dt\n"); | |
| 311 | - readRegisterIni (fd,0x06); | |
| 312 | - readRegisterIni (fd,0x07); | |
| 313 | - | |
| 314 | - printf("\n\n ----------------------- \n\n"); | |
| 315 | - //4- Ecrire les extremums de la rampe | |
| 316 | - | |
| 317 | - writeRegister(fd,0x04,0x00,0x00,0x00,0x01);//0 rad | |
| 318 | - sendIOUpdate(f_dds); | |
| 319 | - writeRegister(fd,0x05,0xFF,0xFF,0xFF,0xFF);//2*pi rad | |
| 320 | - sendIOUpdate(f_dds); | |
| 321 | - | |
| 322 | - printf("Les mots des frontieres sont envoyes\n"); | |
| 323 | - printf("Lecture dans les registres 0x04 et 0x05 : taille dt\n"); | |
| 324 | - readRegisterIni (fd,0x04); | |
| 325 | - readRegisterIni (fd,0x05); | |
| 326 | - | |
| 327 | - | |
| 328 | - //3-Rampe de pente positive ou négative | |
| 329 | -// Send_CTRL_UP(fp);//rampe up | |
| 330 | - | |
| 331 | - | |
| 332 | - //4-ecriture dans le registre 0x01 | |
| 333 | - writeRegister(fd,0x01,0x00, 0xa8, 0x09, 0x00); // enable amp ramp | |
| 334 | - sendIOUpdate(f_dds); | |
| 335 | - | |
| 336 | - printf("Lecture dans le registre 0x01 : \n"); | |
| 337 | - readRegisterIni (fd,0x01); | |
| 338 | -// printf("Les mots de dt sont envoyes\n"); | |
| 339 | - printf("Lecture dans le registre 0x08 : taille dt\n"); | |
| 340 | - readRegisterIni (fd,0x08); | |
| 341 | - | |
| 342 | - | |
| 343 | -*/ | |
| 344 | 238 | return EXIT_SUCCESS; |
| 345 | 239 | } |
| 346 | 240 | |
| 347 | 241 | |
| 348 | 242 | |
| ... | ... | @@ -367,15 +261,15 @@ |
| 367 | 261 | |
| 368 | 262 | int putPhaseWord(int fd, int f_dds, double phase) |
| 369 | 263 | { |
| 370 | - uint16_t PhaseWord = 0x0000; | |
| 371 | - uint16_t AmpWord = 0x0000; | |
| 264 | + //uint16_t PhaseWord = 0x0000; | |
| 265 | + //uint16_t AmpWord = 0x0000; | |
| 372 | 266 | uint32_t ReadPhaseAmpWord=0x00000000; |
| 373 | 267 | |
| 374 | - PhaseWord = rint(phase*(pow(2.0,16.0)-1)/360); | |
| 268 | + uint16_t PhaseWord = rint(phase*(pow(2.0,16.0)-1)/360); | |
| 375 | 269 | |
| 376 | 270 | readRegister(fd,0x0c,&ReadPhaseAmpWord); |
| 377 | 271 | |
| 378 | - AmpWord = ReadPhaseAmpWord>>16&0xFFFF; | |
| 272 | + uint16_t AmpWord = ReadPhaseAmpWord>>16&0xFFFF; | |
| 379 | 273 | |
| 380 | 274 | writeRegister(fd,0x0c,AmpWord>>8&0xFF,AmpWord&0xFF,PhaseWord>>8&0xFF,PhaseWord&0xFF); |
| 381 | 275 | sendIOUpdate(f_dds); |
| ... | ... | @@ -386,8 +280,8 @@ |
| 386 | 280 | int putFrequencyWord(int fd, int f_dds, double fclk,double fout)//Attention uniquement valable pour fclk = 1 GHz |
| 387 | 281 | { |
| 388 | 282 | |
| 389 | - uint32_t FTWR = 0x00000000; | |
| 390 | - FTWR = rint((fout/fclk)*pow(2.0,32.0)); | |
| 283 | + //uint32_t FTWR = 0x00000000; | |
| 284 | + uint32_t FTWR = rint((fout/fclk)*pow(2.0,32.0)); | |
| 391 | 285 | writeRegister(fd,0x0b,FTWR>>24&0xFF,FTWR>>16&0xFF,FTWR>>8&0xFF,FTWR&0xFF);//mot de frequence |
| 392 | 286 | sendIOUpdate(f_dds); |
| 393 | 287 | |
| 394 | 288 | |
| 395 | 289 | |
| ... | ... | @@ -398,17 +292,14 @@ |
| 398 | 292 | int putFrequencyAmpPhaseWord(int fd, int f_dds, double fout, double fclk,double amp, double phase)//n'existe pas dans le mode profile enable |
| 399 | 293 | { |
| 400 | 294 | |
| 401 | - uint32_t FTWR = 0x00000000; | |
| 295 | + //uint32_t FTWR = 0x00000000; | |
| 402 | 296 | |
| 403 | - FTWR = rint((fout/fclk)*pow(2.0,32.0)); | |
| 297 | + uint32_t FTWR = rint((fout/fclk)*pow(2.0,32.0)); | |
| 404 | 298 | |
| 405 | 299 | writeRegister(fd,0x0b,FTWR>>24&0xFF,FTWR>>16&0xFF,FTWR>>8&0xFF,FTWR&0xFF);//mot de frequence |
| 406 | 300 | |
| 407 | 301 | sendIOUpdate(f_dds); |
| 408 | 302 | |
| 409 | -// writeRegister(fd,0x0c,0x0F,0xFF,0x00,0x00); //mot de amp et de phase : amp max, phase nulle | |
| 410 | -// sendIOUpdate(f_dds); | |
| 411 | - | |
| 412 | 303 | putPhaseWord(fd,f_dds,phase); |
| 413 | 304 | putAmpWord(fd,f_dds,amp); |
| 414 | 305 | |
| 415 | 306 | |
| ... | ... | @@ -725,13 +616,11 @@ |
| 725 | 616 | if(DeltaAmp<=enouthUP) |
| 726 | 617 | { |
| 727 | 618 | printf("The amplitude difference should be > %d\n, decrease Number Points for positive slope",borneUP); |
| 728 | - //return -1; | |
| 729 | 619 | } |
| 730 | 620 | |
| 731 | 621 | if(DeltaAmp<=enouthDOWN) |
| 732 | 622 | { |
| 733 | 623 | printf("The amplitude difference should be > %d\n, decrease Number Points for negative slope",borneDown); |
| 734 | - //return -1; | |
| 735 | 624 | } |
| 736 | 625 | |
| 737 | 626 | |
| ... | ... | @@ -960,32 +849,6 @@ |
| 960 | 849 | } |
| 961 | 850 | |
| 962 | 851 | |
| 963 | - | |
| 964 | - //check if DeltaAmp is enouth | |
| 965 | -/* | |
| 966 | - double enouthUP=0.5*NumberPointsUp*100/4095; | |
| 967 | - double enouthDOWN=0.5*NumberPointsDown*100/4095; | |
| 968 | - | |
| 969 | - int borneUP = rint(enouthUP); | |
| 970 | - int borneDown = rint(enouthDOWN); | |
| 971 | - | |
| 972 | - if(DeltaAmp<=enouthUP) | |
| 973 | - { | |
| 974 | - printf("The amplitude difference should be > %d\n, decrease Number Points for positive slope",borneUP); | |
| 975 | - //return -1; | |
| 976 | - } | |
| 977 | - | |
| 978 | - if(DeltaAmp<=enouthDOWN) | |
| 979 | - { | |
| 980 | - printf("The amplitude difference should be > %d\n, decrease Number Points for negative slope",borneDown); | |
| 981 | - //return -1; | |
| 982 | - } | |
| 983 | - | |
| 984 | -*/ | |
| 985 | - | |
| 986 | - //4 - Put word in register | |
| 987 | - | |
| 988 | - | |
| 989 | 852 | //4.1 Limit register |
| 990 | 853 | uint32_t WordPhimin = rint(PhiMin*65535/360); |
| 991 | 854 | uint32_t WordPhimax= rint(PhiMax*65535/360); |
| 992 | 855 | |
| 993 | 856 | |
| ... | ... | @@ -1003,23 +866,13 @@ |
| 1003 | 866 | |
| 1004 | 867 | //4.2 dphiUP et dphiDown |
| 1005 | 868 | |
| 1006 | -// uint32_t Word_dphi_up = rint(dphiUp*(pow(2.0,29.0)-1)/45); | |
| 1007 | -// uint32_t Word_dphi_down = rint(dphiDown*(pow(2.0,29.0)-1)/45); | |
| 1008 | 869 | uint32_t Word_dphi_up = rint(dphiUp*(65535/360)); |
| 1009 | 870 | uint32_t Word_dphi_down = rint(dphiDown*(65535/360)); |
| 1010 | 871 | |
| 1011 | 872 | printf("Word_dphi_up = %.32x\n",Word_dphi_up); |
| 1012 | 873 | printf("Word_dphi_down = %.32x\n",Word_dphi_down); |
| 1013 | 874 | |
| 1014 | -/* | |
| 1015 | - writeRegister(fd,0x06,Word_dphi_up>>16&0xFF,Word_dphi_up>>8&0xFF,Word_dphi_up>>0&0xFF,Word_dphi_up&0xFF); //dphi_up | |
| 1016 | - sendIOUpdate(f_dds); | |
| 1017 | - writeRegister(fd,0x07,Word_dphi_down>>16&0xFF,Word_dphi_down>>8&0xFF,Word_dphi_down>>0&0xFF,Word_dphi_down&0xFF);//dphi_down | |
| 1018 | - sendIOUpdate(f_dds); | |
| 1019 | 875 | |
| 1020 | -*/ | |
| 1021 | - | |
| 1022 | - | |
| 1023 | 876 | writeRegister(fd,0x06,Word_dphi_up>>24&0xFF,Word_dphi_up>>16&0xFF,Word_dphi_up>>8&0xFF,Word_dphi_up&0xFF); //dA_up |
| 1024 | 877 | sendIOUpdate(f_dds); |
| 1025 | 878 | writeRegister(fd,0x07,Word_dphi_down>>24&0xFF,Word_dphi_down>>16&0xFF,Word_dphi_down>>8&0xFF,Word_dphi_down&0xFF);//dA_down |
| ... | ... | @@ -1103,29 +956,6 @@ |
| 1103 | 956 | } |
| 1104 | 957 | |
| 1105 | 958 | |
| 1106 | - | |
| 1107 | - //check if DeltaAmp is enouth | |
| 1108 | -/* | |
| 1109 | - double enouthUP=0.5*NumberPointsUp*100/4095; | |
| 1110 | - double enouthDOWN=0.5*NumberPointsDown*100/4095; | |
| 1111 | - | |
| 1112 | - int borneUP = rint(enouthUP); | |
| 1113 | - int borneDown = rint(enouthDOWN); | |
| 1114 | - | |
| 1115 | - if(DeltaAmp<=enouthUP) | |
| 1116 | - { | |
| 1117 | - printf("The amplitude difference should be > %d\n, decrease Number Points for positive slope",borneUP); | |
| 1118 | - //return -1; | |
| 1119 | - } | |
| 1120 | - | |
| 1121 | - if(DeltaAmp<=enouthDOWN) | |
| 1122 | - { | |
| 1123 | - printf("The amplitude difference should be > %d\n, decrease Number Points for negative slope",borneDown); | |
| 1124 | - //return -1; | |
| 1125 | - } | |
| 1126 | - | |
| 1127 | -*/ | |
| 1128 | - | |
| 1129 | 959 | //4 - Put word in register |
| 1130 | 960 | |
| 1131 | 961 | |
| 1132 | 962 | |
| ... | ... | @@ -1146,23 +976,12 @@ |
| 1146 | 976 | |
| 1147 | 977 | //4.2 dphiUP et dphiDown |
| 1148 | 978 | |
| 1149 | -// uint32_t Word_dphi_up = rint(dphiUp*(pow(2.0,29.0)-1)/45); | |
| 1150 | -// uint32_t Word_dphi_down = rint(dphiDown*(pow(2.0,29.0)-1)/45); | |
| 1151 | 979 | uint32_t Word_dphi_up = rint(dphiUp*(65535/360)); |
| 1152 | 980 | uint32_t Word_dphi_down = rint(dphiDown*(65535/360)); |
| 1153 | 981 | |
| 1154 | 982 | printf("Word_dphi_up = %.32x\n",Word_dphi_up); |
| 1155 | 983 | printf("Word_dphi_down = %.32x\n",Word_dphi_down); |
| 1156 | 984 | |
| 1157 | -/* | |
| 1158 | - writeRegister(fd,0x06,Word_dphi_up>>16&0xFF,Word_dphi_up>>8&0xFF,Word_dphi_up>>0&0xFF,Word_dphi_up&0xFF); //dphi_up | |
| 1159 | - sendIOUpdate(f_dds); | |
| 1160 | - writeRegister(fd,0x07,Word_dphi_down>>16&0xFF,Word_dphi_down>>8&0xFF,Word_dphi_down>>0&0xFF,Word_dphi_down&0xFF);//dphi_down | |
| 1161 | - sendIOUpdate(f_dds); | |
| 1162 | - | |
| 1163 | -*/ | |
| 1164 | - | |
| 1165 | - | |
| 1166 | 985 | writeRegister(fd,0x06,Word_dphi_up>>24&0xFF,Word_dphi_up>>16&0xFF,Word_dphi_up>>8&0xFF,Word_dphi_up&0xFF); //dA_up |
| 1167 | 986 | sendIOUpdate(f_dds); |
| 1168 | 987 | writeRegister(fd,0x07,Word_dphi_down>>24&0xFF,Word_dphi_down>>16&0xFF,Word_dphi_down>>8&0xFF,Word_dphi_down&0xFF);//dA_down |
| ... | ... | @@ -1247,68 +1066,6 @@ |
| 1247 | 1066 | |
| 1248 | 1067 | |
| 1249 | 1068 | |
| 1250 | -/* | |
| 1251 | - uint16_t PhaseWord = 0x0000; | |
| 1252 | - uint16_t AmpWord = 0x0000; | |
| 1253 | - uint32_t ReadPhaseAmpWord=0x00000000; | |
| 1254 | - | |
| 1255 | - AmpWord = rint(amplitude*(pow(2.0,12.0)-1)/100); | |
| 1256 | - | |
| 1257 | - readRegister(fd,0x0c,&ReadPhaseAmpWord); | |
| 1258 | - | |
| 1259 | - PhaseWord = ReadPhaseAmpWord&0xFFFF; | |
| 1260 | - | |
| 1261 | - writeRegister(fd,0x0c,AmpWord>>8&0xFF,AmpWord&0xFF,PhaseWord>>8&0xFF,PhaseWord&0xFF); | |
| 1262 | - | |
| 1263 | -*/ | |
| 1264 | - | |
| 1265 | - | |
| 1266 | - | |
| 1267 | -/* | |
| 1268 | - | |
| 1269 | - //pas de durée dtUp et dtDown fixée au minimum à 1 ms | |
| 1270 | - if(DeltaTimeUp < 4.095) | |
| 1271 | - { | |
| 1272 | - printf("Use hardware fonctions for the ramp\n"); | |
| 1273 | - } | |
| 1274 | - | |
| 1275 | - | |
| 1276 | - // | |
| 1277 | - double DeltaAmp = AMax-AMin; | |
| 1278 | - double dA = DeltaAmp/TAILLETAB; | |
| 1279 | - printf("dA=%f\n",dA); | |
| 1280 | - | |
| 1281 | - | |
| 1282 | - if(dA<0.024) | |
| 1283 | - { | |
| 1284 | - printf("Amplitude step should be > 0.024 pourcent\n"); | |
| 1285 | - printf("Impossible to start a ramp of amplitude\n"); | |
| 1286 | - return -1; | |
| 1287 | - } | |
| 1288 | - | |
| 1289 | - //extraction de la phase initiale et de l'amplitude | |
| 1290 | - | |
| 1291 | - uint32_t ReadPhaseAmpWord = 0x00000000; | |
| 1292 | - readRegister(fd, 0x0c,&ReadPhaseAmpWord); | |
| 1293 | - printf("ReadPhaseAmpWord = %.8x \n", ReadPhaseAmpWord); | |
| 1294 | - | |
| 1295 | - uint16_t WordPhaseInitiale = ReadPhaseAmpWord&0xFFFF; | |
| 1296 | - printf("Phase = %.4x \n", WordPhaseInitiale); | |
| 1297 | - | |
| 1298 | - uint16_t WordAmpInitiale = ReadPhaseAmpWord>>16&0xFFFF; | |
| 1299 | - printf("Amp = %.4x \n", WordAmpInitiale); | |
| 1300 | - | |
| 1301 | - uint16_t Word_dA = rint(dA*4095/100); | |
| 1302 | - | |
| 1303 | - uint32_t ArrayWordAmp[TAILLETAB]; | |
| 1304 | - | |
| 1305 | - for(int i=0;i<TAILLETAB;i++) | |
| 1306 | - { | |
| 1307 | - ArrayWordAmp[i]=WordAmpInitiale+i*Word_dA; | |
| 1308 | -// printf("ArrayWordAmp[%d] = %.16x\n", i, ArrayWordAmp[i]); | |
| 1309 | - } | |
| 1310 | - | |
| 1311 | -*/ | |
| 1312 | 1069 | |
| 1313 | 1070 | return EXIT_SUCCESS; |
| 1314 | 1071 | } |