/* $Id: iseg.test.c,v 1.4 2003/05/10 22:43:43 wafer Exp $ */ #include #include "iseg.h" int main () { if (!iseg_init()) return 1; iseg_set_v(5, 50); iseg_turn_off(5); sleep(5); iseg_set_i_trip(5, 8e-3); iseg_turn_on(5); while (1) { int i; printf("chan\tv_lim\thw_trip\tkill_en\tem_cut\tv_ramp\tchan_on" "\tinp_err\tdnt_wrk\tv_unst\tsns_err\tsw_trip\t"); printf("v_set\t\tv_meas\t\ti_meas\t\ti_trip\n\n"); for (i = 0; i < 8; ++i) { unsigned int stat = iseg_get_chan_stat(i); printf("%d\t", i); printf("%d\t", stat & ISEG_V_LIMIT ? 1 : 0); printf("%d\t", stat & ISEG_HW_TRIP ? 1 : 0); printf("%d\t", stat & ISEG_KILL_ENABLE ? 1 : 0); printf("%d\t", stat & ISEG_EMERGENCY_CUTOFF ? 1 : 0); printf("%d\t", stat & ISEG_V_RAMPING ? 1 : 0); printf("%d\t", stat & ISEG_CHAN_ON ? 1 : 0); printf("%d\t", stat & ISEG_INPUT_ERROR ? 1 : 0); printf("%d\t", stat & ISEG_CHAN_DONT_WORK ? 1 : 0); printf("%d\t", stat & ISEG_V_UNSTABLE ? 1 : 0); printf("%d\t", stat & ISEG_SENSE_ERROR ? 1 : 0); printf("%d\t", stat & ISEG_SW_TRIP ? 1 : 0); printf("%.2e\t", iseg_get_v(i)); printf("%.2e\t", iseg_get_v_meas(i)); printf("%.2e\t", iseg_get_i_meas(i)); printf("%.2e\n", iseg_get_i_trip(i)); } printf("\n"); sleep(1); } return 0; }