%{ /* types.tmc data types base for hpf data acquisition * $Log: types.tmc,v $ * Revision 1.1 2000/11/03 16:42:38 nort * Initial revision * # 2Oct96 nmd # Added STR16 # Revision 1.2 1993/07/24 21:41:23 nmd # Supports new D/A and DGIO, control # # Revision 1.1 1993/07/14 15:34:23 nmd # Initial revision # */ #pragma off (unreferenced) static char trcsid[] = "$Id: types.tmc,v 1.1 2000/11/03 16:42:38 nort Exp $"; #pragma on (unreferenced) %} /* Output types */ TM typedef double VOLTS1 { text "%4.1lf"; } TM typedef double VOLTS2 { text "%4.2lf"; } TM typedef double VOLTS4 { text "%6.4lf"; } TM typedef double KELVIN { text "%5.1lf"; } TM typedef double CELCIUS { text "%5.1lf"; } TM typedef double TORR1 { text "%6.1lf"; } TM typedef double TORR2 { text "%6.2lf"; } TM typedef double TORR4 { text "%6.4lf"; } TM typedef double TORR5 { text "%7.5lf"; } TM typedef double POSITION { text "%5.2lf"; } TM typedef unsigned short VEL { text "%5.2lf"; } TM typedef unsigned short UINT { text "%5u"; } TM typedef signed short SINT { text "%6d"; } TM typedef unsigned long int TMLONG { text "%8ld"; } TM typedef unsigned long int TML5 { text "%5ld"; } /* Input types */ TM typedef unsigned char AD8 { collect x = sbb(x.address); convert VOLTS2; text "%4.2lf"; } TM typedef AD8 AD8_5V; TM typedef AD8 AD8_51V { convert VOLTS1; } TM typedef AD8 AD8_T10K { convert CELCIUS; } TM typedef AD8 AD8_T30K { convert CELCIUS; } TM typedef AD8 AD8_T30K20 { convert CELCIUS; } TM typedef AD8 AD8_T30K200 { convert CELCIUS; } TM typedef AD8 AD8_TFRT { convert CELCIUS; } TM typedef AD8 AD8_POS { convert POSITION; } TM typedef AD8 AD8_KV; TM typedef UINT AD12_HEX{ collect x = sbw(x.address); text "%04X"; } TM typedef UINT AD12 { collect x = sbw(x.address); convert VOLTS4; text "%6.4lf"; } TM typedef AD12 AD12_T10K { convert KELVIN; } TM typedef AD12 AD12_T30K { convert CELCIUS; } TM typedef AD12 AD12_KTORR; TM typedef AD12 AD12_DTORR { convert TORR4; } TM typedef AD12 AD12_DTORRx10 { convert TORR5; } TM typedef AD12 AD12_1000TORR { convert TORR1; text "%6.1lf"; } TM typedef AD12 AD12_1000TORRx10 { convert TORR2; text "%6.2lf"; } TM typedef AD12 AD12_uGg; TM typedef UINT Ct16 { collect x = sbw(x.address); } TM typedef unsigned char DStat { collect x = sbb(x.address); text "%08b"; } /* Calibrations */ calibration (AD8, VOLTS2) { 0, 0, 256, 10 } calibration (AD8_5V, VOLTS2) { 0, 0, 256, 5 } calibration (AD8_51V, VOLTS1) { 0, 0, 256, 51.1 } calibration (AD8_POS, POSITION){ 0, -6.196, 255, 18.156 } Calibration (AD8_T10K, CELCIUS) { 0, 99.9, 1, 44.6, 31, 21.35, 47, 8.45, 64, -1.10, 86, -10.25, 112, -19.80, 143, -29.35, 180, -40.35, 206, -50.05, 226, -59.95, 238, -70.15, 245, -79.75, 255, -99.9 } Calibration (AD8_T30K20, CELCIUS) { 0, -99.9, 7, -99.9, 8, 149.093, 10, 138.447, 11, 134.096, 12, 130.217, 13, 126.713, 14, 123.535, 15, 120.61, 17, 115.391, 19, 110.868, 21, 106.857, 23, 103.249, 26, 98.4718, 29, 94.2651, 32, 90.5067, 36, 86.0455, 40, 82.0655, 45, 77.6385, 51, 72.9238, 58, 68.0475, 66, 63.0987, 75, 58.1156, 86, 52.6342, 99, 46.7558, 115, 40.1462, 140, 30.5089, 180, 15.0833, 195, 8.65017, 207, 2.89751, 216, -1.99582, 224, -6.99299, 230, -11.3426, 235, -15.5799, 239, -19.5483, 243, -24.3128, 246, -28.695, 248, -32.2204, 250, -36.4943, 251, -39.0469, 252, -99, 255, -99 } Calibration (AD8_T30K200, CELCIUS) { 0, -99.9, 1, 135.515, 3, 95.4247, 4, 85.9739, 5, 78.8916, 6, 73.2589, 7, 68.5936, 8, 64.6226, 9, 61.1711, 10, 58.1217, 11, 55.3896, 12, 52.9205, 14, 48.5848, 16, 44.896, 18, 41.6509, 20, 38.7792, 23, 34.9969, 26, 31.7015, 30, 27.8669, 35, 23.7403, 40, 20.1609, 46, 16.3972, 53, 12.5428, 62, 8.20185, 72, 3.96006, 84, -0.565757, 99, -5.63439, 121, -12.3887, 158, -23.0853, 183, -30.6997, 199, -36.1893, 208, -39.6739, 209, -99, 255, -99 } Calibration (AD8_T30K, CELCIUS) { 0, 134.2000, 8, 96.8400, 13, 79.1900, 18, 68.6200, 23, 60.8800, 53, 33.4180, 79, 21.7160, 105, 12.0750, 182, -12.6040, 202, -20.9860, 223, -31.4380, 238, -42.3560, 243, -48.9800, 248, -57.6800, 255, -77.1000 } Calibration (AD8_TFRT, CELCIUS) { 0, 0, 256, 50 } Calibration (AD8_KV, VOLTS2) { 0, 0, 768, 10 } Calibration (AD12, VOLTS4) { 0, 0, 65536, 10.0 } Calibration (AD12_KTORR, VOLTS4) { 0, 0, 65536, 10.0 } Calibration (AD12_1000TORR, TORR1) { 0, 0, 65536, 1000.0 } Calibration (AD12_1000TORRx10, TORR2) { 0, 0, 65536, 100.00 } Calibration (AD12_DTORR, TORR4) { 0, 0, 65536, 1.0 } Calibration (AD12_DTORRx10, TORR5) { 0, 0, 65536, 0.10 } Calibration (AD12_DTORR, VOLTS4) { 0, 0, 65536, 10.0 } Calibration (AD12_uGg, VOLTS4) { 0, 0, 65536, 10.0 } Calibration (AD12_T10K, KELVIN) { 0, 400.0000, 256, 369.5500, 1792, 309.2500, 3328, 294.6400, 4608, 287.7580, 5888, 280.8680, 7168, 274.8560, 15104, 252.3600, 25600, 237.2000, 41472, 220.0338, 51712, 207.4870, 58112, 197.5017, 60416, 191.7188, 61952, 186.1388, 63488, 177.3168, 64512, 166.7280, 65024, 157.0290, 65280, 150.7300 } Calibration (AD12_T30K, CELCIUS) { 0, 134.2000, 2048, 96.8400, 3328, 79.1900, 4608, 68.6200, 5888, 60.8800, 13568, 33.4180, 20224, 21.7160, 26880, 12.0750, 46592, -12.6040, 51712, -20.9860, 57088, -31.4380, 60928, -42.3560, 62208, -48.9800, 63488, -57.6800, 65280, -77.1000 }