open-insight/LSL2/STPROC/CALCULATOR_RESRHO_VALID.txt
Infineon\StieberD 7762b129af pre cutover push
2024-09-04 20:33:41 -07:00

40 lines
1.3 KiB
Plaintext

compile subroutine calculator_resrho_valid(ConvType, DataIo, Branch, ReturnedValue)
begin condition
pre:
post:
end condition
declare function msg, get_property, set_property
declare subroutine update_index, extract_si_keys
$insert logical
$insert msg_equates
equ valid$ to 0 ;* successful
equ invalid_msg$ to 1 ;* bad data - print error message window
equ invalid_conv$ to 2 ;* bad conversion - " "
equ invalid_nomsg$ to 3 ;* bad but do not print the error message window
equ CrLf$ to char(13):char(10)
* THIS IS SIMPLY TO CALCULATE RESISTIVITY NOT TO VALIDATE RESRHO FOR THE
* CALCULATOR, CAUSE THERE IS NO SPEC
ReturnedValue = DataIo
status() = Valid$
begin case
case ConvType = 'ICONV'
Thickness = iconv( get_property( @window:'.THICKNESS_READINGS', 'ARRAY' ), 'MD2' )
SheetRHO = get_property( @window:'.SHEETRHO_READINGS', 'ARRAY' )
OffSet = str( '.001':@vm, 17 )
OffSet[-1,1] = ''
Res = oconv( SheetRHO *** Thickness *** OffSet, 'MD3' )
swap '.000' with '' in Res
Void = set_property( @window:'.RES_READINGS', 'ARRAY', Res )
case ConvType = 'OCONV'
* no output
ReturnedValue = DataIo
case otherwise$
ReturnedValue = ''
status() = invalid_conv$
end case
return