implicit none integer:: ii,i,j,j1,j2,j3,k,l,m,n,e1,e2,e3,ele real:: uval(1000),wval(1000) integer:: icu(1000),null,flt character:: dstr*20(1000), unit*20(1000), dstrs(1000) character:: units*20(1000) character*12:: mnem, pren, label*16 equivalence (icu, uval) !to allow test of floating node ! ----------------end_declare--------------------------- integer:: vnumbr,vxputn,now logical, save:: donow call mnet_connectf('RTEMS_69') !get in touch with hardware ! mnem='LIN TST SECT' j1=-1000 ; j2=1000 ; j3=1000 e1=1 ; e2=1 ; e3 =1 print *,' CESR General conversion (gen_conver) test program ' call logic_get('Y','N',' Get present value? ',donow) !set logical T/F do ii=1,2000000000 PREN=MNEM call strget(' mnem ',mnem) CALL str_upcase(MNEM,MNEM) if(mnem(1:4).eq.'EXIT') goto 666 if((pren.ne.mnem).or.(e1.eq.0)) then e1=1 e2= vnumbr(mnem) e3=e2-e1 endif print *,' Default ele # start stop step ',e1,e2,e3 call in4get3('ele # start stop step ',e1,e2,e3) print *,' Default val # start stop step ',j1,j2,j3 call in4get3(' VALs start,stop,step ',j1,j2,j3) write(6,125) ' label ' write(10,125) ' label ' 125 format(1x,' mnemonic ',' [ num] ',a16,' Raw ',' convert ', & ' string, units ') if(j3.eq.0) j3=1 do i=e1,e2,e3 call vstget(mnem,i,i,label,null) call vmisfloat(mnem, i, i, flt) do j=j1,j2,j3 icu(i)=j if (flt == 1) uval(i) = j !allow for node with float data call gen_conver(mnem,i,icu(i),wval(i),dstr(i),unit(i)) type 123,mnem,i,label,icu(i),wval(i),trim(dstr(i)),trim(unit(i)) write(10,123) mnem,i,label,icu(i),wval(i),trim(dstr(i)),trim(unit(i)) call gen_conly(mnem,i,i,icu(i),wval(i)) type *,' genconly ',wval(i) enddo 123 format(1x,a12,' [',i4,'] ',a16,i5,f12.6,2(2x,a)) if(donow) then call vxgetn (mnem,i,i,icu(i)) call gen_conver(mnem,i,icu(i),wval(i),dstr(i),unit(i)) type 123,mnem,i,label,icu(i),wval(i),trim(dstr(i)),trim(unit(i))//' (now)' write(10,123) mnem,i,label,icu(i),wval(i),trim(dstr(i)),trim(unit(i))//' (now)' endif enddo enddo 666 call mnet_disconnectf() !so mpm_byebye omits traceback stop end