Problem with comparison.
/Modules/TDC/GP201A/SW/PICinterface/GP2.c |
---|
0,0 → 1,147 |
//struct { |
unsigned int8 firenum; |
unsigned int8 div_fire; |
unsigned int8 calresnum :2; |
unsigned int8 clkhsdiv ; |
unsigned int8 start_clkhs:1; |
unsigned int8 portnum :1; |
unsigned int8 Tcycle :1; |
unsigned int8 fakenum :1; |
unsigned int8 selclkT :1; |
unsigned int8 calibrate :1; |
unsigned int8 disautocal :1; |
unsigned int8 MRange :1; |
unsigned int8 neg_stop2 :1; |
unsigned int8 neg_stop1 :1; |
unsigned int8 neg_start :1; |
//}reg0; |
//struct { |
unsigned int hit2 :4; |
unsigned int hit1 :4; |
unsigned int fast_init :1; |
unsigned int sc :1; |
unsigned int hitin2 :3; |
unsigned int hitin1 :3; |
//}reg1; |
//struct { |
unsigned int en_int :3; |
unsigned int rfedge2 :1; |
unsigned int rfedge1 :1; |
unsigned int delval1 :3; |
//}reg2; |
//struct { |
unsigned int en_err_val :1; |
unsigned int tim0_mr2 :2; |
unsigned int32 delval :7; |
//}reg3; |
//}TDC_registers; |
void TDC_init() |
{ |
output_low(TDC_ENABLE); |
spi_xfer(TDC_stream,0x70); |
output_high(TDC_ENABLE); |
} |
void TDC_reset() |
{ |
output_low(TDC_ENABLE); |
spi_xfer(TDC_stream,0x50); |
output_high(TDC_ENABLE); |
} |
void TDC_start_cycle() |
{ |
output_low(TDC_ENABLE); |
spi_xfer(TDC_stream,0x01); |
output_high(TDC_ENABLE); |
} |
void TDC_start_temp() |
{ |
output_low(TDC_ENABLE); |
spi_xfer(TDC_stream,0x02); |
output_high(TDC_ENABLE); |
} |
void TDC_start_cal_resonator() |
{ |
output_low(TDC_ENABLE); |
spi_xfer(TDC_stream,0x03); |
output_high(TDC_ENABLE); |
} |
void TDC_start_cal() |
{ |
output_low(TDC_ENABLE); |
spi_xfer(TDC_stream,0x04); |
output_high(TDC_ENABLE); |
} |
unsigned int32 TDC_get_measurement(int num) |
{ |
unsigned int32 ret; |
output_low(TDC_ENABLE); |
spi_xfer(TDC_stream,0xB0 + num - 1); |
ret=spi_xfer(TDC_stream,0,32); |
output_high(TDC_ENABLE); |
return ret; |
} |
unsigned int16 TDC_get_status() |
{ |
unsigned int16 ret; |
output_low(TDC_ENABLE); |
spi_xfer(TDC_stream,0xB4,8); |
ret=spi_xfer(TDC_stream,0,16); |
output_high(TDC_ENABLE); |
return ret; |
} |
unsigned int8 TDC_get_reg1() |
{ |
unsigned int8 ret; |
output_low(TDC_ENABLE); |
spi_xfer(TDC_stream,0xB5,8); |
ret=spi_xfer(TDC_stream,0,8); |
output_high(TDC_ENABLE); |
return ret; |
} |
void TDC_update_registers() |
{ |
output_low(TDC_ENABLE); |
spi_xfer(TDC_stream,0x81,8); |
spi_xfer(TDC_stream,reg1.*,24); |
output_high(TDC_ENABLE); |
/* output_low(TDC_ENABLE); |
spi_xfer(TDC_stream,0xB1); |
output_high(TDC_ENABLE); |
output_low(TDC_ENABLE); |
spi_xfer(TDC_stream,0xB2); |
output_high(TDC_ENABLE); |
output_low(TDC_ENABLE); |
spi_xfer(TDC_stream,0xB3); |
output_high(TDC_ENABLE); |
output_low(TDC_ENABLE); |
spi_xfer(TDC_stream,0xB4); |
output_high(TDC_ENABLE); */ |
} |
void TDC_set_firenum() |
{ |
reg0.Tcycle=TDC_TCYCLE_SHORT; |
} |